Decompile credits

This commit is contained in:
Diegoisawesome 2018-02-17 03:55:32 -06:00
parent bc4bb5b32e
commit 1605f62535
16 changed files with 2813 additions and 6483 deletions

File diff suppressed because it is too large Load Diff

View File

@ -1,459 +0,0 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start sub_817B698
sub_817B698: @ 817B698
push {r4-r7,lr}
mov r7, r10
mov r6, r9
mov r5, r8
push {r5-r7}
sub sp, 0xC
str r1, [sp, 0x4]
str r2, [sp, 0x8]
lsls r0, 24
lsrs r0, 24
str r0, [sp]
lsls r3, 24
lsrs r3, 24
mov r8, r3
movs r7, 0
cmp r7, r8
bcs _0817B74E
ldr r0, =gSprites
mov r10, r0
movs r2, 0x3F
mov r9, r2
_0817B6C2:
lsls r6, r7, 3
ldr r0, [sp, 0x4]
adds r6, r0
ldrb r1, [r6, 0x1]
ldrb r2, [r6, 0x2]
ldrb r3, [r6, 0x3]
ldr r0, =gUnknown_085F504C
bl CreateSprite
lsls r0, 24
lsrs r0, 24
lsls r5, r0, 4
adds r5, r0
lsls r5, 2
mov r2, r10
adds r4, r5, r2
ldrb r2, [r6]
lsls r1, r2, 26
lsrs r1, 30
lsrs r2, 6
adds r0, r4, 0
movs r3, 0
bl CalcCenterToCornerVec
ldrb r3, [r4, 0x5]
movs r0, 0xC
orrs r3, r0
strb r3, [r4, 0x5]
ldrb r1, [r6]
lsls r1, 26
lsrs r1, 30
lsls r1, 6
ldrb r2, [r4, 0x1]
mov r0, r9
ands r0, r2
orrs r0, r1
strb r0, [r4, 0x1]
ldrb r1, [r6]
lsrs r1, 6
lsls r1, 6
ldrb r2, [r4, 0x3]
mov r0, r9
ands r0, r2
orrs r0, r1
strb r0, [r4, 0x3]
movs r0, 0xF
ands r3, r0
strb r3, [r4, 0x5]
ldr r0, =gSprites + 8
adds r5, r0
ldr r2, [sp, 0x8]
str r2, [r5]
ldrb r1, [r6]
lsls r1, 28
lsrs r1, 28
adds r0, r4, 0
bl StartSpriteAnim
movs r1, 0
mov r0, sp
ldrh r0, [r0]
strh r0, [r4, 0x2E]
ldrh r0, [r6, 0x4]
strh r0, [r4, 0x30]
strh r1, [r4, 0x32]
adds r0, r7, 0x1
lsls r0, 24
lsrs r7, r0, 24
cmp r7, r8
bcc _0817B6C2
_0817B74E:
add sp, 0xC
pop {r3-r5}
mov r8, r3
mov r9, r4
mov r10, r5
pop {r4-r7}
pop {r0}
bx r0
.pool
thumb_func_end sub_817B698
thumb_func_start sub_817B76C
sub_817B76C: @ 817B76C
push {lr}
ldr r1, =gUnknown_085F50A4
ldr r2, =gUnknown_085F5094
movs r0, 0
movs r3, 0x9
bl sub_817B698
pop {r0}
bx r0
.pool
thumb_func_end sub_817B76C
thumb_func_start sub_817B788
sub_817B788: @ 817B788
push {lr}
ldr r1, =gUnknown_085F5120
ldr r2, =gUnknown_085F5114
movs r0, 0x1
movs r3, 0xC
bl sub_817B698
pop {r0}
bx r0
.pool
thumb_func_end sub_817B788
thumb_func_start sub_817B7A4
sub_817B7A4: @ 817B7A4
push {lr}
ldr r1, =gUnknown_085F519C
ldr r2, =gUnknown_085F5198
movs r0, 0x1
movs r3, 0x6
bl sub_817B698
pop {r0}
bx r0
.pool
thumb_func_end sub_817B7A4
thumb_func_start nullsub_65
nullsub_65: @ 817B7C0
bx lr
thumb_func_end nullsub_65
thumb_func_start sub_817B7C4
sub_817B7C4: @ 817B7C4
push {r4,lr}
ldr r4, =gSprites
movs r1, 0x2E
ldrsh r2, [r0, r1]
lsls r1, r2, 4
adds r1, r2
lsls r1, 2
adds r1, r4
adds r1, 0x3E
ldrb r1, [r1]
movs r2, 0x3E
adds r2, r0
mov r12, r2
movs r2, 0x4
ands r2, r1
mov r1, r12
ldrb r3, [r1]
movs r1, 0x5
negs r1, r1
ands r1, r3
orrs r1, r2
mov r2, r12
strb r1, [r2]
movs r1, 0x2E
ldrsh r2, [r0, r1]
lsls r1, r2, 4
adds r1, r2
lsls r1, 2
adds r1, r4
ldrh r1, [r1, 0x20]
strh r1, [r0, 0x20]
lsls r1, r2, 4
adds r1, r2
lsls r1, 2
adds r1, r4
ldrh r1, [r1, 0x22]
adds r1, 0x8
strh r1, [r0, 0x22]
lsls r1, r2, 4
adds r1, r2
lsls r1, 2
adds r1, r4
ldrh r1, [r1, 0x24]
strh r1, [r0, 0x24]
lsls r1, r2, 4
adds r1, r2
lsls r1, 2
adds r1, r4
ldrh r1, [r1, 0x26]
strh r1, [r0, 0x26]
pop {r4}
pop {r0}
bx r0
.pool
thumb_func_end sub_817B7C4
thumb_func_start intro_create_brendan_sprite
intro_create_brendan_sprite: @ 817B834
push {r4-r6,lr}
adds r5, r0, 0
adds r4, r1, 0
ldr r0, =gUnknown_085F51EC
lsls r5, 16
asrs r5, 16
lsls r4, 16
asrs r4, 16
adds r1, r5, 0
adds r2, r4, 0
movs r3, 0x2
bl CreateSprite
adds r6, r0, 0
lsls r6, 24
lsrs r6, 24
ldr r0, =gUnknown_085F523C
adds r4, 0x8
lsls r4, 16
asrs r4, 16
adds r1, r5, 0
adds r2, r4, 0
movs r3, 0x3
bl CreateSprite
lsls r0, 24
lsrs r0, 24
ldr r2, =gSprites
lsls r1, r0, 4
adds r1, r0
lsls r1, 2
adds r1, r2
strh r6, [r1, 0x2E]
adds r0, r6, 0
pop {r4-r6}
pop {r1}
bx r1
.pool
thumb_func_end intro_create_brendan_sprite
thumb_func_start intro_create_may_sprite
intro_create_may_sprite: @ 817B88C
push {r4-r6,lr}
adds r5, r0, 0
adds r4, r1, 0
ldr r0, =gUnknown_085F5204
lsls r5, 16
asrs r5, 16
lsls r4, 16
asrs r4, 16
adds r1, r5, 0
adds r2, r4, 0
movs r3, 0x2
bl CreateSprite
adds r6, r0, 0
lsls r6, 24
lsrs r6, 24
ldr r0, =gUnknown_085F5254
adds r4, 0x8
lsls r4, 16
asrs r4, 16
adds r1, r5, 0
adds r2, r4, 0
movs r3, 0x3
bl CreateSprite
lsls r0, 24
lsrs r0, 24
ldr r2, =gSprites
lsls r1, r0, 4
adds r1, r0
lsls r1, 2
adds r1, r2
strh r6, [r1, 0x2E]
adds r0, r6, 0
pop {r4-r6}
pop {r1}
bx r1
.pool
thumb_func_end intro_create_may_sprite
thumb_func_start nullsub_66
nullsub_66: @ 817B8E4
bx lr
thumb_func_end nullsub_66
thumb_func_start sub_817B8E8
sub_817B8E8: @ 817B8E8
push {r4,lr}
ldr r4, =gSprites
movs r1, 0x2E
ldrsh r2, [r0, r1]
lsls r1, r2, 4
adds r1, r2
lsls r1, 2
adds r1, r4
adds r1, 0x3E
ldrb r1, [r1]
movs r2, 0x3E
adds r2, r0
mov r12, r2
movs r2, 0x4
ands r2, r1
mov r1, r12
ldrb r3, [r1]
movs r1, 0x5
negs r1, r1
ands r1, r3
orrs r1, r2
mov r2, r12
strb r1, [r2]
movs r1, 0x2E
ldrsh r2, [r0, r1]
lsls r1, r2, 4
adds r1, r2
lsls r1, 2
adds r1, r4
ldrh r1, [r1, 0x22]
strh r1, [r0, 0x22]
lsls r1, r2, 4
adds r1, r2
lsls r1, 2
adds r1, r4
ldrh r1, [r1, 0x24]
strh r1, [r0, 0x24]
lsls r1, r2, 4
adds r1, r2
lsls r1, 2
adds r1, r4
ldrh r1, [r1, 0x26]
strh r1, [r0, 0x26]
pop {r4}
pop {r0}
bx r0
.pool
thumb_func_end sub_817B8E8
thumb_func_start sub_817B948
sub_817B948: @ 817B948
push {r4-r6,lr}
mov r6, r8
push {r6}
adds r2, r0, 0
adds r5, r1, 0
ldr r0, =gUnknown_085F528C
mov r8, r0
lsls r2, 16
asrs r4, r2, 16
ldr r0, =0xffe00000
adds r2, r0
asrs r2, 16
lsls r5, 16
asrs r5, 16
mov r0, r8
adds r1, r2, 0
adds r2, r5, 0
movs r3, 0x5
bl CreateSprite
adds r6, r0, 0
lsls r6, 24
lsrs r6, 24
adds r4, 0x20
lsls r4, 16
asrs r4, 16
mov r0, r8
adds r1, r4, 0
adds r2, r5, 0
movs r3, 0x6
bl CreateSprite
lsls r0, 24
lsrs r0, 24
ldr r5, =gSprites
lsls r4, r0, 4
adds r4, r0
lsls r4, 2
adds r0, r4, r5
strh r6, [r0, 0x2E]
movs r1, 0x1
bl StartSpriteAnim
adds r5, 0x1C
adds r4, r5
ldr r0, =sub_817B8E8
str r0, [r4]
adds r0, r6, 0
pop {r3}
mov r8, r3
pop {r4-r6}
pop {r1}
bx r1
.pool
thumb_func_end sub_817B948
thumb_func_start intro_create_flygon_sprite
intro_create_flygon_sprite: @ 817B9C4
push {r4-r6,lr}
mov r6, r8
push {r6}
adds r2, r0, 0
adds r5, r1, 0
ldr r0, =gUnknown_085F52A4
mov r8, r0
lsls r2, 16
asrs r4, r2, 16
ldr r0, =0xffe00000
adds r2, r0
asrs r2, 16
lsls r5, 16
asrs r5, 16
mov r0, r8
adds r1, r2, 0
adds r2, r5, 0
movs r3, 0x5
bl CreateSprite
adds r6, r0, 0
lsls r6, 24
lsrs r6, 24
adds r4, 0x20
lsls r4, 16
asrs r4, 16
mov r0, r8
adds r1, r4, 0
adds r2, r5, 0
movs r3, 0x6
bl CreateSprite
lsls r0, 24
lsrs r0, 24
ldr r5, =gSprites
lsls r4, r0, 4
adds r4, r0
lsls r4, 2
adds r0, r4, r5
strh r6, [r0, 0x2E]
movs r1, 0x1
bl StartSpriteAnim
adds r5, 0x1C
adds r4, r5
ldr r0, =sub_817B8E8
str r0, [r4]
adds r0, r6, 0
pop {r3}
mov r8, r3
pop {r4-r6}
pop {r1}
bx r1
.pool
thumb_func_end intro_create_flygon_sprite
.align 2, 0 @ Don't pad with nop.

