Merge remote-tracking branch 'Egg/decompile_battle_transition'

This commit is contained in:
Diegoisawesome 2018-01-16 14:51:00 -06:00
commit 309640a28c
21 changed files with 4743 additions and 10956 deletions

File diff suppressed because it is too large Load Diff

View File

@ -498,8 +498,8 @@ _080B5E68:
bx r1
thumb_func_end FieldEffectActiveListContains
thumb_func_start sub_80B5E6C
sub_80B5E6C: @ 80B5E6C
thumb_func_start CreateTrainerSprite
CreateTrainerSprite: @ 80B5E6C
push {r4-r7,lr}
mov r7, r9
mov r6, r8
@ -566,7 +566,7 @@ sub_80B5E6C: @ 80B5E6C
pop {r1}
bx r1
.pool
thumb_func_end sub_80B5E6C
thumb_func_end CreateTrainerSprite
thumb_func_start sub_80B5F0C
sub_80B5F0C: @ 80B5F0C

View File

@ -3948,7 +3948,7 @@ AddBirchSpeechObjects: @ 803192C
movs r1, 0x78
movs r2, 0x3C
movs r3, 0
bl sub_80B5E6C
bl CreateTrainerSprite
lsls r0, 24
lsrs r0, 24
lsls r2, r0, 4
@ -3981,7 +3981,7 @@ AddBirchSpeechObjects: @ 803192C
movs r1, 0x78
movs r2, 0x3C
movs r3, 0
bl sub_80B5E6C
bl CreateTrainerSprite
lsls r0, 24
lsrs r0, 24
lsls r2, r0, 4

View File

@ -3055,9 +3055,9 @@ _08085E18:
.pool
thumb_func_end c1_overworld
thumb_func_start c2_overworld_basic
@ void c2_overworld_basic()
c2_overworld_basic: @ 8085E24
thumb_func_start OverworldBasic
@ void OverworldBasic()
OverworldBasic: @ 8085E24
push {lr}
bl ScriptContext2_RunScript
bl RunTasks
@ -3070,15 +3070,15 @@ c2_overworld_basic: @ 8085E24
bl do_scheduled_bg_tilemap_copies_to_vram
pop {r0}
bx r0
thumb_func_end c2_overworld_basic
thumb_func_end OverworldBasic
thumb_func_start sub_8085E50
sub_8085E50: @ 8085E50
thumb_func_start CB2_OverworldBasic
CB2_OverworldBasic: @ 8085E50
push {lr}
bl c2_overworld_basic
bl OverworldBasic
pop {r0}
bx r0
thumb_func_end sub_8085E50
thumb_func_end CB2_OverworldBasic
thumb_func_start c2_overworld
c2_overworld: @ 8085E5C
@ -3092,7 +3092,7 @@ c2_overworld: @ 8085E5C
movs r0, 0
bl SetVBlankCallback
_08085E70:
bl c2_overworld_basic
bl OverworldBasic
cmp r4, 0
beq _08085E7C
bl SetFieldVBlankCallback

View File

