fix merge conflicts, review changes

This commit is contained in:
DizzyEggg 2017-11-13 20:00:20 +01:00
commit 516a5b2219
65 changed files with 2684 additions and 4645 deletions

File diff suppressed because it is too large Load Diff

View File

@ -586,8 +586,8 @@ _080A612E:
bx r1
thumb_func_end sub_80A60AC
thumb_func_start sub_80A6138
sub_80A6138: @ 80A6138
thumb_func_start GetBankSpriteDefault_Y
GetBankSpriteDefault_Y: @ 80A6138
push {lr}
lsls r0, 24
lsrs r0, 24
@ -597,10 +597,10 @@ sub_80A6138: @ 80A6138
lsrs r0, 24
pop {r1}
bx r1
thumb_func_end sub_80A6138
thumb_func_end GetBankSpriteDefault_Y
thumb_func_start sub_80A614C
sub_80A614C: @ 80A614C
thumb_func_start GetSubstituteSpriteDefault_Y
GetSubstituteSpriteDefault_Y: @ 80A614C
push {r4,lr}
lsls r0, 24
lsrs r4, r0, 24
@ -633,7 +633,7 @@ _080A6180:
pop {r4}
pop {r1}
bx r1
thumb_func_end sub_80A614C
thumb_func_end GetSubstituteSpriteDefault_Y
thumb_func_start sub_80A6190
sub_80A6190: @ 80A6190
@ -5180,7 +5180,7 @@ _080A8412:
adds r0, r6, 0
ldr r1, [sp, 0x3C]
mov r2, r8
bl species_and_otid_get_pal
bl GetFrontSpritePalFromSpeciesAndPersonality
lsls r1, r5, 20
movs r2, 0x80
lsls r2, 17
@ -5243,7 +5243,7 @@ _080A84B0:
adds r0, r6, 0
ldr r1, [sp, 0x3C]
mov r2, r8
bl species_and_otid_get_pal
bl GetFrontSpritePalFromSpeciesAndPersonality
lsls r1, r5, 20
movs r3, 0x80
lsls r3, 17

View File

@ -855,8 +855,8 @@ _080AA352:
.pool
thumb_func_end sub_80AA18C
thumb_func_start move_anim_start_t2
move_anim_start_t2: @ 80AA364
thumb_func_start LaunchStatusAnimation
LaunchStatusAnimation: @ 80AA364
push {r4,lr}
adds r4, r0, 0
lsls r4, 24
@ -885,7 +885,7 @@ move_anim_start_t2: @ 80AA364
pop {r0}
bx r0
.pool
thumb_func_end move_anim_start_t2
thumb_func_end LaunchStatusAnimation
thumb_func_start task0A_80788BC
task0A_80788BC: @ 80AA3B4

View File

@ -3006,7 +3006,7 @@ _0815B8A8:
lsls r2, 3
adds r2, r3
ldrb r2, [r2, 0x1C]
bl sub_805E448
bl HandleSpeciesGfxDataChange
ldrb r1, [r5]
mov r0, sp
bl sub_80A6BFC
@ -3310,7 +3310,7 @@ sub_815BB58: @ 815BB58
ldr r1, =gAnimBankTarget
ldrb r1, [r1]
movs r2, 0x1
bl sub_805E448
bl HandleSpeciesGfxDataChange
adds r0, r4, 0
bl DestroyAnimVisualTask
pop {r4}
@ -10129,7 +10129,7 @@ _0815F2AC:
ldr r4, =gAnimBankAttacker
ldrb r0, [r4]
movs r1, 0
bl refresh_graphics_maybe
bl LoadBattleMonGfxAndAnimate
bl IsContest
lsls r0, 24
cmp r0, 0

View File

@ -4825,7 +4825,7 @@ _08172CC8:
ldrb r1, [r5, 0x1E]
adds r0, r2, 0
adds r2, r6, 0
bl refresh_graphics_maybe
bl LoadBattleMonGfxAndAnimate
ldrh r0, [r5, 0x1C]
adds r0, 0x1
strh r0, [r5, 0x1C]
@ -5030,7 +5030,7 @@ _08172E4E:
movs r3, 0x1
bl RequestDma3Fill
ldrb r0, [r4]
bl sub_805E974
bl ClearBehindSubstituteBit
adds r0, r5, 0
bl DestroyAnimVisualTask
_08172E84:

View File

@ -127,7 +127,7 @@ _0807F824:
b _0807F966
.pool
_0807F854:
ldr r1, =gUnknown_083390F4
ldr r1, =sBlenderCenterMap
movs r2, 0x80
lsls r2, 3
movs r0, 0x2
@ -135,7 +135,7 @@ _0807F854:
bl CopyToBgTilemapBuffer
movs r0, 0x2
bl CopyBgTilemapBufferToVram
ldr r0, =gUnknown_083390D4
ldr r0, =sBlenderCenterPal
movs r2, 0x80
lsls r2, 1
movs r1, 0
@ -216,14 +216,14 @@ _0807F910:
b _0807F966
.pool
_0807F940:
ldr r0, =gUnknown_083394F4
ldr r0, =sBlenderOuterPal
movs r1, 0x80
movs r2, 0x20
bl LoadPalette
b _0807F962
.pool
_0807F950:
ldr r0, =gUnknown_08339AC0
ldr r0, =sSpriteSheet_BlenderArrow
bl LoadSpriteSheet
ldr r0, =gUnknown_08339BD8
bl LoadSpriteSheet
@ -243,9 +243,9 @@ _0807F980:
bl LoadSpriteSheet
ldr r0, =gUnknown_08339C58
bl LoadSpriteSheet
ldr r0, =gUnknown_08339AD0
ldr r0, =sSpritePal_BlenderArrow
bl LoadSpritePalette
ldr r0, =gUnknown_08339AC8
ldr r0, =sSpritePal_BlenderMisc
bl LoadSpritePalette
ldr r4, =gUnknown_020322A4
ldr r0, [r4]
@ -482,12 +482,12 @@ _0807FBAC:
b _0807FCE2
_0807FBB8:
movs r4, 0
ldr r5, =gUnknown_083399C8
ldr r5, =sBlenderSyncArrowsPos
ldr r6, =gUnknown_020322A4
_0807FBBE:
ldrb r1, [r5]
ldrb r2, [r5, 0x1]
ldr r0, =gUnknown_08339AD8
ldr r0, =sBlenderSyncArrow_SpriteTemplate
movs r3, 0x1
bl CreateSprite
ldr r1, [r6]
@ -553,7 +553,7 @@ _0807FC64:
ldr r4, [r6]
ldr r0, =0x000011b8
adds r4, r0
ldr r5, =gUnknown_0833973A
ldr r5, =gText_BerryBlenderStart
bl sav2_get_text_speed
adds r2, r0, 0
lsls r2, 24
@ -833,7 +833,7 @@ _0807FE7C:
bne _0807FEC8
adds r0, r4, 0
adds r0, 0x1C
ldr r1, =gUnknown_083397D0
ldr r1, =sBlenderOpponentsNames
ldr r1, [r1, 0xC]
bl StringCopy
b _0807FED4
@ -841,7 +841,7 @@ _0807FE7C:
_0807FEC8:
adds r0, r4, 0
adds r0, 0x1C
ldr r1, =gUnknown_083397D0
ldr r1, =sBlenderOpponentsNames
ldr r1, [r1]
bl StringCopy
_0807FED4:
@ -866,7 +866,7 @@ _0807FEE8:
bl StringCopy
adds r0, r6, 0
adds r0, 0x1C
ldr r4, =gUnknown_083397D0
ldr r4, =sBlenderOpponentsNames
ldr r1, [r4, 0x10]
bl StringCopy
adds r0, r6, 0
@ -896,7 +896,7 @@ _0807FF3C:
bl StringCopy
adds r0, r5, 0
adds r0, 0x1C
ldr r4, =gUnknown_083397D0
ldr r4, =sBlenderOpponentsNames
ldr r1, [r4, 0x14]
bl StringCopy
adds r0, r5, 0
@ -1086,12 +1086,12 @@ _0808010C:
.pool
_08080120:
movs r5, 0
ldr r4, =gUnknown_083399C8
ldr r4, =sBlenderSyncArrowsPos
ldr r6, =gUnknown_020322A4
_08080126:
ldrb r1, [r4]
ldrb r2, [r4, 0x1]
ldr r0, =gUnknown_08339AD8
ldr r0, =sBlenderSyncArrow_SpriteTemplate
movs r3, 0x1
bl CreateSprite
ldr r1, [r6]
@ -1160,7 +1160,7 @@ _080801C8:
ldr r0, [r4]
ldr r3, =0x000011b8
adds r0, r3
ldr r1, =gUnknown_0833981A
ldr r1, =sText_CommunicationStandby
movs r2, 0
bl sub_808417C
ldr r1, [r4]
@ -2121,12 +2121,12 @@ _080809F0:
.pool
_08080A04:
movs r4, 0
ldr r5, =gUnknown_083399C8
ldr r5, =sBlenderSyncArrowsPos
ldr r6, =gUnknown_020322A4
_08080A0A:
ldrb r1, [r5]
ldrb r2, [r5, 0x1]
ldr r0, =gUnknown_08339AD8
ldr r0, =sBlenderSyncArrow_SpriteTemplate
movs r3, 0x1
bl CreateSprite
ldr r1, [r6]
@ -3095,7 +3095,7 @@ sub_8081288: @ 8081288
mov r8, r7
lsls r1, 24
ldr r0, =gUnknown_08339B40
ldr r4, =gUnknown_083399C8
ldr r4, =sBlenderSyncArrowsPos
lsrs r1, 23
adds r2, r1, r4
ldrb r6, [r2]
@ -5062,7 +5062,7 @@ _080822B0:
ldr r4, [r6]
ldr r5, =0x000011b8
adds r4, r5
ldr r5, =gUnknown_08339831
ldr r5, =sText_WouldLikeToBlendAnotherBerry
bl sav2_get_text_speed
adds r2, r0, 0
lsls r2, 24
@ -5263,7 +5263,7 @@ _0808246C:
ldr r4, [r6]
ldr r0, =0x000011b8
adds r4, r0
ldr r5, =gUnknown_0833981A
ldr r5, =sText_CommunicationStandby
bl sav2_get_text_speed
adds r2, r0, 0
lsls r2, 24
@ -5555,7 +5555,7 @@ _080826EC:
adds r1, r0
adds r0, r4, 0
bl StringCopy
ldr r1, =gUnknown_083398DD
ldr r1, =sText_ApostropheSPokeblockCaseIsFull
b _08082740
.pool
_0808271C:
@ -5575,7 +5575,7 @@ _0808271C:
adds r1, r0
adds r0, r4, 0
bl StringCopy
ldr r1, =gUnknown_083398B0
ldr r1, =sText_HasNoBerriesToPut
_08082740:
adds r0, r4, 0
bl StringAppend
@ -5856,7 +5856,7 @@ _080829AA:
adds r0, r1
strh r2, [r0]
ldr r0, =gStringVar4
ldr r1, =gUnknown_08339896
ldr r1, =sText_YourPokeblockCaseIsFull
bl StringCopy
b _08082A92
.pool
@ -5872,7 +5872,7 @@ _080829D4:
adds r0, r1
strh r2, [r0]
ldr r0, =gStringVar4
ldr r1, =gUnknown_08339858
ldr r1, =sText_RunOutOfBerriesForBlending
bl StringCopy
b _08082A92
.pool
@ -7276,7 +7276,7 @@ _080834DE:
b _08083854
.pool
_08083518:
ldr r4, =gUnknown_083398F5
ldr r4, =sText_BlendingResults
movs r0, 0x1
adds r1, r4, 0
movs r2, 0xA8
@ -7329,7 +7329,7 @@ _08083564:
bl ConvertIntToDecimalStringN
ldr r0, [r7]
adds r0, 0x9F
ldr r1, =gUnknown_08339941
ldr r1, =sText_Dot
bl StringAppend
ldr r0, [r7]
adds r0, 0x9F
@ -7374,7 +7374,7 @@ _08083564:
bl ConvertInternationalString
ldr r0, [r7]
adds r0, 0x9F
ldr r1, =gUnknown_08339914
ldr r1, =sText_SpaceBerry
bl StringAppend
ldr r1, [r7]
adds r1, 0x9F
@ -7397,7 +7397,7 @@ _08083564:
cmp r6, r0
bcc _08083564
_0808361A:
ldr r1, =gUnknown_0833992E
ldr r1, =sText_MaximumSpeed
movs r3, 0xFF
mov r10, r3
str r3, [sp]
@ -7425,7 +7425,7 @@ _0808361A:
bl ConvertIntToDecimalStringN
ldr r0, [r6]
adds r0, 0x9F
ldr r1, =gUnknown_08339941
ldr r1, =sText_Dot
bl StringAppend
ldr r0, [r6]
adds r0, 0x4E
@ -7445,7 +7445,7 @@ _0808361A:
bl StringAppend
ldr r0, [r6]
adds r0, 0x9F
ldr r1, =gUnknown_0833993C
ldr r1, =sText_RPM
bl StringAppend
ldr r1, [r6]
adds r1, 0x9F
@ -7463,7 +7463,7 @@ _0808361A:
movs r0, 0x5
movs r3, 0x51
bl sub_80840D4
ldr r1, =gUnknown_0833991B
ldr r1, =sText_Time
mov r2, r10
str r2, [sp]
mov r3, r9
@ -7499,7 +7499,7 @@ _0808361A:
bl ConvertIntToDecimalStringN
ldr r0, [r6]
adds r0, 0x9F
ldr r1, =gUnknown_08339921
ldr r1, =sText_Min
bl StringAppend
adds r1, r4, 0
movs r2, 0x2
@ -7507,7 +7507,7 @@ _0808361A:
bl ConvertIntToDecimalStringN
ldr r0, [r6]
adds r0, 0x9F
ldr r1, =gUnknown_08339928
ldr r1, =sText_Sec
bl StringAppend
ldr r1, [r6]
adds r1, 0x9F
@ -7682,10 +7682,10 @@ sub_80838AC: @ 80838AC
ldr r1, [r0]
adds r0, r6, 0
bl StringCopy
ldr r1, =gUnknown_0833979D
ldr r1, =gText_WasMade
adds r0, r6, 0
bl StringAppend
ldr r1, =gUnknown_08339943
ldr r1, =sText_NewLine
adds r0, r6, 0
bl StringAppend
adds r0, r5, 0
@ -7698,7 +7698,7 @@ sub_80838AC: @ 80838AC
adds r5, r0, 0
lsls r5, 24
lsrs r5, 24
ldr r1, =gUnknown_0833994F
ldr r1, =sText_TheLevelIs
adds r0, r6, 0
bl StringAppend
mov r0, sp
@ -7709,7 +7709,7 @@ sub_80838AC: @ 80838AC
adds r0, r6, 0
mov r1, sp
bl StringAppend
ldr r1, =gUnknown_0833995D
ldr r1, =sText_TheFeelIs
adds r0, r6, 0
bl StringAppend
mov r0, sp
@ -7720,10 +7720,10 @@ sub_80838AC: @ 80838AC
adds r0, r6, 0
mov r1, sp
bl StringAppend
ldr r1, =gUnknown_08339970
ldr r1, =sText_Dot2
adds r0, r6, 0
bl StringAppend
ldr r1, =gUnknown_0833979B
ldr r1, =gText_NewParagraph
adds r0, r6, 0
bl StringAppend
add sp, 0xC
@ -8041,7 +8041,7 @@ _08083B9A:
movs r2, 0x1
movs r3, 0xD
bl SetWindowBorderStyle
ldr r4, =gUnknown_08339947
ldr r4, =sText_Ranking
movs r0, 0x1
adds r1, r4, 0
movs r2, 0xA8
@ -8161,7 +8161,7 @@ _08083C84:
bl ConvertIntToDecimalStringN
ldr r0, [r7]
adds r0, 0x9F
ldr r1, =gUnknown_08339941
ldr r1, =sText_Dot
bl StringAppend
ldr r0, [r7]
adds r0, 0x9F
@ -8395,7 +8395,7 @@ _08083E8A:
movs r3, 0x3
bl ConvertIntToDecimalStringN
adds r5, r0, 0
ldr r1, =gUnknown_08339941
ldr r1, =sText_Dot
bl StringAppend
adds r5, r0, 0
adds r0, r4, 0
@ -8407,7 +8407,7 @@ _08083E8A:
movs r3, 0x2
bl ConvertIntToDecimalStringN
adds r5, r0, 0
ldr r1, =gUnknown_0833993C
ldr r1, =sText_RPM
bl StringAppend
movs r0, 0x1
add r1, sp, 0xC

View File

@ -6763,7 +6763,7 @@ _080DB1CC:
adds r0, r5, 0
adds r1, r7, 0
adds r2, r6, 0
bl species_and_otid_get_pal
bl GetFrontSpritePalFromSpeciesAndPersonality
movs r1, 0x90
lsls r1, 1
movs r2, 0x20

View File

@ -572,7 +572,7 @@ sub_81302E8: @ 81302E8
ldr r1, [r0, 0x4]
ldr r2, [r0]
adds r0, r5, 0
bl species_and_otid_get_pal
bl GetFrontSpritePalFromSpeciesAndPersonality
ldr r7, =gUnknown_030061C4
ldr r1, [r7]
bl LZDecompressVram

View File

@ -69004,7 +69004,7 @@ _0802CA32:
ldrh r0, [r7]
ldr r1, [r7, 0x4]
ldr r2, [r7, 0x8]
bl species_and_otid_get_pal
bl GetFrontSpritePalFromSpeciesAndPersonality
str r0, [sp, 0x20]
add r0, sp, 0x20
ldr r1, [r0, 0x4]

View File

@ -4249,7 +4249,7 @@ _081B243E:
adds r0, r4, 0
movs r1, 0
bl FillWindowPixelBuffer
ldr r5, =gText_Confirm
ldr r5, =gMenuText_Confirm
movs r0, 0
adds r1, r5, 0
movs r2, 0x30

View File

@ -936,7 +936,7 @@ _08075B9E:
.pool
_08075BB4:
adds r0, r3, 0
bl sub_805F110
bl ShouldPlayNormalPokeCry
cmp r0, 0x1
bne _08075BCC
lsls r1, r5, 24
@ -976,7 +976,7 @@ _08075BF8:
cmp r0, 0
bne _08075CBA
adds r0, r3, 0
bl sub_805F110
bl ShouldPlayNormalPokeCry
cmp r0, 0x1
bne _08075C22
lsls r1, r5, 24
@ -1066,7 +1066,7 @@ _08075CBA:
b _08075D04
_08075CC0:
adds r0, r3, 0
bl sub_805F110
bl ShouldPlayNormalPokeCry
cmp r0, 0x1
bne _08075CD8
lsls r1, r5, 24

View File

@ -8824,7 +8824,7 @@ _080C0168:
adds r3, r5
ldrb r4, [r3, 0x5]
lsrs r4, 4
bl species_and_otid_get_pal
bl GetFrontSpritePalFromSpeciesAndPersonality
lsls r4, 4
movs r2, 0x80
lsls r2, 1

View File

@ -14656,7 +14656,7 @@ _080CEC86:
adds r1, r3
str r0, [r1]
adds r0, r6, 0
bl pokemon_get_pal
bl GetMonFrontSpritePal
ldr r1, [r4]
ldr r2, =0x00000cdc
adds r1, r2
@ -14759,7 +14759,7 @@ _080CED7E:
adds r1, r4
ldrh r0, [r1]
mov r1, r9
bl species_and_otid_get_pal
bl GetFrontSpritePalFromSpeciesAndPersonality
ldr r1, [r5]
ldr r3, =0x00000cdc
adds r2, r1, r3

View File

@ -1116,7 +1116,7 @@ sub_81C4778: @ 81C4778
bne _081C47AE
adds r0, r1, 0
adds r0, 0xC
bl sub_805F110
bl ShouldPlayNormalPokeCry
cmp r0, 0x1
bne _081C47A4
ldrh r0, [r4, 0x2]

View File

@ -13532,7 +13532,7 @@ _081CDBD0:
adds r0, r4, 0
mov r1, r8
adds r2, r5, 0
bl species_and_otid_get_pal
bl GetFrontSpritePalFromSpeciesAndPersonality
mov r2, r9
lsls r1, r2, 7
adds r1, r7, r1
@ -24408,7 +24408,7 @@ _081D30C4:
adds r0, r4, 0
adds r1, r6, 0
adds r2, r5, 0
bl species_and_otid_get_pal
bl GetFrontSpritePalFromSpeciesAndPersonality
mov r1, r9
bl LZ77UnCompWram
_081D311A:

View File

@ -1,44 +0,0 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.section .rodata
.align 2, 0
gUnknown_0832C0D0:: @ 832C0D0
obj_tiles gUnknown_08C1F1C8, 0x1000, 0xd6ff
.align 2
gUnknown_0832C0D8:: @ 832C0D8
obj_tiles gUnknown_08C1F46C, 0x1000, 0xd701
.align 2
gUnknown_0832C0E0:: @ 832C0E0
obj_tiles gUnknown_08C1F5E8, 0x0800, 0xd6ff
.align 2
gUnknown_0832C0E8:: @ 832C0E8
obj_tiles gUnknown_08C1F5E8, 0x0800, 0xd700
.align 2
gUnknown_0832C0F0:: @ 832C0F0
obj_tiles gUnknown_08C1F76C, 0x0800, 0xd701
.align 2
gUnknown_0832C0F8:: @ 832C0F8
obj_tiles gUnknown_08C1F76C, 0x0800, 0xd702
.align 2
gUnknown_0832C100:: @ 832C100
obj_tiles gUnknown_08C1F8E8, 0x1000, 0xd70b
.align 2
gUnknown_0832C108:: @ 832C108
obj_tiles gUnknown_08C0237C, 0x0100, 0xd704
obj_tiles gUnknown_08C0237C, 0x0120, 0xd705
obj_tiles gUnknown_08C0237C, 0x0100, 0xd706
obj_tiles gUnknown_08C0237C, 0x0120, 0xd707
.align 2
gUnknown_0832C128:: @ 832C128
obj_pal gBattleInterface_BallStatusBarPal, 0xd6ff
obj_pal gBattleInterface_BallDisplayPal, 0xd704

View File

@ -1,167 +0,0 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.section .rodata
.align 2, 0
gUnknown_083390D4:: @ 83390D4
.incbin "baserom.gba", 0x3390d4, 0x20
gUnknown_083390F4:: @ 83390F4
.incbin "baserom.gba", 0x3390f4, 0x400
gUnknown_083394F4:: @ 83394F4
.incbin "baserom.gba", 0x3394f4, 0x246
gUnknown_0833973A:: @ 833973A
.incbin "baserom.gba", 0x33973a, 0x61
gUnknown_0833979B:: @ 833979B
.incbin "baserom.gba", 0x33979b, 0x2
gUnknown_0833979D:: @ 833979D
.incbin "baserom.gba", 0x33979d, 0x33
gUnknown_083397D0:: @ 83397D0
.incbin "baserom.gba", 0x3397d0, 0x4a
gUnknown_0833981A:: @ 833981A
.incbin "baserom.gba", 0x33981a, 0x17
gUnknown_08339831:: @ 8339831
.incbin "baserom.gba", 0x339831, 0x27
gUnknown_08339858:: @ 8339858
.incbin "baserom.gba", 0x339858, 0x3e
gUnknown_08339896:: @ 8339896
.incbin "baserom.gba", 0x339896, 0x1a
gUnknown_083398B0:: @ 83398B0
.incbin "baserom.gba", 0x3398b0, 0x2d
gUnknown_083398DD:: @ 83398DD
.incbin "baserom.gba", 0x3398dd, 0x18
gUnknown_083398F5:: @ 83398F5
.incbin "baserom.gba", 0x3398f5, 0x1f
gUnknown_08339914:: @ 8339914
.incbin "baserom.gba", 0x339914, 0x7
gUnknown_0833991B:: @ 833991B
.incbin "baserom.gba", 0x33991b, 0x6
gUnknown_08339921:: @ 8339921
.incbin "baserom.gba", 0x339921, 0x7
gUnknown_08339928:: @ 8339928
.incbin "baserom.gba", 0x339928, 0x6
gUnknown_0833992E:: @ 833992E
.incbin "baserom.gba", 0x33992e, 0xe
gUnknown_0833993C:: @ 833993C
.incbin "baserom.gba", 0x33993c, 0x5
gUnknown_08339941:: @ 8339941
.incbin "baserom.gba", 0x339941, 0x2
gUnknown_08339943:: @ 8339943
.incbin "baserom.gba", 0x339943, 0x4
gUnknown_08339947:: @ 8339947
.incbin "baserom.gba", 0x339947, 0x8
gUnknown_0833994F:: @ 833994F
.incbin "baserom.gba", 0x33994f, 0xe
gUnknown_0833995D:: @ 833995D
.incbin "baserom.gba", 0x33995d, 0x13
gUnknown_08339970:: @ 8339970
.incbin "baserom.gba", 0x339970, 0x4
gUnknown_08339974:: @ 8339974
.incbin "baserom.gba", 0x339974, 0xc
gUnknown_08339980:: @ 8339980
.incbin "baserom.gba", 0x339980, 0x38
gUnknown_083399B8:: @ 83399B8
.incbin "baserom.gba", 0x3399b8, 0x8
gUnknown_083399C0:: @ 83399C0
.incbin "baserom.gba", 0x3399c0, 0x8
gUnknown_083399C8:: @ 83399C8
.incbin "baserom.gba", 0x3399c8, 0x8
gUnknown_083399D0:: @ 83399D0
.incbin "baserom.gba", 0x3399d0, 0xc
gUnknown_083399DC:: @ 83399DC
.incbin "baserom.gba", 0x3399dc, 0x8
gUnknown_083399E4:: @ 83399E4
.incbin "baserom.gba", 0x3399e4, 0x3
gUnknown_083399E7:: @ 83399E7
.incbin "baserom.gba", 0x3399e7, 0x5
gUnknown_083399EC:: @ 83399EC
.incbin "baserom.gba", 0x3399ec, 0xd4
gUnknown_08339AC0:: @ 8339AC0
.incbin "baserom.gba", 0x339ac0, 0x8
gUnknown_08339AC8:: @ 8339AC8
.incbin "baserom.gba", 0x339ac8, 0x8
gUnknown_08339AD0:: @ 8339AD0
.incbin "baserom.gba", 0x339ad0, 0x8
gUnknown_08339AD8:: @ 8339AD8
.incbin "baserom.gba", 0x339ad8, 0x60
gUnknown_08339B38:: @ 8339B38
.incbin "baserom.gba", 0x339b38, 0x8
gUnknown_08339B40:: @ 8339B40
.incbin "baserom.gba", 0x339b40, 0x98
gUnknown_08339BD8:: @ 8339BD8
.incbin "baserom.gba", 0x339bd8, 0x8
gUnknown_08339BE0:: @ 8339BE0
.incbin "baserom.gba", 0x339be0, 0x44
gUnknown_08339C24:: @ 8339C24
.incbin "baserom.gba", 0x339c24, 0x8
gUnknown_08339C2C:: @ 8339C2C
.incbin "baserom.gba", 0x339c2c, 0x2c
gUnknown_08339C58:: @ 8339C58
.incbin "baserom.gba", 0x339c58, 0x8
gUnknown_08339C60:: @ 8339C60
.incbin "baserom.gba", 0x339c60, 0x18
gUnknown_08339C78:: @ 8339C78
.incbin "baserom.gba", 0x339c78, 0x28
gUnknown_08339CA0:: @ 8339CA0
.incbin "baserom.gba", 0x339ca0, 0x1e
gUnknown_08339CBE:: @ 8339CBE
.incbin "baserom.gba", 0x339cbe, 0x5
gUnknown_08339CC3:: @ 8339CC3
.incbin "baserom.gba", 0x339cc3, 0x5
gUnknown_08339CC8:: @ 8339CC8
.incbin "baserom.gba", 0x339cc8, 0x4c
gUnknown_08339D14:: @ 8339D14
.incbin "baserom.gba", 0x339d14, 0x8