File diff suppressed because it is too large Load Diff

View File

@ -1,459 +0,0 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.section .rodata
.align 2
gUnknown_085F06E0:: @ 85F06E0
.incbin "graphics/intro/intro2_grass.gbapal"
.align 2
gUnknown_085F0700:: @ 85F0700
.incbin "graphics/intro/intro2_grass_afternoon.gbapal"
.align 2
gUnknown_085F0720:: @ 85F0720
.incbin "graphics/intro/intro2_grass_night.gbapal"
.align 2
gUnknown_085F0740:: @ 85F0740
.incbin "graphics/intro/intro2_grass.4bpp.lz"
.align 2
gUnknown_085F0BC0:: @ 85F0BC0
.incbin "graphics/intro/intro2_grass_map.bin.lz"
.align 2
gUnknown_085F0CFC:: @ 85F0CFC
.incbin "graphics/intro/85F0CFC.gbapal"
.align 2
gUnknown_085F0D5C:: @ 85F0D5C
.incbin "graphics/intro/85F0D5C.gbapal"
.align 2
gUnknown_085F0DBC:: @ 85F0DBC
.incbin "graphics/intro/intro2_bgclouds.4bpp.lz"
.align 2
gUnknown_085F1398:: @ 85F1398
.incbin "graphics/intro/intro2_bgclouds_map.bin.lz"
.align 2
gUnknown_085F1668:: @ 85F1668
.incbin "graphics/intro/intro2_bgclouds.gbapal"
.align 2
gUnknown_085F1688:: @ 85F1688
.incbin "graphics/intro/intro2_bgclouds_afternoon.gbapal"
.align 2
gUnknown_085F16A8:: @ 85F16A8
.incbin "graphics/intro/intro2_bgclouds2.4bpp.lz"
.align 2
gUnknown_085F17E4:: @ 85F17E4
.incbin "graphics/intro/intro2_bgtrees2.gbapal"
.align 2
gUnknown_085F1804:: @ 85F1804
.incbin "graphics/intro/intro2_bgtrees2_afternoon.gbapal"
.align 2
gUnknown_085F1824:: @ 85F1824
.incbin "graphics/intro/intro2_bgtrees.4bpp.lz"
.align 2
gUnknown_085F1EAC:: @ 85F1EAC
.incbin "graphics/intro/intro2_bgtrees_map.bin.lz"
.align 2
gUnknown_085F21B0:: @ 85F21B0
.incbin "graphics/intro/intro2_bgtrees.gbapal"
.align 2
gIntro2TreeGfx:: @ 85F21D0
.incbin "graphics/intro/intro2_bgtreessmall.4bpp.lz"
.align 2
gUnknown_085F231C:: @ 85F231C
.incbin "graphics/intro/85F231C.gbapal"
.align 2
gUnknown_085F235C:: @ 85F235C
.incbin "graphics/intro/intro2_bgnight.4bpp.lz"
.align 2
gUnknown_085F2548:: @ 85F2548
.incbin "graphics/intro/intro2_bgnight.gbapal"
.align 2
gUnknown_085F2568:: @ 85F2568
.incbin "graphics/intro/intro2_bgnight_map.bin.lz"
.align 2
gIntro2NightGfx:: @ 85F2814
.incbin "graphics/intro/intro2_night.4bpp.lz"
.align 2
gIntro2BrendanPal:: @ 85F2898
.incbin "graphics/intro/intro2_brendan.gbapal"
.align 2
gIntro2BrendanGfx:: @ 85F28B8
.incbin "graphics/intro/intro2_brendan.4bpp.lz"
.align 2
gIntro2MayPal:: @ 85F3470
.incbin "graphics/intro/intro2_may.gbapal"
.align 2
gUnknown_085F3490:: @ 85F3490
.space 0x1E0
.align 2
gIntro2MayGfx:: @ 85F3670
.incbin "graphics/intro/intro2_may.4bpp.lz"
.align 2
gIntro2BicycleGfx:: @ 85F4318
.incbin "graphics/intro/intro2_bicycle.4bpp.lz"
.align 2
gIntro2LatiosPal:: @ 85F4744
.incbin "graphics/intro/intro2_latios.gbapal"
.align 2
gIntro2LatiosGfx:: @ 85F4764
.incbin "graphics/intro/intro2_latios.4bpp.lz"
.align 2
gIntro2LatiasPal:: @ 85F4C08
.incbin "graphics/intro/intro2_latias.gbapal"
.align 2
gIntro2LatiasGfx:: @ 85F4C28
.incbin "graphics/intro/intro2_latias.4bpp.lz"
.align 2
gUnknown_085F504C:: @ 85F504C
spr_template 0x07d0, 0xffff, gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_817B62C
.align 2
gUnknown_085F5064:: @ 85F5064
obj_tiles gUnknown_085F16A8, 0x0400, 0x07d0
null_obj_tiles
.align 2
gUnknown_085F5074:: @ 85F5074
obj_image_anim_frame 0, 30
obj_image_anim_end
.align 2
gUnknown_085F507C:: @ 85F507C
obj_image_anim_frame 16, 30
obj_image_anim_end
.align 2
gUnknown_085F5084:: @ 85F5084
obj_image_anim_frame 20, 30
obj_image_anim_end
.align 2
gUnknown_085F508C:: @ 85F508C
obj_image_anim_frame 22, 30
obj_image_anim_end
.align 2
gUnknown_085F5094:: @ 85F5094
.4byte gUnknown_085F5074
.4byte gUnknown_085F507C
.4byte gUnknown_085F5084
.4byte gUnknown_085F508C
.align 2
gUnknown_085F50A4:: @ 85F50A4
.byte -128, 72, 32, 100
.2byte 0xC00
.space 2
.byte -128, -98, 32, 100
.2byte 0xC00
.space 2
.byte 65, -64, 40, 101
.2byte 0x800
.space 2
.byte 65, 56, 40, 101
.2byte 0x800
.space 2
.byte 18, 100, 44, 102
.2byte 0x400
.space 2
.byte 18, -104, 44, 102
.2byte 0x400
.space 2
.byte 19, 8, 46, 103
.2byte 0x100
.space 2
.byte 19, 56, 46, 103
.2byte 0x100
.space 2
.byte 19, -16, 46, 103
.2byte 0x100
.space 2
.align 2
gUnknown_085F50EC:: @ 85F50EC
obj_tiles gIntro2TreeGfx, 0x0400, 0x07d0
null_obj_tiles
.align 2
gUnknown_085F50FC:: @ 85F50FC
obj_image_anim_frame 0, 30
obj_image_anim_end
.align 2
gUnknown_085F5104:: @ 85F5104
obj_image_anim_frame 16, 30
obj_image_anim_end
.align 2
gUnknown_085F510C:: @ 85F510C
obj_image_anim_frame 24, 30
obj_image_anim_end
.align 2
gUnknown_085F5114:: @ 85F5114
.4byte gUnknown_085F50FC
.4byte gUnknown_085F5104
.4byte gUnknown_085F510C
.align 2
gUnknown_085F5120:: @ 85F5120
.byte -128, 16, 88, 100
.2byte 0x2000
.space 2
.byte -128, 80, 88, 100
.2byte 0x2000
.space 2
.byte -128, -112, 88, 100
.2byte 0x2000
.space 2
.byte -128, -48, 88, 100
.2byte 0x2000
.space 2
.byte -95, 40, 88, 101
.2byte 0x1000
.space 2
.byte -95, 104, 88, 101
.2byte 0x1000
.space 2
.byte -95, -88, 88, 101
.2byte 0x1000
.space 2
.byte -95, -24, 88, 101
.2byte 0x1000
.space 2
.byte -94, 56, 88, 102
.2byte 0x800
.space 2
.byte -94, 120, 88, 102
.2byte 0x800
.space 2
.byte -94, -72, 88, 102
.2byte 0x800
.space 2
.byte -94, -8, 88, 102
.2byte 0x800
.space 2
.align 2
gUnknown_085F5180:: @ 85F5180
obj_tiles gIntro2NightGfx, 0x0400, 0x07d0
null_obj_tiles
.align 2
gUnknown_085F5190:: @ 85F5190
obj_image_anim_frame 0, 30
obj_image_anim_end
.align 2
gUnknown_085F5198:: @ 85F5198
.4byte gUnknown_085F5190
.align 2
gUnknown_085F519C:: @ 85F519C
.byte -128, 24, 88, 100
.2byte 0x1000
.space 2
.byte -128, 64, 88, 100
.2byte 0x1000
.space 2
.byte -128, 104, 88, 100
.2byte 0x1000
.space 2
.byte -128, -112, 88, 100
.2byte 0x1000
.space 2
.byte -128, -72, 88, 100
.2byte 0x1000
.space 2
.byte -128, -32, 88, 100
.2byte 0x1000
.space 2
.align 2
gOamData_85F51CC:: @ 85F51CC
.2byte 0x00A0
.2byte 0xC000
.2byte 0x0400
.align 2
gUnknown_085F51D4:: @ 85F51D4
obj_image_anim_frame 0, 8
obj_image_anim_frame 64, 8
obj_image_anim_frame 128, 8
obj_image_anim_frame 192, 8
obj_image_anim_jump 0
.align 2
gUnknown_085F51E8:: @ 85F51E8
.4byte gUnknown_085F51D4
.align 2
gUnknown_085F51EC:: @ 85F51EC
spr_template 0x03ea, 0x03ea, gOamData_85F51CC, gUnknown_085F51E8, NULL, gDummySpriteAffineAnimTable, nullsub_65
.align 2
gUnknown_085F5204:: @ 85F5204
spr_template 0x03eb, 0x03eb, gOamData_85F51CC, gUnknown_085F51E8, NULL, gDummySpriteAffineAnimTable, nullsub_65
.align 2
gUnknown_085F521C:: @ 85F521C
.2byte 0x40A0
.2byte 0xC000
.2byte 0x0400
.align 2
gUnknown_085F5224:: @ 85F5224
obj_image_anim_frame 0, 8
obj_image_anim_frame 32, 8
obj_image_anim_frame 64, 8
obj_image_anim_frame 96, 8
obj_image_anim_jump 0
.align 2
gUnknown_085F5238:: @ 85F5238
.4byte gUnknown_085F5224
.align 2
gUnknown_085F523C:: @ 85F523C
spr_template 0x03e9, 0x03ea, gUnknown_085F521C, gUnknown_085F5238, NULL, gDummySpriteAffineAnimTable, sub_817B7C4
.align 2
gUnknown_085F5254:: @ 85F5254
spr_template 0x03e9, 0x03eb, gUnknown_085F521C, gUnknown_085F5238, NULL, gDummySpriteAffineAnimTable, sub_817B7C4
.align 2
gUnknown_085F526C:: @ 85F526C
.2byte 0x00A0
.2byte 0xC000
.2byte 0x0400
.align 2
gUnknown_085F5274:: @ 85F5274
obj_image_anim_frame 0, 16
obj_image_anim_end
.align 2
gUnknown_085F527C:: @ 85F527C
obj_image_anim_frame 64, 16
obj_image_anim_end
.align 2
gUnknown_085F5284:: @ 85F5284
.4byte gUnknown_085F5274
.4byte gUnknown_085F527C
.align 2
gUnknown_085F528C:: @ 85F528C
spr_template 0x03ec, 0x03ec, gUnknown_085F526C, gUnknown_085F5284, NULL, gDummySpriteAffineAnimTable, nullsub_66
.align 2
gUnknown_085F52A4:: @ 85F52A4
spr_template 0x03ed, 0x03ed, gUnknown_085F526C, gUnknown_085F5284, NULL, gDummySpriteAffineAnimTable, nullsub_66
.align 2
gIntro2BrendanSpriteSheet:: @ 85F52BC
obj_tiles gIntro2BrendanNoTurnGfx, 0x2000, 0x03ea
null_obj_tiles
.align 2
gIntro2MaySpriteSheet:: @ 85F52CC
obj_tiles gIntro2MayNoTurnGfx, 0x2000, 0x03eb
null_obj_tiles
.align 2
gIntro2BicycleSpriteSheet:: @ 85F52DC
obj_tiles gIntro2BicycleGfx, 0x1000, 0x03e9
null_obj_tiles
.align 2
gUnknown_085F52EC:: @ 85F52EC
obj_tiles gIntro2FlygonGfx, 0x1000, 0x03ec
null_obj_tiles
.align 2
gIntro2FlygonSpriteSheet:: @ 85F52FC
obj_tiles gIntro2FlygonGfx, 0x1000, 0x03ed
null_obj_tiles
.align 2
gUnknown_085F530C:: @ 85F530C
obj_pal gIntro2BrendanNoTurnPal, 0x03ea
obj_pal gIntro2BrendanNoTurnPal, 0x03eb
obj_pal gIntro2FlygonPal, 0x03ec
obj_pal gIntro2FlygonPal, 0x03ed
null_obj_pal
.align 2
gUnknown_085F5334:: @ 85F5334
obj_tiles gIntro2BrendanGfx, 0x3800, 0x03ea
null_obj_tiles
.align 2
gUnknown_085F5344:: @ 85F5344
obj_tiles gIntro2MayGfx, 0x3800, 0x03eb
null_obj_tiles
.align 2
gUnknown_085F5354:: @ 85F5354
obj_tiles gIntro2BicycleGfx, 0x1000, 0x03e9
null_obj_tiles
.align 2
gUnknown_085F5364:: @ 85F5364
obj_tiles gIntro2LatiosGfx, 0x1000, 0x03ec
null_obj_tiles
.align 2
gUnknown_085F5374:: @ 85F5374
obj_tiles gIntro2LatiasGfx, 0x1000, 0x03ed
null_obj_pal
.align 2
gUnknown_085F5384:: @ 85F5384
obj_pal gIntro2BrendanPal, 0x03ea
obj_pal gIntro2MayPal, 0x03eb
obj_pal gIntro2LatiosPal, 0x03ec
obj_pal gIntro2LatiasPal, 0x03ed
null_obj_pal
.align 2
gUnknown_085F53AC:: @ 85F53AC
obj_tiles gIntro2BrendanGfx, 0x2000, 0x03ea
null_obj_tiles
.align 2
gUnknown_085F53BC:: @ 85F53BC
obj_tiles gIntro2MayGfx, 0x2000, 0x03eb
null_obj_tiles