@ -24,8 +24,8 @@ _081DABD2:
bx r1
thumb_func_end sub_81DABBC
thumb_func_start sub_81DABDC
sub_81DABDC: @ 81DABDC
thumb_func_start Phase2Task_34
Phase2Task_34: @ 81DABDC
push {r4,r5,lr}
lsls r0, 24
lsrs r0, 24
@ -50,7 +50,7 @@ _081DABEE:
pop {r0}
bx r0
.pool
thumb_func_end sub_81DABDC
thumb_func_end Phase2Task_34
thumb_func_start sub_81DAC14
sub_81DAC14: @ 81DAC14
@ -119,7 +119,7 @@ sub_81DAC80: @ 81DAC80
bne _081DACA4
adds r0, r2, 0
bl sub_81DAA20
ldr r0, =sub_81DABDC
ldr r0, =Phase2Task_34
bl FindTaskIdByFunc
lsls r0, 24
lsrs r0, 24
@ -131,8 +131,8 @@ _081DACA4:
.pool
thumb_func_end sub_81DAC80
thumb_func_start sub_81DACB4
sub_81DACB4: @ 81DACB4
thumb_func_start Phase2Task_35
Phase2Task_35: @ 81DACB4
push {r4,r5,lr}
lsls r0, 24
lsrs r0, 24
@ -157,7 +157,7 @@ _081DACC6:
pop {r0}
bx r0
.pool
thumb_func_end sub_81DACB4
thumb_func_end Phase2Task_35
thumb_func_start sub_81DACEC
sub_81DACEC: @ 81DACEC
@ -226,7 +226,7 @@ sub_81DAD58: @ 81DAD58
bne _081DAD7C
adds r0, r2, 0
bl sub_81DAA20
ldr r0, =sub_81DACB4
ldr r0, =Phase2Task_35
bl FindTaskIdByFunc
lsls r0, 24
lsrs r0, 24
@ -238,8 +238,8 @@ _081DAD7C:
.pool
thumb_func_end sub_81DAD58
thumb_func_start sub_81DAD8C
sub_81DAD8C: @ 81DAD8C
thumb_func_start Phase2Task_36
Phase2Task_36: @ 81DAD8C
push {r4,r5,lr}
lsls r0, 24
lsrs r0, 24
@ -264,7 +264,7 @@ _081DAD9E:
pop {r0}
bx r0
.pool
thumb_func_end sub_81DAD8C
thumb_func_end Phase2Task_36
thumb_func_start sub_81DADC4
sub_81DADC4: @ 81DADC4
@ -342,7 +342,7 @@ sub_81DAE44: @ 81DAE44
bne _081DAE68
adds r0, r2, 0
bl sub_81DAA20
ldr r0, =sub_81DAD8C
ldr r0, =Phase2Task_36
bl FindTaskIdByFunc
lsls r0, 24
lsrs r0, 24
@ -354,8 +354,8 @@ _081DAE68:
.pool
thumb_func_end sub_81DAE44
thumb_func_start sub_81DAE78
sub_81DAE78: @ 81DAE78
thumb_func_start Phase2Task_37
Phase2Task_37: @ 81DAE78
push {r4,r5,lr}
lsls r0, 24
lsrs r0, 24
@ -380,7 +380,7 @@ _081DAE8A:
pop {r0}
bx r0
.pool
thumb_func_end sub_81DAE78
thumb_func_end Phase2Task_37
thumb_func_start sub_81DAEB0
sub_81DAEB0: @ 81DAEB0
@ -460,7 +460,7 @@ sub_81DAF34: @ 81DAF34
bne _081DAF58
adds r0, r2, 0
bl sub_81DAA20
ldr r0, =sub_81DAE78
ldr r0, =Phase2Task_37
bl FindTaskIdByFunc
lsls r0, 24
lsrs r0, 24
@ -472,8 +472,8 @@ _081DAF58:
.pool
thumb_func_end sub_81DAF34
thumb_func_start sub_81DAF68
sub_81DAF68: @ 81DAF68
thumb_func_start Phase2Task_38
Phase2Task_38: @ 81DAF68
push {r4,r5,lr}
lsls r0, 24
lsrs r0, 24
@ -498,7 +498,7 @@ _081DAF7A:
pop {r0}
bx r0
.pool
thumb_func_end sub_81DAF68
thumb_func_end Phase2Task_38
thumb_func_start sub_81DAFA0
sub_81DAFA0: @ 81DAFA0
@ -585,7 +585,7 @@ sub_81DB02C: @ 81DB02C
bne _081DB050
adds r0, r2, 0
bl sub_81DAA20
ldr r0, =sub_81DAF68
ldr r0, =Phase2Task_38
bl FindTaskIdByFunc
lsls r0, 24
lsrs r0, 24
@ -597,8 +597,8 @@ _081DB050:
.pool
thumb_func_end sub_81DB02C
thumb_func_start sub_81DB060
sub_81DB060: @ 81DB060
thumb_func_start Phase2Task_39
Phase2Task_39: @ 81DB060
push {r4,r5,lr}
lsls r0, 24
lsrs r0, 24
@ -623,7 +623,7 @@ _081DB072:
pop {r0}
bx r0
.pool
thumb_func_end sub_81DB060
thumb_func_end Phase2Task_39
thumb_func_start sub_81DB098
sub_81DB098: @ 81DB098
@ -710,7 +710,7 @@ sub_81DB124: @ 81DB124
bne _081DB148
adds r0, r2, 0
bl sub_81DAA20
ldr r0, =sub_81DB060
ldr r0, =Phase2Task_39
bl FindTaskIdByFunc
lsls r0, 24
lsrs r0, 24
@ -722,4 +722,264 @@ _081DB148:
.pool
thumb_func_end sub_81DB124
thumb_func_start Phase2Task_40
Phase2Task_40: @ 81DB158
push {r4,r5,lr}
lsls r0, 24
lsrs r0, 24
ldr r5, =gUnknown_0862B7E8
ldr r2, =gTasks
lsls r1, r0, 2
adds r1, r0
lsls r1, 3
adds r4, r1, r2
_081DB16A:
movs r1, 0x8
ldrsh r0, [r4, r1]
lsls r0, 2
adds r0, r5
ldr r1, [r0]
adds r0, r4, 0
bl _call_via_r1
lsls r0, 24
cmp r0, 0
bne _081DB16A
pop {r4,r5}
pop {r0}
bx r0
.pool
thumb_func_end Phase2Task_40
thumb_func_start sub_81DB190
sub_81DB190: @ 81DB190
push {r4,lr}
sub sp, 0x10
adds r4, r0, 0
movs r0, 0xA
ldrsh r1, [r4, r0]
cmp r1, 0
bne _081DB1BE
movs r0, 0x80
str r0, [sp]
str r1, [sp, 0x4]
subs r0, 0x84
str r0, [sp, 0x8]
str r1, [sp, 0xC]
movs r0, 0x78
movs r1, 0x2D
movs r2, 0xC
movs r3, 0x4
bl sub_81DA8BC
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x10]
b _081DB212
_081DB1BE:
cmp r1, 0x10
bne _081DB1E6
movs r0, 0x80
str r0, [sp]
movs r0, 0
str r0, [sp, 0x4]
subs r0, 0x4
str r0, [sp, 0x8]
movs r0, 0x1
str r0, [sp, 0xC]
movs r0, 0x59
movs r1, 0x61
movs r2, 0xFC
movs r3, 0x4
bl sub_81DA8BC
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x12]
b _081DB212
_081DB1E6:
cmp r1, 0x20
bne _081DB212
movs r0, 0x80
str r0, [sp]
movs r0, 0
str r0, [sp, 0x4]
subs r0, 0x4
str r0, [sp, 0x8]
movs r0, 0x2
str r0, [sp, 0xC]
movs r0, 0x97
movs r1, 0x61
movs r2, 0x84
movs r3, 0x4
bl sub_81DA8BC
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x14]
ldrh r0, [r4, 0x8]
adds r0, 0x1
strh r0, [r4, 0x8]
_081DB212:
ldrh r0, [r4, 0xA]
adds r0, 0x1
strh r0, [r4, 0xA]
movs r0, 0
add sp, 0x10
pop {r4}
pop {r1}
bx r1
thumb_func_end sub_81DB190
thumb_func_start sub_81DB224
sub_81DB224: @ 81DB224
push {lr}
adds r2, r0, 0
ldr r0, =gPaletteFade
ldrb r1, [r0, 0x7]
movs r0, 0x80
ands r0, r1
cmp r0, 0
bne _081DB248
adds r0, r2, 0
bl sub_81DAA20
ldr r0, =Phase2Task_40
bl FindTaskIdByFunc
lsls r0, 24
lsrs r0, 24
bl DestroyTask
_081DB248:
movs r0, 0
pop {r1}
bx r1
.pool
thumb_func_end sub_81DB224
thumb_func_start Phase2Task_41
Phase2Task_41: @ 81DB258
push {r4,r5,lr}
lsls r0, 24
lsrs r0, 24
ldr r5, =gUnknown_0862B7FC
ldr r2, =gTasks
lsls r1, r0, 2
adds r1, r0
lsls r1, 3
adds r4, r1, r2
_081DB26A:
movs r1, 0x8
ldrsh r0, [r4, r1]
lsls r0, 2
adds r0, r5
ldr r1, [r0]
adds r0, r4, 0
bl _call_via_r1
lsls r0, 24
cmp r0, 0
bne _081DB26A
pop {r4,r5}
pop {r0}
bx r0
.pool
thumb_func_end Phase2Task_41
thumb_func_start sub_81DB290
sub_81DB290: @ 81DB290
push {r4,lr}
sub sp, 0x10
adds r4, r0, 0
movs r0, 0xA
ldrsh r1, [r4, r0]
cmp r1, 0
bne _081DB2C2
movs r2, 0x8E
lsls r2, 1
movs r0, 0x83
str r0, [sp]
movs r0, 0x23
str r0, [sp, 0x4]
subs r0, 0x26
str r0, [sp, 0x8]
str r1, [sp, 0xC]
movs r0, 0x78
movs r1, 0x50
movs r3, 0x8
bl sub_81DA8BC
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x10]
b _081DB316
_081DB2C2:
cmp r1, 0x10
bne _081DB2EA
movs r0, 0x83
str r0, [sp]
movs r0, 0x23
str r0, [sp, 0x4]
subs r0, 0x26
str r0, [sp, 0x8]
movs r0, 0x1
str r0, [sp, 0xC]
movs r0, 0x78
movs r1, 0x50
movs r2, 0x2C
movs r3, 0x8
bl sub_81DA8BC
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x12]
b _081DB316
_081DB2EA:
cmp r1, 0x20
bne _081DB316
movs r0, 0x83
str r0, [sp]
movs r0, 0x23
str r0, [sp, 0x4]
subs r0, 0x26
str r0, [sp, 0x8]
movs r0, 0x2
str r0, [sp, 0xC]
movs r0, 0x79
movs r1, 0x50
movs r2, 0xA4
movs r3, 0x8
bl sub_81DA8BC
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x14]
ldrh r0, [r4, 0x8]
adds r0, 0x1
strh r0, [r4, 0x8]
_081DB316:
ldrh r0, [r4, 0xA]
adds r0, 0x1
strh r0, [r4, 0xA]
movs r0, 0
add sp, 0x10
pop {r4}
pop {r1}
bx r1
thumb_func_end sub_81DB290
thumb_func_start sub_81DB328
sub_81DB328: @ 81DB328
push {lr}
adds r2, r0, 0
ldr r0, =gPaletteFade
ldrb r1, [r0, 0x7]
movs r0, 0x80
ands r0, r1
cmp r0, 0
bne _081DB34C
adds r0, r2, 0
bl sub_81DAA20
ldr r0, =Phase2Task_41
bl FindTaskIdByFunc
lsls r0, 24
lsrs r0, 24
bl DestroyTask
_081DB34C:
movs r0, 0
pop {r1}
bx r1
.pool
thumb_func_end sub_81DB328
.align 2, 0 @ Don't pad with nop.

View File