View File

@ -149,13 +149,13 @@ gUnknown_08C2A6D4:: @ 8C2A6D4
gUnknown_08C2A6EC:: @ 8C2A6EC
.incbin "baserom.gba", 0xc2a6ec, 0x27d0
gUnknown_08C2CEBC:: @ 8C2CEBC
gSubstituteDollPal:: @ 8C2CEBC
.incbin "baserom.gba", 0xc2cebc, 0x24
gUnknown_08C2CEE0:: @ 8C2CEE0
gSubstituteDollGfx:: @ 8C2CEE0
.incbin "baserom.gba", 0xc2cee0, 0x240
gUnknown_08C2D120:: @ 8C2D120
gSubstituteDollTilemap:: @ 8C2D120
.incbin "baserom.gba", 0xc2d120, 552
gUnknown_08C2D348:: @ 8C2D348
@ -1221,8 +1221,44 @@ gUnknown_08DC9608:: @ 8DC9608
.incbin "baserom.gba", 0xdc9608, 0x20
gUnknown_08DC9628:: @ 8DC9628
.incbin "baserom.gba", 0xdc9628, 0x2788
.incbin "baserom.gba", 0xdc9628, 0x320
gBerryBlenderMiscPalette:: @ 8DCAB88
.incbin "graphics/berry_blender/misc.gbapal"
gBerryBlenderArrowPalette:: @ 8DC9948
.incbin "graphics/berry_blender/arrow.gbapal"
gUnknown_8DC9988:: @ 8DC9988
.incbin "baserom.gba", 0xdc9988, 0x200
.align 2
gBerryBlenderMarubatsuTiles:: @ 8DC9B88
.incbin "graphics/berry_blender/marubatsu.4bpp"
.align 2
gBerryBlenderParticlesTiles:: @ 8E90818
.incbin "graphics/berry_blender/particles.4bpp"
.space 0x120
.align 2
gBerryBlenderCountdownNumbersTiles:: @ 8DC9F88
.incbin "graphics/berry_blender/countdown_numbers.4bpp"
.align 2
gBerryBlenderStartTiles:: @ 8DCA588
.incbin "graphics/berry_blender/start.4bpp"
.space 0x200
.align 2
gBerryBlenderArrowTiles:: @ 8DCAB88
.incbin "graphics/berry_blender/arrow.4bpp"
gUnknown_08DCB388:: @ 8DCB388
.incbin "baserom.gba", 0xdcb388, 0xA28
gUnknown_08DCBDB0:: @ 8DCBDB0
.incbin "baserom.gba", 0xdcbdb0, 0x20

View File

@ -4,61 +4,100 @@
.section .rodata
gUnknown_08613F90:: @ 8613F90
.incbin "baserom.gba", 0x613f90, 0xc
.4byte 0x11F0, 0x1E1, 0x21DE
@ possibly a struct
gUnknown_08613F9C:: @ 8613F9C
.incbin "baserom.gba", 0x613f9c, 0x18
.4byte 0
.4byte bag_menu_change_item_callback
.4byte sub_81AB520
.4byte 0
.4byte 0x80000
.4byte 0x7003011
gUnknown_08613FB4:: @ 8613FB4
.incbin "baserom.gba", 0x613fb4, 0x78
.4byte gMenuText_Use, ItemMenu_UseOutOfBattle
.4byte gMenuText_Toss, ItemMenu_Toss
.4byte gMenuText_Register, ItemMenu_Register
.4byte gMenuText_Give, ItemMenu_Give
.4byte gText_Cancel2, ItemMenu_Cancel
.4byte gMenuText_Use, ItemMenu_UseInBattle
.4byte gMenuText_Check, ItemMenu_UseOutOfBattle
.4byte gMenuText_Walk, ItemMenu_UseOutOfBattle
.4byte gMenuText_Deselect, ItemMenu_Register
.4byte gMenuText_CheckTag, ItemMenu_CheckTag
.4byte gMenuText_Confirm, unknown_ItemMenu_Confirm
.4byte gMenuText_Show, unknown_ItemMenu_Show
.4byte gMenuText_Give2, unknown_ItemMenu_Give2
.4byte gMenuText_Confirm, unknown_ItemMenu_Confirm2
.4byte gText_EmptyString2, NULL
gUnknown_0861402C:: @ 861402C
.incbin "baserom.gba", 0x61402c, 0x4
.byte 0, 3, 1, 4
gUnknown_08614030:: @ 8614030
.incbin "baserom.gba", 0x614030, 0x4
.byte 0, 2, 14, 4
gUnknown_08614034:: @ 8614034
.incbin "baserom.gba", 0x614034, 0x4
.byte 3, 14, 1, 4
gUnknown_08614038:: @ 8614038
.incbin "baserom.gba", 0x614038, 0x4
.byte 0, 3, 14, 4
gUnknown_0861403C:: @ 861403C
.incbin "baserom.gba", 0x61403c, 0x6
.byte 9, 14, 0, 3, 1, 4
gUnknown_08614042:: @ 8614042
.incbin "baserom.gba", 0x614042, 0x2
.byte 5, 4
gUnknown_08614044:: @ 8614044
.incbin "baserom.gba", 0x614044, 0x2
.byte 3, 4
gUnknown_08614046:: @ 8614046
.incbin "baserom.gba", 0x614046, 0x1
.byte 4
gUnknown_08614047:: @ 8614047
.incbin "baserom.gba", 0x614047, 0x4
.byte 10, 9, 14, 4
gUnknown_0861404B:: @ 861404B
.incbin "baserom.gba", 0x61404b, 0x2
.byte 11, 4
gUnknown_0861404D:: @ 861404D
.incbin "baserom.gba", 0x61404d, 0x2
.byte 12, 4
gUnknown_0861404F:: @ 861404F
.incbin "baserom.gba", 0x61404f, 0x5
.byte 13, 4
.align 2
gUnknown_08614054:: @ 8614054
.incbin "baserom.gba", 0x614054, 0x30
.4byte unknown_item_menu_type
.4byte unknown_item_menu_type
.4byte item_menu_type_2
.4byte display_sell_item_ask_str
.4byte unknown_ItemMenu_Confirm
.4byte unknown_item_menu_type
.4byte display_deposit_item_ask_str
.4byte unknown_item_menu_type
.4byte unknown_item_menu_type
.4byte unknown_item_menu_type
.4byte NULL
.4byte item_menu_type_b
.align 2
gUnknown_08614084:: @ 8614084
.incbin "baserom.gba", 0x614084, 0x8
.4byte BagMenuActuallyToss
.4byte BagMenuCancelToss
gUnknown_0861408C:: @ 861408C
.incbin "baserom.gba", 0x61408c, 0x8
.4byte sub_81AD84C
.4byte sub_81AD6FC
@ probably a struct
gUnknown_08614094:: @ 8614094
.incbin "baserom.gba", 0x614094, 0x10
.4byte 0x1101C00
.4byte 0xFFFF1064
.4byte 0x6FFFFF
.4byte 0x6F
gUnknown_086140A4:: @ 86140A4
.incbin "baserom.gba", 0x6140a4, 0xc0

View File

@ -5,7 +5,7 @@
.align 2, 0
gUnknown_0859EFE4:: @ 859EFE4
.incbin "baserom.gba", 0x59efe4, 0xc
.2byte 0x2811, 0x1029, 0x1018, 0xE0D, 0x1A1A, 0x1A1D
gUnknown_0859EFF0:: @ 859EFF0
.incbin "baserom.gba", 0x59eff0, 0x20

View File

@ -4,4 +4,17 @@
.section .rodata
gSaveSectionOffsets:: @ 85CDC00
.incbin "baserom.gba", 0x5cdc00, 0x38
.2byte 0, 0xF2C
.2byte 0, 0xF80
.2byte 0xF80, 0xF80
.2byte 0x1F00, 0xF80
.2byte 0x2E80, 0xF08
.2byte 0, 0xF80
.2byte 0xF80, 0xF80
.2byte 0x1F00, 0xF80
.2byte 0x2E80, 0xF80
.2byte 0x3E00, 0xF80
.2byte 0x4D80, 0xF80
.2byte 0x5D00, 0xF80
.2byte 0x6C80, 0xF80
.2byte 0x7C00, 0x7D0

View File