11
include/credits.h Normal file
View File

@ -0,0 +1,11 @@
#ifndef GUARD_CREDITS_H
#define GUARD_CREDITS_H
// Exported type declarations
// Exported RAM declarations
extern EWRAM_DATA bool8 gHasHallOfFameRecords;
// Exported ROM declarations
#endif //GUARD_CREDITS_H

View File

@ -28,7 +28,6 @@ void LoadSpecialPokePic(const struct CompressedSpriteSheet *src, void *dest, s32
void LoadSpecialPokePic_2(const struct CompressedSpriteSheet *src, void *dest, s32 species, u32 personality, bool8 isFrontPic); void LoadSpecialPokePic_2(const struct CompressedSpriteSheet *src, void *dest, s32 species, u32 personality, bool8 isFrontPic);
void LoadSpecialPokePic_DontHandleDeoxys(const struct CompressedSpriteSheet *src, void *dest, s32 species, u32 personality, bool8 isFrontPic); void LoadSpecialPokePic_DontHandleDeoxys(const struct CompressedSpriteSheet *src, void *dest, s32 species, u32 personality, bool8 isFrontPic);
extern u8 gDecompressionBuffer[];
u32 sub_8034974(const u8 *ptr); u32 sub_8034974(const u8 *ptr);
#endif // GUARD_DECOMPRESS_H #endif // GUARD_DECOMPRESS_H

View File

@ -2731,7 +2731,7 @@ extern const u8 gIntro1FlygonGfx[];
extern const u16 gIntro3LightningPal[]; extern const u16 gIntro3LightningPal[];
extern const u8 gIntroCopyright_Gfx[]; extern const u8 gIntroCopyright_Gfx[];
extern const u8 gIntroCopyright_Tilemap[]; extern const u8 gIntroCopyright_Tilemap[];
extern const u16 gIntroCopyright_Pal[]; extern const u16 gIntroCopyright_Pal[16];
extern const u8 gIntro2VolbeatGfx[]; extern const u8 gIntro2VolbeatGfx[];
extern const u8 gIntro2TorchicGfx[]; extern const u8 gIntro2TorchicGfx[];
extern const u8 gIntro2ManectricGfx[]; extern const u8 gIntro2ManectricGfx[];
@ -2760,4 +2760,14 @@ extern const u8 gIntro3RayquazaGfx[];
extern const u8 gIntro3Clouds2Gfx[]; extern const u8 gIntro3Clouds2Gfx[];
extern const u16 gIntro1GameFreakTextFadePal[]; extern const u16 gIntro1GameFreakTextFadePal[];
//intro/credits graphics
extern const u8 gIntro2BrendanNoTurnGfx[];
extern const u8 gIntro2MayNoTurnGfx[];
extern const u16 gIntro2BrendanNoTurnPal[];
extern const u16 gIntro2FlygonPal[];
extern const u8 gIntro2FlygonGfx[];
//credits
extern const u8 gCreditsCopyrightEnd_Gfx[];
#endif //GUARD_GRAPHICS_H #endif //GUARD_GRAPHICS_H

View File

@ -10,11 +10,18 @@ extern const struct CompressedSpriteSheet gIntro2MaySpriteSheet[];
extern const struct CompressedSpriteSheet gIntro2BicycleSpriteSheet[]; extern const struct CompressedSpriteSheet gIntro2BicycleSpriteSheet[];
extern const struct CompressedSpriteSheet gIntro2FlygonSpriteSheet[]; extern const struct CompressedSpriteSheet gIntro2FlygonSpriteSheet[];
extern const struct SpritePalette gUnknown_085F530C[]; extern const struct SpritePalette gUnknown_085F530C[];
extern const struct CompressedSpriteSheet gUnknown_085F5334[];
extern const struct CompressedSpriteSheet gUnknown_085F5344[];
extern const struct CompressedSpriteSheet gUnknown_085F5354[];
extern const struct CompressedSpriteSheet gUnknown_085F53AC[];
extern const struct CompressedSpriteSheet gUnknown_085F53BC[];
extern const struct SpritePalette gUnknown_085F5384[];
void load_intro_part2_graphics(u8 a); void load_intro_part2_graphics(u8 a);
void sub_817B150(u8 a); void sub_817B150(u8 a);
void sub_817B1C8(u8);
void sub_817B3A8(u8);
u8 sub_817B3DC(u8 a, u16 b, u16 c, u16 d); u8 sub_817B3DC(u8 a, u16 b, u16 c, u16 d);
void sub_817B458(u8);
void sub_817B540(u8); void sub_817B540(u8);
u8 intro_create_brendan_sprite(s16 a, s16 b); u8 intro_create_brendan_sprite(s16 a, s16 b);
u8 intro_create_may_sprite(s16 a, s16 b); u8 intro_create_may_sprite(s16 a, s16 b);

View File

@ -19,5 +19,6 @@ enum
s8 GetSetPokedexFlag(u16 nationalNum, u8 caseId); s8 GetSetPokedexFlag(u16 nationalNum, u8 caseId);
u16 pokedex_count(u8); u16 pokedex_count(u8);
u16 sub_80C0844(u8); u16 sub_80C0844(u8);
u16 sub_80C0E9C(u16, s16, s16, u16);
#endif // GUARD_POKEDEX_H #endif // GUARD_POKEDEX_H

View File

@ -1,6 +1,11 @@
#ifndef GUARD_STARTER_CHOOSE_H #ifndef GUARD_STARTER_CHOOSE_H
#define GUARD_STARTER_CHOOSE_H #define GUARD_STARTER_CHOOSE_H
extern const u16 gBirchBagGrassPal[2][16];
extern const u8 gBirchBagTilemap[];
extern const u8 gBirchGrassTilemap[];
extern const u8 gBirchHelpGfx[];
u16 GetStarterPokemon(u16 chosenStarterId); u16 GetStarterPokemon(u16 chosenStarterId);
void CB2_ChooseStarter(void); void CB2_ChooseStarter(void);

View File

@ -223,7 +223,7 @@ SECTIONS {
src/field_region_map.o(.text); src/field_region_map.o(.text);
asm/battle_anim_8170478.o(.text); asm/battle_anim_8170478.o(.text);
src/hall_of_fame.o(.text); src/hall_of_fame.o(.text);
asm/credits.o(.text); src/credits.o(.text);
src/lottery_corner.o(.text); src/lottery_corner.o(.text);
src/diploma.o(.text); src/diploma.o(.text);
src/berry_tag_screen.o(.text); src/berry_tag_screen.o(.text);
@ -233,7 +233,6 @@ SECTIONS {
src/pokeblock_feed.o(.text); src/pokeblock_feed.o(.text);
src/clear_save_data_screen.o(.text); src/clear_save_data_screen.o(.text);
src/intro_credits_graphics.o(.text); src/intro_credits_graphics.o(.text);
asm/intro_credits_graphics.o(.text);
src/evolution_graphics.o(.text); src/evolution_graphics.o(.text);
src/bard_music.o(.text); src/bard_music.o(.text);
src/fldeff_teleport.o(.text); src/fldeff_teleport.o(.text);
@ -499,7 +498,7 @@ SECTIONS {
src/field_region_map.o(.rodata); src/field_region_map.o(.rodata);
data/battle_anim_8170478.o(.rodata); data/battle_anim_8170478.o(.rodata);
src/hall_of_fame.o(.rodata); src/hall_of_fame.o(.rodata);
data/credits.o(.rodata); src/credits.o(.rodata);
src/lottery_corner.o(.rodata); src/lottery_corner.o(.rodata);
src/diploma.o(.rodata); src/diploma.o(.rodata);
data/strings.o(.rodata); data/strings.o(.rodata);
@ -509,7 +508,7 @@ SECTIONS {
data/braille_puzzles.o(.rodata); data/braille_puzzles.o(.rodata);
src/pokeblock_feed.o(.rodata); src/pokeblock_feed.o(.rodata);
src/clear_save_data_screen.o(.rodata); src/clear_save_data_screen.o(.rodata);
data/intro_credits_graphics.o(.rodata); src/intro_credits_graphics.o(.rodata);
src/evolution_graphics.o(.rodata); src/evolution_graphics.o(.rodata);
src/bard_music.o(.rodata); src/bard_music.o(.rodata);
data/battle_link_817C95C.o(.rodata); data/battle_link_817C95C.o(.rodata);

2355
src/credits.c Normal file

File diff suppressed because it is too large Load Diff

View File

@ -369,7 +369,7 @@ static const struct HallofFameMon sDummyFameMon =
0x3EA03EA, 0, 0, 0, {0} 0x3EA03EA, 0, 0, 0, {0}
}; };
static const u8 sUnused2[6] = {2, 1, 3, 6, 4, 5}; static const u8 sUnused2[] = {2, 1, 3, 6, 4, 5, 0, 0};
// code // code
static void VBlankCB_HallOfFame(void) static void VBlankCB_HallOfFame(void)

View File

@ -5,63 +5,329 @@
#include "gpu_regs.h" #include "gpu_regs.h"
#include "task.h" #include "task.h"
#include "main.h" #include "main.h"
#include "graphics.h"
struct IntroCreditsSpriteMetadata
{
u8 animNum:4;
u8 shape:2;
u8 size:2;
u8 x;
u8 y;
u8 subpriority;
u16 xOff;
};
static const u16 gUnknown_085F06E0[] = INCBIN_U16("graphics/intro/intro2_grass.gbapal");
static const u16 gUnknown_085F0700[] = INCBIN_U16("graphics/intro/intro2_grass_afternoon.gbapal");
static const u16 gUnknown_085F0720[] = INCBIN_U16("graphics/intro/intro2_grass_night.gbapal");
static const u8 gUnknown_085F0740[] = INCBIN_U8("graphics/intro/intro2_grass.4bpp.lz");
static const u8 gUnknown_085F0BC0[] = INCBIN_U8("graphics/intro/intro2_grass_map.bin.lz");
static const u16 gUnknown_085F0CFC[] = INCBIN_U16("graphics/intro/85F0CFC.gbapal");
static const u16 gUnknown_085F0D5C[] = INCBIN_U16("graphics/intro/85F0D5C.gbapal");
static const u8 gUnknown_085F0DBC[] = INCBIN_U8("graphics/intro/intro2_bgclouds.4bpp.lz");
static const u8 gUnknown_085F1398[] = INCBIN_U8("graphics/intro/intro2_bgclouds_map.bin.lz");
static const u16 gUnknown_085F1668[] = INCBIN_U16("graphics/intro/intro2_bgclouds.gbapal");
static const u16 gUnknown_085F1688[] = INCBIN_U16("graphics/intro/intro2_bgclouds_afternoon.gbapal");
static const u8 gUnknown_085F16A8[] = INCBIN_U8("graphics/intro/intro2_bgclouds2.4bpp.lz");
static const u16 gUnknown_085F17E4[] = INCBIN_U16("graphics/intro/intro2_bgtrees2.gbapal");
static const u16 gUnknown_085F1804[] = INCBIN_U16("graphics/intro/intro2_bgtrees2_afternoon.gbapal");
static const u8 gUnknown_085F1824[] = INCBIN_U8("graphics/intro/intro2_bgtrees.4bpp.lz");
static const u8 gUnknown_085F1EAC[] = INCBIN_U8("graphics/intro/intro2_bgtrees_map.bin.lz");
static const u16 gUnknown_085F21B0[] = INCBIN_U16("graphics/intro/intro2_bgtrees.gbapal");
static const u8 gIntro2TreeTiles[] = INCBIN_U8("graphics/intro/intro2_bgtreessmall.4bpp.lz");
static const u16 gUnknown_085F231C[] = INCBIN_U16("graphics/intro/85F231C.gbapal");
static const u8 gUnknown_085F235C[] = INCBIN_U8("graphics/intro/intro2_bgnight.4bpp.lz");
static const u16 gUnknown_085F2548[] = INCBIN_U16("graphics/intro/intro2_bgnight.gbapal");
static const u8 gUnknown_085F2568[] = INCBIN_U8("graphics/intro/intro2_bgnight_map.bin.lz");
static const u8 gIntro2NightTiles[] = INCBIN_U8("graphics/intro/intro2_night.4bpp.lz");
static const u16 gIntro2BrendanPalette[] = INCBIN_U16("graphics/intro/intro2_brendan.gbapal");
static const u8 gIntro2BrendanTiles[] = INCBIN_U8("graphics/intro/intro2_brendan.4bpp.lz");
static const u16 gIntro2MayPalette[] = INCBIN_U16("graphics/intro/intro2_may.gbapal");
static const u16 gUnknown_085F3490[0xF0] = {0};
static const u8 gIntro2MayTiles[] = INCBIN_U8("graphics/intro/intro2_may.4bpp.lz");
static const u8 gIntro2BicycleTiles[] = INCBIN_U8("graphics/intro/intro2_bicycle.4bpp.lz");
static const u16 gIntro2LatiosPalette[] = INCBIN_U16("graphics/intro/intro2_latios.gbapal");
static const u8 gIntro2LatiosTiles[] = INCBIN_U8("graphics/intro/intro2_latios.4bpp.lz");
static const u16 gIntro2LatiasPalette[] = INCBIN_U16("graphics/intro/intro2_latias.gbapal");
static const u8 gIntro2LatiasTiles[] = INCBIN_U8("graphics/intro/intro2_latias.4bpp.lz");
static void sub_817B62C(struct Sprite *sprite);
static void nullsub_65(struct Sprite *sprite);
static void sub_817B7C4(struct Sprite *sprite);
static void nullsub_66(struct Sprite *sprite);
static const struct SpriteTemplate gUnknown_085F504C = {
2000, 0xFFFF, &gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_817B62C
};
static const struct CompressedSpriteSheet gUnknown_085F5064[] = {
{ gUnknown_085F16A8, 0x400, 2000 },
{ NULL }
};
static const union AnimCmd gUnknown_085F5074[] = {
ANIMCMD_FRAME( 0, 30),
ANIMCMD_END
};
static const union AnimCmd gUnknown_085F507C[] = {
ANIMCMD_FRAME(16, 30),
ANIMCMD_END
};
static const union AnimCmd gUnknown_085F5084[] = {
ANIMCMD_FRAME(20, 30),
ANIMCMD_END
};
static const union AnimCmd gUnknown_085F508C[] = {
ANIMCMD_FRAME(22, 30),
ANIMCMD_END
};
static const union AnimCmd *const gUnknown_085F5094[] = {
gUnknown_085F5074,
gUnknown_085F507C,
gUnknown_085F5084,
gUnknown_085F508C
};
static const struct IntroCreditsSpriteMetadata gUnknown_085F50A4[] = {
{ 0, ST_OAM_SQUARE, 2, 72, 32, 100, 0xc00 },
{ 0, ST_OAM_SQUARE, 2, 158, 32, 100, 0xc00 },
{ 1, ST_OAM_SQUARE, 1, 192, 40, 101, 0x800 },
{ 1, ST_OAM_SQUARE, 1, 56, 40, 101, 0x800 },
{ 2, ST_OAM_H_RECTANGLE, 0, 100, 44, 102, 0x400 },
{ 2, ST_OAM_H_RECTANGLE, 0, 152, 44, 102, 0x400 },
{ 3, ST_OAM_H_RECTANGLE, 0, 8, 46, 103, 0x100 },
{ 3, ST_OAM_H_RECTANGLE, 0, 56, 46, 103, 0x100 },
{ 3, ST_OAM_H_RECTANGLE, 0, 240, 46, 103, 0x100 },
};
static const struct CompressedSpriteSheet gUnknown_085F50EC[] = {
{ gIntro2TreeTiles, 0x400, 2000 },
{ NULL }
};
static const union AnimCmd gUnknown_085F50FC[] = {
ANIMCMD_FRAME( 0, 30),
ANIMCMD_END
};
static const union AnimCmd gUnknown_085F5104[] = {
ANIMCMD_FRAME(16, 30),
ANIMCMD_END
};
static const union AnimCmd gUnknown_085F510C[] = {
ANIMCMD_FRAME(24, 30),
ANIMCMD_END
};
static const union AnimCmd *const gUnknown_085F5114[] = {
gUnknown_085F50FC,
gUnknown_085F5104,
gUnknown_085F510C
};
static const struct IntroCreditsSpriteMetadata gUnknown_085F5120[] = {
{ 0, ST_OAM_SQUARE, 2, 16, 88, 100, 0x2000 },
{ 0, ST_OAM_SQUARE, 2, 80, 88, 100, 0x2000 },
{ 0, ST_OAM_SQUARE, 2, 144, 88, 100, 0x2000 },
{ 0, ST_OAM_SQUARE, 2, 208, 88, 100, 0x2000 },
{ 1, ST_OAM_V_RECTANGLE, 2, 40, 88, 101, 0x1000 },
{ 1, ST_OAM_V_RECTANGLE, 2, 104, 88, 101, 0x1000 },
{ 1, ST_OAM_V_RECTANGLE, 2, 168, 88, 101, 0x1000 },
{ 1, ST_OAM_V_RECTANGLE, 2, 232, 88, 101, 0x1000 },
{ 2, ST_OAM_V_RECTANGLE, 2, 56, 88, 102, 0x800 },
{ 2, ST_OAM_V_RECTANGLE, 2, 120, 88, 102, 0x800 },
{ 2, ST_OAM_V_RECTANGLE, 2, 184, 88, 102, 0x800 },
{ 2, ST_OAM_V_RECTANGLE, 2, 248, 88, 102, 0x800 },
};
static const struct CompressedSpriteSheet gUnknown_085F5180[] = {
{ gIntro2NightTiles, 0x400, 2000 },
{ NULL }
};
static const union AnimCmd gUnknown_085F5190[] = {
ANIMCMD_FRAME(0, 30),
ANIMCMD_END
};
static const union AnimCmd *const gUnknown_085F5198[] = {
gUnknown_085F5190
};
static const struct IntroCreditsSpriteMetadata gUnknown_085F519C[] = {
{ 0, ST_OAM_SQUARE, 2, 24, 88, 100, 0x1000 },
{ 0, ST_OAM_SQUARE, 2, 64, 88, 100, 0x1000 },
{ 0, ST_OAM_SQUARE, 2, 104, 88, 100, 0x1000 },
{ 0, ST_OAM_SQUARE, 2, 144, 88, 100, 0x1000 },
{ 0, ST_OAM_SQUARE, 2, 184, 88, 100, 0x1000 },
{ 0, ST_OAM_SQUARE, 2, 224, 88, 100, 0x1000 },
};
static const struct OamData gOamData_85F51CC = {
.y = 160, .shape = ST_OAM_SQUARE, .size = 3, .priority = 1
};
static const union AnimCmd gUnknown_085F51D4[] = {
ANIMCMD_FRAME( 0, 8),
ANIMCMD_FRAME( 64, 8),
ANIMCMD_FRAME(128, 8),
ANIMCMD_FRAME(192, 8),
ANIMCMD_JUMP(0)
};
static const union AnimCmd *const gUnknown_085F51E8[] = {
gUnknown_085F51D4
};
static const struct SpriteTemplate gUnknown_085F51EC = {
1002, 1002, &gOamData_85F51CC, gUnknown_085F51E8, NULL, gDummySpriteAffineAnimTable, nullsub_65
};
static const struct SpriteTemplate gUnknown_085F5204 = {
1003, 1003, &gOamData_85F51CC, gUnknown_085F51E8, NULL, gDummySpriteAffineAnimTable, nullsub_65
};
static const struct OamData gUnknown_085F521C = {
.y = 160, .shape = ST_OAM_H_RECTANGLE, .size = 3, .priority = 1
};
static const union AnimCmd gUnknown_085F5224[] = {
ANIMCMD_FRAME( 0, 8),
ANIMCMD_FRAME( 32, 8),
ANIMCMD_FRAME( 64, 8),
ANIMCMD_FRAME( 96, 8),
ANIMCMD_JUMP(0)
};
static const union AnimCmd *const gUnknown_085F5238[] = {
gUnknown_085F5224
};
static const struct SpriteTemplate gUnknown_085F523C = {
1001, 1002, &gUnknown_085F521C, gUnknown_085F5238, NULL, gDummySpriteAffineAnimTable, sub_817B7C4
};
static const struct SpriteTemplate gUnknown_085F5254 = {
1001, 1003, &gUnknown_085F521C, gUnknown_085F5238, NULL, gDummySpriteAffineAnimTable, sub_817B7C4
};
static const struct OamData gUnknown_085F526C = {
.y = 160, .shape = ST_OAM_SQUARE, .size = 3, .priority = 1
};
static const union AnimCmd gUnknown_085F5274[] = {
ANIMCMD_FRAME( 0, 16),
ANIMCMD_END
};
static const union AnimCmd gUnknown_085F527C[] = {
ANIMCMD_FRAME( 64, 16),
ANIMCMD_END
};
static const union AnimCmd *const gUnknown_085F5284[] = {
gUnknown_085F5274,
gUnknown_085F527C
};
static const struct SpriteTemplate gUnknown_085F528C = {
1004, 1004, &gUnknown_085F526C, gUnknown_085F5284, NULL, gDummySpriteAffineAnimTable, nullsub_66
};
static const struct SpriteTemplate gUnknown_085F52A4 = {
1005, 1005, &gUnknown_085F526C, gUnknown_085F5284, NULL, gDummySpriteAffineAnimTable, nullsub_66
};
const struct CompressedSpriteSheet gIntro2BrendanSpriteSheet[] = {
{ gIntro2BrendanNoTurnGfx, 0x2000, 1002 },
{ NULL }
};
const struct CompressedSpriteSheet gIntro2MaySpriteSheet[] = {
{ gIntro2MayNoTurnGfx, 0x2000, 1003 },
{ NULL }
};
const struct CompressedSpriteSheet gIntro2BicycleSpriteSheet[] = {
{ gIntro2BicycleTiles, 0x1000, 1001 },
{ NULL }
};
static const struct CompressedSpriteSheet gUnknown_085F52EC[] = {
{ gIntro2FlygonGfx, 0x1000, 1004 },
{ NULL }
};
const struct CompressedSpriteSheet gIntro2FlygonSpriteSheet[] = {
{ gIntro2FlygonGfx, 0x1000, 1005 },
{ NULL }
};
const struct SpritePalette gUnknown_085F530C[] = {
{ gIntro2BrendanNoTurnPal, 1002 },
{ gIntro2BrendanNoTurnPal, 1003 },
{ gIntro2FlygonPal, 1004 },
{ gIntro2FlygonPal, 1005 },
{ NULL }
};
const struct CompressedSpriteSheet gUnknown_085F5334[] = {
{ gIntro2BrendanTiles, 0x3800, 1002 },
{ NULL }
};
const struct CompressedSpriteSheet gUnknown_085F5344[] = {
{ gIntro2MayTiles, 0x3800, 1003 },
{ NULL }
};
const struct CompressedSpriteSheet gUnknown_085F5354[] = {
{ gIntro2BicycleTiles, 0x1000, 1001 },
{ NULL }
};
static const struct CompressedSpriteSheet gUnknown_085F5364[] = {
{ gIntro2LatiosTiles, 0x1000, 1004 },
{ NULL }
};
static const struct CompressedSpriteSheet gUnknown_085F5374[] = {
{ gIntro2LatiasTiles, 0x1000, 1005 },
{ NULL }
};
const struct SpritePalette gUnknown_085F5384[] = {
{ gIntro2BrendanPalette, 1002 },
{ gIntro2MayPalette, 1003 },
{ gIntro2LatiosPalette, 1004 },
{ gIntro2LatiasPalette, 1005 },
{ NULL }
};
const struct CompressedSpriteSheet gUnknown_085F53AC[] = {
{ gIntro2BrendanTiles, 0x2000, 1002},
{ NULL }
};
const struct CompressedSpriteSheet gUnknown_085F53BC[] = {
{ gIntro2MayTiles, 0x2000, 1003},
{ NULL }
};
EWRAM_DATA u16 gUnknown_0203BD24 = 0; EWRAM_DATA u16 gUnknown_0203BD24 = 0;
EWRAM_DATA s16 gUnknown_0203BD26 = 0; EWRAM_DATA s16 gUnknown_0203BD26 = 0;
EWRAM_DATA s16 gUnknown_0203BD28 = 0; EWRAM_DATA s16 gUnknown_0203BD28 = 0;
extern const u16 gUnknown_085F06E0[]/* = INCBIN_U16("graphics/intro/intro2_grass.gbapal")*/; static void sub_817B76C(void);
extern const u16 gUnknown_085F0700[]/* = INCBIN_U16("graphics/intro/intro2_grass_afternoon.gbapal")*/; static void sub_817B788(void);
extern const u16 gUnknown_085F0720[]/* = INCBIN_U16("graphics/intro/intro2_grass_night.gbapal")*/; static void sub_817B7A4(void);
extern const u8 gUnknown_085F0740[]/* = INCBIN_U8("graphics/intro/intro2_grass.4bpp.lz")*/; static void sub_817B458(u8);
extern const u8 gUnknown_085F0BC0[]/* = INCBIN_U8("graphics/intro/intro2_grass_map.bin.lz")*/;
extern const u16 gUnknown_085F0CFC[]/* = INCBIN_U16("graphics/intro/8412818.gbapal")*/;
extern const u16 gUnknown_085F0D5C[]/* = INCBIN_U16("graphics/intro/8412878.gbapal")*/;
extern const u8 gUnknown_085F0DBC[]/* = INCBIN_U8("graphics/intro/intro2_bgclouds.4bpp.lz")*/;
extern const u8 gUnknown_085F1398[]/* = INCBIN_U8("graphics/intro/intro2_bgclouds_map.bin.lz")*/;
extern const u16 gUnknown_085F1668[]/* = INCBIN_U16("graphics/intro/intro2_bgclouds.gbapal")*/;
extern const u16 gUnknown_085F1688[]/* = INCBIN_U16("graphics/intro/intro2_bgclouds_afternoon.gbapal")*/;
extern const u8 gUnknown_085F16A8[]/* = INCBIN_U8("graphics/intro/intro2_bgclouds2.4bpp.lz")*/;
extern const u16 gUnknown_085F17E4[]/* = INCBIN_U16("graphics/intro/intro2_bgtrees2.gbapal")*/;
extern const u16 gUnknown_085F1804[]/* = INCBIN_U16("graphics/intro/intro2_bgtrees2_afternoon.gbapal")*/;
extern const u8 gUnknown_085F1824[]/* = INCBIN_U8("graphics/intro/intro2_bgtrees.4bpp.lz")*/;
extern const u8 gUnknown_085F1EAC[]/* = INCBIN_U8("graphics/intro/intro2_bgtrees_map.bin.lz")*/;
extern const u16 gUnknown_085F21B0[]/* = INCBIN_U16("graphics/intro/intro2_bgtrees.gbapal")*/;
extern const u8 gIntro2TreeTiles[]/* = INCBIN_U8("graphics/intro/intro2_bgtreessmall.4bpp.lz")*/;
extern const u16 gUnknown_085F231C[]/* = INCBIN_U16("graphics/intro/8413E38.gbapal")*/;
extern const u8 gUnknown_085F235C[]/* = INCBIN_U8("graphics/intro/intro2_bgnight.4bpp.lz")*/; // only used in credits, coupled with intro because bicycle sequence
extern const u16 gUnknown_085F2548[]/* = INCBIN_U16("graphics/intro/intro2_bgnight.gbapal")*/;
extern const u8 gUnknown_085F2568[]/* = INCBIN_U8("graphics/intro/intro2_bgnight_map.bin.lz")*/;
extern const u8 gIntro2NightTiles[]/* = INCBIN_U8("graphics/intro/intro2_night.4bpp.lz")*/;
extern const u16 gIntro2BrendanPalette[]/* = INCBIN_U16("graphics/intro/intro2_brendan.gbapal")*/;
extern const u8 gIntro2BrendanTiles[]/* = INCBIN_U8("graphics/intro/intro2_brendan.4bpp.lz")*/;
extern const u16 gIntro2MayPalette[]/* = INCBIN_U16("graphics/intro/intro2_may.gbapal")*/;
extern const u16 gUnknown_08414F90[0xF0]/* = {0}*/;
extern const u8 gIntro2MayTiles[]/* = INCBIN_U8("graphics/intro/intro2_may.4bpp.lz")*/;
extern const u8 gIntro2BicycleTiles[]/* = INCBIN_U8("graphics/intro/intro2_bicycle.4bpp.lz")*/;
extern const u16 gIntro2LatiosPalette[]/* = INCBIN_U16("graphics/intro/intro2_latios.gbapal")*/;
extern const u8 gIntro2LatiosTiles[]/* = INCBIN_U8("graphics/intro/intro2_latios.4bpp.lz")*/;
extern const u16 gIntro2LatiasPalette[]/* = INCBIN_U16("graphics/intro/intro2_latias.gbapal")*/;
extern const u8 gIntro2LatiasTiles[]/* = INCBIN_U8("graphics/intro/intro2_latias.4bpp.lz")*/;
extern const struct CompressedSpriteSheet gUnknown_085F5064[]/* = {
{ gUnknown_085F16A8, 0x400, 2000 },
{}
}*/;
extern const struct CompressedSpriteSheet gUnknown_085F50EC[]/* = {
{ gIntro2TreeTiles, 0x400, 2000 },
{}
}*/;
extern const struct CompressedSpriteSheet gUnknown_085F5180[]/* = {
{ gIntro2NightTiles, 0x400, 2000 },
{}
}*/;
void sub_817B76C();
void sub_817B788();
void sub_817B7A4();
void load_intro_part2_graphics(u8 a) void load_intro_part2_graphics(u8 a)
{ {
@ -262,7 +528,7 @@ u8 sub_817B3DC(u8 a, u16 b, u16 c, u16 d)
} }
#ifdef NONMATCHING #ifdef NONMATCHING
void sub_817B458(u8 taskId) static void sub_817B458(u8 taskId)
{ {
s16 r4; s16 r4;
s32 r2; s32 r2;
@ -305,7 +571,7 @@ void sub_817B458(u8 taskId)
} }
#else #else
ASM_DIRECT ASM_DIRECT
void sub_817B458(u8 taskId) static void sub_817B458(u8 taskId)
{ {
asm("push {r4,r5,lr}\n\ asm("push {r4,r5,lr}\n\
lsl r0, #24\n\ lsl r0, #24\n\
@ -459,7 +725,7 @@ void sub_817B540(u8 mode)
} }
} }
void sub_817B62C(struct Sprite *sprite) static void sub_817B62C(struct Sprite *sprite)
{ {
s32 var; s32 var;
s16 var2 = gUnknown_0203BD28; s16 var2 = gUnknown_0203BD28;
@ -485,3 +751,99 @@ void sub_817B62C(struct Sprite *sprite)
} }
} }
} }
static void sub_817B698(u8 a, const struct IntroCreditsSpriteMetadata *b, const union AnimCmd *const *c, u8 d)
{
u8 i;
for(i = 0; i < d; i++)
{
u8 sprite = CreateSprite(&gUnknown_085F504C, b[i].x, b[i].y, b[i].subpriority);
CalcCenterToCornerVec(&gSprites[sprite], b[i].shape, b[i].size, 0);
gSprites[sprite].oam.priority = 3;
gSprites[sprite].oam.shape = b[i].shape;
gSprites[sprite].oam.size = b[i].size;
gSprites[sprite].oam.paletteNum = 0;
gSprites[sprite].anims = c;
StartSpriteAnim(&gSprites[sprite], b[i].animNum);
gSprites[sprite].data[0] = a;
gSprites[sprite].data[1] = b[i].xOff;
gSprites[sprite].data[2] = 0;
}
}
static void sub_817B76C(void)
{
sub_817B698(0, gUnknown_085F50A4, gUnknown_085F5094, 9);
}
static void sub_817B788(void)
{
sub_817B698(1, gUnknown_085F5120, gUnknown_085F5114, 12);
}
static void sub_817B7A4(void)
{
sub_817B698(1, gUnknown_085F519C, gUnknown_085F5198, 6);
}
static void nullsub_65(struct Sprite *sprite)
{
}
static void sub_817B7C4(struct Sprite* sprite)
{
sprite->invisible = gSprites[sprite->data[0]].invisible;
sprite->pos1.x = gSprites[sprite->data[0]].pos1.x;
sprite->pos1.y = gSprites[sprite->data[0]].pos1.y + 8;
sprite->pos2.x = gSprites[sprite->data[0]].pos2.x;
sprite->pos2.y = gSprites[sprite->data[0]].pos2.y;
}
u8 intro_create_brendan_sprite(s16 a, s16 b)
{
u8 sprite = CreateSprite(&gUnknown_085F51EC, a, b, 2);
u8 brendan = CreateSprite(&gUnknown_085F523C, a, b + 8, 3);
gSprites[brendan].data[0] = sprite;
return sprite;
}
u8 intro_create_may_sprite(s16 a, s16 b)
{
u8 sprite = CreateSprite(&gUnknown_085F5204, a, b, 2);
u8 may = CreateSprite(&gUnknown_085F5254, a, b + 8, 3);
gSprites[may].data[0] = sprite;
return sprite;
}
static void nullsub_66(struct Sprite *sprite)
{
}
static void sub_817B8E8(struct Sprite* sprite)
{
sprite->invisible = gSprites[sprite->data[0]].invisible;
sprite->pos1.y = gSprites[sprite->data[0]].pos1.y;
sprite->pos2.x = gSprites[sprite->data[0]].pos2.x;
sprite->pos2.y = gSprites[sprite->data[0]].pos2.y;
}
static u8 sub_817B948(s16 a, s16 b)
{
u8 sprite = CreateSprite(&gUnknown_085F528C, a - 32, b, 5);
u8 latios = CreateSprite(&gUnknown_085F528C, a + 32, b, 6);
gSprites[latios].data[0] = sprite;
StartSpriteAnim(&gSprites[latios], 1);
gSprites[latios].callback = &sub_817B8E8;
return sprite;
}
u8 intro_create_flygon_sprite(s16 a, s16 b)
{
u8 sprite = CreateSprite(&gUnknown_085F52A4, a - 32, b, 5);
u8 flygon = CreateSprite(&gUnknown_085F52A4, a + 32, b, 6);
gSprites[flygon].data[0] = sprite;
StartSpriteAnim(&gSprites[flygon], 1);
gSprites[flygon].callback = &sub_817B8E8;
return sprite;
}