@ -1,268 +0,0 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start sub_81DB158
sub_81DB158: @ 81DB158
push {r4,r5,lr}
lsls r0, 24
lsrs r0, 24
ldr r5, =gUnknown_0862B7E8
ldr r2, =gTasks
lsls r1, r0, 2
adds r1, r0
lsls r1, 3
adds r4, r1, r2
_081DB16A:
movs r1, 0x8
ldrsh r0, [r4, r1]
lsls r0, 2
adds r0, r5
ldr r1, [r0]
adds r0, r4, 0
bl _call_via_r1
lsls r0, 24
cmp r0, 0
bne _081DB16A
pop {r4,r5}
pop {r0}
bx r0
.pool
thumb_func_end sub_81DB158
thumb_func_start sub_81DB190
sub_81DB190: @ 81DB190
push {r4,lr}
sub sp, 0x10
adds r4, r0, 0
movs r0, 0xA
ldrsh r1, [r4, r0]
cmp r1, 0
bne _081DB1BE
movs r0, 0x80
str r0, [sp]
str r1, [sp, 0x4]
subs r0, 0x84
str r0, [sp, 0x8]
str r1, [sp, 0xC]
movs r0, 0x78
movs r1, 0x2D
movs r2, 0xC
movs r3, 0x4
bl sub_81DA8BC
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x10]
b _081DB212
_081DB1BE:
cmp r1, 0x10
bne _081DB1E6
movs r0, 0x80
str r0, [sp]
movs r0, 0
str r0, [sp, 0x4]
subs r0, 0x4
str r0, [sp, 0x8]
movs r0, 0x1
str r0, [sp, 0xC]
movs r0, 0x59
movs r1, 0x61
movs r2, 0xFC
movs r3, 0x4
bl sub_81DA8BC
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x12]
b _081DB212
_081DB1E6:
cmp r1, 0x20
bne _081DB212
movs r0, 0x80
str r0, [sp]
movs r0, 0
str r0, [sp, 0x4]
subs r0, 0x4
str r0, [sp, 0x8]
movs r0, 0x2
str r0, [sp, 0xC]
movs r0, 0x97
movs r1, 0x61
movs r2, 0x84
movs r3, 0x4
bl sub_81DA8BC
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x14]
ldrh r0, [r4, 0x8]
adds r0, 0x1
strh r0, [r4, 0x8]
_081DB212:
ldrh r0, [r4, 0xA]
adds r0, 0x1
strh r0, [r4, 0xA]
movs r0, 0
add sp, 0x10
pop {r4}
pop {r1}
bx r1
thumb_func_end sub_81DB190
thumb_func_start sub_81DB224
sub_81DB224: @ 81DB224
push {lr}
adds r2, r0, 0
ldr r0, =gPaletteFade
ldrb r1, [r0, 0x7]
movs r0, 0x80
ands r0, r1
cmp r0, 0
bne _081DB248
adds r0, r2, 0
bl sub_81DAA20
ldr r0, =sub_81DB158
bl FindTaskIdByFunc
lsls r0, 24
lsrs r0, 24
bl DestroyTask
_081DB248:
movs r0, 0
pop {r1}
bx r1
.pool
thumb_func_end sub_81DB224
thumb_func_start sub_81DB258
sub_81DB258: @ 81DB258
push {r4,r5,lr}
lsls r0, 24
lsrs r0, 24
ldr r5, =gUnknown_0862B7FC
ldr r2, =gTasks
lsls r1, r0, 2
adds r1, r0
lsls r1, 3
adds r4, r1, r2
_081DB26A:
movs r1, 0x8
ldrsh r0, [r4, r1]
lsls r0, 2
adds r0, r5
ldr r1, [r0]
adds r0, r4, 0
bl _call_via_r1
lsls r0, 24
cmp r0, 0
bne _081DB26A
pop {r4,r5}
pop {r0}
bx r0
.pool
thumb_func_end sub_81DB258
thumb_func_start sub_81DB290
sub_81DB290: @ 81DB290
push {r4,lr}
sub sp, 0x10
adds r4, r0, 0
movs r0, 0xA
ldrsh r1, [r4, r0]
cmp r1, 0
bne _081DB2C2
movs r2, 0x8E
lsls r2, 1
movs r0, 0x83
str r0, [sp]
movs r0, 0x23
str r0, [sp, 0x4]
subs r0, 0x26
str r0, [sp, 0x8]
str r1, [sp, 0xC]
movs r0, 0x78
movs r1, 0x50
movs r3, 0x8
bl sub_81DA8BC
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x10]
b _081DB316
_081DB2C2:
cmp r1, 0x10
bne _081DB2EA
movs r0, 0x83
str r0, [sp]
movs r0, 0x23
str r0, [sp, 0x4]
subs r0, 0x26
str r0, [sp, 0x8]
movs r0, 0x1
str r0, [sp, 0xC]
movs r0, 0x78
movs r1, 0x50
movs r2, 0x2C
movs r3, 0x8
bl sub_81DA8BC
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x12]
b _081DB316
_081DB2EA:
cmp r1, 0x20
bne _081DB316
movs r0, 0x83
str r0, [sp]
movs r0, 0x23
str r0, [sp, 0x4]
subs r0, 0x26
str r0, [sp, 0x8]
movs r0, 0x2
str r0, [sp, 0xC]
movs r0, 0x79
movs r1, 0x50
movs r2, 0xA4
movs r3, 0x8
bl sub_81DA8BC
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x14]
ldrh r0, [r4, 0x8]
adds r0, 0x1
strh r0, [r4, 0x8]
_081DB316:
ldrh r0, [r4, 0xA]
adds r0, 0x1
strh r0, [r4, 0xA]
movs r0, 0
add sp, 0x10
pop {r4}
pop {r1}
bx r1
thumb_func_end sub_81DB290
thumb_func_start sub_81DB328
sub_81DB328: @ 81DB328
push {lr}
adds r2, r0, 0
ldr r0, =gPaletteFade
ldrb r1, [r0, 0x7]
movs r0, 0x80
ands r0, r1
cmp r0, 0
bne _081DB34C
adds r0, r2, 0
bl sub_81DAA20
ldr r0, =sub_81DB258
bl FindTaskIdByFunc
lsls r0, 24
lsrs r0, 24
bl DestroyTask
_081DB34C:
movs r0, 0
pop {r1}
bx r1
.pool
thumb_func_end sub_81DB328
.align 2, 0 @ Don't pad with nop.

View File