@ -4,26 +4,22 @@
.section .rodata
gUnknown_0858ABD8:: @ 858ABD8
@ replacing .incbin "baserom.gba", 0x0058abd8, 0x18
.4byte gUnknown_085EAD37, 0
.4byte gUnknown_085EAD41, 0
.4byte gText_Exit, 0
gUnknown_0858ABF0:: @ 58ABF0
@ replacing .incbin "baserom.gba", 0x0058abf0, 0x18
.4byte gUnknown_085EAD67, 0
.4byte gUnknown_085EAD6D, 0
.4byte gText_Exit, 0
gUnknown_0858AC08:: @ 58AC08
@ replacing .incbin "baserom.gba", 0x0058ac08, 0x20
.4byte gUnknown_085EAD72, 0
.4byte gUnknown_085EAD84, 0
.4byte gUnknown_085EAD96, 0
.4byte gText_Cancel2, 0
gUnknown_0858AC28:: @ 58AC28
@ replacing .incbin "baserom.gba", 0x0058ac28, 0x30
.4byte gUnknown_085EADA4, 0
.4byte gUnknown_085EADB5, 0
.4byte gUnknown_085EADC4, 0
@ -32,32 +28,27 @@ gUnknown_0858AC28:: @ 58AC28
.4byte gText_Exit, 0
gUnknown_0858AC58:: @ 58AC58
@ replacing .incbin "baserom.gba", 0x0058ac58, 0x20
.4byte gUnknown_085EADF9, 0
.4byte gUnknown_085EAE04, 0
.4byte gUnknown_085EAE12, 0
.4byte gText_Exit, 0
gUnknown_0858AC78:: @ 58AC78
@ replacing .incbin "baserom.gba", 0x0058ac78, 0x18
.4byte gUnknown_085EADF9, 0
.4byte gUnknown_085EAE04, 0
.4byte gText_Exit, 0
gUnknown_0858AC90:: @ 58AC90
@ replacing .incbin "baserom.gba", 0x0058ac90, 0x20
.4byte gUnknown_085E8CCB, 0
.4byte gMenuText_Register, 0
.4byte gUnknown_085EAE12, 0
.4byte gUnknown_085EAE1B, 0
.4byte gText_Cancel2, 0
gUnknown_0858ACB0:: @ 58ACB0
@ replacing .incbin "baserom.gba", 0x0058acb0, 0x10
.4byte gUnknown_085EAE27, 0
.4byte gUnknown_085EAE2C, 0
gUnknown_0858ACC0:: @ 58ACC0
@ replacing .incbin "baserom.gba", 0x0058acc0, 0x30
.4byte gUnknown_085EAE31, 0
.4byte gUnknown_085EAE35, 0
.4byte gUnknown_085EAE39, 0
@ -66,157 +57,131 @@ gUnknown_0858ACC0:: @ 58ACC0
.4byte gText_Exit, 0
gUnknown_0858ACF0:: @ 58ACF0
@ replacing .incbin "baserom.gba", 0x0058acf0, 0x10
.4byte gUnknown_085EAD5F, 0
.4byte gText_Exit, 0
gUnknown_0858AD00:: @ 58AD00
@ replacing .incbin "baserom.gba", 0x0058ad00, 0x10
.4byte gUnknown_085EAE53, 0
.4byte gUnknown_085EAE5A, 0
gUnknown_0858AD10:: @ 58AD10
@ replacing .incbin "baserom.gba", 0x0058ad10, 0x18
.4byte gText_Yes, 0
.4byte gText_No, 0
.4byte gUnknown_085EAD6D, 0
gUnknown_0858AD28:: @ 58AD28
@ replacing .incbin "baserom.gba", 0x0058ad28, 0x18
.4byte gUnknown_085EAEA2, 0
.4byte gUnknown_085EAEAC, 0
.4byte gText_Exit, 0
gUnknown_0858AD40:: @ 58AD40
@ replacing .incbin "baserom.gba", 0x0058ad40, 0x18
.4byte gText_Lv50, 0
.4byte gText_OpenLevel, 0
.4byte gText_Exit, 0
gUnknown_0858AD58:: @ 58AD58
@ replacing .incbin "baserom.gba", 0x0058ad58, 0x18
.4byte gUnknown_0827ECBC, 0
.4byte gUnknown_0827ECC3, 0
.4byte gUnknown_0827ECCD, 0
gUnknown_0858AD70:: @ 58AD70
@ replacing .incbin "baserom.gba", 0x0058ad70, 0x18
.4byte gUnknown_0827ECD5, 0
.4byte gUnknown_0827ECDD, 0
.4byte gUnknown_0827ECE3, 0
gUnknown_0858AD88:: @ 58AD88
@ replacing .incbin "baserom.gba", 0x0058ad88, 0x18
.4byte gUnknown_0827ECEB, 0
.4byte gUnknown_0827ECF2, 0
.4byte gUnknown_0827ECF8, 0
gUnknown_0858ADA0:: @ 58ADA0
@ replacing .incbin "baserom.gba", 0x0058ada0, 0x18
.4byte gUnknown_0827ED00, 0
.4byte gUnknown_0827ED06, 0
.4byte gUnknown_0827ED10, 0
gUnknown_0858ADB8:: @ 58ADB8
@ replacing .incbin "baserom.gba", 0x0058adb8, 0x18
.4byte gUnknown_0827ED18, 0
.4byte gUnknown_0827ED22, 0
.4byte gUnknown_0827ED2C, 0
gUnknown_0858ADD0:: @ 58ADD0
@ replacing .incbin "baserom.gba", 0x0058add0, 0x18
.4byte gUnknown_0827ED36, 0
.4byte gUnknown_0827ED40, 0
.4byte gUnknown_0827ED46, 0
gUnknown_0858ADE8:: @ 58ADE8
@ replacing .incbin "baserom.gba", 0x0058ade8, 0x18
.4byte gUnknown_0827ED4F, 0
.4byte gUnknown_0827ED59, 0
.4byte gUnknown_0827ED65, 0
gUnknown_0858AE00:: @ 58AE00
@ replacing .incbin "baserom.gba", 0x0058ae00, 0x18
.4byte gUnknown_0827ED70, 0
.4byte gUnknown_0827ED74, 0
.4byte gUnknown_0827ED78, 0
gUnknown_0858AE18:: @ 58AE18
@ replacing .incbin "baserom.gba", 0x0058ae18, 0x18
.4byte gUnknown_0827ED80, 0
.4byte gUnknown_0827ED95, 0
.4byte gUnknown_0827EDAA, 0
gUnknown_0858AE30:: @ 58AE30
@ replacing .incbin "baserom.gba", 0x0058ae30, 0x18
.4byte gUnknown_0827EDB5, 0
.4byte gUnknown_0827EDBA, 0
.4byte gUnknown_0827EDC1, 0
gUnknown_0858AE48:: @ 58AE48
@ replacing .incbin "baserom.gba", 0x0058ae48, 0x18
.4byte gUnknown_0827EDC9, 0
.4byte gUnknown_0827EDD5, 0
.4byte gUnknown_0827EDE4, 0
gUnknown_0858AE60:: @ 58AE60
@ replacing .incbin "baserom.gba", 0x0058ae60, 0x18
.4byte gUnknown_0827EDF0, 0
.4byte gUnknown_0827EDF5, 0
.4byte gUnknown_0827EDF7, 0
gUnknown_0858AE78:: @ 58AE78
@ replacing .incbin "baserom.gba", 0x0058ae78, 0x18
.4byte gUnknown_0827EDF9, 0
.4byte gUnknown_0827EDFB, 0
.4byte gUnknown_0827EDFD, 0
gUnknown_0858AE90:: @ 58AE90
@ replacing .incbin "baserom.gba", 0x0058ae90, 0x18
.4byte gUnknown_0827EDFF, 0
.4byte gUnknown_0827EE01, 0
.4byte gUnknown_0827EE03, 0
gUnknown_0858AEA8:: @ 58AEA8
@ replacing .incbin "baserom.gba", 0x0058aea8, 0x18
.4byte gUnknown_0827EE05, 0
.4byte gUnknown_0827EE07, 0
.4byte gUnknown_0827EE09, 0
gUnknown_0858AEC0:: @ 58AEC0
@ replacing .incbin "baserom.gba", 0x0058aec0, 0x20
.4byte gUnknown_085EAEC3, 0
.4byte gUnknown_085EAED6, 0
.4byte gUnknown_085EAEE6, 0
.4byte gText_Exit, 0
gUnknown_0858AEE0:: @ 58AEE0
@ replacing .incbin "baserom.gba", 0x0058aee0, 0x20
.4byte gUnknown_085EAEF6, 0
.4byte gUnknown_085EAF02, 0
.4byte gUnknown_085EAF0E, 0
.4byte gText_Exit, 0
gUnknown_0858AF00:: @ 58AF00
@ replacing .incbin "baserom.gba", 0x0058af00, 0x20
.4byte gUnknown_085EAF1B, 0
.4byte gUnknown_085EAF24, 0
.4byte gUnknown_085EAF2F, 0
.4byte gText_Exit, 0
gUnknown_0858AF20:: @ 58AF20
@ replacing .incbin "baserom.gba", 0x0058af20, 0x10
.4byte gUnknown_085EAF34, 0
.4byte gUnknown_085EAF3E, 0
gUnknown_0858AF30:: @ 58AF30
@ replacing .incbin "baserom.gba", 0x0058af30, 0x18
.4byte gUnknown_085EAF4B, 0
.4byte gUnknown_085EAF58, 0
.4byte gText_Exit, 0
gUnknown_0858AF48:: @ 58AF48
@ replacing .incbin "baserom.gba", 0x0058af48, 0x40
.4byte gUnknown_085EAF65, 0
.4byte gUnknown_085EAF70, 0
.4byte gUnknown_085EAF7D, 0
@ -227,14 +192,12 @@ gUnknown_0858AF48:: @ 58AF48
.4byte gText_Cancel2, 0
gUnknown_0858AF88:: @ 58AF88
@ replacing .incbin "baserom.gba", 0x0058af88, 0x20
.4byte gUnknown_085EAFB6, 0
.4byte gUnknown_085EAFCF, 0
.4byte gUnknown_085EAFE8, 0
.4byte gText_Exit, 0
gUnknown_0858AFA8:: @ 58AFA8
@ replacing .incbin "baserom.gba", 0x0058afa8, 0x30
.4byte gUnknown_085EB089, 0
.4byte gUnknown_085EB09C, 0
.4byte gUnknown_085EB0AF, 0
@ -243,40 +206,33 @@ gUnknown_0858AFA8:: @ 58AFA8
.4byte gText_Exit, 0
gUnknown_0858AFD8:: @ 58AFD8
@ replacing .incbin "baserom.gba", 0x0058afd8, 0x18
.4byte gUnknown_085EB002, 0
.4byte gUnknown_085EB017, 0
.4byte gText_Exit, 0
gUnknown_0858AFF0:: @ 58AFF0
@ replacing .incbin "baserom.gba", 0x0058aff0, 0x10
.4byte gUnknown_085EB02A, 0
.4byte gUnknown_085EB034, 0
gUnknown_0858B000:: @ 58B000
@ replacing .incbin "baserom.gba", 0x0058b000, 0x18
.4byte gUnknown_085EB79B, 0
.4byte gUnknown_085EB06E, 0
.4byte gText_LilycoveCity, 0
.4byte gText_BattleFrontier, 0
.4byte gText_Exit, 0
gUnknown_0858B018:: @ 58B018
@ replacing .incbin "baserom.gba", 0x0058b018, 0x18
.4byte gUnknown_085EB7A9, 0
.4byte gUnknown_085EB79B, 0
.4byte gText_SlateportCity, 0
.4byte gText_LilycoveCity, 0
.4byte gText_Exit, 0
gUnknown_0858B030:: @ 58B030
@ replacing .incbin "baserom.gba", 0x0058b030, 0x10
.4byte gUnknown_085EB07E, 0
.4byte gUnknown_085EB084, 0
gUnknown_0858B040:: @ 58B040
@ replacing .incbin "baserom.gba", 0x0058b040, 0x10
.4byte gUnknown_085EB79B, 0
.4byte gText_LilycoveCity, 0
.4byte gText_Exit, 0
gUnknown_0858B050:: @ 58B050
@ replacing .incbin "baserom.gba", 0x0058b050, 0x30
.4byte gUnknown_085EB676, 0
.4byte gUnknown_085EB673, 0
.4byte gUnknown_085EB670, 0
@ -285,91 +241,76 @@ gUnknown_0858B050:: @ 58B050
.4byte gText_Exit, 0
gUnknown_0858B080:: @ 58B080
@ replacing .incbin "baserom.gba", 0x0058b080, 0x10
.4byte gUnknown_085EB040, 0
.4byte gText_Exit, 0
gUnknown_0858B090:: @ 58B090
@ replacing .incbin "baserom.gba", 0x0058b090, 0x10
.4byte gUnknown_085EB04A, 0
.4byte gText_Exit, 0
gUnknown_0858B0A0:: @ 58B0A0
@ replacing .incbin "baserom.gba", 0x0058b0a0, 0x18
.4byte gUnknown_085EB040, 0
.4byte gUnknown_085EB04A, 0
.4byte gText_Exit, 0
gUnknown_0858B0B8:: @ 58B0B8
@ replacing .incbin "baserom.gba", 0x0058b0b8, 0x10
.4byte gUnknown_085EB057, 0
.4byte gText_Exit, 0
gUnknown_0858B0C8:: @ 58B0C8
@ replacing .incbin "baserom.gba", 0x0058b0c8, 0x18
.4byte gUnknown_085EB040, 0
.4byte gUnknown_085EB057, 0
.4byte gText_Exit, 0
gUnknown_0858B0E0:: @ 58B0E0
@ replacing .incbin "baserom.gba", 0x0058b0e0, 0x18
.4byte gUnknown_085EB04A, 0
.4byte gUnknown_085EB057, 0
.4byte gText_Exit, 0
gUnknown_0858B0F8:: @ 58B0F8
@ replacing .incbin "baserom.gba", 0x0058b0f8, 0x20
.4byte gUnknown_085EB040, 0
.4byte gUnknown_085EB04A, 0
.4byte gUnknown_085EB057, 0
.4byte gText_Exit, 0
gUnknown_0858B118:: @ 58B118
@ replacing .incbin "baserom.gba", 0x0058b118, 0x10
.4byte gUnknown_085EB062, 0
.4byte gText_Exit, 0
gUnknown_0858B128:: @ 58B128
@ replacing .incbin "baserom.gba", 0x0058b128, 0x18
.4byte gUnknown_085EB040, 0
.4byte gUnknown_085EB062, 0
.4byte gText_Exit, 0
gUnknown_0858B140:: @ 58B140
@ replacing .incbin "baserom.gba", 0x0058b140, 0x18
.4byte gUnknown_085EB04A, 0
.4byte gUnknown_085EB062, 0
.4byte gText_Exit, 0
gUnknown_0858B158:: @ 58B158
@ replacing .incbin "baserom.gba", 0x0058b158, 0x20
.4byte gUnknown_085EB040, 0
.4byte gUnknown_085EB04A, 0
.4byte gUnknown_085EB062, 0
.4byte gText_Exit, 0
gUnknown_0858B178:: @ 58B178
@ replacing .incbin "baserom.gba", 0x0058b178, 0x18
.4byte gUnknown_085EB057, 0
.4byte gUnknown_085EB062, 0
.4byte gText_Exit, 0
gUnknown_0858B190:: @ 58B190
@ replacing .incbin "baserom.gba", 0x0058b190, 0x20
.4byte gUnknown_085EB040, 0
.4byte gUnknown_085EB057, 0
.4byte gUnknown_085EB062, 0
.4byte gText_Exit, 0
gUnknown_0858B1B0:: @ 58B1B0
@ replacing .incbin "baserom.gba", 0x0058b1b0, 0x20
.4byte gUnknown_085EB04A, 0
.4byte gUnknown_085EB057, 0
.4byte gUnknown_085EB062, 0
.4byte gText_Exit, 0
gUnknown_0858B1D0:: @ 58B1D0
@ replacing .incbin "baserom.gba", 0x0058b1d0, 0x28
.4byte gUnknown_085EB040, 0
.4byte gUnknown_085EB04A, 0
.4byte gUnknown_085EB057, 0
@ -377,42 +318,36 @@ gUnknown_0858B1D0:: @ 58B1D0
.4byte gText_Exit, 0
gUnknown_0858B1F8:: @ 58B1F8
@ replacing .incbin "baserom.gba", 0x0058b1f8, 0x30
.4byte gUnknown_085EB1A0, 0
.4byte gUnknown_085EB1A9, 0
.4byte gUnknown_085EB1B6, 0
.4byte gText_Opponent, 0
.4byte gText_Tourney_Tree, 0
.4byte gText_ReadyToStart, 0
.4byte gUnknown_085EB5BC, 0
.4byte gUnknown_085EB5C3, 0
.4byte gUnknown_085EB5C8, 0
gUnknown_0858B228:: @ 58B228
@ replacing .incbin "baserom.gba", 0x0058b228, 0x28
.4byte gUnknown_085EB1A0, 0
.4byte gUnknown_085EB1A9, 0
.4byte gUnknown_085EB1B6, 0
.4byte gText_Opponent, 0
.4byte gText_Tourney_Tree, 0
.4byte gText_ReadyToStart, 0
.4byte gUnknown_085EB5C3, 0
.4byte gUnknown_085EB5C8, 0
gUnknown_0858B250:: @ 58B250
@ replacing .incbin "baserom.gba", 0x0058b250, 0x10
.4byte gUnknown_085EB29A, 0
.4byte gUnknown_085EB2A3, 0
gUnknown_0858B260:: @ 58B260
@ replacing .incbin "baserom.gba", 0x0058b260, 0x20
.4byte gUnknown_085EB372, 0
.4byte gUnknown_085EB37F, 0
.4byte gUnknown_085EB389, 0
.4byte gText_Exit, 0
gUnknown_0858B280:: @ 58B280
@ replacing .incbin "baserom.gba", 0x0058b280, 0x18
.4byte gText_Yes, 0
.4byte gText_No, 0
.4byte gUnknown_085EAD6D, 0
gUnknown_0858B298:: @ 58B298
@ replacing .incbin "baserom.gba", 0x0058b298, 0x28
.4byte gUnknown_085EAE6E, 0
.4byte gUnknown_085EAE7C, 0
.4byte gUnknown_085EAE8A, 0
@ -420,14 +355,12 @@ gUnknown_0858B298:: @ 58B298
.4byte gText_Exit, 0
gUnknown_0858B2C0:: @ 58B2C0
@ replacing .incbin "baserom.gba", 0x0058b2c0, 0x20
.4byte gUnknown_085EB372, 0
.4byte gUnknown_085EB37F, 0
.4byte gUnknown_085EB397, 0
.4byte gText_Exit, 0
gUnknown_0858B2E0:: @ 58B2E0
@ replacing .incbin "baserom.gba", 0x0058b2e0, 0x28
.4byte gUnknown_085EB372, 0
.4byte gUnknown_085EB37F, 0
.4byte gUnknown_085EB389, 0
@ -435,52 +368,44 @@ gUnknown_0858B2E0:: @ 58B2E0
.4byte gText_Exit, 0
gUnknown_0858B308:: @ 58B308
@ replacing .incbin "baserom.gba", 0x0058b308, 0x18
.4byte gUnknown_085EB372, 0
.4byte gUnknown_085EB37F, 0
.4byte gText_Exit, 0
gUnknown_0858B320:: @ 58B320
@ replacing .incbin "baserom.gba", 0x0058b320, 0x18
.4byte gUnknown_085EB3A4, 0
.4byte gUnknown_085EB3B1, 0
.4byte gText_Exit, 0
gUnknown_0858B338:: @ 58B338
@ replacing .incbin "baserom.gba", 0x0058b338, 0x18
.4byte gUnknown_085EB3D4, 0
.4byte gUnknown_085EB3C6, 0
.4byte gText_Exit, 0
gUnknown_0858B350:: @ 58B350
@ replacing .incbin "baserom.gba", 0x0058b350, 0x28
.4byte gUnknown_085EB1C5, 0
.4byte gUnknown_085EB1D1, 0
.4byte gUnknown_085EB1DC, 0
.4byte gUnknown_085EB1E7, 0
.4byte gText_NormalRank, 0
.4byte gText_SuperRank, 0
.4byte gText_HyperRank, 0
.4byte gText_MasterRank, 0
.4byte gText_Exit, 0
gUnknown_0858B378:: @ 58B378
@ replacing .incbin "baserom.gba", 0x0058b378, 0x18
.4byte gUnknown_085EB212, 0
.4byte gUnknown_085EB21D, 0
.4byte gText_BattleBag, 0
.4byte gText_HeldItem, 0
.4byte gText_Exit, 0
gUnknown_0858B390:: @ 58B390
@ replacing .incbin "baserom.gba", 0x0058b390, 0x20
.4byte gUnknown_085EB227, 0
.4byte gUnknown_085EB234, 0
.4byte gUnknown_085EB241, 0
.4byte gText_LinkContest, 0
.4byte gText_AboutE_Mode, 0
.4byte gText_AboutG_Mode, 0
.4byte gText_Cancel2, 0
gUnknown_0858B3B0:: @ 58B3B0
@ replacing .incbin "baserom.gba", 0x0058b3b0, 0x18
.4byte gUnknown_085EB24E, 0
.4byte gUnknown_085EB255, 0
.4byte gText_E_Mode, 0
.4byte gText_G_Mode, 0
.4byte gText_Exit, 0
gUnknown_0858B3C8:: @ 58B3C8
@ replacing .incbin "baserom.gba", 0x0058b3c8, 0x40
.4byte gText_MenuOptionPokedex, 0
.4byte gText_MenuOptionPokemon, 0
.4byte gText_MenuOptionBag, 0
@ -491,50 +416,42 @@ gUnknown_0858B3C8:: @ 58B3C8
.4byte gText_MenuOptionExit, 0
gUnknown_0858B408:: @ 58B408
@ replacing .incbin "baserom.gba", 0x0058b408, 0x20
.4byte gUnknown_085EB28A, 0
.4byte gUnknown_085EB290, 0
.4byte gUnknown_085EB295, 0
.4byte gText_Exit, 0
gUnknown_0858B428:: @ 58B428
@ replacing .incbin "baserom.gba", 0x0058b428, 0x18
.4byte gUnknown_085EB2AD, 0
.4byte gUnknown_085EB2BD, 0
.4byte gText_SouthernIsland, 0
.4byte gText_BirthIsland, 0
.4byte gText_Exit, 0
gUnknown_0858B440:: @ 58B440
@ replacing .incbin "baserom.gba", 0x0058b440, 0x18
.4byte gUnknown_085EB2AD, 0
.4byte gUnknown_085EB2CA, 0
.4byte gText_SouthernIsland, 0
.4byte gText_FarawayIsland, 0
.4byte gText_Exit, 0
gUnknown_0858B458:: @ 58B458
@ replacing .incbin "baserom.gba", 0x0058b458, 0x18
.4byte gUnknown_085EB2BD, 0
.4byte gUnknown_085EB2CA, 0
.4byte gText_BirthIsland, 0
.4byte gText_FarawayIsland, 0
.4byte gText_Exit, 0
gUnknown_0858B470:: @ 58B470
@ replacing .incbin "baserom.gba", 0x0058b470, 0x20
.4byte gUnknown_085EB2AD, 0
.4byte gUnknown_085EB2BD, 0
.4byte gUnknown_085EB2CA, 0
.4byte gText_SouthernIsland, 0
.4byte gText_BirthIsland, 0
.4byte gText_FarawayIsland, 0
.4byte gText_Exit, 0
gUnknown_0858B490:: @ 58B490
@ replacing .incbin "baserom.gba", 0x0058b490, 0x18
.4byte gUnknown_085EB2E4, 0
.4byte gUnknown_085EB2F0, 0
.4byte gText_Exit, 0
gUnknown_0858B4A8:: @ 58B4A8
@ replacing .incbin "baserom.gba", 0x0058b4a8, 0x10
.4byte gText_Yes, 0
.4byte gUnknown_085EB2FC, 0
gUnknown_0858B4B8:: @ 58B4B8
@ replacing .incbin "baserom.gba", 0x0058b4b8, 0x30
.4byte gUnknown_085EB3DF, 0
.4byte gUnknown_085EB3EA, 0
.4byte gUnknown_085EB3F1, 0
@ -543,14 +460,12 @@ gUnknown_0858B4B8:: @ 58B4B8
.4byte gText_Exit, 0
gUnknown_0858B4E8:: @ 58B4E8
@ replacing .incbin "baserom.gba", 0x0058b4e8, 0x20
.4byte gUnknown_085EB415, 0
.4byte gUnknown_085EB41D, 0
.4byte gUnknown_085EB424, 0
.4byte gText_Exit, 0
gUnknown_0858B508:: @ 58B508
@ replacing .incbin "baserom.gba", 0x0058b508, 0x28
.4byte gUnknown_085EB45C, 0
.4byte gUnknown_085EB469, 0
.4byte gUnknown_085EB475, 0
@ -558,7 +473,6 @@ gUnknown_0858B508:: @ 58B508
.4byte gText_Exit, 0
gUnknown_0858B530:: @ 58B530
@ replacing .incbin "baserom.gba", 0x0058b530, 0x28
.4byte gUnknown_085EB42F, 0
.4byte gUnknown_085EB43A, 0
.4byte gUnknown_085EB444, 0
@ -566,14 +480,12 @@ gUnknown_0858B530:: @ 58B530
.4byte gText_Exit, 0
gUnknown_0858B558:: @ 58B558
@ replacing .incbin "baserom.gba", 0x0058b558, 0x20
.4byte gUnknown_085EB48E, 0
.4byte gUnknown_085EB496, 0
.4byte gUnknown_085EB4A3, 0
.4byte gText_Exit, 0
gUnknown_0858B578:: @ 58B578
@ replacing .incbin "baserom.gba", 0x0058b578, 0x30
.4byte gUnknown_085EB4AD, 0
.4byte gUnknown_085EB4B9, 0
.4byte gUnknown_085EB4C7, 0
@ -582,7 +494,6 @@ gUnknown_0858B578:: @ 58B578
.4byte gText_Exit, 0
gUnknown_0858B5A8:: @ 58B5A8
@ replacing .incbin "baserom.gba", 0x0058b5a8, 0x30
.4byte gUnknown_085EB4EB, 0
.4byte gUnknown_085EB4F9, 0
.4byte gUnknown_085EB508, 0
@ -591,7 +502,6 @@ gUnknown_0858B5A8:: @ 58B5A8
.4byte gText_Exit, 0
gUnknown_0858B5D8:: @ 58B5D8
@ replacing .incbin "baserom.gba", 0x0058b5d8, 0x28
.4byte gUnknown_085EB532, 0
.4byte gUnknown_085EB543, 0
.4byte gUnknown_085EB555, 0
@ -599,57 +509,48 @@ gUnknown_0858B5D8:: @ 58B5D8
.4byte gText_Exit, 0
gUnknown_0858B600:: @ 58B600
@ replacing .incbin "baserom.gba", 0x0058b600, 0x20
.4byte gUnknown_085EB56E, 0
.4byte gUnknown_085EB57E, 0
.4byte gUnknown_085EB589, 0
.4byte gText_Exit, 0
gUnknown_0858B620:: @ 58B620
@ replacing .incbin "baserom.gba", 0x0058b620, 0x20
.4byte gUnknown_085EB5B6, 0
.4byte gUnknown_085EB5BC, 0
.4byte gUnknown_085EB5C3, 0
.4byte gUnknown_085EB5C8, 0
gUnknown_0858B640:: @ 58B640
@ replacing .incbin "baserom.gba", 0x0058b640, 0x18
.4byte gUnknown_085EB5B6, 0
.4byte gUnknown_085EB5C3, 0
.4byte gUnknown_085EB5C8, 0
gUnknown_0858B658:: @ 58B658
@ replacing .incbin "baserom.gba", 0x0058b658, 0x18
.4byte gUnknown_085EB5B6, 0
.4byte gUnknown_085EB5BC, 0
.4byte gUnknown_085EB5C8, 0
gUnknown_0858B670:: @ 58B670
@ replacing .incbin "baserom.gba", 0x0058b670, 0x10
.4byte gUnknown_085EB5B6, 0
.4byte gUnknown_085EB5C8, 0
gUnknown_0858B680:: @ 58B680
@ replacing .incbin "baserom.gba", 0x0058b680, 0x10
.4byte gUnknown_085EE14B, 0
.4byte gUnknown_085EE14F, 0
gUnknown_0858B690:: @ 58B690
@ replacing .incbin "baserom.gba", 0x0058b690, 0x20
.4byte gUnknown_085EB2FF, 0
.4byte gUnknown_085EB310, 0
.4byte gUnknown_085EB317, 0
.4byte gUnknown_085EB31F, 0
gUnknown_0858B6B0:: @ 58B6B0
@ replacing .incbin "baserom.gba", 0x0058b6b0, 0x20
.4byte gUnknown_085EB7B8, 0
.4byte gUnknown_085EB7C7, 0
.4byte gUnknown_085EB7D0, 0
.4byte gUnknown_085EB7DB, 0
.4byte gText_CaveOfOrigin, 0
.4byte gText_MtPyre, 0
.4byte gText_SkyPillar, 0
.4byte gText_DontRemember, 0
gUnknown_0858B6D0:: @ 58B6D0
@ replacing .incbin "baserom.gba", 0x0058b6d0, 0x30
.4byte gUnknown_085EB4AD, 0
.4byte gUnknown_085EB4B9, 0
.4byte gUnknown_085EB4C7, 0
@ -658,7 +559,6 @@ gUnknown_0858B6D0:: @ 58B6D0
.4byte gText_Exit, 0
gUnknown_0858B700:: @ 58B700
@ replacing .incbin "baserom.gba", 0x0058b700, 0x30
.4byte gUnknown_085EB5A6, 0
.4byte gUnknown_085EB45C, 0
.4byte gUnknown_085EB469, 0
@ -667,7 +567,6 @@ gUnknown_0858B700:: @ 58B700
.4byte gText_Exit, 0
gUnknown_0858B730:: @ 58B730
@ replacing .incbin "baserom.gba", 0x0058b730, 0x28
.4byte gUnknown_085EB32D, 0
.4byte gUnknown_085EB33E, 0
.4byte gUnknown_085EB350, 0
@ -675,12 +574,10 @@ gUnknown_0858B730:: @ 58B730
.4byte gText_Exit, 0
gUnknown_0858B758:: @ 58B758
@ replacing .incbin "baserom.gba", 0x0058b758, 0x8
.4byte gText_Exit, 0
gUnknown_0858B760:: @ 858B760
@ replacing .incbin "baserom.gba", 0x0058b760, 0x390
.4byte 0x0858abd8, 3
.4byte gUnknown_0858B758, 1
.4byte gUnknown_0858ABF0, 3
@ -797,16 +694,55 @@ gUnknown_0858B760:: @ 858B760
.4byte gUnknown_0858B730, 5
gUnknown_0858BAF0:: @ 858BAF0
.incbin "baserom.gba", 0x58baf0, 0x78
.4byte gText_Cool
.4byte gText_Beauty
.4byte gText_Cute
.4byte gText_Smart
.4byte gText_Tough
.4byte gText_Normal
.4byte gText_Super
.4byte gText_Hyper
.4byte gText_Master
.4byte gText_Cool2
.4byte gText_Beauty2
.4byte gText_Cute2
.4byte gText_Smart2
.4byte gText_Tough2
.4byte gText_Items
.4byte gText_Key_Items
.4byte gText_Poke_Balls
.4byte gText_TMs_Hms
.4byte gText_Berries2
.4byte gText_Single2
.4byte gText_Double2
.4byte gText_Multi
.4byte gText_MultiLink
.4byte gText_BattleTower2
.4byte gText_BattleDome
.4byte gText_BattleFactory
.4byte gText_BattlePalace
.4byte gText_BattleArena
.4byte gText_BattlePike
.4byte gText_BattlePyramid
gUnknown_0858BB68:: @ 858BB68
.incbin "baserom.gba", 0x58bb68, 0x8
.byte 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F
.align 2
gUnknown_0858BB70:: @ 858BB70
.incbin "baserom.gba", 0x58bb70, 0x10
.4byte gText_SomeonesPC
.4byte gText_LanettesPC
.4byte gText_PlayersPC
.4byte gText_LogOff
gUnknown_0858BB80:: @ 858BB80
.incbin "baserom.gba", 0x58bb80, 0x1c
.4byte gText_SlateportCity
.4byte gText_BattleFrontier
.4byte gText_SouthernIsland
.4byte gText_NavelRock
.4byte gText_BirthIsland
.4byte gText_FarawayIsland
.4byte gText_Exit
gUnknown_0858BB9C:: @ 858BB9C
.incbin "baserom.gba", 0x58bb9c, 0x10

View File

@ -52,7 +52,7 @@ gUnknown_0831C688:: @ 831C688
spr_template 0xd6eb, 0xd6eb, gUnknown_0831C630, gUnknown_0831C678, NULL, gDummySpriteAffineAnimTable, sub_80753B4
.align 2
gUnknown_0831C6A0:: @ 831C6A0
gSpriteSheet_EnemyShadow:: @ 831C6A0
obj_tiles gUnknown_08D8FBC0, 0x0080, 0xd759
.align 2
@ -60,5 +60,5 @@ gUnknown_0831C6A8:: @ 831C6A8
.byte 0x00, 0x40, 0x00, 0x40, 0x00, 0x0c, 0x00, 0x00
.align 2
gUnknown_0831C6B0:: @ 831C6B0
spr_template 0xd759, 0xd6ff, gUnknown_0831C6A8, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_805EE48
gSpriteTemplate_EnemyShadow:: @ 831C6B0
spr_template 0xd759, 0xd6ff, gUnknown_0831C6A8, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCB_SetInvisible

View File

@ -534,25 +534,25 @@ gUnknown_085E8CAC:: @ 85E8CAC
gText_FlyToWhere:: @ 85E8CB4
.string "FLY to where?$"
gUnknown_085E8CC2:: @ 85E8CC2
gMenuText_Use:: @ 85E8CC2
.string "USE$"
gUnknown_085E8CC6:: @ 85E8CC6
gMenuText_Toss:: @ 85E8CC6
.string "TOSS$"
gUnknown_085E8CCB:: @ 85E8CCB
gMenuText_Register:: @ 85E8CCB
.string "REGISTER$"
gUnknown_085E8CD4:: @ 85E8CD4
gMenuText_Give:: @ 85E8CD4
.string "GIVE$"
gUnknown_085E8CD9:: @ 85E8CD9
gMenuText_CheckTag:: @ 85E8CD9
.string "CHECK TAG$"
gText_Confirm:: @ 85E8CE3
gMenuText_Confirm:: @ 85E8CE3
.string "CONFIRM$"
gUnknown_085E8CEB:: @ 85E8CEB
gMenuText_Walk:: @ 85E8CEB
.string "WALK$"
gText_Cancel:: @ 85E8CF0
@ -561,7 +561,7 @@ gText_Cancel:: @ 85E8CF0
gText_Cancel2:: @ 85E8CF7
.string "CANCEL$"
gUnknown_085E8CFE:: @ 85E8CFE
gMenuText_Show:: @ 85E8CFE
.string "SHOW$"
gText_EmptyString2:: @ 85E8D03
@ -582,13 +582,13 @@ gUnknown_085E8D15:: @ 85E8D15
gUnknown_085E8D1A:: @ 85E8D1A
.string "STORE$"
gUnknown_085E8D20:: @ 85E8D20
gMenuText_Check:: @ 85E8D20
.string "CHECK$"
gText_None:: @ 85E8D26
.string "NONE$"
gUnknown_085E8D2B:: @ 85E8D2B
gMenuText_Deselect:: @ 85E8D2B
.string "DESELECT$"
gText_ThreeMarks:: @ 85E8D34
@ -642,7 +642,7 @@ gText_GoBackPrevMenu:: @ 85E8D62
gText_WhatWouldYouLike:: @ 85E8D80
.string "What would you like to do?$"
gUnknown_085E8D9B:: @ 85E8D9B
gMenuText_Give2:: @ 85E8D9B
.string "GIVE$"
gText_xVar1:: @ 85E8DA0
@ -1946,7 +1946,7 @@ gUnknown_085EB057:: @ 85EB057
gUnknown_085EB062:: @ 85EB062
.string "GREEN SHARD$"
gUnknown_085EB06E:: @ 85EB06E
gText_BattleFrontier:: @ 85EB06E
.string "BATTLE FRONTIER$"
gUnknown_085EB07E:: @ 85EB07E
@ -1985,46 +1985,46 @@ gText_Smart:: @ 85EB0F9
gText_Tough:: @ 85EB0FF
.string "TOUGH$"
gUnknown_085EB105:: @ 85EB105
gText_Normal:: @ 85EB105
.string "NORMAL$"
gUnknown_085EB10C:: @ 85EB10C
gText_Super:: @ 85EB10C
.string "SUPER$"
gUnknown_085EB112:: @ 85EB112
gText_Hyper:: @ 85EB112
.string "HYPER$"
gUnknown_085EB118:: @ 85EB118
gText_Master:: @ 85EB118
.string "MASTER$"
gUnknown_085EB11F:: @ 85EB11F
gText_Cool2:: @ 85EB11F
.string "COOL$"
gUnknown_085EB124:: @ 85EB124
gText_Beauty2:: @ 85EB124
.string "BEAUTY$"
gUnknown_085EB12B:: @ 85EB12B
gText_Cute2:: @ 85EB12B
.string "CUTE$"
gUnknown_085EB130:: @ 85EB130
gText_Smart2:: @ 85EB130
.string "SMART$"
gUnknown_085EB136:: @ 85EB136
gText_Tough2:: @ 85EB136
.string "TOUGH$"
gUnknown_085EB13C:: @ 85EB13C
gText_Items:: @ 85EB13C
.string "ITEMS$"
gUnknown_085EB142:: @ 85EB142
gText_Key_Items:: @ 85EB142
.string "KEY ITEMS$"
gUnknown_085EB14C:: @ 85EB14C
gText_Poke_Balls:: @ 85EB14C
.string "POKé BALLS$"
gUnknown_085EB157:: @ 85EB157
gText_TMs_Hms:: @ 85EB157
.string "TMs & HMs$"
gUnknown_085EB161:: @ 85EB161
gText_Berries2:: @ 85EB161
.string "BERRIES$"
gText_SomeonesPC:: @ 85EB169
@ -2042,58 +2042,58 @@ gText_HallOfFame:: @ 85EB18B
gText_LogOff:: @ 85EB198
.string "LOG OFF$"
gUnknown_085EB1A0:: @ 85EB1A0
gText_Opponent:: @ 85EB1A0
.string "OPPONENT$"
gUnknown_085EB1A9:: @ 85EB1A9
gText_Tourney_Tree:: @ 85EB1A9
.string "TOURNEY TREE$"
gUnknown_085EB1B6:: @ 85EB1B6
gText_ReadyToStart:: @ 85EB1B6
.string "READY TO START$"
gUnknown_085EB1C5:: @ 85EB1C5
gText_NormalRank:: @ 85EB1C5
.string "NORMAL RANK$"
gUnknown_085EB1D1:: @ 85EB1D1
gText_SuperRank:: @ 85EB1D1
.string "SUPER RANK$"
gUnknown_085EB1DC:: @ 85EB1DC
gText_HyperRank:: @ 85EB1DC
.string "HYPER RANK$"
gUnknown_085EB1E7:: @ 85EB1E7
gText_MasterRank:: @ 85EB1E7
.string "MASTER RANK$"
gUnknown_085EB1F3:: @ 85EB1F3
gText_Single2:: @ 85EB1F3
.string "SINGLE$"
gUnknown_085EB1FA:: @ 85EB1FA
gText_Double2:: @ 85EB1FA
.string "DOUBLE$"
gUnknown_085EB201:: @ 85EB201
gText_Multi:: @ 85EB201
.string "MULTI$"
gUnknown_085EB207:: @ 85EB207
gText_MultiLink:: @ 85EB207
.string "MULTI-LINK$"
gUnknown_085EB212:: @ 85EB212
gText_BattleBag:: @ 85EB212
.string "BATTLE BAG$"
gUnknown_085EB21D:: @ 85EB21D
gText_HeldItem:: @ 85EB21D
.string "HELD ITEM$"
gUnknown_085EB227:: @ 85EB227
gText_LinkContest:: @ 85EB227
.string "LINK CONTEST$"
gUnknown_085EB234:: @ 85EB234
gText_AboutE_Mode:: @ 85EB234
.string "ABOUT E-MODE$"
gUnknown_085EB241:: @ 85EB241
gText_AboutG_Mode:: @ 85EB241
.string "ABOUT G-MODE$"
gUnknown_085EB24E:: @ 85EB24E
gText_E_Mode:: @ 85EB24E
.string "E-MODE$"
gUnknown_085EB255:: @ 85EB255
gText_G_Mode:: @ 85EB255
.string "G-MODE$"
gText_MenuOptionPokedex:: @ 85EB25C
@ -2138,16 +2138,16 @@ gUnknown_085EB29A:: @ 85EB29A
gUnknown_085EB2A3:: @ 85EB2A3
.string "BLUE TENT$"
gUnknown_085EB2AD:: @ 85EB2AD
gText_SouthernIsland:: @ 85EB2AD
.string "SOUTHERN ISLAND$"
gUnknown_085EB2BD:: @ 85EB2BD
gText_BirthIsland:: @ 85EB2BD
.string "BIRTH ISLAND$"
gUnknown_085EB2CA:: @ 85EB2CA
gText_FarawayIsland:: @ 85EB2CA
.string "FARAWAY ISLAND$"
gUnknown_085EB2D9:: @ 85EB2D9
gText_NavelRock:: @ 85EB2D9
.string "NAVEL ROCK$"
gUnknown_085EB2E4:: @ 85EB2E4
@ -2477,22 +2477,22 @@ gUnknown_085EB77D:: @ 85EB77D
gUnknown_085EB78A:: @ 85EB78A
.string "EXCHANGE SERVICE$"
gUnknown_085EB79B:: @ 85EB79B
gText_LilycoveCity:: @ 85EB79B
.string "LILYCOVE CITY$"
gUnknown_085EB7A9:: @ 85EB7A9
gText_SlateportCity:: @ 85EB7A9
.string "SLATEPORT CITY$"
gUnknown_085EB7B8:: @ 85EB7B8
gText_CaveOfOrigin:: @ 85EB7B8
.string "CAVE OF ORIGIN$"
gUnknown_085EB7C7:: @ 85EB7C7
gText_MtPyre:: @ 85EB7C7
.string "MT. PYRE$"
gUnknown_085EB7D0:: @ 85EB7D0
gText_SkyPillar:: @ 85EB7D0
.string "SKY PILLAR$"
gUnknown_085EB7DB:: @ 85EB7DB
gText_DontRemember:: @ 85EB7DB
.string "Dont remember$"
gText_Exit:: @ 85EB7EA
@ -3563,25 +3563,25 @@ gText_BattleTower:: @ 85ED0D3
gText_WSlashStraightSlash:: @ 85ED0E0
.string "W/{COLOR RED}{SHADOW LIGHT_RED}{STR_VAR_1}{COLOR DARK_GREY}{SHADOW LIGHT_GREY} STRAIGHT/{COLOR RED}{SHADOW LIGHT_RED}{STR_VAR_2}$"
gUnknown_085ED104:: @ 85ED104
gText_BattleTower2:: @ 85ED104
.string "BATTLE TOWER$"
gUnknown_085ED111:: @ 85ED111
gText_BattleDome:: @ 85ED111
.string "BATTLE DOME$"
gUnknown_085ED11D:: @ 85ED11D
gText_BattlePalace:: @ 85ED11D
.string "BATTLE PALACE$"
gUnknown_085ED12B:: @ 85ED12B
gText_BattleFactory:: @ 85ED12B
.string "BATTLE FACTORY$"
gUnknown_085ED13A:: @ 85ED13A
gText_BattleArena:: @ 85ED13A
.string "BATTLE ARENA$"
gUnknown_085ED147:: @ 85ED147
gText_BattlePike:: @ 85ED147
.string "BATTLE PIKE$"
gUnknown_085ED153:: @ 85ED153
gText_BattlePyramid:: @ 85ED153
.string "BATTLE PYRAMID$"
.align 2

