title_screen through sub_80791C0

This commit is contained in:
PikalaxALT
2019-07-31 12:32:57 -04:00
parent ea8f529f2d
commit e96ecee460
9 changed files with 480 additions and 791 deletions
-687
View File
@@ -5,693 +5,6 @@
.text
thumb_func_start sub_8078D24
sub_8078D24: @ 8078D24
push {r4,lr}
adds r4, r0, 0
movs r1, 0x2
ldrsh r0, [r4, r1]
cmp r0, 0x1
beq _08078D5C
cmp r0, 0x1
bgt _08078D3A
cmp r0, 0
beq _08078D40
b _08078D9C
_08078D3A:
cmp r0, 0x2
beq _08078D84
b _08078D9C
_08078D40:
movs r0, 0x50
movs r1, 0x82
bl SetGpuReg
movs r0, 0x54
movs r1, 0
bl SetGpuReg
movs r0, 0x80
strh r0, [r4, 0x4]
movs r0, 0x80
bl sub_8079550
b _08078D78
_08078D5C:
ldrh r0, [r4, 0x4]
subs r0, 0x4
strh r0, [r4, 0x4]
movs r1, 0x4
ldrsh r0, [r4, r1]
bl sub_8079550
movs r1, 0x4
ldrsh r0, [r4, r1]
cmp r0, 0
bge _08078D9C
ldr r1, _08078D80 @ =gScanlineEffect
movs r0, 0x3
strb r0, [r1, 0x15]
_08078D78:
ldrh r0, [r4, 0x2]
adds r0, 0x1
strh r0, [r4, 0x2]
b _08078D9C
.align 2, 0
_08078D80: .4byte gScanlineEffect
_08078D84:
movs r0, 0x50
movs r1, 0
bl SetGpuReg
movs r0, 0x54
movs r1, 0
bl SetGpuReg
adds r0, r4, 0
movs r1, 0x2
bl sub_8078C90
_08078D9C:
pop {r4}
pop {r0}
bx r0
thumb_func_end sub_8078D24
thumb_func_start sub_8078DA4
sub_8078DA4: @ 8078DA4
push {r4-r7,lr}
sub sp, 0xC
adds r6, r0, 0
movs r1, 0x2
ldrsh r0, [r6, r1]
cmp r0, 0x9
bls _08078DB4
b _08078FB6
_08078DB4:
lsls r0, 2
ldr r1, _08078DC0 @ =_08078DC4
adds r0, r1
ldr r0, [r0]
mov pc, r0
.align 2, 0
_08078DC0: .4byte _08078DC4
.align 2, 0
_08078DC4:
.4byte _08078DEC
.4byte _08078DF2
.4byte _08078E24
.4byte _08078E40
.4byte _08078E80
.4byte _08078EA4
.4byte _08078ED4
.4byte _08078EF8
.4byte _08078F24
.4byte _08078F98
_08078DEC:
movs r0, 0
strh r0, [r6, 0x4]
b _08078F80
_08078DF2:
ldrh r0, [r6, 0x4]
adds r0, 0x1
strh r0, [r6, 0x4]
lsls r0, 16
asrs r0, 16
cmp r0, 0xA
bgt _08078E02
b _08078FB6
_08078E02:
ldr r0, _08078E20 @ =gPlttBufferUnfaded + 0x1A0
movs r1, 0x10
bl TintPalette_GrayScale2
movs r0, 0x80
lsls r0, 6
movs r1, 0
str r1, [sp]
movs r1, 0x9
movs r2, 0x10
movs r3, 0
bl BeginNormalPaletteFade
b _08078F80
.align 2, 0
_08078E20: .4byte gPlttBufferUnfaded + 0x1A0
_08078E24:
ldr r0, _08078E3C @ =gPaletteFade
ldrb r1, [r0, 0x7]
movs r0, 0x80
ands r0, r1
lsls r0, 24
lsrs r0, 24
cmp r0, 0
beq _08078E36
b _08078FB6
_08078E36:
strh r0, [r6, 0x4]
b _08078F80
.align 2, 0
_08078E3C: .4byte gPaletteFade
_08078E40:
ldrh r0, [r6, 0x4]
adds r0, 0x1
strh r0, [r6, 0x4]
lsls r0, 16
asrs r0, 16
cmp r0, 0x24
bgt _08078E50
b _08078FB6
_08078E50:
ldr r0, _08078E78 @ =sub_80792C8
movs r1, 0x3
bl CreateTask
movs r0, 0x80
lsls r0, 6
movs r1, 0x4
negs r1, r1
ldr r2, _08078E7C @ =0x00007fde
str r2, [sp]
movs r4, 0
str r4, [sp, 0x4]
str r4, [sp, 0x8]
movs r2, 0x1
movs r3, 0x10
bl sub_80717A8
strh r4, [r6, 0x4]
b _08078F80
.align 2, 0
_08078E78: .4byte sub_80792C8
_08078E7C: .4byte 0x00007fde
_08078E80:
movs r0, 0
bl sub_807185C
adds r3, r0, 0
cmp r3, 0
beq _08078E8E
b _08078FB6
_08078E8E:
movs r0, 0x80
lsls r0, 6
movs r1, 0x4
negs r1, r1
ldr r2, _08078EA0 @ =0x00007fde
str r2, [sp]
str r3, [sp, 0x4]
str r3, [sp, 0x8]
b _08078F78
.align 2, 0
_08078EA0: .4byte 0x00007fde
_08078EA4:
ldrh r0, [r6, 0x4]
adds r0, 0x1
strh r0, [r6, 0x4]
lsls r0, 16
asrs r0, 16
cmp r0, 0x14
bgt _08078EB4
b _08078FB6
_08078EB4:
movs r0, 0
strh r0, [r6, 0x4]
movs r0, 0x80
lsls r0, 6
movs r1, 0x4
negs r1, r1
ldr r2, _08078ED0 @ =0x00007fde
str r2, [sp]
movs r2, 0
str r2, [sp, 0x4]
str r2, [sp, 0x8]
movs r2, 0x1
movs r3, 0x10
b _08078F7C
.align 2, 0
_08078ED0: .4byte 0x00007fde
_08078ED4:
movs r0, 0
bl sub_807185C
adds r3, r0, 0
cmp r3, 0
bne _08078FB6
movs r0, 0x80
lsls r0, 6
movs r1, 0x4
negs r1, r1
ldr r2, _08078EF4 @ =0x00007fde
str r2, [sp]
str r3, [sp, 0x4]
str r3, [sp, 0x8]
b _08078F78
.align 2, 0
_08078EF4: .4byte 0x00007fde
_08078EF8:
ldrh r0, [r6, 0x4]
adds r0, 0x1
strh r0, [r6, 0x4]
lsls r0, 16
asrs r0, 16
cmp r0, 0x14
ble _08078FB6
movs r0, 0
strh r0, [r6, 0x4]
movs r0, 0x80
lsls r0, 6
movs r1, 0x3
negs r1, r1
ldr r2, _08078F20 @ =0x00007fde
str r2, [sp]
movs r2, 0
str r2, [sp, 0x4]
str r2, [sp, 0x8]
movs r3, 0x10
b _08078F7C
.align 2, 0
_08078F20: .4byte 0x00007fde
_08078F24:
movs r0, 0
bl sub_807185C
adds r7, r0, 0
cmp r7, 0
bne _08078FB6
movs r0, 0x1
strh r0, [r6, 0xA]
bl sub_80799F0
movs r4, 0x80
lsls r4, 9
lsls r4, r0
ldr r0, _08078F88 @ =0x00001fff
orrs r4, r0
ldr r5, _08078F8C @ =0x00007fde
adds r0, r4, 0
movs r1, 0x10
adds r2, r5, 0
bl BlendPalettes
str r5, [sp]
adds r0, r4, 0
movs r1, 0x1
movs r2, 0x10
movs r3, 0
bl BeginNormalPaletteFade
movs r0, 0
bl ShowBg
ldr r0, _08078F90 @ =gUnknown_8EAD5E8
ldr r1, _08078F94 @ =gPlttBufferUnfaded + 0x1A0
movs r2, 0x10
bl CpuSet
movs r0, 0x80
lsls r0, 6
str r5, [sp]
str r7, [sp, 0x4]
str r7, [sp, 0x8]
movs r1, 0x1
_08078F78:
movs r2, 0xF
movs r3, 0
_08078F7C:
bl sub_80717A8
_08078F80:
ldrh r0, [r6, 0x2]
adds r0, 0x1
strh r0, [r6, 0x2]
b _08078FB6
.align 2, 0
_08078F88: .4byte 0x00001fff
_08078F8C: .4byte 0x00007fde
_08078F90: .4byte gUnknown_8EAD5E8
_08078F94: .4byte gPlttBufferUnfaded + 0x1A0
_08078F98:
movs r0, 0
bl sub_807185C
cmp r0, 0
bne _08078FB6
ldr r0, _08078FC0 @ =gPaletteFade
ldrb r1, [r0, 0x7]
movs r0, 0x80
ands r0, r1
cmp r0, 0
bne _08078FB6
adds r0, r6, 0
movs r1, 0x3
bl sub_8078C90
_08078FB6:
add sp, 0xC
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_08078FC0: .4byte gPaletteFade
thumb_func_end sub_8078DA4
thumb_func_start sub_8078FC4
sub_8078FC4: @ 8078FC4
push {r4,lr}
adds r4, r0, 0
movs r1, 0x2
ldrsh r0, [r4, r1]
cmp r0, 0
beq _08078FD6
cmp r0, 0x1
beq _08079004
b _08079094
_08078FD6:
movs r0, 0x1
bl HelpSystem_SetSomeVariable2
ldr r0, _0807902C @ =sub_807941C
movs r1, 0
bl CreateTask
ldr r0, _08079030 @ =sub_8079840
movs r1, 0x5
bl CreateTask
bl sub_80790A0
bl sub_8079A40
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0xC]
bl sub_812B484
ldrh r0, [r4, 0x2]
adds r0, 0x1
strh r0, [r4, 0x2]
_08079004:
ldr r2, _08079034 @ =gMain
ldrh r1, [r2, 0x2C]
movs r0, 0x46
ands r0, r1
cmp r0, 0x46
bne _08079040
ldrb r0, [r4, 0xC]
bl sub_8079A88
ldr r0, _08079038 @ =sub_8078C24
bl FindTaskIdByFunc
lsls r0, 24
lsrs r0, 24
bl DestroyTask
ldr r0, _0807903C @ =sub_80796CC
bl SetMainCallback2
b _08079094
.align 2, 0
_0807902C: .4byte sub_807941C
_08079030: .4byte sub_8079840
_08079034: .4byte gMain
_08079038: .4byte sub_8078C24
_0807903C: .4byte sub_80796CC
_08079040:
movs r0, 0x6
ands r0, r1
cmp r0, 0x6
bne _0807906C
ldrb r0, [r4, 0xC]
bl sub_8079A88
ldr r0, _08079064 @ =sub_8078C24
bl FindTaskIdByFunc
lsls r0, 24
lsrs r0, 24
bl DestroyTask
ldr r0, _08079068 @ =sub_80796E8
bl SetMainCallback2
b _08079094
.align 2, 0
_08079064: .4byte sub_8078C24
_08079068: .4byte sub_80796E8
_0807906C:
ldrh r1, [r2, 0x2E]
movs r0, 0x9
ands r0, r1
cmp r0, 0
beq _08079080
adds r0, r4, 0
movs r1, 0x5
bl sub_8078C90
b _08079094
_08079080:
ldr r0, _0807909C @ =sub_8078BEC
bl FuncIsActiveTask
lsls r0, 24
cmp r0, 0
bne _08079094
adds r0, r4, 0
movs r1, 0x4
bl sub_8078C90
_08079094:
pop {r4}
pop {r0}
bx r0
.align 2, 0
_0807909C: .4byte sub_8078BEC
thumb_func_end sub_8078FC4
thumb_func_start sub_80790A0
sub_80790A0: @ 80790A0
push {lr}
movs r1, 0x80
lsls r1, 8
movs r0, 0
bl SetGpuRegBits
ldr r1, _080790C8 @ =0x00003f1f
movs r0, 0x4A
bl SetGpuReg
movs r0, 0x50
movs r1, 0x81
bl SetGpuReg
movs r0, 0x54
movs r1, 0xD
bl SetGpuReg
pop {r0}
bx r0
.align 2, 0
_080790C8: .4byte 0x00003f1f
thumb_func_end sub_80790A0
thumb_func_start sub_80790CC
sub_80790CC: @ 80790CC
push {r4,r5,lr}
sub sp, 0x4
adds r4, r0, 0
movs r1, 0x2
ldrsh r0, [r4, r1]
cmp r0, 0x4
bhi _080791B0
lsls r0, 2
ldr r1, _080790E4 @ =_080790E8
adds r0, r1
ldr r0, [r0]
mov pc, r0
.align 2, 0
_080790E4: .4byte _080790E8
.align 2, 0
_080790E8:
.4byte _080790FC
.4byte _08079104
.4byte _0807913C
.4byte _08079170
.4byte _08079198
_080790FC:
ldrb r0, [r4, 0xC]
bl sub_8079A88
b _0807918C
_08079104:
ldr r0, _08079138 @ =gPaletteFade
ldrb r1, [r0, 0x7]
movs r0, 0x80
ands r0, r1
cmp r0, 0
bne _080791B0
ldrb r0, [r4, 0xC]
bl sub_8079AA8
adds r5, r0, 0
cmp r5, 0
bne _080791B0
movs r0, 0xA
bl FadeOutMapMusic
movs r0, 0x1
negs r0, r0
str r5, [sp]
movs r1, 0x3
movs r2, 0
movs r3, 0x10
bl BeginNormalPaletteFade
bl sub_8079528
b _0807918C
.align 2, 0
_08079138: .4byte gPaletteFade
_0807913C:
bl IsNotWaitingForBGMStop
lsls r0, 24
cmp r0, 0
beq _080791B0
ldr r0, _08079168 @ =gPaletteFade
ldrb r1, [r0, 0x7]
movs r0, 0x80
ands r0, r1
lsls r0, 24
lsrs r5, r0, 24
cmp r5, 0
bne _080791B0
ldr r0, _0807916C @ =sub_807941C
bl FindTaskIdByFunc
lsls r0, 24
lsrs r0, 24
bl DestroyTask
strh r5, [r4, 0x4]
b _0807918C
.align 2, 0
_08079168: .4byte gPaletteFade
_0807916C: .4byte sub_807941C
_08079170:
ldrh r0, [r4, 0x4]
adds r0, 0x1
strh r0, [r4, 0x4]
lsls r0, 16
asrs r0, 16
cmp r0, 0x13
ble _080791B0
ldr r0, _08079194 @ =sub_807941C
bl FindTaskIdByFunc
lsls r0, 24
lsrs r0, 24
bl DestroyTask
_0807918C:
ldrh r0, [r4, 0x2]
adds r0, 0x1
strh r0, [r4, 0x2]
b _080791B0
.align 2, 0
_08079194: .4byte sub_807941C
_08079198:
bl sub_812B478
ldr r0, _080791B8 @ =sub_8078C24
bl FindTaskIdByFunc
lsls r0, 24
lsrs r0, 24
bl DestroyTask
ldr r0, _080791BC @ =sub_80EC864
bl SetMainCallback2
_080791B0:
add sp, 0x4
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_080791B8: .4byte sub_8078C24
_080791BC: .4byte sub_80EC864
thumb_func_end sub_80790CC
thumb_func_start sub_80791C0
sub_80791C0: @ 80791C0
push {r4,r5,lr}
sub sp, 0x4
adds r4, r0, 0
movs r1, 0x2
ldrsh r0, [r4, r1]
cmp r0, 0x1
beq _08079204
cmp r0, 0x1
bgt _080791D8
cmp r0, 0
beq _080791DE
b _080792A6
_080791D8:
cmp r0, 0x2
beq _08079248
b _080792A6
_080791DE:
ldr r0, _08079200 @ =gPaletteFade
ldrb r1, [r0, 0x7]
movs r0, 0x80
ands r0, r1
lsls r0, 24
lsrs r5, r0, 24
cmp r5, 0
bne _080792A6
.ifdef FIRERED
movs r0, 0x6 @ CHARIZARD
.else
movs r0, 0x3 @ VENUSAUR
.endif
movs r1, 0
bl PlayCry1
ldrb r0, [r4, 0xC]
bl sub_8079A88
strh r5, [r4, 0x4]
b _08079238
.align 2, 0
_08079200: .4byte gPaletteFade
_08079204:
ldrh r1, [r4, 0x4]
movs r2, 0x4
ldrsh r0, [r4, r2]
cmp r0, 0x59
bgt _08079214
adds r0, r1, 0x1
strh r0, [r4, 0x4]
b _080792A6
_08079214:
ldrb r0, [r4, 0xC]
bl sub_8079AA8
cmp r0, 0
bne _080792A6
ldr r0, _08079240 @ =0x0fffffff
ldr r1, _08079244 @ =0x00007fff
str r1, [sp]
movs r1, 0
movs r2, 0
movs r3, 0x10
bl BeginNormalPaletteFade
bl sub_8079528
movs r0, 0x4
bl FadeOutBGM
_08079238:
ldrh r0, [r4, 0x2]
adds r0, 0x1
strh r0, [r4, 0x2]
b _080792A6
.align 2, 0
_08079240: .4byte 0x0fffffff
_08079244: .4byte 0x00007fff
_08079248:
ldr r0, _080792B0 @ =gPaletteFade
ldrb r1, [r0, 0x7]
movs r0, 0x80
ands r0, r1
cmp r0, 0
bne _080792A6
bl SeedRngAndSetTrainerId
bl SetSaveBlocksPointers
bl ResetMenuAndMonGlobals
bl Save_ResetSaveCounters
movs r0, 0
bl Save_LoadGameData
ldr r0, _080792B4 @ =gSaveFileStatus
ldrh r0, [r0]
cmp r0, 0
beq _08079276
cmp r0, 0x2
bne _0807927A
_08079276:
bl Sav2_ClearSetDefault
_0807927A:
ldr r0, _080792B8 @ =gSaveBlock2Ptr
ldr r0, [r0]
ldrb r0, [r0, 0x15]
lsls r0, 31
lsrs r0, 31
bl SetPokemonCryStereo
ldr r0, _080792BC @ =gHeap
movs r1, 0xE0
lsls r1, 9
bl InitHeap
ldr r0, _080792C0 @ =sub_800C300
bl SetMainCallback2
ldr r0, _080792C4 @ =sub_8078C24
bl FindTaskIdByFunc
lsls r0, 24
lsrs r0, 24
bl DestroyTask
_080792A6:
add sp, 0x4
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_080792B0: .4byte gPaletteFade
_080792B4: .4byte gSaveFileStatus
_080792B8: .4byte gSaveBlock2Ptr
_080792BC: .4byte gHeap
_080792C0: .4byte sub_800C300
_080792C4: .4byte sub_8078C24
thumb_func_end sub_80791C0
thumb_func_start sub_80792C8
sub_80792C8: @ 80792C8
push {r4,r5,lr}