@ -1,784 +0,0 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.section .rodata
.align 2
sBigPokeball_Tileset:: @ 85B9330
.incbin "graphics/battle_transitions/big_pokeball.4bpp"
.align 2
sPokeballTrail_Tileset:: @ 85B98B0
.incbin "graphics/battle_transitions/pokeball_trail.4bpp"
.align 2
sSpriteImage_85B98F0:: @ 85B98F0
.incbin "graphics/battle_transitions/pokeball.4bpp"
.align 2
sUnknown_085B9AF0:: @ 85B9AF0
.incbin "graphics/battle_transitions/elite_four_bg.4bpp"
.align 2
sSpriteImage_85B9CD0:: @ 85B9CD0
.incbin "graphics/battle_transitions/unused_brendan.4bpp"
.align 2
sSpriteImage_85BA4D0:: @ 85BA4D0
.incbin "graphics/battle_transitions/unused_lass.4bpp"
.align 2
sShrinkingBoxTileset:: @ 85BACD0
.incbin "graphics/battle_transitions/shrinking_box.4bpp"
.align 2
sEvilTeam_Palette:: @ 85BAEB0
.incbin "graphics/battle_transitions/evil_team.gbapal"
.align 2
sTeamAqua_Tileset:: @ 85BAED0
.incbin "graphics/battle_transitions/team_aqua.4bpp.lz"
.align 2
sTeamAqua_Tilemap:: @ 85BB248
.incbin "graphics/battle_transitions/team_aqua.bin.lz"
.align 2
sTeamMagma_Tileset:: @ 85BB4A4
.incbin "graphics/battle_transitions/team_magma.4bpp.lz"
.align 2
sTeamMagma_Tilemap:: @ 85BB930
.incbin "graphics/battle_transitions/team_magma.bin.lz"
.align 2
gUnknown_085BBC14:: @ 85BBC14
.incbin "graphics/battle_transitions/85BBC14.4bpp"
.align 2
gUnknown_085BC2B4:: @ 85BC2B4
.incbin "graphics/battle_transitions/85BC2B4.gbapal"
.align 2
gUnknown_085BC2D4:: @ 85BC2D4
.incbin "graphics/battle_transitions/85BC2D4.gbapal"
.align 2
gUnknown_085BC2F4:: @ 85BC2F4
.incbin "graphics/battle_transitions/85BC2F4.gbapal"
.align 2
gUnknown_085BC314:: @ 85BC314
.incbin "graphics/battle_transitions/85BC314.bin"
.align 2
gUnknown_085BCB14:: @ 85BCB14
.incbin "graphics/battle_transitions/85BCB14.bin"
.align 2
gUnknown_085BD314:: @ 85BD314
.incbin "graphics/battle_transitions/85BD314.bin"
.align 2
gUnknown_085BDB14:: @ 85BDB14
.incbin "graphics/battle_transitions/85BDB14.gbapal"
.align 2
gUnknown_085BDB34:: @ 85BDB34
.incbin "graphics/battle_transitions/kyogre.4bpp.lz"
.align 2
gUnknown_085BE1E8:: @ 85BE1E8
.incbin "graphics/battle_transitions/kyogre.bin.lz"
.align 2
gUnknown_085BE51C:: @ 85BE51C
.incbin "graphics/battle_transitions/groudon.4bpp.lz"
.align 2
gUnknown_085BEA88:: @ 85BEA88
.incbin "graphics/battle_transitions/groudon.bin.lz"
.align 2
gUnknown_085BEDA0:: @ 85BEDA0
.incbin "graphics/battle_transitions/kyogre_pt1.gbapal"
.align 2
gUnknown_085BEEE0:: @ 85BEEE0
.incbin "graphics/battle_transitions/kyogre_pt2.gbapal"
.align 2
gUnknown_085BF0A0:: @ 85BF0A0
.incbin "graphics/battle_transitions/groudon_pt1.gbapal"
.align 2
gUnknown_085BF2A0:: @ 85BF2A0
.incbin "graphics/battle_transitions/groudon_pt2.gbapal"
.align 2
gUnknown_085BF4A0:: @ 85BF4A0
.incbin "graphics/battle_transitions/rayquaza.gbapal"
.align 2
gUnknown_085BF6A0:: @ 85BF6A0
.incbin "graphics/battle_transitions/rayquaza.4bpp"
.align 2
gUnknown_085C6BE0:: @ 85C6BE0
.incbin "graphics/battle_transitions/rayquaza.bin"
.align 2
gUnknown_085C7BE0:: @ 85C7BE0
.incbin "graphics/battle_transitions/frontier_brain.gbapal"
.align 2
gUnknown_085C7C00:: @ 85C7C00
.incbin "graphics/battle_transitions/frontier_brain.4bpp.lz"
.align 2
gUnknown_085C828C:: @ 85C828C
.incbin "graphics/battle_transitions/frontier_brain.bin.lz"
.align 2
gUnknown_085C8578:: @ 85C8578
.incbin "graphics/battle_transitions/frontier_squares_blanktiles.gbapal"
.align 2
gUnknown_085C8598:: @ 85C8598
.incbin "graphics/battle_transitions/frontier_square_1.4bpp.lz"
.align 2
gUnknown_085C86F4:: @ 85C86F4
.incbin "graphics/battle_transitions/frontier_square_2.4bpp.lz"
.align 2
gUnknown_085C87F4:: @ 85C87F4
.incbin "graphics/battle_transitions/frontier_square_3.4bpp.lz"
.align 2
gUnknown_085C88A4:: @ 85C88A4
.incbin "graphics/battle_transitions/frontier_square_4.4bpp.lz"
.align 2
gUnknown_085C8928:: @ 85C8928
.incbin "graphics/battle_transitions/frontier_squares.bin"
.align 2
sPhase1_Tasks:: @ 85C8948
.4byte sub_81460BC
.4byte sub_81460BC
.4byte sub_81460BC
.4byte sub_81460BC
.4byte sub_81460BC
.4byte sub_81460BC
.4byte sub_81460BC
.4byte sub_81460BC
.4byte sub_81460BC
.4byte sub_81460BC
.4byte sub_81460BC
.4byte sub_81460BC
.4byte sub_81460BC
.4byte sub_81460BC
.4byte sub_81460BC
.4byte sub_81460BC
.4byte sub_81460BC
.4byte sub_81460BC
.4byte sub_81460BC
.4byte sub_81460BC
.4byte sub_81460BC
.4byte sub_81460BC
.4byte sub_81460BC
.4byte sub_81460BC
.4byte sub_81460BC
.4byte sub_81460BC
.4byte sub_81460BC
.4byte sub_81460BC
.4byte sub_81460BC
.4byte sub_81460BC
.4byte sub_81460BC
.4byte sub_81460BC
.4byte sub_81460BC
.4byte sub_81460BC
.4byte sub_81460BC
.4byte sub_81460BC
.4byte sub_81460BC
.4byte sub_81460BC
.4byte sub_81460BC
.4byte sub_81460BC
.4byte sub_81460BC
.4byte sub_81460BC
.align 2
sPhase2_Tasks:: @ 85C89F0
.4byte sub_814610C
.4byte sub_8146204
.4byte sub_8146384
.4byte sub_8146514
.4byte sub_8146F94
.4byte sub_8147204
.4byte sub_8147718
.4byte sub_81478EC
.4byte sub_81484D0
.4byte sub_8149578
.4byte sub_814995C
.4byte sub_8149A6C
.4byte sub_8147AE4
.4byte sub_8147B04
.4byte sub_8147B24
.4byte sub_8147B44
.4byte sub_8147B64
.4byte sub_814654C
.4byte sub_8146584
.4byte sub_81465BC
.4byte sub_81465F4
.4byte sub_814662C
.4byte sub_8146664
.4byte sub_8149140
.4byte sub_814927C
.4byte sub_8148760
.4byte sub_8148B54
.4byte sub_8148B8C
.4byte sub_8148E54
.4byte sub_814A3BC
.4byte sub_814A3F4
.4byte sub_814A6F0
.4byte sub_814A760
.4byte sub_814A728
.4byte sub_81DABDC
.4byte sub_81DACB4
.4byte sub_81DAD8C
.4byte sub_81DAE78
.4byte sub_81DAF68
.4byte sub_81DB060
.4byte sub_81DB158
.4byte sub_81DB258
.align 2
sMainTransitionPhases:: @ 85C8A98
.4byte sub_8145FE0
.4byte sub_8146030
.4byte sub_8146064
.4byte sub_814608C
.align 2
sPhase2_Transition_Blur_Funcs:: @ 85C8AA8
.4byte sub_8146144
.4byte sub_8146178
.4byte sub_81461D8
.align 2
sPhase2_Transition_Swirl_Funcs:: @ 85C8AB4
.4byte sub_814623C
.4byte sub_81462A8
.align 2
sPhase2_Transition_Shuffle_Funcs:: @ 85C8ABC
.4byte sub_81463BC
.4byte sub_8146420
.align 2
gUnknown_085C8AC4:: @ 85C8AC4
.4byte sub_814670C
.4byte sub_81468E4
.4byte sub_8146BF8
.4byte sub_8146C8C
.4byte sub_8146D20
.4byte sub_8146D90
.4byte sub_8146DF8
.align 2
gUnknown_085C8AE0:: @ 85C8AE0
.4byte sub_8146760
.4byte sub_814692C
.4byte sub_8146BF8
.4byte sub_8146C8C
.4byte sub_8146D20
.4byte sub_8146D90
.4byte sub_8146DF8
.align 2
gUnknown_085C8AFC:: @ 85C8AFC
.4byte sub_8146800
.4byte sub_8146854
.4byte sub_8146BF8
.4byte sub_8146C8C
.4byte sub_8146D20
.4byte sub_8146DF8
.align 2
gUnknown_085C8B14:: @ 85C8B14
.4byte sub_81467B4
.4byte sub_8146974
.4byte sub_8146BF8
.4byte sub_8146C8C
.4byte sub_8146D20
.4byte sub_8146DF8
.align 2
gUnknown_085C8B2C:: @ 85C8B2C
.4byte sub_81467B4
.4byte sub_81469CC
.4byte sub_8146BF8
.4byte sub_8146C8C
.4byte sub_8146D20
.4byte sub_8146DF8
.align 2
gUnknown_085C8B44:: @ 85C8B44
.4byte sub_81467B4
.4byte sub_8146A24
.4byte sub_8146BF8
.4byte sub_8146C8C
.4byte sub_8146D20
.4byte sub_8146DF8
.align 2
gUnknown_085C8B5C:: @ 85C8B5C
.4byte sub_8146DAC
.4byte sub_8146DD8
.4byte sub_8146A7C
.4byte sub_8146AC8
.4byte sub_8146B24
.4byte sub_8146D90
.4byte sub_8146B7C
.4byte sub_8146BA8
.align 2
sPhase2_Transition_PokeballsTrail_Funcs:: @ 85C8B7C
.4byte sub_8146FCC
.4byte sub_8147018
.4byte sub_81470A4
.align 1
sUnknown_085C8B88:: @ 85C8B88
.2byte 0xfff0, 0x0100
.align 1
sUnknown_085C8B8C:: @ 85C8B8C
.2byte 0x0000, 0x0020, 0x0040, 0x0012, 0x0030
.align 1
sUnknown_085C8B96:: @ 85C8B96
.2byte 0x0008, 0xfff8, 0x0000
.align 2
sPhase2_Transition_Clockwise_BlackFade_Funcs:: @ 85C8B9C
.4byte sub_814723C
.4byte sub_81472A4
.4byte sub_8147334
.4byte sub_8147428
.4byte sub_81474B0
.4byte sub_81475B0
.4byte sub_8147648
.align 2
sPhase2_Transition_Ripple_Funcs:: @ 85C8BB8
.4byte sub_8147750
.4byte sub_81477A8
.align 2
sPhase2_Transition_Wave_Funcs:: @ 85C8BC0
.4byte sub_8147924
.4byte sub_814797C
.4byte sub_8147A18
.align 2
sPhase2_Mugshot_Transition_Funcs:: @ 85C8BCC
.4byte sub_8147BBC
.4byte sub_8147C24
.4byte sub_8147CE4
.4byte sub_8147DD0
.4byte sub_8147E4C
.4byte sub_8147E88
.4byte sub_8147F40
.4byte sub_8148008
.4byte sub_8148040
.4byte sub_814808C
sMugshotsTrainerPicIDsTable:: @ 85C8BF4
.byte 0x24, 0x25, 0x26, 0x27, 0x36, 0x00
.align 1
sMugshotsOpponentRotationScales:: @ 85C8BFA
.2byte 0x0200, 0x0200, 0x0200, 0x0200, 0x01b0, 0x01b0, 0x01a0, 0x01a0, 0x0188, 0x0188
.align 1
sMugshotsOpponentCoords:: @ 85C8C0E
.2byte 0x0000, 0x0000, 0x0000, 0x0000, 0xfffc, 0x0004, 0x0000, 0x0005, 0xfff8, 0x0007, 0x0000
.align 2
sUnknown_085C8C24:: @ 85C8C24
.4byte sub_81483A8
.4byte sub_81483AC
.4byte sub_81483F8
.4byte sub_814842C
.4byte sub_81483A8
.4byte sub_8148458
.4byte sub_81483A8
.align 1
sUnknown_085C8C40:: @ 85C8C40
.2byte 0x000c, 0xfff4
.align 1
sUnknown_085C8C44:: @ 85C8C44
.2byte 0xffff, 0x0001
.align 2
gUnknown_085C8C48:: @ 85C8C48
.4byte sub_8148508
.4byte sub_8148590
.4byte sub_814865C
.align 2
gUnknown_085C8C54:: @ 85C8C54
.4byte sub_8148798
.4byte sub_8148864
.4byte sub_8148AD4
.4byte sub_8148B14
.align 1
gUnknown_085C8C64:: @ 85C8C64
.2byte 0x7727
.align 1
gUnknown_085C8C66:: @ 85C8C66
.2byte 0x0001, 0xffff, 0x0000
.align 2
gUnknown_085C8C6C:: @ 85C8C6C
.4byte sub_8148BC4
.4byte sub_8148CE8
.4byte sub_8148C28
.align 2
gUnknown_085C8C78:: @ 85C8C78
.4byte sub_8148BC4
.4byte sub_8148D6C
.align 1
gUnknown_085C8C80:: @ 85C8C80
.2byte 0xfffa, 0x0004
.align 2
gUnknown_085C8C84:: @ 85C8C84
.4byte sub_8148E8C
.4byte sub_8148F4C
.4byte sub_8149008
gUnknown_085C8C90:: @ 85C8C90
.2byte 0x0001, 0x001b, 0x0113, 0xffff
gUnknown_085C8C98:: @ 85C8C98
.2byte 0x0002, 0x01e6, 0xffff
gUnknown_085C8C9E:: @ 85C8C9E
.2byte 0x0003, 0x0106, 0xffff
gUnknown_085C8CA4:: @ 85C8CA4
.2byte 0x0004, 0x01fb, 0xfffe
gUnknown_085C8CAA:: @ 85C8CAA
.2byte 0x0001, 0x00d5, 0xffff
gUnknown_085C8CB0:: @ 85C8CB0
.2byte 0x0002, 0x0224, 0xfffe
gUnknown_085C8CB6:: @ 85C8CB6
.2byte 0x0003, 0x00c4, 0xffff
gUnknown_085C8CBC:: @ 85C8CBC
.2byte 0x0004, 0x023d, 0x0135, 0xffff
gUnknown_085C8CC4:: @ 85C8CC4
.2byte 0x0001, 0x01da, 0xffff
gUnknown_085C8CCA:: @ 85C8CCA
.2byte 0x0002, 0x0127, 0x0020, 0xffff
gUnknown_085C8CD2:: @ 85C8CD2
.2byte 0x0003, 0x003a, 0xffff
gUnknown_085C8CD8:: @ 85C8CD8
.2byte 0x0004, 0x01c7, 0xffff
gUnknown_085C8CDE:: @ 85C8CDE
.2byte 0x0001, 0x021c, 0xffff
gUnknown_085C8CE4:: @ 85C8CE4
.2byte 0x0002, 0x00e5, 0xffff
gUnknown_085C8CEA:: @ 85C8CEA
.2byte 0x0003, 0x00f4, 0x001c, 0xffff
gUnknown_085C8CF2:: @ 85C8CF2
.2byte 0x0004, 0x0205, 0xffff
.align 2
gUnknown_085C8CF8:: @ 85C8CF8
.4byte gUnknown_085C8C90
.4byte gUnknown_085C8CA4
.4byte gUnknown_085C8C98
.4byte gUnknown_085C8C9E
.4byte gUnknown_085C8CEA
.4byte gUnknown_085C8CE4
.4byte gUnknown_085C8CF2
.4byte gUnknown_085C8CDE
.align 2
gUnknown_085C8D18:: @ 85C8D18
.4byte gUnknown_085C8CBC
.4byte gUnknown_085C8CB0
.4byte gUnknown_085C8CB6
.4byte gUnknown_085C8CAA
.4byte gUnknown_085C8CCA
.4byte gUnknown_085C8CD8
.4byte gUnknown_085C8CC4
.4byte gUnknown_085C8CD2
.align 2
gUnknown_085C8D38:: @ 85C8D38
.4byte gUnknown_085C8CF8
.4byte gUnknown_085C8D18
.align 2
gUnknown_085C8D40:: @ 85C8D40
.4byte sub_8146DAC
.4byte sub_8146DD8
.4byte sub_8149178
.4byte sub_81491C8
.4byte sub_8149224
.4byte sub_8146D90
.4byte sub_8146B7C
.4byte sub_8146BA8
.align 2
gUnknown_085C8D60:: @ 85C8D60
.4byte sub_8146DAC
.4byte sub_8146DD8
.4byte sub_81492B4
.4byte sub_8149358
.4byte sub_8149388
.4byte sub_81493D8
.4byte sub_8149410
.4byte sub_814943C
.4byte sub_814946C
.4byte sub_8148CE8
.4byte sub_8148C28
.align 2
gUnknown_085C8D8C:: @ 85C8D8C
.4byte sub_81495B0
.4byte sub_8149628
.4byte sub_814969C
.4byte sub_81496D8
.4byte sub_8149740
.align 1
sUnknown_085C8DA0:: @ 85C8DA0
.2byte 0x0000, 0x0014, 0x000f, 0x0028, 0x000a, 0x0019, 0x0023, 0x0005
.align 2
sUnknown_085C8DB0:: @ 85C8DB0
.4byte sub_8149994
.4byte sub_81499E8
.4byte sub_8149A40
.align 2
sPhase2_Transition_Shards_Funcs:: @ 85C8DBC
.4byte sub_8149AA4
.4byte sub_8149B08
.4byte sub_8149B84
.4byte sub_8149C60
.4byte sub_8149CCC
.align 1
sUnknown_085C8DD0:: @ 85C8DD0
.2byte 0x0038, 0x0000, 0x0000, 0x00a0, 0x0000, 0x0068, 0x00a0, 0x00f0, 0x0058, 0x0001, 0x00f0, 0x0048, 0x0038, 0x0000, 0x0001, 0x0000
.2byte 0x0020, 0x0090, 0x00a0, 0x0000, 0x0090, 0x00a0, 0x00b8, 0x0000, 0x0001, 0x0038, 0x0000, 0x00a8, 0x00a0, 0x0000, 0x00a8, 0x00a0
.2byte 0x0030, 0x0000, 0x0001
.align 1
sUnknown_085C8E16:: @ 85C8E16
.2byte 0x0008, 0x0004, 0x0002, 0x0001, 0x0001, 0x0001, 0x0000
.align 2
sPhase1_TransitionAll_Funcs:: @ 85C8E24
.4byte sub_8149E34
.4byte sub_8149E90
.align 2
sSpriteImageTable_85C8E2C:: @ 85C8E2C
obj_frame_tiles sSpriteImage_85B98F0, 0x0200
.align 2
sSpriteAnim_85C8E34:: @ 85C8E34
obj_image_anim_frame 0, 1
obj_image_anim_end
.align 2
sSpriteAnimTable_85C8E3C:: @ 85C8E3C
.4byte sSpriteAnim_85C8E34
.align 2
sSpriteAffineAnim_85C8E40:: @ 85C8E40
obj_rot_scal_anim_frame 0, 0, -4, 1
obj_rot_scal_anim_jump 0
.align 2
sSpriteAffineAnim_85C8E50:: @ 85C8E50
obj_rot_scal_anim_frame 0, 0, 4, 1
obj_rot_scal_anim_jump 0
.align 2
sSpriteAffineAnimTable_85C8E60:: @ 85C8E60
.4byte sSpriteAffineAnim_85C8E40
.4byte sSpriteAffineAnim_85C8E50
.align 2
gUnknown_085C8E68:: @ 85C8E68
spr_template 0xffff, 0x1009, gFieldObjectBaseOam_32x32, sSpriteAnimTable_85C8E3C, sSpriteImageTable_85C8E2C, sSpriteAffineAnimTable_85C8E60, sub_814713C
.align 2
gOamData_85C8E80:: @ 85C8E80
.2byte 0x0000, 0xc000, 0x0000, 0x0000
.align 2
sSpriteImageTable_85C8E88:: @ 85C8E88
obj_frame_tiles sSpriteImage_85B9CD0, 0x0800
.align 2
sSpriteImageTable_85C8E90:: @ 85C8E90
obj_frame_tiles sSpriteImage_85BA4D0, 0x0800
.align 2
sSpriteAnim_85C8E98:: @ 85C8E98
obj_image_anim_frame 0, 1
obj_image_anim_end
.align 2
sSpriteAnimTable_85C8EA0:: @ 85C8EA0
.4byte sSpriteAnim_85C8E98
.align 2
sSpriteTemplate_85C8EA4:: @ 85C8EA4
spr_template 0xffff, 0x100a, gOamData_85C8E80, sSpriteAnimTable_85C8EA0, sSpriteImageTable_85C8E88, gDummySpriteAffineAnimTable, sub_8148380
.align 2
sSpriteTemplate_85C8EBC:: @ 85C8EBC
spr_template 0xffff, 0x100a, gOamData_85C8E80, sSpriteAnimTable_85C8EA0, sSpriteImageTable_85C8E90, gDummySpriteAffineAnimTable, sub_8148380
.align 2
gFieldEffectObjectPalette10:: @ 85C8ED4
.incbin "graphics/map_objects/palettes/field_effect_object_palette_10.gbapal"
.align 2
gFieldEffectObjectPaletteInfo10:: @ 85C8EF4
obj_pal gFieldEffectObjectPalette10, 0x1009
.align 2
sMugshotPal_Sidney:: @ 85C8EFC
.incbin "graphics/battle_transitions/sidney_bg.gbapal"
.align 2
sMugshotPal_Phoebe:: @ 85C8F1C
.incbin "graphics/battle_transitions/phoebe_bg.gbapal"
.align 2
sMugshotPal_Glacia:: @ 85C8F3C
.incbin "graphics/battle_transitions/glacia_bg.gbapal"
.align 2
sMugshotPal_Drake:: @ 85C8F5C
.incbin "graphics/battle_transitions/drake_bg.gbapal"
.align 2
sMugshotPal_Wallace:: @ 85C8F7C
.incbin "graphics/battle_transitions/wallace_bg.gbapal"
.align 2
sMugshotPal_Brendan:: @ 85C8F9C
.incbin "graphics/battle_transitions/brendan_bg.gbapal"
.align 2
sMugshotPal_May:: @ 85C8EFC
.incbin "graphics/battle_transitions/may_bg.gbapal"
.align 2
sOpponentMugshotsPals:: @ 85C8FDC
.4byte sMugshotPal_Sidney
.4byte sMugshotPal_Phoebe
.4byte sMugshotPal_Glacia
.4byte sMugshotPal_Drake
.4byte sMugshotPal_Wallace
.align 2
sPlayerMugshotsPals:: @ 85C8FF0
.4byte sMugshotPal_Brendan
.4byte sMugshotPal_May
.align 2
sUnusedTrainerPalette:: @ 85C8EF8
.incbin "graphics/battle_transitions/unused_trainer.gbapal"
.align 2
sSpritePalette_UnusedTrainer:: @ 85C8EFC
obj_pal sUnusedTrainerPalette, 0x100A
.align 2
sBigPokeball_Tilemap:: @ 85C9020
.incbin "graphics/battle_transitions/big_pokeball_map.bin"
.align 2
sMugshotsTilemap:: @ 85C94D0
.incbin "graphics/battle_transitions/elite_four_bg_map.bin"
.align 2
gUnknown_085C99D0:: @ 85C99D0
.4byte sub_814A324
.4byte sub_814A374
.4byte sub_8146BF8
.4byte sub_8146C8C
.4byte sub_8146D20
.4byte sub_8146DF8
.align 2
gUnknown_085C99E8:: @ 85C99E8
.4byte sub_814A42C
.4byte sub_814A4D4
.4byte sub_814A500
.4byte sub_814A550
.align 2
gUnknown_085C99F8:: @ 85C99F8
.4byte sub_814A798
.4byte sub_814A828
.4byte sub_814A898
.4byte sub_814ABA0
.align 2
gUnknown_085C9A08:: @ 85C9A08
.4byte sub_814A960
.4byte sub_814AA04
.4byte sub_814AA84
.4byte sub_814AAB8
.4byte sub_814ABA0
.align 2
gUnknown_085C9A1C:: @ 85C9A1C
.4byte sub_814AC38
.4byte sub_814AD48
.4byte sub_814ADB4
.4byte sub_814ADD8
.4byte sub_814AE40
gUnknown_085C9A30:: @ 85C9A30
.byte 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x1b, 0x14, 0x0d, 0x06, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0x07, 0x0e, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x13, 0x0c, 0x0b, 0x0a, 0x09, 0x08, 0x0f
.byte 0x10, 0x11, 0x12
gUnknown_085C9A53:: @ 85C9A53
.byte 0x00, 0x10, 0x29, 0x16, 0x2c, 0x02, 0x2b, 0x15, 0x2e, 0x1b, 0x09, 0x30, 0x26, 0x05, 0x39, 0x3b, 0x0c, 0x3f, 0x23, 0x1c, 0x0a, 0x35, 0x07, 0x31, 0x27, 0x17, 0x37, 0x01, 0x3e, 0x11, 0x3d, 0x1e
.byte 0x06, 0x22, 0x0f, 0x33, 0x20, 0x3a, 0x0d, 0x2d, 0x25, 0x34, 0x0b, 0x18, 0x3c, 0x13, 0x38, 0x21, 0x1d, 0x32, 0x28, 0x36, 0x0e, 0x03, 0x2f, 0x14, 0x12, 0x19, 0x04, 0x24, 0x1a, 0x2a, 0x1f, 0x08
.byte 0x00