View File

@ -0,0 +1,19 @@
JASC-PAL
0100
16
0 0 0
255 255 255
213 222 238
180 197 230
148 172 222
115 148 205
82 123 197
49 98 189
255 180 205
255 115 98
255 49 0
205 65 65
189 24 24
148 16 16
74 57 139
8 0 82

Binary file not shown.

After

Width:  |  Height:  |  Size: 682 B

View File

@ -0,0 +1,19 @@
JASC-PAL
0100
16
0 0 0
255 255 255
205 197 255
172 164 222
139 139 189
106 106 156
74 82 123
41 57 90
213 222 189
180 189 156
148 156 123
115 123 90
255 172 123
246 115 82
238 57 41
156 24 0

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 457 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 293 B

View File

@ -0,0 +1,19 @@
JASC-PAL
0100
16
0 0 0
0 0 0
0 0 0
255 213 0
255 82 82
98 255 255
0 189 255
98 255 98
205 0 0
255 0 0
255 156 156
0 0 0
255 255 0
255 255 148
189 189 189
255 255 255

View File

@ -0,0 +1,19 @@
JASC-PAL
0100
16
0 0 0
255 255 255
213 222 238
180 197 230
148 172 222
115 148 205
82 123 197
49 98 189
255 180 205
255 115 98
255 49 0
205 65 65
189 24 24
148 123 197
74 57 139
8 0 82

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 217 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 396 B

View File

@ -0,0 +1,19 @@
JASC-PAL
0100
16
0 0 0
255 255 255
213 222 238
180 197 230
148 172 222
115 148 205
82 123 197
49 98 189
255 230 205
255 164 98
255 106 0
222 65 8
189 24 24
106 106 0
222 65 8
189 24 24

View File

