mirror of
https://github.com/pret/pokefirered.git
synced 2026-05-19 03:27:17 -05:00
411 lines
6.9 KiB
ArmAsm
411 lines
6.9 KiB
ArmAsm
.include "asm/macros.inc"
|
|
.include "constants/constants.inc"
|
|
|
|
.syntax unified
|
|
|
|
.text
|
|
|
|
thumb_func_start sub_8142078
|
|
sub_8142078: @ 8142078
|
|
push {lr}
|
|
bl ProcessSpriteCopyRequests
|
|
bl LoadOam
|
|
bl TransferPlttBuffer
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8142078
|
|
|
|
thumb_func_start sub_814208C
|
|
sub_814208C: @ 814208C
|
|
push {lr}
|
|
bl RunTasks
|
|
bl RunTextPrinters
|
|
bl AnimateSprites
|
|
bl BuildOamBuffer
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_814208C
|
|
|
|
thumb_func_start sub_81420A4
|
|
sub_81420A4: @ 81420A4
|
|
push {r4-r7,lr}
|
|
sub sp, 0xC
|
|
adds r7, r0, 0
|
|
ldr r0, _081420C4 @ =gMain
|
|
movs r1, 0x87
|
|
lsls r1, 3
|
|
adds r6, r0, r1
|
|
ldrb r5, [r6]
|
|
cmp r5, 0x1
|
|
bne _081420BA
|
|
b _081421EC
|
|
_081420BA:
|
|
cmp r5, 0x1
|
|
bgt _081420C8
|
|
cmp r5, 0
|
|
beq _081420D6
|
|
b _081422A0
|
|
.align 2, 0
|
|
_081420C4: .4byte gMain
|
|
_081420C8:
|
|
cmp r5, 0x2
|
|
bne _081420CE
|
|
b _08142254
|
|
_081420CE:
|
|
cmp r5, 0x3
|
|
bne _081420D4
|
|
b _08142274
|
|
_081420D4:
|
|
b _081422A0
|
|
_081420D6:
|
|
movs r0, 0
|
|
bl SetVBlankCallback
|
|
bl ResetPaletteFade
|
|
bl ResetSpriteData
|
|
bl FreeAllSpritePalettes
|
|
bl ResetTasks
|
|
bl remove_some_task
|
|
movs r0, 0x1
|
|
bl ResetBgsAndClearDma3BusyFlags
|
|
ldr r1, _081421E0 @ =gUnknown_8466D60
|
|
movs r0, 0
|
|
movs r2, 0x4
|
|
bl InitBgsFromTemplates
|
|
movs r0, 0
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl ChangeBgX
|
|
movs r0, 0
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl ChangeBgY
|
|
movs r0, 0x1
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl ChangeBgX
|
|
movs r0, 0x1
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl ChangeBgY
|
|
movs r0, 0x2
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl ChangeBgX
|
|
movs r0, 0x2
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl ChangeBgY
|
|
movs r0, 0x3
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl ChangeBgX
|
|
movs r0, 0x3
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl ChangeBgY
|
|
movs r4, 0x80
|
|
lsls r4, 4
|
|
adds r0, r4, 0
|
|
bl Alloc
|
|
adds r1, r0, 0
|
|
movs r0, 0x3
|
|
bl SetBgTilemapBuffer
|
|
adds r0, r4, 0
|
|
bl Alloc
|
|
adds r1, r0, 0
|
|
movs r0, 0x2
|
|
bl SetBgTilemapBuffer
|
|
adds r0, r4, 0
|
|
bl Alloc
|
|
adds r1, r0, 0
|
|
movs r0, 0x1
|
|
bl SetBgTilemapBuffer
|
|
adds r0, r4, 0
|
|
bl Alloc
|
|
adds r1, r0, 0
|
|
movs r0, 0
|
|
bl SetBgTilemapBuffer
|
|
movs r0, 0
|
|
movs r1, 0xA
|
|
movs r2, 0xE0
|
|
bl sub_814FE40
|
|
movs r0, 0
|
|
movs r1, 0x1
|
|
movs r2, 0xF0
|
|
bl sub_814FDA0
|
|
ldr r1, _081421E4 @ =gUnknown_8466D30
|
|
movs r2, 0x80
|
|
lsls r2, 1
|
|
str r5, [sp]
|
|
movs r0, 0x3
|
|
movs r3, 0
|
|
bl sub_80F696C
|
|
ldr r0, _081421E8 @ =gUnknown_8466D70
|
|
bl InitWindows
|
|
bl DeactivateAllTextPrinters
|
|
movs r1, 0xC0
|
|
lsls r1, 7
|
|
movs r0, 0
|
|
bl ClearGpuRegBits
|
|
movs r0, 0x50
|
|
movs r1, 0
|
|
bl SetGpuReg
|
|
movs r0, 0x52
|
|
movs r1, 0
|
|
bl SetGpuReg
|
|
movs r0, 0x54
|
|
movs r1, 0
|
|
bl SetGpuReg
|
|
b _0814226C
|
|
.align 2, 0
|
|
_081421E0: .4byte gUnknown_8466D60
|
|
_081421E4: .4byte gUnknown_8466D30
|
|
_081421E8: .4byte gUnknown_8466D70
|
|
_081421EC:
|
|
ldr r0, _08142250 @ =gUnknown_8466D10
|
|
movs r1, 0
|
|
movs r2, 0x20
|
|
bl LoadPalette
|
|
movs r0, 0x2
|
|
bl stdpal_get
|
|
movs r1, 0xD0
|
|
movs r2, 0x20
|
|
bl LoadPalette
|
|
movs r4, 0x20
|
|
str r4, [sp]
|
|
str r4, [sp, 0x4]
|
|
movs r5, 0x11
|
|
str r5, [sp, 0x8]
|
|
movs r0, 0
|
|
movs r1, 0
|
|
movs r2, 0
|
|
movs r3, 0
|
|
bl FillBgTilemapBufferRect
|
|
str r4, [sp]
|
|
str r4, [sp, 0x4]
|
|
str r5, [sp, 0x8]
|
|
movs r0, 0x1
|
|
movs r1, 0
|
|
movs r2, 0
|
|
movs r3, 0
|
|
bl FillBgTilemapBufferRect
|
|
str r4, [sp]
|
|
str r4, [sp, 0x4]
|
|
str r5, [sp, 0x8]
|
|
movs r0, 0x2
|
|
movs r1, 0
|
|
movs r2, 0
|
|
movs r3, 0
|
|
bl FillBgTilemapBufferRect
|
|
bl sub_8142420
|
|
lsls r0, r7, 24
|
|
lsrs r0, 24
|
|
movs r1, 0
|
|
bl sub_8142344
|
|
b _0814226C
|
|
.align 2, 0
|
|
_08142250: .4byte gUnknown_8466D10
|
|
_08142254:
|
|
movs r0, 0x3
|
|
bl CopyBgTilemapBufferToVram
|
|
movs r0, 0x2
|
|
bl CopyBgTilemapBufferToVram
|
|
movs r0, 0x1
|
|
bl CopyBgTilemapBufferToVram
|
|
movs r0, 0
|
|
bl CopyBgTilemapBufferToVram
|
|
_0814226C:
|
|
ldrb r0, [r6]
|
|
adds r0, 0x1
|
|
strb r0, [r6]
|
|
b _081422A0
|
|
_08142274:
|
|
movs r0, 0
|
|
bl ShowBg
|
|
movs r0, 0x3
|
|
bl ShowBg
|
|
ldr r0, _08142298 @ =0x00000149
|
|
bl PlayBGM
|
|
ldr r0, _0814229C @ =sub_8142078
|
|
bl SetVBlankCallback
|
|
movs r0, 0xC5
|
|
bl EnableInterrupts
|
|
movs r0, 0x1
|
|
b _081422A2
|
|
.align 2, 0
|
|
_08142298: .4byte 0x00000149
|
|
_0814229C: .4byte sub_8142078
|
|
_081422A0:
|
|
movs r0, 0
|
|
_081422A2:
|
|
add sp, 0xC
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_81420A4
|
|
|
|
thumb_func_start sub_81422AC
|
|
sub_81422AC: @ 81422AC
|
|
push {lr}
|
|
movs r0, 0
|
|
bl sub_81420A4
|
|
cmp r0, 0
|
|
beq _081422C8
|
|
ldr r0, _081422CC @ =sub_814208C
|
|
bl SetMainCallback2
|
|
ldr r1, _081422D0 @ =gUnknown_203F3B8
|
|
movs r0, 0
|
|
strb r0, [r1]
|
|
bl task_add_00_mystery_gift
|
|
_081422C8:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_081422CC: .4byte sub_814208C
|
|
_081422D0: .4byte gUnknown_203F3B8
|
|
thumb_func_end sub_81422AC
|
|
|
|
thumb_func_start sub_81422D4
|
|
sub_81422D4: @ 81422D4
|
|
push {lr}
|
|
movs r0, 0x1
|
|
bl sub_81420A4
|
|
cmp r0, 0
|
|
beq _081422F0
|
|
ldr r0, _081422F4 @ =sub_814208C
|
|
bl SetMainCallback2
|
|
ldr r1, _081422F8 @ =gUnknown_203F3B8
|
|
movs r0, 0x1
|
|
strb r0, [r1]
|
|
bl sub_81438A0
|
|
_081422F0:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_081422F4: .4byte sub_814208C
|
|
_081422F8: .4byte gUnknown_203F3B8
|
|
thumb_func_end sub_81422D4
|
|
|
|
thumb_func_start sub_81422FC
|
|
sub_81422FC: @ 81422FC
|
|
push {lr}
|
|
ldr r1, _0814233C @ =gUnknown_203F3B8
|
|
movs r0, 0
|
|
strb r0, [r1]
|
|
bl FreeAllWindowBuffers
|
|
movs r0, 0
|
|
bl GetBgTilemapBuffer
|
|
bl Free
|
|
movs r0, 0x1
|
|
bl GetBgTilemapBuffer
|
|
bl Free
|
|
movs r0, 0x2
|
|
bl GetBgTilemapBuffer
|
|
bl Free
|
|
movs r0, 0x3
|
|
bl GetBgTilemapBuffer
|
|
bl Free
|
|
ldr r0, _08142340 @ =sub_8078914
|
|
bl SetMainCallback2
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0814233C: .4byte gUnknown_203F3B8
|
|
_08142340: .4byte sub_8078914
|
|
thumb_func_end sub_81422FC
|
|
|
|
thumb_func_start sub_8142344
|
|
sub_8142344: @ 8142344
|
|
push {r4-r6,lr}
|
|
sub sp, 0x14
|
|
adds r4, r1, 0
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
movs r0, 0
|
|
movs r1, 0
|
|
bl FillWindowPixelBuffer
|
|
cmp r5, 0
|
|
bne _081423B4
|
|
ldr r6, _081423A4 @ =gUnknown_841EDCA
|
|
cmp r4, 0x1
|
|
bne _08142362
|
|
ldr r6, _081423A8 @ =gUnknown_8415F51
|
|
_08142362:
|
|
str r5, [sp]
|
|
str r5, [sp, 0x4]
|
|
ldr r4, _081423AC @ =gUnknown_8466EE8
|
|
str r4, [sp, 0x8]
|
|
str r5, [sp, 0xC]
|
|
ldr r0, _081423B0 @ =gUnknown_841EDBD
|
|
str r0, [sp, 0x10]
|
|
movs r0, 0
|
|
movs r1, 0x2
|
|
movs r2, 0x2
|
|
movs r3, 0x2
|
|
bl AddTextPrinterParametrized2
|
|
movs r0, 0
|
|
adds r1, r6, 0
|
|
movs r2, 0
|
|
bl GetStringWidth
|
|
movs r2, 0xDE
|
|
subs r2, r0
|
|
lsls r2, 24
|
|
lsrs r2, 24
|
|
str r5, [sp]
|
|
str r5, [sp, 0x4]
|
|
str r4, [sp, 0x8]
|
|
str r5, [sp, 0xC]
|
|
str r6, [sp, 0x10]
|
|
movs r0, 0
|
|
movs r1, 0
|
|
movs r3, 0x2
|
|
bl AddTextPrinterParametrized2
|
|
b _081423E8
|
|
.align 2, 0
|
|
_081423A4: .4byte gUnknown_841EDCA
|
|
_081423A8: .4byte gUnknown_8415F51
|
|
_081423AC: .4byte gUnknown_8466EE8
|
|
_081423B0: .4byte gUnknown_841EDBD
|
|
_081423B4:
|
|
movs r4, 0
|
|
str r4, [sp]
|
|
str r4, [sp, 0x4]
|
|
ldr r5, _08142400 @ =gUnknown_8466EE8
|
|
str r5, [sp, 0x8]
|
|
str r4, [sp, 0xC]
|
|
ldr r0, _08142404 @ =gUnknown_841DE50
|
|
str r0, [sp, 0x10]
|
|
movs r0, 0
|
|
movs r1, 0x2
|
|
movs r2, 0x2
|
|
movs r3, 0x2
|
|
bl AddTextPrinterParametrized2
|
|
str r4, [sp]
|
|
str r4, [sp, 0x4]
|
|
str r5, [sp, 0x8]
|
|
str r4, [sp, 0xC]
|
|
ldr r0, _08142408 @ =gUnknown_841DE51
|
|
str r0, [sp, 0x10]
|
|
movs r0, 0
|
|
movs r1, 0
|
|
movs r2, 0x78
|
|
movs r3, 0x2
|
|
bl AddTextPrinterParametrized2
|
|
_081423E8:
|
|
movs r0, 0
|
|
movs r1, 0x2
|
|
bl CopyWindowToVram
|
|
movs r0, 0
|
|
bl PutWindowTilemap
|
|
add sp, 0x14
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08142400: .4byte gUnknown_8466EE8
|
|
_08142404: .4byte gUnknown_841DE50
|
|
_08142408: .4byte gUnknown_841DE51
|
|
thumb_func_end sub_8142344
|
|
|
|
.align 2, 0 @ Don't pad with nop.
|