View File

@ -256,7 +256,7 @@ gFieldEffectScript_Unknown44:: @ 82DBC45
gFieldEffectScript_Unknown45:: @ 82DBC4B
field_eff_loadpal gFieldEffectObjectPaletteInfo10
field_eff_callnative sub_81470D0
field_eff_callnative FldEff_Pokeball
field_eff_end
gFieldEffectScript_HeartIcon:: @ 82DBC56

View File

@ -1,12 +1,27 @@
#ifndef GUARD_BATTLE_TRANSITION_H
#define GUARD_BATTLE_TRANSITION_H
void sub_8149DFC(u8 a1);
void BattleTransition_StartOnField(u8 transitionID);
void BattleTransition_Start(u8 transitionID);
void TestBattleTransition(u8 transitionId);
void BattleTransition_StartOnField(u8 transitionId);
void BattleTransition_Start(u8 transitionId);
bool8 IsBattleTransitionDone(void);
bool8 FldEff_Pokeball(void);
void TransitionPhase1_Task_RunFuncs(u8 taskId);
void sub_8149F58(u16 **a0, u16 **a1);
// credits for the names go to Dyskinesia and Tetrable
extern const struct SpritePalette gFieldEffectObjectPaletteInfo10;
enum // TRANSITION_MUGSHOT
{
MUGSHOT_SYDNEY,
MUGSHOT_PHOEBE,
MUGSHOT_GLACIA,
MUGSHOT_DRAKE,
MUGSHOT_CHAMPION,
MUGSHOTS_COUNT
};
// credits for the names go to Dyskinesia, Tetrable and Farore
// names are naturally subject to change
#define B_TRANSITION_BLUR 0
@ -35,10 +50,10 @@ bool8 IsBattleTransitionDone(void);
#define B_TRANSITION_KYOGRE 22
#define B_TRANSITION_GROUDON 23
#define B_TRANSITION_RAYQUAZA 24
#define B_TRANSITION_25 25
#define B_TRANSITION_26 26
#define B_TRANSITION_27 27
#define B_TRANSITION_28 28
#define B_TRANSITION_SHRED_SPLIT 25
#define B_TRANSITION_BLACKHOLE1 26
#define B_TRANSITION_BLACKHOLE2 27
#define B_TRANSITION_RECTANGULAR_SPIRAL 28
#define B_TRANSITION_29 29
#define B_TRANSITION_30 30
#define B_TRANSITION_31 31
@ -52,5 +67,6 @@ bool8 IsBattleTransitionDone(void);
#define B_TRANSITION_39 39
#define B_TRANSITION_40 40
#define B_TRANSITION_41 41
#define B_TRANSITION_COUNT 42
#endif // GUARD_BATTLE_TRANSITION_H