View File

@ -25,12 +25,6 @@
#define STARTER_PKMN_POS_X 120 #define STARTER_PKMN_POS_X 120
#define STARTER_PKMN_POS_Y 64 #define STARTER_PKMN_POS_Y 64
// graphics
extern const u32 gBirchHelpGfx[];
extern const u32 gBirchBagTilemap[];
extern const u32 gBirchGrassTilemap[];
extern const u16 gBirchBagGrassPal[];
// text // text
extern const u8 gText_BirchInTrouble[]; extern const u8 gText_BirchInTrouble[];
extern const u8 gText_ConfirmStarterChoice[]; extern const u8 gText_ConfirmStarterChoice[];

View File

@ -862,22 +862,7 @@ gUnknown_0203BCD4: @ 203BCD4
.space 0x4 .space 0x4
.include "src/hall_of_fame.o" .include "src/hall_of_fame.o"
.include "src/credits.o"
gUnknown_0203BCE0: @ 203BCE0
.space 0x2
gUnknown_0203BCE2: @ 203BCE2
.space 0x2
gHasHallOfFameRecords: @ 203BCE4
.space 0x1
gUnknown_0203BCE5: @ 203BCE5
.space 0x3
gUnknown_0203BCE8: @ 203BCE8
.space 0x4
.include "src/lottery_corner.o" .include "src/lottery_corner.o"
.include "src/diploma.o" .include "src/diploma.o"
.include "src/berry_tag_screen.o" .include "src/berry_tag_screen.o"