@ -6,6 +6,7 @@
#include "battle_script_commands.h"
#include "battle_2.h"
#include "battle_ai_switch_items.h"
#include "battle_gfx_sfx_util.h"
/*
Banks are a name given to what could be called a 'battlerId' or 'monControllerId'.
@ -670,7 +671,7 @@ struct BattleStruct
u8 fillerDC[0xDF-0xDC];
u8 field_DF;
u8 mirrorMoveArrays[32];
u16 castformPalette[4][16];
u16 castformPalette[BATTLE_BANKS_COUNT][16];
u8 field_180;
u8 field_181;
u8 field_182;
@ -807,6 +808,18 @@ extern struct BattleStruct* gBattleStruct;
#define B_ANIM_SUBSTITUTE_TO_MON 0x5
#define B_ANIM_MON_TO_SUBSTITUTE 0x6
// status animation table
#define B_ANIM_STATUS_PSN 0x0
#define B_ANIM_STATUS_CONFUSION 0x1
#define B_ANIM_STATUS_BRN 0x2
#define B_ANIM_STATUS_INFATUATION 0x3
#define B_ANIM_STATUS_SLP 0x4
#define B_ANIM_STATUS_PRZ 0x5
#define B_ANIM_STATUS_FRZ 0x6
#define B_ANIM_STATUS_CURSED 0x7
#define B_ANIM_STATUS_NIGHTMARE 0x8
#define B_ANIM_STATUS_WRAPPED 0x9
#define GET_STAT_BUFF_ID(n)((n & 0xF)) // first four bits 0x1, 0x2, 0x4, 0x8
#define GET_STAT_BUFF_VALUE(n)(((n >> 4) & 7)) // 0x10, 0x20, 0x40
#define STAT_BUFF_NEGATIVE 0x80 // 0x80, the sign bit
@ -864,43 +877,6 @@ void AdjustFriendshipOnBattleFaint(u8 bank);
void sub_80571DC(u8 bank, u8 arg1);
u32 sub_805725C(u8 bank);
// battle 7
void AllocateBattleSpritesData(void);
void FreeBattleSpritesData(void);
void AllocateMonSpritesGfx(void);
void FreeMonSpritesGfx(void);
void BattleMusicStop(void);
void sub_805E990(struct Pokemon *mon, u8 bank);
void sub_805EF14(void);
bool8 BattleInitAllSprites(u8 *state1, u8 *state2);
void sub_805E350(void);
bool8 BattleLoadAllHealthBoxesGfx(u8 state);
void LoadAndCreateEnemyShadowSprites(void);
void SetBankEnemyShadowSpriteCallback(u8 bank, u16 species);
void BattleLoadPlayerMonSpriteGfx(struct Pokemon *mon, u8 bank);
void BattleLoadOpponentMonSpriteGfx(struct Pokemon *mon, u8 bank);
void BattleLoadSubstituteSpriteGfx(u8 bank, bool8 arg1);
void nullsub_24(u16 arg0);
void nullsub_25(u8 arg0);
void ClearTemporarySpeciesSpriteData(u8 bank, bool8 dontClearSubstitute);
void sub_805D714(struct Sprite *sprite);
void DecompressTrainerBackPic(u16 backPicId, u8 bank);
void DecompressTrainerFrontPic(u16 frontPicId, u8 bank);
void FreeTrainerFrontPicPalette(u16 frontPicId);
void sub_805D7AC(struct Sprite *sprite);
bool8 IsMoveWithoutAnimation(u16 moveId, u8 animationTurn);
void sub_805EB9C(u8 arg0);
void sub_805E394(void);
void TrySetBehindSubstituteSpriteBit(u8 bank, u16 move);
void DoStatusAnimation(bool8 isStatus2, u32 status);
void DoSpecialBattleAnimation(u8 activeBank, u8 atkBank, u8 defBank, u8 tableId);
bool8 DoBattleAnimationFromTable(u8 active, u8 atkBank, u8 defBank, u8 tableId, u16 argument);
void CopyBattleSpriteInvisibility(u8 bank);
u16 ChooseMoveAndTargetInBattlePalace(void);
void LoadBattleBarGfx(u8 arg0);
bool8 mplay_80342A4(u8 bank);
void sub_805EEE0(u8 bank);
enum
{
BACK_PIC_BRENDAN,
@ -921,7 +897,7 @@ u8 GetBankByIdentity(u8 bank);
struct BattleSpriteInfo
{
u16 invisible : 1; // 0x1
u16 flag_x2 : 1; // 0x2
u16 lowHpSong : 1; // 0x2
u16 behindSubstitute : 1; // 0x4
u16 flag_x8 : 1; // 0x8
u16 hpNumbersNoBars : 1; // 0x10
@ -930,7 +906,7 @@ struct BattleSpriteInfo
struct BattleAnimationInfo
{
u16 field; // to fill up later
u16 animArg; // to fill up later
u8 field_2;
u8 field_3;
u8 field_4;
@ -944,6 +920,12 @@ struct BattleAnimationInfo
u8 field_9_x20 : 1;
u8 field_9_x40 : 1;
u8 field_9_x80 : 1;
u8 field_A;
u8 field_B;
u8 field_C;
u8 field_D;
u8 field_E;
u8 field_F;
};
struct BattleHealthboxInfo
@ -966,7 +948,7 @@ struct BattleHealthboxInfo
u8 animationState;
u8 field_5;
u8 field_6;
u8 field_7;
u8 shadowSpriteId;
u8 field_8;
u8 field_9;
u8 field_A;
@ -1006,8 +988,11 @@ struct MonSpritesGfx
void* firstDecompressed; // ptr to the decompressed sprite of the first pokemon
void* sprites[4];
struct SpriteTemplate templates[4];
u8 field_74[0x100];
u8 *fontPixels;
struct SpriteFrameImage field_74[4][4];
u8 field_F4[0x80];
u8 *barFontGfx;
void *field_178;
void *field_17C;
};
extern struct BattleSpritesGfx* gMonSpritesGfx;

View File

@ -92,7 +92,11 @@ u8 sub_80A6D94(void);
u8 sub_80A8364(u8);
void StoreSpriteCallbackInData6(struct Sprite *sprite, void (*spriteCallback)(struct Sprite*));
void oamt_add_pos2_onto_pos1(struct Sprite *sprite);
u8 sub_80A6138(u8 bank);
u8 GetBankSpriteDefault_Y(u8 bank);
u8 sub_80A82E4(u8 bank);
u8 GetSubstituteSpriteDefault_Y(u8 bank);
// battle_anim_80A9C70.s
void LaunchStatusAnimation(u8 bank, u8 statusAnimId);
#endif // GUARD_BATTLE_ANIM_H

View File

@ -0,0 +1,50 @@
#ifndef GUARD_BATTLE_GFX_SFX_UTIL
#define GUARD_BATTLE_GFX_SFX_UTIL
void AllocateBattleSpritesData(void);
void FreeBattleSpritesData(void);
u16 ChooseMoveAndTargetInBattlePalace(void);
void sub_805D714(struct Sprite *sprite);
void sub_805D770(struct Sprite *sprite, bool8 arg1);
void sub_805D7AC(struct Sprite *sprite);
void InitAndLaunchChosenStatusAnimation(bool8 isStatus2, u32 status);
bool8 TryHandleLaunchBattleTableAnimation(u8 activeBank, u8 atkBank, u8 defBank, u8 tableId, u16 argument);
void InitAndLaunchSpecialAnimation(u8 activeBank, u8 atkBank, u8 defBank, u8 tableId);
bool8 IsMoveWithoutAnimation(u16 moveId, u8 animationTurn);
bool8 mplay_80342A4(u8 bank);
void BattleLoadOpponentMonSpriteGfx(struct Pokemon *mon, u8 bank);
void BattleLoadPlayerMonSpriteGfx(struct Pokemon *mon, u8 bank);
void nullsub_23(void);
void nullsub_24(u16 species);
void DecompressTrainerFrontPic(u16 frontPicId, u8 bank);
void DecompressTrainerBackPic(u16 backPicId, u8 bank);
void nullsub_25(u8 arg0);
void FreeTrainerFrontPicPalette(u16 frontPicId);
void sub_805DFFC(void);
bool8 BattleLoadAllHealthBoxesGfx(u8 state);
void LoadBattleBarGfx(u8 arg0);
bool8 BattleInitAllSprites(u8 *state1, u8 *bank);
void ClearSpritesHealthboxAnimData(void);
void CopyAllBattleSpritesInvisibilities(void);
void CopyBattleSpriteInvisibility(u8 bank);
void HandleSpeciesGfxDataChange(u8 bankAtk, u8 bankDef, bool8 notTransform);
void BattleLoadSubstituteOrMonSpriteGfx(u8 bank, bool8 loadMonSprite);
void LoadBattleMonGfxAndAnimate(u8 bank, bool8 loadMonSprite, u8 spriteId);
void TrySetBehindSubstituteSpriteBit(u8 bank, u16 move);
void ClearBehindSubstituteBit(u8 bank);
void HandleLowHpMusicChange(struct Pokemon *mon, u8 bank);
void BattleStopLowHpSound(void);
u8 GetMonHPBarLevel(struct Pokemon *mon);
void sub_805EAE8(void);
void sub_805EB9C(u8 affineMode);
void LoadAndCreateEnemyShadowSprites(void);
void SpriteCB_SetInvisible(struct Sprite *sprite);
void SetBankEnemyShadowSpriteCallback(u8 bank, u16 species);
void EnemyShadowCallbackToSetInvisible(u8 bank);
void sub_805EF14(void);
void ClearTemporarySpeciesSpriteData(u8 bank, bool8 dontClearSubstitute);
void AllocateMonSpritesGfx(void);
void FreeMonSpritesGfx(void);
bool32 ShouldPlayNormalPokeCry(struct Pokemon *mon);
#endif // GUARD_BATTLE_GFX_SFX_UTIL

View File

@ -15,6 +15,15 @@ enum
EXP_BAR
};
enum
{
HP_BAR_EMPTY,
HP_BAR_RED,
HP_BAR_YELLOW,
HP_BAR_GREEN,
HP_BAR_FULL,
};
#define TAG_HEALTHBOX_PLAYER1_TILE 0xD6FF
#define TAG_HEALTHBOX_PLAYER2_TILE 0xD700
#define TAG_HEALTHBOX_OPPONENT1_TILE 0xD701

View File

@ -57,6 +57,6 @@ void HandleBattleWindow(u8 xStart, u8 yStart, u8 xEnd, u8 yEnd, u8 flags);
bool8 UproarWakeUpCheck(u8 bank);
extern void (* const gBattleScriptingCommandsTable[])(void);
extern const u8 gUnknown_0831C494[];
extern const u8 gUnknown_0831C494[][4];
#endif // GUARD_BATTLE_SCRIPT_COMMANDS_H

View File

@ -20,6 +20,12 @@ struct ContestStruct_field_18
{
// unknown size
u16 field_0;
u16 field_2;
u16 field_4;
u16 field_6;
u32 field_8;
u32 field_C;
u32 field_10;
};
struct ContestResources

View File

@ -3,6 +3,8 @@
#include "sprite.h"
extern u8 gDecompressionBuffer[0x4000];
void LZDecompressWram(const void *src, void *dest);
void LZDecompressVram(const void *src, void *dest);

View File

@ -612,8 +612,8 @@ u32 CanMonLearnTMHM(struct Pokemon *, u8);
u32 CanSpeciesLearnTMHM(u16 species, u8 tm);
u8 GetMoveRelearnerMoves(struct Pokemon *mon, u16 *moves);
void ClearBattleMonForms(void);
const u8 *pokemon_get_pal(struct Pokemon *mon);
const u8 *species_and_otid_get_pal(u16, u32, u32);
const u8 *GetMonFrontSpritePal(struct Pokemon *mon);
const u8 *GetFrontSpritePalFromSpeciesAndPersonality(u16, u32, u32);
const struct CompressedSpritePalette *sub_80409C8(u16, u32, u32);
bool8 IsOtherTrainer(u32, u8 *);
void SetWildMonHeldItem(void);

View File

@ -62,7 +62,7 @@ SECTIONS {
src/battle_script_commands.o(.text);
asm/battle_5.o(.text);
src/battle_controller_player.o(.text);
asm/battle_7.o(.text);
src/battle_gfx_sfx_util.o(.text);
src/battle_controller_opponent.o(.text);
src/battle_ai_switch_items.o(.text);
src/battle_controller_link_opponent.o(.text);
@ -85,6 +85,7 @@ SECTIONS {
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);
@ -344,11 +345,11 @@ SECTIONS {
src/util.o(.rodata);
data/daycare.o(.rodata);
src/egg_hatch.o(.rodata);
data/battle_7.o(.rodata);
src/battle_gfx_sfx_util.o(.rodata);
src/battle_interface.o(.rodata);
data/pokeball.o(.rodata);
data/trade.o(.rodata);
data/berry_blender.o(.rodata);
src/berry_blender.o(.rodata);
src/new_game.o(.rodata);
data/rom4.o(.rodata);
data/fieldmap.o(.rodata);

View File

@ -4767,7 +4767,7 @@ static void HandleEndTurn_BattleWon(void)
else if (gBattleTypeFlags & BATTLE_TYPE_TRAINER
&& gBattleTypeFlags & (BATTLE_TYPE_FRONTIER | BATTLE_TYPE_x4000000 | BATTLE_TYPE_EREADER_TRAINER))
{
BattleMusicStop();
BattleStopLowHpSound();
gBattlescriptCurrInstr = BattleScript_FrontierTrainerBattleWon;
if (gTrainerBattleOpponent_A == TRAINER_OPPONENT_3FE)
@ -4777,7 +4777,7 @@ static void HandleEndTurn_BattleWon(void)
}
else if (gBattleTypeFlags & BATTLE_TYPE_TRAINER && !(gBattleTypeFlags & BATTLE_TYPE_LINK))
{
BattleMusicStop();
BattleStopLowHpSound();
gBattlescriptCurrInstr = BattleScript_LocalTrainerBattleWon;
switch (gTrainers[gTrainerBattleOpponent_A].trainerClass)

View File

@ -449,7 +449,7 @@ static void sub_8064C58(void)
{
FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBank]]);
DestroySprite(&gSprites[gBankSpriteIds[gActiveBank]]);
sub_805EEE0(gActiveBank);
EnemyShadowCallbackToSetInvisible(gActiveBank);
SetHealthboxSpriteInvisible(gHealthBoxesIds[gActiveBank]);
LinkOpponentBufferExecCompleted();
}
@ -485,7 +485,7 @@ static void sub_8064D60(void)
if (gSprites[gHealthBoxesIds[gActiveBank]].callback == SpriteCallbackDummy)
{
if (gBattleSpritesDataPtr->bankData[gActiveBank].behindSubstitute)
DoSpecialBattleAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_MON_TO_SUBSTITUTE);
InitAndLaunchSpecialAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_MON_TO_SUBSTITUTE);
gBattleBankFunc[gActiveBank] = sub_8064DD0;
}
@ -1164,7 +1164,7 @@ static void LinkOpponentHandleLoadMonSprite(void)
gBankSpriteIds[gActiveBank] = CreateSprite(&gUnknown_0202499C,
sub_80A5C6C(gActiveBank, 2),
sub_80A6138(gActiveBank),
GetBankSpriteDefault_Y(gActiveBank),
sub_80A82E4(gActiveBank));
gSprites[gBankSpriteIds[gActiveBank]].pos2.x = -240;
@ -1198,7 +1198,7 @@ static void sub_8066494(u8 bank, bool8 dontClearSubstituteBit)
gBankSpriteIds[bank] = CreateSprite(
&gUnknown_0202499C,
sub_80A5C6C(bank, 2),
sub_80A6138(bank),
GetBankSpriteDefault_Y(bank),
sub_80A82E4(bank));
gSprites[gUnknown_03005D7C[bank]].data1 = gBankSpriteIds[bank];
@ -1227,7 +1227,7 @@ static void LinkOpponentHandleReturnMonToBall(void)
{
FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBank]]);
DestroySprite(&gSprites[gBankSpriteIds[gActiveBank]]);
sub_805EEE0(gActiveBank);
EnemyShadowCallbackToSetInvisible(gActiveBank);
SetHealthboxSpriteInvisible(gHealthBoxesIds[gActiveBank]);
LinkOpponentBufferExecCompleted();
}
@ -1239,7 +1239,7 @@ static void DoSwitchOutAnimation(void)
{
case 0:
if (gBattleSpritesDataPtr->bankData[gActiveBank].behindSubstitute)
DoSpecialBattleAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_SUBSTITUTE_TO_MON);
InitAndLaunchSpecialAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_SUBSTITUTE_TO_MON);
gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 1;
break;
@ -1247,7 +1247,7 @@ static void DoSwitchOutAnimation(void)
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].specialAnimActive)
{
gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 0;
DoSpecialBattleAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_SWITCH_OUT_OPPONENT_MON);
InitAndLaunchSpecialAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_SWITCH_OUT_OPPONENT_MON);
gBattleBankFunc[gActiveBank] = sub_8064C58;
}
break;
@ -1382,7 +1382,7 @@ static void LinkOpponentHandleFaintAnimation(void)
if (gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState == 0)
{
if (gBattleSpritesDataPtr->bankData[gActiveBank].behindSubstitute)
DoSpecialBattleAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_SUBSTITUTE_TO_MON);
InitAndLaunchSpecialAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_SUBSTITUTE_TO_MON);
gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState++;
}
else
@ -1455,7 +1455,7 @@ static void LinkOpponentDoMoveAnimation(void)
&& !gBattleSpritesDataPtr->bankData[gActiveBank].flag_x8)
{
gBattleSpritesDataPtr->bankData[gActiveBank].flag_x8 = 1;
DoSpecialBattleAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_SUBSTITUTE_TO_MON);
InitAndLaunchSpecialAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_SUBSTITUTE_TO_MON);
}
gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 1;
break;
@ -1474,7 +1474,7 @@ static void LinkOpponentDoMoveAnimation(void)
sub_805EB9C(1);
if (gBattleSpritesDataPtr->bankData[gActiveBank].behindSubstitute && multihit < 2)
{
DoSpecialBattleAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_MON_TO_SUBSTITUTE);
InitAndLaunchSpecialAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_MON_TO_SUBSTITUTE);
gBattleSpritesDataPtr->bankData[gActiveBank].flag_x8 = 0;
}
gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 3;
@ -1483,7 +1483,7 @@ static void LinkOpponentDoMoveAnimation(void)
case 3:
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].specialAnimActive)
{
sub_805E394();
CopyAllBattleSpritesInvisibilities();
TrySetBehindSubstituteSpriteBit(gActiveBank, gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8));
gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 0;
LinkOpponentBufferExecCompleted();
@ -1586,7 +1586,7 @@ static void LinkOpponentHandleStatusAnimation(void)
{
if (!mplay_80342A4(gActiveBank))
{
DoStatusAnimation(gBattleBufferA[gActiveBank][1],
InitAndLaunchChosenStatusAnimation(gBattleBufferA[gActiveBank][1],
gBattleBufferA[gActiveBank][2] | (gBattleBufferA[gActiveBank][3] << 8) | (gBattleBufferA[gActiveBank][4] << 16) | (gBattleBufferA[gActiveBank][5] << 24));
gBattleBankFunc[gActiveBank] = CompleteOnFinishedStatusAnimation;
}
@ -1698,7 +1698,7 @@ static void LinkOpponentHandlePlayFanfareOrBGM(void)
{
if (gBattleBufferA[gActiveBank][3])
{
BattleMusicStop();
BattleStopLowHpSound();
PlayBGM(gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8));
}
else
@ -1850,7 +1850,7 @@ static void LinkOpponentHandleBattleAnimation(void)
u8 animationId = gBattleBufferA[gActiveBank][1];
u16 argument = gBattleBufferA[gActiveBank][2] | (gBattleBufferA[gActiveBank][3] << 8);
if (DoBattleAnimationFromTable(gActiveBank, gActiveBank, gActiveBank, animationId, argument))
if (TryHandleLaunchBattleTableAnimation(gActiveBank, gActiveBank, gActiveBank, animationId, argument))
LinkOpponentBufferExecCompleted();
else
gBattleBankFunc[gActiveBank] = CompleteOnFinishedBattleAnimation;

View File

@ -312,7 +312,7 @@ static void CompleteOnHealthbarDone(void)
}
else
{
sub_805E990(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank);
HandleLowHpMusicChange(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank);
LinkPartnerBufferExecCompleted();
}
}
@ -373,7 +373,7 @@ static void sub_814B4E0(void)
{
CopyBattleSpriteInvisibility(gActiveBank);
if (gBattleSpritesDataPtr->bankData[gActiveBank].behindSubstitute)
DoSpecialBattleAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_MON_TO_SUBSTITUTE);
InitAndLaunchSpecialAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_MON_TO_SUBSTITUTE);
gBattleBankFunc[gActiveBank] = sub_814B554;
}
@ -399,7 +399,7 @@ static void sub_814B5A8(void)
FreeSpritePaletteByTag(0x27F9);
CreateTask(c3_0802FDF4, 10);
sub_805E990(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank);
HandleLowHpMusicChange(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank);
StartSpriteAnim(&gSprites[gBankSpriteIds[gActiveBank]], 0);
UpdateHealthboxAttribute(gHealthBoxesIds[gActiveBank], &gPlayerParty[gBattlePartyID[gActiveBank]], HEALTHBOX_ALL);
sub_8076918(gActiveBank);
@ -1026,7 +1026,7 @@ static void SetLinkPartnerMonData(u8 monId)
break;
}
sub_805E990(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank);
HandleLowHpMusicChange(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank);
}
static void LinkPartnerHandleSetRawMonData(void)
@ -1050,7 +1050,7 @@ static void LinkPartnerHandleLoadMonSprite(void)
gBankSpriteIds[gActiveBank] = CreateSprite(&gUnknown_0202499C,
sub_80A5C6C(gActiveBank, 2),
sub_80A6138(gActiveBank),
GetBankSpriteDefault_Y(gActiveBank),
sub_80A82E4(gActiveBank));
gSprites[gBankSpriteIds[gActiveBank]].pos2.x = -240;
gSprites[gBankSpriteIds[gActiveBank]].data0 = gActiveBank;
@ -1081,7 +1081,7 @@ static void sub_814CC98(u8 bank, bool8 dontClearSubstituteBit)
gBankSpriteIds[bank] = CreateSprite(
&gUnknown_0202499C,
sub_80A5C6C(bank, 2),
sub_80A6138(bank),
GetBankSpriteDefault_Y(bank),
sub_80A82E4(bank));
gSprites[gUnknown_03005D7C[bank]].data1 = gBankSpriteIds[bank];
@ -1121,7 +1121,7 @@ static void DoSwitchOutAnimation(void)
{
case 0:
if (gBattleSpritesDataPtr->bankData[gActiveBank].behindSubstitute)
DoSpecialBattleAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_SUBSTITUTE_TO_MON);
InitAndLaunchSpecialAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_SUBSTITUTE_TO_MON);
gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 1;
break;
@ -1129,7 +1129,7 @@ static void DoSwitchOutAnimation(void)
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].specialAnimActive)
{
gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 0;
DoSpecialBattleAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_SWITCH_OUT_PLAYER_MON);
InitAndLaunchSpecialAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_SWITCH_OUT_PLAYER_MON);
gBattleBankFunc[gActiveBank] = sub_814B3DC;
}
break;
@ -1201,7 +1201,7 @@ static void LinkPartnerHandleFaintAnimation(void)
if (gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState == 0)
{
if (gBattleSpritesDataPtr->bankData[gActiveBank].behindSubstitute)
DoSpecialBattleAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_SUBSTITUTE_TO_MON);
InitAndLaunchSpecialAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_SUBSTITUTE_TO_MON);
gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState++;
}
else
@ -1209,7 +1209,7 @@ static void LinkPartnerHandleFaintAnimation(void)
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].specialAnimActive)
{
gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 0;
sub_805E990(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank);
HandleLowHpMusicChange(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank);
PlaySE12WithPanning(SE_POKE_DEAD, PAN_SIDE_PLAYER);
gSprites[gBankSpriteIds[gActiveBank]].data1 = 0;
gSprites[gBankSpriteIds[gActiveBank]].data2 = 5;
@ -1277,7 +1277,7 @@ static void LinkPartnerDoMoveAnimation(void)
&& !gBattleSpritesDataPtr->bankData[gActiveBank].flag_x8)
{
gBattleSpritesDataPtr->bankData[gActiveBank].flag_x8 = 1;
DoSpecialBattleAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_SUBSTITUTE_TO_MON);
InitAndLaunchSpecialAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_SUBSTITUTE_TO_MON);
}
gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 1;
break;
@ -1296,7 +1296,7 @@ static void LinkPartnerDoMoveAnimation(void)
sub_805EB9C(1);
if (gBattleSpritesDataPtr->bankData[gActiveBank].behindSubstitute && multihit < 2)
{
DoSpecialBattleAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_MON_TO_SUBSTITUTE);
InitAndLaunchSpecialAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_MON_TO_SUBSTITUTE);
gBattleSpritesDataPtr->bankData[gActiveBank].flag_x8 = 0;
}
gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 3;
@ -1305,7 +1305,7 @@ static void LinkPartnerDoMoveAnimation(void)
case 3:
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].specialAnimActive)
{
sub_805E394();
CopyAllBattleSpritesInvisibilities();
TrySetBehindSubstituteSpriteBit(gActiveBank, gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8));
gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 0;
LinkPartnerBufferExecCompleted();
@ -1408,7 +1408,7 @@ static void LinkPartnerHandleStatusAnimation(void)
{
if (!mplay_80342A4(gActiveBank))
{
DoStatusAnimation(gBattleBufferA[gActiveBank][1],
InitAndLaunchChosenStatusAnimation(gBattleBufferA[gActiveBank][1],
gBattleBufferA[gActiveBank][2] | (gBattleBufferA[gActiveBank][3] << 8) | (gBattleBufferA[gActiveBank][4] << 16) | (gBattleBufferA[gActiveBank][5] << 24));
gBattleBankFunc[gActiveBank] = CompleteOnFinishedStatusAnimation;
}
@ -1520,7 +1520,7 @@ static void LinkPartnerHandlePlayFanfareOrBGM(void)
{
if (gBattleBufferA[gActiveBank][3])
{
BattleMusicStop();
BattleStopLowHpSound();
PlayBGM(gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8));
}
else
@ -1683,7 +1683,7 @@ static void LinkPartnerHandleBattleAnimation(void)
u8 animationId = gBattleBufferA[gActiveBank][1];
u16 argument = gBattleBufferA[gActiveBank][2] | (gBattleBufferA[gActiveBank][3] << 8);
if (DoBattleAnimationFromTable(gActiveBank, gActiveBank, gActiveBank, animationId, argument))
if (TryHandleLaunchBattleTableAnimation(gActiveBank, gActiveBank, gActiveBank, animationId, argument))
LinkPartnerBufferExecCompleted();
else
gBattleBankFunc[gActiveBank] = CompleteOnFinishedBattleAnimation;

View File

@ -437,7 +437,7 @@ static void sub_805FB08(void)
{
FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBank]]);
DestroySprite(&gSprites[gBankSpriteIds[gActiveBank]]);
sub_805EEE0(gActiveBank);
EnemyShadowCallbackToSetInvisible(gActiveBank);
SetHealthboxSpriteInvisible(gHealthBoxesIds[gActiveBank]);
OpponentBufferExecCompleted();
}
@ -473,7 +473,7 @@ static void sub_805FC10(void)
if (gSprites[gHealthBoxesIds[gActiveBank]].callback == SpriteCallbackDummy)
{
if (gBattleSpritesDataPtr->bankData[gActiveBank].behindSubstitute)
DoSpecialBattleAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_MON_TO_SUBSTITUTE);
InitAndLaunchSpecialAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_MON_TO_SUBSTITUTE);
gBattleBankFunc[gActiveBank] = sub_805FC80;
}
}
@ -1152,7 +1152,7 @@ static void OpponentHandleLoadMonSprite(void)
gBankSpriteIds[gActiveBank] = CreateSprite(&gUnknown_0202499C,
sub_80A5C6C(gActiveBank, 2),
sub_80A6138(gActiveBank),
GetBankSpriteDefault_Y(gActiveBank),
sub_80A82E4(gActiveBank));
gSprites[gBankSpriteIds[gActiveBank]].pos2.x = -240;
@ -1187,7 +1187,7 @@ static void sub_80613DC(u8 bank, bool8 dontClearSubstituteBit)
gBankSpriteIds[bank] = CreateSprite(&gUnknown_0202499C,
sub_80A5C6C(bank, 2),
sub_80A6138(bank),
GetBankSpriteDefault_Y(bank),
sub_80A82E4(bank));
gSprites[gBankSpriteIds[bank]].data0 = bank;
@ -1217,7 +1217,7 @@ static void OpponentHandleReturnMonToBall(void)
{
FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBank]]);
DestroySprite(&gSprites[gBankSpriteIds[gActiveBank]]);
sub_805EEE0(gActiveBank);
EnemyShadowCallbackToSetInvisible(gActiveBank);
SetHealthboxSpriteInvisible(gHealthBoxesIds[gActiveBank]);
OpponentBufferExecCompleted();
}
@ -1229,7 +1229,7 @@ static void DoSwitchOutAnimation(void)
{
case 0:
if (gBattleSpritesDataPtr->bankData[gActiveBank].behindSubstitute)
DoSpecialBattleAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_SUBSTITUTE_TO_MON);
InitAndLaunchSpecialAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_SUBSTITUTE_TO_MON);
gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 1;
break;
@ -1237,7 +1237,7 @@ static void DoSwitchOutAnimation(void)
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].specialAnimActive)
{
gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 0;
DoSpecialBattleAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_SWITCH_OUT_OPPONENT_MON);
InitAndLaunchSpecialAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_SWITCH_OUT_OPPONENT_MON);
gBattleBankFunc[gActiveBank] = sub_805FB08;
}
break;
@ -1415,7 +1415,7 @@ static void OpponentHandleFaintAnimation(void)
if (gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState == 0)
{
if (gBattleSpritesDataPtr->bankData[gActiveBank].behindSubstitute)
DoSpecialBattleAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_SUBSTITUTE_TO_MON);
InitAndLaunchSpecialAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_SUBSTITUTE_TO_MON);
gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState++;
}
else
@ -1487,7 +1487,7 @@ static void OpponentDoMoveAnimation(void)
&& !gBattleSpritesDataPtr->bankData[gActiveBank].flag_x8)
{
gBattleSpritesDataPtr->bankData[gActiveBank].flag_x8 = 1;
DoSpecialBattleAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_SUBSTITUTE_TO_MON);
InitAndLaunchSpecialAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_SUBSTITUTE_TO_MON);
}
gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 1;
break;
@ -1506,7 +1506,7 @@ static void OpponentDoMoveAnimation(void)
sub_805EB9C(1);
if (gBattleSpritesDataPtr->bankData[gActiveBank].behindSubstitute && multihit < 2)
{
DoSpecialBattleAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_MON_TO_SUBSTITUTE);
InitAndLaunchSpecialAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_MON_TO_SUBSTITUTE);
gBattleSpritesDataPtr->bankData[gActiveBank].flag_x8 = 0;
}
gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 3;
@ -1515,7 +1515,7 @@ static void OpponentDoMoveAnimation(void)
case 3:
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].specialAnimActive)
{
sub_805E394();
CopyAllBattleSpritesInvisibilities();
TrySetBehindSubstituteSpriteBit(gActiveBank, gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8));
gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 0;
OpponentBufferExecCompleted();
@ -1731,7 +1731,7 @@ static void OpponentHandleStatusAnimation(void)
{
if (!mplay_80342A4(gActiveBank))
{
DoStatusAnimation(gBattleBufferA[gActiveBank][1],
InitAndLaunchChosenStatusAnimation(gBattleBufferA[gActiveBank][1],
gBattleBufferA[gActiveBank][2] | (gBattleBufferA[gActiveBank][3] << 8) | (gBattleBufferA[gActiveBank][4] << 16) | (gBattleBufferA[gActiveBank][5] << 24));
gBattleBankFunc[gActiveBank] = CompleteOnFinishedStatusAnimation;
}
@ -1843,7 +1843,7 @@ static void OpponentHandlePlayFanfareOrBGM(void)
{
if (gBattleBufferA[gActiveBank][3])
{
BattleMusicStop();
BattleStopLowHpSound();
PlayBGM(gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8));
}
else
@ -2000,7 +2000,7 @@ static void OpponentHandleBattleAnimation(void)
u8 animationId = gBattleBufferA[gActiveBank][1];
u16 argument = gBattleBufferA[gActiveBank][2] | (gBattleBufferA[gActiveBank][3] << 8);
if (DoBattleAnimationFromTable(gActiveBank, gActiveBank, gActiveBank, animationId, argument))
if (TryHandleLaunchBattleTableAnimation(gActiveBank, gActiveBank, gActiveBank, animationId, argument))
OpponentBufferExecCompleted();
else
gBattleBankFunc[gActiveBank] = CompleteOnFinishedBattleAnimation;

View File

@ -1008,10 +1008,10 @@ static void sub_805896C(void)
FreeSpriteTilesByTag(0x27F9);
FreeSpritePaletteByTag(0x27F9);
sub_805E990(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank);
HandleLowHpMusicChange(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank);
if (IsDoubleBattle())
sub_805E990(&gPlayerParty[gBattlePartyID[gActiveBank ^ BIT_MON]], gActiveBank ^ BIT_MON);
HandleLowHpMusicChange(&gPlayerParty[gBattlePartyID[gActiveBank ^ BIT_MON]], gActiveBank ^ BIT_MON);
gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_9 = 3;
gBattleBankFunc[gActiveBank] = sub_8058924;
@ -1107,7 +1107,7 @@ static void sub_8058EDC(void)
FreeSpritePaletteByTag(0x27F9);
if (gBattleSpritesDataPtr->bankData[gActiveBank].behindSubstitute)
DoSpecialBattleAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_MON_TO_SUBSTITUTE);
InitAndLaunchSpecialAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_MON_TO_SUBSTITUTE);
gBattleBankFunc[gActiveBank] = sub_8058FC0;
}
@ -1119,7 +1119,7 @@ static void sub_8058FC0(void)
&& !IsCryPlayingOrClearCrySongs())
{
m4aMPlayVolumeControl(&gMPlay_BGM, 0xFFFF, 0x100);
sub_805E990(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank);
HandleLowHpMusicChange(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank);
PlayerBufferExecCompleted();
}
}
@ -1164,7 +1164,7 @@ static void CompleteOnHealthbarDone(void)
}
else
{
sub_805E990(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank);
HandleLowHpMusicChange(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank);
PlayerBufferExecCompleted();
}
}
@ -1305,7 +1305,7 @@ static void sub_8059544(u8 taskId)
if (IsDoubleBattle() == TRUE && monIndex == gBattlePartyID[bank ^ BIT_MON])
bank ^= BIT_MON;
DoSpecialBattleAnimation(bank, bank, bank, B_ANIM_LVL_UP);
InitAndLaunchSpecialAnimation(bank, bank, bank, B_ANIM_LVL_UP);
gTasks[taskId].func = sub_80595A4;
}
@ -2193,7 +2193,7 @@ static void SetPlayerMonData(u8 monId)
break;
}
sub_805E990(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank);
HandleLowHpMusicChange(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank);
}
static void PlayerHandleSetRawMonData(void)
@ -2238,7 +2238,7 @@ static void sub_805B258(u8 bank, bool8 dontClearSubstituteBit)
gBankSpriteIds[bank] = CreateSprite(
&gUnknown_0202499C,
sub_80A5C6C(bank, 2),
sub_80A6138(bank),
GetBankSpriteDefault_Y(bank),
sub_80A82E4(bank));
gSprites[gUnknown_03005D7C[bank]].data1 = gBankSpriteIds[bank];
@ -2278,7 +2278,7 @@ static void DoSwitchOutAnimation(void)
{
case 0:
if (gBattleSpritesDataPtr->bankData[gActiveBank].behindSubstitute)
DoSpecialBattleAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_SUBSTITUTE_TO_MON);
InitAndLaunchSpecialAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_SUBSTITUTE_TO_MON);
gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 1;
break;
@ -2286,7 +2286,7 @@ static void DoSwitchOutAnimation(void)
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].specialAnimActive)
{
gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 0;
DoSpecialBattleAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_SWITCH_OUT_PLAYER_MON);
InitAndLaunchSpecialAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_SWITCH_OUT_PLAYER_MON);
gBattleBankFunc[gActiveBank] = sub_8059744;
}
break;
@ -2434,7 +2434,7 @@ static void PlayerHandleFaintAnimation(void)
if (gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState == 0)
{
if (gBattleSpritesDataPtr->bankData[gActiveBank].behindSubstitute)
DoSpecialBattleAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_SUBSTITUTE_TO_MON);
InitAndLaunchSpecialAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_SUBSTITUTE_TO_MON);
gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState++;
}
else
@ -2442,7 +2442,7 @@ static void PlayerHandleFaintAnimation(void)
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].specialAnimActive)
{
gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 0;
sub_805E990(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank);
HandleLowHpMusicChange(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank);
PlaySE12WithPanning(SE_POKE_DEAD, PAN_SIDE_PLAYER);
gSprites[gBankSpriteIds[gActiveBank]].data1 = 0;
gSprites[gBankSpriteIds[gActiveBank]].data2 = 5;
@ -2462,7 +2462,7 @@ static void PlayerHandleSuccessBallThrowAnim(void)
{
gBattleSpritesDataPtr->animationData->ballThrowCaseId = BALL_3_SHAKES_SUCCESS;
gDoingBattleAnim = TRUE;
DoSpecialBattleAnimation(gActiveBank, gActiveBank, GetBankByIdentity(IDENTITY_OPPONENT_MON1), B_ANIM_BALL_THROW);
InitAndLaunchSpecialAnimation(gActiveBank, gActiveBank, GetBankByIdentity(IDENTITY_OPPONENT_MON1), B_ANIM_BALL_THROW);
gBattleBankFunc[gActiveBank] = CompleteOnSpecialAnimDone;
}
@ -2472,7 +2472,7 @@ static void PlayerHandleBallThrowAnim(void)
gBattleSpritesDataPtr->animationData->ballThrowCaseId = ballThrowCaseId;
gDoingBattleAnim = TRUE;
DoSpecialBattleAnimation(gActiveBank, gActiveBank, GetBankByIdentity(IDENTITY_OPPONENT_MON1), B_ANIM_BALL_THROW);
InitAndLaunchSpecialAnimation(gActiveBank, gActiveBank, GetBankByIdentity(IDENTITY_OPPONENT_MON1), B_ANIM_BALL_THROW);
gBattleBankFunc[gActiveBank] = CompleteOnSpecialAnimDone;
}
@ -2525,7 +2525,7 @@ static void PlayerDoMoveAnimation(void)
&& !gBattleSpritesDataPtr->bankData[gActiveBank].flag_x8)
{
gBattleSpritesDataPtr->bankData[gActiveBank].flag_x8 = 1;
DoSpecialBattleAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_SUBSTITUTE_TO_MON);
InitAndLaunchSpecialAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_SUBSTITUTE_TO_MON);
}
gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 1;
break;
@ -2544,7 +2544,7 @@ static void PlayerDoMoveAnimation(void)
sub_805EB9C(1);
if (gBattleSpritesDataPtr->bankData[gActiveBank].behindSubstitute && multihit < 2)
{
DoSpecialBattleAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_MON_TO_SUBSTITUTE);
InitAndLaunchSpecialAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_MON_TO_SUBSTITUTE);
gBattleSpritesDataPtr->bankData[gActiveBank].flag_x8 = 0;
}
gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 3;
@ -2553,7 +2553,7 @@ static void PlayerDoMoveAnimation(void)
case 3:
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].specialAnimActive)
{
sub_805E394();
CopyAllBattleSpritesInvisibilities();
TrySetBehindSubstituteSpriteBit(gActiveBank, gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8));
gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 0;
PlayerBufferExecCompleted();
@ -2709,7 +2709,7 @@ static void PlayerHandleChoosePokemon(void)
static void PlayerHandleCmd23(void)
{
BattleMusicStop();
BattleStopLowHpSound();
BeginNormalPaletteFade(-1, 2, 0, 16, 0);
PlayerBufferExecCompleted();
}
@ -2788,7 +2788,7 @@ static void PlayerHandleStatusAnimation(void)
{
if (!mplay_80342A4(gActiveBank))
{
DoStatusAnimation(gBattleBufferA[gActiveBank][1],
InitAndLaunchChosenStatusAnimation(gBattleBufferA[gActiveBank][1],
gBattleBufferA[gActiveBank][2] | (gBattleBufferA[gActiveBank][3] << 8) | (gBattleBufferA[gActiveBank][4] << 16) | (gBattleBufferA[gActiveBank][5] << 24));
gBattleBankFunc[gActiveBank] = CompleteOnFinishedStatusAnimation;
}
@ -2930,7 +2930,7 @@ static void PlayerHandlePlayFanfareOrBGM(void)
{
if (gBattleBufferA[gActiveBank][3])
{
BattleMusicStop();
BattleStopLowHpSound();
PlayBGM(gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8));
}
else
@ -3088,7 +3088,7 @@ static void PlayerHandleBattleAnimation(void)
u8 animationId = gBattleBufferA[gActiveBank][1];
u16 argument = gBattleBufferA[gActiveBank][2] | (gBattleBufferA[gActiveBank][3] << 8);
if (DoBattleAnimationFromTable(gActiveBank, gActiveBank, gActiveBank, animationId, argument))
if (TryHandleLaunchBattleTableAnimation(gActiveBank, gActiveBank, gActiveBank, animationId, argument))
PlayerBufferExecCompleted();
else
gBattleBankFunc[gActiveBank] = CompleteOnFinishedBattleAnimation;

View File

@ -327,7 +327,7 @@ static void CompleteOnHealthbarDone(void)
}
else
{
sub_805E990(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank);
HandleLowHpMusicChange(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank);
PlayerPartnerBufferExecCompleted();
}
}
@ -469,7 +469,7 @@ static void sub_81BB628(u8 taskId)
if (IsDoubleBattle() == TRUE && monIndex == gBattlePartyID[bank ^ BIT_MON])
bank ^= BIT_MON;
DoSpecialBattleAnimation(bank, bank, bank, B_ANIM_LVL_UP);
InitAndLaunchSpecialAnimation(bank, bank, bank, B_ANIM_LVL_UP);
gTasks[taskId].func = sub_81BB688;
}
@ -560,7 +560,7 @@ static void sub_81BB92C(void)
{
CopyBattleSpriteInvisibility(gActiveBank);
if (gBattleSpritesDataPtr->bankData[gActiveBank].behindSubstitute)
DoSpecialBattleAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_MON_TO_SUBSTITUTE);
InitAndLaunchSpecialAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_MON_TO_SUBSTITUTE);
gBattleBankFunc[gActiveBank] = sub_81BB9A0;
}
@ -586,7 +586,7 @@ static void sub_81BB9F4(void)
FreeSpritePaletteByTag(0x27F9);
CreateTask(c3_0802FDF4, 10);
sub_805E990(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank);
HandleLowHpMusicChange(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank);
StartSpriteAnim(&gSprites[gBankSpriteIds[gActiveBank]], 0);
UpdateHealthboxAttribute(gHealthBoxesIds[gActiveBank], &gPlayerParty[gBattlePartyID[gActiveBank]], HEALTHBOX_ALL);
sub_8076918(gActiveBank);
@ -1213,7 +1213,7 @@ static void SetPlayerPartnerMonData(u8 monId)
break;
}
sub_805E990(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank);
HandleLowHpMusicChange(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank);
}
static void PlayerPartnerHandleSetRawMonData(void)
@ -1237,7 +1237,7 @@ static void PlayerPartnerHandleLoadMonSprite(void)
gBankSpriteIds[gActiveBank] = CreateSprite(&gUnknown_0202499C,
sub_80A5C6C(gActiveBank, 2),
sub_80A6138(gActiveBank),
GetBankSpriteDefault_Y(gActiveBank),
sub_80A82E4(gActiveBank));
gSprites[gBankSpriteIds[gActiveBank]].pos2.x = -240;
gSprites[gBankSpriteIds[gActiveBank]].data0 = gActiveBank;
@ -1268,7 +1268,7 @@ static void sub_81BD0E4(u8 bank, bool8 dontClearSubstituteBit)
gBankSpriteIds[bank] = CreateSprite(
&gUnknown_0202499C,
sub_80A5C6C(bank, 2),
sub_80A6138(bank),
GetBankSpriteDefault_Y(bank),
sub_80A82E4(bank));
gSprites[gUnknown_03005D7C[bank]].data1 = gBankSpriteIds[bank];
@ -1308,7 +1308,7 @@ static void DoSwitchOutAnimation(void)
{
case 0:
if (gBattleSpritesDataPtr->bankData[gActiveBank].behindSubstitute)
DoSpecialBattleAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_SUBSTITUTE_TO_MON);
InitAndLaunchSpecialAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_SUBSTITUTE_TO_MON);
gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 1;
break;
@ -1316,7 +1316,7 @@ static void DoSwitchOutAnimation(void)
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].specialAnimActive)
{
gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 0;
DoSpecialBattleAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_SWITCH_OUT_PLAYER_MON);
InitAndLaunchSpecialAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_SWITCH_OUT_PLAYER_MON);
gBattleBankFunc[gActiveBank] = sub_81BB828;
}
break;
@ -1395,7 +1395,7 @@ static void PlayerPartnerHandleFaintAnimation(void)
if (gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState == 0)
{
if (gBattleSpritesDataPtr->bankData[gActiveBank].behindSubstitute)
DoSpecialBattleAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_SUBSTITUTE_TO_MON);
InitAndLaunchSpecialAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_SUBSTITUTE_TO_MON);
gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState++;
}
else
@ -1403,7 +1403,7 @@ static void PlayerPartnerHandleFaintAnimation(void)
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].specialAnimActive)
{
gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 0;
sub_805E990(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank);
HandleLowHpMusicChange(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank);
PlaySE12WithPanning(SE_POKE_DEAD, PAN_SIDE_PLAYER);
gSprites[gBankSpriteIds[gActiveBank]].data1 = 0;
gSprites[gBankSpriteIds[gActiveBank]].data2 = 5;
@ -1470,7 +1470,7 @@ static void PlayerPartnerDoMoveAnimation(void)
&& !gBattleSpritesDataPtr->bankData[gActiveBank].flag_x8)
{
gBattleSpritesDataPtr->bankData[gActiveBank].flag_x8 = 1;
DoSpecialBattleAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_SUBSTITUTE_TO_MON);
InitAndLaunchSpecialAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_SUBSTITUTE_TO_MON);
}
gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 1;
break;
@ -1489,7 +1489,7 @@ static void PlayerPartnerDoMoveAnimation(void)
sub_805EB9C(1);
if (gBattleSpritesDataPtr->bankData[gActiveBank].behindSubstitute && multihit < 2)
{
DoSpecialBattleAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_MON_TO_SUBSTITUTE);
InitAndLaunchSpecialAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_MON_TO_SUBSTITUTE);
gBattleSpritesDataPtr->bankData[gActiveBank].flag_x8 = 0;
}
gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 3;
@ -1498,7 +1498,7 @@ static void PlayerPartnerDoMoveAnimation(void)
case 3:
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].specialAnimActive)
{
sub_805E394();
CopyAllBattleSpritesInvisibilities();
TrySetBehindSubstituteSpriteBit(gActiveBank, gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8));
gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 0;
PlayerPartnerBufferExecCompleted();
@ -1661,7 +1661,7 @@ static void PlayerPartnerHandleStatusAnimation(void)
{
if (!mplay_80342A4(gActiveBank))
{
DoStatusAnimation(gBattleBufferA[gActiveBank][1],
InitAndLaunchChosenStatusAnimation(gBattleBufferA[gActiveBank][1],
gBattleBufferA[gActiveBank][2] | (gBattleBufferA[gActiveBank][3] << 8) | (gBattleBufferA[gActiveBank][4] << 16) | (gBattleBufferA[gActiveBank][5] << 24));
gBattleBankFunc[gActiveBank] = CompleteOnFinishedStatusAnimation;
}
@ -1773,7 +1773,7 @@ static void PlayerPartnerHandlePlayFanfareOrBGM(void)
{
if (gBattleBufferA[gActiveBank][3])
{
BattleMusicStop();
BattleStopLowHpSound();
PlayBGM(gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8));
}
else
@ -1929,7 +1929,7 @@ static void PlayerPartnerHandleBattleAnimation(void)
u8 animationId = gBattleBufferA[gActiveBank][1];
u16 argument = gBattleBufferA[gActiveBank][2] | (gBattleBufferA[gActiveBank][3] << 8);
if (DoBattleAnimationFromTable(gActiveBank, gActiveBank, gActiveBank, animationId, argument))
if (TryHandleLaunchBattleTableAnimation(gActiveBank, gActiveBank, gActiveBank, animationId, argument))
PlayerPartnerBufferExecCompleted();
else
gBattleBankFunc[gActiveBank] = CompleteOnFinishedBattleAnimation;

View File

@ -433,7 +433,7 @@ static void sub_8186D9C(void)
{
FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBank]]);
DestroySprite(&gSprites[gBankSpriteIds[gActiveBank]]);
sub_805EEE0(gActiveBank);
EnemyShadowCallbackToSetInvisible(gActiveBank);
SetHealthboxSpriteInvisible(gHealthBoxesIds[gActiveBank]);
RecordedOpponentBufferExecCompleted();
}
@ -469,7 +469,7 @@ static void sub_8186EA4(void)
if (gSprites[gHealthBoxesIds[gActiveBank]].callback == SpriteCallbackDummy)
{
if (gBattleSpritesDataPtr->bankData[gActiveBank].behindSubstitute)
DoSpecialBattleAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_MON_TO_SUBSTITUTE);
InitAndLaunchSpecialAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_MON_TO_SUBSTITUTE);
gBattleBankFunc[gActiveBank] = sub_8186F14;
}
@ -1149,7 +1149,7 @@ static void RecordedOpponentHandleLoadMonSprite(void)
gBankSpriteIds[gActiveBank] = CreateSprite(&gUnknown_0202499C,
sub_80A5C6C(gActiveBank, 2),
sub_80A6138(gActiveBank),
GetBankSpriteDefault_Y(gActiveBank),
sub_80A82E4(gActiveBank));
@ -1184,7 +1184,7 @@ static void sub_81885D8(u8 bank, bool8 dontClearSubstituteBit)
gBankSpriteIds[bank] = CreateSprite(&gUnknown_0202499C,
sub_80A5C6C(bank, 2),
sub_80A6138(bank),
GetBankSpriteDefault_Y(bank),
sub_80A82E4(bank));
gSprites[gUnknown_03005D7C[bank]].data1 = gBankSpriteIds[bank];
@ -1213,7 +1213,7 @@ static void RecordedOpponentHandleReturnMonToBall(void)
{
FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBank]]);
DestroySprite(&gSprites[gBankSpriteIds[gActiveBank]]);
sub_805EEE0(gActiveBank);
EnemyShadowCallbackToSetInvisible(gActiveBank);
SetHealthboxSpriteInvisible(gHealthBoxesIds[gActiveBank]);
RecordedOpponentBufferExecCompleted();
}
@ -1225,7 +1225,7 @@ static void DoSwitchOutAnimation(void)
{
case 0:
if (gBattleSpritesDataPtr->bankData[gActiveBank].behindSubstitute)
DoSpecialBattleAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_SUBSTITUTE_TO_MON);
InitAndLaunchSpecialAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_SUBSTITUTE_TO_MON);
gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 1;
break;
@ -1233,7 +1233,7 @@ static void DoSwitchOutAnimation(void)
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].specialAnimActive)
{
gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 0;
DoSpecialBattleAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_SWITCH_OUT_OPPONENT_MON);
InitAndLaunchSpecialAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_SWITCH_OUT_OPPONENT_MON);
gBattleBankFunc[gActiveBank] = sub_8186D9C;
}
break;
@ -1314,7 +1314,7 @@ static void RecordedOpponentHandleFaintAnimation(void)
if (gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState == 0)
{
if (gBattleSpritesDataPtr->bankData[gActiveBank].behindSubstitute)
DoSpecialBattleAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_SUBSTITUTE_TO_MON);
InitAndLaunchSpecialAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_SUBSTITUTE_TO_MON);
gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState++;
}
else
@ -1386,7 +1386,7 @@ static void RecordedOpponentDoMoveAnimation(void)
&& !gBattleSpritesDataPtr->bankData[gActiveBank].flag_x8)
{
gBattleSpritesDataPtr->bankData[gActiveBank].flag_x8 = 1;
DoSpecialBattleAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_SUBSTITUTE_TO_MON);
InitAndLaunchSpecialAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_SUBSTITUTE_TO_MON);
}
gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 1;
break;
@ -1405,7 +1405,7 @@ static void RecordedOpponentDoMoveAnimation(void)
sub_805EB9C(1);
if (gBattleSpritesDataPtr->bankData[gActiveBank].behindSubstitute && multihit < 2)
{
DoSpecialBattleAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_MON_TO_SUBSTITUTE);
InitAndLaunchSpecialAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_MON_TO_SUBSTITUTE);
gBattleSpritesDataPtr->bankData[gActiveBank].flag_x8 = 0;
}
gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 3;
@ -1414,7 +1414,7 @@ static void RecordedOpponentDoMoveAnimation(void)
case 3:
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].specialAnimActive)
{
sub_805E394();
CopyAllBattleSpritesInvisibilities();
TrySetBehindSubstituteSpriteBit(gActiveBank, gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8));
gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 0;
RecordedOpponentBufferExecCompleted();
@ -1530,7 +1530,7 @@ static void RecordedOpponentHandleStatusAnimation(void)
{
if (!mplay_80342A4(gActiveBank))
{
DoStatusAnimation(gBattleBufferA[gActiveBank][1],
InitAndLaunchChosenStatusAnimation(gBattleBufferA[gActiveBank][1],
gBattleBufferA[gActiveBank][2] | (gBattleBufferA[gActiveBank][3] << 8) | (gBattleBufferA[gActiveBank][4] << 16) | (gBattleBufferA[gActiveBank][5] << 24));
gBattleBankFunc[gActiveBank] = CompleteOnFinishedStatusAnimation;
}
@ -1642,7 +1642,7 @@ static void RecordedOpponentHandlePlayFanfareOrBGM(void)
{
if (gBattleBufferA[gActiveBank][3])
{
BattleMusicStop();
BattleStopLowHpSound();
PlayBGM(gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8));
}
else
@ -1794,7 +1794,7 @@ static void RecordedOpponentHandleBattleAnimation(void)
u8 animationId = gBattleBufferA[gActiveBank][1];
u16 argument = gBattleBufferA[gActiveBank][2] | (gBattleBufferA[gActiveBank][3] << 8);
if (DoBattleAnimationFromTable(gActiveBank, gActiveBank, gActiveBank, animationId, argument))
if (TryHandleLaunchBattleTableAnimation(gActiveBank, gActiveBank, gActiveBank, animationId, argument))
RecordedOpponentBufferExecCompleted();
else
gBattleBankFunc[gActiveBank] = CompleteOnFinishedBattleAnimation;

View File

@ -272,9 +272,9 @@ static void sub_8189AA0(void)
FreeSpriteTilesByTag(0x27F9);
FreeSpritePaletteByTag(0x27F9);
sub_805E990(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank);
HandleLowHpMusicChange(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank);
if (IsDoubleBattle())
sub_805E990(&gPlayerParty[gBattlePartyID[gActiveBank ^ BIT_MON]], gActiveBank ^ BIT_MON);
HandleLowHpMusicChange(&gPlayerParty[gBattlePartyID[gActiveBank ^ BIT_MON]], gActiveBank ^ BIT_MON);
gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_9 = 3;
gBattleBankFunc[gActiveBank] = sub_8189A58;
@ -397,7 +397,7 @@ static void CompleteOnHealthbarDone(void)
}
else
{
sub_805E990(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank);
HandleLowHpMusicChange(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank);
RecordedPlayerBufferExecCompleted();
}
}
@ -458,7 +458,7 @@ static void sub_818A2B4(void)
{
CopyBattleSpriteInvisibility(gActiveBank);
if (gBattleSpritesDataPtr->bankData[gActiveBank].behindSubstitute)
DoSpecialBattleAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_MON_TO_SUBSTITUTE);
InitAndLaunchSpecialAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_MON_TO_SUBSTITUTE);
gBattleBankFunc[gActiveBank] = sub_818A328;
}
@ -484,7 +484,7 @@ static void sub_818A37C(void)
FreeSpritePaletteByTag(0x27F9);
CreateTask(c3_0802FDF4, 10);
sub_805E990(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank);
HandleLowHpMusicChange(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank);
StartSpriteAnim(&gSprites[gBankSpriteIds[gActiveBank]], 0);
UpdateHealthboxAttribute(gHealthBoxesIds[gActiveBank], &gPlayerParty[gBattlePartyID[gActiveBank]], HEALTHBOX_ALL);
sub_8076918(gActiveBank);
@ -1111,7 +1111,7 @@ static void SetRecordedPlayerMonData(u8 monId)
break;
}
sub_805E990(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank);
HandleLowHpMusicChange(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank);
}
static void RecordedPlayerHandleSetRawMonData(void)
@ -1135,7 +1135,7 @@ static void RecordedPlayerHandleLoadMonSprite(void)
gBankSpriteIds[gActiveBank] = CreateSprite(&gUnknown_0202499C,
sub_80A5C6C(gActiveBank, 2),
sub_80A6138(gActiveBank),
GetBankSpriteDefault_Y(gActiveBank),
sub_80A82E4(gActiveBank));
gSprites[gBankSpriteIds[gActiveBank]].pos2.x = -240;
gSprites[gBankSpriteIds[gActiveBank]].data0 = gActiveBank;
@ -1166,7 +1166,7 @@ static void sub_818BA6C(u8 bank, bool8 dontClearSubstituteBit)
gBankSpriteIds[bank] = CreateSprite(
&gUnknown_0202499C,
sub_80A5C6C(bank, 2),
sub_80A6138(bank),
GetBankSpriteDefault_Y(bank),
sub_80A82E4(bank));
gSprites[gUnknown_03005D7C[bank]].data1 = gBankSpriteIds[bank];
@ -1206,7 +1206,7 @@ static void DoSwitchOutAnimation(void)
{
case 0:
if (gBattleSpritesDataPtr->bankData[gActiveBank].behindSubstitute)
DoSpecialBattleAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_SUBSTITUTE_TO_MON);
InitAndLaunchSpecialAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_SUBSTITUTE_TO_MON);
gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 1;
break;
@ -1214,7 +1214,7 @@ static void DoSwitchOutAnimation(void)
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].specialAnimActive)
{
gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 0;
DoSpecialBattleAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_SWITCH_OUT_PLAYER_MON);
InitAndLaunchSpecialAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_SWITCH_OUT_PLAYER_MON);
gBattleBankFunc[gActiveBank] = sub_818A1B0;
}
break;
@ -1313,7 +1313,7 @@ static void RecordedPlayerHandleFaintAnimation(void)
if (gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState == 0)
{
if (gBattleSpritesDataPtr->bankData[gActiveBank].behindSubstitute)
DoSpecialBattleAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_SUBSTITUTE_TO_MON);
InitAndLaunchSpecialAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_SUBSTITUTE_TO_MON);
gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState++;
}
else
@ -1321,7 +1321,7 @@ static void RecordedPlayerHandleFaintAnimation(void)
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].specialAnimActive)
{
gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 0;
sub_805E990(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank);
HandleLowHpMusicChange(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank);
PlaySE12WithPanning(SE_POKE_DEAD, -64);
gSprites[gBankSpriteIds[gActiveBank]].data1 = 0;
gSprites[gBankSpriteIds[gActiveBank]].data2 = 5;
@ -1388,7 +1388,7 @@ static void RecordedPlayerDoMoveAnimation(void)
&& !gBattleSpritesDataPtr->bankData[gActiveBank].flag_x8)
{
gBattleSpritesDataPtr->bankData[gActiveBank].flag_x8 = 1;
DoSpecialBattleAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_SUBSTITUTE_TO_MON);
InitAndLaunchSpecialAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_SUBSTITUTE_TO_MON);
}
gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 1;
break;
@ -1407,7 +1407,7 @@ static void RecordedPlayerDoMoveAnimation(void)
sub_805EB9C(1);
if (gBattleSpritesDataPtr->bankData[gActiveBank].behindSubstitute && multihit < 2)
{
DoSpecialBattleAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_MON_TO_SUBSTITUTE);
InitAndLaunchSpecialAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_MON_TO_SUBSTITUTE);
gBattleSpritesDataPtr->bankData[gActiveBank].flag_x8 = 0;
}
gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 3;
@ -1416,7 +1416,7 @@ static void RecordedPlayerDoMoveAnimation(void)
case 3:
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].specialAnimActive)
{
sub_805E394();
CopyAllBattleSpritesInvisibilities();
TrySetBehindSubstituteSpriteBit(gActiveBank, gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8));
gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 0;
RecordedPlayerBufferExecCompleted();
@ -1549,7 +1549,7 @@ static void RecordedPlayerHandleStatusAnimation(void)
{
if (!mplay_80342A4(gActiveBank))
{
DoStatusAnimation(gBattleBufferA[gActiveBank][1],
InitAndLaunchChosenStatusAnimation(gBattleBufferA[gActiveBank][1],
gBattleBufferA[gActiveBank][2] | (gBattleBufferA[gActiveBank][3] << 8) | (gBattleBufferA[gActiveBank][4] << 16) | (gBattleBufferA[gActiveBank][5] << 24));
gBattleBankFunc[gActiveBank] = CompleteOnFinishedStatusAnimation;
}
@ -1661,7 +1661,7 @@ static void RecordedPlayerHandlePlayFanfareOrBGM(void)
{
if (gBattleBufferA[gActiveBank][3])
{
BattleMusicStop();
BattleStopLowHpSound();
PlayBGM(gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8));
}
else
@ -1813,7 +1813,7 @@ static void RecordedPlayerHandleBattleAnimation(void)
u8 animationId = gBattleBufferA[gActiveBank][1];
u16 argument = gBattleBufferA[gActiveBank][2] | (gBattleBufferA[gActiveBank][3] << 8);
if (DoBattleAnimationFromTable(gActiveBank, gActiveBank, gActiveBank, animationId, argument))
if (TryHandleLaunchBattleTableAnimation(gActiveBank, gActiveBank, gActiveBank, animationId, argument))
RecordedPlayerBufferExecCompleted();
else
gBattleBankFunc[gActiveBank] = CompleteOnFinishedBattleAnimation;

View File

@ -413,7 +413,7 @@ static void SafariHandleSuccessBallThrowAnim(void)
{
gBattleSpritesDataPtr->animationData->ballThrowCaseId = BALL_3_SHAKES_SUCCESS;
gDoingBattleAnim = TRUE;
DoSpecialBattleAnimation(gActiveBank, gActiveBank, GetBankByIdentity(IDENTITY_OPPONENT_MON1), B_ANIM_SAFARI_BALL_THROW);
InitAndLaunchSpecialAnimation(gActiveBank, gActiveBank, GetBankByIdentity(IDENTITY_OPPONENT_MON1), B_ANIM_SAFARI_BALL_THROW);
gBattleBankFunc[gActiveBank] = CompleteOnSpecialAnimDone;
}
@ -423,7 +423,7 @@ static void SafariHandleBallThrowAnim(void)
gBattleSpritesDataPtr->animationData->ballThrowCaseId = ballThrowCaseId;
gDoingBattleAnim = TRUE;
DoSpecialBattleAnimation(gActiveBank, gActiveBank, GetBankByIdentity(IDENTITY_OPPONENT_MON1), B_ANIM_SAFARI_BALL_THROW);
InitAndLaunchSpecialAnimation(gActiveBank, gActiveBank, GetBankByIdentity(IDENTITY_OPPONENT_MON1), B_ANIM_SAFARI_BALL_THROW);
gBattleBankFunc[gActiveBank] = CompleteOnSpecialAnimDone;
}
@ -624,7 +624,7 @@ static void SafariHandlePlayFanfareOrBGM(void)
{
if (gBattleBufferA[gActiveBank][3])
{
BattleMusicStop();
BattleStopLowHpSound();
PlayBGM(gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8));
}
else
@ -683,7 +683,7 @@ static void SafariHandleBattleAnimation(void)
u8 animationId = gBattleBufferA[gActiveBank][1];
u16 argument = gBattleBufferA[gActiveBank][2] | (gBattleBufferA[gActiveBank][3] << 8);
if (DoBattleAnimationFromTable(gActiveBank, gActiveBank, gActiveBank, animationId, argument))
if (TryHandleLaunchBattleTableAnimation(gActiveBank, gActiveBank, gActiveBank, animationId, argument))
SafariBufferExecCompleted();
else
gBattleBankFunc[gActiveBank] = CompleteOnFinishedBattleAnimation;

View File

@ -369,7 +369,7 @@ static void sub_8168818(void)
FreeSpritePaletteByTag(0x27F9);
CreateTask(c3_0802FDF4, 10);
sub_805E990(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank);
HandleLowHpMusicChange(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank);
WallyBufferExecCompleted();
}
@ -387,7 +387,7 @@ static void CompleteOnHealthbarDone(void)
}
else
{
sub_805E990(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank);
HandleLowHpMusicChange(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank);
WallyBufferExecCompleted();
}
}
@ -1029,7 +1029,7 @@ static void SetWallyMonData(u8 monId)
break;
}
sub_805E990(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank);
HandleLowHpMusicChange(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank);
}
static void WallyHandleSetRawMonData(void)
@ -1051,7 +1051,7 @@ static void WallyHandleReturnMonToBall(void)
{
if (gBattleBufferA[gActiveBank][1] == 0)
{
DoSpecialBattleAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_SWITCH_OUT_PLAYER_MON);
InitAndLaunchSpecialAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_SWITCH_OUT_PLAYER_MON);
gBattleBankFunc[gActiveBank] = sub_8168A20;
}
else
@ -1112,7 +1112,7 @@ static void WallyHandleSuccessBallThrowAnim(void)
{
gBattleSpritesDataPtr->animationData->ballThrowCaseId = BALL_3_SHAKES_SUCCESS;
gDoingBattleAnim = TRUE;
DoSpecialBattleAnimation(gActiveBank, gActiveBank, GetBankByIdentity(IDENTITY_OPPONENT_MON1), B_ANIM_SAFARI_BALL_THROW);
InitAndLaunchSpecialAnimation(gActiveBank, gActiveBank, GetBankByIdentity(IDENTITY_OPPONENT_MON1), B_ANIM_SAFARI_BALL_THROW);
gBattleBankFunc[gActiveBank] = CompleteOnFinishedAnimation;
}
@ -1122,7 +1122,7 @@ static void WallyHandleBallThrowAnim(void)
gBattleSpritesDataPtr->animationData->ballThrowCaseId = ballThrowCaseId;
gDoingBattleAnim = TRUE;
DoSpecialBattleAnimation(gActiveBank, gActiveBank, GetBankByIdentity(IDENTITY_OPPONENT_MON1), B_ANIM_SAFARI_BALL_THROW);
InitAndLaunchSpecialAnimation(gActiveBank, gActiveBank, GetBankByIdentity(IDENTITY_OPPONENT_MON1), B_ANIM_SAFARI_BALL_THROW);
gBattleBankFunc[gActiveBank] = CompleteOnFinishedAnimation;
}
@ -1163,7 +1163,7 @@ static void WallyDoMoveAnimation(void)
case 0:
if (gBattleSpritesDataPtr->bankData[gActiveBank].behindSubstitute)
{
DoSpecialBattleAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_SUBSTITUTE_TO_MON);
InitAndLaunchSpecialAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_SUBSTITUTE_TO_MON);
}
gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 1;
break;
@ -1182,7 +1182,7 @@ static void WallyDoMoveAnimation(void)
sub_805EB9C(1);
if (gBattleSpritesDataPtr->bankData[gActiveBank].behindSubstitute)
{
DoSpecialBattleAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_MON_TO_SUBSTITUTE);
InitAndLaunchSpecialAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_MON_TO_SUBSTITUTE);
}
gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 3;
}
@ -1190,7 +1190,7 @@ static void WallyDoMoveAnimation(void)
case 3:
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].specialAnimActive)
{
sub_805E394();
CopyAllBattleSpritesInvisibilities();
TrySetBehindSubstituteSpriteBit(gActiveBank, gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8));
gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 0;
WallyBufferExecCompleted();
@ -1429,7 +1429,7 @@ static void WallyHandlePlayFanfareOrBGM(void)
{
if (gBattleBufferA[gActiveBank][3])
{
BattleMusicStop();
BattleStopLowHpSound();
PlayBGM(gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8));
}
else
@ -1496,7 +1496,7 @@ static void sub_816AA80(u8 bank)
sub_806A068(species, GetBankIdentity(bank));
gBankSpriteIds[bank] = CreateSprite(&gUnknown_0202499C,
sub_80A5C6C(bank, 2),
sub_80A6138(bank),
GetBankSpriteDefault_Y(bank),
sub_80A82E4(bank));
gSprites[gUnknown_03005D7C[bank]].data1 = gBankSpriteIds[bank];
@ -1565,7 +1565,7 @@ static void WallyHandleBattleAnimation(void)
u8 animationId = gBattleBufferA[gActiveBank][1];
u16 argument = gBattleBufferA[gActiveBank][2] | (gBattleBufferA[gActiveBank][3] << 8);
if (DoBattleAnimationFromTable(gActiveBank, gActiveBank, gActiveBank, animationId, argument))
if (TryHandleLaunchBattleTableAnimation(gActiveBank, gActiveBank, gActiveBank, animationId, argument))
WallyBufferExecCompleted();
else
gBattleBankFunc[gActiveBank] = CompleteOnFinishedBattleAnimation;

View File

@ -119,7 +119,7 @@ static void sub_818D0C4(u16 species, u32 otId, u32 personality, u8 paletteSlot,
if (paletteTag == 0xFFFF)
{
gUnknown_0203CCEC.paletteTag |= 0xFFFF;
LoadCompressedPalette(species_and_otid_get_pal(species, otId, personality), 0x100 + paletteSlot * 0x10, 0x20);
LoadCompressedPalette(GetFrontSpritePalFromSpeciesAndPersonality(species, otId, personality), 0x100 + paletteSlot * 0x10, 0x20);
}
else
{
@ -146,7 +146,7 @@ static void sub_818D180(u16 species, u32 otId, u32 personality, u8 paletteSlot,
{
if (!isTrainer)
{
LoadCompressedPalette(species_and_otid_get_pal(species, otId, personality), paletteSlot * 0x10, 0x20);
LoadCompressedPalette(GetFrontSpritePalFromSpeciesAndPersonality(species, otId, personality), paletteSlot * 0x10, 0x20);
}
else
{

1299
src/battle_gfx_sfx_util.c Normal file

File diff suppressed because it is too large Load Diff

View File

@ -1239,11 +1239,11 @@ void UpdateHpTextInHealthbox(u8 healthboxSpriteId, s16 value, u8 maxOrCurrent)
}
ConvertIntToDecimalStringN(text + 6, value, STR_CONV_MODE_RIGHT_ALIGN, 3);
RenderTextFont9(gMonSpritesGfxPtr->fontPixels, 9, text);
RenderTextFont9(gMonSpritesGfxPtr->barFontGfx, 9, text);
for (i = 0; i < 3; i++)
{
CpuCopy32(&gMonSpritesGfxPtr->fontPixels[i * 64 + 32],
CpuCopy32(&gMonSpritesGfxPtr->barFontGfx[i * 64 + 32],
(void*)((OBJ_VRAM0) + 32 * (gSprites[healthboxSpriteId].oam.tileNum + var + i)),
0x20);
}
@ -1308,19 +1308,19 @@ static void UpdateHpTextInHealthboxInDoubles(u8 healthboxSpriteId, s16 value, u8
txtPtr = ConvertIntToDecimalStringN(text + 6, value, STR_CONV_MODE_RIGHT_ALIGN, 3);
if (!maxOrCurrent)
StringCopy(txtPtr, gText_Slash);
RenderTextFont9(gMonSpritesGfxPtr->fontPixels, 9, text);
RenderTextFont9(gMonSpritesGfxPtr->barFontGfx, 9, text);
for (i = var; i < var + 3; i++)
{
if (i < 3)
{
CpuCopy32(&gMonSpritesGfxPtr->fontPixels[((i - var) * 64) + 32],
CpuCopy32(&gMonSpritesGfxPtr->barFontGfx[((i - var) * 64) + 32],
(void*)((OBJ_VRAM0) + 32 * (1 + gSprites[r7].oam.tileNum + i)),
0x20);
}
else
{
CpuCopy32(&gMonSpritesGfxPtr->fontPixels[((i - var) * 64) + 32],
CpuCopy32(&gMonSpritesGfxPtr->barFontGfx[((i - var) * 64) + 32],
(void*)((OBJ_VRAM0 + 0x20) + 32 * (i + gSprites[r7].oam.tileNum)),
0x20);
}
@ -1328,7 +1328,7 @@ static void UpdateHpTextInHealthboxInDoubles(u8 healthboxSpriteId, s16 value, u8
if (maxOrCurrent == HP_CURRENT)
{
CpuCopy32(&gMonSpritesGfxPtr->fontPixels[224],
CpuCopy32(&gMonSpritesGfxPtr->barFontGfx[224],
(void*)((OBJ_VRAM0) + ((gSprites[r7].oam.tileNum + 4) * 32)),
0x20);
CpuFill32(0, (void*)((OBJ_VRAM0) + (gSprites[r7].oam.tileNum * 32)), 0x20);
@ -1350,15 +1350,15 @@ static void sub_80730D4(u8 healthboxSpriteId, struct Pokemon *mon)
{
u8 text[20];
s32 j, var2;
u8 *fontPixels;
u8 *barFontGfx;
u8 i, var, nature, healthboxSpriteId_2;
memcpy(text, sUnknown_0832C3C4, sizeof(sUnknown_0832C3C4));
fontPixels = &gMonSpritesGfxPtr->fontPixels[0x520 + (GetBankIdentity(gSprites[healthboxSpriteId].data6) * 384)];
barFontGfx = &gMonSpritesGfxPtr->barFontGfx[0x520 + (GetBankIdentity(gSprites[healthboxSpriteId].data6) * 384)];
var = 5;
nature = GetNature(mon);
StringCopy(text + 6, gNatureNamePointers[nature]);
RenderTextFont9(fontPixels, 9, text);
RenderTextFont9(barFontGfx, 9, text);
for (j = 6, i = 0; i < var; i++, j++)
{
@ -1371,18 +1371,18 @@ static void sub_80730D4(u8 healthboxSpriteId, struct Pokemon *mon)
else
elementId = 43;
CpuCopy32(GetHealthboxElementGfxPtr(elementId), fontPixels + (i * 64), 0x20);
CpuCopy32(GetHealthboxElementGfxPtr(elementId), barFontGfx + (i * 64), 0x20);
}
for (j = 1; j < var + 1; j++)
{
var2 = (gSprites[healthboxSpriteId].oam.tileNum + (j - (j / 8 * 8)) + (j / 8 * 64)) * 32;
CpuCopy32(fontPixels, (void*)(OBJ_VRAM0) + (var2), 0x20);
fontPixels += 0x20;
CpuCopy32(barFontGfx, (void*)(OBJ_VRAM0) + (var2), 0x20);
barFontGfx += 0x20;
var2 = (8 + gSprites[healthboxSpriteId].oam.tileNum + (j - (j / 8 * 8)) + (j / 8 * 64)) * 32;
CpuCopy32(fontPixels, (void*)(OBJ_VRAM0) + (var2), 0x20);
fontPixels += 0x20;
CpuCopy32(barFontGfx, (void*)(OBJ_VRAM0) + (var2), 0x20);
barFontGfx += 0x20;
}
healthboxSpriteId_2 = gSprites[healthboxSpriteId].data5;
@ -1390,20 +1390,20 @@ static void sub_80730D4(u8 healthboxSpriteId, struct Pokemon *mon)
ConvertIntToDecimalStringN(text + 9, gBattleStruct->field_7B, STR_CONV_MODE_RIGHT_ALIGN, 2);
text[5] = CHAR_SPACE;
text[8] = CHAR_SLASH;
RenderTextFont9(gMonSpritesGfxPtr->fontPixels, 9, text);
RenderTextFont9(gMonSpritesGfxPtr->barFontGfx, 9, text);
j = healthboxSpriteId_2; // needed to match for some reason
for (j = 0; j < 5; j++)
{
if (j <= 1)
{
CpuCopy32(&gMonSpritesGfxPtr->fontPixels[0x40 * j + 0x20],
CpuCopy32(&gMonSpritesGfxPtr->barFontGfx[0x40 * j + 0x20],
(void*)(OBJ_VRAM0) + (gSprites[healthboxSpriteId_2].oam.tileNum + 2 + j) * 32,
32);
}
else
{
CpuCopy32(&gMonSpritesGfxPtr->fontPixels[0x40 * j + 0x20],
CpuCopy32(&gMonSpritesGfxPtr->barFontGfx[0x40 * j + 0x20],
(void*)(OBJ_VRAM0 + 0xC0) + (j + gSprites[healthboxSpriteId_2].oam.tileNum) * 32,
32);
}
@ -2545,19 +2545,19 @@ u8 GetHPBarLevel(s16 hp, s16 maxhp)
if (hp == maxhp)
{
result = 4;
result = HP_BAR_FULL;
}
else
{
u8 fraction = GetScaledHPFraction(hp, maxhp, 48);
if (fraction > 24)
result = 3;
result = HP_BAR_GREEN;
else if (fraction > 9)
result = 2;
result = HP_BAR_YELLOW;
else if (fraction > 0)
result = 1;
result = HP_BAR_RED;
else
result = 0;
result = HP_BAR_EMPTY;
}
return result;

View File

@ -1068,22 +1068,33 @@ static const u8 sBallCatchBonuses[] =
20, 15, 10, 15 // Ultra, Great, Poke, Safari
};
// could be a 2d array or a struct
const ALIGNED(4) u8 gUnknown_0831C494[] =
const ALIGNED(4) u8 gUnknown_0831C494[][4] =
{
0x3d, 0x44, 0x3d, 0x44, 0x14, 0x2d, 0x54, 0x5c,
0x46, 0x55, 0x20, 0x5c, 0x26, 0x45, 0x46, 0x55,
0x14, 0x5a, 0x46, 0x5c, 0x1e, 0x32, 0x20, 0x5a,
0x38, 0x4e, 0x38, 0x4e, 0x19, 0x28, 0x4b, 0x5a,
0x45, 0x4b, 0x1c, 0x53, 0x23, 0x2d, 0x1d, 0x23,
0x3e, 0x48, 0x1e, 0x32, 0x3a, 0x5f, 0x58, 0x5e,
0x22, 0x2d, 0x1d, 0x28, 0x23, 0x28, 0x23, 0x5f,
0x38, 0x4e, 0x38, 0x4e, 0x23, 0x50, 0x22, 0x5e,
0x2c, 0x5e, 0x22, 0x28, 0x38, 0x4e, 0x38, 0x4e,
0x1e, 0x58, 0x1e, 0x58, 0x1e, 0x2b, 0x1b, 0x21,
0x28, 0x5a, 0x19, 0x57, 0x12, 0x58, 0x5a, 0x5f,
0x58, 0x5e, 0x16, 0x2a, 0x2a, 0x5c, 0x2a, 0x2f,
0x38, 0x4e, 0x38, 0x4e
{0x3d, 0x44, 0x3d, 0x44},
{0x14, 0x2d, 0x54, 0x5c},
{0x46, 0x55, 0x20, 0x5c},
{0x26, 0x45, 0x46, 0x55},
{0x14, 0x5a, 0x46, 0x5c},
{0x1e, 0x32, 0x20, 0x5a},
{0x38, 0x4e, 0x38, 0x4e},
{0x19, 0x28, 0x4b, 0x5a},
{0x45, 0x4b, 0x1c, 0x53},
{0x23, 0x2d, 0x1d, 0x23},
{0x3e, 0x48, 0x1e, 0x32},
{0x3a, 0x5f, 0x58, 0x5e},
{0x22, 0x2d, 0x1d, 0x28},
{0x23, 0x28, 0x23, 0x5f},
{0x38, 0x4e, 0x38, 0x4e},
{0x23, 0x50, 0x22, 0x5e},
{0x2c, 0x5e, 0x22, 0x28},
{0x38, 0x4e, 0x38, 0x4e},
{0x1e, 0x58, 0x1e, 0x58},
{0x1e, 0x2b, 0x1b, 0x21},
{0x28, 0x5a, 0x19, 0x57},
{0x12, 0x58, 0x5a, 0x5f},
{0x58, 0x5e, 0x16, 0x2a},
{0x2a, 0x5c, 0x2a, 0x2f},
{0x38, 0x4e, 0x38, 0x4e}
};
static const u8 sUnknown_0831C4F8[] =
@ -3533,7 +3544,7 @@ static void atk23_getexp(void)
// music change in wild battle after fainting a poke
if (!(gBattleTypeFlags & BATTLE_TYPE_TRAINER) && gBattleMons[0].hp && !gBattleStruct->wildVictorySong)
{
BattleMusicStop();
BattleStopLowHpSound();
PlayBGM(0x161);
gBattleStruct->wildVictorySong++;
}
@ -3628,7 +3639,7 @@ static void atk23_getexp(void)
if (gBattleBufferB[gActiveBank][0] == CONTROLLER_TWORETURNVALUES && gBattleBufferB[gActiveBank][1] == RET_VALUE_LEVELLED_UP)
{
if (gBattleTypeFlags & BATTLE_TYPE_TRAINER && gBattlePartyID[gActiveBank] == gBattleStruct->expGetterId)
sub_805E990(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank);
HandleLowHpMusicChange(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank);
PREPARE_MON_NICK_WITH_PREFIX_BUFFER(gBattleTextBuff1, gActiveBank, gBattleStruct->expGetterId)

View File

@ -1,6 +1,8 @@
// Includes
#include "global.h"
#include "bg.h"
#include "window.h"
#include "task.h"
#include "sprite.h"
// Static type declarations
@ -11,8 +13,585 @@ IWRAM_DATA s16 gUnknown_03000DF8[6];
IWRAM_DATA s16 gUnknown_03000E04;
IWRAM_DATA s16 gUnknown_03000E06;
// Static ROM declarations
// graphics
extern const u8 gBerryBlenderArrowTiles[];
extern const u8 gBerryBlenderStartTiles[];
extern const u8 gBerryBlenderMarubatsuTiles[];
extern const u8 gBerryBlenderParticlesTiles[];
extern const u8 gBerryBlenderCountdownNumbersTiles[];
extern const u16 gBerryBlenderMiscPalette[];
extern const u16 gBerryBlenderArrowPalette[];
void sub_8080EA4(u8 taskId);
void sub_8080FD0(u8 taskId);
void sub_80810F8(u8 taskId);
void sub_80833F8(struct Sprite *sprite);
void sub_8082F68(struct Sprite *sprite);
void sub_8083010(struct Sprite *sprite);
void sub_80830C0(struct Sprite *sprite);
// .rodata
// TODO: make those static once the file is decompiled
const u16 sBlenderCenterPal[] = INCBIN_U16("graphics/berry_blender/center.gbapal");
const u8 sBlenderCenterMap[] = INCBIN_U8("graphics/berry_blender/center_map.bin");
const u16 sBlenderOuterPal[] = INCBIN_U16("graphics/berry_blender/outer.gbapal");
// unreferenced pals?
static const u16 sUnknownPal_0[] = INCBIN_U16("graphics/unknown/unknown_339514.gbapal");
static const u16 sUnknownArray_1[224] = {0};
// unused text?
static const u8 sUnusedText_YesNo[] = _("YES\nNO");
static const u8 sUnusedText_2[] = _("");
static const u8 sUnusedText_Space[] = _(" ");
static const u8 sUnusedText_Terminating[] = _("Terminating.");
static const u8 sUnusedText_LinkPartnerNotFound[] = _("Link partner(s) not found.\nPlease try again.\p");
const u8 gText_BerryBlenderStart[] = _("Starting up the BERRY BLENDER.\pPlease select a BERRY from your BAG\nto put in the BERRY BLENDER.\p");
const u8 gText_NewParagraph[] = _("\p");
const u8 gText_WasMade[] = _(" was made!");
static const u8 sText_Mister[] = _("MISTER");
static const u8 sText_Laddie[] = _("LADDIE");
static const u8 sText_Lassie[] = _("LASSIE");
static const u8 sText_Master[] = _("MASTER");
static const u8 sText_Dude[] = _("DUDE");
static const u8 sText_Miss[] = _("MISS");
const u8* const sBlenderOpponentsNames[] =
{
sText_Mister,
sText_Laddie,
sText_Lassie,
sText_Master,
sText_Dude,
sText_Miss
};
static const u8 sText_PressAToStart[] = _("Press the A Button to start.");
static const u8 sText_PleaseWaitAWhile[] = _("Please wait a while.");
const u8 sText_CommunicationStandby[] = _("Communication standby…");
const u8 sText_WouldLikeToBlendAnotherBerry[] = _("Would you like to blend another BERRY?");
const u8 sText_RunOutOfBerriesForBlending[] = _("Youve run out of BERRIES for\nblending in the BERRY BLENDER.\p");
const u8 sText_YourPokeblockCaseIsFull[] = _("Your {POKEBLOCK} CASE is full.\p");
const u8 sText_HasNoBerriesToPut[] = _(" has no BERRIES to put in\nthe BERRY BLENDER.");
const u8 sText_ApostropheSPokeblockCaseIsFull[] = _("s {POKEBLOCK} CASE is full.\p");
const u8 sText_BlendingResults[] = _("RESULTS OF BLENDING");
static const u8 sText_BerryUsed[] = _("BERRY USED");
const u8 sText_SpaceBerry[] = _(" BERRY");
const u8 sText_Time[] = _("Time:");
const u8 sText_Min[] = _(" min. ");
const u8 sText_Sec[] = _(" sec.");
const u8 sText_MaximumSpeed[] = _("MAXIMUM SPEED");
const u8 sText_RPM[] = _(" RPM");
const u8 sText_Dot[] = _(".");
const u8 sText_NewLine[] = _("\n");
static const u8 sText_Space[] = _(" ");
const u8 sText_Ranking[] = _("RANKING");
const u8 sText_TheLevelIs[] = _("The level is ");
const u8 sText_TheFeelIs[] = _(", and the feel is ");
const u8 sText_Dot2[] = _(".");
const struct BgTemplate gUnknown_08339974[3] =
{
{
.bg = 0,
.charBaseIndex = 3,
.mapBaseIndex = 31,
.screenSize = 0,
.paletteMode = 0,
.priority = 0,
.baseTile = 0,
},
{
.bg = 1,
.charBaseIndex = 2,
.mapBaseIndex = 12,
.screenSize = 0,
.paletteMode = 0,
.priority = 1,
.baseTile = 0,
},
{
.bg = 2,
.charBaseIndex = 0,
.mapBaseIndex = 8,
.screenSize = 1,
.paletteMode = 1,
.priority = 0,
.baseTile = 0,
}
};
const struct WindowTemplate gUnknown_08339980[] =
{
{0, 1, 6, 7, 2, 0xE, 0x28},
{0, 0x16, 6, 7, 2, 0xE, 0x36},
{0, 1, 0xC, 7, 2, 0xE, 0x44},
{0, 0x16, 0xC, 7, 2, 0xE, 0x52},
{0, 2, 0xF, 0x1B, 4, 0xE, 0x60},
{0, 5, 3, 0x15, 0xE, 0xE, 0x60},
DUMMY_WIN_TEMPLATE
};
const struct WindowTemplate gUnknown_083399B8 =
{
0, 0x15, 9, 5, 4, 0xE, 0xCC
};
const s8 gUnknown_083399C0[][2] =
{
{-1, -1}, {1, -1}, {-1, 1}, {1, 1}
};
const u8 sBlenderSyncArrowsPos[][2] =
{
{72, 32}, {168, 32}, {72, 128}, {168, 128}
};
const u8 gUnknown_083399D0[3][4] =
{
{-1, 0, 1, -1}, {-1, 0, 1, 2}, {0, 1, 2, 3}
};
const u16 gUnknown_083399DC[] = {0, 0xC000, 0x4000, 0x8000};
const u8 gUnknown_083399E4[] = {1, 1, 0};
const u8 gUnknown_083399E7[] = {32, 224, 96, 160, 0};
const TaskFunc gUnknown_083399EC[] =
{
sub_8080EA4, sub_8080FD0, sub_80810F8
};
static const struct OamData sOamData_8216314 =
{
.y = 0,
.affineMode = 0,
.objMode = 0,
.mosaic = 0,
.bpp = 0,
.shape = 0,
.x = 0,
.matrixNum = 0,
.size = 2,
.tileNum = 0,
.priority = 1,
.paletteNum = 0,
.affineParam = 0,
};
static const union AnimCmd sSpriteAnim_821631C[] =
{
ANIMCMD_FRAME(16, 5, 1, 1),
ANIMCMD_END
};
static const union AnimCmd sSpriteAnim_8216324[] =
{
ANIMCMD_FRAME(16, 5, .vFlip = TRUE),
ANIMCMD_END
};
static const union AnimCmd sSpriteAnim_821632C[] =
{
ANIMCMD_FRAME(16, 5, .hFlip = TRUE),
ANIMCMD_END
};
static const union AnimCmd sSpriteAnim_8216334[] =
{
ANIMCMD_FRAME(16, 5, 0, 0),
ANIMCMD_END
};
static const union AnimCmd sSpriteAnim_821633C[] =
{
ANIMCMD_FRAME(48, 2, 1, 1),
ANIMCMD_FRAME(32, 5, 1, 1),
ANIMCMD_FRAME(48, 3, 1, 1),
ANIMCMD_FRAME(16, 5, 1, 1),
ANIMCMD_END
};
static const union AnimCmd sSpriteAnim_8216350[] =
{
ANIMCMD_FRAME(48, 2, .vFlip = TRUE),
ANIMCMD_FRAME(32, 5, .vFlip = TRUE),
ANIMCMD_FRAME(48, 3, .vFlip = TRUE),
ANIMCMD_FRAME(16, 5, .vFlip = TRUE),
ANIMCMD_END
};
static const union AnimCmd sSpriteAnim_8216364[] =
{
ANIMCMD_FRAME(48, 2, .hFlip = TRUE),
ANIMCMD_FRAME(32, 5, .hFlip = TRUE),
ANIMCMD_FRAME(48, 3, .hFlip = TRUE),
ANIMCMD_FRAME(16, 5, .hFlip = TRUE),
ANIMCMD_END
};
static const union AnimCmd sSpriteAnim_8216378[] =
{
ANIMCMD_FRAME(48, 2, 0, 0),
ANIMCMD_FRAME(32, 5, 0, 0),
ANIMCMD_FRAME(48, 3, 0, 0),
ANIMCMD_FRAME(16, 5, 0, 0),
ANIMCMD_END
};
static const union AnimCmd sSpriteAnim_821638C[] =
{
ANIMCMD_FRAME(0, 5, 1, 1),
ANIMCMD_END
};
static const union AnimCmd sSpriteAnim_8216394[] =
{
ANIMCMD_FRAME(0, 5, .vFlip = TRUE),
ANIMCMD_END
};
static const union AnimCmd sSpriteAnim_821639C[] =
{
ANIMCMD_FRAME(0, 5, .hFlip = TRUE),
ANIMCMD_END
};
static const union AnimCmd sSpriteAnim_82163A4[] =
{
ANIMCMD_FRAME(0, 5, 0, 0),
ANIMCMD_END
};
static const union AnimCmd *const sSpriteAnimTable_82163AC[] =
{
sSpriteAnim_821631C,
sSpriteAnim_8216324,
sSpriteAnim_821632C,
sSpriteAnim_8216334,
sSpriteAnim_821633C,
sSpriteAnim_8216350,
sSpriteAnim_8216364,
sSpriteAnim_8216378,
sSpriteAnim_821638C,
sSpriteAnim_8216394,
sSpriteAnim_821639C,
sSpriteAnim_82163A4
};
const struct SpriteSheet sSpriteSheet_BlenderArrow =
{
gBerryBlenderArrowTiles, 0x800, 46545
};
const struct SpritePalette sSpritePal_BlenderMisc =
{
gBerryBlenderMiscPalette, 46546
};
const struct SpritePalette sSpritePal_BlenderArrow =
{
gBerryBlenderArrowPalette, 12312
};
const struct SpriteTemplate sBlenderSyncArrow_SpriteTemplate =
{
.tileTag = 46545,
.paletteTag = 12312,
.oam = &sOamData_8216314,
.anims = sSpriteAnimTable_82163AC,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = sub_80833F8
};
static const struct OamData sOamData_821640C =
{
.y = 0,
.affineMode = 0,
.objMode = 0,
.mosaic = 0,
.bpp = 0,
.shape = 0,
.x = 0,
.matrixNum = 0,
.size = 1,
.tileNum = 0,
.priority = 0,
.paletteNum = 0,
.affineParam = 0,
};
static const union AnimCmd sSpriteAnim_8216414[] =
{
ANIMCMD_FRAME(0, 20),
ANIMCMD_END
};
static const union AnimCmd sSpriteAnim_821641C[] =
{
ANIMCMD_FRAME(4, 20, 1, 0),
ANIMCMD_END
};
static const union AnimCmd sSpriteAnim_8216424[] =
{
ANIMCMD_FRAME(8, 4),
ANIMCMD_FRAME(12, 4),
ANIMCMD_FRAME(8, 4),
ANIMCMD_FRAME(12, 4),
ANIMCMD_FRAME(8, 4),
ANIMCMD_END
};
static const union AnimCmd sSpriteAnim_821643C[] =
{
ANIMCMD_FRAME(8, 4),
ANIMCMD_END
};
static const union AnimCmd *const sSpriteAnimTable_8216444[] =
{
sSpriteAnim_8216414,
sSpriteAnim_821641C,
sSpriteAnim_8216424,
sSpriteAnim_821643C,
};
const struct SpriteSheet gUnknown_08339B38 =
{
gBerryBlenderMarubatsuTiles, 0x200, 48888
};
const struct SpriteTemplate gUnknown_08339B40 =
{
.tileTag = 48888,
.paletteTag = 46546,
.oam = &sOamData_821640C,
.anims = sSpriteAnimTable_8216444,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = sub_8082F68
};
static const struct OamData sOamData_8216474 =
{
.y = 0,
.affineMode = 0,
.objMode = 0,
.mosaic = 0,
.bpp = 0,
.shape = 0,
.x = 0,
.matrixNum = 0,
.size = 0,
.tileNum = 0,
.priority = 1,
.paletteNum = 0,
.affineParam = 0,
};
static const union AnimCmd sSpriteAnim_821647C[] =
{
ANIMCMD_FRAME(0, 3),
ANIMCMD_FRAME(1, 4),
ANIMCMD_FRAME(3, 5),
ANIMCMD_FRAME(1, 4),
ANIMCMD_FRAME(0, 3),
ANIMCMD_END
};
static const union AnimCmd sSpriteAnim_8216494[] =
{
ANIMCMD_FRAME(0, 3),
ANIMCMD_FRAME(2, 4),
ANIMCMD_FRAME(4, 5),
ANIMCMD_FRAME(2, 4),
ANIMCMD_FRAME(0, 3),
ANIMCMD_END
};
static const union AnimCmd sSpriteAnim_82164AC[] =
{
ANIMCMD_FRAME(0, 2),
ANIMCMD_FRAME(1, 2),
ANIMCMD_FRAME(2, 2),
ANIMCMD_FRAME(4, 4),
ANIMCMD_FRAME(3, 3),
ANIMCMD_FRAME(2, 2),
ANIMCMD_FRAME(1, 2),
ANIMCMD_FRAME(0, 2),
ANIMCMD_END
};
static const union AnimCmd sSpriteAnim_82164D0[] =
{
ANIMCMD_FRAME(5, 5, 1, 1),
ANIMCMD_END
};
static const union AnimCmd sSpriteAnim_82164D8[] =
{
ANIMCMD_FRAME(6, 5, 1, 1),
ANIMCMD_END
};
static const union AnimCmd *const sSpriteAnimTable_82164E0[] =
{
sSpriteAnim_821647C,
sSpriteAnim_8216494,
sSpriteAnim_82164AC,
sSpriteAnim_82164D0,
sSpriteAnim_82164D8,
};
const struct SpriteSheet gUnknown_08339BD8 =
{
gBerryBlenderParticlesTiles, 0xE0, 23456
};
const struct SpriteTemplate gUnknown_08339BE0 =
{
.tileTag = 23456,
.paletteTag = 46546,
.oam = &sOamData_8216474,
.anims = sSpriteAnimTable_82164E0,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCallbackDummy
};
static const struct OamData sOamData_8216514 =
{
.y = 0,
.affineMode = 0,
.objMode = 0,
.mosaic = 0,
.bpp = 0,
.shape = 0,
.x = 0,
.matrixNum = 0,
.size = 2,
.tileNum = 0,
.priority = 1,
.paletteNum = 0,
.affineParam = 0,
};
static const union AnimCmd sSpriteAnim_821651C[] =
{
ANIMCMD_FRAME(32, 30),
ANIMCMD_END
};
static const union AnimCmd sSpriteAnim_8216524[] =
{
ANIMCMD_FRAME(16, 30),
ANIMCMD_END
};
static const union AnimCmd sSpriteAnim_821652C[] =
{
ANIMCMD_FRAME(0, 30),
ANIMCMD_END
};
static const union AnimCmd *const sSpriteAnimTable_8216534[] =
{
sSpriteAnim_821651C,
sSpriteAnim_8216524,
sSpriteAnim_821652C,
};
const struct SpriteSheet gUnknown_08339C24 =
{
gBerryBlenderCountdownNumbersTiles, 0x600, 12345
};
const struct SpriteTemplate gUnknown_08339C2C =
{
.tileTag = 12345,
.paletteTag = 46546,
.oam = &sOamData_8216514,
.anims = sSpriteAnimTable_8216534,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = sub_8083010
};
static const struct OamData sOamData_8216560 =
{
.y = 0,
.affineMode = 0,
.objMode = 0,
.mosaic = 0,
.bpp = 0,
.shape = 1,
.x = 0,
.matrixNum = 0,
.size = 3,
.tileNum = 0,
.priority = 1,
.paletteNum = 0,
.affineParam = 0,
};
static const union AnimCmd sSpriteAnim_8216568[] =
{
ANIMCMD_FRAME(0, 30),
ANIMCMD_END
};
static const union AnimCmd *const sSpriteAnimTable_8216570[] =
{
sSpriteAnim_8216568,
};
const struct SpriteSheet gUnknown_08339C58 =
{
gBerryBlenderStartTiles, 0x400, 12346
};
const struct SpriteTemplate gUnknown_08339C60 =
{
.tileTag = 12346,
.paletteTag = 46546,
.oam = &sOamData_8216560,
.anims = sSpriteAnimTable_8216570,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = sub_80830C0
};
const s16 gUnknown_08339C78[][5] =
{
{-10, 20, 10, 2, 1},
{250, 20, 10, -2, 1},
{-10, 140, 10, 2, -1},
{250, 140, 10, -2, -1},
};
const u8 gUnknown_08339CA0[][3] =
{
{4, 3, 2}, {0, 4, 3}, {1, 0, 4}, {2, 1, 0}, {3, 2, 1}, {0, 2, 3}, {1, 3, 4}, {2, 4, 0}, {3, 0, 1}, {4, 1, 2},
};
const u8 gUnknown_08339CBE[] = {30, 31, 32, 33, 34};
const u8 gUnknown_08339CC3[] = {1, 1, 2, 3, 4};
const u8 gUnknown_08339CC8[] = {0x1C, 0x16, 0x13, 0x1A, 0x19, 0x0E, 0x0D, 0x0B, 0x07, 0x15};
static const u8 gUnknown_08339CD2[] =
{
0xfe, 0x02, 0x02, 0xce, 0xd0, 0x37, 0x44, 0x07, 0x1f, 0x0c, 0x10,
0x00, 0xff, 0xfe, 0x91, 0x72, 0xce, 0xd0, 0x37, 0x44, 0x07, 0x1f,
0x0c, 0x10, 0x00, 0xff, 0x06, 0x27, 0x02, 0xff, 0x00, 0x0c, 0x48,
0x02, 0xff, 0x00, 0x01, 0x1f, 0x02, 0xff, 0x00, 0x16, 0x37, 0x02,
0xff, 0x00, 0x0d, 0x50, 0x4b, 0x02, 0xff, 0x06, 0x06, 0x06, 0x06,
0x05, 0x03, 0x03, 0x03, 0x02, 0x02, 0x03, 0x03, 0x03, 0x03, 0x02
};
const struct WindowTemplate gUnknown_08339D14[] = {0, 6, 4, 0x12, 0xB, 0xF, 8};
// .text

View File

@ -29,14 +29,14 @@ struct HallofFameMon
{
u32 tid;
u32 personality;
u16 species : 9;
u16 lvl : 7;
u16 species:9;
u16 lvl:7;
u8 nick[10];
};
struct HallofFameMons
struct HallofFameTeam
{
struct HallofFameMon mons[6];
struct HallofFameMon mon[6];
};
struct HofGfx
@ -47,7 +47,7 @@ struct HofGfx
u8 tilemap2[0x1000];
};
static EWRAM_DATA struct HallofFameMons *sHofMonsPtr = NULL;
static EWRAM_DATA struct HallofFameTeam *sHofMonPtr = NULL;
static EWRAM_DATA struct HofGfx *sHofGfxPtr = NULL;
extern bool8 gHasHallOfFameRecords;
@ -203,7 +203,7 @@ static const struct CompressedSpritePalette sHallOfFame_ConfettiSpritePalette =
static const u8 sUnused1[8] = {};
static const s16 sHallOfFame_MonsFullTeamPositions[6][4] =
static const s16 sHallOfFame_MonFullTeamPositions[6][4] =
{
{120, 210, 120, 40},
{326, 220, 56, 40},
@ -213,7 +213,7 @@ static const s16 sHallOfFame_MonsFullTeamPositions[6][4] =
{310, -92, 40, 88}
};
static const s16 sHallOfFame_MonsHalfTeamPositions[3][4] =
static const s16 sHallOfFame_MonHalfTeamPositions[3][4] =
{
{120, 234, 120, 64},
{326, 244, 56, 64},
@ -554,7 +554,7 @@ static bool8 InitHallOfFameScreen(void)
#define tDontSaveData data[0]
#define tDisplayedMonId data[1]
#define tPokesNumber data[2]
#define tMonNumber data[2]
#define tFrameCount data[3]
#define tPlayerSpriteID data[4]
#define tMonSpriteId(i) data[i + 5]
@ -565,7 +565,7 @@ void CB2_DoHallOfFameScreen(void)
{
u8 taskId = CreateTask(Task_Hof_InitMonData, 0);
gTasks[taskId].tDontSaveData = FALSE;
sHofMonsPtr = AllocZeroed(sizeof(*sHofMonsPtr));
sHofMonPtr = AllocZeroed(sizeof(*sHofMonPtr));
}
}
@ -575,7 +575,7 @@ void CB2_DoHallOfFameScreenDontSaveData(void)
{
u8 taskId = CreateTask(Task_Hof_InitMonData, 0);
gTasks[taskId].tDontSaveData = TRUE;
sHofMonsPtr = AllocZeroed(sizeof(*sHofMonsPtr));
sHofMonPtr = AllocZeroed(sizeof(*sHofMonPtr));
}
}
@ -583,31 +583,31 @@ static void Task_Hof_InitMonData(u8 taskId)
{
u16 i, j;
gTasks[taskId].tPokesNumber = 0; // valid pokes
gTasks[taskId].tMonNumber = 0; // valid pokes
for (i = 0; i < 6; i++)
{
u8 nick[POKEMON_NAME_LENGTH + 2];
if (GetMonData(&gPlayerParty[i], MON_DATA_SPECIES))
{
sHofMonsPtr->mons[i].species = GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2);
sHofMonsPtr->mons[i].tid = GetMonData(&gPlayerParty[i], MON_DATA_OT_ID);
sHofMonsPtr->mons[i].personality = GetMonData(&gPlayerParty[i], MON_DATA_PERSONALITY);
sHofMonsPtr->mons[i].lvl = GetMonData(&gPlayerParty[i], MON_DATA_LEVEL);
sHofMonPtr->mon[i].species = GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2);
sHofMonPtr->mon[i].tid = GetMonData(&gPlayerParty[i], MON_DATA_OT_ID);
sHofMonPtr->mon[i].personality = GetMonData(&gPlayerParty[i], MON_DATA_PERSONALITY);
sHofMonPtr->mon[i].lvl = GetMonData(&gPlayerParty[i], MON_DATA_LEVEL);
GetMonData(&gPlayerParty[i], MON_DATA_NICKNAME, nick);
for (j = 0; j < POKEMON_NAME_LENGTH; j++)
{
sHofMonsPtr->mons[i].nick[j] = nick[j];
sHofMonPtr->mon[i].nick[j] = nick[j];
}
gTasks[taskId].tPokesNumber++;
gTasks[taskId].tMonNumber++;
}
else
{
sHofMonsPtr->mons[i].species = 0;
sHofMonsPtr->mons[i].tid = 0;
sHofMonsPtr->mons[i].personality = 0;
sHofMonsPtr->mons[i].lvl = 0;
sHofMonsPtr->mons[i].nick[0] = EOS;
sHofMonPtr->mon[i].species = 0;
sHofMonPtr->mon[i].tid = 0;
sHofMonPtr->mon[i].personality = 0;
sHofMonPtr->mon[i].lvl = 0;
sHofMonPtr->mon[i].nick[0] = EOS;
}
}
@ -629,7 +629,7 @@ static void Task_Hof_InitMonData(u8 taskId)
static void Task_Hof_InitTeamSaveData(u8 taskId)
{
u16 i;
struct HallofFameMons* lastSavedTeam = (struct HallofFameMons*)(gDecompressionBuffer);
struct HallofFameTeam* lastSavedTeam = (struct HallofFameTeam*)(gDecompressionBuffer);
if (!gHasHallOfFameRecords)
{
@ -643,13 +643,13 @@ static void Task_Hof_InitTeamSaveData(u8 taskId)
for (i = 0; i < HALL_OF_FAME_MAX_TEAMS; i++, lastSavedTeam++)
{
if (lastSavedTeam->mons[0].species == 0)
if (lastSavedTeam->mon[0].species == 0)
break;
}
if (i >= HALL_OF_FAME_MAX_TEAMS)
{
struct HallofFameMons *afterTeam = (struct HallofFameMons*)(gDecompressionBuffer);
struct HallofFameMons *beforeTeam = (struct HallofFameMons*)(gDecompressionBuffer);
struct HallofFameTeam *afterTeam = (struct HallofFameTeam*)(gDecompressionBuffer);
struct HallofFameTeam *beforeTeam = (struct HallofFameTeam*)(gDecompressionBuffer);
afterTeam++;
for (i = 0; i < HALL_OF_FAME_MAX_TEAMS - 1; i++, beforeTeam++, afterTeam++)
{
@ -657,7 +657,7 @@ static void Task_Hof_InitTeamSaveData(u8 taskId)
}
lastSavedTeam--;
}
*lastSavedTeam = *sHofMonsPtr;
*lastSavedTeam = *sHofMonPtr;
sub_81973C4(0, 0);
AddTextPrinterParametrized(0, 1, gText_SavingDontTurnOffPower, 0, NULL, 2, 1, 3);
@ -676,8 +676,8 @@ static void Task_Hof_TrySaveData(u8 taskId)
if (sHofGfxPtr != NULL)
FREE_AND_SET_NULL(sHofGfxPtr);
if (sHofMonsPtr != NULL)
FREE_AND_SET_NULL(sHofMonsPtr);
if (sHofMonPtr != NULL)
FREE_AND_SET_NULL(sHofMonPtr);
DestroyTask(taskId);
}
@ -712,21 +712,21 @@ static void Task_Hof_DisplayMon(u8 taskId)
s16 xPos, yPos, field4, field6;
u16 currMonId = gTasks[taskId].tDisplayedMonId;
struct HallofFameMon* currMon = &sHofMonsPtr->mons[currMonId];
struct HallofFameMon* currMon = &sHofMonPtr->mon[currMonId];
if (gTasks[taskId].tPokesNumber > 3)
if (gTasks[taskId].tMonNumber > 3)
{
xPos = sHallOfFame_MonsFullTeamPositions[currMonId][0];
yPos = sHallOfFame_MonsFullTeamPositions[currMonId][1];
field4 = sHallOfFame_MonsFullTeamPositions[currMonId][2];
field6 = sHallOfFame_MonsFullTeamPositions[currMonId][3];
xPos = sHallOfFame_MonFullTeamPositions[currMonId][0];
yPos = sHallOfFame_MonFullTeamPositions[currMonId][1];
field4 = sHallOfFame_MonFullTeamPositions[currMonId][2];
field6 = sHallOfFame_MonFullTeamPositions[currMonId][3];
}
else
{
xPos = sHallOfFame_MonsHalfTeamPositions[currMonId][0];
yPos = sHallOfFame_MonsHalfTeamPositions[currMonId][1];
field4 = sHallOfFame_MonsHalfTeamPositions[currMonId][2];
field6 = sHallOfFame_MonsHalfTeamPositions[currMonId][3];
xPos = sHallOfFame_MonHalfTeamPositions[currMonId][0];
yPos = sHallOfFame_MonHalfTeamPositions[currMonId][1];
field4 = sHallOfFame_MonHalfTeamPositions[currMonId][2];
field6 = sHallOfFame_MonHalfTeamPositions[currMonId][3];
}
if (currMon->species == SPECIES_EGG)
@ -746,7 +746,7 @@ static void Task_Hof_DisplayMon(u8 taskId)
static void Task_Hof_PrintMonInfoAfterAnimating(u8 taskId)
{
u16 currMonId = gTasks[taskId].tDisplayedMonId;
struct HallofFameMon* currMon = &sHofMonsPtr->mons[currMonId];
struct HallofFameMon* currMon = &sHofMonPtr->mon[currMonId];
struct Sprite *monSprite = &gSprites[gTasks[taskId].tMonSpriteId(currMonId)];
if (monSprite->callback == SpriteCallbackDummy)
@ -761,7 +761,7 @@ static void Task_Hof_PrintMonInfoAfterAnimating(u8 taskId)
static void Task_Hof_TryDisplayAnotherMon(u8 taskId)
{
u16 currPokeID = gTasks[taskId].tDisplayedMonId;
struct HallofFameMon* currMon = &sHofMonsPtr->mons[currPokeID];
struct HallofFameMon* currMon = &sHofMonPtr->mon[currPokeID];
if (gTasks[taskId].tFrameCount != 0)
{
@ -917,8 +917,8 @@ static void Task_Hof_HandleExit(u8 taskId)
if (sHofGfxPtr != NULL)
FREE_AND_SET_NULL(sHofGfxPtr);
if (sHofMonsPtr != NULL)
FREE_AND_SET_NULL(sHofMonsPtr);
if (sHofMonPtr != NULL)
FREE_AND_SET_NULL(sHofMonPtr);
SetCallback2AfterHallOfFameDisplay();
}
@ -931,15 +931,15 @@ static void SetCallback2AfterHallOfFameDisplay(void)
#undef tDontSaveData
#undef tDisplayedPoke
#undef tPokesNumber
#undef tMonNumber
#undef tFrameCount
#undef tPlayerSpriteID
#undef tMonSpriteId
#define tCurrTeamNo data[0]
#define tCurrPageNo data[1]
#define tCurrPokeId data[2]
#define tPokesNo data[4]
#define tCurrMonId data[2]
#define tMonNo data[4]
#define tMonSpriteId(i) data[i + 5]
void CB2_DoHallOfFamePC(void)
@ -967,8 +967,8 @@ void CB2_DoHallOfFamePC(void)
case 3:
if (!sub_8175024())
{
struct HallofFameMons *fameMons = (struct HallofFameMons*)(gDecompressionBuffer);
fameMons->mons[0] = sDummyFameMon;
struct HallofFameTeam *fameTeam = (struct HallofFameTeam*)(gDecompressionBuffer);
fameTeam->mon[0] = sDummyFameMon;
sub_80F9BCC(0, 0, 0);
SetVBlankCallback(VBlankCB_HallOfFame);
gMain.state++;
@ -996,7 +996,7 @@ void CB2_DoHallOfFamePC(void)
gTasks[taskId].tMonSpriteId(i) = 0xFF;
}
sHofMonsPtr = AllocZeroed(0x2000);
sHofMonPtr = AllocZeroed(0x2000);
SetMainCallback2(CB2_HallOfFame);
}
break;
@ -1013,13 +1013,13 @@ static void Task_HofPC_CopySaveData(u8 taskId)
else
{
u16 i;
struct HallofFameMons* savedTeams;
struct HallofFameTeam* savedTeams;
CpuCopy16(gDecompressionBuffer, sHofMonsPtr, 0x2000);
savedTeams = sHofMonsPtr;
CpuCopy16(gDecompressionBuffer, sHofMonPtr, 0x2000);
savedTeams = sHofMonPtr;
for (i = 0; i < HALL_OF_FAME_MAX_TEAMS; i++, savedTeams++)
{
if (savedTeams->mons[0].species == SPECIES_NONE)
if (savedTeams->mon[0].species == SPECIES_NONE)
break;
}
@ -1036,25 +1036,25 @@ static void Task_HofPC_CopySaveData(u8 taskId)
static void Task_HofPC_DrawSpritesPrintText(u8 taskId)
{
struct HallofFameMons* savedTeams = sHofMonsPtr;
struct HallofFameTeam* savedTeams = sHofMonPtr;
struct HallofFameMon* currMon;
u16 i;
for (i = 0; i < gTasks[taskId].tCurrTeamNo; i++)
savedTeams++;
currMon = &savedTeams->mons[0];
currMon = &savedTeams->mon[0];
gUnknown_0203BCD4 = 0;
gTasks[taskId].tCurrPokeId = 0;
gTasks[taskId].tPokesNo = 0;
gTasks[taskId].tCurrMonId = 0;
gTasks[taskId].tMonNo = 0;
for (i = 0; i < 6; i++, currMon++)
{
if (currMon->species != 0)
gTasks[taskId].tPokesNo++;
gTasks[taskId].tMonNo++;
}
currMon = &savedTeams->mons[0];
currMon = &savedTeams->mon[0];
for (i = 0; i < 6; i++, currMon++)
{
@ -1063,15 +1063,15 @@ static void Task_HofPC_DrawSpritesPrintText(u8 taskId)
u16 spriteId;
s16 posX, posY;
if (gTasks[taskId].tPokesNo > 3)
if (gTasks[taskId].tMonNo > 3)
{
posX = sHallOfFame_MonsFullTeamPositions[i][2];
posY = sHallOfFame_MonsFullTeamPositions[i][3];
posX = sHallOfFame_MonFullTeamPositions[i][2];
posY = sHallOfFame_MonFullTeamPositions[i][3];
}
else
{
posX = sHallOfFame_MonsHalfTeamPositions[i][2];
posY = sHallOfFame_MonsHalfTeamPositions[i][3];
posX = sHallOfFame_MonHalfTeamPositions[i][2];
posY = sHallOfFame_MonHalfTeamPositions[i][3];
}
if (currMon->species == SPECIES_EGG)
@ -1102,7 +1102,7 @@ static void Task_HofPC_DrawSpritesPrintText(u8 taskId)
static void Task_HofPC_PrintMonInfo(u8 taskId)
{
struct HallofFameMons* savedTeams = sHofMonsPtr;
struct HallofFameTeam* savedTeams = sHofMonPtr;
struct HallofFameMon* currMon;
u16 i;
u16 currMonID;
@ -1117,12 +1117,12 @@ static void Task_HofPC_PrintMonInfo(u8 taskId)
gSprites[spriteId].oam.priority = 1;
}
currMonID = gTasks[taskId].tMonSpriteId(gTasks[taskId].tCurrPokeId);
currMonID = gTasks[taskId].tMonSpriteId(gTasks[taskId].tCurrMonId);
gSprites[currMonID].oam.priority = 0;
gUnknown_0203BCD4 = (0x10000 << gSprites[currMonID].oam.paletteNum) ^ 0xFFFF0000;
BlendPalettesUnfaded(gUnknown_0203BCD4, 0xC, 0x63B0);
currMon = &savedTeams->mons[gTasks[taskId].tCurrPokeId];
currMon = &savedTeams->mon[gTasks[taskId].tCurrMonId];
if (currMon->species != SPECIES_EGG)
{
StopCryAndClearCrySongs();
@ -1174,25 +1174,25 @@ static void Task_HofPC_HandleInput(u8 taskId)
}
gTasks[taskId].func = Task_HofPC_HandlePaletteOnExit;
}
else if (gMain.newKeys & DPAD_UP && gTasks[taskId].tCurrPokeId != 0) // change mon -1
else if (gMain.newKeys & DPAD_UP && gTasks[taskId].tCurrMonId != 0) // change mon -1
{
gTasks[taskId].tCurrPokeId--;
gTasks[taskId].tCurrMonId--;
gTasks[taskId].func = Task_HofPC_PrintMonInfo;
}
else if (gMain.newKeys & DPAD_DOWN && gTasks[taskId].tCurrPokeId < gTasks[taskId].tPokesNo - 1) // change mon +1
else if (gMain.newKeys & DPAD_DOWN && gTasks[taskId].tCurrMonId < gTasks[taskId].tMonNo - 1) // change mon +1
{
gTasks[taskId].tCurrPokeId++;
gTasks[taskId].tCurrMonId++;
gTasks[taskId].func = Task_HofPC_PrintMonInfo;
}
}
static void Task_HofPC_HandlePaletteOnExit(u8 taskId)
{
struct HallofFameMons* fameMons;
struct HallofFameTeam* fameTeam;
CpuCopy16(gPlttBufferFaded, gPlttBufferUnfaded, 0x400);
fameMons = (struct HallofFameMons*)(gDecompressionBuffer);
fameMons->mons[0] = sDummyFameMon;
fameTeam = (struct HallofFameTeam*)(gDecompressionBuffer);
fameTeam->mon[0] = sDummyFameMon;
sub_80F9BF4(0, 0, 0);
gTasks[taskId].func = Task_HofPC_HandleExit;
}
@ -1225,8 +1225,8 @@ static void Task_HofPC_HandleExit(u8 taskId)
if (sHofGfxPtr != NULL)
FREE_AND_SET_NULL(sHofGfxPtr);
if (sHofMonsPtr != NULL)
FREE_AND_SET_NULL(sHofMonsPtr);
if (sHofMonPtr != NULL)
FREE_AND_SET_NULL(sHofMonPtr);
sub_8137C3C();
}
@ -1249,8 +1249,8 @@ static void Task_HofPC_ExitOnButtonPress(u8 taskId)
#undef tCurrTeamNo
#undef tCurrPageNo
#undef tCurrPokeId
#undef tPokesNo
#undef tCurrMonId
#undef tMonNo
#undef tMonSpriteId
static void HallOfFame_PrintWelcomeText(u8 unusedPossiblyWindowId, u8 unused2)

View File

@ -1234,12 +1234,12 @@ static void sub_806E6CC(u8 taskId)
DestroyTask(taskId);
}
const u8 *pokemon_get_pal(struct Pokemon *mon)
const u8 *GetMonFrontSpritePal(struct Pokemon *mon)
{
u16 species = GetMonData(mon, MON_DATA_SPECIES2, 0);
u32 otId = GetMonData(mon, MON_DATA_OT_ID, 0);
u32 personality = GetMonData(mon, MON_DATA_PERSONALITY, 0);
return species_and_otid_get_pal(species, otId, personality);
return GetFrontSpritePalFromSpeciesAndPersonality(species, otId, personality);
}
// Extracts the upper 16 bits of a 32-bit number
@ -1248,7 +1248,7 @@ const u8 *pokemon_get_pal(struct Pokemon *mon)
// Extracts the lower 16 bits of a 32-bit number
#define LOHALF(n) ((n) & 0xFFFF)
const u8 *species_and_otid_get_pal(u16 species, u32 otId, u32 personality)
const u8 *GetFrontSpritePalFromSpeciesAndPersonality(u16 species, u32 otId, u32 personality)
{
u32 shinyValue;

View File

@ -37,8 +37,8 @@ extern const union AnimCmd * const * const gMonAnimationsSpriteAnimsPtrTable[];
extern void dp12_8087EA4(void);
extern void trs_config(void);
extern bool8 IsDoubleBattle(void);
extern u8 sub_80A614C(u8 bank);
extern u8 sub_80A6138(u8 bank);
extern u8 GetSubstituteSpriteDefault_Y(u8 bank);
extern u8 GetBankSpriteDefault_Y(u8 bank);
extern u8 sub_80A82E4(u8 bank);
extern void sub_806A068(u16 species, u8 bankIdentity);
extern void sub_806A12C(u16 backPicId, u8 bankIdentity);
@ -104,7 +104,7 @@ static void CB2_ReshowBattleScreenAfterMenu(void)
gReservedSpritePaletteCount = 4;
break;
case 5:
sub_805E350();
ClearSpritesHealthboxAnimData();
break;
case 6:
if (BattleLoadAllHealthBoxesGfx(gBattleScripting.reshowHelperState))
@ -217,7 +217,7 @@ static bool8 LoadBankSpriteGfx(u8 bank)
if (!gBattleSpritesDataPtr->bankData[bank].behindSubstitute)
BattleLoadOpponentMonSpriteGfx(&gEnemyParty[gBattlePartyID[bank]], bank);
else
BattleLoadSubstituteSpriteGfx(bank, FALSE);
BattleLoadSubstituteOrMonSpriteGfx(bank, FALSE);
}
else if (gBattleTypeFlags & BATTLE_TYPE_SAFARI && bank == 0)
DecompressTrainerBackPic(gSaveBlock2Ptr->playerGender, bank);
@ -226,7 +226,7 @@ static bool8 LoadBankSpriteGfx(u8 bank)
else if (!gBattleSpritesDataPtr->bankData[bank].behindSubstitute)
BattleLoadPlayerMonSpriteGfx(&gPlayerParty[gBattlePartyID[bank]], bank);
else
BattleLoadSubstituteSpriteGfx(bank, FALSE);
BattleLoadSubstituteOrMonSpriteGfx(bank, FALSE);
gBattleScripting.reshowHelperState = 0;
}
@ -250,9 +250,9 @@ static void CreateBankSprite(u8 bank)
u8 posY;
if (gBattleSpritesDataPtr->bankData[bank].behindSubstitute)
posY = sub_80A614C(bank);
posY = GetSubstituteSpriteDefault_Y(bank);
else
posY = sub_80A6138(bank);
posY = GetBankSpriteDefault_Y(bank);
if (GetBankSide(bank) != SIDE_PLAYER)
{