View File

@ -70,7 +70,7 @@ void CopyToBgTilemapBuffer(u8 bg, const void *src, u16 mode, u16 destOffset);
void CopyBgTilemapBufferToVram(u8 bg);
void CopyToBgTilemapBufferRect(u8 bg, void* src, u8 destX, u8 destY, u8 width, u8 height);
void CopyToBgTilemapBufferRect_ChangePalette(u8 bg, void *src, u8 destX, u8 destY, u8 rectWidth, u8 rectHeight, u8 palette);
void CopyRectToBgTilemapBufferRect(u8 bg, void* src, u8 srcX, u8 srcY, u8 srcWidth, u8 srcHeight, u8 destX, u8 destY, u8 rectWidth, u8 rectHeight, u8 palette1, u16 tileOffset, u16 palette2);
void CopyRectToBgTilemapBufferRect(u8 bg, const void *src, u8 srcX, u8 srcY, u8 srcWidth, u8 srcHeight, u8 destX, u8 destY, u8 rectWidth, u8 rectHeight, u8 palette1, u16 tileOffset, u16 palette2);
void FillBgTilemapBufferRect_Palette0(u8 bg, u16 tileNum, u8 x, u8 y, u8 width, u8 height);
void FillBgTilemapBufferRect(u8 bg, u16 tileNum, u8 x, u8 y, u8 width, u8 height, u8 palette);
void WriteSequenceToBgTilemapBuffer(u8 bg, u16 firstTileNum, u8 x, u8 y, u8 width, u8 height, u8 paletteSlot, s16 tileNumDelta);

