Finish dodrio_berry_picking_2.c
This commit is contained in:
@@ -1,787 +0,0 @@
|
|||||||
.include "asm/macros.inc"
|
|
||||||
.include "constants/constants.inc"
|
|
||||||
|
|
||||||
.syntax unified
|
|
||||||
|
|
||||||
.text
|
|
||||||
|
|
||||||
thumb_func_start sub_8155A78
|
|
||||||
sub_8155A78: @ 8155A78
|
|
||||||
push {r4-r6,lr}
|
|
||||||
sub sp, 0x10
|
|
||||||
ldr r5, _08155A94 @ =gUnknown_203F440
|
|
||||||
ldr r0, [r5]
|
|
||||||
ldr r6, _08155A98 @ =0x00003014
|
|
||||||
adds r0, r6
|
|
||||||
ldrb r4, [r0]
|
|
||||||
cmp r4, 0x1
|
|
||||||
beq _08155AD0
|
|
||||||
cmp r4, 0x1
|
|
||||||
bgt _08155A9C
|
|
||||||
cmp r4, 0
|
|
||||||
beq _08155AA6
|
|
||||||
b _08155B18
|
|
||||||
.align 2, 0
|
|
||||||
_08155A94: .4byte gUnknown_203F440
|
|
||||||
_08155A98: .4byte 0x00003014
|
|
||||||
_08155A9C:
|
|
||||||
cmp r4, 0x2
|
|
||||||
beq _08155AE4
|
|
||||||
cmp r4, 0x3
|
|
||||||
beq _08155AFC
|
|
||||||
b _08155B18
|
|
||||||
_08155AA6:
|
|
||||||
movs r0, 0
|
|
||||||
movs r1, 0
|
|
||||||
bl DrawDialogueFrame
|
|
||||||
ldr r2, _08155ACC @ =gText_SavingDontTurnOffThePower2
|
|
||||||
str r4, [sp]
|
|
||||||
movs r0, 0x2
|
|
||||||
str r0, [sp, 0x4]
|
|
||||||
movs r0, 0x1
|
|
||||||
str r0, [sp, 0x8]
|
|
||||||
movs r0, 0x3
|
|
||||||
str r0, [sp, 0xC]
|
|
||||||
movs r0, 0
|
|
||||||
movs r1, 0x2
|
|
||||||
movs r3, 0
|
|
||||||
bl AddTextPrinterParameterized2
|
|
||||||
b _08155B08
|
|
||||||
.align 2, 0
|
|
||||||
_08155ACC: .4byte gText_SavingDontTurnOffThePower2
|
|
||||||
_08155AD0:
|
|
||||||
movs r0, 0
|
|
||||||
movs r1, 0x3
|
|
||||||
bl CopyWindowToVram
|
|
||||||
ldr r1, [r5]
|
|
||||||
ldr r0, _08155AE0 @ =0x00003014
|
|
||||||
adds r1, r0
|
|
||||||
b _08155B0C
|
|
||||||
.align 2, 0
|
|
||||||
_08155AE0: .4byte 0x00003014
|
|
||||||
_08155AE4:
|
|
||||||
bl IsDma3ManagerBusyWithBgCopy
|
|
||||||
lsls r0, 24
|
|
||||||
cmp r0, 0
|
|
||||||
bne _08155B40
|
|
||||||
ldr r0, _08155AF8 @ =sub_80DA634
|
|
||||||
movs r1, 0
|
|
||||||
bl CreateTask
|
|
||||||
b _08155B08
|
|
||||||
.align 2, 0
|
|
||||||
_08155AF8: .4byte sub_80DA634
|
|
||||||
_08155AFC:
|
|
||||||
ldr r0, _08155B14 @ =sub_80DA634
|
|
||||||
bl FuncIsActiveTask
|
|
||||||
lsls r0, 24
|
|
||||||
cmp r0, 0
|
|
||||||
bne _08155B40
|
|
||||||
_08155B08:
|
|
||||||
ldr r1, [r5]
|
|
||||||
adds r1, r6
|
|
||||||
_08155B0C:
|
|
||||||
ldrb r0, [r1]
|
|
||||||
adds r0, 0x1
|
|
||||||
strb r0, [r1]
|
|
||||||
b _08155B40
|
|
||||||
.align 2, 0
|
|
||||||
_08155B14: .4byte sub_80DA634
|
|
||||||
_08155B18:
|
|
||||||
movs r0, 0x1E
|
|
||||||
str r0, [sp]
|
|
||||||
movs r0, 0x14
|
|
||||||
str r0, [sp, 0x4]
|
|
||||||
movs r0, 0
|
|
||||||
movs r1, 0
|
|
||||||
movs r2, 0
|
|
||||||
movs r3, 0
|
|
||||||
bl FillBgTilemapBufferRect_Palette0
|
|
||||||
movs r0, 0
|
|
||||||
bl CopyBgTilemapBufferToVram
|
|
||||||
ldr r0, _08155B48 @ =gUnknown_203F440
|
|
||||||
ldr r0, [r0]
|
|
||||||
movs r1, 0xC0
|
|
||||||
lsls r1, 6
|
|
||||||
adds r0, r1
|
|
||||||
movs r1, 0x1
|
|
||||||
str r1, [r0]
|
|
||||||
_08155B40:
|
|
||||||
add sp, 0x10
|
|
||||||
pop {r4-r6}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.align 2, 0
|
|
||||||
_08155B48: .4byte gUnknown_203F440
|
|
||||||
thumb_func_end sub_8155A78
|
|
||||||
|
|
||||||
thumb_func_start sub_8155B4C
|
|
||||||
sub_8155B4C: @ 8155B4C
|
|
||||||
push {r4-r6,lr}
|
|
||||||
sub sp, 0xC
|
|
||||||
ldr r1, _08155B6C @ =gUnknown_203F440
|
|
||||||
ldr r2, [r1]
|
|
||||||
ldr r6, _08155B70 @ =0x00003014
|
|
||||||
adds r0, r2, r6
|
|
||||||
ldrb r0, [r0]
|
|
||||||
adds r5, r1, 0
|
|
||||||
cmp r0, 0x1
|
|
||||||
beq _08155BA4
|
|
||||||
cmp r0, 0x1
|
|
||||||
bgt _08155B74
|
|
||||||
cmp r0, 0
|
|
||||||
beq _08155B7A
|
|
||||||
b _08155C18
|
|
||||||
.align 2, 0
|
|
||||||
_08155B6C: .4byte gUnknown_203F440
|
|
||||||
_08155B70: .4byte 0x00003014
|
|
||||||
_08155B74:
|
|
||||||
cmp r0, 0x2
|
|
||||||
beq _08155BEC
|
|
||||||
b _08155C18
|
|
||||||
_08155B7A:
|
|
||||||
ldr r4, _08155B9C @ =sUnknown_84756A4
|
|
||||||
adds r0, r4, 0
|
|
||||||
bl AddWindow
|
|
||||||
ldr r1, [r5]
|
|
||||||
ldr r2, _08155BA0 @ =0x00003008
|
|
||||||
adds r1, r2
|
|
||||||
strb r0, [r1]
|
|
||||||
ldr r0, [r5]
|
|
||||||
adds r0, r2
|
|
||||||
ldrb r0, [r0]
|
|
||||||
bl ClearWindowTilemap
|
|
||||||
adds r0, r4, 0
|
|
||||||
bl sub_8154868
|
|
||||||
b _08155C08
|
|
||||||
.align 2, 0
|
|
||||||
_08155B9C: .4byte sUnknown_84756A4
|
|
||||||
_08155BA0: .4byte 0x00003008
|
|
||||||
_08155BA4:
|
|
||||||
ldr r4, _08155BE0 @ =0x00003008
|
|
||||||
adds r0, r2, r4
|
|
||||||
ldrb r0, [r0]
|
|
||||||
movs r1, 0x11
|
|
||||||
bl FillWindowPixelBuffer
|
|
||||||
ldr r0, [r5]
|
|
||||||
adds r0, r4
|
|
||||||
ldrb r0, [r0]
|
|
||||||
ldr r2, _08155BE4 @ =gText_CommunicationStandby3
|
|
||||||
movs r1, 0x6
|
|
||||||
str r1, [sp]
|
|
||||||
movs r1, 0xFF
|
|
||||||
str r1, [sp, 0x4]
|
|
||||||
movs r1, 0
|
|
||||||
str r1, [sp, 0x8]
|
|
||||||
movs r1, 0x2
|
|
||||||
movs r3, 0
|
|
||||||
bl AddTextPrinterParameterized
|
|
||||||
ldr r0, [r5]
|
|
||||||
adds r0, r4
|
|
||||||
ldrb r0, [r0]
|
|
||||||
movs r1, 0x2
|
|
||||||
bl CopyWindowToVram
|
|
||||||
ldr r1, [r5]
|
|
||||||
ldr r0, _08155BE8 @ =0x00003014
|
|
||||||
adds r1, r0
|
|
||||||
b _08155C0C
|
|
||||||
.align 2, 0
|
|
||||||
_08155BE0: .4byte 0x00003008
|
|
||||||
_08155BE4: .4byte gText_CommunicationStandby3
|
|
||||||
_08155BE8: .4byte 0x00003014
|
|
||||||
_08155BEC:
|
|
||||||
bl IsDma3ManagerBusyWithBgCopy
|
|
||||||
lsls r0, 24
|
|
||||||
cmp r0, 0
|
|
||||||
bne _08155C02
|
|
||||||
ldr r0, [r5]
|
|
||||||
ldr r1, _08155C14 @ =0x00003008
|
|
||||||
adds r0, r1
|
|
||||||
ldrb r0, [r0]
|
|
||||||
bl PutWindowTilemap
|
|
||||||
_08155C02:
|
|
||||||
movs r0, 0
|
|
||||||
bl CopyBgTilemapBufferToVram
|
|
||||||
_08155C08:
|
|
||||||
ldr r1, [r5]
|
|
||||||
adds r1, r6
|
|
||||||
_08155C0C:
|
|
||||||
ldrb r0, [r1]
|
|
||||||
adds r0, 0x1
|
|
||||||
strb r0, [r1]
|
|
||||||
b _08155C24
|
|
||||||
.align 2, 0
|
|
||||||
_08155C14: .4byte 0x00003008
|
|
||||||
_08155C18:
|
|
||||||
ldr r0, [r5]
|
|
||||||
movs r1, 0xC0
|
|
||||||
lsls r1, 6
|
|
||||||
adds r0, r1
|
|
||||||
movs r1, 0x1
|
|
||||||
str r1, [r0]
|
|
||||||
_08155C24:
|
|
||||||
add sp, 0xC
|
|
||||||
pop {r4-r6}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
thumb_func_end sub_8155B4C
|
|
||||||
|
|
||||||
thumb_func_start sub_8155C2C
|
|
||||||
sub_8155C2C: @ 8155C2C
|
|
||||||
push {r4,r5,lr}
|
|
||||||
sub sp, 0x8
|
|
||||||
ldr r5, _08155C78 @ =gUnknown_203F440
|
|
||||||
ldr r0, [r5]
|
|
||||||
ldr r4, _08155C7C @ =0x00003008
|
|
||||||
adds r0, r4
|
|
||||||
ldrb r0, [r0]
|
|
||||||
bl ClearWindowTilemap
|
|
||||||
ldr r0, [r5]
|
|
||||||
adds r0, r4
|
|
||||||
ldrb r0, [r0]
|
|
||||||
bl RemoveWindow
|
|
||||||
movs r0, 0x1E
|
|
||||||
str r0, [sp]
|
|
||||||
movs r0, 0x14
|
|
||||||
str r0, [sp, 0x4]
|
|
||||||
movs r0, 0
|
|
||||||
movs r1, 0
|
|
||||||
movs r2, 0
|
|
||||||
movs r3, 0
|
|
||||||
bl FillBgTilemapBufferRect_Palette0
|
|
||||||
movs r0, 0
|
|
||||||
bl CopyBgTilemapBufferToVram
|
|
||||||
ldr r0, [r5]
|
|
||||||
movs r1, 0xC0
|
|
||||||
lsls r1, 6
|
|
||||||
adds r0, r1
|
|
||||||
movs r1, 0x1
|
|
||||||
str r1, [r0]
|
|
||||||
add sp, 0x8
|
|
||||||
pop {r4,r5}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.align 2, 0
|
|
||||||
_08155C78: .4byte gUnknown_203F440
|
|
||||||
_08155C7C: .4byte 0x00003008
|
|
||||||
thumb_func_end sub_8155C2C
|
|
||||||
|
|
||||||
thumb_func_start sub_8155C80
|
|
||||||
sub_8155C80: @ 8155C80
|
|
||||||
push {r4-r7,lr}
|
|
||||||
sub sp, 0xC
|
|
||||||
ldr r0, _08155CA0 @ =gUnknown_203F440
|
|
||||||
ldr r1, [r0]
|
|
||||||
ldr r7, _08155CA4 @ =0x00003014
|
|
||||||
adds r2, r1, r7
|
|
||||||
ldrb r5, [r2]
|
|
||||||
adds r6, r0, 0
|
|
||||||
cmp r5, 0x1
|
|
||||||
beq _08155D08
|
|
||||||
cmp r5, 0x1
|
|
||||||
bgt _08155CA8
|
|
||||||
cmp r5, 0
|
|
||||||
beq _08155CB2
|
|
||||||
b _08155D9C
|
|
||||||
.align 2, 0
|
|
||||||
_08155CA0: .4byte gUnknown_203F440
|
|
||||||
_08155CA4: .4byte 0x00003014
|
|
||||||
_08155CA8:
|
|
||||||
cmp r5, 0x2
|
|
||||||
beq _08155D50
|
|
||||||
cmp r5, 0x3
|
|
||||||
beq _08155D7C
|
|
||||||
b _08155D9C
|
|
||||||
_08155CB2:
|
|
||||||
ldr r4, _08155CF8 @ =sUnknown_847569C
|
|
||||||
adds r0, r4, 0
|
|
||||||
bl AddWindow
|
|
||||||
ldr r1, [r6]
|
|
||||||
ldr r2, _08155CFC @ =0x00003008
|
|
||||||
adds r1, r2
|
|
||||||
strb r0, [r1]
|
|
||||||
ldr r0, [r6]
|
|
||||||
adds r0, r2
|
|
||||||
ldrb r0, [r0]
|
|
||||||
bl ClearWindowTilemap
|
|
||||||
adds r0, r4, 0
|
|
||||||
bl sub_8154868
|
|
||||||
ldr r1, [r6]
|
|
||||||
adds r1, r7
|
|
||||||
ldrb r0, [r1]
|
|
||||||
adds r0, 0x1
|
|
||||||
strb r0, [r1]
|
|
||||||
ldr r0, [r6]
|
|
||||||
ldr r2, _08155D00 @ =0x0000301c
|
|
||||||
adds r1, r0, r2
|
|
||||||
movs r2, 0
|
|
||||||
strh r5, [r1]
|
|
||||||
ldr r1, _08155D04 @ =0x00003020
|
|
||||||
adds r0, r1
|
|
||||||
strb r2, [r0]
|
|
||||||
ldr r0, [r6]
|
|
||||||
adds r1, 0x4
|
|
||||||
adds r0, r1
|
|
||||||
strb r2, [r0]
|
|
||||||
b _08155DE2
|
|
||||||
.align 2, 0
|
|
||||||
_08155CF8: .4byte sUnknown_847569C
|
|
||||||
_08155CFC: .4byte 0x00003008
|
|
||||||
_08155D00: .4byte 0x0000301c
|
|
||||||
_08155D04: .4byte 0x00003020
|
|
||||||
_08155D08:
|
|
||||||
ldr r4, _08155D44 @ =0x00003008
|
|
||||||
adds r0, r1, r4
|
|
||||||
ldrb r0, [r0]
|
|
||||||
movs r1, 0x11
|
|
||||||
bl FillWindowPixelBuffer
|
|
||||||
ldr r0, [r6]
|
|
||||||
adds r0, r4
|
|
||||||
ldrb r0, [r0]
|
|
||||||
ldr r2, _08155D48 @ =gText_SomeoneDroppedOut
|
|
||||||
movs r1, 0x6
|
|
||||||
str r1, [sp]
|
|
||||||
movs r1, 0xFF
|
|
||||||
str r1, [sp, 0x4]
|
|
||||||
movs r1, 0
|
|
||||||
str r1, [sp, 0x8]
|
|
||||||
movs r1, 0x2
|
|
||||||
movs r3, 0
|
|
||||||
bl AddTextPrinterParameterized
|
|
||||||
ldr r0, [r6]
|
|
||||||
adds r0, r4
|
|
||||||
ldrb r0, [r0]
|
|
||||||
movs r1, 0x2
|
|
||||||
bl CopyWindowToVram
|
|
||||||
ldr r1, [r6]
|
|
||||||
ldr r2, _08155D4C @ =0x00003014
|
|
||||||
adds r1, r2
|
|
||||||
b _08155D70
|
|
||||||
.align 2, 0
|
|
||||||
_08155D44: .4byte 0x00003008
|
|
||||||
_08155D48: .4byte gText_SomeoneDroppedOut
|
|
||||||
_08155D4C: .4byte 0x00003014
|
|
||||||
_08155D50:
|
|
||||||
bl IsDma3ManagerBusyWithBgCopy
|
|
||||||
lsls r0, 24
|
|
||||||
cmp r0, 0
|
|
||||||
bne _08155D66
|
|
||||||
ldr r0, [r6]
|
|
||||||
ldr r1, _08155D78 @ =0x00003008
|
|
||||||
adds r0, r1
|
|
||||||
ldrb r0, [r0]
|
|
||||||
bl PutWindowTilemap
|
|
||||||
_08155D66:
|
|
||||||
movs r0, 0
|
|
||||||
bl CopyBgTilemapBufferToVram
|
|
||||||
ldr r1, [r6]
|
|
||||||
adds r1, r7
|
|
||||||
_08155D70:
|
|
||||||
ldrb r0, [r1]
|
|
||||||
adds r0, 0x1
|
|
||||||
strb r0, [r1]
|
|
||||||
b _08155DE2
|
|
||||||
.align 2, 0
|
|
||||||
_08155D78: .4byte 0x00003008
|
|
||||||
_08155D7C:
|
|
||||||
ldr r0, _08155D98 @ =0x0000301c
|
|
||||||
adds r1, r0
|
|
||||||
ldrh r0, [r1]
|
|
||||||
adds r0, 0x1
|
|
||||||
strh r0, [r1]
|
|
||||||
lsls r0, 16
|
|
||||||
lsrs r0, 16
|
|
||||||
cmp r0, 0x77
|
|
||||||
bls _08155DE2
|
|
||||||
ldrb r0, [r2]
|
|
||||||
adds r0, 0x1
|
|
||||||
strb r0, [r2]
|
|
||||||
b _08155DE2
|
|
||||||
.align 2, 0
|
|
||||||
_08155D98: .4byte 0x0000301c
|
|
||||||
_08155D9C:
|
|
||||||
ldr r0, [r6]
|
|
||||||
ldr r1, _08155DEC @ =0x00003024
|
|
||||||
adds r0, r1
|
|
||||||
movs r1, 0x5
|
|
||||||
strb r1, [r0]
|
|
||||||
ldr r0, [r6]
|
|
||||||
ldr r4, _08155DF0 @ =0x00003008
|
|
||||||
adds r0, r4
|
|
||||||
ldrb r0, [r0]
|
|
||||||
bl ClearWindowTilemap
|
|
||||||
ldr r0, [r6]
|
|
||||||
adds r0, r4
|
|
||||||
ldrb r0, [r0]
|
|
||||||
bl RemoveWindow
|
|
||||||
movs r0, 0x1E
|
|
||||||
str r0, [sp]
|
|
||||||
movs r0, 0x14
|
|
||||||
str r0, [sp, 0x4]
|
|
||||||
movs r0, 0
|
|
||||||
movs r1, 0
|
|
||||||
movs r2, 0
|
|
||||||
movs r3, 0
|
|
||||||
bl FillBgTilemapBufferRect_Palette0
|
|
||||||
movs r0, 0
|
|
||||||
bl CopyBgTilemapBufferToVram
|
|
||||||
ldr r0, [r6]
|
|
||||||
movs r2, 0xC0
|
|
||||||
lsls r2, 6
|
|
||||||
adds r0, r2
|
|
||||||
movs r1, 0x1
|
|
||||||
str r1, [r0]
|
|
||||||
_08155DE2:
|
|
||||||
add sp, 0xC
|
|
||||||
pop {r4-r7}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.align 2, 0
|
|
||||||
_08155DEC: .4byte 0x00003024
|
|
||||||
_08155DF0: .4byte 0x00003008
|
|
||||||
thumb_func_end sub_8155C80
|
|
||||||
|
|
||||||
thumb_func_start unused_0
|
|
||||||
unused_0: @ 8155DF4
|
|
||||||
push {r4,lr}
|
|
||||||
ldr r4, _08155E18 @ =gUnknown_203F440
|
|
||||||
ldr r0, [r4]
|
|
||||||
ldr r1, _08155E1C @ =0x00003004
|
|
||||||
adds r0, r1
|
|
||||||
ldrb r0, [r0]
|
|
||||||
bl DestroyTask
|
|
||||||
ldr r0, [r4]
|
|
||||||
movs r1, 0xC0
|
|
||||||
lsls r1, 6
|
|
||||||
adds r0, r1
|
|
||||||
movs r1, 0x1
|
|
||||||
str r1, [r0]
|
|
||||||
pop {r4}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.align 2, 0
|
|
||||||
_08155E18: .4byte gUnknown_203F440
|
|
||||||
_08155E1C: .4byte 0x00003004
|
|
||||||
thumb_func_end unused_0
|
|
||||||
|
|
||||||
thumb_func_start nullsub_98
|
|
||||||
nullsub_98: @ 8155E20
|
|
||||||
bx lr
|
|
||||||
thumb_func_end nullsub_98
|
|
||||||
|
|
||||||
thumb_func_start sub_8155E24
|
|
||||||
sub_8155E24: @ 8155E24
|
|
||||||
push {r4,lr}
|
|
||||||
ldr r2, _08155E48 @ =gUnknown_203F440
|
|
||||||
ldr r1, [r2]
|
|
||||||
ldr r3, _08155E4C @ =0x00003014
|
|
||||||
adds r1, r3
|
|
||||||
movs r3, 0
|
|
||||||
strb r3, [r1]
|
|
||||||
ldr r1, [r2]
|
|
||||||
movs r4, 0xC0
|
|
||||||
lsls r4, 6
|
|
||||||
adds r2, r1, r4
|
|
||||||
str r3, [r2]
|
|
||||||
ldr r2, _08155E50 @ =0x00003028
|
|
||||||
adds r1, r2
|
|
||||||
str r0, [r1]
|
|
||||||
pop {r4}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.align 2, 0
|
|
||||||
_08155E48: .4byte gUnknown_203F440
|
|
||||||
_08155E4C: .4byte 0x00003014
|
|
||||||
_08155E50: .4byte 0x00003028
|
|
||||||
thumb_func_end sub_8155E24
|
|
||||||
|
|
||||||
thumb_func_start sub_8155E54
|
|
||||||
sub_8155E54: @ 8155E54
|
|
||||||
ldr r0, _08155E60 @ =gUnknown_203F440
|
|
||||||
ldr r0, [r0]
|
|
||||||
ldr r1, _08155E64 @ =0x00003028
|
|
||||||
adds r0, r1
|
|
||||||
ldr r0, [r0]
|
|
||||||
bx lr
|
|
||||||
.align 2, 0
|
|
||||||
_08155E60: .4byte gUnknown_203F440
|
|
||||||
_08155E64: .4byte 0x00003028
|
|
||||||
thumb_func_end sub_8155E54
|
|
||||||
|
|
||||||
thumb_func_start sub_8155E68
|
|
||||||
sub_8155E68: @ 8155E68
|
|
||||||
push {lr}
|
|
||||||
ldr r0, _08155E80 @ =gUnknown_203F440
|
|
||||||
ldr r0, [r0]
|
|
||||||
movs r1, 0xC0
|
|
||||||
lsls r1, 6
|
|
||||||
adds r0, r1
|
|
||||||
ldr r0, [r0]
|
|
||||||
cmp r0, 0x1
|
|
||||||
beq _08155E84
|
|
||||||
movs r0, 0x1
|
|
||||||
b _08155E86
|
|
||||||
.align 2, 0
|
|
||||||
_08155E80: .4byte gUnknown_203F440
|
|
||||||
_08155E84:
|
|
||||||
movs r0, 0
|
|
||||||
_08155E86:
|
|
||||||
pop {r1}
|
|
||||||
bx r1
|
|
||||||
thumb_func_end sub_8155E68
|
|
||||||
|
|
||||||
thumb_func_start sub_8155E8C
|
|
||||||
sub_8155E8C: @ 8155E8C
|
|
||||||
ldr r0, _08155E98 @ =gUnknown_203F440
|
|
||||||
ldr r0, [r0]
|
|
||||||
ldr r1, _08155E9C @ =0x00003024
|
|
||||||
adds r0, r1
|
|
||||||
ldrb r0, [r0]
|
|
||||||
bx lr
|
|
||||||
.align 2, 0
|
|
||||||
_08155E98: .4byte gUnknown_203F440
|
|
||||||
_08155E9C: .4byte 0x00003024
|
|
||||||
thumb_func_end sub_8155E8C
|
|
||||||
|
|
||||||
thumb_func_start sub_8155EA0
|
|
||||||
sub_8155EA0: @ 8155EA0
|
|
||||||
push {r4-r7,lr}
|
|
||||||
mov r7, r8
|
|
||||||
push {r7}
|
|
||||||
sub sp, 0x8
|
|
||||||
movs r3, 0xC0
|
|
||||||
lsls r3, 19
|
|
||||||
movs r4, 0xC0
|
|
||||||
lsls r4, 9
|
|
||||||
add r0, sp, 0x4
|
|
||||||
mov r8, r0
|
|
||||||
mov r2, sp
|
|
||||||
movs r6, 0
|
|
||||||
ldr r1, _08155FD0 @ =0x040000d4
|
|
||||||
movs r5, 0x80
|
|
||||||
lsls r5, 5
|
|
||||||
ldr r7, _08155FD4 @ =0x81000800
|
|
||||||
movs r0, 0x81
|
|
||||||
lsls r0, 24
|
|
||||||
mov r12, r0
|
|
||||||
_08155EC6:
|
|
||||||
strh r6, [r2]
|
|
||||||
mov r0, sp
|
|
||||||
str r0, [r1]
|
|
||||||
str r3, [r1, 0x4]
|
|
||||||
str r7, [r1, 0x8]
|
|
||||||
ldr r0, [r1, 0x8]
|
|
||||||
adds r3, r5
|
|
||||||
subs r4, r5
|
|
||||||
cmp r4, r5
|
|
||||||
bhi _08155EC6
|
|
||||||
strh r6, [r2]
|
|
||||||
mov r2, sp
|
|
||||||
str r2, [r1]
|
|
||||||
str r3, [r1, 0x4]
|
|
||||||
lsrs r0, r4, 1
|
|
||||||
mov r2, r12
|
|
||||||
orrs r0, r2
|
|
||||||
str r0, [r1, 0x8]
|
|
||||||
ldr r0, [r1, 0x8]
|
|
||||||
movs r0, 0xE0
|
|
||||||
lsls r0, 19
|
|
||||||
movs r3, 0x80
|
|
||||||
lsls r3, 3
|
|
||||||
movs r4, 0
|
|
||||||
str r4, [sp, 0x4]
|
|
||||||
ldr r2, _08155FD0 @ =0x040000d4
|
|
||||||
mov r1, r8
|
|
||||||
str r1, [r2]
|
|
||||||
str r0, [r2, 0x4]
|
|
||||||
lsrs r0, r3, 2
|
|
||||||
movs r1, 0x85
|
|
||||||
lsls r1, 24
|
|
||||||
orrs r0, r1
|
|
||||||
str r0, [r2, 0x8]
|
|
||||||
ldr r0, [r2, 0x8]
|
|
||||||
movs r1, 0xA0
|
|
||||||
lsls r1, 19
|
|
||||||
mov r0, sp
|
|
||||||
strh r4, [r0]
|
|
||||||
str r0, [r2]
|
|
||||||
str r1, [r2, 0x4]
|
|
||||||
lsrs r3, 1
|
|
||||||
movs r0, 0x81
|
|
||||||
lsls r0, 24
|
|
||||||
orrs r3, r0
|
|
||||||
str r3, [r2, 0x8]
|
|
||||||
ldr r0, [r2, 0x8]
|
|
||||||
movs r0, 0
|
|
||||||
movs r1, 0
|
|
||||||
bl SetGpuReg
|
|
||||||
movs r0, 0
|
|
||||||
bl ResetBgsAndClearDma3BusyFlags
|
|
||||||
ldr r1, _08155FD8 @ =sUnknown_847565C
|
|
||||||
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
|
|
||||||
bl InitStandardTextBoxWindows
|
|
||||||
bl ResetBg0
|
|
||||||
movs r1, 0x82
|
|
||||||
lsls r1, 5
|
|
||||||
movs r0, 0
|
|
||||||
bl SetGpuReg
|
|
||||||
ldr r4, _08155FDC @ =gUnknown_203F440
|
|
||||||
ldr r1, [r4]
|
|
||||||
movs r0, 0x3
|
|
||||||
bl SetBgTilemapBuffer
|
|
||||||
ldr r1, [r4]
|
|
||||||
movs r2, 0x80
|
|
||||||
lsls r2, 5
|
|
||||||
adds r1, r2
|
|
||||||
movs r0, 0x1
|
|
||||||
bl SetBgTilemapBuffer
|
|
||||||
ldr r1, [r4]
|
|
||||||
movs r0, 0x80
|
|
||||||
lsls r0, 6
|
|
||||||
adds r1, r0
|
|
||||||
movs r0, 0x2
|
|
||||||
bl SetBgTilemapBuffer
|
|
||||||
add sp, 0x8
|
|
||||||
pop {r3}
|
|
||||||
mov r8, r3
|
|
||||||
pop {r4-r7}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.align 2, 0
|
|
||||||
_08155FD0: .4byte 0x040000d4
|
|
||||||
_08155FD4: .4byte 0x81000800
|
|
||||||
_08155FD8: .4byte sUnknown_847565C
|
|
||||||
_08155FDC: .4byte gUnknown_203F440
|
|
||||||
thumb_func_end sub_8155EA0
|
|
||||||
|
|
||||||
thumb_func_start sub_8155FE0
|
|
||||||
sub_8155FE0: @ 8155FE0
|
|
||||||
push {lr}
|
|
||||||
sub sp, 0x4
|
|
||||||
ldr r0, _08155FFC @ =gUnknown_203F440
|
|
||||||
ldr r0, [r0]
|
|
||||||
ldr r2, _08156000 @ =0x00003018
|
|
||||||
adds r1, r0, r2
|
|
||||||
ldrb r0, [r1]
|
|
||||||
cmp r0, 0x5
|
|
||||||
bhi _0815607A
|
|
||||||
lsls r0, 2
|
|
||||||
ldr r1, _08156004 @ =_08156008
|
|
||||||
adds r0, r1
|
|
||||||
ldr r0, [r0]
|
|
||||||
mov pc, r0
|
|
||||||
.align 2, 0
|
|
||||||
_08155FFC: .4byte gUnknown_203F440
|
|
||||||
_08156000: .4byte 0x00003018
|
|
||||||
_08156004: .4byte _08156008
|
|
||||||
.align 2, 0
|
|
||||||
_08156008:
|
|
||||||
.4byte _08156020
|
|
||||||
.4byte _08156030
|
|
||||||
.4byte _08156036
|
|
||||||
.4byte _08156044
|
|
||||||
.4byte _0815605C
|
|
||||||
.4byte _0815606A
|
|
||||||
_08156020:
|
|
||||||
ldr r0, _0815602C @ =sDodrioBerryBgPal1
|
|
||||||
movs r1, 0
|
|
||||||
movs r2, 0x40
|
|
||||||
bl LoadPalette
|
|
||||||
b _08156082
|
|
||||||
.align 2, 0
|
|
||||||
_0815602C: .4byte sDodrioBerryBgPal1
|
|
||||||
_08156030:
|
|
||||||
bl ResetTempTileDataBuffers
|
|
||||||
b _08156082
|
|
||||||
_08156036:
|
|
||||||
ldr r1, _08156040 @ =sDodrioBerryBgGfx1
|
|
||||||
movs r0, 0
|
|
||||||
str r0, [sp]
|
|
||||||
movs r0, 0x3
|
|
||||||
b _0815604C
|
|
||||||
.align 2, 0
|
|
||||||
_08156040: .4byte sDodrioBerryBgGfx1
|
|
||||||
_08156044:
|
|
||||||
ldr r1, _08156058 @ =sDodrioBerryBgGfx2
|
|
||||||
movs r0, 0
|
|
||||||
str r0, [sp]
|
|
||||||
movs r0, 0x1
|
|
||||||
_0815604C:
|
|
||||||
movs r2, 0
|
|
||||||
movs r3, 0
|
|
||||||
bl DecompressAndCopyTileDataToVram
|
|
||||||
b _08156082
|
|
||||||
.align 2, 0
|
|
||||||
_08156058: .4byte sDodrioBerryBgGfx2
|
|
||||||
_0815605C:
|
|
||||||
bl FreeTempTileDataBuffersIfPossible
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r0, 24
|
|
||||||
cmp r0, 0x1
|
|
||||||
bne _08156082
|
|
||||||
b _08156090
|
|
||||||
_0815606A:
|
|
||||||
movs r0, 0x3
|
|
||||||
bl stdpal_get
|
|
||||||
movs r1, 0xD0
|
|
||||||
movs r2, 0x20
|
|
||||||
bl LoadPalette
|
|
||||||
b _08156082
|
|
||||||
_0815607A:
|
|
||||||
movs r0, 0
|
|
||||||
strb r0, [r1]
|
|
||||||
movs r0, 0x1
|
|
||||||
b _08156092
|
|
||||||
_08156082:
|
|
||||||
ldr r0, _08156098 @ =gUnknown_203F440
|
|
||||||
ldr r1, [r0]
|
|
||||||
ldr r0, _0815609C @ =0x00003018
|
|
||||||
adds r1, r0
|
|
||||||
ldrb r0, [r1]
|
|
||||||
adds r0, 0x1
|
|
||||||
strb r0, [r1]
|
|
||||||
_08156090:
|
|
||||||
movs r0, 0
|
|
||||||
_08156092:
|
|
||||||
add sp, 0x4
|
|
||||||
pop {r1}
|
|
||||||
bx r1
|
|
||||||
.align 2, 0
|
|
||||||
_08156098: .4byte gUnknown_203F440
|
|
||||||
_0815609C: .4byte 0x00003018
|
|
||||||
thumb_func_end sub_8155FE0
|
|
||||||
|
|
||||||
.align 2, 0 @ Don't pad with nop.
|
|
||||||
+15
-14
@@ -105,20 +105,21 @@
|
|||||||
} \
|
} \
|
||||||
}
|
}
|
||||||
|
|
||||||
#define DmaClearLarge(dmaNum, dest, size, block, bit) \
|
#define DmaClearLarge(dmaNum, dest, size, block, bit) \
|
||||||
{ \
|
{ \
|
||||||
u32 _size = size; \
|
void *_dest = dest; \
|
||||||
while (1) \
|
u32 _size = size; \
|
||||||
{ \
|
while (1) \
|
||||||
DmaFill##bit(dmaNum, 0, dest, (block)); \
|
{ \
|
||||||
dest += (block); \
|
DmaFill##bit(dmaNum, 0, _dest, (block)); \
|
||||||
_size -= (block); \
|
_dest += (block); \
|
||||||
if (_size <= (block)) \
|
_size -= (block); \
|
||||||
{ \
|
if (_size <= (block)) \
|
||||||
DmaFill##bit(dmaNum, 0, dest, _size); \
|
{ \
|
||||||
break; \
|
DmaFill##bit(dmaNum, 0, _dest, _size); \
|
||||||
} \
|
break; \
|
||||||
} \
|
} \
|
||||||
|
} \
|
||||||
}
|
}
|
||||||
|
|
||||||
#define DmaFillLarge(dmaNum, value, dest, size, block, bit) \
|
#define DmaFillLarge(dmaNum, value, dest, size, block, bit) \
|
||||||
|
|||||||
@@ -288,7 +288,6 @@ SECTIONS {
|
|||||||
src/quest_log_player.o(.text);
|
src/quest_log_player.o(.text);
|
||||||
src/dodrio_berry_picking.o(.text);
|
src/dodrio_berry_picking.o(.text);
|
||||||
src/dodrio_berry_picking_2.o(.text);
|
src/dodrio_berry_picking_2.o(.text);
|
||||||
asm/dodrio_berry_picking.o(.text);
|
|
||||||
src/battle_controller_pokedude.o(.text);
|
src/battle_controller_pokedude.o(.text);
|
||||||
src/quest_log_objects.o(.text);
|
src/quest_log_objects.o(.text);
|
||||||
src/dodrio_berry_picking_3.o(.text);
|
src/dodrio_berry_picking_3.o(.text);
|
||||||
|
|||||||
+203
-18
@@ -5,30 +5,14 @@
|
|||||||
#include "item.h"
|
#include "item.h"
|
||||||
#include "link.h"
|
#include "link.h"
|
||||||
#include "menu.h"
|
#include "menu.h"
|
||||||
|
#include "new_menu_helpers.h"
|
||||||
|
#include "save.h"
|
||||||
#include "strings.h"
|
#include "strings.h"
|
||||||
#include "task.h"
|
#include "task.h"
|
||||||
#include "text_window.h"
|
#include "text_window.h"
|
||||||
#include "text_window_graphics.h"
|
#include "text_window_graphics.h"
|
||||||
#include "constants/songs.h"
|
#include "constants/songs.h"
|
||||||
|
|
||||||
// Temporary stopgap to export duplicate data
|
|
||||||
// included from data/dodrio_berry_picking.h
|
|
||||||
asm(".global sDodrioBerryStatusGfx\n"
|
|
||||||
"\t.global sDodrioBerrySpritesGfx\n"
|
|
||||||
"\t.global sDodrioBerryPlatformGfx\n"
|
|
||||||
"\t.global sDodrioBerryBgTilemap1\n"
|
|
||||||
"\t.global sDodrioBerryBgTilemap2Left\n"
|
|
||||||
"\t.global sDodrioBerryBgTilemap2Right\n"
|
|
||||||
"\t.global sUnknown_8475674\n"
|
|
||||||
"\t.global sUnknown_8475684\n"
|
|
||||||
"\t.global sUnknown_847568C\n"
|
|
||||||
"\t.global sUnknown_84756A4\n"
|
|
||||||
"\t.global sUnknown_847569C\n"
|
|
||||||
"\t.global sUnknown_847565C\n"
|
|
||||||
"\t.global sDodrioBerryBgPal1\n"
|
|
||||||
"\t.global sDodrioBerryBgGfx1\n"
|
|
||||||
"\t.global sDodrioBerryBgGfx2");
|
|
||||||
|
|
||||||
struct DodrioStruct_2022CF4
|
struct DodrioStruct_2022CF4
|
||||||
{
|
{
|
||||||
u8 filler_00[0xc];
|
u8 filler_00[0xc];
|
||||||
@@ -1429,3 +1413,204 @@ void sub_81556E0(void)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void sub_8155A78(void)
|
||||||
|
{
|
||||||
|
switch (gUnknown_203F440->state)
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
DrawDialogueFrame(0, FALSE);
|
||||||
|
AddTextPrinterParameterized2(0, 2, gText_SavingDontTurnOffThePower2, 0, NULL, TEXT_COLOR_DARK_GREY, TEXT_COLOR_WHITE, TEXT_COLOR_LIGHT_GREY);
|
||||||
|
gUnknown_203F440->state++;
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
CopyWindowToVram(0, 3);
|
||||||
|
gUnknown_203F440->state++;
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
if (!IsDma3ManagerBusyWithBgCopy())
|
||||||
|
{
|
||||||
|
CreateTask(sub_80DA634, 0);
|
||||||
|
gUnknown_203F440->state++;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
if (!FuncIsActiveTask(sub_80DA634))
|
||||||
|
gUnknown_203F440->state++;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 30, 20);
|
||||||
|
CopyBgTilemapBufferToVram(0);
|
||||||
|
gUnknown_203F440->finished = TRUE;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_8155B4C(void)
|
||||||
|
{
|
||||||
|
switch (gUnknown_203F440->state)
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
gUnknown_203F440->unk3008[0] = AddWindow(&sUnknown_84756A4);
|
||||||
|
ClearWindowTilemap(gUnknown_203F440->unk3008[0]);
|
||||||
|
sub_8154868(&sUnknown_84756A4);
|
||||||
|
gUnknown_203F440->state++;
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
FillWindowPixelBuffer(gUnknown_203F440->unk3008[0], PIXEL_FILL(1));
|
||||||
|
AddTextPrinterParameterized(gUnknown_203F440->unk3008[0], 2, gText_CommunicationStandby3, 0, 6, -1, NULL);
|
||||||
|
CopyWindowToVram(gUnknown_203F440->unk3008[0], 2);
|
||||||
|
gUnknown_203F440->state++;
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
if (!IsDma3ManagerBusyWithBgCopy())
|
||||||
|
PutWindowTilemap(gUnknown_203F440->unk3008[0]);
|
||||||
|
CopyBgTilemapBufferToVram(0);
|
||||||
|
gUnknown_203F440->state++;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
gUnknown_203F440->finished = TRUE;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_8155C2C(void)
|
||||||
|
{
|
||||||
|
ClearWindowTilemap(gUnknown_203F440->unk3008[0]);
|
||||||
|
RemoveWindow(gUnknown_203F440->unk3008[0]);
|
||||||
|
FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 30, 20);
|
||||||
|
CopyBgTilemapBufferToVram(0);
|
||||||
|
gUnknown_203F440->finished = TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_8155C80(void)
|
||||||
|
{
|
||||||
|
switch (gUnknown_203F440->state)
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
gUnknown_203F440->unk3008[0] = AddWindow(&sUnknown_847569C);
|
||||||
|
ClearWindowTilemap(gUnknown_203F440->unk3008[0]);
|
||||||
|
sub_8154868(&sUnknown_847569C);
|
||||||
|
gUnknown_203F440->state++;
|
||||||
|
gUnknown_203F440->unk301C = 0;
|
||||||
|
gUnknown_203F440->unk3020 = 0;
|
||||||
|
gUnknown_203F440->unk3024 = 0;
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
FillWindowPixelBuffer(gUnknown_203F440->unk3008[0], PIXEL_FILL(1));
|
||||||
|
AddTextPrinterParameterized(gUnknown_203F440->unk3008[0], 2, gText_SomeoneDroppedOut, 0, 6, TEXT_SPEED_FF, NULL);
|
||||||
|
CopyWindowToVram(gUnknown_203F440->unk3008[0], 2);
|
||||||
|
gUnknown_203F440->state++;
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
if (!IsDma3ManagerBusyWithBgCopy())
|
||||||
|
PutWindowTilemap(gUnknown_203F440->unk3008[0]);
|
||||||
|
CopyBgTilemapBufferToVram(0);
|
||||||
|
gUnknown_203F440->state++;
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
if (++gUnknown_203F440->unk301C >= 120)
|
||||||
|
gUnknown_203F440->state++;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
gUnknown_203F440->unk3024 = 5;
|
||||||
|
ClearWindowTilemap(gUnknown_203F440->unk3008[0]);
|
||||||
|
RemoveWindow(gUnknown_203F440->unk3008[0]);
|
||||||
|
FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 30, 20);
|
||||||
|
CopyBgTilemapBufferToVram(0);
|
||||||
|
gUnknown_203F440->finished = TRUE;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void unused_0(void)
|
||||||
|
{
|
||||||
|
DestroyTask(gUnknown_203F440->unk3004);
|
||||||
|
gUnknown_203F440->finished = TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
void nullsub_98(void)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_8155E24(void (*func)(void))
|
||||||
|
{
|
||||||
|
gUnknown_203F440->state = 0;
|
||||||
|
gUnknown_203F440->finished = FALSE;
|
||||||
|
gUnknown_203F440->unk3028 = func;
|
||||||
|
}
|
||||||
|
|
||||||
|
void (*sub_8155E54(void))(void)
|
||||||
|
{
|
||||||
|
return gUnknown_203F440->unk3028;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool32 sub_8155E68(void)
|
||||||
|
{
|
||||||
|
if (gUnknown_203F440->finished == TRUE)
|
||||||
|
return FALSE;
|
||||||
|
else
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
u8 sub_8155E8C(void)
|
||||||
|
{
|
||||||
|
return gUnknown_203F440->unk3024;
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_8155EA0(void)
|
||||||
|
{
|
||||||
|
DmaClearLarge16(3, (void *)VRAM, VRAM_SIZE, 0x1000);
|
||||||
|
DmaClear32(3,(void *)OAM, OAM_SIZE);
|
||||||
|
DmaClear16(3, (void *)PLTT, PLTT_SIZE);
|
||||||
|
SetGpuReg(REG_OFFSET_DISPCNT, 0);
|
||||||
|
ResetBgsAndClearDma3BusyFlags(FALSE);
|
||||||
|
InitBgsFromTemplates(0, sUnknown_847565C, ARRAY_COUNT(sUnknown_847565C));
|
||||||
|
ChangeBgX(0, 0, 0);
|
||||||
|
ChangeBgY(0, 0, 0);
|
||||||
|
ChangeBgX(1, 0, 0);
|
||||||
|
ChangeBgY(1, 0, 0);
|
||||||
|
ChangeBgX(2, 0, 0);
|
||||||
|
ChangeBgY(2, 0, 0);
|
||||||
|
ChangeBgX(3, 0, 0);
|
||||||
|
ChangeBgY(3, 0, 0);
|
||||||
|
InitStandardTextBoxWindows();
|
||||||
|
ResetBg0();
|
||||||
|
SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_ON | DISPCNT_OBJ_1D_MAP);
|
||||||
|
SetBgTilemapBuffer(3, gUnknown_203F440->tilemapBuffers[0]);
|
||||||
|
SetBgTilemapBuffer(1, gUnknown_203F440->tilemapBuffers[1]);
|
||||||
|
SetBgTilemapBuffer(2, gUnknown_203F440->tilemapBuffers[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool32 sub_8155FE0(void)
|
||||||
|
{
|
||||||
|
switch (gUnknown_203F440->unk3018)
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
LoadPalette(sDodrioBerryBgPal1, 0, sizeof(sDodrioBerryBgPal1));
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
ResetTempTileDataBuffers();
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
DecompressAndCopyTileDataToVram(3, sDodrioBerryBgGfx1, 0, 0, 0);
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
DecompressAndCopyTileDataToVram(1, sDodrioBerryBgGfx2, 0, 0, 0);
|
||||||
|
break;
|
||||||
|
case 4:
|
||||||
|
if (FreeTempTileDataBuffersIfPossible() == TRUE)
|
||||||
|
return FALSE;
|
||||||
|
break;
|
||||||
|
case 5:
|
||||||
|
LoadPalette(stdpal_get(3), 0xD0, 0x20);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
gUnknown_203F440->unk3018 = 0;
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
gUnknown_203F440->unk3018++;
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user