summaryrefslogtreecommitdiff
path: root/asm
diff options
context:
space:
mode:
authorDizzyEggg <jajkodizzy@wp.pl>2017-08-27 00:27:12 +0200
committerDizzyEggg <jajkodizzy@wp.pl>2017-08-27 00:27:12 +0200
commita458401c7050834326e98cf739ff29fed461d542 (patch)
tree09eff4e2ad4c14e181491edfd12bc815a53a03c7 /asm
parentb40b8dd1bbeb196231ca24a16553bd75490edce5 (diff)
start working on evo scene
Diffstat (limited to 'asm')
-rw-r--r--asm/evolution_scene.s1280
1 files changed, 4 insertions, 1276 deletions
diff --git a/asm/evolution_scene.s b/asm/evolution_scene.s
index 54011fb4e..fd0b5cbd9 100644
--- a/asm/evolution_scene.s
+++ b/asm/evolution_scene.s
@@ -6,1279 +6,7 @@
.text
- thumb_func_start CB2_BeginEvolutionScene
-CB2_BeginEvolutionScene: @ 8111894
- push {lr}
- bl UpdatePaletteFade
- bl RunTasks
- pop {r0}
- bx r0
- thumb_func_end CB2_BeginEvolutionScene
-
- thumb_func_start Task_BeginEvolutionScene
-Task_BeginEvolutionScene: @ 81118A4
- push {r4-r7,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r2, r0, 24
- movs r7, 0
- ldr r1, _081118C8 @ =gTasks
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _081118CC
- cmp r0, 0x1
- beq _081118E4
- b _08111918
- .align 2, 0
-_081118C8: .4byte gTasks
-_081118CC:
- movs r0, 0x1
- negs r0, r0
- str r7, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _08111918
-_081118E4:
- ldr r0, _08111920 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08111918
- movs r0, 0xA
- ldrsh r7, [r4, r0]
- movs r1, 0xC
- ldrsh r0, [r4, r1]
- lsls r0, 16
- orrs r7, r0
- ldrh r5, [r4, 0x10]
- ldrb r6, [r4, 0x12]
- ldrh r4, [r4, 0x20]
- lsls r4, 24
- lsrs r4, 24
- adds r0, r2, 0
- bl DestroyTask
- adds r0, r7, 0
- adds r1, r5, 0
- adds r2, r6, 0
- adds r3, r4, 0
- bl EvolutionScene
-_08111918:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08111920: .4byte gPaletteFade
- thumb_func_end Task_BeginEvolutionScene
-
- thumb_func_start BeginEvolutionScene
-BeginEvolutionScene: @ 8111924
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- mov r8, r0
- adds r4, r1, 0
- adds r5, r2, 0
- adds r6, r3, 0
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 24
- lsrs r5, 24
- lsls r6, 24
- lsrs r6, 24
- ldr r0, _08111978 @ =Task_BeginEvolutionScene
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _0811197C @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- movs r0, 0
- strh r0, [r1, 0x8]
- mov r0, r8
- strh r0, [r1, 0xA]
- mov r0, r8
- lsrs r0, 16
- strh r0, [r1, 0xC]
- strh r4, [r1, 0x10]
- strh r5, [r1, 0x12]
- strh r6, [r1, 0x20]
- ldr r0, _08111980 @ =CB2_BeginEvolutionScene
- bl SetMainCallback2
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08111978: .4byte Task_BeginEvolutionScene
-_0811197C: .4byte gTasks
-_08111980: .4byte CB2_BeginEvolutionScene
- thumb_func_end BeginEvolutionScene
-
- thumb_func_start EvolutionScene
-EvolutionScene: @ 8111984
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x38
- str r0, [sp, 0x20]
- mov r10, r1
- mov r0, r10
- lsls r0, 16
- lsrs r0, 16
- mov r10, r0
- lsls r2, 24
- lsrs r2, 24
- str r2, [sp, 0x24]
- lsls r3, 24
- lsrs r3, 24
- str r3, [sp, 0x28]
- movs r0, 0
- bl SetHBlankCallback
- movs r0, 0
- bl SetVBlankCallback
- movs r5, 0
- str r5, [sp, 0x1C]
- add r0, sp, 0x1C
- movs r1, 0xC0
- lsls r1, 19
- ldr r2, _08111C10 @ =0x05006000
- bl CpuSet
- ldr r0, _08111C14 @ =REG_MOSAIC
- strh r5, [r0]
- subs r0, 0xC
- strh r5, [r0]
- adds r0, 0x4
- strh r5, [r0]
- subs r0, 0x2
- strh r5, [r0]
- adds r0, 0x4
- strh r5, [r0]
- adds r0, 0x2
- strh r5, [r0]
- adds r0, 0x2
- strh r5, [r0]
- ldr r4, _08111C18 @ =gWindowConfig_81E6C58
- adds r0, r4, 0
- bl SetUpWindowConfig
- bl ResetPaletteFade
- ldr r0, _08111C1C @ =gUnknown_030042A4
- strh r5, [r0]
- ldr r0, _08111C20 @ =gUnknown_030042A0
- strh r5, [r0]
- ldr r0, _08111C24 @ =gUnknown_030042C0
- strh r5, [r0]
- ldr r0, _08111C28 @ =gUnknown_030041B4
- strh r5, [r0]
- ldr r0, _08111C2C @ =gUnknown_03004288
- strh r5, [r0]
- ldr r0, _08111C30 @ =gUnknown_03004280
- strh r5, [r0]
- ldr r1, _08111C34 @ =gUnknown_030041B0
- movs r2, 0x80
- lsls r2, 1
- adds r0, r2, 0
- strh r0, [r1]
- ldr r0, _08111C38 @ =gUnknown_030041B8
- strh r5, [r0]
- ldr r0, _08111C3C @ =gUnknown_03004210
- adds r1, r4, 0
- bl InitWindowFromConfig
- ldr r1, _08111C40 @ =gBattleTerrain
- movs r0, 0x9
- strb r0, [r1]
- bl sub_800D6D4
- bl sub_800DAB8
- bl ResetSpriteData
- bl remove_some_task
- bl ResetTasks
- bl FreeAllSpritePalettes
- ldr r0, _08111C44 @ =gReservedSpritePaletteCount
- movs r3, 0x4
- strb r3, [r0]
- ldr r0, [sp, 0x20]
- movs r1, 0x2
- add r2, sp, 0x8
- bl GetMonData
- ldr r0, _08111C48 @ =gStringVar1
- add r1, sp, 0x8
- bl StringCopy10
- ldr r0, _08111C4C @ =gStringVar2
- movs r1, 0xB
- mov r4, r10
- muls r4, r1
- adds r1, r4, 0
- ldr r2, _08111C50 @ =gSpeciesNames
- adds r1, r2
- bl StringCopy
- ldr r0, [sp, 0x20]
- movs r1, 0xB
- bl GetMonData
- adds r6, r0, 0
- lsls r6, 16
- lsrs r6, 16
- ldr r0, [sp, 0x20]
- movs r1, 0x1
- bl GetMonData
- str r0, [sp, 0x2C]
- ldr r0, [sp, 0x20]
- movs r1, 0
- bl GetMonData
- str r0, [sp, 0x30]
- lsls r0, r6, 3
- ldr r1, _08111C54 @ =gMonFrontPicTable
- adds r0, r1
- lsls r2, r6, 2
- ldr r3, _08111C58 @ =gMonFrontPicCoords
- adds r2, r3
- ldrb r1, [r2]
- ldrb r2, [r2, 0x1]
- ldr r4, _08111C5C @ =gUnknown_081FAF4C
- ldr r3, [r4, 0x4]
- str r3, [sp]
- str r6, [sp, 0x4]
- movs r3, 0x80
- lsls r3, 18
- bl DecompressPicFromTable_2
- adds r0, r6, 0
- ldr r1, [sp, 0x2C]
- ldr r2, [sp, 0x30]
- bl sub_80409C8
- ldr r0, [r0]
- movs r1, 0x88
- lsls r1, 1
- movs r2, 0x20
- bl LoadCompressedPalette
- adds r0, r6, 0
- movs r1, 0x1
- bl GetMonSpriteTemplate_803C56C
- ldr r0, _08111C60 @ =gUnknown_02024E8C
- mov r9, r0
- ldr r1, _08111C64 @ =gDummySpriteAffineAnimTable
- str r1, [r0, 0x10]
- movs r1, 0x78
- movs r2, 0x40
- movs r3, 0x1E
- bl CreateSprite
- lsls r1, r0, 24
- lsrs r2, r1, 24
- ldr r3, _08111C68 @ =0x02014800
- strb r0, [r3]
- ldr r7, _08111C6C @ =gSprites
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- movs r4, 0x1C
- adds r4, r7
- mov r8, r4
- adds r0, r1, r4
- ldr r2, _08111C70 @ =nullsub_37
- str r2, [r0]
- adds r1, r7
- ldrb r2, [r1, 0x5]
- movs r4, 0xF
- adds r0, r4, 0
- ands r0, r2
- movs r2, 0x10
- orrs r0, r2
- strb r0, [r1, 0x5]
- adds r1, 0x3E
- ldrb r0, [r1]
- movs r3, 0x4
- orrs r0, r3
- strb r0, [r1]
- mov r1, r10
- lsls r0, r1, 3
- ldr r2, _08111C54 @ =gMonFrontPicTable
- adds r0, r2
- lsls r2, r1, 2
- ldr r3, _08111C58 @ =gMonFrontPicCoords
- adds r2, r3
- ldrb r1, [r2]
- ldrb r2, [r2, 0x1]
- str r2, [sp, 0x34]
- ldr r2, _08111C5C @ =gUnknown_081FAF4C
- ldr r2, [r2, 0xC]
- str r2, [sp]
- mov r3, r10
- str r3, [sp, 0x4]
- ldr r2, [sp, 0x34]
- movs r3, 0x80
- lsls r3, 18
- bl DecompressPicFromTable_2
- mov r0, r10
- ldr r1, [sp, 0x2C]
- ldr r2, [sp, 0x30]
- bl sub_80409C8
- ldr r0, [r0]
- movs r1, 0x90
- lsls r1, 1
- movs r2, 0x20
- bl LoadCompressedPalette
- mov r0, r10
- movs r1, 0x3
- bl GetMonSpriteTemplate_803C56C
- ldr r0, _08111C64 @ =gDummySpriteAffineAnimTable
- mov r1, r9
- str r0, [r1, 0x10]
- mov r0, r9
- movs r1, 0x78
- movs r2, 0x40
- movs r3, 0x1E
- bl CreateSprite
- lsls r1, r0, 24
- lsrs r2, r1, 24
- ldr r3, _08111C68 @ =0x02014800
- strb r0, [r3, 0x1]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- add r8, r1
- ldr r0, _08111C70 @ =nullsub_37
- mov r2, r8
- str r0, [r2]
- adds r1, r7
- ldrb r0, [r1, 0x5]
- ands r4, r0
- movs r0, 0x20
- orrs r4, r0
- strb r4, [r1, 0x5]
- adds r1, 0x3E
- ldrb r0, [r1]
- movs r3, 0x4
- orrs r0, r3
- strb r0, [r1]
- bl LoadEvoSparkleSpriteAndPal
- ldr r0, _08111C74 @ =Task_EvolutionScene
- movs r1, 0
- bl CreateTask
- lsls r1, r0, 24
- lsrs r2, r1, 24
- ldr r4, _08111C68 @ =0x02014800
- strb r0, [r4, 0x2]
- ldr r1, _08111C78 @ =gTasks
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r0, r1
- strh r5, [r0, 0x8]
- strh r6, [r0, 0xE]
- mov r1, r10
- strh r1, [r0, 0x10]
- mov r2, sp
- ldrh r2, [r2, 0x20]
- strh r2, [r0, 0xA]
- ldr r3, [sp, 0x20]
- lsrs r1, r3, 16
- strh r1, [r0, 0xC]
- mov r4, sp
- ldrh r4, [r4, 0x24]
- strh r4, [r0, 0x12]
- movs r1, 0x1
- strh r1, [r0, 0x14]
- strh r5, [r0, 0x1E]
- mov r1, sp
- ldrh r1, [r1, 0x28]
- strh r1, [r0, 0x20]
- ldr r0, _08111C7C @ =0x02009000
- ldr r1, _08111C80 @ =gPlttBufferUnfaded + 0x40
- movs r2, 0x60
- bl memcpy
- movs r1, 0x80
- lsls r1, 19
- movs r2, 0xFA
- lsls r2, 5
- adds r0, r2, 0
- strh r0, [r1]
- ldr r0, _08111C84 @ =HBlankCB_EvolutionScene
- bl SetHBlankCallback
- ldr r0, _08111C88 @ =VBlankCB_EvolutionScene
- bl SetVBlankCallback
- bl m4aMPlayAllStop
- ldr r0, _08111C8C @ =CB2_EvolutionSceneUpdate_0
- bl SetMainCallback2
- add sp, 0x38
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08111C10: .4byte 0x05006000
-_08111C14: .4byte REG_MOSAIC
-_08111C18: .4byte gWindowConfig_81E6C58
-_08111C1C: .4byte gUnknown_030042A4
-_08111C20: .4byte gUnknown_030042A0
-_08111C24: .4byte gUnknown_030042C0
-_08111C28: .4byte gUnknown_030041B4
-_08111C2C: .4byte gUnknown_03004288
-_08111C30: .4byte gUnknown_03004280
-_08111C34: .4byte gUnknown_030041B0
-_08111C38: .4byte gUnknown_030041B8
-_08111C3C: .4byte gUnknown_03004210
-_08111C40: .4byte gBattleTerrain
-_08111C44: .4byte gReservedSpritePaletteCount
-_08111C48: .4byte gStringVar1
-_08111C4C: .4byte gStringVar2
-_08111C50: .4byte gSpeciesNames
-_08111C54: .4byte gMonFrontPicTable
-_08111C58: .4byte gMonFrontPicCoords
-_08111C5C: .4byte gUnknown_081FAF4C
-_08111C60: .4byte gUnknown_02024E8C
-_08111C64: .4byte gDummySpriteAffineAnimTable
-_08111C68: .4byte 0x02014800
-_08111C6C: .4byte gSprites
-_08111C70: .4byte nullsub_37
-_08111C74: .4byte Task_EvolutionScene
-_08111C78: .4byte gTasks
-_08111C7C: .4byte 0x02009000
-_08111C80: .4byte gPlttBufferUnfaded + 0x40
-_08111C84: .4byte HBlankCB_EvolutionScene
-_08111C88: .4byte VBlankCB_EvolutionScene
-_08111C8C: .4byte CB2_EvolutionSceneUpdate_0
- thumb_func_end EvolutionScene
-
- thumb_func_start CB2_EvolutionSceneLoadGraphics
-CB2_EvolutionSceneLoadGraphics: @ 8111C90
- push {r4-r6,lr}
- mov r6, r10
- mov r5, r9
- mov r4, r8
- push {r4-r6}
- sub sp, 0xC
- ldr r2, _08111E14 @ =gTasks
- ldr r0, _08111E18 @ =0x02014800
- mov r9, r0
- ldrb r1, [r0, 0x2]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- movs r1, 0x20
- ldrsh r2, [r0, r1]
- movs r1, 0x64
- adds r4, r2, 0
- muls r4, r1
- ldr r1, _08111E1C @ =gPlayerParty
- adds r4, r1
- ldrh r6, [r0, 0x10]
- adds r0, r4, 0
- movs r1, 0x1
- bl GetMonData
- mov r10, r0
- adds r0, r4, 0
- movs r1, 0
- bl GetMonData
- mov r8, r0
- movs r0, 0
- bl SetHBlankCallback
- movs r0, 0
- bl SetVBlankCallback
- movs r5, 0
- str r5, [sp, 0x8]
- movs r1, 0xC0
- lsls r1, 19
- ldr r2, _08111E20 @ =0x05006000
- add r0, sp, 0x8
- bl CpuSet
- ldr r0, _08111E24 @ =REG_MOSAIC
- strh r5, [r0]
- subs r0, 0xC
- strh r5, [r0]
- adds r0, 0x4
- strh r5, [r0]
- subs r0, 0x2
- strh r5, [r0]
- adds r0, 0x4
- strh r5, [r0]
- adds r0, 0x2
- strh r5, [r0]
- adds r0, 0x2
- strh r5, [r0]
- ldr r4, _08111E28 @ =gWindowConfig_81E6C58
- adds r0, r4, 0
- bl SetUpWindowConfig
- bl ResetPaletteFade
- ldr r0, _08111E2C @ =gUnknown_030042A4
- strh r5, [r0]
- ldr r0, _08111E30 @ =gUnknown_030042A0
- strh r5, [r0]
- ldr r0, _08111E34 @ =gUnknown_030042C0
- strh r5, [r0]
- ldr r0, _08111E38 @ =gUnknown_030041B4
- strh r5, [r0]
- ldr r0, _08111E3C @ =gUnknown_03004288
- strh r5, [r0]
- ldr r0, _08111E40 @ =gUnknown_03004280
- strh r5, [r0]
- ldr r1, _08111E44 @ =gUnknown_030041B0
- movs r2, 0x80
- lsls r2, 1
- adds r0, r2, 0
- strh r0, [r1]
- ldr r0, _08111E48 @ =gUnknown_030041B8
- strh r5, [r0]
- ldr r0, _08111E4C @ =gUnknown_03004210
- adds r1, r4, 0
- bl InitWindowFromConfig
- ldr r1, _08111E50 @ =gBattleTerrain
- movs r0, 0x9
- strb r0, [r1]
- bl sub_800D6D4
- bl sub_800DAB8
- bl ResetSpriteData
- bl FreeAllSpritePalettes
- ldr r1, _08111E54 @ =gReservedSpritePaletteCount
- movs r0, 0x4
- strb r0, [r1]
- lsls r0, r6, 3
- ldr r1, _08111E58 @ =gMonFrontPicTable
- adds r0, r1
- ldr r1, _08111E5C @ =gMonFrontPicCoords
- lsls r2, r6, 2
- adds r2, r1
- ldrb r1, [r2]
- ldrb r2, [r2, 0x1]
- movs r3, 0x80
- lsls r3, 18
- ldr r4, _08111E60 @ =gUnknown_081FAF4C
- ldr r4, [r4, 0xC]
- str r4, [sp]
- str r6, [sp, 0x4]
- bl DecompressPicFromTable_2
- adds r0, r6, 0
- mov r1, r10
- mov r2, r8
- bl sub_80409C8
- ldr r0, [r0]
- movs r1, 0x90
- lsls r1, 1
- movs r2, 0x20
- bl LoadCompressedPalette
- adds r0, r6, 0
- movs r1, 0x3
- bl GetMonSpriteTemplate_803C56C
- ldr r0, _08111E64 @ =gUnknown_02024E8C
- ldr r1, _08111E68 @ =gDummySpriteAffineAnimTable
- str r1, [r0, 0x10]
- movs r1, 0x78
- movs r2, 0x40
- movs r3, 0x1E
- bl CreateSprite
- lsls r2, r0, 24
- lsrs r2, 24
- mov r1, r9
- strb r0, [r1, 0x1]
- ldr r3, _08111E6C @ =gSprites
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r0, r3, 0
- adds r0, 0x1C
- adds r0, r1, r0
- ldr r2, _08111E70 @ =nullsub_37
- str r2, [r0]
- adds r1, r3
- ldrb r2, [r1, 0x5]
- movs r0, 0xF
- ands r0, r2
- movs r2, 0x20
- orrs r0, r2
- strb r0, [r1, 0x5]
- movs r1, 0x80
- lsls r1, 19
- movs r2, 0xFA
- lsls r2, 5
- adds r0, r2, 0
- strh r0, [r1]
- ldr r0, _08111E74 @ =HBlankCB_EvolutionScene
- bl SetHBlankCallback
- ldr r0, _08111E78 @ =VBlankCB_EvolutionScene
- bl SetVBlankCallback
- ldr r0, _08111E7C @ =CB2_EvolutionSceneUpdate_0
- bl SetMainCallback2
- movs r0, 0x1
- negs r0, r0
- str r5, [sp]
- movs r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08111E14: .4byte gTasks
-_08111E18: .4byte 0x02014800
-_08111E1C: .4byte gPlayerParty
-_08111E20: .4byte 0x05006000
-_08111E24: .4byte REG_MOSAIC
-_08111E28: .4byte gWindowConfig_81E6C58
-_08111E2C: .4byte gUnknown_030042A4
-_08111E30: .4byte gUnknown_030042A0
-_08111E34: .4byte gUnknown_030042C0
-_08111E38: .4byte gUnknown_030041B4
-_08111E3C: .4byte gUnknown_03004288
-_08111E40: .4byte gUnknown_03004280
-_08111E44: .4byte gUnknown_030041B0
-_08111E48: .4byte gUnknown_030041B8
-_08111E4C: .4byte gUnknown_03004210
-_08111E50: .4byte gBattleTerrain
-_08111E54: .4byte gReservedSpritePaletteCount
-_08111E58: .4byte gMonFrontPicTable
-_08111E5C: .4byte gMonFrontPicCoords
-_08111E60: .4byte gUnknown_081FAF4C
-_08111E64: .4byte gUnknown_02024E8C
-_08111E68: .4byte gDummySpriteAffineAnimTable
-_08111E6C: .4byte gSprites
-_08111E70: .4byte nullsub_37
-_08111E74: .4byte HBlankCB_EvolutionScene
-_08111E78: .4byte VBlankCB_EvolutionScene
-_08111E7C: .4byte CB2_EvolutionSceneUpdate_0
- thumb_func_end CB2_EvolutionSceneLoadGraphics
-
- thumb_func_start CB2_TradeEvolutionSceneLoadGraphics
-CB2_TradeEvolutionSceneLoadGraphics: @ 8111E80
- push {r4-r7,lr}
- sub sp, 0x8
- ldr r2, _08111EB8 @ =gTasks
- ldr r0, _08111EBC @ =0x02014800
- ldrb r1, [r0, 0x2]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- movs r1, 0x20
- ldrsh r2, [r0, r1]
- movs r1, 0x64
- muls r2, r1
- ldr r1, _08111EC0 @ =gPlayerParty
- adds r4, r2, r1
- ldrh r7, [r0, 0x10]
- ldr r0, _08111EC4 @ =gMain
- ldr r2, _08111EC8 @ =0x0000043c
- adds r0, r2
- ldrb r0, [r0]
- cmp r0, 0x6
- bls _08111EAE
- b _081120D6
-_08111EAE:
- lsls r0, 2
- ldr r1, _08111ECC @ =_08111ED0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08111EB8: .4byte gTasks
-_08111EBC: .4byte 0x02014800
-_08111EC0: .4byte gPlayerParty
-_08111EC4: .4byte gMain
-_08111EC8: .4byte 0x0000043c
-_08111ECC: .4byte _08111ED0
- .align 2, 0
-_08111ED0:
- .4byte _08111EEC
- .4byte _08111F68
- .4byte _08111F88
- .4byte _08111FDC
- .4byte _08111FE2
- .4byte _08112048
- .4byte _081120B4
-_08111EEC:
- movs r0, 0x80
- lsls r0, 19
- movs r4, 0
- strh r4, [r0]
- movs r0, 0
- bl SetHBlankCallback
- movs r0, 0
- bl SetVBlankCallback
- bl ResetSpriteData
- bl FreeAllSpritePalettes
- ldr r1, _08111F3C @ =gReservedSpritePaletteCount
- movs r0, 0x4
- strb r0, [r1]
- ldr r0, _08111F40 @ =gUnknown_030042A4
- strh r4, [r0]
- ldr r0, _08111F44 @ =gUnknown_030042A0
- strh r4, [r0]
- ldr r0, _08111F48 @ =gUnknown_030042C0
- strh r4, [r0]
- ldr r0, _08111F4C @ =gUnknown_030041B4
- strh r4, [r0]
- ldr r0, _08111F50 @ =gUnknown_03004288
- strh r4, [r0]
- ldr r0, _08111F54 @ =gUnknown_03004280
- strh r4, [r0]
- ldr r1, _08111F58 @ =gUnknown_030041B0
- movs r2, 0x80
- lsls r2, 1
- adds r0, r2, 0
- strh r0, [r1]
- ldr r0, _08111F5C @ =gUnknown_030041B8
- strh r4, [r0]
- ldr r1, _08111F60 @ =gMain
- ldr r0, _08111F64 @ =0x0000043c
- adds r1, r0
- b _0811208E
- .align 2, 0
-_08111F3C: .4byte gReservedSpritePaletteCount
-_08111F40: .4byte gUnknown_030042A4
-_08111F44: .4byte gUnknown_030042A0
-_08111F48: .4byte gUnknown_030042C0
-_08111F4C: .4byte gUnknown_030041B4
-_08111F50: .4byte gUnknown_03004288
-_08111F54: .4byte gUnknown_03004280
-_08111F58: .4byte gUnknown_030041B0
-_08111F5C: .4byte gUnknown_030041B8
-_08111F60: .4byte gMain
-_08111F64: .4byte 0x0000043c
-_08111F68:
- ldr r4, _08111F80 @ =gWindowConfig_81E6F84
- adds r0, r4, 0
- bl SetUpWindowConfig
- ldr r0, _08111F84 @ =gUnknown_03004828
- ldr r0, [r0]
- adds r0, 0x4
- adds r1, r4, 0
- bl InitWindowFromConfig
- b _08112088
- .align 2, 0
-_08111F80: .4byte gWindowConfig_81E6F84
-_08111F84: .4byte gUnknown_03004828
-_08111F88:
- ldr r4, _08111FC8 @ =gUnknown_03004828
- ldr r0, [r4]
- adds r0, 0x4
- bl LoadTextWindowGraphics
- movs r0, 0x2
- bl SetTextWindowBaseTileNum
- ldr r1, [r4]
- adds r1, 0x34
- strb r0, [r1]
- ldr r0, [r4]
- adds r0, 0x4
- bl LoadTextWindowGraphics
- bl MenuZeroFillScreen
- bl ResetPaletteFade
- ldr r1, _08111FCC @ =gMain
- ldr r0, _08111FD0 @ =0x0000043c
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- ldr r0, _08111FD4 @ =HBlankCB_EvolutionScene
- bl SetHBlankCallback
- ldr r0, _08111FD8 @ =VBlankCB_TradeEvolutionScene
- bl SetVBlankCallback
- b _081120D6
- .align 2, 0
-_08111FC8: .4byte gUnknown_03004828
-_08111FCC: .4byte gMain
-_08111FD0: .4byte 0x0000043c
-_08111FD4: .4byte HBlankCB_EvolutionScene
-_08111FD8: .4byte VBlankCB_TradeEvolutionScene
-_08111FDC:
- bl sub_804E22C
- b _08112088
-_08111FE2:
- adds r0, r4, 0
- movs r1, 0x1
- bl GetMonData
- adds r6, r0, 0
- adds r0, r4, 0
- movs r1, 0
- bl GetMonData
- adds r5, r0, 0
- lsls r0, r7, 3
- ldr r1, _08112034 @ =gMonFrontPicTable
- adds r0, r1
- ldr r1, _08112038 @ =gMonFrontPicCoords
- lsls r2, r7, 2
- adds r2, r1
- ldrb r1, [r2]
- ldrb r2, [r2, 0x1]
- movs r3, 0x80
- lsls r3, 18
- ldr r4, _0811203C @ =gUnknown_081FAF4C
- ldr r4, [r4, 0xC]
- str r4, [sp]
- str r7, [sp, 0x4]
- bl DecompressPicFromTable_2
- adds r0, r7, 0
- adds r1, r6, 0
- adds r2, r5, 0
- bl sub_80409C8
- ldr r0, [r0]
- movs r1, 0x90
- lsls r1, 1
- movs r2, 0x20
- bl LoadCompressedPalette
- ldr r1, _08112040 @ =gMain
- ldr r0, _08112044 @ =0x0000043c
- adds r1, r0
- b _0811208E
- .align 2, 0
-_08112034: .4byte gMonFrontPicTable
-_08112038: .4byte gMonFrontPicCoords
-_0811203C: .4byte gUnknown_081FAF4C
-_08112040: .4byte gMain
-_08112044: .4byte 0x0000043c
-_08112048:
- adds r0, r7, 0
- movs r1, 0x3
- bl GetMonSpriteTemplate_803C56C
- ldr r0, _08112098 @ =gUnknown_02024E8C
- ldr r1, _0811209C @ =gDummySpriteAffineAnimTable
- str r1, [r0, 0x10]
- movs r1, 0x78
- movs r2, 0x40
- movs r3, 0x1E
- bl CreateSprite
- ldr r1, _081120A0 @ =0x02014800
- lsls r2, r0, 24
- lsrs r2, 24
- strb r0, [r1, 0x1]
- ldr r3, _081120A4 @ =gSprites
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r0, r3, 0
- adds r0, 0x1C
- adds r0, r1, r0
- ldr r2, _081120A8 @ =nullsub_37
- str r2, [r0]
- adds r1, r3
- ldrb r2, [r1, 0x5]
- movs r0, 0xF
- ands r0, r2
- movs r2, 0x20
- orrs r0, r2
- strb r0, [r1, 0x5]
-_08112088:
- ldr r1, _081120AC @ =gMain
- ldr r2, _081120B0 @ =0x0000043c
- adds r1, r2
-_0811208E:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _081120D6
- .align 2, 0
-_08112098: .4byte gUnknown_02024E8C
-_0811209C: .4byte gDummySpriteAffineAnimTable
-_081120A0: .4byte 0x02014800
-_081120A4: .4byte gSprites
-_081120A8: .4byte nullsub_37
-_081120AC: .4byte gMain
-_081120B0: .4byte 0x0000043c
-_081120B4:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r0, _081120E0 @ =CB2_EvolutionSceneUpdate_1
- bl SetMainCallback2
- movs r1, 0x80
- lsls r1, 19
- movs r2, 0x9A
- lsls r2, 5
- adds r0, r2, 0
- strh r0, [r1]
-_081120D6:
- add sp, 0x8
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_081120E0: .4byte CB2_EvolutionSceneUpdate_1
- thumb_func_end CB2_TradeEvolutionSceneLoadGraphics
- thumb_func_start TradeEvolutionScene
-TradeEvolutionScene: @ 81120E4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x24
- str r0, [sp, 0x1C]
- adds r5, r1, 0
- adds r4, r2, 0
- mov r10, r3
- lsls r5, 16
- lsrs r5, 16
- lsls r4, 24
- lsrs r4, 24
- mov r0, r10
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- ldr r0, [sp, 0x1C]
- movs r1, 0x2
- add r2, sp, 0x8
- bl GetMonData
- ldr r0, _08112234 @ =gStringVar1
- add r1, sp, 0x8
- bl StringCopy10
- ldr r0, _08112238 @ =gStringVar2
- movs r1, 0xB
- muls r1, r5
- ldr r2, _0811223C @ =gSpeciesNames
- adds r1, r2
- bl StringCopy
- ldr r1, _08112240 @ =gAffineAnimsDisabled
- movs r0, 0x1
- strb r0, [r1]
- ldr r0, [sp, 0x1C]
- movs r1, 0xB
- bl GetMonData
- mov r8, r0
- mov r1, r8
- lsls r1, 16
- lsrs r1, 16
- mov r8, r1
- ldr r0, [sp, 0x1C]
- movs r1, 0
- bl GetMonData
- adds r6, r0, 0
- ldr r0, [sp, 0x1C]
- movs r1, 0x1
- bl GetMonData
- adds r7, r0, 0
- ldr r2, _08112244 @ =0x02014800
- mov r9, r2
- strb r4, [r2]
- lsls r0, r5, 3
- ldr r1, _08112248 @ =gMonFrontPicTable
- adds r0, r1
- ldr r1, _0811224C @ =gMonFrontPicCoords
- lsls r2, r5, 2
- adds r2, r1
- ldrb r1, [r2]
- ldrb r2, [r2, 0x1]
- movs r3, 0x80
- lsls r3, 18
- ldr r4, _08112250 @ =gUnknown_081FAF4C
- ldr r4, [r4, 0x4]
- str r4, [sp]
- str r5, [sp, 0x4]
- bl DecompressPicFromTable_2
- adds r0, r5, 0
- adds r1, r7, 0
- adds r2, r6, 0
- bl sub_80409C8
- ldr r0, [r0]
- movs r1, 0x90
- lsls r1, 1
- movs r2, 0x20
- bl LoadCompressedPalette
- adds r0, r5, 0
- movs r1, 0x1
- bl GetMonSpriteTemplate_803C56C
- ldr r0, _08112254 @ =gUnknown_02024E8C
- ldr r1, _08112258 @ =gDummySpriteAffineAnimTable
- str r1, [r0, 0x10]
- movs r1, 0x78
- movs r2, 0x40
- movs r3, 0x1E
- bl CreateSprite
- lsls r1, r0, 24
- lsrs r2, r1, 24
- mov r1, r9
- strb r0, [r1, 0x1]
- ldr r3, _0811225C @ =gSprites
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r0, r3, 0
- adds r0, 0x1C
- adds r0, r1, r0
- ldr r2, _08112260 @ =nullsub_37
- str r2, [r0]
- adds r1, r3
- ldrb r2, [r1, 0x5]
- movs r0, 0xF
- ands r0, r2
- movs r2, 0x20
- orrs r0, r2
- strb r0, [r1, 0x5]
- adds r1, 0x3E
- ldrb r0, [r1]
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r1]
- bl LoadEvoSparkleSpriteAndPal
- ldr r0, _08112264 @ =Task_TradeEvolutionScene
- movs r1, 0
- bl CreateTask
- lsls r1, r0, 24
- lsrs r2, r1, 24
- mov r1, r9
- strb r0, [r1, 0x2]
- ldr r1, _08112268 @ =gTasks
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r0, r1
- movs r2, 0
- strh r2, [r0, 0x8]
- mov r1, r8
- strh r1, [r0, 0xE]
- strh r5, [r0, 0x10]
- mov r2, sp
- ldrh r2, [r2, 0x1C]
- strh r2, [r0, 0xA]
- ldr r1, [sp, 0x1C]
- lsrs r1, 16
- str r1, [sp, 0x20]
- strh r1, [r0, 0xC]
- movs r1, 0x1
- strh r1, [r0, 0x14]
- movs r1, 0
- strh r1, [r0, 0x1E]
- mov r2, r10
- strh r2, [r0, 0x20]
- ldr r0, _0811226C @ =CB2_EvolutionSceneUpdate_1
- bl SetMainCallback2
- add sp, 0x24
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08112234: .4byte gStringVar1
-_08112238: .4byte gStringVar2
-_0811223C: .4byte gSpeciesNames
-_08112240: .4byte gAffineAnimsDisabled
-_08112244: .4byte 0x02014800
-_08112248: .4byte gMonFrontPicTable
-_0811224C: .4byte gMonFrontPicCoords
-_08112250: .4byte gUnknown_081FAF4C
-_08112254: .4byte gUnknown_02024E8C
-_08112258: .4byte gDummySpriteAffineAnimTable
-_0811225C: .4byte gSprites
-_08112260: .4byte nullsub_37
-_08112264: .4byte Task_TradeEvolutionScene
-_08112268: .4byte gTasks
-_0811226C: .4byte CB2_EvolutionSceneUpdate_1
- thumb_func_end TradeEvolutionScene
-
- thumb_func_start CB2_EvolutionSceneUpdate_0
-CB2_EvolutionSceneUpdate_0: @ 8112270
- push {lr}
- bl AnimateSprites
- bl BuildOamBuffer
- ldr r0, _0811228C @ =gUnknown_03004210
- bl sub_800374C
- bl UpdatePaletteFade
- bl RunTasks
- pop {r0}
- bx r0
- .align 2, 0
-_0811228C: .4byte gUnknown_03004210
- thumb_func_end CB2_EvolutionSceneUpdate_0
-
- thumb_func_start CB2_EvolutionSceneUpdate_1
-CB2_EvolutionSceneUpdate_1: @ 8112290
- push {lr}
- bl AnimateSprites
- bl BuildOamBuffer
- ldr r0, _081122B0 @ =gUnknown_03004828
- ldr r0, [r0]
- adds r0, 0x4
- bl sub_80035AC
- bl UpdatePaletteFade
- bl RunTasks
- pop {r0}
- bx r0
- .align 2, 0
-_081122B0: .4byte gUnknown_03004828
- thumb_func_end CB2_EvolutionSceneUpdate_1
-
- thumb_func_start CreateShedinja
-CreateShedinja: @ 81122B4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- mov r10, r1
- lsls r0, 16
- lsrs r7, r0, 16
- movs r0, 0
- str r0, [sp]
- ldr r0, _081123F4 @ =gEvolutionTable
- mov r8, r0
- lsls r1, r7, 2
- mov r9, r1
- adds r0, r1, r7
- lsls r4, r0, 3
- mov r0, r8
- adds r6, r4, r0
- ldrh r0, [r6]
- cmp r0, 0xD
- beq _081122E2
- b _081123E2
-_081122E2:
- ldr r1, _081123F8 @ =gPlayerPartyCount
- ldrb r0, [r1]
- cmp r0, 0x5
- bhi _081123E2
- adds r1, r0, 0
- movs r0, 0x64
- muls r1, r0
- ldr r0, _081123FC @ =gPlayerParty
- adds r5, r1, r0
- adds r0, r5, 0
- mov r1, r10
- movs r2, 0x64
- bl CopyMon
- mov r1, r8
- adds r2, r1, r4
- adds r2, 0xC
- adds r0, r5, 0
- movs r1, 0xB
- bl SetMonData
- ldrh r1, [r6, 0xC]
- movs r0, 0xB
- adds r2, r1, 0
- muls r2, r0
- ldr r0, _08112400 @ =gSpeciesNames
- adds r2, r0
- adds r0, r5, 0
- movs r1, 0x2
- bl SetMonData
- adds r0, r5, 0
- movs r1, 0xC
- mov r2, sp
- bl SetMonData
- adds r0, r5, 0
- movs r1, 0x8
- mov r2, sp
- bl SetMonData
- adds r0, r5, 0
- movs r1, 0xA
- mov r2, sp
- bl SetMonData
- movs r4, 0x32
- mov r6, r9
-_08112342:
- adds r0, r5, 0
- adds r1, r4, 0
- mov r2, sp
- bl SetMonData
- adds r4, 0x1
- cmp r4, 0x36
- ble _08112342
- movs r4, 0x43
-_08112354:
- adds r0, r5, 0
- adds r1, r4, 0
- mov r2, sp
- bl SetMonData
- adds r4, 0x1
- cmp r4, 0x4F
- ble _08112354
- adds r0, r5, 0
- movs r1, 0x37
- mov r2, sp
- bl SetMonData
- movs r0, 0xFF
- str r0, [sp]
- adds r0, r5, 0
- movs r1, 0x40
- mov r2, sp
- bl SetMonData
- adds r0, r5, 0
- bl CalculateMonStats
- bl CalculatePlayerPartyCount
- ldr r0, _081123F4 @ =gEvolutionTable
- adds r4, r6, r7
- lsls r4, 3
- adds r4, r0
- ldrh r0, [r4, 0xC]
- bl SpeciesToNationalPokedexNum
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x2
- bl GetNationalPokedexFlag
- ldrh r0, [r4, 0xC]
- bl SpeciesToNationalPokedexNum
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x3
- bl GetNationalPokedexFlag
- adds r0, r5, 0
- movs r1, 0xB
- bl GetMonData
- ldr r1, _08112404 @ =0x0000012f
- cmp r0, r1
- bne _081123E2
- adds r0, r5, 0
- movs r1, 0x3
- bl GetMonData
- cmp r0, 0x1
- bne _081123E2
- mov r0, r10
- movs r1, 0xB
- bl GetMonData
- movs r1, 0x97
- lsls r1, 1
- cmp r0, r1
- bne _081123E2
- ldr r2, _08112408 @ =gUnknown_083F868C
- adds r0, r5, 0
- movs r1, 0x2
- bl SetMonData
-_081123E2:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_081123F4: .4byte gEvolutionTable
-_081123F8: .4byte gPlayerPartyCount
-_081123FC: .4byte gPlayerParty
-_08112400: .4byte gSpeciesNames
-_08112404: .4byte 0x0000012f
-_08112408: .4byte gUnknown_083F868C
- thumb_func_end CreateShedinja
thumb_func_start Task_EvolutionScene
Task_EvolutionScene: @ 811240C
@@ -2379,7 +1107,7 @@ _08112D8C:
b _08112FD0
_08112D9A:
ldr r1, [r4, 0x4]
- ldr r0, _08112DC4 @ =CB2_EvolutionSceneUpdate_0
+ ldr r0, _08112DC4 @ =CB2_EvolutionSceneUpdate
cmp r1, r0
beq _08112DA4
b _08112FD0
@@ -2398,7 +1126,7 @@ _08112DA4:
b _08112FCE
.align 2, 0
_08112DC0: .4byte gPaletteFade
-_08112DC4: .4byte CB2_EvolutionSceneUpdate_0
+_08112DC4: .4byte CB2_EvolutionSceneUpdate
_08112DC8: .4byte gTasks
_08112DCC:
adds r1, r6, 0
@@ -3671,7 +2399,7 @@ _081138CC:
_081138DA:
ldr r0, _08113904 @ =gMain
ldr r1, [r0, 0x4]
- ldr r0, _08113908 @ =CB2_EvolutionSceneUpdate_1
+ ldr r0, _08113908 @ =CB2_TradeEvolutionSceneUpdate
cmp r1, r0
beq _081138E6
b _08113B3A
@@ -3691,7 +2419,7 @@ _081138E6:
.align 2, 0
_08113900: .4byte gPaletteFade
_08113904: .4byte gMain
-_08113908: .4byte CB2_EvolutionSceneUpdate_1
+_08113908: .4byte CB2_TradeEvolutionSceneUpdate
_0811390C: .4byte gTasks
_08113910:
adds r1, r6, 0