View File

@ -24,6 +24,7 @@ extern u16 gUnknown_03005DE8;
void DrawWholeMapView(void);
void CurrentMapDrawMetatileAt(int x, int y);
void sub_8089C08(s16 *a0, s16 *a1);
void DrawDoorMetatileAt(int x, int y, u16 *arr);
#endif //GUARD_FIELD_CAMERA_H

View File

@ -75,6 +75,7 @@ u32 FieldEffectStart(u8);
bool8 FieldEffectActiveListContains(u8 id);
void sub_80B69DC(void);
void FieldEffectStop(struct Sprite *sprite, u8 id);
u8 CreateTrainerSprite(u8 trainerSpriteID, s16 x, s16 y, u8 subpriority, u8 *buffer);
void sub_80B7FC8(void);
void FieldEffectActiveListRemove(u8 id);

View File

@ -501,12 +501,12 @@
// I/O register fields
// DISPCNT
#define DISPCNT_MODE_0 0x0000
#define DISPCNT_MODE_1 0x0001
#define DISPCNT_MODE_2 0x0002
#define DISPCNT_MODE_3 0x0003
#define DISPCNT_MODE_4 0x0004
#define DISPCNT_MODE_5 0x0005
#define DISPCNT_MODE_0 0x0000 // BG0: text, BG1: text, BG2: text, BG3: text
#define DISPCNT_MODE_1 0x0001 // BG0: text, BG1: text, BG2: affine, BG3: off
#define DISPCNT_MODE_2 0x0002 // BG0: off, BG1: off, BG2: affine, BG3: affine
#define DISPCNT_MODE_3 0x0003 // Bitmap mode, 240x160, BGR555 color
#define DISPCNT_MODE_4 0x0004 // Bitmap mode, 240x160, 256 color palette
#define DISPCNT_MODE_5 0x0005 // Bitmap mode, 160x128, BGR555 color
#define DISPCNT_OBJ_1D_MAP 0x0040
#define DISPCNT_FORCED_BLANK 0x0080
#define DISPCNT_BG0_ON 0x0100
@ -527,7 +527,46 @@
#define DISPSTAT_HBLANK_INTR 0x0010 // H-Blank interrupt enabled
#define DISPSTAT_VCOUNT_INTR 0x0020 // V-Count interrupt enabled
// BGCNT
#define BGCNT_PRIORITY(n) (n) // Values 0 - 3. Lower priority BGs will be drawn on top of higher priority BGs.
#define BGCNT_CHARBASE(n) ((n) << 2) // Values 0 - 3. Base block for tile pixel data.
#define BGCNT_MOSAIC 0x0040
#define BGCNT_16COLOR 0x0000 // 4 bits per pixel
#define BGCNT_256COLOR 0x0080 // 8 bits per pixel
#define BGCNT_SCREENBASE(n) ((n) << 8) // Values 0 - 31. Base block for tile map.
#define BGCNT_WRAP 0x2000 // Only affects affine BGs. Text BGs wrap by default.
#define BGCNT_TXT256x256 0x0000 // Internal screen size size of text mode BG in pixels.
#define BGCNT_TXT512x256 0x4000
#define BGCNT_TXT256x512 0x8000
#define BGCNT_TXT512x512 0xC000
#define BGCNT_AFF128x128 0x0000 // Internal screen size size of affine mode BG in pixels.
#define BGCNT_AFF256x256 0x4000
#define BGCNT_AFF512x512 0x8000
#define BGCNT_AFF1024x1024 0xC000
// BLDCNT
// Bits 0-5 select layers for the 1st target
#define BLDCNT_TGT1_BG0 (1 << 0)
#define BLDCNT_TGT1_BG1 (1 << 1)
#define BLDCNT_TGT1_BG2 (1 << 2)
#define BLDCNT_TGT1_BG3 (1 << 3)
#define BLDCNT_TGT1_OBJ (1 << 4)
#define BLDCNT_TGT1_BD (1 << 5)
// Bits 6-7 select the special effect
#define BLDCNT_EFFECT_NONE (0 << 6) // no special effect
#define BLDCNT_EFFECT_BLEND (1 << 6) // 1st+2nd targets mixed (controlled by BLDALPHA)
#define BLDCNT_EFFECT_LIGHTEN (2 << 6) // 1st target becomes whiter (controlled by BLDY)
#define BLDCNT_EFFECT_DARKEN (3 << 6) // 1st target becomes blacker (controlled by BLDY)
// Bits 8-13 select layers for the 2nd target
#define BLDCNT_TGT2_BG0 (1 << 8)
#define BLDCNT_TGT2_BG1 (1 << 9)
#define BLDCNT_TGT2_BG2 (1 << 10)
#define BLDCNT_TGT2_BG3 (1 << 11)
#define BLDCNT_TGT2_OBJ (1 << 12)
#define BLDCNT_TGT2_BD (1 << 13)
// BLDALPHA
#define BLDALPHA_BLEND(target1, target2) (((target2) << 8) | (target1))
// SOUNDCNT_H
#define SOUND_CGB_MIX_QUARTER 0x0000
@ -627,8 +666,8 @@
#define KEY_INTR_ENABLE 0x0400
#define KEY_OR_INTR 0x0000
#define KEY_AND_INTR 0x8000
#define DPAD_ANY ((DPAD_RIGHT | DPAD_LEFT | DPAD_UP | DPAD_DOWN))
#define JOY_EXCL_DPAD 0x030F
// interrupt flags
#define INTR_FLAG_VBLANK (1 << 0)

View File

@ -74,4 +74,6 @@ void mapldr_default(void);
void IncrementGameStat(u8);
u32 GetGameStat(u8);
void CB2_OverworldBasic(void);
#endif //GUARD_ROM4_H

13
include/unk_transition.h Normal file
View File

@ -0,0 +1,13 @@
#ifndef GUARD_UNK_TRANSITION_H
#define GUARD_UNK_TRANSITION_H
void Phase2Task_34(u8 taskId);
void Phase2Task_35(u8 taskId);
void Phase2Task_36(u8 taskId);
void Phase2Task_37(u8 taskId);
void Phase2Task_38(u8 taskId);
void Phase2Task_39(u8 taskId);
void Phase2Task_40(u8 taskId);
void Phase2Task_41(u8 taskId);
#endif // GUARD_UNK_TRANSITION_H

View File

@ -197,7 +197,7 @@ SECTIONS {
src/coins.o(.text);
src/landmark.o(.text);
asm/fldeff_strength.o(.text);
asm/battle_transition.o(.text);
src/battle_transition.o(.text);
src/battle_controller_link_partner.o(.text);
src/battle_message.o(.text);
asm/cable_car.o(.text);
@ -275,7 +275,6 @@ SECTIONS {
asm/trainer_rematch.o(.text);
asm/unk_sprite_file.o(.text);
asm/unk_transition.o(.text);
asm/unk_transition_2.o(.text);
src/international_string_util.o(.text);
asm/international_string_util.o(.text);
} =0
@ -482,7 +481,7 @@ SECTIONS {
data/roulette.o(.rodata);
data/pokedex_cry_screen.o(.rodata);
src/landmark.o(.rodata);
data/battle_transition.o(.rodata);
src/battle_transition.o(.rodata);
src/battle_controller_link_partner.o(.rodata);
src/battle_message.o(.rodata);
data/cable_car.o(.rodata);

4346
src/battle_transition.c Normal file

File diff suppressed because it is too large Load Diff

View File

@ -1007,7 +1007,7 @@ void CopyToBgTilemapBufferRect_ChangePalette(u8 bg, void *src, u8 destX, u8 dest
}
// Skipping for now, it probably uses structs passed by value
/*
void CopyRectToBgTilemapBufferRect(u8 bg, void* src, u8 srcX, u8 srcY, u8 srcWidth, u8 srcHeight, u8 destX, u8 destY, u8 rectWidth, u8 rectHeight, u8 palette1, u16 tileOffset, u16 palette2)
void CopyRectToBgTilemapBufferRect(u8 bg, const void* src, u8 srcX, u8 srcY, u8 srcWidth, u8 srcHeight, u8 destX, u8 destY, u8 rectWidth, u8 rectHeight, u8 palette1, u16 tileOffset, u16 palette2)
{
u16 attribute;
u16 mode;
@ -1049,7 +1049,7 @@ void CopyRectToBgTilemapBufferRect(u8 bg, void* src, u8 srcX, u8 srcY, u8 srcWid
}
}*/
__attribute__((naked))
void CopyRectToBgTilemapBufferRect(u8 bg, void* src, u8 srcX, u8 srcY, u8 srcWidth, u8 srcHeight, u8 destX, u8 destY, u8 rectWidth, u8 rectHeight, u8 palette1, u16 tileOffset, u16 palette2)
void CopyRectToBgTilemapBufferRect(u8 bg, const void* src, u8 srcX, u8 srcY, u8 srcWidth, u8 srcHeight, u8 destX, u8 destY, u8 rectWidth, u8 rectHeight, u8 palette1, u16 tileOffset, u16 palette2)
{
asm("push {r4-r7,lr}\n\
mov r7, r10\n\

View File

@ -5,6 +5,7 @@
#include "blend_palette.h"
#include "battle_transition.h"
#include "task.h"
#include "battle_transition.h"
// Static type declarations
@ -1392,7 +1393,7 @@ static void sub_80A1818(u16 a1)
{
CpuCopy16(gTilesetAnims_BattleDomePals0[a1 & 0x3], gPlttBufferUnfaded + 0x80, 32);
BlendPalette(0x80, 0x10, gPaletteFade.y, gPaletteFade.blendColor & 0x7FFF);
if ((u8)FindTaskIdByFunc(sub_8149DFC) != 0xFF )
if ((u8)FindTaskIdByFunc(TransitionPhase1_Task_RunFuncs) != 0xFF )
{
sSecondaryTilesetCB = sub_80A1670;
sSecondaryTilesetCBBufferSize = 0x20;
@ -1402,7 +1403,7 @@ static void sub_80A1818(u16 a1)
static void sub_80A1884(u16 a1)
{
CpuCopy16(gTilesetAnims_BattleDomePals0[a1 & 0x3], gPlttBufferUnfaded + 0x80, 32);
if ((u8)FindTaskIdByFunc(sub_8149DFC) == 0xFF )
if ((u8)FindTaskIdByFunc(TransitionPhase1_Task_RunFuncs) == 0xFF )
{
BlendPalette(0x80, 0x10, gPaletteFade.y, gPaletteFade.blendColor & 0x7FFF);
if (!--sSecondaryTilesetCBBufferSize)

View File

@ -73,17 +73,7 @@ gUnknown_03001202: @ 3001202
gUnknown_03001204: @ 3001204
.space 0x4
gUnknown_03001208: @ 3001208
.space 0x2
sTestingTransitionId: @ 300120A
.space 0x1
sTestingTransitionState: @ 300120B
.space 0x5
gUnknown_03001210: @ 3001210
.space 0x30
.include "src/battle_transition.o"
gUnknown_03001240: @ 3001240
.space 0x30

View File

@ -1193,10 +1193,7 @@ gUnknown_0203AB98: @ 203AB98
.space 0x4
.include "src/coins.o"
.align 2
sTransitionStructPtr: @ 203ABA0
.space 0x4
.include "src/battle_transition.o"
gAbilitiesPerBank: @ 203ABA4
.space 0x4