summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--asm/credits.s3903
-rw-r--r--asm/intro_credits_graphics.s459
-rw-r--r--data/credits.s1577
-rw-r--r--data/intro_credits_graphics.s459
-rw-r--r--include/credits.h11
-rw-r--r--include/decompress.h1
-rw-r--r--include/graphics.h12
-rw-r--r--include/intro_credits_graphics.h9
-rw-r--r--include/pokedex.h1
-rw-r--r--include/starter_choose.h5
-rw-r--r--ld_script.txt7
-rw-r--r--src/credits.c2355
-rw-r--r--src/hall_of_fame.c2
-rw-r--r--src/intro_credits_graphics.c466
-rw-r--r--src/starter_choose.c6
-rw-r--r--sym_ewram.txt17
16 files changed, 2810 insertions, 6480 deletions
diff --git a/asm/credits.s b/asm/credits.s
deleted file mode 100644
index e69384c03..000000000
--- a/asm/credits.s
+++ /dev/null
@@ -1,3903 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_81754C8
-sub_81754C8: @ 81754C8
- push {lr}
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- pop {r0}
- bx r0
- thumb_func_end sub_81754C8
-
- thumb_func_start sub_81754DC
-sub_81754DC: @ 81754DC
- push {lr}
- bl RunTasks
- bl AnimateSprites
- ldr r0, =gMain
- ldrh r1, [r0, 0x2C]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08175522
- ldr r0, =gHasHallOfFameRecords
- ldrb r0, [r0]
- cmp r0, 0
- beq _08175522
- ldr r2, =gTasks
- ldr r0, =gUnknown_0203BCE2
- ldrh r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldr r1, [r0]
- ldr r0, =sub_8175774
- cmp r1, r0
- bne _08175522
- bl sub_81754C8
- bl RunTasks
- bl AnimateSprites
- ldr r1, =gUnknown_0203BCE5
- movs r0, 0x1
- strb r0, [r1]
-_08175522:
- bl BuildOamBuffer
- bl UpdatePaletteFade
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81754DC
-
- thumb_func_start sub_8175548
-sub_8175548: @ 8175548
- push {lr}
- movs r0, 0
- bl ResetBgsAndClearDma3BusyFlags
- ldr r1, =gUnknown_085E6F68
- movs r0, 0
- movs r2, 0x1
- bl InitBgsFromTemplates
- movs r0, 0x80
- lsls r0, 4
- bl AllocZeroed
- adds r1, r0, 0
- movs r0, 0
- bl SetBgTilemapBuffer
- ldr r0, =gUnknown_085E56F0
- movs r1, 0x80
- movs r2, 0x40
- bl LoadPalette
- ldr r0, =gUnknown_085E6F6C
- bl InitWindows
- bl DeactivateAllTextPrinters
- movs r0, 0
- bl PutWindowTilemap
- movs r0, 0
- movs r1, 0x3
- bl CopyWindowToVram
- movs r0, 0
- bl ShowBg
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8175548
-
- thumb_func_start sub_81755A4
-sub_81755A4: @ 81755A4
- push {lr}
- bl FreeAllWindowBuffers
- movs r0, 0
- bl GetBgTilemapBuffer
- cmp r0, 0
- beq _081755B8
- bl Free
-_081755B8:
- pop {r0}
- bx r0
- thumb_func_end sub_81755A4
-
- thumb_func_start sub_81755BC
-sub_81755BC: @ 81755BC
- push {r4,r5,lr}
- sub sp, 0x18
- adds r4, r0, 0
- lsls r1, 24
- lsrs r5, r1, 24
- lsls r2, 24
- lsrs r2, 24
- add r1, sp, 0x14
- movs r0, 0
- strb r0, [r1]
- cmp r2, 0x1
- bne _081755DC
- movs r0, 0x3
- strb r0, [r1, 0x1]
- movs r0, 0x4
- b _081755E4
-_081755DC:
- add r1, sp, 0x14
- movs r0, 0x1
- strb r0, [r1, 0x1]
- movs r0, 0x2
-_081755E4:
- strb r0, [r1, 0x2]
- movs r0, 0x1
- adds r1, r4, 0
- movs r2, 0xF0
- movs r3, 0x1
- bl GetStringCenterAlignXOffsetWithLetterSpacing
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- add r0, sp, 0x14
- str r0, [sp, 0x8]
- movs r0, 0x1
- negs r0, r0
- str r0, [sp, 0xC]
- str r4, [sp, 0x10]
- movs r0, 0
- movs r1, 0x1
- adds r3, r5, 0
- bl AddTextPrinterParameterized2
- add sp, 0x18
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_81755BC
-
- thumb_func_start sub_8175620
-sub_8175620: @ 8175620
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- bl sub_8175CE4
- movs r0, 0
- bl SetVBlankCallback
- ldr r0, =0x02000000
- movs r1, 0xE0
- lsls r1, 9
- bl InitHeap
- bl ResetPaletteFade
- bl ResetTasks
- bl sub_8175548
- ldr r0, =sub_8175744
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r1, =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r1
- movs r1, 0
- strh r1, [r0, 0x10]
- strh r1, [r0, 0x16]
- strh r1, [r0, 0x1E]
- movs r1, 0x1
- strh r1, [r0, 0x22]
-_0817566A:
- movs r0, 0
- adds r1, r7, 0
- bl sub_8176AB0
- lsls r0, 24
- cmp r0, 0
- beq _0817566A
- ldr r5, =gTasks
- lsls r4, r7, 2
- adds r4, r7
- lsls r4, 3
- adds r4, r5
- movs r0, 0xA
- ldrsh r1, [r4, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r5
- movs r1, 0
- mov r8, r1
- movs r6, 0
- movs r1, 0x28
- strh r1, [r0, 0x8]
- ldr r1, =0x0000fffc
- movs r0, 0x12
- bl SetGpuReg
- ldr r0, =sub_8175DA0
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r5
- strh r7, [r1, 0xA]
- strh r0, [r4, 0x26]
- movs r0, 0x1
- negs r0, r0
- str r6, [sp]
- movs r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- movs r0, 0x1
- bl EnableInterrupts
- ldr r0, =sub_81754C8
- bl SetVBlankCallback
- ldr r0, =0x000001c7
- bl m4aSongNumStart
- ldr r0, =sub_81754DC
- bl SetMainCallback2
- ldr r0, =gUnknown_0203BCE5
- mov r1, r8
- strb r1, [r0]
- ldr r4, =gUnknown_0203BCE8
- movs r0, 0xEB
- lsls r0, 2
- bl AllocZeroed
- str r0, [r4]
- bl sub_8177388
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x8E
- strh r6, [r0]
- adds r0, 0x2
- strh r6, [r0]
- adds r0, 0x2
- strh r6, [r0]
- ldr r0, =gUnknown_0203BCE2
- strh r7, [r0]
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8175620
-
- thumb_func_start sub_8175744
-sub_8175744: @ 8175744
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08175764
- ldr r0, =gTasks
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_8175774
- str r0, [r1]
-_08175764:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8175744
-
- thumb_func_start sub_8175774
-sub_8175774: @ 8175774
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
- movs r0, 0x10
- ldrsh r1, [r4, r0]
- cmp r1, 0
- beq _081757B0
- movs r3, 0xA
- ldrsh r1, [r4, r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- movs r1, 0x1E
- strh r1, [r0, 0x8]
- movs r0, 0x80
- lsls r0, 1
- strh r0, [r4, 0x20]
- ldr r0, =sub_8175A9C
- b _081757FA
- .pool
-_081757B0:
- ldr r0, =gUnknown_0203BCE0
- strh r1, [r0]
- ldrh r2, [r4, 0x1E]
- movs r3, 0x1E
- ldrsh r0, [r4, r3]
- cmp r0, 0x1
- bne _081757E0
- strh r2, [r4, 0x22]
- strh r1, [r4, 0x1E]
- movs r0, 0x1
- negs r0, r0
- str r1, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, =sub_8175808
- b _081757FA
- .pool
-_081757E0:
- cmp r0, 0x2
- bne _081757FC
- strh r2, [r4, 0x22]
- strh r1, [r4, 0x1E]
- movs r0, 0x1
- negs r0, r0
- str r1, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, =sub_81758A4
-_081757FA:
- str r0, [r4]
-_081757FC:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8175774
-
- thumb_func_start sub_8175808
-sub_8175808: @ 8175808
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08175836
- movs r0, 0
- movs r1, 0
- bl SetGpuReg
- adds r0, r4, 0
- bl sub_8176CA0
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, =c2_080C9BFC
- str r0, [r1]
-_08175836:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8175808
-
- thumb_func_start c2_080C9BFC
-c2_080C9BFC: @ 8175848
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0
- bl SetVBlankCallback
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r5, r0, r1
- ldrb r0, [r5, 0x16]
- adds r1, r4, 0
- bl sub_8176AB0
- lsls r0, 24
- cmp r0, 0
- beq _08175890
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- movs r0, 0x1
- bl EnableInterrupts
- ldr r0, =sub_81754C8
- bl SetVBlankCallback
- ldr r0, =sub_8175744
- str r0, [r5]
-_08175890:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end c2_080C9BFC
-
- thumb_func_start sub_81758A4
-sub_81758A4: @ 81758A4
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _081758D2
- movs r0, 0
- movs r1, 0
- bl SetGpuReg
- adds r0, r4, 0
- bl sub_8176CA0
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_81758E4
- str r0, [r1]
-_081758D2:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81758A4
-
- thumb_func_start sub_81758E4
-sub_81758E4: @ 81758E4
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r0, =gMain
- movs r1, 0x87
- lsls r1, 3
- adds r1, r0
- mov r8, r1
- ldrb r7, [r1]
- cmp r7, 0
- beq _08175906
- cmp r7, 0x1
- beq _081759F0
-_08175906:
- bl ResetSpriteData
- bl dp13_810BB8C
- bl FreeAllSpritePalettes
- ldr r1, =gReservedSpritePaletteCount
- movs r0, 0x8
- strb r0, [r1]
- ldr r0, =gBirchHelpGfx
- movs r1, 0xC0
- lsls r1, 19
- bl LZ77UnCompVram
- ldr r0, =gBirchGrassTilemap
- ldr r1, =0x06003800
- bl LZ77UnCompVram
- ldr r0, =gBirchBagGrassPal + 0x2
- movs r1, 0x1
- movs r2, 0x3E
- bl LoadPalette
- movs r1, 0
- ldr r4, =0x0201c000
- movs r3, 0x11
- ldr r2, =0x000007ff
-_0817593C:
- adds r0, r1, r4
- strb r3, [r0]
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, r2
- bls _0817593C
- movs r1, 0
- ldr r2, =0x0201d800
- ldr r6, =gUnknown_085E701C
- ldr r0, =0xfffff000
- adds r5, r2, r0
- movs r4, 0x22
- ldr r3, =0x000007ff
-_08175958:
- adds r0, r1, r5
- strb r4, [r0]
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, r3
- bls _08175958
- movs r1, 0
- ldr r5, =0x0201d000
- movs r4, 0x33
- ldr r3, =0x000007ff
-_0817596E:
- adds r0, r1, r5
- strb r4, [r0]
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, r3
- bls _0817596E
- movs r0, 0
- strh r0, [r2]
- ldr r1, =0x000053ff
- adds r0, r1, 0
- strh r0, [r2, 0x2]
- ldr r1, =0x0000529f
- adds r0, r1, 0
- strh r0, [r2, 0x4]
- ldr r1, =0x00007e94
- adds r0, r1, 0
- strh r0, [r2, 0x6]
- adds r0, r6, 0
- bl LoadSpriteSheet
- ldr r0, =gUnknown_085E702C
- bl LoadSpritePalette
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _08175A7A
- .pool
-_081759F0:
- ldr r0, =sub_81760FC
- movs r1, 0
- bl CreateTask
- ldr r2, =gTasks
- lsls r4, r6, 2
- adds r4, r6
- lsls r4, 3
- adds r4, r2
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- mov r9, r1
- movs r5, 0
- strh r0, [r4, 0xE]
- movs r0, 0xE
- ldrsh r1, [r4, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- strh r7, [r0, 0x8]
- movs r0, 0xE
- ldrsh r1, [r4, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- strh r6, [r0, 0xA]
- movs r0, 0xE
- ldrsh r1, [r4, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldrh r1, [r4, 0x16]
- strh r1, [r0, 0xC]
- movs r0, 0x1
- negs r0, r0
- str r5, [sp]
- movs r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- movs r0, 0x1C
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x1E
- movs r1, 0x20
- bl SetGpuReg
- ldr r1, =0x00000703
- movs r0, 0xE
- bl SetGpuReg
- movs r1, 0xCA
- lsls r1, 5
- movs r0, 0
- bl SetGpuReg
- mov r0, r9
- mov r1, r8
- strb r0, [r1]
- ldr r0, =gUnknown_0203BD28
- strh r5, [r0]
- ldr r0, =sub_8175744
- str r0, [r4]
-_08175A7A:
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81758E4
-
- thumb_func_start sub_8175A9C
-sub_8175A9C: @ 8175A9C
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
- ldrh r0, [r4, 0x20]
- movs r2, 0x20
- ldrsh r1, [r4, r2]
- cmp r1, 0
- beq _08175AC4
- subs r0, 0x1
- strh r0, [r4, 0x20]
- b _08175AD8
- .pool
-_08175AC4:
- movs r0, 0x1
- negs r0, r0
- str r1, [sp]
- movs r1, 0xC
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, =sub_8175AE4
- str r0, [r4]
-_08175AD8:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8175A9C
-
- thumb_func_start sub_8175AE4
-sub_8175AE4: @ 8175AE4
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08175B0A
- adds r0, r4, 0
- bl sub_8176CA0
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_8175B1C
- str r0, [r1]
-_08175B0A:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8175AE4
-
- thumb_func_start sub_8175B1C
-sub_8175B1C: @ 8175B1C
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_8175CE4
- bl ResetPaletteFade
- movs r1, 0xE0
- lsls r1, 6
- movs r0, 0
- movs r2, 0
- bl sub_8176D1C
- bl ResetSpriteData
- bl FreeAllSpritePalettes
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r1, 0x8
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- movs r1, 0xE0
- lsls r1, 3
- movs r0, 0x8
- bl SetGpuReg
- movs r0, 0x1
- bl EnableInterrupts
- movs r1, 0xA0
- lsls r1, 1
- movs r0, 0
- bl SetGpuReg
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r1, 0xEB
- strh r1, [r0, 0x8]
- ldr r1, =sub_8175B90
- str r1, [r0]
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8175B1C
-
- thumb_func_start sub_8175B90
-sub_8175B90: @ 8175B90
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
- ldrh r0, [r4, 0x8]
- movs r2, 0x8
- ldrsh r1, [r4, r2]
- cmp r1, 0
- beq _08175BB8
- subs r0, 0x1
- strh r0, [r4, 0x8]
- b _08175BCC
- .pool
-_08175BB8:
- movs r0, 0x1
- negs r0, r0
- str r1, [sp]
- movs r1, 0x6
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, =sub_8175BD8
- str r0, [r4]
-_08175BCC:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8175B90
-
- thumb_func_start sub_8175BD8
-sub_8175BD8: @ 8175BD8
- push {r4,r5,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- bne _08175C1E
- movs r0, 0xE0
- lsls r0, 6
- movs r1, 0
- bl sub_8176E40
- movs r0, 0x1
- negs r0, r0
- str r4, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- movs r1, 0xE1
- lsls r1, 5
- strh r1, [r0, 0x8]
- ldr r1, =sub_8175C34
- str r1, [r0]
-_08175C1E:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8175BD8
-
- thumb_func_start sub_8175C34
-sub_8175C34: @ 8175C34
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08175CB8
- ldr r1, =gTasks
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r4, r0, r1
- movs r0, 0x8
- ldrsh r1, [r4, r0]
- cmp r1, 0
- beq _08175C62
- ldr r0, =gMain
- ldrh r0, [r0, 0x2E]
- cmp r0, 0
- beq _08175C94
-_08175C62:
- movs r0, 0x4
- bl FadeOutBGM
- movs r0, 0x1
- negs r0, r0
- ldr r1, =0x0000ffff
- str r1, [sp]
- movs r1, 0x8
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, =sub_8175CC8
- str r0, [r4]
- b _08175CB8
- .pool
-_08175C94:
- ldr r0, =0x00001be8
- cmp r1, r0
- bne _08175CA0
- movs r0, 0x8
- bl FadeOutBGM
-_08175CA0:
- movs r0, 0x8
- ldrsh r1, [r4, r0]
- ldr r0, =0x00001ab8
- cmp r1, r0
- bne _08175CB2
- movs r0, 0xE4
- lsls r0, 1
- bl m4aSongNumStart
-_08175CB2:
- ldrh r0, [r4, 0x8]
- subs r0, 0x1
- strh r0, [r4, 0x8]
-_08175CB8:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8175C34
-
- thumb_func_start sub_8175CC8
-sub_8175CC8: @ 8175CC8
- push {lr}
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08175CDC
- movs r0, 0xFF
- bl SoftReset
-_08175CDC:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8175CC8
-
- thumb_func_start sub_8175CE4
-sub_8175CE4: @ 8175CE4
- push {lr}
- sub sp, 0x8
- movs r0, 0
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x1C
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x1E
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x18
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x1A
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x14
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x16
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x10
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x12
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x54
- movs r1, 0
- bl SetGpuReg
- mov r1, sp
- movs r0, 0
- strh r0, [r1]
- ldr r1, =0x040000d4
- mov r0, sp
- str r0, [r1]
- movs r0, 0xC0
- lsls r0, 19
- str r0, [r1, 0x4]
- ldr r0, =0x8100c000
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- movs r2, 0
- str r2, [sp, 0x4]
- add r0, sp, 0x4
- str r0, [r1]
- movs r0, 0xE0
- lsls r0, 19
- str r0, [r1, 0x4]
- ldr r0, =0x85000100
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- mov r0, sp
- strh r2, [r0]
- str r0, [r1]
- ldr r0, =0x05000002
- str r0, [r1, 0x4]
- ldr r0, =0x810001ff
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- add sp, 0x8
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8175CE4
-
- thumb_func_start sub_8175DA0
-sub_8175DA0: @ 8175DA0
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r2, 0x8
- ldrsh r0, [r0, r2]
- adds r5, r1, 0
- cmp r0, 0xA
- bhi _08175E00
- lsls r0, 2
- ldr r1, =_08175DD4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08175DD4:
- .4byte _08175E00
- .4byte _08175E40
- .4byte _08175E60
- .4byte _08175F38
- .4byte _08175F5C
- .4byte _08175FC8
- .4byte _08175E00
- .4byte _08175E00
- .4byte _08175E00
- .4byte _08175E00
- .4byte _08175FFC
-_08175E00:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0
- beq _08175E12
- b _0817602A
-_08175E12:
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r5
- movs r1, 0x1
- strh r1, [r0, 0x8]
- movs r1, 0x48
- strh r1, [r0, 0xE]
- movs r3, 0xA
- ldrsh r1, [r0, r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r5
- strh r2, [r0, 0x24]
- ldr r0, =gUnknown_0203BCE0
- strh r2, [r0]
- b _0817602A
- .pool
-_08175E40:
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r1, r0, r5
- ldrh r2, [r1, 0xE]
- movs r3, 0xE
- ldrsh r0, [r1, r3]
- cmp r0, 0
- beq _08175E58
- subs r0, r2, 0x1
- strh r0, [r1, 0xE]
- b _0817602A
-_08175E58:
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- b _0817602A
-_08175E60:
- lsls r2, r4, 2
- adds r0, r2, r4
- lsls r0, 3
- adds r3, r0, r5
- movs r0, 0xA
- ldrsh r1, [r3, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r5, r0, r5
- ldr r1, [r5]
- ldr r0, =sub_8175774
- mov r9, r2
- cmp r1, r0
- bne _08175F32
- movs r1, 0xC
- ldrsh r0, [r3, r1]
- cmp r0, 0x38
- bgt _08175F2C
- movs r5, 0
- ldr r2, =gUnknown_085E6AF4
- mov r8, r2
- adds r7, r3, 0
- movs r6, 0xA0
- lsls r6, 19
-_08175E92:
- movs r3, 0xC
- ldrsh r1, [r7, r3]
- lsls r0, r1, 2
- adds r0, r1
- adds r0, r5
- lsls r0, 2
- add r0, r8
- ldr r2, [r0]
- ldr r0, [r2, 0x4]
- lsrs r1, r6, 24
- ldrb r2, [r2, 0x1]
- bl sub_81755BC
- movs r0, 0x80
- lsls r0, 21
- adds r6, r0
- adds r5, 0x1
- cmp r5, 0x4
- ble _08175E92
- movs r0, 0
- movs r1, 0x2
- bl CopyWindowToVram
- ldr r3, =gTasks
- mov r2, r9
- adds r1, r2, r4
- lsls r1, 3
- adds r1, r3
- ldrh r0, [r1, 0xC]
- adds r0, 0x1
- strh r0, [r1, 0xC]
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- movs r0, 0xA
- ldrsh r2, [r1, r0]
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r0, r3
- movs r2, 0x1
- strh r2, [r0, 0x24]
- movs r2, 0xA
- ldrsh r1, [r1, r2]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r3
- movs r3, 0x22
- ldrsh r0, [r0, r3]
- cmp r0, 0x1
- bne _08175F14
- movs r0, 0xC0
- lsls r0, 2
- ldr r1, =0x0000328d
- b _08175F1A
- .pool
-_08175F14:
- movs r0, 0xC0
- lsls r0, 2
- ldr r1, =0x00001967
-_08175F1A:
- str r1, [sp]
- movs r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- b _0817602A
- .pool
-_08175F2C:
- movs r0, 0xA
- strh r0, [r3, 0x8]
- b _0817602A
-_08175F32:
- movs r0, 0
- strh r0, [r5, 0x24]
- b _0817602A
-_08175F38:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0817602A
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r5
- movs r1, 0x73
- strh r1, [r0, 0xE]
- ldrh r1, [r0, 0x8]
- adds r1, 0x1
- strh r1, [r0, 0x8]
- b _0817602A
- .pool
-_08175F5C:
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r4, r0, r5
- ldrh r1, [r4, 0xE]
- movs r2, 0xE
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _08175F74
- subs r0, r1, 0x1
- strh r0, [r4, 0xE]
- b _0817602A
-_08175F74:
- ldrb r0, [r4, 0xC]
- ldrb r1, [r4, 0xA]
- bl sub_817603C
- lsls r0, 24
- cmp r0, 0
- beq _08175F8A
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _0817602A
-_08175F8A:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r3, 0xA
- ldrsh r1, [r4, r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r5
- movs r1, 0x22
- ldrsh r0, [r0, r1]
- cmp r0, 0x1
- bne _08175FB0
- movs r0, 0xC0
- lsls r0, 2
- ldr r1, =0x0000328d
- b _08175FB6
- .pool
-_08175FB0:
- movs r0, 0xC0
- lsls r0, 2
- ldr r1, =0x00001967
-_08175FB6:
- str r1, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- b _0817602A
- .pool
-_08175FC8:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0817602A
- movs r0, 0
- movs r1, 0
- bl FillWindowPixelBuffer
- movs r0, 0
- movs r1, 0x2
- bl CopyWindowToVram
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- movs r0, 0x2
- strh r0, [r1, 0x8]
- b _0817602A
- .pool
-_08175FFC:
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r5
- movs r2, 0xA
- ldrsh r1, [r0, r2]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r5
- movs r5, 0
- movs r1, 0x1
- strh r1, [r0, 0x10]
- adds r0, r4, 0
- bl DestroyTask
- bl sub_81755A4
- ldr r4, =gUnknown_0203BCE8
- ldr r0, [r4]
- bl Free
- str r5, [r4]
-_0817602A:
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8175DA0
-
- thumb_func_start sub_817603C
-sub_817603C: @ 817603C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- adds r6, r3, 0
- lsls r1, 24
- lsrs r2, r1, 24
- adds r5, r2, 0
- ldr r4, =gTasks
- cmp r3, 0x6
- bne _0817605C
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r0, r4
- movs r1, 0x2
- strh r1, [r0, 0x1E]
-_0817605C:
- cmp r3, 0xC
- bne _0817606E
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r0, r4
- movs r1, 0x1
- strh r1, [r0, 0x16]
- strh r1, [r0, 0x1E]
-_0817606E:
- cmp r3, 0x12
- bne _0817607E
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r0, r4
- movs r1, 0x2
- strh r1, [r0, 0x1E]
-_0817607E:
- cmp r3, 0x18
- bne _08176092
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r0, r4
- movs r1, 0x2
- strh r1, [r0, 0x16]
- movs r1, 0x1
- strh r1, [r0, 0x1E]
-_08176092:
- cmp r3, 0x1E
- bne _081760A2
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r0, r4
- movs r1, 0x2
- strh r1, [r0, 0x1E]
-_081760A2:
- cmp r3, 0x24
- bne _081760B6
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r0, r4
- movs r1, 0x3
- strh r1, [r0, 0x16]
- movs r1, 0x1
- strh r1, [r0, 0x1E]
-_081760B6:
- cmp r3, 0x2A
- bne _081760C6
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r0, r4
- movs r1, 0x2
- strh r1, [r0, 0x1E]
-_081760C6:
- cmp r6, 0x30
- bne _081760DA
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r0, r4
- movs r1, 0x4
- strh r1, [r0, 0x16]
- movs r1, 0x1
- strh r1, [r0, 0x1E]
-_081760DA:
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r4
- movs r1, 0x1E
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _081760F4
- movs r0, 0
- b _081760F6
- .pool
-_081760F4:
- movs r0, 0x1
-_081760F6:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_817603C
-
- thumb_func_start sub_81760FC
-sub_81760FC: @ 81760FC
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r4, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r2, r0, r4
- movs r1, 0x8
- ldrsh r0, [r2, r1]
- cmp r0, 0x1
- beq _0817612C
- cmp r0, 0x1
- bgt _0817611A
- b _08176244
-_0817611A:
- cmp r0, 0x2
- beq _08176158
- cmp r0, 0x3
- bne _08176124
- b _08176230
-_08176124:
- b _08176244
- .pool
-_0817612C:
- ldr r0, =gUnknown_0203BCE8
- ldr r0, [r0]
- adds r0, 0x90
- ldrh r0, [r0]
- cmp r0, 0
- bne _0817614E
- movs r3, 0xA
- ldrsh r0, [r2, r3]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r4
- movs r3, 0x24
- ldrsh r0, [r1, r3]
- cmp r0, 0
- bne _0817614E
- b _08176244
-_0817614E:
- ldrh r0, [r2, 0x8]
- adds r0, 0x1
- b _08176242
- .pool
-_08176158:
- ldr r6, =gUnknown_0203BCE8
- ldr r3, [r6]
- adds r0, r3, 0
- adds r0, 0x8E
- ldrh r0, [r0]
- cmp r0, 0x47
- beq _08176244
- movs r0, 0xA
- ldrsh r1, [r2, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r4
- ldr r1, [r0]
- ldr r0, =sub_8175774
- cmp r1, r0
- bne _08176244
- adds r0, r3, 0
- adds r0, 0x92
- ldrh r0, [r0]
- lsls r0, 1
- adds r0, r3, r0
- ldrh r0, [r0]
- ldr r4, =gUnknown_085E6F7C
- adds r1, r3, 0
- adds r1, 0x90
- ldrh r3, [r1]
- lsls r2, r3, 1
- adds r1, r2, r4
- ldrb r1, [r1]
- adds r4, 0x1
- adds r2, r4
- ldrb r2, [r2]
- bl sub_8177224
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, [r6]
- adds r1, r0, 0
- adds r1, 0x92
- ldrh r3, [r1]
- adds r0, 0x94
- ldrh r0, [r0]
- subs r0, 0x1
- cmp r3, r0
- bge _081761D8
- adds r0, r3, 0x1
- strh r0, [r1]
- ldr r1, =gSprites
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- movs r1, 0x32
- b _081761EA
- .pool
-_081761D8:
- movs r0, 0
- strh r0, [r1]
- ldr r1, =gSprites
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- movs r1, 0x80
- lsls r1, 2
-_081761EA:
- strh r1, [r0, 0x34]
- ldr r0, =gUnknown_0203BCE8
- ldr r1, [r0]
- adds r2, r1, 0
- adds r2, 0x8E
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
- adds r1, 0x90
- ldrh r0, [r1]
- cmp r0, 0x2
- bne _08176210
- movs r0, 0
- b _08176212
- .pool
-_08176210:
- adds r0, 0x1
-_08176212:
- strh r0, [r1]
- ldr r0, =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- movs r0, 0x32
- strh r0, [r1, 0xE]
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- b _08176244
- .pool
-_08176230:
- ldrh r1, [r2, 0xE]
- movs r3, 0xE
- ldrsh r0, [r2, r3]
- cmp r0, 0
- beq _08176240
- subs r0, r1, 0x1
- strh r0, [r2, 0xE]
- b _08176244
-_08176240:
- movs r0, 0x1
-_08176242:
- strh r0, [r2, 0x8]
-_08176244:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_81760FC
-
- thumb_func_start sub_817624C
-sub_817624C: @ 817624C
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- movs r2, 0x8
- ldrsh r0, [r0, r2]
- adds r6, r1, 0
- cmp r0, 0x32
- bls _08176268
- b _08176514
-_08176268:
- lsls r0, 2
- ldr r1, =_0817627C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0817627C:
- .4byte _08176348
- .4byte _0817636C
- .4byte _081763C0
- .4byte _081763D8
- .4byte _08176414
- .4byte _08176438
- .4byte _08176484
- .4byte _08176514
- .4byte _08176514
- .4byte _08176514
- .4byte _08176490
- .4byte _08176514
- .4byte _08176514
- .4byte _08176514
- .4byte _08176514
- .4byte _08176514
- .4byte _08176514
- .4byte _08176514
- .4byte _08176514
- .4byte _08176514
- .4byte _081764B0
- .4byte _08176514
- .4byte _08176514
- .4byte _08176514
- .4byte _08176514
- .4byte _08176514
- .4byte _08176514
- .4byte _08176514
- .4byte _08176514
- .4byte _08176514
- .4byte _081764D4
- .4byte _08176514
- .4byte _08176514
- .4byte _08176514
- .4byte _08176514
- .4byte _08176514
- .4byte _08176514
- .4byte _08176514
- .4byte _08176514
- .4byte _08176514
- .4byte _08176514
- .4byte _08176514
- .4byte _08176514
- .4byte _08176514
- .4byte _08176514
- .4byte _08176514
- .4byte _08176514
- .4byte _08176514
- .4byte _08176514
- .4byte _08176514
- .4byte _08176508
-_08176348:
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 3
- adds r4, r6
- ldrh r0, [r4, 0x12]
- lsls r0, 16
- asrs r0, 17
- movs r1, 0x7F
- ands r0, r1
- movs r1, 0xC
- bl Sin
- ldr r1, =gUnknown_0203BD26
- strh r0, [r1]
- b _08176390
- .pool
-_0817636C:
- ldr r7, =gUnknown_0203BD26
- movs r3, 0
- ldrsh r4, [r7, r3]
- cmp r4, 0
- beq _0817639C
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 3
- adds r4, r6
- ldrh r0, [r4, 0x12]
- lsls r0, 16
- asrs r0, 17
- movs r1, 0x7F
- ands r0, r1
- movs r1, 0xC
- bl Sin
- strh r0, [r7]
-_08176390:
- ldrh r0, [r4, 0x12]
- adds r0, 0x1
- strh r0, [r4, 0x12]
- b _08176514
- .pool
-_0817639C:
- ldr r3, =gSprites
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r6
- movs r0, 0xC
- ldrsh r2, [r1, r0]
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r3
- movs r2, 0x2
- strh r2, [r0, 0x2E]
- strh r4, [r1, 0x12]
- b _08176430
- .pool
-_081763C0:
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r1, r0, r6
- ldrh r2, [r1, 0x12]
- movs r3, 0x12
- ldrsh r0, [r1, r3]
- cmp r0, 0x3F
- bgt _08176430
- adds r0, r2, 0x1
- strh r0, [r1, 0x12]
- b _0817644E
-_081763D8:
- ldr r3, =gSprites
- lsls r2, r5, 2
- adds r2, r5
- lsls r2, 3
- adds r2, r6
- movs r0, 0xC
- ldrsh r1, [r2, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- movs r1, 0x3
- strh r1, [r0, 0x2E]
- movs r0, 0xE
- ldrsh r1, [r2, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- movs r1, 0x1
- strh r1, [r0, 0x2E]
- movs r0, 0x78
- strh r0, [r2, 0x10]
- ldrh r0, [r2, 0x8]
- adds r0, 0x1
- strh r0, [r2, 0x8]
- b _08176514
- .pool
-_08176414:
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r1, r0, r6
- ldrh r2, [r1, 0x10]
- movs r3, 0x10
- ldrsh r0, [r1, r3]
- cmp r0, 0
- beq _0817642C
- subs r0, r2, 0x1
- strh r0, [r1, 0x10]
- b _08176514
-_0817642C:
- movs r0, 0x40
- strh r0, [r1, 0x12]
-_08176430:
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- b _08176514
-_08176438:
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r4, r0, r6
- ldrh r1, [r4, 0x12]
- movs r2, 0x12
- ldrsh r0, [r4, r2]
- cmp r0, 0
- ble _08176464
- subs r0, r1, 0x1
- strh r0, [r4, 0x12]
-_0817644E:
- movs r1, 0x7F
- ands r0, r1
- movs r1, 0x14
- bl Sin
- ldr r1, =gUnknown_0203BD26
- strh r0, [r1]
- b _08176514
- .pool
-_08176464:
- ldr r2, =gSprites
- movs r3, 0xC
- ldrsh r1, [r4, r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x1
- strh r1, [r0, 0x2E]
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _08176514
- .pool
-_08176484:
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r6
- movs r1, 0x32
- b _08176512
-_08176490:
- ldr r3, =gSprites
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r6
- movs r0, 0xE
- ldrsh r2, [r1, r0]
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r3
- movs r2, 0x2
- b _081764C8
- .pool
-_081764B0:
- ldr r3, =gSprites
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r6
- movs r0, 0xC
- ldrsh r2, [r1, r0]
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r3
- movs r2, 0x4
-_081764C8:
- strh r2, [r0, 0x2E]
- movs r0, 0x32
- strh r0, [r1, 0x8]
- b _08176514
- .pool
-_081764D4:
- ldr r3, =gSprites
- lsls r2, r5, 2
- adds r2, r5
- lsls r2, 3
- adds r2, r6
- movs r0, 0xC
- ldrsh r1, [r2, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- movs r1, 0x5
- strh r1, [r0, 0x2E]
- movs r0, 0xE
- ldrsh r1, [r2, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- movs r1, 0x3
- strh r1, [r0, 0x2E]
- movs r0, 0x32
- strh r0, [r2, 0x8]
- b _08176514
- .pool
-_08176508:
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r6
- movs r1, 0
-_08176512:
- strh r1, [r0, 0x8]
-_08176514:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_817624C
-
- thumb_func_start sub_817651C
-sub_817651C: @ 817651C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r1, =gTasks
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r0, r1
- movs r3, 0x8
- ldrsh r0, [r0, r3]
- adds r4, r1, 0
- cmp r0, 0x4
- bhi _0817655C
- lsls r0, 2
- ldr r1, =_08176548
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08176548:
- .4byte _0817655C
- .4byte _081765A0
- .4byte _081765AC
- .4byte _081765F4
- .4byte _08176640
-_0817655C:
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r2, r0, r4
- movs r1, 0xA
- ldrsh r0, [r2, r1]
- ldr r5, =0x00007fff
- cmp r0, r5
- beq _081765A0
- movs r3, 0xC
- ldrsh r1, [r2, r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r3, r0, r4
- movs r0, 0x26
- ldrsh r1, [r3, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r4
- movs r1, 0xC
- ldrsh r0, [r0, r1]
- cmp r0, 0x2
- bne _081765A0
- movs r1, 0xA
- ldrsh r0, [r3, r1]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r4
- movs r0, 0x14
- strh r0, [r1, 0x8]
- strh r5, [r2, 0xA]
-_081765A0:
- movs r0, 0
- bl sub_817B540
- b _08176646
- .pool
-_081765AC:
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r2, r0, r4
- movs r3, 0xA
- ldrsh r0, [r2, r3]
- ldr r5, =0x00007fff
- cmp r0, r5
- beq _08176638
- movs r0, 0xC
- ldrsh r1, [r2, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r4
- movs r3, 0xA
- ldrsh r1, [r0, r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r3, r0, r4
- ldrh r1, [r3, 0x12]
- movs r0, 0x80
- negs r0, r0
- ands r0, r1
- movs r1, 0xA0
- lsls r1, 2
- cmp r0, r1
- bne _08176638
- movs r0, 0x1
- strh r0, [r3, 0x8]
- strh r5, [r2, 0xA]
- b _08176638
- .pool
-_081765F4:
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r2, r0, r4
- ldrh r3, [r2, 0xA]
- movs r0, 0xA
- ldrsh r1, [r2, r0]
- ldr r5, =0x00007fff
- cmp r1, r5
- beq _08176638
- movs r0, 0x92
- lsls r0, 2
- cmp r1, r0
- bne _08176634
- movs r3, 0xC
- ldrsh r1, [r2, r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r4
- movs r3, 0xA
- ldrsh r1, [r0, r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r4
- movs r1, 0xA
- strh r1, [r0, 0x8]
- strh r5, [r2, 0xA]
- b _08176638
- .pool
-_08176634:
- adds r0, r3, 0x1
- strh r0, [r2, 0xA]
-_08176638:
- movs r0, 0x1
- bl sub_817B540
- b _08176646
-_08176640:
- movs r0, 0x2
- bl sub_817B540
-_08176646:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_817651C
-
- thumb_func_start sub_817664C
-sub_817664C: @ 817664C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r1, 24
- lsrs r7, r1, 24
- cmp r0, 0x4
- bls _08176662
- b _081769E0
-_08176662:
- lsls r0, 2
- ldr r1, =_08176670
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08176670:
- .4byte _08176684
- .4byte _0817672C
- .4byte _081767D8
- .4byte _08176884
- .4byte _08176934
-_08176684:
- ldr r5, =gSprites
- ldr r0, =gTasks
- lsls r4, r7, 2
- adds r4, r7
- lsls r4, 3
- adds r4, r0
- movs r1, 0x12
- ldrsh r0, [r4, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r5
- adds r1, 0x3E
- ldrb r3, [r1]
- movs r2, 0x5
- negs r2, r2
- adds r0, r2, 0
- ands r0, r3
- strb r0, [r1]
- movs r0, 0x14
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- adds r0, 0x3E
- ldrb r1, [r0]
- ands r2, r1
- strb r2, [r0]
- movs r0, 0x12
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r3, 0
- movs r2, 0x88
- lsls r2, 1
- strh r2, [r0, 0x20]
- movs r0, 0x14
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- strh r2, [r0, 0x20]
- movs r0, 0x12
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r2, 0x2E
- strh r2, [r0, 0x22]
- movs r0, 0x14
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- strh r2, [r0, 0x22]
- movs r0, 0x12
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- strh r3, [r0, 0x2E]
- movs r0, 0x14
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- strh r3, [r0, 0x2E]
- movs r1, 0x80
- lsls r1, 6
- movs r0, 0
- movs r2, 0x20
- b _081769D4
- .pool
-_0817672C:
- ldr r5, =gSprites
- ldr r0, =gTasks
- lsls r4, r7, 2
- adds r4, r7
- lsls r4, 3
- adds r4, r0
- movs r1, 0x12
- ldrsh r0, [r4, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r5
- adds r1, 0x3E
- ldrb r3, [r1]
- movs r2, 0x5
- negs r2, r2
- adds r0, r2, 0
- ands r0, r3
- strb r0, [r1]
- movs r0, 0x14
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- adds r0, 0x3E
- ldrb r1, [r0]
- ands r2, r1
- strb r2, [r0]
- movs r0, 0x12
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r3, 0
- movs r1, 0x78
- strh r1, [r0, 0x20]
- movs r0, 0x14
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r1, 0x88
- lsls r1, 1
- strh r1, [r0, 0x20]
- movs r0, 0x12
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r2, 0x2E
- strh r2, [r0, 0x22]
- movs r0, 0x14
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- strh r2, [r0, 0x22]
- movs r0, 0x12
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- strh r3, [r0, 0x2E]
- movs r0, 0x14
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- strh r3, [r0, 0x2E]
- movs r1, 0x80
- lsls r1, 6
- movs r0, 0
- movs r2, 0x20
- b _081769D4
- .pool
-_081767D8:
- ldr r5, =gSprites
- ldr r0, =gTasks
- lsls r4, r7, 2
- adds r4, r7
- lsls r4, 3
- adds r4, r0
- movs r1, 0x12
- ldrsh r0, [r4, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r5
- adds r1, 0x3E
- ldrb r3, [r1]
- movs r2, 0x5
- negs r2, r2
- adds r0, r2, 0
- ands r0, r3
- strb r0, [r1]
- movs r0, 0x14
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- adds r0, 0x3E
- ldrb r1, [r0]
- ands r2, r1
- strb r2, [r0]
- movs r0, 0x12
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r3, 0
- movs r1, 0x78
- strh r1, [r0, 0x20]
- movs r0, 0x14
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r1, 0x88
- lsls r1, 1
- strh r1, [r0, 0x20]
- movs r0, 0x12
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r2, 0x2E
- strh r2, [r0, 0x22]
- movs r0, 0x14
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- strh r2, [r0, 0x22]
- movs r0, 0x12
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- strh r3, [r0, 0x2E]
- movs r0, 0x14
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- strh r3, [r0, 0x2E]
- movs r1, 0x80
- lsls r1, 6
- movs r2, 0x80
- lsls r2, 2
- movs r0, 0x1
- b _081769D4
- .pool
-_08176884:
- ldr r5, =gSprites
- ldr r0, =gTasks
- lsls r4, r7, 2
- adds r4, r7
- lsls r4, 3
- adds r4, r0
- movs r1, 0x12
- ldrsh r0, [r4, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r5
- adds r1, 0x3E
- ldrb r3, [r1]
- movs r2, 0x5
- negs r2, r2
- adds r0, r2, 0
- ands r0, r3
- strb r0, [r1]
- movs r0, 0x14
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- adds r0, 0x3E
- ldrb r1, [r0]
- ands r2, r1
- strb r2, [r0]
- movs r0, 0x12
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r3, 0
- movs r1, 0x78
- strh r1, [r0, 0x20]
- movs r0, 0x14
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldr r1, =0x0000ffe0
- strh r1, [r0, 0x20]
- movs r0, 0x12
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r2, 0x2E
- strh r2, [r0, 0x22]
- movs r0, 0x14
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- strh r2, [r0, 0x22]
- movs r0, 0x12
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- strh r3, [r0, 0x2E]
- movs r0, 0x14
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- strh r3, [r0, 0x2E]
- movs r1, 0x80
- lsls r1, 6
- movs r2, 0x80
- lsls r2, 2
- movs r0, 0x1
- b _081769D4
- .pool
-_08176934:
- ldr r5, =gSprites
- ldr r0, =gTasks
- lsls r4, r7, 2
- adds r4, r7
- lsls r4, 3
- adds r4, r0
- movs r1, 0x12
- ldrsh r0, [r4, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r5
- adds r1, 0x3E
- ldrb r3, [r1]
- movs r2, 0x5
- negs r2, r2
- adds r0, r2, 0
- ands r0, r3
- strb r0, [r1]
- movs r0, 0x14
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- adds r0, 0x3E
- ldrb r1, [r0]
- ands r2, r1
- strb r2, [r0]
- movs r0, 0x12
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r3, 0
- movs r1, 0x58
- strh r1, [r0, 0x20]
- movs r0, 0x14
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r1, 0x98
- strh r1, [r0, 0x20]
- movs r0, 0x12
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r2, 0x2E
- strh r2, [r0, 0x22]
- movs r0, 0x14
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- strh r2, [r0, 0x22]
- movs r0, 0x12
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- strh r3, [r0, 0x2E]
- movs r0, 0x14
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- strh r3, [r0, 0x2E]
- movs r1, 0x80
- lsls r1, 6
- movs r2, 0x80
- lsls r2, 2
- movs r0, 0x2
-_081769D4:
- movs r3, 0x8
- bl sub_817B3DC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x8]
-_081769E0:
- ldr r0, =sub_817651C
- movs r1, 0
- bl CreateTask
- ldr r6, =gTasks
- lsls r1, r7, 2
- adds r1, r7
- lsls r1, 3
- adds r5, r1, r6
- lsls r0, 24
- lsrs r0, 24
- movs r4, 0
- strh r0, [r5, 0xC]
- movs r0, 0xC
- ldrsh r1, [r5, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r6
- mov r1, r8
- strh r1, [r0, 0x8]
- movs r0, 0xC
- ldrsh r1, [r5, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r6
- strh r4, [r0, 0xA]
- movs r0, 0xC
- ldrsh r1, [r5, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r6
- strh r7, [r0, 0xC]
- ldr r0, =sub_817624C
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0xA]
- movs r0, 0xA
- ldrsh r1, [r5, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r6
- strh r4, [r0, 0x8]
- movs r0, 0xA
- ldrsh r1, [r5, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r6
- strh r7, [r0, 0xA]
- movs r0, 0xA
- ldrsh r1, [r5, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r6
- ldrh r1, [r5, 0x12]
- strh r1, [r0, 0xC]
- movs r0, 0xA
- ldrsh r1, [r5, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r6
- ldrh r1, [r5, 0x14]
- strh r1, [r0, 0xE]
- movs r0, 0xA
- ldrsh r1, [r5, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r6
- strh r4, [r0, 0x10]
- mov r1, r8
- cmp r1, 0x2
- bne _08176A94
- movs r1, 0xA
- ldrsh r0, [r5, r1]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r6
- movs r0, 0x45
- strh r0, [r1, 0x12]
-_08176A94:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_817664C
-
- thumb_func_start sub_8176AB0
-sub_8176AB0: @ 8176AB0
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- ldr r0, =gMain
- movs r1, 0x87
- lsls r1, 3
- adds r6, r0, r1
- ldrb r0, [r6]
- cmp r0, 0x1
- beq _08176B30
- cmp r0, 0x1
- ble _08176AD6
- cmp r0, 0x2
- beq _08176B54
- cmp r0, 0x3
- bne _08176AD6
- b _08176C80
-_08176AD6:
- movs r0, 0
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x1C
- movs r1, 0x8
- bl SetGpuReg
- movs r0, 0x1E
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x18
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x1A
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x14
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x16
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- bl ResetSpriteData
- bl FreeAllSpritePalettes
- movs r0, 0x1
- strb r0, [r6]
- b _08176C96
- .pool
-_08176B30:
- ldr r1, =gUnknown_0203BD24
- movs r0, 0x22
- strh r0, [r1]
- ldr r1, =gUnknown_0203BD26
- movs r0, 0
- strh r0, [r1]
- adds r0, r4, 0
- bl sub_817B1C8
- ldrb r0, [r6]
- adds r0, 0x1
- strb r0, [r6]
- b _08176C96
- .pool
-_08176B54:
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- cmp r0, 0
- bne _08176BD8
- ldr r0, =gUnknown_085F5334
- bl LoadCompressedObjectPic
- ldr r0, =gUnknown_085F53BC
- bl LoadCompressedObjectPic
- ldr r0, =gUnknown_085F5354
- bl LoadCompressedObjectPic
- ldr r0, =gUnknown_085F5384
- bl LoadSpritePalettes
- movs r0, 0x78
- movs r1, 0x2E
- bl intro_create_brendan_sprite
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, =gTasks
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 3
- adds r4, r0
- strh r2, [r4, 0x12]
- ldr r6, =gSprites
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r5, r6, 0
- adds r5, 0x1C
- adds r2, r0, r5
- ldr r1, =sub_8176EE8
- str r1, [r2]
- adds r6, 0x8
- adds r0, r6
- ldr r1, =gUnknown_085E6FD0
- str r1, [r0]
- movs r0, 0x88
- lsls r0, 1
- movs r1, 0x2E
- bl intro_create_may_sprite
- b _08176C2C
- .pool
-_08176BD8:
- ldr r0, =gUnknown_085F5344
- bl LoadCompressedObjectPic
- ldr r0, =gUnknown_085F53AC
- bl LoadCompressedObjectPic
- ldr r0, =gUnknown_085F5354
- bl LoadCompressedObjectPic
- ldr r0, =gUnknown_085F5384
- bl LoadSpritePalettes
- movs r0, 0x78
- movs r1, 0x2E
- bl intro_create_may_sprite
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, =gTasks
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 3
- adds r4, r0
- strh r2, [r4, 0x12]
- ldr r6, =gSprites
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r5, r6, 0
- adds r5, 0x1C
- adds r2, r0, r5
- ldr r1, =sub_8176EE8
- str r1, [r2]
- adds r6, 0x8
- adds r0, r6
- ldr r1, =gUnknown_085E6FD0
- str r1, [r0]
- movs r0, 0x88
- lsls r0, 1
- movs r1, 0x2E
- bl intro_create_brendan_sprite
-_08176C2C:
- lsls r0, 24
- lsrs r2, r0, 24
- strh r2, [r4, 0x14]
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r5, r0, r5
- ldr r1, =sub_8176F90
- str r1, [r5]
- adds r0, r6
- ldr r1, =gUnknown_085E7010
- str r1, [r0]
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _08176C96
- .pool
-_08176C80:
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_817664C
- adds r0, r4, 0
- bl sub_817B3A8
- movs r0, 0
- strb r0, [r6]
- movs r0, 0x1
- b _08176C98
-_08176C96:
- movs r0, 0
-_08176C98:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8176AB0
-
- thumb_func_start sub_8176CA0
-sub_8176CA0: @ 8176CA0
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
- ldrh r1, [r4, 0x8]
- movs r2, 0x8
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _08176CC6
- lsls r0, r1, 24
- lsrs r0, 24
- bl DestroyTask
- movs r0, 0
- strh r0, [r4, 0x8]
-_08176CC6:
- ldrh r1, [r4, 0xA]
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _08176CDC
- lsls r0, r1, 24
- lsrs r0, 24
- bl DestroyTask
- movs r0, 0
- strh r0, [r4, 0xA]
-_08176CDC:
- ldrh r1, [r4, 0xC]
- movs r2, 0xC
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _08176CF2
- lsls r0, r1, 24
- lsrs r0, 24
- bl DestroyTask
- movs r0, 0
- strh r0, [r4, 0xC]
-_08176CF2:
- ldrh r1, [r4, 0xE]
- movs r2, 0xE
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _08176D08
- lsls r0, r1, 24
- lsrs r0, 24
- bl DestroyTask
- movs r0, 0
- strh r0, [r4, 0xE]
-_08176D08:
- ldr r1, =gUnknown_0203BD28
- movs r0, 0x1
- strh r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8176CA0
-
- thumb_func_start sub_8176D1C
-sub_8176D1C: @ 8176D1C
- push {r4-r7,lr}
- adds r3, r0, 0
- adds r4, r2, 0
- lsls r3, 16
- lsrs r3, 16
- lsls r1, 16
- lsrs r7, r1, 16
- lsls r4, 16
- lsrs r5, r4, 16
- ldr r0, =gUnknown_085E5770
- movs r6, 0xC0
- lsls r6, 19
- adds r3, r6
- adds r1, r3, 0
- bl LZ77UnCompVram
- ldr r0, =gIntroCopyright_Pal
- adds r1, r5, 0
- movs r2, 0x20
- bl LoadPalette
- lsrs r4, 20
- lsls r4, 28
- lsrs r4, 16
- movs r1, 0
- adds r4, 0x1
- ldr r2, =0x000003ff
-_08176D52:
- lsls r0, r1, 1
- adds r0, r7
- adds r0, r6
- strh r4, [r0]
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, r2
- bls _08176D52
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8176D1C
-
- thumb_func_start sub_8176D78
-sub_8176D78: @ 8176D78
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- adds r3, r2, 0
- movs r0, 0x3F
- ands r0, r2
- adds r1, r0, 0
- adds r1, 0x50
- cmp r2, 0xFF
- bne _08176D90
- movs r0, 0x1
- b _08176DB6
-_08176D90:
- movs r0, 0x80
- ands r0, r2
- cmp r0, 0
- beq _08176DA0
- movs r2, 0x80
- lsls r2, 4
- adds r0, r2, 0
- orrs r1, r0
-_08176DA0:
- movs r0, 0x40
- ands r3, r0
- cmp r3, 0
- beq _08176DB4
- movs r2, 0x80
- lsls r2, 3
- adds r0, r2, 0
- orrs r1, r0
- lsls r0, r1, 16
- lsrs r1, r0, 16
-_08176DB4:
- adds r0, r1, 0
-_08176DB6:
- pop {r1}
- bx r1
- thumb_func_end sub_8176D78
-
- thumb_func_start sub_8176DBC
-sub_8176DBC: @ 8176DBC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- str r0, [sp]
- ldr r0, [sp, 0x2C]
- lsls r1, 24
- lsrs r1, 24
- mov r10, r1
- lsls r2, 24
- lsrs r2, 24
- str r2, [sp, 0x4]
- lsls r3, 16
- lsrs r3, 16
- str r3, [sp, 0x8]
- lsls r0, 16
- lsrs r0, 20
- lsls r0, 28
- lsrs r0, 16
- mov r9, r0
- movs r5, 0
-_08176DEA:
- movs r4, 0
- lsls r7, r5, 1
- ldr r1, [sp, 0x4]
- adds r0, r1, r5
- adds r2, r5, 0x1
- mov r8, r2
- lsls r0, 6
- ldr r1, [sp, 0x8]
- adds r6, r0, r1
-_08176DFC:
- adds r0, r7, r5
- adds r0, r4
- ldr r2, [sp]
- adds r0, r2, r0
- ldrb r0, [r0]
- bl sub_8176D78
- mov r2, r10
- adds r1, r2, r4
- lsls r1, 1
- adds r1, r6
- movs r2, 0xC0
- lsls r2, 19
- adds r1, r2
- add r0, r9
- strh r0, [r1]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x2
- bls _08176DFC
- mov r1, r8
- lsls r0, r1, 24
- lsrs r5, r0, 24
- cmp r5, 0x4
- bls _08176DEA
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8176DBC
-
- thumb_func_start sub_8176E40
-sub_8176E40: @ 8176E40
- push {r4-r7,lr}
- sub sp, 0x4
- lsls r0, 16
- lsrs r5, r0, 16
- lsls r1, 16
- lsrs r6, r1, 16
- lsrs r1, 20
- lsls r1, 28
- lsrs r1, 16
- movs r2, 0
- ldr r7, =gUnknown_085E5BAC
- movs r4, 0xC0
- lsls r4, 19
- adds r1, 0x1
- ldr r3, =0x000003ff
-_08176E5E:
- lsls r0, r2, 1
- adds r0, r5
- adds r0, r4
- strh r1, [r0]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, r3
- bls _08176E5E
- str r6, [sp]
- adds r0, r7, 0
- movs r1, 0x3
- movs r2, 0x7
- adds r3, r5, 0
- bl sub_8176DBC
- ldr r0, =gUnknown_085E5BBB
- str r6, [sp]
- movs r1, 0x7
- movs r2, 0x7
- adds r3, r5, 0
- bl sub_8176DBC
- ldr r4, =gUnknown_085E5BCA
- str r6, [sp]
- adds r0, r4, 0
- movs r1, 0xB
- movs r2, 0x7
- adds r3, r5, 0
- bl sub_8176DBC
- str r6, [sp]
- adds r0, r4, 0
- movs r1, 0x10
- movs r2, 0x7
- adds r3, r5, 0
- bl sub_8176DBC
- ldr r0, =gUnknown_085E5BD9
- str r6, [sp]
- movs r1, 0x14
- movs r2, 0x7
- adds r3, r5, 0
- bl sub_8176DBC
- ldr r0, =gUnknown_085E5BE8
- str r6, [sp]
- movs r1, 0x18
- movs r2, 0x7
- adds r3, r5, 0
- bl sub_8176DBC
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8176E40
-
- thumb_func_start sub_8176EE8
-sub_8176EE8: @ 8176EE8
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, =gUnknown_0203BD28
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- beq _08176F04
- adds r0, r4, 0
- bl DestroySprite
- b _08176F88
- .pool
-_08176F04:
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- cmp r0, 0x5
- bhi _08176F88
- lsls r0, 2
- ldr r1, =_08176F1C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08176F1C:
- .4byte _08176F34
- .4byte _08176F3E
- .4byte _08176F44
- .4byte _08176F4E
- .4byte _08176F58
- .4byte _08176F6E
-_08176F34:
- adds r0, r4, 0
- movs r1, 0
- bl StartSpriteAnimIfDifferent
- b _08176F88
-_08176F3E:
- adds r0, r4, 0
- movs r1, 0x1
- b _08176F72
-_08176F44:
- adds r0, r4, 0
- movs r1, 0x2
- bl StartSpriteAnimIfDifferent
- b _08176F88
-_08176F4E:
- adds r0, r4, 0
- movs r1, 0x3
- bl StartSpriteAnimIfDifferent
- b _08176F88
-_08176F58:
- adds r0, r4, 0
- movs r1, 0
- bl StartSpriteAnimIfDifferent
- ldrh r1, [r4, 0x20]
- movs r2, 0x20
- ldrsh r0, [r4, r2]
- cmp r0, 0x78
- ble _08176F88
- subs r0, r1, 0x1
- b _08176F86
-_08176F6E:
- adds r0, r4, 0
- movs r1, 0
-_08176F72:
- bl StartSpriteAnimIfDifferent
- ldrh r2, [r4, 0x20]
- movs r0, 0x20
- ldrsh r1, [r4, r0]
- movs r0, 0x20
- negs r0, r0
- cmp r1, r0
- ble _08176F88
- subs r0, r2, 0x1
-_08176F86:
- strh r0, [r4, 0x20]
-_08176F88:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8176EE8
-
- thumb_func_start sub_8176F90
-sub_8176F90: @ 8176F90
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, =gUnknown_0203BD28
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- beq _08176FAC
- adds r0, r4, 0
- bl DestroySprite
- b _08177048
- .pool
-_08176FAC:
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _08176FD4
- cmp r0, 0x1
- bgt _08176FBE
- cmp r0, 0
- beq _08176FC8
- b _08177048
-_08176FBE:
- cmp r0, 0x2
- beq _08177010
- cmp r0, 0x3
- beq _0817702E
- b _08177048
-_08176FC8:
- strh r0, [r4, 0x26]
- adds r0, r4, 0
- movs r1, 0
- bl StartSpriteAnimIfDifferent
- b _08177048
-_08176FD4:
- movs r1, 0x20
- ldrsh r0, [r4, r1]
- cmp r0, 0xC8
- ble _08176FE6
- adds r0, r4, 0
- movs r1, 0x1
- bl StartSpriteAnimIfDifferent
- b _08176FEE
-_08176FE6:
- adds r0, r4, 0
- movs r1, 0x2
- bl StartSpriteAnimIfDifferent
-_08176FEE:
- ldrh r2, [r4, 0x20]
- movs r0, 0x20
- ldrsh r1, [r4, r0]
- movs r0, 0x20
- negs r0, r0
- cmp r1, r0
- ble _08177000
- subs r0, r2, 0x2
- strh r0, [r4, 0x20]
-_08177000:
- ldr r0, =gUnknown_0203BD26
- ldrh r0, [r0]
- negs r0, r0
- strh r0, [r4, 0x26]
- b _08177048
- .pool
-_08177010:
- ldrh r0, [r4, 0x3C]
- adds r0, 0x1
- strh r0, [r4, 0x3C]
- adds r0, r4, 0
- movs r1, 0
- bl StartSpriteAnimIfDifferent
- ldrh r1, [r4, 0x3C]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- bne _08177048
- ldrh r0, [r4, 0x20]
- adds r0, 0x1
- b _08177046
-_0817702E:
- adds r0, r4, 0
- movs r1, 0
- bl StartSpriteAnimIfDifferent
- ldrh r2, [r4, 0x20]
- movs r0, 0x20
- ldrsh r1, [r4, r0]
- movs r0, 0x20
- negs r0, r0
- cmp r1, r0
- ble _08177048
- subs r0, r2, 0x1
-_08177046:
- strh r0, [r4, 0x20]
-_08177048:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8176F90
-
- thumb_func_start sub_8177050
-sub_8177050: @ 8177050
- push {r4,r5,lr}
- sub sp, 0x4
- adds r5, r0, 0
- ldr r0, =gUnknown_0203BD28
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- beq _0817706C
- ldrh r0, [r5, 0x3A]
- bl sub_818D820
- b _0817721C
- .pool
-_0817706C:
- ldrh r0, [r5, 0x3C]
- adds r0, 0x1
- strh r0, [r5, 0x3C]
- movs r2, 0x2E
- ldrsh r0, [r5, r2]
- cmp r0, 0xA
- bhi _081770B4
- lsls r0, 2
- ldr r1, =_08177088
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08177088:
- .4byte _081770B4
- .4byte _0817710E
- .4byte _08177190
- .4byte _081771C6
- .4byte _081770B4
- .4byte _081770B4
- .4byte _081770B4
- .4byte _081770B4
- .4byte _081770B4
- .4byte _081771FE
- .4byte _08177206
-_081770B4:
- ldrb r1, [r5, 0x1]
- movs r0, 0x4
- negs r0, r0
- ands r0, r1
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r5, 0x1]
- movs r0, 0x30
- ldrsh r1, [r5, r0]
- movs r0, 0x1F
- ands r1, r0
- lsls r1, 1
- ldrb r2, [r5, 0x3]
- movs r0, 0x3F
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r5, 0x3]
- movs r0, 0x10
- strh r0, [r5, 0x32]
- ldrh r4, [r5, 0x30]
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x80
- lsls r0, 9
- movs r1, 0x10
- bl __divsi3
- adds r1, r0, 0
- str r1, [sp]
- adds r0, r4, 0
- movs r2, 0
- movs r3, 0
- bl SetOamMatrix
- adds r2, r5, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- movs r0, 0x1
- strh r0, [r5, 0x2E]
- b _0817721C
-_0817710E:
- ldrh r1, [r5, 0x32]
- movs r2, 0x32
- ldrsh r0, [r5, r2]
- cmp r0, 0xFF
- bgt _08177144
- adds r0, r1, 0
- adds r0, 0x8
- strh r0, [r5, 0x32]
- ldrh r4, [r5, 0x30]
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x32
- ldrsh r1, [r5, r0]
- movs r0, 0x80
- lsls r0, 9
- bl __divsi3
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- str r1, [sp]
- adds r0, r4, 0
- movs r2, 0
- movs r3, 0
- bl SetOamMatrix
- b _0817714A
-_08177144:
- ldrh r0, [r5, 0x2E]
- adds r0, 0x1
- strh r0, [r5, 0x2E]
-_0817714A:
- movs r2, 0x30
- ldrsh r1, [r5, r2]
- cmp r1, 0x2
- beq _0817721C
- cmp r1, 0x2
- bgt _0817715C
- cmp r1, 0x1
- beq _08177162
- b _0817721C
-_0817715C:
- cmp r1, 0x3
- beq _0817717A
- b _0817721C
-_08177162:
- ldrh r1, [r5, 0x3C]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- bne _08177172
- ldrh r0, [r5, 0x22]
- adds r0, 0x1
- strh r0, [r5, 0x22]
-_08177172:
- ldrh r0, [r5, 0x20]
- subs r0, 0x2
- strh r0, [r5, 0x20]
- b _0817721C
-_0817717A:
- ldrh r0, [r5, 0x3C]
- ands r1, r0
- cmp r1, 0
- bne _08177188
- ldrh r0, [r5, 0x22]
- adds r0, 0x1
- strh r0, [r5, 0x22]
-_08177188:
- ldrh r0, [r5, 0x20]
- adds r0, 0x2
- strh r0, [r5, 0x20]
- b _0817721C
-_08177190:
- ldrh r1, [r5, 0x34]
- movs r2, 0x34
- ldrsh r0, [r5, r2]
- cmp r0, 0
- beq _081771A0
- subs r0, r1, 0x1
- strh r0, [r5, 0x34]
- b _0817721C
-_081771A0:
- movs r1, 0xF4
- lsls r1, 4
- movs r0, 0x50
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0x10
- bl SetGpuReg
- ldrb r1, [r5, 0x1]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r5, 0x1]
- movs r0, 0x10
- strh r0, [r5, 0x34]
- b _081771FE
-_081771C6:
- ldrh r1, [r5, 0x34]
- movs r2, 0x34
- ldrsh r0, [r5, r2]
- cmp r0, 0
- beq _081771EC
- subs r1, 0x1
- strh r1, [r5, 0x34]
- movs r0, 0x34
- ldrsh r2, [r5, r0]
- movs r0, 0x10
- subs r0, r2
- lsls r0, 8
- adds r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
- b _0817721C
-_081771EC:
- adds r2, r5, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- movs r0, 0x9
- strh r0, [r5, 0x2E]
- b _0817721C
-_081771FE:
- ldrh r0, [r5, 0x2E]
- adds r0, 0x1
- strh r0, [r5, 0x2E]
- b _0817721C
-_08177206:
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- ldrh r0, [r5, 0x3A]
- bl sub_818D820
-_0817721C:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8177050
-
- thumb_func_start sub_8177224
-sub_8177224: @ 8177224
- push {r4-r7,lr}
- adds r5, r3, 0
- lsls r0, 16
- lsrs r0, 16
- lsls r5, 16
- lsrs r5, 16
- lsls r1, 16
- asrs r1, 16
- lsls r2, 16
- asrs r2, 16
- adds r3, r5, 0
- bl sub_80C0E9C
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r6, =gSprites
- lsls r1, r4, 4
- adds r1, r4
- lsls r1, 2
- adds r2, r1, r6
- ldrb r3, [r2, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r3
- movs r3, 0x4
- orrs r0, r3
- strb r0, [r2, 0x5]
- adds r0, r5, 0x1
- strh r0, [r2, 0x30]
- movs r0, 0x3E
- adds r0, r2
- mov r12, r0
- ldrb r0, [r0]
- orrs r0, r3
- mov r3, r12
- strb r0, [r3]
- adds r0, r6, 0
- adds r0, 0x1C
- adds r1, r0
- ldr r0, =sub_8177050
- str r0, [r1]
- strh r4, [r2, 0x3A]
- ldr r0, =gUnknown_085E7068
- movs r7, 0x20
- ldrsh r1, [r2, r7]
- movs r3, 0x22
- ldrsh r2, [r2, r3]
- movs r3, 0x1
- bl CreateSprite
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- strh r4, [r0, 0x2E]
- lsls r5, 24
- lsrs r5, 24
- adds r1, r5, 0
- bl StartSpriteAnimIfDifferent
- adds r0, r4, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8177224
-
- thumb_func_start sub_81772B8
-sub_81772B8: @ 81772B8
- push {r4,lr}
- adds r3, r0, 0
- ldr r4, =gSprites
- movs r1, 0x2E
- ldrsh r0, [r3, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- movs r2, 0x2E
- ldrsh r0, [r1, r2]
- cmp r0, 0xA
- beq _081772DC
- ldr r0, =gUnknown_0203BD28
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r0, 0
- beq _081772EC
-_081772DC:
- adds r0, r3, 0
- bl DestroySprite
- b _08177380
- .pool
-_081772EC:
- adds r0, r1, 0
- adds r0, 0x3E
- ldrb r0, [r0]
- movs r1, 0x3E
- adds r1, r3
- mov r12, r1
- movs r1, 0x4
- ands r1, r0
- mov r0, r12
- ldrb r2, [r0]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- mov r1, r12
- strb r0, [r1]
- movs r2, 0x2E
- ldrsh r1, [r3, r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrb r1, [r0, 0x1]
- movs r0, 0xC
- ands r0, r1
- ldrb r2, [r3, 0x1]
- movs r1, 0xD
- negs r1, r1
- ands r1, r2
- orrs r1, r0
- strb r1, [r3, 0x1]
- movs r0, 0x2E
- ldrsh r2, [r3, r0]
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r4
- ldrb r0, [r0, 0x1]
- lsls r0, 30
- lsrs r0, 30
- movs r2, 0x4
- negs r2, r2
- ands r1, r2
- orrs r1, r0
- strb r1, [r3, 0x1]
- movs r2, 0x2E
- ldrsh r1, [r3, r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrb r0, [r0, 0x3]
- movs r1, 0x3E
- ands r1, r0
- ldrb r2, [r3, 0x3]
- movs r0, 0x3F
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3, 0x3]
- movs r0, 0x2E
- ldrsh r1, [r3, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrh r0, [r0, 0x20]
- strh r0, [r3, 0x20]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrh r0, [r0, 0x22]
- strh r0, [r3, 0x22]
-_08177380:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_81772B8
-
- thumb_func_start sub_8177388
-sub_8177388: @ 8177388
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r0, =0x00004023
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
- bl GetStarterPokemon
- lsls r0, 16
- lsrs r0, 16
- bl SpeciesToNationalPokedexNum
- lsls r0, 16
- lsrs r0, 16
- mov r10, r0
- movs r4, 0x1
- movs r6, 0
- ldr r5, =0x00000181
-_081773B4:
- adds r0, r4, 0
- movs r1, 0x1
- bl GetSetPokedexFlag
- lsls r0, 24
- cmp r0, 0
- beq _081773D4
- ldr r0, =gUnknown_0203BCE8
- ldr r0, [r0]
- lsls r1, r6, 1
- adds r0, 0x96
- adds r0, r1
- strh r4, [r0]
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
-_081773D4:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, r5
- bls _081773B4
- adds r4, r6, 0
- ldr r0, =0x00000181
- ldr r1, =gUnknown_0203BCE8
- mov r8, r1
- lsls r7, r4, 16
- cmp r4, r0
- bhi _08177406
- mov r5, r8
- movs r3, 0
- adds r2, r0, 0
-_081773F2:
- ldr r0, [r5]
- lsls r1, r4, 1
- adds r0, 0x96
- adds r0, r1
- strh r3, [r0]
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, r2
- bls _081773F2
-_08177406:
- mov r2, r8
- ldr r1, [r2]
- ldr r2, =0x0000039a
- adds r0, r1, r2
- strh r6, [r0]
- lsrs r0, r7, 16
- cmp r0, 0x46
- bhi _08177430
- adds r0, r1, 0
- adds r0, 0x94
- strh r6, [r0]
- b _08177436
- .pool
-_08177430:
- adds r1, 0x94
- movs r0, 0x47
- strh r0, [r1]
-_08177436:
- movs r6, 0
- ldr r0, =gUnknown_0203BCE8
- mov r9, r0
- ldr r1, =0x0000039a
- mov r8, r1
- movs r7, 0
- b _08177450
- .pool
-_0817744C:
- cmp r6, 0x46
- bhi _081774AC
-_08177450:
- bl Random
- mov r2, r9
- ldr r4, [r2]
- mov r1, r8
- adds r5, r4, r1
- lsls r0, 16
- lsrs r0, 16
- ldrh r1, [r5]
- bl __umodsi3
- lsls r0, 16
- lsrs r3, r0, 16
- lsls r1, r6, 1
- adds r1, r4, r1
- lsls r0, r3, 1
- adds r4, 0x96
- adds r2, r4, r0
- ldrh r0, [r2]
- strh r0, [r1]
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- strh r7, [r2]
- ldrh r0, [r5]
- subs r0, 0x1
- strh r0, [r5]
- lsls r0, 16
- lsrs r0, 16
- cmp r3, r0
- beq _081774A0
- ldrh r0, [r5]
- lsls r0, 1
- adds r0, r4, r0
- ldrh r0, [r0]
- strh r0, [r2]
- ldrh r0, [r5]
- lsls r0, 1
- adds r0, r4, r0
- strh r7, [r0]
-_081774A0:
- mov r2, r9
- ldr r0, [r2]
- add r0, r8
- ldrh r0, [r0]
- cmp r0, 0
- bne _0817744C
-_081774AC:
- ldr r1, =gUnknown_0203BCE8
- ldr r2, [r1]
- adds r3, r2, 0
- adds r3, 0x94
- ldrh r0, [r3]
- mov r8, r1
- cmp r0, 0x46
- bhi _081774F8
- adds r6, r0, 0
- movs r3, 0
- cmp r6, 0x46
- bhi _081774EE
- mov r4, r8
-_081774C6:
- ldr r2, [r4]
- lsls r1, r6, 1
- adds r1, r2, r1
- lsls r0, r3, 1
- adds r0, r2, r0
- ldrh r0, [r0]
- strh r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- adds r2, 0x94
- ldrh r2, [r2]
- cmp r3, r2
- bne _081774E4
- movs r3, 0
-_081774E4:
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0x46
- bls _081774C6
-_081774EE:
- mov r1, r8
- ldr r0, [r1]
- b _08177538
- .pool
-_081774F8:
- movs r4, 0
- ldrh r0, [r2]
- cmp r0, r10
- beq _08177516
- adds r1, r2, 0
-_08177502:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- lsls r0, r4, 1
- adds r0, r1, r0
- ldrh r0, [r0]
- cmp r0, r10
- beq _08177516
- cmp r4, 0x46
- bls _08177502
-_08177516:
- mov r0, r8
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0x94
- ldrh r0, [r0]
- subs r0, 0x1
- cmp r4, r0
- bge _08177536
- lsls r0, r4, 1
- adds r0, r2, r0
- adds r2, 0x8C
- ldrh r1, [r2]
- strh r1, [r0]
- mov r1, r10
- strh r1, [r2]
- b _0817753E
-_08177536:
- adds r0, r2, 0
-_08177538:
- adds r0, 0x8C
- mov r2, r10
- strh r2, [r0]
-_0817753E:
- mov r1, r8
- ldr r0, [r1]
- adds r0, 0x94
- movs r1, 0x47
- strh r1, [r0]
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8177388
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/intro_credits_graphics.s b/asm/intro_credits_graphics.s
deleted file mode 100644
index aef83f35b..000000000
--- a/asm/intro_credits_graphics.s
+++ /dev/null
@@ -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.
diff --git a/data/credits.s b/data/credits.s
deleted file mode 100644
index a5c0837d1..000000000
--- a/data/credits.s
+++ /dev/null
@@ -1,1577 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .section .rodata
-
- .align 2
-gUnknown_085E56F0:: @ 85E56F0
- .incbin "graphics/credits/credits_1.gbapal"
- .incbin "graphics/credits/credits_2.gbapal"
- .incbin "graphics/credits/credits_3.gbapal"
- .incbin "graphics/credits/credits_4.gbapal"
-
- .align 2
-gUnknown_085E5770:: @ 85E5770
- .incbin "graphics/credits/the_end_copyright.4bpp.lz"
-
-gUnknown_085E5BAC:: @ 85E5BAC
- .byte 0x00, 0x01, 0x00, 0xff, 0x01, 0xff, 0xff, 0x01, 0xff, 0xff, 0x01, 0xff, 0xff, 0x01, 0xff
-
-gUnknown_085E5BBB:: @ 85E5BBB
- .byte 0x01, 0xff, 0x01, 0x01, 0xff, 0x01, 0x01, 0x02, 0x01, 0x01, 0xff, 0x01, 0x01, 0xff, 0x01
-
-gUnknown_085E5BCA:: @ 85E5BCA
- .byte 0x01, 0x00, 0x00, 0x01, 0xff, 0xff, 0x01, 0x02, 0x02, 0x01, 0xff, 0xff, 0x01, 0x80, 0x80
-
-gUnknown_085E5BD9:: @ 85E5BD9
- .byte 0x01, 0x03, 0x01, 0x01, 0x04, 0x01, 0x01, 0x05, 0x01, 0x01, 0xc4, 0x01, 0x01, 0xc3, 0x01
-
-gUnknown_085E5BE8:: @ 85E5BE8
- .byte 0x01, 0x06, 0x07, 0x01, 0x08, 0x09, 0x01, 0xff, 0x01, 0x01, 0x88, 0x89, 0x01, 0x86, 0x87
-
-gCreditsText_EmptyString:: @ 85E5BF7
- .string "$"
-
-gCreditsText_PkmnEmeraldVersion:: @ 85E5BF8
- .string "POKéMON EMERALD VERSION$"
-
-gCreditsText_Credits:: @ 85E5C10
- .string "Credits$"
-
-gCreditsText_ExecutiveDirector:: @ 85E5C18
- .string "Executive Director$"
-
-gCreditsText_Director:: @ 85E5C2B
- .string "Director$"
-
-gCreditsText_ArtDirector:: @ 85E5C34
- .string "Art Director$"
-
-gCreditsText_BattleDirector:: @ 85E5C41
- .string "Battle Director$"
-
-gCreditsText_MainProgrammer:: @ 85E5C51
- .string "Main Programmer$"
-
-gCreditsText_BattleSystemPgrms:: @ 85E5C61
- .string "Battle System Programmers$"
-
-gCreditsText_FieldSystemPgrms:: @ 85E5C7B
- .string "Field System Programmer$"
-
-gCreditsText_Programmers:: @ 85E5C93
- .string "Programmers$"
-
-gCreditsText_MainGraphicDesigner:: @ 85E5C9F
- .string "Main Graphic Designer$"
-
-gCreditsText_GraphicDesigners:: @ 85E5CB5
- .string "Graphic Designers$"
-
-gCreditsText_PkmnDesigners:: @ 85E5CC7
- .string "POKéMON Designers$"
-
-gCreditsText_MusicComposition:: @ 85E5CD9
- .string "Music Composition$"
-
-gCreditsText_SoundEffectsAndPkmnVoices:: @ 85E5CEB
- .string "Sound Effects & POKéMON Voices$"
-
-gCreditsText_GameDesigners:: @ 85E5D0A
- .string "Game Designers$"
-
-gCreditsText_ScenarioPlot:: @ 85E5D19
- .string "Scenario Plot$"
-
-gCreditsText_Scenario:: @ 85E5D27
- .string "Scenario$"
-
-gCreditsText_ScriptDesigners:: @ 85E5D30
- .string "Script Designers$"
-
-gCreditsText_MapDesigners:: @ 85E5D41
- .string "Map Designers$"
-
-gCreditsText_MapDataDesigners:: @ 85E5D4F
- .string "Map Data Designers$"
-
-gCreditsText_ParametricDesigners:: @ 85E5D62
- .string "Parametric Designers$"
-
-gCreditsText_PokedexText:: @ 85E5D77
- .string "POKéDEX Text$"
-
-gCreditsText_EnvAndToolPgrms:: @ 85E5D84
- .string "Environment & Tool Programmers$"
-
-gCreditsText_NCLProductTesting:: @ 85E5DA3
- .string "NCL Product Testing$"
-
-gCreditsText_SpecialThanks:: @ 85E5DB7
- .string "Special Thanks$"
-
-gCreditsText_Coordinators:: @ 85E5DC6
- .string "Coordinators$"
-
-gCreditsText_Producers:: @ 85E5DD3
- .string "Producers$"
-
-gCreditsText_ExecProducers:: @ 85E5DDD
- .string "Executive Producers$"
-
-gCreditsText_InfoSupervisors:: @ 85E5DF1
- .string "Information Supervisors$"
-
-gCreditsText_TaskManagers:: @ 85E5E09
- .string "Task Managers$"
-
-gCreditsText_BrailleCodeCheck:: @ 85E5E17
- .string "Braille Code Check$"
-
-gCreditsText_WorldDirector:: @ 85E5E2A
- .string "World Director$"
-
-gCreditsText_BattleFrontierData:: @ 85E5E39
- .string "Battle Frontier Data$"
-
-gCreditsText_SupportProgrammers:: @ 85E5E4E
- .string "Support Programmers$"
-
-gCreditsText_Artwork:: @ 85E5E62
- .string "Artwork$"
-
-gCreditsText_LeadProgrammer:: @ 85E5E6A
- .string "Lead Programmer$"
-
-gCreditsText_LeadGraphicArtist:: @ 85E5E7A
- .string "Lead Graphic Artist$"
-
-gCreditsText_SatoshiTajiri:: @ 85E5E8E
- .string "Satoshi Tajiri$"
-
-gCreditsText_JunichiMasuda:: @ 85E5E9D
- .string "Junichi Masuda$"
-
-gCreditsText_KenSugimori:: @ 85E5EAC
- .string "Ken Sugimori$"
-
-gCreditsText_ShigekiMorimoto:: @ 85E5EB9
- .string "Shigeki Morimoto$"
-
-gCreditsText_TetsuyaWatanabe:: @ 85E5ECA
- .string "Tetsuya Watanabe$"
-
-gCreditsText_HisashiSogabe:: @ 85E5EDB
- .string "Hisashi Sogabe$"
-
-gCreditsText_SosukeTamada:: @ 85E5EEA
- .string "Sosuke Tamada$"
-
-gCreditsText_AkitoMori:: @ 85E5EF8
- .string "Akito Mori$"
-
-gCreditsText_KeitaKagaya:: @ 85E5F03
- .string "Keita Kagaya$"
-
-gCreditsText_YoshinoriMatsuda:: @ 85E5F10
- .string "Yoshinori Matsuda$"
-
-gCreditsText_HiroyukiNakamura:: @ 85E5F22
- .string "Hiroyuki Nakamura$"
-
-gCreditsText_MasaoTaya:: @ 85E5F34
- .string "Masao Taya$"
-
-gCreditsText_SatoshiNohara:: @ 85E5F3F
- .string "Satoshi Nohara$"
-
-gCreditsText_TomomichiOhta:: @ 85E5F4E
- .string "Tomomichi Ohta$"
-
-gCreditsText_MiyukiIwasawa:: @ 85E5F5D
- .string "Miyuki Iwasawa$"
-
-gCreditsText_TakenoriOhta:: @ 85E5F6C
- .string "Takenori Ohta$"
-
-gCreditsText_HironobuYoshida:: @ 85E5F7A
- .string "Hironobu Yoshida$"
-
-gCreditsText_MotofumiFujiwara:: @ 85E5F8B
- .string "Motofumi Fujiwara$"
-
-gCreditsText_SatoshiOhta:: @ 85E5F9D
- .string "Satoshi Ohta$"
-
-gCreditsText_AsukaIwashita:: @ 85E5FAA
- .string "Asuka Iwashita$"
-
-gCreditsText_AimiTomita:: @ 85E5FB9
- .string "Aimi Tomita$"
-
-gCreditsText_TakaoUnno:: @ 85E5FC5
- .string "Takao Unno$"
-
-gCreditsText_KanakoEo:: @ 85E5FD0
- .string "Kanako Eo$"
-
-gCreditsText_JunOkutani:: @ 85E5FDA
- .string "Jun Okutani$"
-
-gCreditsText_AtsukoNishida:: @ 85E5FE6
- .string "Atsuko Nishida$"
-
-gCreditsText_MuneoSaito:: @ 85E5FF5
- .string "Muneo Saito$"
-
-gCreditsText_RenaYoshikawa:: @ 85E6001
- .string "Rena Yoshikawa$"
-
-gCreditsText_GoIchinose:: @ 85E6010
- .string "Go Ichinose$"
-
-gCreditsText_MorikazuAoki:: @ 85E601C
- .string "Morikazu Aoki$"
-
-gCreditsText_KojiNishino:: @ 85E602A
- .string "Koji Nishino$"
-
-gCreditsText_KenjiMatsushima:: @ 85E6037
- .string "Kenji Matsushima$"
-
-gCreditsText_TetsujiOhta:: @ 85E6048
- .string "Tetsuji Ohta$"
-
-gCreditsText_HitomiSato:: @ 85E6055
- .string "Hitomi Sato$"
-
-gCreditsText_TakeshiKawachimaru:: @ 85E6061
- .string "Takeshi Kawachimaru$"
-
-gCreditsText_TeruyukiShimoyamada:: @ 85E6075
- .string "Teruyuki Shimoyamada$"
-
-gCreditsText_ShigeruOhmori:: @ 85E608A
- .string "Shigeru Ohmori$"
-
-gCreditsText_TadashiTakahashi:: @ 85E6099
- .string "Tadashi Takahashi$"
-
-gCreditsText_ToshinobuMatsumiya:: @ 85E60AB
- .string "Toshinobu Matsumiya$"
-
-gCreditsText_AkihitoTomisawa:: @ 85E60BF
- .string "Akihito Tomisawa$"
-
-gCreditsText_HirokiEnomoto:: @ 85E60D0
- .string "Hiroki Enomoto$"
-
-gCreditsText_KazuyukiTerada:: @ 85E60DF
- .string "Kazuyuki Terada$"
-
-gCreditsText_YuriSakurai:: @ 85E60EF
- .string "Yuri Sakurai$"
-
-gCreditsText_HiromiSagawa:: @ 85E60FC
- .string "Hiromi Sagawa$"
-
-gCreditsText_KenjiTominaga:: @ 85E610A
- .string "Kenji Tominaga$"
-
-gCreditsText_YoshioTajiri:: @ 85E6119
- .string "Yoshio Tajiri$"
-
-gCreditsText_TeikoSasaki:: @ 85E6127
- .string "Teiko Sasaki$"
-
-gCreditsText_SachikoHamano:: @ 85E6134
- .string "Sachiko Hamano$"
-
-gCreditsText_ChieMatsumiya:: @ 85E6143
- .string "Chie Matsumiya$"
-
-gCreditsText_AkikoShinozaki:: @ 85E6152
- .string "Akiko Shinozaki$"
-
-gCreditsText_AstukoFujii:: @ 85E6162
- .string "Astuko Fujii$"
-
-gCreditsText_NozomuSaito:: @ 85E616F
- .string "Nozomu Saito$"
-
-gCreditsText_KenkichiToyama:: @ 85E617C
- .string "Kenkichi Toyama$"
-
-gCreditsText_SuguruNakatsui:: @ 85E618C
- .string "Suguru Nakatsui$"
-
-gCreditsText_YumiFunasaka:: @ 85E619C
- .string "Yumi Funasaka$"
-
-gCreditsText_NaokoYanase:: @ 85E61AA
- .string "Naoko Yanase$"
-
-gCreditsText_NCLSuperMarioClub:: @ 85E61B7
- .string "NCL Super Mario Club$"
-
-gCreditsText_AtsushiTada:: @ 85E61CC
- .string "Atsushi Tada$"
-
-gCreditsText_TakahiroOhnishi:: @ 85E61D9
- .string "Takahiro Ohnishi$"
-
-gCreditsText_NorihideOkamura:: @ 85E61EA
- .string "Norihide Okamura$"
-
-gCreditsText_HiroNakamura:: @ 85E61FB
- .string "Hiro Nakamura$"
-
-gCreditsText_HiroyukiUesugi:: @ 85E6209
- .string "Hiroyuki Uesugi$"
-
-gCreditsText_TerukiMurakawa:: @ 85E6219
- .string "Teruki Murakawa$"
-
-gCreditsText_AkiraKinashi:: @ 85E6229
- .string "Akira Kinashi$"
-
-gCreditsText_MichikoTakizawa:: @ 85E6237
- .string "Michiko Takizawa$"
-
-gCreditsText_MakikoTakada:: @ 85E6248
- .string "Makiko Takada$"
-
-gCreditsText_TakanaoKondo:: @ 85E6256
- .string "Takanao Kondo$"
-
-gCreditsText_AiMashima:: @ 85E6264
- .string "Ai Mashima$"
-
-gCreditsText_GakujiNomoto:: @ 85E626F
- .string "Gakuji Nomoto$"
-
-gCreditsText_TakehiroIzushi:: @ 85E627D
- .string "Takehiro Izushi$"
-
-gCreditsText_HitoshiYamagami:: @ 85E628D
- .string "Hitoshi Yamagami$"
-
-gCreditsText_KyokoWatanabe:: @ 85E629E
- .string "Kyoko Watanabe$"
-
-gCreditsText_TakaoNakano:: @ 85E62AD
- .string "Takao Nakano$"
-
-gCreditsText_HiroyukiJinnai:: @ 85E62BA
- .string "Hiroyuki Jinnai$"
-
-gCreditsText_HiroakiTsuru:: @ 85E62CA
- .string "Hiroaki Tsuru$"
-
-gCreditsText_TsunekazIshihara:: @ 85E62D8
- .string "Tsunekaz Ishihara$"
-
-gCreditsText_SatoruIwata:: @ 85E62EA
- .string "Satoru Iwata$"
-
-gCreditsText_KazuyaSuyama:: @ 85E62F7
- .string "Kazuya Suyama$"
-
-gCreditsText_SatoshiMitsuhara:: @ 85E6305
- .string "Satoshi Mitsuhara$"
-
-gCreditsText_JapanBrailleLibrary:: @ 85E6317
- .string "Japan Braille Library$"
-
-gCreditsText_TomotakaKomura:: @ 85E632D
- .string "Tomotaka Komura$"
-
-gCreditsText_MikikoOhhashi:: @ 85E633D
- .string "Mikiko Ohhashi$"
-
-gCreditsText_DaisukeHoshino:: @ 85E634C
- .string "Daisuke Hoshino$"
-
-gCreditsText_KenjiroIto:: @ 85E635C
- .string "Kenjiro Ito$"
-
-gCreditsText_RuiKawaguchi:: @ 85E6368
- .string "Rui Kawaguchi$"
-
-gCreditsText_ShunsukeKohori:: @ 85E6376
- .string "Shunsuke Kohori$"
-
-gCreditsText_SachikoNakamichi:: @ 85E6386
- .string "Sachiko Nakamichi$"
-
-gCreditsText_FujikoNomura:: @ 85E6398
- .string "Fujiko Nomura$"
-
-gCreditsText_KazukiYoshihara:: @ 85E63A6
- .string "Kazuki Yoshihara$"
-
-gCreditsText_RetsujiNomoto:: @ 85E63B7
- .string "Retsuji Nomoto$"
-
-gCreditsText_AzusaTajima:: @ 85E63C6
- .string "Azusa Tajima$"
-
-gCreditsText_ShusakuEgami:: @ 85E63D3
- .string "Shusaku Egami$"
-
-gCreditsText_PackageAndManual:: @ 85E63E1
- .string "Package & Manual Illustration$"
-
-gCreditsText_EnglishVersion:: @ 85E63FF
- .string "English Version Coordinators$"
-
-gCreditsText_Translator:: @ 85E641C
- .string "Translator$"
-
-gCreditsText_TextEditor:: @ 85E6427
- .string "Text Editor$"
-
-gCreditsText_NCLCoordinator:: @ 85E6433
- .string "NCL Coordinator$"
-
-gCreditsText_GraphicDesigner:: @ 85E6443
- .string "Graphic Designer$"
-
-gCreditsText_NOAProductTesting:: @ 85E6454
- .string "NOA Product Testing$"
-
-gCreditsText_HideyukiNakajima:: @ 85E6468
- .string "Hideyuki Nakajima$"
-
-gCreditsText_HidenoriSaeki:: @ 85E647A
- .string "Hidenori Saeki$"
-
-gCreditsText_YokoWatanabe:: @ 85E6489
- .string "Yoko Watanabe$"
-
-gCreditsText_SakaeKimura:: @ 85E6497
- .string "Sakae Kimura$"
-
-gCreditsText_ChiakiShinkai:: @ 85E64A4
- .string "Chiaki Shinkai$"
-
-gCreditsText_SethMcMahill:: @ 85E64B3
- .string "Seth McMahill$"
-
-gCreditsText_NobOgasawara:: @ 85E64C1
- .string "Nob Ogasawara$"
-
-gCreditsText_TeresaLillygren:: @ 85E64CF
- .string "Teresa Lillygren$"
-
-gCreditsText_KimikoNakamichi:: @ 85E64E0
- .string "Kimiko Nakamichi$"
-
-gCreditsText_SouichiYamamoto:: @ 85E64F1
- .string "Souichi Yamamoto$"
-
-gCreditsText_YuichiroIto:: @ 85E6502
- .string "Yuichiro Ito$"
-
-gCreditsText_ThomasHertzog:: @ 85E650F
- .string "Thomas Hertzog$"
-
-gCreditsText_MikaKurosawa:: @ 85E651E
- .string "Mika Kurosawa$"
-
-gCreditsText_NationalFederationBlind:: @ 85E652C
- .string "National Federation of the Blind$"
-
-gCreditsText_PatriciaAMaurer:: @ 85E654D
- .string "Patricia A. Maurer$"
-
-gCreditsText_EuropeanBlindUnion:: @ 85E6560
- .string "European Blind Union$"
-
-gCreditsText_AustralianBrailleAuthority:: @ 85E6575
- .string "Australian Braille Authority$"
-
-gCreditsText_RoyalNewZealandFederationBlind:: @ 85E6592
- .string "Royal New Zealand Federation for the Blind$"
-
-gCreditsText_MotoyasuTojima:: @ 85E65BD
- .string "Motoyasu Tojima$"
-
-gCreditsText_NicolaPrattBarlow:: @ 85E65CD
- .string "Nicola Pratt-Barlow$"
-
-gCreditsText_ShellieDow:: @ 85E65E1
- .string "Shellie Dow$"
-
-gCreditsText_ErikJohnson:: @ 85E65ED
- .string "Erik Johnson$"
-
- .align 2
-gCreditsEntry_EmptyString:: @ 85E65FC
- .4byte 0x00000000, gCreditsText_EmptyString
-
- .align 2
-gCreditsEntry_PkmnEmeraldVersion:: @ 85E6604
- .4byte 0x00000107, gCreditsText_PkmnEmeraldVersion
-
- .align 2
-gCreditsEntry_Credits:: @ 85E660C
- .4byte 0x0000010b, gCreditsText_Credits
-
- .align 2
-gCreditsEntry_ExecutiveDirector:: @ 85E6614
- .4byte 0x00000108, gCreditsText_ExecutiveDirector
-
- .align 2
-gCreditsEntry_Director:: @ 85E661C
- .4byte 0x0000010c, gCreditsText_Director
-
- .align 2
-gCreditsEntry_ArtDirector:: @ 85E6624
- .4byte 0x0000010a, gCreditsText_ArtDirector
-
- .align 2
-gCreditsEntry_BattleDirector:: @ 85E662C
- .4byte 0x0000010a, gCreditsText_BattleDirector
-
- .align 2
-gCreditsEntry_MainProgrammer:: @ 85E6634
- .4byte 0x0000010a, gCreditsText_MainProgrammer
-
- .align 2
-gCreditsEntry_BattleSystemPgrms:: @ 85E663C
- .4byte 0x00000108, gCreditsText_BattleSystemPgrms
-
- .align 2
-gCreditsEntry_FieldSystemPgrms:: @ 85E6644
- .4byte 0x00000107, gCreditsText_FieldSystemPgrms
-
- .align 2
-gCreditsEntry_Programmers:: @ 85E664C
- .4byte 0x0000010c, gCreditsText_Programmers
-
- .align 2
-gCreditsEntry_MainGraphicDesigner:: @ 85E6654
- .4byte 0x00000107, gCreditsText_MainGraphicDesigner
-
- .align 2
-gCreditsEntry_GraphicDesigners:: @ 85E665C
- .4byte 0x00000109, gCreditsText_GraphicDesigners
-
- .align 2
-gCreditsEntry_PkmnDesigners:: @ 85E6664
- .4byte 0x0000010a, gCreditsText_PkmnDesigners
-
- .align 2
-gCreditsEntry_MusicComposition:: @ 85E666C
- .4byte 0x0000010d, gCreditsText_MusicComposition
-
- .align 2
-gCreditsEntry_SoundEffectsAndPkmnVoices:: @ 85E6674
- .4byte 0x00000104, gCreditsText_SoundEffectsAndPkmnVoices
-
- .align 2
-gCreditsEntry_GameDesigners:: @ 85E667C
- .4byte 0x0000010b, gCreditsText_GameDesigners
-
- .align 2
-gCreditsEntry_ScenarioPlot:: @ 85E6684
- .4byte 0x0000010b, gCreditsText_ScenarioPlot
-
- .align 2
-gCreditsEntry_Scenario:: @ 85E668C
- .4byte 0x0000010d, gCreditsText_Scenario
-
- .align 2
-gCreditsEntry_ScriptDesigners:: @ 85E6694
- .4byte 0x0000010a, gCreditsText_ScriptDesigners
-
- .align 2
-gCreditsEntry_MapDesigners:: @ 85E669C
- .4byte 0x0000010b, gCreditsText_MapDesigners
-
- .align 2
-gCreditsEntry_MapDataDesigners:: @ 85E66A4
- .4byte 0x00000109, gCreditsText_MapDataDesigners
-
- .align 2
-gCreditsEntry_ParametricDesigners:: @ 85E66AC
- .4byte 0x00000109, gCreditsText_ParametricDesigners
-
- .align 2
-gCreditsEntry_PokedexText:: @ 85E66B4
- .4byte 0x0000010b, gCreditsText_PokedexText
-
- .align 2
-gCreditsEntry_EnvAndToolPgrms:: @ 85E66BC
- .4byte 0x00000106, gCreditsText_EnvAndToolPgrms
-
- .align 2
-gCreditsEntry_NCLProductTesting:: @ 85E66C4
- .4byte 0x0000010b, gCreditsText_NCLProductTesting
-
- .align 2
-gCreditsEntry_SpecialThanks:: @ 85E66CC
- .4byte 0x0000010a, gCreditsText_SpecialThanks
-
- .align 2
-gCreditsEntry_Coordinators:: @ 85E66D4
- .4byte 0x0000010b, gCreditsText_Coordinators
-
- .align 2
-gCreditsEntry_Producers:: @ 85E66DC
- .4byte 0x0000010b, gCreditsText_Producers
-
- .align 2
-gCreditsEntry_ExecProducers:: @ 85E66E4
- .4byte 0x00000107, gCreditsText_ExecProducers
-
- .align 2
-gCreditsEntry_InfoSupervisors:: @ 85E66EC
- .4byte 0x0000010a, gCreditsText_InfoSupervisors
-
- .align 2
-gCreditsEntry_TaskManagers:: @ 85E66F4
- .4byte 0x00000108, gCreditsText_TaskManagers
-
- .align 2
-gCreditsEntry_BrailleCodeCheck:: @ 85E66FC
- .4byte 0x0000010a, gCreditsText_BrailleCodeCheck
-
- .align 2
-gCreditsEntry_WorldDirector:: @ 85E6704
- .4byte 0x0000010a, gCreditsText_WorldDirector
-
- .align 2
-gCreditsEntry_BattleFrontierData:: @ 85E670C
- .4byte 0x00000108, gCreditsText_BattleFrontierData
-
- .align 2
-gCreditsEntry_SupportProgrammers:: @ 85E6714
- .4byte 0x0000010a, gCreditsText_SupportProgrammers
-
- .align 2
-gCreditsEntry_Artwork:: @ 85E671C
- .4byte 0x0000010c, gCreditsText_Artwork
-
- .align 2
-gCreditsEntry_LeadProgrammer:: @ 85E6724
- .4byte 0x0000010a, gCreditsText_LeadProgrammer
-
- .align 2
-gCreditsEntry_LeadGraphicArtist:: @ 85E672C
- .4byte 0x00000109, gCreditsText_LeadGraphicArtist
-
- .align 2
-gCreditsEntry_SatoshiTajiri:: @ 85E6734
- .4byte 0x0000000b, gCreditsText_SatoshiTajiri
-
- .align 2
-gCreditsEntry_JunichiMasuda:: @ 85E673C
- .4byte 0x0000000b, gCreditsText_JunichiMasuda
-
- .align 2
-gCreditsEntry_KenSugimori:: @ 85E6744
- .4byte 0x0000000b, gCreditsText_KenSugimori
-
- .align 2
-gCreditsEntry_ShigekiMorimoto:: @ 85E674C
- .4byte 0x0000000b, gCreditsText_ShigekiMorimoto
-
- .align 2
-gCreditsEntry_TetsuyaWatanabe:: @ 85E6754
- .4byte 0x0000000b, gCreditsText_TetsuyaWatanabe
-
- .align 2
-gCreditsEntry_HisashiSogabe:: @ 85E675C
- .4byte 0x0000000b, gCreditsText_HisashiSogabe
-
- .align 2
-gCreditsEntry_SosukeTamada:: @ 85E6764
- .4byte 0x0000000b, gCreditsText_SosukeTamada
-
- .align 2
-gCreditsEntry_AkitoMori:: @ 85E676C
- .4byte 0x0000000b, gCreditsText_AkitoMori
-
- .align 2
-gCreditsEntry_KeitaKagaya:: @ 85E6774
- .4byte 0x0000000b, gCreditsText_KeitaKagaya
-
- .align 2
-gCreditsEntry_YoshinoriMatsuda:: @ 85E677C
- .4byte 0x0000000b, gCreditsText_YoshinoriMatsuda
-
- .align 2
-gCreditsEntry_HiroyukiNakamura:: @ 85E6784
- .4byte 0x0000000b, gCreditsText_HiroyukiNakamura
-
- .align 2
-gCreditsEntry_MasaoTaya:: @ 85E678C
- .4byte 0x0000000b, gCreditsText_MasaoTaya
-
- .align 2
-gCreditsEntry_SatoshiNohara:: @ 85E6794
- .4byte 0x0000000b, gCreditsText_SatoshiNohara
-
- .align 2
-gCreditsEntry_TomomichiOhta:: @ 85E679C
- .4byte 0x0000000b, gCreditsText_TomomichiOhta
-
- .align 2
-gCreditsEntry_MiyukiIwasawa:: @ 85E67A4
- .4byte 0x0000000b, gCreditsText_MiyukiIwasawa
-
- .align 2
-gCreditsEntry_TakenoriOhta:: @ 85E67AC
- .4byte 0x0000000b, gCreditsText_TakenoriOhta
-
- .align 2
-gCreditsEntry_HironobuYoshida:: @ 85E67B4
- .4byte 0x0000000b, gCreditsText_HironobuYoshida
-
- .align 2
-gCreditsEntry_MotofumiFujiwara:: @ 85E67BC
- .4byte 0x0000000b, gCreditsText_MotofumiFujiwara
-
- .align 2
-gCreditsEntry_SatoshiOhta:: @ 85E67C4
- .4byte 0x0000000b, gCreditsText_SatoshiOhta
-
- .align 2
-gCreditsEntry_AsukaIwashita:: @ 85E67CC
- .4byte 0x0000000b, gCreditsText_AsukaIwashita
-
- .align 2
-gCreditsEntry_AimiTomita:: @ 85E67D4
- .4byte 0x0000000b, gCreditsText_AimiTomita
-
- .align 2
-gCreditsEntry_TakaoUnno:: @ 85E67DC
- .4byte 0x0000000b, gCreditsText_TakaoUnno
-
- .align 2
-gCreditsEntry_KanakoEo:: @ 85E67E4
- .4byte 0x0000000b, gCreditsText_KanakoEo
-
- .align 2
-gCreditsEntry_JunOkutani:: @ 85E67EC
- .4byte 0x0000000b, gCreditsText_JunOkutani
-
- .align 2
-gCreditsEntry_AtsukoNishida:: @ 85E67F4
- .4byte 0x0000000b, gCreditsText_AtsukoNishida
-
- .align 2
-gCreditsEntry_MuneoSaito:: @ 85E67FC
- .4byte 0x0000000b, gCreditsText_MuneoSaito
-
- .align 2
-gCreditsEntry_RenaYoshikawa:: @ 85E6804
- .4byte 0x0000000b, gCreditsText_RenaYoshikawa
-
- .align 2
-gCreditsEntry_GoIchinose:: @ 85E680C
- .4byte 0x0000000b, gCreditsText_GoIchinose
-
- .align 2
-gCreditsEntry_MorikazuAoki:: @ 85E6814
- .4byte 0x0000000b, gCreditsText_MorikazuAoki
-
- .align 2
-gCreditsEntry_KojiNishino:: @ 85E681C
- .4byte 0x0000000b, gCreditsText_KojiNishino
-
- .align 2
-gCreditsEntry_KenjiMatsushima:: @ 85E6824
- .4byte 0x0000000b, gCreditsText_KenjiMatsushima
-
- .align 2
-gCreditsEntry_TetsujiOhta:: @ 85E682C
- .4byte 0x0000000b, gCreditsText_TetsujiOhta
-
- .align 2
-gCreditsEntry_HitomiSato:: @ 85E6834
- .4byte 0x0000000b, gCreditsText_HitomiSato
-
- .align 2
-gCreditsEntry_TakeshiKawachimaru:: @ 85E683C
- .4byte 0x0000000b, gCreditsText_TakeshiKawachimaru
-
- .align 2
-gCreditsEntry_TeruyukiShimoyamada:: @ 85E6844
- .4byte 0x0000000b, gCreditsText_TeruyukiShimoyamada
-
- .align 2
-gCreditsEntry_ShigeruOhmori:: @ 85E684C
- .4byte 0x0000000b, gCreditsText_ShigeruOhmori
-
- .align 2
-gCreditsEntry_TadashiTakahashi:: @ 85E6854
- .4byte 0x0000000b, gCreditsText_TadashiTakahashi
-
- .align 2
-gCreditsEntry_ToshinobuMatsumiya:: @ 85E685C
- .4byte 0x0000000b, gCreditsText_ToshinobuMatsumiya
-
- .align 2
-gCreditsEntry_AkihitoTomisawa:: @ 85E6864
- .4byte 0x0000000b, gCreditsText_AkihitoTomisawa
-
- .align 2
-gCreditsEntry_HirokiEnomoto:: @ 85E686C
- .4byte 0x0000000b, gCreditsText_HirokiEnomoto
-
- .align 2
-gCreditsEntry_KazuyukiTerada:: @ 85E6874
- .4byte 0x0000000b, gCreditsText_KazuyukiTerada
-
- .align 2
-gCreditsEntry_YuriSakurai:: @ 85E687C
- .4byte 0x0000000b, gCreditsText_YuriSakurai
-
- .align 2
-gCreditsEntry_HiromiSagawa:: @ 85E6884
- .4byte 0x0000000b, gCreditsText_HiromiSagawa
-
- .align 2
-gCreditsEntry_KenjiTominaga:: @ 85E688C
- .4byte 0x0000000b, gCreditsText_KenjiTominaga
-
- .align 2
-gCreditsEntry_YoshioTajiri:: @ 85E6894
- .4byte 0x0000000b, gCreditsText_YoshioTajiri
-
- .align 2
-gCreditsEntry_TeikoSasaki:: @ 85E689C
- .4byte 0x0000000b, gCreditsText_TeikoSasaki
-
- .align 2
-gCreditsEntry_SachikoHamano:: @ 85E68A4
- .4byte 0x0000000b, gCreditsText_SachikoHamano
-
- .align 2
-gCreditsEntry_ChieMatsumiya:: @ 85E68AC
- .4byte 0x0000000b, gCreditsText_ChieMatsumiya
-
- .align 2
-gCreditsEntry_AkikoShinozaki:: @ 85E68B4
- .4byte 0x0000000b, gCreditsText_AkikoShinozaki
-
- .align 2
-gCreditsEntry_AstukoFujii:: @ 85E68BC
- .4byte 0x0000000b, gCreditsText_AstukoFujii
-
- .align 2
-gCreditsEntry_NozomuSaito:: @ 85E68C4
- .4byte 0x0000000b, gCreditsText_NozomuSaito
-
- .align 2
-gCreditsEntry_KenkichiToyama:: @ 85E68CC
- .4byte 0x0000000b, gCreditsText_KenkichiToyama
-
- .align 2
-gCreditsEntry_SuguruNakatsui:: @ 85E68D4
- .4byte 0x0000000b, gCreditsText_SuguruNakatsui
-
- .align 2
-gCreditsEntry_YumiFunasaka:: @ 85E68DC
- .4byte 0x0000000b, gCreditsText_YumiFunasaka
-
- .align 2
-gCreditsEntry_NaokoYanase:: @ 85E68E4
- .4byte 0x0000000b, gCreditsText_NaokoYanase
-
- .align 2
-gCreditsEntry_NCLSuperMarioClub:: @ 85E68EC
- .4byte 0x0000000b, gCreditsText_NCLSuperMarioClub
-
- .align 2
-gCreditsEntry_AtsushiTada:: @ 85E68F4
- .4byte 0x0000000b, gCreditsText_AtsushiTada
-
- .align 2
-gCreditsEntry_TakahiroOhnishi:: @ 85E68FC
- .4byte 0x0000000b, gCreditsText_TakahiroOhnishi
-
- .align 2
-gCreditsEntry_NorihideOkamura:: @ 85E6904
- .4byte 0x0000000b, gCreditsText_NorihideOkamura
-
- .align 2
-gCreditsEntry_HiroNakamura:: @ 85E690C
- .4byte 0x0000000b, gCreditsText_HiroNakamura
-
- .align 2
-gCreditsEntry_HiroyukiUesugi:: @ 85E6914
- .4byte 0x0000000b, gCreditsText_HiroyukiUesugi
-
- .align 2
-gCreditsEntry_TerukiMurakawa:: @ 85E691C
- .4byte 0x0000000b, gCreditsText_TerukiMurakawa
-
- .align 2
-gCreditsEntry_AkiraKinashi:: @ 85E6924
- .4byte 0x0000000b, gCreditsText_AkiraKinashi
-
- .align 2
-gCreditsEntry_MichikoTakizawa:: @ 85E692C
- .4byte 0x0000000b, gCreditsText_MichikoTakizawa
-
- .align 2
-gCreditsEntry_MakikoTakada:: @ 85E6934
- .4byte 0x0000000b, gCreditsText_MakikoTakada
-
- .align 2
-gCreditsEntry_TakanaoKondo:: @ 85E693C
- .4byte 0x0000000b, gCreditsText_TakanaoKondo
-
- .align 2
-gCreditsEntry_AiMashima:: @ 85E6944
- .4byte 0x0000000b, gCreditsText_AiMashima
-
- .align 2
-gCreditsEntry_GakujiNomoto:: @ 85E694C
- .4byte 0x0000000b, gCreditsText_GakujiNomoto
-
- .align 2
-gCreditsEntry_TakehiroIzushi:: @ 85E6954
- .4byte 0x0000000b, gCreditsText_TakehiroIzushi
-
- .align 2
-gCreditsEntry_HitoshiYamagami:: @ 85E695C
- .4byte 0x0000000b, gCreditsText_HitoshiYamagami
-
- .align 2
-gCreditsEntry_KyokoWatanabe:: @ 85E6964
- .4byte 0x0000000b, gCreditsText_KyokoWatanabe
-
- .align 2
-gCreditsEntry_TakaoNakano:: @ 85E696C
- .4byte 0x0000000b, gCreditsText_TakaoNakano
-
- .align 2
-gCreditsEntry_HiroyukiJinnai:: @ 85E6974
- .4byte 0x0000000b, gCreditsText_HiroyukiJinnai
-
- .align 2
-gCreditsEntry_HiroakiTsuru:: @ 85E697C
- .4byte 0x0000000b, gCreditsText_HiroakiTsuru
-
- .align 2
-gCreditsEntry_TsunekazIshihara:: @ 85E6984
- .4byte 0x0000000b, gCreditsText_TsunekazIshihara
-
- .align 2
-gCreditsEntry_SatoruIwata:: @ 85E698C
- .4byte 0x0000000b, gCreditsText_SatoruIwata
-
- .align 2
-gCreditsEntry_KazuyaSuyama:: @ 85E6994
- .4byte 0x0000000b, gCreditsText_KazuyaSuyama
-
- .align 2
-gCreditsEntry_SatoshiMitsuhara:: @ 85E699C
- .4byte 0x0000000b, gCreditsText_SatoshiMitsuhara
-
- .align 2
-gCreditsEntry_JapanBrailleLibrary:: @ 85E69A4
- .4byte 0x00000009, gCreditsText_JapanBrailleLibrary
-
- .align 2
-gCreditsEntry_TomotakaKomura:: @ 85E69AC
- .4byte 0x0000000b, gCreditsText_TomotakaKomura
-
- .align 2
-gCreditsEntry_MikikoOhhashi:: @ 85E69B4
- .4byte 0x0000000b, gCreditsText_MikikoOhhashi
-
- .align 2
-gCreditsEntry_DaisukeHoshino:: @ 85E69BC
- .4byte 0x0000000b, gCreditsText_DaisukeHoshino
-
- .align 2
-gCreditsEntry_KenjiroIto:: @ 85E69C4
- .4byte 0x0000000b, gCreditsText_KenjiroIto
-
- .align 2
-gCreditsEntry_RuiKawaguchi:: @ 85E69CC
- .4byte 0x0000000b, gCreditsText_RuiKawaguchi
-
- .align 2
-gCreditsEntry_ShunsukeKohori:: @ 85E69D4
- .4byte 0x0000000b, gCreditsText_ShunsukeKohori
-
- .align 2
-gCreditsEntry_SachikoNakamichi:: @ 85E69DC
- .4byte 0x0000000b, gCreditsText_SachikoNakamichi
-
- .align 2
-gCreditsEntry_FujikoNomura:: @ 85E69E4
- .4byte 0x0000000b, gCreditsText_FujikoNomura
-
- .align 2
-gCreditsEntry_KazukiYoshihara:: @ 85E69EC
- .4byte 0x0000000b, gCreditsText_KazukiYoshihara
-
- .align 2
-gCreditsEntry_RetsujiNomoto:: @ 85E69F4
- .4byte 0x0000000b, gCreditsText_RetsujiNomoto
-
- .align 2
-gCreditsEntry_AzusaTajima:: @ 85E69FC
- .4byte 0x0000000b, gCreditsText_AzusaTajima
-
- .align 2
-gCreditsEntry_ShusakuEgami:: @ 85E6A04
- .4byte 0x0000000b, gCreditsText_ShusakuEgami
-
- .align 2
-gCreditsEntry_PackageAndManual:: @ 85E6A0C
- .4byte 0x00000100, gCreditsText_PackageAndManual
-
- .align 2
-gCreditsEntry_EnglishVersion:: @ 85E6A14
- .4byte 0x00000100, gCreditsText_EnglishVersion
-
- .align 2
-gCreditsEntry_Translator:: @ 85E6A1C
- .4byte 0x00000100, gCreditsText_Translator
-
- .align 2
-gCreditsEntry_TextEditor:: @ 85E6A24
- .4byte 0x00000100, gCreditsText_TextEditor
-
- .align 2
-gCreditsEntry_NCLCoordinator:: @ 85E6A2C
- .4byte 0x00000100, gCreditsText_NCLCoordinator
-
- .align 2
-gCreditsEntry_GraphicDesigner:: @ 85E6A34
- .4byte 0x00000100, gCreditsText_GraphicDesigner
-
- .align 2
-gCreditsEntry_NOAProductTesting:: @ 85E6A3C
- .4byte 0x00000100, gCreditsText_NOAProductTesting
-
- .align 2
-gCreditsEntry_HideyukiNakajima:: @ 85E6A44
- .4byte 0x00000000, gCreditsText_HideyukiNakajima
-
- .align 2
-gCreditsEntry_HidenoriSaeki:: @ 85E6A4C
- .4byte 0x00000000, gCreditsText_HidenoriSaeki
-
- .align 2
-gCreditsEntry_YokoWatanabe:: @ 85E6A54
- .4byte 0x00000000, gCreditsText_YokoWatanabe
-
- .align 2
-gCreditsEntry_SakaeKimura:: @ 85E6A5C
- .4byte 0x00000000, gCreditsText_SakaeKimura
-
- .align 2
-gCreditsEntry_ChiakiShinkai:: @ 85E6A64
- .4byte 0x00000000, gCreditsText_ChiakiShinkai
-
- .align 2
-gCreditsEntry_SethMcMahill:: @ 85E6A6C
- .4byte 0x00000000, gCreditsText_SethMcMahill
-
- .align 2
-gCreditsEntry_NobOgasawara:: @ 85E6A74
- .4byte 0x00000000, gCreditsText_NobOgasawara
-
- .align 2
-gCreditsEntry_TeresaLillygren:: @ 85E6A7C
- .4byte 0x00000000, gCreditsText_TeresaLillygren
-
- .align 2
-gCreditsEntry_KimikoNakamichi:: @ 85E6A84
- .4byte 0x00000000, gCreditsText_KimikoNakamichi
-
- .align 2
-gCreditsEntry_SouichiYamamoto:: @ 85E6A8C
- .4byte 0x00000000, gCreditsText_SouichiYamamoto
-
- .align 2
-gCreditsEntry_YuichiroIto:: @ 85E6A94
- .4byte 0x00000000, gCreditsText_YuichiroIto
-
- .align 2
-gCreditsEntry_ThomasHertzog:: @ 85E6A9C
- .4byte 0x00000000, gCreditsText_ThomasHertzog
-
- .align 2
-gCreditsEntry_MikaKurosawa:: @ 85E6AA4
- .4byte 0x00000000, gCreditsText_MikaKurosawa
-
- .align 2
-gCreditsEntry_NationalFederationBlind:: @ 85E6AAC
- .4byte 0x00000000, gCreditsText_NationalFederationBlind
-
- .align 2
-gCreditsEntry_PatriciaAMaurer:: @ 85E6AB4
- .4byte 0x00000000, gCreditsText_PatriciaAMaurer
-
- .align 2
-gCreditsEntry_EuropeanBlindUnion:: @ 85E6ABC
- .4byte 0x00000000, gCreditsText_EuropeanBlindUnion
-
- .align 2
-gCreditsEntry_AustralianBrailleAuthority:: @ 85E6AC4
- .4byte 0x00000000, gCreditsText_AustralianBrailleAuthority
-
- .align 2
-gCreditsEntry_RoyalNewZealandFederationBlind:: @ 85E6ACC
- .4byte 0x00000000, gCreditsText_RoyalNewZealandFederationBlind
-
- .align 2
-gCreditsEntry_MotoyasuTojima:: @ 85E6AD4
- .4byte 0x00000000, gCreditsText_MotoyasuTojima
-
- .align 2
-gCreditsEntry_NicolaPrattBarlow:: @ 85E6ADC
- .4byte 0x00000000, gCreditsText_NicolaPrattBarlow
-
- .align 2
-gCreditsEntry_ShellieDow:: @ 85E6AE4
- .4byte 0x00000000, gCreditsText_ShellieDow
-
- .align 2
-gCreditsEntry_ErikJohnson:: @ 85E6AEC
- .4byte 0x00000000, gCreditsText_ErikJohnson
-
- .align 2
-gUnknown_085E6AF4:: @ 85E6AF4
- .4byte gCreditsEntry_EmptyString
- .4byte gCreditsEntry_PkmnEmeraldVersion
- .4byte gCreditsEntry_Credits
- .4byte gCreditsEntry_EmptyString
- .4byte gCreditsEntry_EmptyString
-
- .4byte gCreditsEntry_EmptyString
- .4byte gCreditsEntry_Director
- .4byte gCreditsEntry_ShigekiMorimoto
- .4byte gCreditsEntry_EmptyString
- .4byte gCreditsEntry_EmptyString
-
- .4byte gCreditsEntry_EmptyString
- .4byte gCreditsEntry_ArtDirector
- .4byte gCreditsEntry_KenSugimori
- .4byte gCreditsEntry_EmptyString
- .4byte gCreditsEntry_EmptyString
-
- .4byte gCreditsEntry_EmptyString
- .4byte gCreditsEntry_WorldDirector
- .4byte gCreditsEntry_JunichiMasuda
- .4byte gCreditsEntry_EmptyString
- .4byte gCreditsEntry_EmptyString
-
- .4byte gCreditsEntry_LeadProgrammer
- .4byte gCreditsEntry_HisashiSogabe
- .4byte gCreditsEntry_LeadGraphicArtist
- .4byte gCreditsEntry_MotofumiFujiwara
- .4byte gCreditsEntry_EmptyString
-
- .4byte gCreditsEntry_Programmers
- .4byte gCreditsEntry_HisashiSogabe
- .4byte gCreditsEntry_TomomichiOhta
- .4byte gCreditsEntry_NozomuSaito
- .4byte gCreditsEntry_EmptyString
-
- .4byte gCreditsEntry_Programmers
- .4byte gCreditsEntry_AkitoMori
- .4byte gCreditsEntry_HiroyukiNakamura
- .4byte gCreditsEntry_MasaoTaya
- .4byte gCreditsEntry_EmptyString
-
- .4byte gCreditsEntry_Programmers
- .4byte gCreditsEntry_SatoshiNohara
- .4byte gCreditsEntry_MiyukiIwasawa
- .4byte gCreditsEntry_YoshinoriMatsuda
- .4byte gCreditsEntry_KeitaKagaya
-
- .4byte gCreditsEntry_Programmers
- .4byte gCreditsEntry_TetsuyaWatanabe
- .4byte gCreditsEntry_SosukeTamada
- .4byte gCreditsEntry_TakenoriOhta
- .4byte gCreditsEntry_EmptyString
-
- .4byte gCreditsEntry_EmptyString
- .4byte gCreditsEntry_GraphicDesigners
- .4byte gCreditsEntry_MotofumiFujiwara
- .4byte gCreditsEntry_SatoshiOhta
- .4byte gCreditsEntry_EmptyString
-
- .4byte gCreditsEntry_GraphicDesigners
- .4byte gCreditsEntry_KenkichiToyama
- .4byte gCreditsEntry_AsukaIwashita
- .4byte gCreditsEntry_TakaoUnno
- .4byte gCreditsEntry_EmptyString
-
- .4byte gCreditsEntry_GraphicDesigners
- .4byte gCreditsEntry_KenSugimori
- .4byte gCreditsEntry_HironobuYoshida
- .4byte gCreditsEntry_AimiTomita
- .4byte gCreditsEntry_KanakoEo
-
- .4byte gCreditsEntry_MusicComposition
- .4byte gCreditsEntry_GoIchinose
- .4byte gCreditsEntry_JunichiMasuda
- .4byte gCreditsEntry_MorikazuAoki
- .4byte gCreditsEntry_HitomiSato
-
- .4byte gCreditsEntry_EmptyString
- .4byte gCreditsEntry_SoundEffectsAndPkmnVoices
- .4byte gCreditsEntry_GoIchinose
- .4byte gCreditsEntry_MorikazuAoki
- .4byte gCreditsEntry_EmptyString
-
- .4byte gCreditsEntry_GameDesigners
- .4byte gCreditsEntry_ShigekiMorimoto
- .4byte gCreditsEntry_TeruyukiShimoyamada
- .4byte gCreditsEntry_TakeshiKawachimaru
- .4byte gCreditsEntry_AkihitoTomisawa
-
- .4byte gCreditsEntry_GameDesigners
- .4byte gCreditsEntry_SuguruNakatsui
- .4byte gCreditsEntry_TetsujiOhta
- .4byte gCreditsEntry_HitomiSato
- .4byte gCreditsEntry_KenjiMatsushima
-
- .4byte gCreditsEntry_GameDesigners
- .4byte gCreditsEntry_JunichiMasuda
- .4byte gCreditsEntry_KojiNishino
- .4byte gCreditsEntry_ShigeruOhmori
- .4byte gCreditsEntry_TadashiTakahashi
-
- .4byte gCreditsEntry_ScenarioPlot
- .4byte gCreditsEntry_AkihitoTomisawa
- .4byte gCreditsEntry_JunichiMasuda
- .4byte gCreditsEntry_KojiNishino
- .4byte gCreditsEntry_EmptyString
-
- .4byte gCreditsEntry_Scenario
- .4byte gCreditsEntry_AkihitoTomisawa
- .4byte gCreditsEntry_HitomiSato
- .4byte gCreditsEntry_ToshinobuMatsumiya
- .4byte gCreditsEntry_EmptyString
-
- .4byte gCreditsEntry_ScriptDesigners
- .4byte gCreditsEntry_TomomichiOhta
- .4byte gCreditsEntry_SatoshiNohara
- .4byte gCreditsEntry_EmptyString
- .4byte gCreditsEntry_EmptyString
-
- .4byte gCreditsEntry_MapDesigners
- .4byte gCreditsEntry_SuguruNakatsui
- .4byte gCreditsEntry_TeruyukiShimoyamada
- .4byte gCreditsEntry_ShigeruOhmori
- .4byte gCreditsEntry_TetsujiOhta
-
- .4byte gCreditsEntry_EmptyString
- .4byte gCreditsEntry_BattleFrontierData
- .4byte gCreditsEntry_TetsujiOhta
- .4byte gCreditsEntry_EmptyString
- .4byte gCreditsEntry_EmptyString
-
- .4byte gCreditsEntry_ParametricDesigners
- .4byte gCreditsEntry_TeruyukiShimoyamada
- .4byte gCreditsEntry_ShigekiMorimoto
- .4byte gCreditsEntry_TetsujiOhta
- .4byte gCreditsEntry_KojiNishino
-
- .4byte gCreditsEntry_EmptyString
- .4byte gCreditsEntry_PokedexText
- .4byte gCreditsEntry_KenjiMatsushima
- .4byte gCreditsEntry_EmptyString
- .4byte gCreditsEntry_EmptyString
-
- .4byte gCreditsEntry_EnvAndToolPgrms
- .4byte gCreditsEntry_HisashiSogabe
- .4byte gCreditsEntry_SosukeTamada
- .4byte gCreditsEntry_HiroyukiNakamura
- .4byte gCreditsEntry_AkitoMori
-
- .4byte gCreditsEntry_PkmnDesigners
- .4byte gCreditsEntry_KenSugimori
- .4byte gCreditsEntry_MotofumiFujiwara
- .4byte gCreditsEntry_ShigekiMorimoto
- .4byte gCreditsEntry_EmptyString
-
- .4byte gCreditsEntry_PkmnDesigners
- .4byte gCreditsEntry_HironobuYoshida
- .4byte gCreditsEntry_SatoshiOhta
- .4byte gCreditsEntry_AsukaIwashita
- .4byte gCreditsEntry_EmptyString
-
- .4byte gCreditsEntry_PkmnDesigners
- .4byte gCreditsEntry_TakaoUnno
- .4byte gCreditsEntry_KanakoEo
- .4byte gCreditsEntry_AimiTomita
- .4byte gCreditsEntry_EmptyString
-
- .4byte gCreditsEntry_PkmnDesigners
- .4byte gCreditsEntry_AtsukoNishida
- .4byte gCreditsEntry_MuneoSaito
- .4byte gCreditsEntry_RenaYoshikawa
- .4byte gCreditsEntry_JunOkutani
-
- .4byte gCreditsEntry_EmptyString
- .4byte gCreditsEntry_SupportProgrammers
- .4byte gCreditsEntry_SatoshiMitsuhara
- .4byte gCreditsEntry_DaisukeHoshino
- .4byte gCreditsEntry_EmptyString
-
- .4byte gCreditsEntry_EmptyString
- .4byte gCreditsEntry_NCLProductTesting
- .4byte gCreditsEntry_NCLSuperMarioClub
- .4byte gCreditsEntry_EmptyString
- .4byte gCreditsEntry_EmptyString
-
- .4byte gCreditsEntry_EmptyString
- .4byte gCreditsEntry_PackageAndManual
- .4byte gCreditsEntry_KenSugimori
- .4byte gCreditsEntry_EmptyString
- .4byte gCreditsEntry_EmptyString
-
- .4byte gCreditsEntry_EmptyString
- .4byte gCreditsEntry_SpecialThanks
- .4byte gCreditsEntry_KenjiTominaga
- .4byte gCreditsEntry_HirokiEnomoto
- .4byte gCreditsEntry_EmptyString
-
- .4byte gCreditsEntry_SpecialThanks
- .4byte gCreditsEntry_KazuyaSuyama
- .4byte gCreditsEntry_KenjiroIto
- .4byte gCreditsEntry_MichikoTakizawa
- .4byte gCreditsEntry_MakikoTakada
-
- .4byte gCreditsEntry_SpecialThanks
- .4byte gCreditsEntry_MikikoOhhashi
- .4byte gCreditsEntry_TakanaoKondo
- .4byte gCreditsEntry_RuiKawaguchi
- .4byte gCreditsEntry_EmptyString
-
- .4byte gCreditsEntry_SpecialThanks
- .4byte gCreditsEntry_TakahiroOhnishi
- .4byte gCreditsEntry_NorihideOkamura
- .4byte gCreditsEntry_ShunsukeKohori
- .4byte gCreditsEntry_EmptyString
-
- .4byte gCreditsEntry_InfoSupervisors
- .4byte gCreditsEntry_KazuyukiTerada
- .4byte gCreditsEntry_YuriSakurai
- .4byte gCreditsEntry_YumiFunasaka
- .4byte gCreditsEntry_NaokoYanase
-
- .4byte gCreditsEntry_EmptyString
- .4byte gCreditsEntry_Artwork
- .4byte gCreditsEntry_SachikoNakamichi
- .4byte gCreditsEntry_FujikoNomura
- .4byte gCreditsEntry_EmptyString
-
- .4byte gCreditsEntry_EmptyString
- .4byte gCreditsEntry_Artwork
- .4byte gCreditsEntry_HideyukiNakajima
- .4byte gCreditsEntry_HidenoriSaeki
- .4byte gCreditsEntry_EmptyString
-
- .4byte gCreditsEntry_Artwork
- .4byte gCreditsEntry_YokoWatanabe
- .4byte gCreditsEntry_SakaeKimura
- .4byte gCreditsEntry_ChiakiShinkai
- .4byte gCreditsEntry_EmptyString
-
- .4byte gCreditsEntry_Coordinators
- .4byte gCreditsEntry_KazukiYoshihara
- .4byte gCreditsEntry_AkiraKinashi
- .4byte gCreditsEntry_RetsujiNomoto
- .4byte gCreditsEntry_EmptyString
-
- .4byte gCreditsEntry_EmptyString
- .4byte gCreditsEntry_EnglishVersion
- .4byte gCreditsEntry_HiroNakamura
- .4byte gCreditsEntry_SethMcMahill
- .4byte gCreditsEntry_EmptyString
-
- .4byte gCreditsEntry_EmptyString
- .4byte gCreditsEntry_Translator
- .4byte gCreditsEntry_NobOgasawara
- .4byte gCreditsEntry_EmptyString
- .4byte gCreditsEntry_EmptyString
-
- .4byte gCreditsEntry_EmptyString
- .4byte gCreditsEntry_TextEditor
- .4byte gCreditsEntry_TeresaLillygren
- .4byte gCreditsEntry_EmptyString
- .4byte gCreditsEntry_EmptyString
-
- .4byte gCreditsEntry_EmptyString
- .4byte gCreditsEntry_NCLCoordinator
- .4byte gCreditsEntry_KimikoNakamichi
- .4byte gCreditsEntry_EmptyString
- .4byte gCreditsEntry_EmptyString
-
- .4byte gCreditsEntry_Programmers
- .4byte gCreditsEntry_TerukiMurakawa
- .4byte gCreditsEntry_SouichiYamamoto
- .4byte gCreditsEntry_YuichiroIto
- .4byte gCreditsEntry_AkiraKinashi
-
- .4byte gCreditsEntry_EmptyString
- .4byte gCreditsEntry_GraphicDesigner
- .4byte gCreditsEntry_AkiraKinashi
- .4byte gCreditsEntry_EmptyString
- .4byte gCreditsEntry_EmptyString
-
- .4byte gCreditsEntry_EnvAndToolPgrms
- .4byte gCreditsEntry_TerukiMurakawa
- .4byte gCreditsEntry_SouichiYamamoto
- .4byte gCreditsEntry_KimikoNakamichi
- .4byte gCreditsEntry_EmptyString
-
- .4byte gCreditsEntry_NOAProductTesting
- .4byte gCreditsEntry_ThomasHertzog
- .4byte gCreditsEntry_ErikJohnson
- .4byte gCreditsEntry_MikaKurosawa
- .4byte gCreditsEntry_EmptyString
-
- .4byte gCreditsEntry_BrailleCodeCheck
- .4byte gCreditsEntry_NationalFederationBlind
- .4byte gCreditsEntry_PatriciaAMaurer
- .4byte gCreditsEntry_JapanBrailleLibrary
- .4byte gCreditsEntry_EuropeanBlindUnion
-
- .4byte gCreditsEntry_EmptyString
- .4byte gCreditsEntry_BrailleCodeCheck
- .4byte gCreditsEntry_AustralianBrailleAuthority
- .4byte gCreditsEntry_RoyalNewZealandFederationBlind
- .4byte gCreditsEntry_EmptyString
-
- .4byte gCreditsEntry_SpecialThanks
- .4byte gCreditsEntry_HiroyukiUesugi
- .4byte gCreditsEntry_MotoyasuTojima
- .4byte gCreditsEntry_NicolaPrattBarlow
- .4byte gCreditsEntry_ShellieDow
-
- .4byte gCreditsEntry_EmptyString
- .4byte gCreditsEntry_TaskManagers
- .4byte gCreditsEntry_AzusaTajima
- .4byte gCreditsEntry_ShusakuEgami
- .4byte gCreditsEntry_EmptyString
-
- .4byte gCreditsEntry_Producers
- .4byte gCreditsEntry_HiroyukiJinnai
- .4byte gCreditsEntry_HitoshiYamagami
- .4byte gCreditsEntry_GakujiNomoto
- .4byte gCreditsEntry_HiroakiTsuru
-
- .4byte gCreditsEntry_EmptyString
- .4byte gCreditsEntry_ExecutiveDirector
- .4byte gCreditsEntry_SatoshiTajiri
- .4byte gCreditsEntry_EmptyString
- .4byte gCreditsEntry_EmptyString
-
- .4byte gCreditsEntry_EmptyString
- .4byte gCreditsEntry_ExecProducers
- .4byte gCreditsEntry_SatoruIwata
- .4byte gCreditsEntry_EmptyString
- .4byte gCreditsEntry_EmptyString
-
- .4byte gCreditsEntry_EmptyString
- .4byte gCreditsEntry_ExecProducers
- .4byte gCreditsEntry_TsunekazIshihara
- .4byte gCreditsEntry_EmptyString
- .4byte gCreditsEntry_EmptyString
-
- .align 2
-gUnknown_085E6F68:: @ 85E6F68 struct BgTemplate
- .4byte 0x000001C8
-
- .align 2
-gUnknown_085E6F6C:: @ 85E6F6C
- window_template 0x00, 0x00, 0x09, 0x1e, 0x0c, 0x08, 0x0001
- null_window_template
-
- .align 2
-gUnknown_085E6F7C:: @ 85E6F7C
- .byte 0x68, 0x24, 0x78, 0x24, 0x88, 0x24, 0x00, 0x00
-
- .align 2
-gUnknown_085E6F84:: @ 85E6F84
- .2byte 0x0000, 0x0008, 0x0040, 0x0008, 0x0080, 0x0008, 0x00c0, 0x0008, 0xfffe, 0x0000
-
- .align 2
-gUnknown_085E6F98:: @ 85E6F98
- .2byte 0x0000, 0x0004, 0x0040, 0x0004, 0x0080, 0x0004, 0x00c0, 0x0004, 0xfffe, 0x0000
-
- .align 2
-gUnknown_085E6FAC:: @ 85E6FAC
- .2byte 0x0100, 0x0004, 0x0140, 0x0004, 0x0180, 0x0004, 0xffff, 0x0000
-
- .align 2
-gUnknown_085E6FBC:: @ 85E6FBC
- .2byte 0x0180, 0x001e, 0x0140, 0x001e, 0x0100, 0x001e, 0x0100, 0x001e, 0xffff, 0x0000
-
- .align 2
-gUnknown_085E6FD0:: @ 85E6FD0
- .4byte gUnknown_085E6F84
- .4byte gUnknown_085E6F98
- .4byte gUnknown_085E6FAC
- .4byte gUnknown_085E6FBC
-
- .align 2
-gUnknown_085E6FE0:: @ 85E6FE0
- .2byte 0x0000, 0x0008, 0x0040, 0x0008, 0x0080, 0x0008, 0x00c0, 0x0008, 0xfffe, 0x0000
-
- .align 2
-gUnknown_085E6FF4:: @ 85E6FF4
- .2byte 0x0000, 0x0004, 0x0040, 0x0004, 0x0080, 0x0004, 0x00c0, 0x0004, 0xfffe, 0x0000
-
- .align 2
-gUnknown_085E7008:: @ 85E7008
- .2byte 0x0000, 0x0004, 0xffff, 0x0000
-
- .align 2
-gUnknown_085E7010:: @ 85E7010
- .4byte gUnknown_085E6FE0
- .4byte gUnknown_085E6FF4
- .4byte gUnknown_085E7008
-
- .align 2
-gUnknown_085E701C:: @ 85E701C
- obj_tiles gDecompressionBuffer, 0x1800, 0x03E9
- null_obj_tiles
-
- .align 2
-gUnknown_085E702C:: @ 85E702C
- obj_pal gDecompressionBuffer + 0x1800, 0x03E9
- null_obj_pal
-
- .align 2
-gUnknown_085E703C:: @ 85E703C
- .2byte 0x00a0, 0xc000, 0x0400, 0x0000
-
- .align 2
-gUnknown_085E7044:: @ 85E7044
- .2byte 0x0000, 0x0008, 0xffff, 0x0000
-
- .align 2
-gUnknown_085E704C:: @ 85E704C
- .2byte 0x0040, 0x0008, 0xffff, 0x0000
-
- .align 2
-gUnknown_085E7054:: @ 85E7054
- .2byte 0x0080, 0x0008, 0xffff, 0x0000
-
- .align 2
-gUnknown_085E705C:: @ 85E705C
- .4byte gUnknown_085E7044
- .4byte gUnknown_085E704C
- .4byte gUnknown_085E7054
-
- .align 2
-gUnknown_085E7068:: @ 85E7068
- spr_template 0x03e9, 0x03e9, gUnknown_085E703C, gUnknown_085E705C, NULL, gDummySpriteAffineAnimTable, sub_81772B8
diff --git a/data/intro_credits_graphics.s b/data/intro_credits_graphics.s
deleted file mode 100644
index 7c5726eb8..000000000
--- a/data/intro_credits_graphics.s
+++ /dev/null
@@ -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
diff --git a/include/credits.h b/include/credits.h
new file mode 100644
index 000000000..faad1058a
--- /dev/null
+++ b/include/credits.h
@@ -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
diff --git a/include/decompress.h b/include/decompress.h
index b7515250a..34a678cda 100644
--- a/include/decompress.h
+++ b/include/decompress.h
@@ -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_DontHandleDeoxys(const struct CompressedSpriteSheet *src, void *dest, s32 species, u32 personality, bool8 isFrontPic);
-extern u8 gDecompressionBuffer[];
u32 sub_8034974(const u8 *ptr);
#endif // GUARD_DECOMPRESS_H
diff --git a/include/graphics.h b/include/graphics.h
index 770a01ade..e0c9431ac 100644
--- a/include/graphics.h
+++ b/include/graphics.h
@@ -2731,7 +2731,7 @@ extern const u8 gIntro1FlygonGfx[];
extern const u16 gIntro3LightningPal[];
extern const u8 gIntroCopyright_Gfx[];
extern const u8 gIntroCopyright_Tilemap[];
-extern const u16 gIntroCopyright_Pal[];
+extern const u16 gIntroCopyright_Pal[16];
extern const u8 gIntro2VolbeatGfx[];
extern const u8 gIntro2TorchicGfx[];
extern const u8 gIntro2ManectricGfx[];
@@ -2760,4 +2760,14 @@ extern const u8 gIntro3RayquazaGfx[];
extern const u8 gIntro3Clouds2Gfx[];
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
diff --git a/include/intro_credits_graphics.h b/include/intro_credits_graphics.h
index 07c2e51a0..354d62e05 100644
--- a/include/intro_credits_graphics.h
+++ b/include/intro_credits_graphics.h
@@ -10,11 +10,18 @@ extern const struct CompressedSpriteSheet gIntro2MaySpriteSheet[];
extern const struct CompressedSpriteSheet gIntro2BicycleSpriteSheet[];
extern const struct CompressedSpriteSheet gIntro2FlygonSpriteSheet[];
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 sub_817B150(u8 a);
+void sub_817B1C8(u8);
+void sub_817B3A8(u8);
u8 sub_817B3DC(u8 a, u16 b, u16 c, u16 d);
-void sub_817B458(u8);
void sub_817B540(u8);
u8 intro_create_brendan_sprite(s16 a, s16 b);
u8 intro_create_may_sprite(s16 a, s16 b);
diff --git a/include/pokedex.h b/include/pokedex.h
index 236feac45..91968279e 100644
--- a/include/pokedex.h
+++ b/include/pokedex.h
@@ -19,5 +19,6 @@ enum
s8 GetSetPokedexFlag(u16 nationalNum, u8 caseId);
u16 pokedex_count(u8);
u16 sub_80C0844(u8);
+u16 sub_80C0E9C(u16, s16, s16, u16);
#endif // GUARD_POKEDEX_H
diff --git a/include/starter_choose.h b/include/starter_choose.h
index 61bc17735..18af478aa 100644
--- a/include/starter_choose.h
+++ b/include/starter_choose.h
@@ -1,6 +1,11 @@
#ifndef 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);
void CB2_ChooseStarter(void);
diff --git a/ld_script.txt b/ld_script.txt
index 6bae74b38..a79e9c05d 100644
--- a/ld_script.txt
+++ b/ld_script.txt
@@ -223,7 +223,7 @@ SECTIONS {
src/field_region_map.o(.text);
asm/battle_anim_8170478.o(.text);
src/hall_of_fame.o(.text);
- asm/credits.o(.text);
+ src/credits.o(.text);
src/lottery_corner.o(.text);
src/diploma.o(.text);
src/berry_tag_screen.o(.text);
@@ -233,7 +233,6 @@ SECTIONS {
src/pokeblock_feed.o(.text);
src/clear_save_data_screen.o(.text);
src/intro_credits_graphics.o(.text);
- asm/intro_credits_graphics.o(.text);
src/evolution_graphics.o(.text);
src/bard_music.o(.text);
src/fldeff_teleport.o(.text);
@@ -499,7 +498,7 @@ SECTIONS {
src/field_region_map.o(.rodata);
data/battle_anim_8170478.o(.rodata);
src/hall_of_fame.o(.rodata);
- data/credits.o(.rodata);
+ src/credits.o(.rodata);
src/lottery_corner.o(.rodata);
src/diploma.o(.rodata);
data/strings.o(.rodata);
@@ -509,7 +508,7 @@ SECTIONS {
data/braille_puzzles.o(.rodata);
src/pokeblock_feed.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/bard_music.o(.rodata);
data/battle_link_817C95C.o(.rodata);
diff --git a/src/credits.c b/src/credits.c
new file mode 100644
index 000000000..168f3e8a3
--- /dev/null
+++ b/src/credits.c
@@ -0,0 +1,2355 @@
+#include "global.h"
+#include "palette.h"
+#include "main.h"
+#include "task.h"
+#include "bg.h"
+#include "malloc.h"
+#include "window.h"
+#include "text.h"
+#include "menu.h"
+#include "international_string_util.h"
+#include "constants/songs.h"
+#include "gpu_regs.h"
+#include "m4a.h"
+#include "constants/rgb.h"
+#include "battle_dome_cards.h"
+#include "starter_choose.h"
+#include "decompress.h"
+#include "intro_credits_graphics.h"
+#include "sound.h"
+#include "trig.h"
+#include "graphics.h"
+#include "pokedex.h"
+#include "constants/vars.h"
+#include "event_data.h"
+#include "random.h"
+
+enum
+{
+ PAGE_TITLE,
+ PAGE_DIRECTOR,
+ PAGE_ART_DIRECTOR,
+ PAGE_WORLD_DIRECTOR,
+ PAGE_LEAD_PROGRAMMER,
+ PAGE_PROGRAMMERS_1,
+ PAGE_PROGRAMMERS_2,
+ PAGE_PROGRAMMERS_3,
+ PAGE_PROGRAMMERS_4,
+ PAGE_GRAPHIC_DESIGNERS_1,
+ PAGE_GRAPHIC_DESIGNERS_2,
+ PAGE_GRAPHIC_DESIGNERS_3,
+ PAGE_MUSIC_COMPOSITION,
+ PAGE_SOUND_EFFECTS,
+ PAGE_GAME_DESIGNERS_1,
+ PAGE_GAME_DESIGNERS_2,
+ PAGE_GAME_DESIGNERS_3,
+ PAGE_SCENARIO_PLOT,
+ PAGE_SCENARIO,
+ PAGE_SCRIPT_DESIGNERS,
+ PAGE_MAP_DESIGNERS,
+ PAGE_BATTLE_FRONTIER_DATA,
+ PAGE_PARAMETRIC_DESIGNERS,
+ PAGE_POKEDEX_TEXT,
+ PAGE_ENVIRONMENT_AND_TOOL_PROGRAMS_1,
+ PAGE_PKMN_DESIGNERS_1,
+ PAGE_PKMN_DESIGNERS_2,
+ PAGE_PKMN_DESIGNERS_3,
+ PAGE_PKMN_DESIGNERS_4,
+ PAGE_SUPPORT_PROGRAMMERS,
+ PAGE_NCL_PRODUCT_TESTING,
+ PAGE_PACKAGE_AND_MANUAL,
+ PAGE_SPECIAL_THANKS_1,
+ PAGE_SPECIAL_THANKS_2,
+ PAGE_SPECIAL_THANKS_3,
+ PAGE_SPECIAL_THANKS_4,
+ PAGE_INFORMATION_SUPERVISORS,
+ PAGE_ARTWORK_1,
+ PAGE_ARTWORK_2,
+ PAGE_ARTWORK_3,
+ PAGE_COORDINATORS,
+ PAGE_ENGLISH_VERSION,
+ PAGE_TRANSLATOR,
+ PAGE_TEXT_EDITOR,
+ PAGE_NCL_COORDINATOR,
+ PAGE_PROGRAMMERS_5,
+ PAGE_GRAPHIC_DESIGNER,
+ PAGE_ENVIRONMENT_AND_TOOL_PROGRAMS_2,
+ PAGE_NOA_TESTING,
+ PAGE_BRAILLE_CODE_CHECK_1,
+ PAGE_BRAILLE_CODE_CHECK_2,
+ PAGE_SPECIAL_THANKS_5,
+ PAGE_TASK_MANAGERS,
+ PAGE_PRODUCERS,
+ PAGE_EXECUTIVE_DIRECTOR,
+ PAGE_EXECUTIVE_PRODUCERS_1,
+ PAGE_EXECUTIVE_PRODUCERS_2,
+ PAGE_COUNT
+};
+
+#define COLOR_DARK_GREEN RGB(7, 11, 6)
+#define COLOR_LIGHT_GREEN RGB(13, 20, 12)
+
+enum
+{
+ TDA_0 = 0,
+ TDA_TASK_C_ID = 1,
+ TDA_TASK_E_ID = 2,
+ TDA_TASK_D_ID = 3,
+ TDA_4 = 4,
+ TDA_PLAYER_CYCLIST = 5,
+ TDA_RIVAL_CYCLIST = 6,
+ TDA_7 = 7, // Has something to do with the bike scene
+ TDA_11 = 11, // Gets set depending on whether the bike or the grass scene should be shown
+ TDA_12 = 12,
+ TDA_13 = 13,
+ TDA_14 = 14,
+ TDA_TASK_B_ID = 15,
+
+ // Appears to be responsible for text
+ TDB_0 = 0,
+ TDB_TASK_A_ID = 1,
+ TDB_CURRENT_PAGE = 2,
+ TDB_3 = 3,
+
+ TDC_0 = 0,
+ TDC_1 = 1,
+ TDC_2 = 2,
+ TDC_3 = 3,
+ TDC_4 = 4,
+ TDC_5 = 5,
+
+ TDD_STATE = 0,
+ TDD_TASK_A_ID = 1,
+ TDD_2 = 2,
+ TDD_3 = 3,
+
+ TDE_0 = 0,
+ TDE_1 = 1,
+ TDE_TASK_A_ID = 2,
+};
+
+struct Unk201C000
+{
+ u16 unk0[71];
+ u16 unk8E;
+ u16 unk90;
+ u16 unk92;
+ u16 unk94;
+ u16 unk96[386];
+ u16 unk39A;
+ u16 unk39C[7];
+};
+
+struct CreditsEntry
+{
+ u8 var_0;
+ u8 var_1;
+ const u8 *text;
+};
+
+static EWRAM_DATA s16 gUnknown_0203BCE0 = 0;
+static EWRAM_DATA u16 gUnknown_0203BCE2 = 0; // TASK A
+EWRAM_DATA bool8 gHasHallOfFameRecords = 0;
+static EWRAM_DATA u8 gUnknown_0203BCE5 = 0;
+static EWRAM_DATA struct Unk201C000 *gUnknown_0203BCE8 = {0};
+
+static const u16 gUnknown_085E56F0[][16] =
+{
+ INCBIN_U16("graphics/credits/credits_1.gbapal"),
+ INCBIN_U16("graphics/credits/credits_2.gbapal"),
+ INCBIN_U16("graphics/credits/credits_3.gbapal"),
+ INCBIN_U16("graphics/credits/credits_4.gbapal"),
+};
+
+static const u8 gCreditsCopyrightEnd_Gfx[] = INCBIN_U8("graphics/credits/the_end_copyright.4bpp.lz");
+
+static void sub_81772B8(struct Sprite *sprite);
+
+static const u8 gUnknown_085E5BAC[] =
+{
+ 0, 1, 0,
+ 0xFF, 1, 0xFF,
+ 0xFF, 1, 0xFF,
+ 0xFF, 1, 0xFF,
+ 0xFF, 1, 0xFF,
+};
+
+static const u8 gUnknown_085E5BBB[] =
+{
+ 1, 0xFF, 1,
+ 1, 0xFF, 1,
+ 1, 2, 1,
+ 1, 0xFF, 1,
+ 1, 0xFF, 1,
+};
+
+static const u8 gUnknown_085E5BCA[] =
+{
+ 1, 0, 0,
+ 1, 0xFF, 0xFF,
+ 1, 2, 2,
+ 1, 0xFF, 0xFF,
+ 1, 0x80, 0x80,
+};
+
+static const u8 gUnknown_085E5BD9[] =
+{
+ 1, 3, 1,
+ 1, 4, 1,
+ 1, 5, 1,
+ 1, 0xC4, 1,
+ 1, 0xC3, 1,
+};
+
+static const u8 gUnknown_085E5BE8[] =
+{
+ 1, 6, 7,
+ 1, 8, 9,
+ 1, 0xFF, 1,
+ 1, 0x88, 0x89,
+ 1, 0x86, 0x87,
+};
+
+static const u8 gCreditsText_EmptyString[] = _("");
+static const u8 gCreditsText_PkmnEmeraldVersion[] = _("POKéMON EMERALD VERSION");
+static const u8 gCreditsText_Credits[] = _("Credits");
+static const u8 gCreditsText_ExecutiveDirector[] = _("Executive Director");
+static const u8 gCreditsText_Director[] = _("Director");
+static const u8 gCreditsText_ArtDirector[] = _("Art Director");
+static const u8 gCreditsText_BattleDirector[] = _("Battle Director");
+static const u8 gCreditsText_MainProgrammer[] = _("Main Programmer");
+static const u8 gCreditsText_BattleSystemPgrms[] = _("Battle System Programmers");
+static const u8 gCreditsText_FieldSystemPgrms[] = _("Field System Programmer");
+static const u8 gCreditsText_Programmers[] = _("Programmers");
+static const u8 gCreditsText_MainGraphicDesigner[] = _("Main Graphic Designer");
+static const u8 gCreditsText_GraphicDesigners[] = _("Graphic Designers");
+static const u8 gCreditsText_PkmnDesigners[] = _("POKéMON Designers");
+static const u8 gCreditsText_MusicComposition[] = _("Music Composition");
+static const u8 gCreditsText_SoundEffectsAndPkmnVoices[] = _("Sound Effects & POKéMON Voices");
+static const u8 gCreditsText_GameDesigners[] = _("Game Designers");
+static const u8 gCreditsText_ScenarioPlot[] = _("Scenario Plot");
+static const u8 gCreditsText_Scenario[] = _("Scenario");
+static const u8 gCreditsText_ScriptDesigners[] = _("Script Designers");
+static const u8 gCreditsText_MapDesigners[] = _("Map Designers");
+static const u8 gCreditsText_MapDataDesigners[] = _("Map Data Designers");
+static const u8 gCreditsText_ParametricDesigners[] = _("Parametric Designers");
+static const u8 gCreditsText_PokedexText[] = _("POKéDEX Text");
+static const u8 gCreditsText_EnvAndToolPgrms[] = _("Environment & Tool Programmers");
+static const u8 gCreditsText_NCLProductTesting[] = _("NCL Product Testing");
+static const u8 gCreditsText_SpecialThanks[] = _("Special Thanks");
+static const u8 gCreditsText_Coordinators[] = _("Coordinators");
+static const u8 gCreditsText_Producers[] = _("Producers");
+static const u8 gCreditsText_ExecProducers[] = _("Executive Producers");
+static const u8 gCreditsText_InfoSupervisors[] = _("Information Supervisors");
+static const u8 gCreditsText_TaskManagers[] = _("Task Managers");
+static const u8 gCreditsText_BrailleCodeCheck[] = _("Braille Code Check");
+static const u8 gCreditsText_WorldDirector[] = _("World Director");
+static const u8 gCreditsText_BattleFrontierData[] = _("Battle Frontier Data");
+static const u8 gCreditsText_SupportProgrammers[] = _("Support Programmers");
+static const u8 gCreditsText_Artwork[] = _("Artwork");
+static const u8 gCreditsText_LeadProgrammer[] = _("Lead Programmer");
+static const u8 gCreditsText_LeadGraphicArtist[] = _("Lead Graphic Artist");
+static const u8 gCreditsText_SatoshiTajiri[] = _("Satoshi Tajiri");
+static const u8 gCreditsText_JunichiMasuda[] = _("Junichi Masuda");
+static const u8 gCreditsText_KenSugimori[] = _("Ken Sugimori");
+static const u8 gCreditsText_ShigekiMorimoto[] = _("Shigeki Morimoto");
+static const u8 gCreditsText_TetsuyaWatanabe[] = _("Tetsuya Watanabe");
+static const u8 gCreditsText_HisashiSogabe[] = _("Hisashi Sogabe");
+static const u8 gCreditsText_SosukeTamada[] = _("Sosuke Tamada");
+static const u8 gCreditsText_AkitoMori[] = _("Akito Mori");
+static const u8 gCreditsText_KeitaKagaya[] = _("Keita Kagaya");
+static const u8 gCreditsText_YoshinoriMatsuda[] = _("Yoshinori Matsuda");
+static const u8 gCreditsText_HiroyukiNakamura[] = _("Hiroyuki Nakamura");
+static const u8 gCreditsText_MasaoTaya[] = _("Masao Taya");
+static const u8 gCreditsText_SatoshiNohara[] = _("Satoshi Nohara");
+static const u8 gCreditsText_TomomichiOhta[] = _("Tomomichi Ohta");
+static const u8 gCreditsText_MiyukiIwasawa[] = _("Miyuki Iwasawa");
+static const u8 gCreditsText_TakenoriOhta[] = _("Takenori Ohta");
+static const u8 gCreditsText_HironobuYoshida[] = _("Hironobu Yoshida");
+static const u8 gCreditsText_MotofumiFujiwara[] = _("Motofumi Fujiwara");
+static const u8 gCreditsText_SatoshiOhta[] = _("Satoshi Ohta");
+static const u8 gCreditsText_AsukaIwashita[] = _("Asuka Iwashita");
+static const u8 gCreditsText_AimiTomita[] = _("Aimi Tomita");
+static const u8 gCreditsText_TakaoUnno[] = _("Takao Unno");
+static const u8 gCreditsText_KanakoEo[] = _("Kanako Eo");
+static const u8 gCreditsText_JunOkutani[] = _("Jun Okutani");
+static const u8 gCreditsText_AtsukoNishida[] = _("Atsuko Nishida");
+static const u8 gCreditsText_MuneoSaito[] = _("Muneo Saito");
+static const u8 gCreditsText_RenaYoshikawa[] = _("Rena Yoshikawa");
+static const u8 gCreditsText_GoIchinose[] = _("Go Ichinose");
+static const u8 gCreditsText_MorikazuAoki[] = _("Morikazu Aoki");
+static const u8 gCreditsText_KojiNishino[] = _("Koji Nishino");
+static const u8 gCreditsText_KenjiMatsushima[] = _("Kenji Matsushima");
+static const u8 gCreditsText_TetsujiOhta[] = _("Tetsuji Ohta");
+static const u8 gCreditsText_HitomiSato[] = _("Hitomi Sato");
+static const u8 gCreditsText_TakeshiKawachimaru[] = _("Takeshi Kawachimaru");
+static const u8 gCreditsText_TeruyukiShimoyamada[] = _("Teruyuki Shimoyamada");
+static const u8 gCreditsText_ShigeruOhmori[] = _("Shigeru Ohmori");
+static const u8 gCreditsText_TadashiTakahashi[] = _("Tadashi Takahashi");
+static const u8 gCreditsText_ToshinobuMatsumiya[] = _("Toshinobu Matsumiya");
+static const u8 gCreditsText_AkihitoTomisawa[] = _("Akihito Tomisawa");
+static const u8 gCreditsText_HirokiEnomoto[] = _("Hiroki Enomoto");
+static const u8 gCreditsText_KazuyukiTerada[] = _("Kazuyuki Terada");
+static const u8 gCreditsText_YuriSakurai[] = _("Yuri Sakurai");
+static const u8 gCreditsText_HiromiSagawa[] = _("Hiromi Sagawa");
+static const u8 gCreditsText_KenjiTominaga[] = _("Kenji Tominaga");
+static const u8 gCreditsText_YoshioTajiri[] = _("Yoshio Tajiri");
+static const u8 gCreditsText_TeikoSasaki[] = _("Teiko Sasaki");
+static const u8 gCreditsText_SachikoHamano[] = _("Sachiko Hamano");
+static const u8 gCreditsText_ChieMatsumiya[] = _("Chie Matsumiya");
+static const u8 gCreditsText_AkikoShinozaki[] = _("Akiko Shinozaki");
+static const u8 gCreditsText_AstukoFujii[] = _("Astuko Fujii");
+static const u8 gCreditsText_NozomuSaito[] = _("Nozomu Saito");
+static const u8 gCreditsText_KenkichiToyama[] = _("Kenkichi Toyama");
+static const u8 gCreditsText_SuguruNakatsui[] = _("Suguru Nakatsui");
+static const u8 gCreditsText_YumiFunasaka[] = _("Yumi Funasaka");
+static const u8 gCreditsText_NaokoYanase[] = _("Naoko Yanase");
+static const u8 gCreditsText_NCLSuperMarioClub[] = _("NCL Super Mario Club");
+static const u8 gCreditsText_AtsushiTada[] = _("Atsushi Tada");
+static const u8 gCreditsText_TakahiroOhnishi[] = _("Takahiro Ohnishi");
+static const u8 gCreditsText_NorihideOkamura[] = _("Norihide Okamura");
+static const u8 gCreditsText_HiroNakamura[] = _("Hiro Nakamura");
+static const u8 gCreditsText_HiroyukiUesugi[] = _("Hiroyuki Uesugi");
+static const u8 gCreditsText_TerukiMurakawa[] = _("Teruki Murakawa");
+static const u8 gCreditsText_AkiraKinashi[] = _("Akira Kinashi");
+static const u8 gCreditsText_MichikoTakizawa[] = _("Michiko Takizawa");
+static const u8 gCreditsText_MakikoTakada[] = _("Makiko Takada");
+static const u8 gCreditsText_TakanaoKondo[] = _("Takanao Kondo");
+static const u8 gCreditsText_AiMashima[] = _("Ai Mashima");
+static const u8 gCreditsText_GakujiNomoto[] = _("Gakuji Nomoto");
+static const u8 gCreditsText_TakehiroIzushi[] = _("Takehiro Izushi");
+static const u8 gCreditsText_HitoshiYamagami[] = _("Hitoshi Yamagami");
+static const u8 gCreditsText_KyokoWatanabe[] = _("Kyoko Watanabe");
+static const u8 gCreditsText_TakaoNakano[] = _("Takao Nakano");
+static const u8 gCreditsText_HiroyukiJinnai[] = _("Hiroyuki Jinnai");
+static const u8 gCreditsText_HiroakiTsuru[] = _("Hiroaki Tsuru");
+static const u8 gCreditsText_TsunekazIshihara[] = _("Tsunekaz Ishihara");
+static const u8 gCreditsText_SatoruIwata[] = _("Satoru Iwata");
+static const u8 gCreditsText_KazuyaSuyama[] = _("Kazuya Suyama");
+static const u8 gCreditsText_SatoshiMitsuhara[] = _("Satoshi Mitsuhara");
+static const u8 gCreditsText_JapanBrailleLibrary[] = _("Japan Braille Library");
+static const u8 gCreditsText_TomotakaKomura[] = _("Tomotaka Komura");
+static const u8 gCreditsText_MikikoOhhashi[] = _("Mikiko Ohhashi");
+static const u8 gCreditsText_DaisukeHoshino[] = _("Daisuke Hoshino");
+static const u8 gCreditsText_KenjiroIto[] = _("Kenjiro Ito");
+static const u8 gCreditsText_RuiKawaguchi[] = _("Rui Kawaguchi");
+static const u8 gCreditsText_ShunsukeKohori[] = _("Shunsuke Kohori");
+static const u8 gCreditsText_SachikoNakamichi[] = _("Sachiko Nakamichi");
+static const u8 gCreditsText_FujikoNomura[] = _("Fujiko Nomura");
+static const u8 gCreditsText_KazukiYoshihara[] = _("Kazuki Yoshihara");
+static const u8 gCreditsText_RetsujiNomoto[] = _("Retsuji Nomoto");
+static const u8 gCreditsText_AzusaTajima[] = _("Azusa Tajima");
+static const u8 gCreditsText_ShusakuEgami[] = _("Shusaku Egami");
+static const u8 gCreditsText_PackageAndManual[] = _("Package & Manual Illustration");
+static const u8 gCreditsText_EnglishVersion[] = _("English Version Coordinators");
+static const u8 gCreditsText_Translator[] = _("Translator");
+static const u8 gCreditsText_TextEditor[] = _("Text Editor");
+static const u8 gCreditsText_NCLCoordinator[] = _("NCL Coordinator");
+static const u8 gCreditsText_GraphicDesigner[] = _("Graphic Designer");
+static const u8 gCreditsText_NOAProductTesting[] = _("NOA Product Testing");
+static const u8 gCreditsText_HideyukiNakajima[] = _("Hideyuki Nakajima");
+static const u8 gCreditsText_HidenoriSaeki[] = _("Hidenori Saeki");
+static const u8 gCreditsText_YokoWatanabe[] = _("Yoko Watanabe");
+static const u8 gCreditsText_SakaeKimura[] = _("Sakae Kimura");
+static const u8 gCreditsText_ChiakiShinkai[] = _("Chiaki Shinkai");
+static const u8 gCreditsText_SethMcMahill[] = _("Seth McMahill");
+static const u8 gCreditsText_NobOgasawara[] = _("Nob Ogasawara");
+static const u8 gCreditsText_TeresaLillygren[] = _("Teresa Lillygren");
+static const u8 gCreditsText_KimikoNakamichi[] = _("Kimiko Nakamichi");
+static const u8 gCreditsText_SouichiYamamoto[] = _("Souichi Yamamoto");
+static const u8 gCreditsText_YuichiroIto[] = _("Yuichiro Ito");
+static const u8 gCreditsText_ThomasHertzog[] = _("Thomas Hertzog");
+static const u8 gCreditsText_MikaKurosawa[] = _("Mika Kurosawa");
+static const u8 gCreditsText_NationalFederationBlind[] = _("National Federation of the Blind");
+static const u8 gCreditsText_PatriciaAMaurer[] = _("Patricia A. Maurer");
+static const u8 gCreditsText_EuropeanBlindUnion[] = _("European Blind Union");
+static const u8 gCreditsText_AustralianBrailleAuthority[] = _("Australian Braille Authority");
+static const u8 gCreditsText_RoyalNewZealandFederationBlind[] = _("Royal New Zealand Federation for the Blind");
+static const u8 gCreditsText_MotoyasuTojima[] = _("Motoyasu Tojima");
+static const u8 gCreditsText_NicolaPrattBarlow[] = _("Nicola Pratt-Barlow");
+static const u8 gCreditsText_ShellieDow[] = _("Shellie Dow");
+static const u8 gCreditsText_ErikJohnson[] = _("Erik Johnson");
+static const struct CreditsEntry gCreditsEntry_EmptyString[] = {0, 0, gCreditsText_EmptyString};
+static const struct CreditsEntry gCreditsEntry_PkmnEmeraldVersion[] = {7, 1, gCreditsText_PkmnEmeraldVersion};
+static const struct CreditsEntry gCreditsEntry_Credits[] = {11, 1, gCreditsText_Credits};
+static const struct CreditsEntry gCreditsEntry_ExecutiveDirector[] = {8, 1, gCreditsText_ExecutiveDirector};
+static const struct CreditsEntry gCreditsEntry_Director[] = {12, 1, gCreditsText_Director};
+static const struct CreditsEntry gCreditsEntry_ArtDirector[] = {10, 1, gCreditsText_ArtDirector};
+static const struct CreditsEntry gCreditsEntry_BattleDirector[] = {10, 1, gCreditsText_BattleDirector};
+static const struct CreditsEntry gCreditsEntry_MainProgrammer[] = {10, 1, gCreditsText_MainProgrammer};
+static const struct CreditsEntry gCreditsEntry_BattleSystemPgrms[] = {8, 1, gCreditsText_BattleSystemPgrms};
+static const struct CreditsEntry gCreditsEntry_FieldSystemPgrms[] = {7, 1, gCreditsText_FieldSystemPgrms};
+static const struct CreditsEntry gCreditsEntry_Programmers[] = {12, 1, gCreditsText_Programmers};
+static const struct CreditsEntry gCreditsEntry_MainGraphicDesigner[] = {7, 1, gCreditsText_MainGraphicDesigner};
+static const struct CreditsEntry gCreditsEntry_GraphicDesigners[] = {9, 1, gCreditsText_GraphicDesigners};
+static const struct CreditsEntry gCreditsEntry_PkmnDesigners[] = {10, 1, gCreditsText_PkmnDesigners};
+static const struct CreditsEntry gCreditsEntry_MusicComposition[] = {13, 1, gCreditsText_MusicComposition};
+static const struct CreditsEntry gCreditsEntry_SoundEffectsAndPkmnVoices[] = {4, 1, gCreditsText_SoundEffectsAndPkmnVoices};
+static const struct CreditsEntry gCreditsEntry_GameDesigners[] = {11, 1, gCreditsText_GameDesigners};
+static const struct CreditsEntry gCreditsEntry_ScenarioPlot[] = {11, 1, gCreditsText_ScenarioPlot};
+static const struct CreditsEntry gCreditsEntry_Scenario[] = {13, 1, gCreditsText_Scenario};
+static const struct CreditsEntry gCreditsEntry_ScriptDesigners[] = {10, 1, gCreditsText_ScriptDesigners};
+static const struct CreditsEntry gCreditsEntry_MapDesigners[] = {11, 1, gCreditsText_MapDesigners};
+static const struct CreditsEntry gCreditsEntry_MapDataDesigners[] = {9, 1, gCreditsText_MapDataDesigners};
+static const struct CreditsEntry gCreditsEntry_ParametricDesigners[] = {9, 1, gCreditsText_ParametricDesigners};
+static const struct CreditsEntry gCreditsEntry_PokedexText[] = {11, 1, gCreditsText_PokedexText};
+static const struct CreditsEntry gCreditsEntry_EnvAndToolPgrms[] = {6, 1, gCreditsText_EnvAndToolPgrms};
+static const struct CreditsEntry gCreditsEntry_NCLProductTesting[] = {11, 1, gCreditsText_NCLProductTesting};
+static const struct CreditsEntry gCreditsEntry_SpecialThanks[] = {10, 1, gCreditsText_SpecialThanks};
+static const struct CreditsEntry gCreditsEntry_Coordinators[] = {11, 1, gCreditsText_Coordinators};
+static const struct CreditsEntry gCreditsEntry_Producers[] = {11, 1, gCreditsText_Producers};
+static const struct CreditsEntry gCreditsEntry_ExecProducers[] = {7, 1, gCreditsText_ExecProducers};
+static const struct CreditsEntry gCreditsEntry_InfoSupervisors[] = {10, 1, gCreditsText_InfoSupervisors};
+static const struct CreditsEntry gCreditsEntry_TaskManagers[] = {8, 1, gCreditsText_TaskManagers};
+static const struct CreditsEntry gCreditsEntry_BrailleCodeCheck[] = {10, 1, gCreditsText_BrailleCodeCheck};
+static const struct CreditsEntry gCreditsEntry_WorldDirector[] = {10, 1, gCreditsText_WorldDirector};
+static const struct CreditsEntry gCreditsEntry_BattleFrontierData[] = {8, 1, gCreditsText_BattleFrontierData};
+static const struct CreditsEntry gCreditsEntry_SupportProgrammers[] = {10, 1, gCreditsText_SupportProgrammers};
+static const struct CreditsEntry gCreditsEntry_Artwork[] = {12, 1, gCreditsText_Artwork};
+static const struct CreditsEntry gCreditsEntry_LeadProgrammer[] = {10, 1, gCreditsText_LeadProgrammer};
+static const struct CreditsEntry gCreditsEntry_LeadGraphicArtist[] = {9, 1, gCreditsText_LeadGraphicArtist};
+static const struct CreditsEntry gCreditsEntry_SatoshiTajiri[] = {11, 0, gCreditsText_SatoshiTajiri};
+static const struct CreditsEntry gCreditsEntry_JunichiMasuda[] = {11, 0, gCreditsText_JunichiMasuda};
+static const struct CreditsEntry gCreditsEntry_KenSugimori[] = {11, 0, gCreditsText_KenSugimori};
+static const struct CreditsEntry gCreditsEntry_ShigekiMorimoto[] = {11, 0, gCreditsText_ShigekiMorimoto};
+static const struct CreditsEntry gCreditsEntry_TetsuyaWatanabe[] = {11, 0, gCreditsText_TetsuyaWatanabe};
+static const struct CreditsEntry gCreditsEntry_HisashiSogabe[] = {11, 0, gCreditsText_HisashiSogabe};
+static const struct CreditsEntry gCreditsEntry_SosukeTamada[] = {11, 0, gCreditsText_SosukeTamada};
+static const struct CreditsEntry gCreditsEntry_AkitoMori[] = {11, 0, gCreditsText_AkitoMori};
+static const struct CreditsEntry gCreditsEntry_KeitaKagaya[] = {11, 0, gCreditsText_KeitaKagaya};
+static const struct CreditsEntry gCreditsEntry_YoshinoriMatsuda[] = {11, 0, gCreditsText_YoshinoriMatsuda};
+static const struct CreditsEntry gCreditsEntry_HiroyukiNakamura[] = {11, 0, gCreditsText_HiroyukiNakamura};
+static const struct CreditsEntry gCreditsEntry_MasaoTaya[] = {11, 0, gCreditsText_MasaoTaya};
+static const struct CreditsEntry gCreditsEntry_SatoshiNohara[] = {11, 0, gCreditsText_SatoshiNohara};
+static const struct CreditsEntry gCreditsEntry_TomomichiOhta[] = {11, 0, gCreditsText_TomomichiOhta};
+static const struct CreditsEntry gCreditsEntry_MiyukiIwasawa[] = {11, 0, gCreditsText_MiyukiIwasawa};
+static const struct CreditsEntry gCreditsEntry_TakenoriOhta[] = {11, 0, gCreditsText_TakenoriOhta};
+static const struct CreditsEntry gCreditsEntry_HironobuYoshida[] = {11, 0, gCreditsText_HironobuYoshida};
+static const struct CreditsEntry gCreditsEntry_MotofumiFujiwara[] = {11, 0, gCreditsText_MotofumiFujiwara};
+static const struct CreditsEntry gCreditsEntry_SatoshiOhta[] = {11, 0, gCreditsText_SatoshiOhta};
+static const struct CreditsEntry gCreditsEntry_AsukaIwashita[] = {11, 0, gCreditsText_AsukaIwashita};
+static const struct CreditsEntry gCreditsEntry_AimiTomita[] = {11, 0, gCreditsText_AimiTomita};
+static const struct CreditsEntry gCreditsEntry_TakaoUnno[] = {11, 0, gCreditsText_TakaoUnno};
+static const struct CreditsEntry gCreditsEntry_KanakoEo[] = {11, 0, gCreditsText_KanakoEo};
+static const struct CreditsEntry gCreditsEntry_JunOkutani[] = {11, 0, gCreditsText_JunOkutani};
+static const struct CreditsEntry gCreditsEntry_AtsukoNishida[] = {11, 0, gCreditsText_AtsukoNishida};
+static const struct CreditsEntry gCreditsEntry_MuneoSaito[] = {11, 0, gCreditsText_MuneoSaito};
+static const struct CreditsEntry gCreditsEntry_RenaYoshikawa[] = {11, 0, gCreditsText_RenaYoshikawa};
+static const struct CreditsEntry gCreditsEntry_GoIchinose[] = {11, 0, gCreditsText_GoIchinose};
+static const struct CreditsEntry gCreditsEntry_MorikazuAoki[] = {11, 0, gCreditsText_MorikazuAoki};
+static const struct CreditsEntry gCreditsEntry_KojiNishino[] = {11, 0, gCreditsText_KojiNishino};
+static const struct CreditsEntry gCreditsEntry_KenjiMatsushima[] = {11, 0, gCreditsText_KenjiMatsushima};
+static const struct CreditsEntry gCreditsEntry_TetsujiOhta[] = {11, 0, gCreditsText_TetsujiOhta};
+static const struct CreditsEntry gCreditsEntry_HitomiSato[] = {11, 0, gCreditsText_HitomiSato};
+static const struct CreditsEntry gCreditsEntry_TakeshiKawachimaru[] = {11, 0, gCreditsText_TakeshiKawachimaru};
+static const struct CreditsEntry gCreditsEntry_TeruyukiShimoyamada[] = {11, 0, gCreditsText_TeruyukiShimoyamada};
+static const struct CreditsEntry gCreditsEntry_ShigeruOhmori[] = {11, 0, gCreditsText_ShigeruOhmori};
+static const struct CreditsEntry gCreditsEntry_TadashiTakahashi[] = {11, 0, gCreditsText_TadashiTakahashi};
+static const struct CreditsEntry gCreditsEntry_ToshinobuMatsumiya[] = {11, 0, gCreditsText_ToshinobuMatsumiya};
+static const struct CreditsEntry gCreditsEntry_AkihitoTomisawa[] = {11, 0, gCreditsText_AkihitoTomisawa};
+static const struct CreditsEntry gCreditsEntry_HirokiEnomoto[] = {11, 0, gCreditsText_HirokiEnomoto};
+static const struct CreditsEntry gCreditsEntry_KazuyukiTerada[] = {11, 0, gCreditsText_KazuyukiTerada};
+static const struct CreditsEntry gCreditsEntry_YuriSakurai[] = {11, 0, gCreditsText_YuriSakurai};
+static const struct CreditsEntry gCreditsEntry_HiromiSagawa[] = {11, 0, gCreditsText_HiromiSagawa};
+static const struct CreditsEntry gCreditsEntry_KenjiTominaga[] = {11, 0, gCreditsText_KenjiTominaga};
+static const struct CreditsEntry gCreditsEntry_YoshioTajiri[] = {11, 0, gCreditsText_YoshioTajiri};
+static const struct CreditsEntry gCreditsEntry_TeikoSasaki[] = {11, 0, gCreditsText_TeikoSasaki};
+static const struct CreditsEntry gCreditsEntry_SachikoHamano[] = {11, 0, gCreditsText_SachikoHamano};
+static const struct CreditsEntry gCreditsEntry_ChieMatsumiya[] = {11, 0, gCreditsText_ChieMatsumiya};
+static const struct CreditsEntry gCreditsEntry_AkikoShinozaki[] = {11, 0, gCreditsText_AkikoShinozaki};
+static const struct CreditsEntry gCreditsEntry_AstukoFujii[] = {11, 0, gCreditsText_AstukoFujii};
+static const struct CreditsEntry gCreditsEntry_NozomuSaito[] = {11, 0, gCreditsText_NozomuSaito};
+static const struct CreditsEntry gCreditsEntry_KenkichiToyama[] = {11, 0, gCreditsText_KenkichiToyama};
+static const struct CreditsEntry gCreditsEntry_SuguruNakatsui[] = {11, 0, gCreditsText_SuguruNakatsui};
+static const struct CreditsEntry gCreditsEntry_YumiFunasaka[] = {11, 0, gCreditsText_YumiFunasaka};
+static const struct CreditsEntry gCreditsEntry_NaokoYanase[] = {11, 0, gCreditsText_NaokoYanase};
+static const struct CreditsEntry gCreditsEntry_NCLSuperMarioClub[] = {11, 0, gCreditsText_NCLSuperMarioClub};
+static const struct CreditsEntry gCreditsEntry_AtsushiTada[] = {11, 0, gCreditsText_AtsushiTada};
+static const struct CreditsEntry gCreditsEntry_TakahiroOhnishi[] = {11, 0, gCreditsText_TakahiroOhnishi};
+static const struct CreditsEntry gCreditsEntry_NorihideOkamura[] = {11, 0, gCreditsText_NorihideOkamura};
+static const struct CreditsEntry gCreditsEntry_HiroNakamura[] = {11, 0, gCreditsText_HiroNakamura};
+static const struct CreditsEntry gCreditsEntry_HiroyukiUesugi[] = {11, 0, gCreditsText_HiroyukiUesugi};
+static const struct CreditsEntry gCreditsEntry_TerukiMurakawa[] = {11, 0, gCreditsText_TerukiMurakawa};
+static const struct CreditsEntry gCreditsEntry_AkiraKinashi[] = {11, 0, gCreditsText_AkiraKinashi};
+static const struct CreditsEntry gCreditsEntry_MichikoTakizawa[] = {11, 0, gCreditsText_MichikoTakizawa};
+static const struct CreditsEntry gCreditsEntry_MakikoTakada[] = {11, 0, gCreditsText_MakikoTakada};
+static const struct CreditsEntry gCreditsEntry_TakanaoKondo[] = {11, 0, gCreditsText_TakanaoKondo};
+static const struct CreditsEntry gCreditsEntry_AiMashima[] = {11, 0, gCreditsText_AiMashima};
+static const struct CreditsEntry gCreditsEntry_GakujiNomoto[] = {11, 0, gCreditsText_GakujiNomoto};
+static const struct CreditsEntry gCreditsEntry_TakehiroIzushi[] = {11, 0, gCreditsText_TakehiroIzushi};
+static const struct CreditsEntry gCreditsEntry_HitoshiYamagami[] = {11, 0, gCreditsText_HitoshiYamagami};
+static const struct CreditsEntry gCreditsEntry_KyokoWatanabe[] = {11, 0, gCreditsText_KyokoWatanabe};
+static const struct CreditsEntry gCreditsEntry_TakaoNakano[] = {11, 0, gCreditsText_TakaoNakano};
+static const struct CreditsEntry gCreditsEntry_HiroyukiJinnai[] = {11, 0, gCreditsText_HiroyukiJinnai};
+static const struct CreditsEntry gCreditsEntry_HiroakiTsuru[] = {11, 0, gCreditsText_HiroakiTsuru};
+static const struct CreditsEntry gCreditsEntry_TsunekazIshihara[] = {11, 0, gCreditsText_TsunekazIshihara};
+static const struct CreditsEntry gCreditsEntry_SatoruIwata[] = {11, 0, gCreditsText_SatoruIwata};
+static const struct CreditsEntry gCreditsEntry_KazuyaSuyama[] = {11, 0, gCreditsText_KazuyaSuyama};
+static const struct CreditsEntry gCreditsEntry_SatoshiMitsuhara[] = {11, 0, gCreditsText_SatoshiMitsuhara};
+static const struct CreditsEntry gCreditsEntry_JapanBrailleLibrary[] = {9, 0, gCreditsText_JapanBrailleLibrary};
+static const struct CreditsEntry gCreditsEntry_TomotakaKomura[] = {11, 0, gCreditsText_TomotakaKomura};
+static const struct CreditsEntry gCreditsEntry_MikikoOhhashi[] = {11, 0, gCreditsText_MikikoOhhashi};
+static const struct CreditsEntry gCreditsEntry_DaisukeHoshino[] = {11, 0, gCreditsText_DaisukeHoshino};
+static const struct CreditsEntry gCreditsEntry_KenjiroIto[] = {11, 0, gCreditsText_KenjiroIto};
+static const struct CreditsEntry gCreditsEntry_RuiKawaguchi[] = {11, 0, gCreditsText_RuiKawaguchi};
+static const struct CreditsEntry gCreditsEntry_ShunsukeKohori[] = {11, 0, gCreditsText_ShunsukeKohori};
+static const struct CreditsEntry gCreditsEntry_SachikoNakamichi[] = {11, 0, gCreditsText_SachikoNakamichi};
+static const struct CreditsEntry gCreditsEntry_FujikoNomura[] = {11, 0, gCreditsText_FujikoNomura};
+static const struct CreditsEntry gCreditsEntry_KazukiYoshihara[] = {11, 0, gCreditsText_KazukiYoshihara};
+static const struct CreditsEntry gCreditsEntry_RetsujiNomoto[] = {11, 0, gCreditsText_RetsujiNomoto};
+static const struct CreditsEntry gCreditsEntry_AzusaTajima[] = {11, 0, gCreditsText_AzusaTajima};
+static const struct CreditsEntry gCreditsEntry_ShusakuEgami[] = {11, 0, gCreditsText_ShusakuEgami};
+static const struct CreditsEntry gCreditsEntry_PackageAndManual[] = {0, 1, gCreditsText_PackageAndManual};
+static const struct CreditsEntry gCreditsEntry_EnglishVersion[] = {0, 1, gCreditsText_EnglishVersion};
+static const struct CreditsEntry gCreditsEntry_Translator[] = {0, 1, gCreditsText_Translator};
+static const struct CreditsEntry gCreditsEntry_TextEditor[] = {0, 1, gCreditsText_TextEditor};
+static const struct CreditsEntry gCreditsEntry_NCLCoordinator[] = {0, 1, gCreditsText_NCLCoordinator};
+static const struct CreditsEntry gCreditsEntry_GraphicDesigner[] = {0, 1, gCreditsText_GraphicDesigner};
+static const struct CreditsEntry gCreditsEntry_NOAProductTesting[] = {0, 1, gCreditsText_NOAProductTesting};
+static const struct CreditsEntry gCreditsEntry_HideyukiNakajima[] = {0, 0, gCreditsText_HideyukiNakajima};
+static const struct CreditsEntry gCreditsEntry_HidenoriSaeki[] = {0, 0, gCreditsText_HidenoriSaeki};
+static const struct CreditsEntry gCreditsEntry_YokoWatanabe[] = {0, 0, gCreditsText_YokoWatanabe};
+static const struct CreditsEntry gCreditsEntry_SakaeKimura[] = {0, 0, gCreditsText_SakaeKimura};
+static const struct CreditsEntry gCreditsEntry_ChiakiShinkai[] = {0, 0, gCreditsText_ChiakiShinkai};
+static const struct CreditsEntry gCreditsEntry_SethMcMahill[] = {0, 0, gCreditsText_SethMcMahill};
+static const struct CreditsEntry gCreditsEntry_NobOgasawara[] = {0, 0, gCreditsText_NobOgasawara};
+static const struct CreditsEntry gCreditsEntry_TeresaLillygren[] = {0, 0, gCreditsText_TeresaLillygren};
+static const struct CreditsEntry gCreditsEntry_KimikoNakamichi[] = {0, 0, gCreditsText_KimikoNakamichi};
+static const struct CreditsEntry gCreditsEntry_SouichiYamamoto[] = {0, 0, gCreditsText_SouichiYamamoto};
+static const struct CreditsEntry gCreditsEntry_YuichiroIto[] = {0, 0, gCreditsText_YuichiroIto};
+static const struct CreditsEntry gCreditsEntry_ThomasHertzog[] = {0, 0, gCreditsText_ThomasHertzog};
+static const struct CreditsEntry gCreditsEntry_MikaKurosawa[] = {0, 0, gCreditsText_MikaKurosawa};
+static const struct CreditsEntry gCreditsEntry_NationalFederationBlind[] = {0, 0, gCreditsText_NationalFederationBlind};
+static const struct CreditsEntry gCreditsEntry_PatriciaAMaurer[] = {0, 0, gCreditsText_PatriciaAMaurer};
+static const struct CreditsEntry gCreditsEntry_EuropeanBlindUnion[] = {0, 0, gCreditsText_EuropeanBlindUnion};
+static const struct CreditsEntry gCreditsEntry_AustralianBrailleAuthority[] = {0, 0, gCreditsText_AustralianBrailleAuthority};
+static const struct CreditsEntry gCreditsEntry_RoyalNewZealandFederationBlind[] = {0, 0, gCreditsText_RoyalNewZealandFederationBlind};
+static const struct CreditsEntry gCreditsEntry_MotoyasuTojima[] = {0, 0, gCreditsText_MotoyasuTojima};
+static const struct CreditsEntry gCreditsEntry_NicolaPrattBarlow[] = {0, 0, gCreditsText_NicolaPrattBarlow};
+static const struct CreditsEntry gCreditsEntry_ShellieDow[] = {0, 0, gCreditsText_ShellieDow};
+static const struct CreditsEntry gCreditsEntry_ErikJohnson[] = {0, 0, gCreditsText_ErikJohnson};
+
+#define _ gCreditsEntry_EmptyString
+static const struct CreditsEntry *const gCreditsEntryPointerTable[][5] =
+{
+ {
+ _,
+ gCreditsEntry_PkmnEmeraldVersion,
+ gCreditsEntry_Credits,
+ _,
+ _
+ },
+ {
+ _,
+ gCreditsEntry_Director,
+ gCreditsEntry_ShigekiMorimoto,
+ _,
+ _,
+ },
+ {
+ _,
+ gCreditsEntry_ArtDirector,
+ gCreditsEntry_KenSugimori,
+ _,
+ _,
+ },
+ {
+ _,
+ gCreditsEntry_WorldDirector,
+ gCreditsEntry_JunichiMasuda,
+ _,
+ _,
+ },
+ {
+ gCreditsEntry_LeadProgrammer,
+ gCreditsEntry_HisashiSogabe,
+ gCreditsEntry_LeadGraphicArtist,
+ gCreditsEntry_MotofumiFujiwara,
+ _,
+ },
+ {
+ gCreditsEntry_Programmers,
+ gCreditsEntry_HisashiSogabe,
+ gCreditsEntry_TomomichiOhta,
+ gCreditsEntry_NozomuSaito,
+ gCreditsEntry_EmptyString,
+ },
+ {
+ gCreditsEntry_Programmers,
+ gCreditsEntry_AkitoMori,
+ gCreditsEntry_HiroyukiNakamura,
+ gCreditsEntry_MasaoTaya,
+ _,
+ },
+ {
+ gCreditsEntry_Programmers,
+ gCreditsEntry_SatoshiNohara,
+ gCreditsEntry_MiyukiIwasawa,
+ gCreditsEntry_YoshinoriMatsuda,
+ gCreditsEntry_KeitaKagaya,
+ },
+ {
+ gCreditsEntry_Programmers,
+ gCreditsEntry_TetsuyaWatanabe,
+ gCreditsEntry_SosukeTamada,
+ gCreditsEntry_TakenoriOhta,
+ _,
+ },
+ {
+ _,
+ gCreditsEntry_GraphicDesigners,
+ gCreditsEntry_MotofumiFujiwara,
+ gCreditsEntry_SatoshiOhta,
+ _,
+ },
+ {
+ gCreditsEntry_GraphicDesigners,
+ gCreditsEntry_KenkichiToyama,
+ gCreditsEntry_AsukaIwashita,
+ gCreditsEntry_TakaoUnno,
+ _,
+ },
+ {
+ gCreditsEntry_GraphicDesigners,
+ gCreditsEntry_KenSugimori,
+ gCreditsEntry_HironobuYoshida,
+ gCreditsEntry_AimiTomita,
+ gCreditsEntry_KanakoEo,
+ },
+ {
+ gCreditsEntry_MusicComposition,
+ gCreditsEntry_GoIchinose,
+ gCreditsEntry_JunichiMasuda,
+ gCreditsEntry_MorikazuAoki,
+ gCreditsEntry_HitomiSato,
+ },
+ {
+ _,
+ gCreditsEntry_SoundEffectsAndPkmnVoices,
+ gCreditsEntry_GoIchinose,
+ gCreditsEntry_MorikazuAoki,
+ _,
+ },
+ {
+ gCreditsEntry_GameDesigners,
+ gCreditsEntry_ShigekiMorimoto,
+ gCreditsEntry_TeruyukiShimoyamada,
+ gCreditsEntry_TakeshiKawachimaru,
+ gCreditsEntry_AkihitoTomisawa,
+ },
+ {
+ gCreditsEntry_GameDesigners,
+ gCreditsEntry_SuguruNakatsui,
+ gCreditsEntry_TetsujiOhta,
+ gCreditsEntry_HitomiSato,
+ gCreditsEntry_KenjiMatsushima,
+ },
+ {
+ gCreditsEntry_GameDesigners,
+ gCreditsEntry_JunichiMasuda,
+ gCreditsEntry_KojiNishino,
+ gCreditsEntry_ShigeruOhmori,
+ gCreditsEntry_TadashiTakahashi,
+ },
+ {
+ gCreditsEntry_ScenarioPlot,
+ gCreditsEntry_AkihitoTomisawa,
+ gCreditsEntry_JunichiMasuda,
+ gCreditsEntry_KojiNishino,
+ _,
+ },
+ {
+ gCreditsEntry_Scenario,
+ gCreditsEntry_AkihitoTomisawa,
+ gCreditsEntry_HitomiSato,
+ gCreditsEntry_ToshinobuMatsumiya,
+ _,
+ },
+ {
+ gCreditsEntry_ScriptDesigners,
+ gCreditsEntry_TomomichiOhta,
+ gCreditsEntry_SatoshiNohara,
+ _,
+ _,
+ },
+ {
+ gCreditsEntry_MapDesigners,
+ gCreditsEntry_SuguruNakatsui,
+ gCreditsEntry_TeruyukiShimoyamada,
+ gCreditsEntry_ShigeruOhmori,
+ gCreditsEntry_TetsujiOhta,
+ },
+ {
+ _,
+ gCreditsEntry_BattleFrontierData,
+ gCreditsEntry_TetsujiOhta,
+ _,
+ _,
+ },
+ {
+ gCreditsEntry_ParametricDesigners,
+ gCreditsEntry_TeruyukiShimoyamada,
+ gCreditsEntry_ShigekiMorimoto,
+ gCreditsEntry_TetsujiOhta,
+ gCreditsEntry_KojiNishino,
+ },
+ {
+ _,
+ gCreditsEntry_PokedexText,
+ gCreditsEntry_KenjiMatsushima,
+ _,
+ _,
+ },
+ {
+ gCreditsEntry_EnvAndToolPgrms,
+ gCreditsEntry_HisashiSogabe,
+ gCreditsEntry_SosukeTamada,
+ gCreditsEntry_HiroyukiNakamura,
+ gCreditsEntry_AkitoMori,
+ },
+ {
+ gCreditsEntry_PkmnDesigners,
+ gCreditsEntry_KenSugimori,
+ gCreditsEntry_MotofumiFujiwara,
+ gCreditsEntry_ShigekiMorimoto,
+ _,
+ },
+ {
+ gCreditsEntry_PkmnDesigners,
+ gCreditsEntry_HironobuYoshida,
+ gCreditsEntry_SatoshiOhta,
+ gCreditsEntry_AsukaIwashita,
+ _,
+ },
+ {
+ gCreditsEntry_PkmnDesigners,
+ gCreditsEntry_TakaoUnno,
+ gCreditsEntry_KanakoEo,
+ gCreditsEntry_AimiTomita,
+ _,
+ },
+ {
+ gCreditsEntry_PkmnDesigners,
+ gCreditsEntry_AtsukoNishida,
+ gCreditsEntry_MuneoSaito,
+ gCreditsEntry_RenaYoshikawa,
+ gCreditsEntry_JunOkutani,
+ },
+ {
+ _,
+ gCreditsEntry_SupportProgrammers,
+ gCreditsEntry_SatoshiMitsuhara,
+ gCreditsEntry_DaisukeHoshino,
+ _,
+ },
+ {
+ _,
+ gCreditsEntry_NCLProductTesting,
+ gCreditsEntry_NCLSuperMarioClub,
+ _,
+ _,
+ },
+ {
+ _,
+ gCreditsEntry_PackageAndManual,
+ gCreditsEntry_KenSugimori,
+ _,
+ _,
+ },
+ {
+ _,
+ gCreditsEntry_SpecialThanks,
+ gCreditsEntry_KenjiTominaga,
+ gCreditsEntry_HirokiEnomoto,
+ _,
+ },
+ {
+ gCreditsEntry_SpecialThanks,
+ gCreditsEntry_KazuyaSuyama,
+ gCreditsEntry_KenjiroIto,
+ gCreditsEntry_MichikoTakizawa,
+ gCreditsEntry_MakikoTakada,
+ },
+ {
+ gCreditsEntry_SpecialThanks,
+ gCreditsEntry_MikikoOhhashi,
+ gCreditsEntry_TakanaoKondo,
+ gCreditsEntry_RuiKawaguchi,
+ _,
+ },
+ {
+ gCreditsEntry_SpecialThanks,
+ gCreditsEntry_TakahiroOhnishi,
+ gCreditsEntry_NorihideOkamura,
+ gCreditsEntry_ShunsukeKohori,
+ _,
+ },
+ {
+ gCreditsEntry_InfoSupervisors,
+ gCreditsEntry_KazuyukiTerada,
+ gCreditsEntry_YuriSakurai,
+ gCreditsEntry_YumiFunasaka,
+ gCreditsEntry_NaokoYanase,
+ },
+ {
+ _,
+ gCreditsEntry_Artwork,
+ gCreditsEntry_SachikoNakamichi,
+ gCreditsEntry_FujikoNomura,
+ _,
+ },
+ {
+ _,
+ gCreditsEntry_Artwork,
+ gCreditsEntry_HideyukiNakajima,
+ gCreditsEntry_HidenoriSaeki,
+ _,
+ },
+ {
+ gCreditsEntry_Artwork,
+ gCreditsEntry_YokoWatanabe,
+ gCreditsEntry_SakaeKimura,
+ gCreditsEntry_ChiakiShinkai,
+ _,
+ },
+ {
+ gCreditsEntry_Coordinators,
+ gCreditsEntry_KazukiYoshihara,
+ gCreditsEntry_AkiraKinashi,
+ gCreditsEntry_RetsujiNomoto,
+ _,
+ },
+ {
+ _,
+ gCreditsEntry_EnglishVersion,
+ gCreditsEntry_HiroNakamura,
+ gCreditsEntry_SethMcMahill,
+ _,
+ },
+ {
+ _,
+ gCreditsEntry_Translator,
+ gCreditsEntry_NobOgasawara,
+ _,
+ _,
+ },
+ {
+ _,
+ gCreditsEntry_TextEditor,
+ gCreditsEntry_TeresaLillygren,
+ _,
+ _,
+ },
+ {
+ _,
+ gCreditsEntry_NCLCoordinator,
+ gCreditsEntry_KimikoNakamichi,
+ _,
+ _,
+ },
+ {
+ gCreditsEntry_Programmers,
+ gCreditsEntry_TerukiMurakawa,
+ gCreditsEntry_SouichiYamamoto,
+ gCreditsEntry_YuichiroIto,
+ gCreditsEntry_AkiraKinashi,
+ },
+ {
+ _,
+ gCreditsEntry_GraphicDesigner,
+ gCreditsEntry_AkiraKinashi,
+ _,
+ _,
+ },
+ {
+ gCreditsEntry_EnvAndToolPgrms,
+ gCreditsEntry_TerukiMurakawa,
+ gCreditsEntry_SouichiYamamoto,
+ gCreditsEntry_KimikoNakamichi,
+ _,
+ },
+ {
+ gCreditsEntry_NOAProductTesting,
+ gCreditsEntry_ThomasHertzog,
+ gCreditsEntry_ErikJohnson,
+ gCreditsEntry_MikaKurosawa,
+ _,
+ },
+ {
+ gCreditsEntry_BrailleCodeCheck,
+ gCreditsEntry_NationalFederationBlind,
+ gCreditsEntry_PatriciaAMaurer,
+ gCreditsEntry_JapanBrailleLibrary,
+ gCreditsEntry_EuropeanBlindUnion,
+ },
+ {
+ _,
+ gCreditsEntry_BrailleCodeCheck,
+ gCreditsEntry_AustralianBrailleAuthority,
+ gCreditsEntry_RoyalNewZealandFederationBlind,
+ _,
+ },
+ {
+ gCreditsEntry_SpecialThanks,
+ gCreditsEntry_HiroyukiUesugi,
+ gCreditsEntry_MotoyasuTojima,
+ gCreditsEntry_NicolaPrattBarlow,
+ gCreditsEntry_ShellieDow,
+ },
+ {
+ _,
+ gCreditsEntry_TaskManagers,
+ gCreditsEntry_AzusaTajima,
+ gCreditsEntry_ShusakuEgami,
+ _,
+ },
+ {
+ gCreditsEntry_Producers,
+ gCreditsEntry_HiroyukiJinnai,
+ gCreditsEntry_HitoshiYamagami,
+ gCreditsEntry_GakujiNomoto,
+ gCreditsEntry_HiroakiTsuru,
+ },
+ {
+ _,
+ gCreditsEntry_ExecutiveDirector,
+ gCreditsEntry_SatoshiTajiri,
+ _,
+ _,
+ },
+ {
+ _,
+ gCreditsEntry_ExecProducers,
+ gCreditsEntry_SatoruIwata,
+ _,
+ _,
+ },
+ {
+ _,
+ gCreditsEntry_ExecProducers,
+ gCreditsEntry_TsunekazIshihara,
+ _,
+ _,
+ },
+};
+#undef _
+
+static const struct BgTemplate gUnknown_085E6F68[] =
+{
+ {
+ .bg = 0,
+ .charBaseIndex = 2,
+ .mapBaseIndex = 28,
+ .screenSize = 0,
+ .paletteMode = 0,
+ .priority = 0,
+ .baseTile = 0
+ },
+};
+static const struct WindowTemplate gUnknown_085E6F6C[] =
+{
+ { 0x00, 0x00, 0x09, 0x1E, 0x0C, 0x08, 0x0001 },
+ DUMMY_WIN_TEMPLATE,
+};
+static const u8 gUnknown_085E6F7C[][2] =
+{
+ {104, 36},
+ {120, 36},
+ {136, 36},
+};
+
+static const union AnimCmd gUnknown_085E6F84[] =
+{
+ ANIMCMD_FRAME(0, 8),
+ ANIMCMD_FRAME(64, 8),
+ ANIMCMD_FRAME(128, 8),
+ ANIMCMD_FRAME(192, 8),
+ ANIMCMD_JUMP(0),
+};
+
+static const union AnimCmd gUnknown_085E6F98[] =
+{
+ ANIMCMD_FRAME(0, 4),
+ ANIMCMD_FRAME(64, 4),
+ ANIMCMD_FRAME(128, 4),
+ ANIMCMD_FRAME(192, 4),
+ ANIMCMD_JUMP(0),
+};
+
+static const union AnimCmd gUnknown_085E6FAC[] =
+{
+ ANIMCMD_FRAME(256, 4),
+ ANIMCMD_FRAME(320, 4),
+ ANIMCMD_FRAME(384, 4),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd gUnknown_085E6FBC[] =
+{
+ ANIMCMD_FRAME(384, 30),
+ ANIMCMD_FRAME(320, 30),
+ ANIMCMD_FRAME(256, 30),
+ ANIMCMD_FRAME(256, 30),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd *const gUnknown_085E6FD0[] =
+{
+ gUnknown_085E6F84,
+ gUnknown_085E6F98,
+ gUnknown_085E6FAC,
+ gUnknown_085E6FBC,
+};
+
+static const union AnimCmd gUnknown_085E6FE0[] =
+{
+ ANIMCMD_FRAME(0, 8),
+ ANIMCMD_FRAME(64, 8),
+ ANIMCMD_FRAME(128, 8),
+ ANIMCMD_FRAME(192, 8),
+ ANIMCMD_JUMP(0),
+};
+
+static const union AnimCmd gUnknown_085E6FF4[] =
+{
+ ANIMCMD_FRAME(0, 4),
+ ANIMCMD_FRAME(64, 4),
+ ANIMCMD_FRAME(128, 4),
+ ANIMCMD_FRAME(192, 4),
+ ANIMCMD_JUMP(0),
+};
+
+static const union AnimCmd gUnknown_085E7008[] =
+{
+ ANIMCMD_FRAME(0, 4),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd *const gUnknown_085E7010[] =
+{
+ gUnknown_085E6FE0,
+ gUnknown_085E6FF4,
+ gUnknown_085E7008,
+};
+
+static const struct SpriteSheet gUnknown_085E701C[] = {
+ { gDecompressionBuffer, 6144, 1001 },
+ { NULL },
+};
+static const struct SpritePalette gUnknown_085E702C[] = {
+ { (const u16 *)(gDecompressionBuffer + 0x1800), 1001 },
+ { NULL },
+};
+
+static const struct OamData gUnknown_085E703C =
+{
+ .y = 160,
+ .affineMode = 0,
+ .objMode = 0,
+ .mosaic = 0,
+ .bpp = 0,
+ .shape = 0,
+ .x = 0,
+ .matrixNum = 0,
+ .size = 3,
+ .tileNum = 0,
+ .priority = 1,
+ .paletteNum = 0,
+ .affineParam = 0,
+};
+
+static const union AnimCmd gUnknown_085E7044[] =
+{
+ ANIMCMD_FRAME(0, 8),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd gUnknown_085E704C[] =
+{
+ ANIMCMD_FRAME(64, 8),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd gUnknown_085E7054[] =
+{
+ ANIMCMD_FRAME(128, 8),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd *const gUnknown_085E705C[] =
+{
+ gUnknown_085E7044,
+ gUnknown_085E704C,
+ gUnknown_085E7054,
+};
+
+static const struct SpriteTemplate gUnknown_085E7068 =
+{
+ .tileTag = 1001,
+ .paletteTag = 1001,
+ .oam = &gUnknown_085E703C,
+ .anims = gUnknown_085E705C,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_81772B8,
+};
+
+void sub_8175620(void);
+static void sub_8175744(u8 taskIdA);
+static void sub_8175774(u8 taskIdA);
+static void sub_8175808(u8 taskIdA);
+static void c2_080C9BFC(u8 taskIdA);
+static void sub_81758E4(u8 taskIdA);
+static void sub_81758A4(u8 taskIdA);
+static void sub_8175A9C(u8 taskIdA);
+static void sub_8175AE4(u8 taskIdA);
+static void sub_8175B1C(u8 taskIdA);
+static void sub_8175B90(u8 taskIdA);
+static void sub_8175BD8(u8 taskIdA);
+static void sub_8175C34(u8 taskIdA);
+static void sub_8175CC8(u8 taskIdA);
+static void sub_8175CE4(void);
+static void sub_8175DA0(u8 taskIdB);
+static u8 sub_817603C(u8 page, u8 taskIdA);
+static void sub_81760FC(u8 taskIdA);
+static void sub_817651C(u8 taskIdA);
+static void sub_817624C(u8 taskIdA);
+static bool8 sub_8176AB0(u8 data, u8 taskIdA);
+static void sub_8176CA0(u8 taskIdA);
+static void sub_8176D1C(u16, u16, u16);
+static void sub_8176E40(u16 arg0, u16 palette);
+static void sub_8176EE8(struct Sprite *sprite);
+static void sub_8176F90(struct Sprite *sprite);
+static u8 sub_8177224(u16 species, s16 x, s16 y, u16 position);
+static void sub_8177388(void);
+
+static void sub_81754C8(void)
+{
+ LoadOam();
+ ProcessSpriteCopyRequests();
+ TransferPlttBuffer();
+}
+
+static void sub_81754DC(void)
+{
+ RunTasks();
+ AnimateSprites();
+
+ if ((gMain.heldKeys & B_BUTTON)
+ && gHasHallOfFameRecords != 0
+ && gTasks[gUnknown_0203BCE2].func == sub_8175774)
+ {
+ sub_81754C8();
+ RunTasks();
+ AnimateSprites();
+ gUnknown_0203BCE5 = 1;
+ }
+ BuildOamBuffer();
+ UpdatePaletteFade();
+}
+
+static void sub_8175548(void)
+{
+ ResetBgsAndClearDma3BusyFlags(0);
+ InitBgsFromTemplates(0, gUnknown_085E6F68, 1);
+ SetBgTilemapBuffer(0, AllocZeroed(0x800));
+ LoadPalette(gUnknown_085E56F0, 0x80, 0x40);
+ InitWindows(gUnknown_085E6F6C);
+ DeactivateAllTextPrinters();
+ PutWindowTilemap(0);
+ CopyWindowToVram(0, 3);
+ ShowBg(0);
+}
+
+static void sub_81755A4(void)
+{
+ void *ptr;
+ FreeAllWindowBuffers();
+ ptr = GetBgTilemapBuffer(0);
+ if (ptr)
+ Free(ptr);
+}
+
+static void sub_81755BC(const u8 *string, u8 y, u8 a2)
+{
+ u8 x;
+ u8 color[3];
+
+ color[0] = 0;
+
+ if (a2 == 1)
+ {
+ color[1] = 3;
+ color[2] = 4;
+ }
+ else
+ {
+ color[1] = 1;
+ color[2] = 2;
+ }
+
+ x = GetStringCenterAlignXOffsetWithLetterSpacing(1, string, 0xF0, 1);
+ AddTextPrinterParameterized2(0, 1, x, y, 1, 0, color, -1, string);
+}
+
+void sub_8175620(void)
+{
+ u8 taskIdA;
+ s16 taskIdC;
+ u8 taskIdB;
+ u16 savedIme;
+
+ sub_8175CE4();
+ SetVBlankCallback(NULL);
+ InitHeap(gHeap, HEAP_SIZE);
+ ResetPaletteFade();
+ ResetTasks();
+ sub_8175548();
+
+ taskIdA = CreateTask(sub_8175744, 0);
+
+ gTasks[taskIdA].data[TDA_4] = 0;
+ gTasks[taskIdA].data[TDA_7] = 0;
+ gTasks[taskIdA].data[TDA_11] = 0;
+ gTasks[taskIdA].data[TDA_13] = 1;
+
+ while (TRUE)
+ {
+ if (sub_8176AB0(0, taskIdA))
+ break;
+ }
+
+ taskIdC = gTasks[taskIdA].data[TDA_TASK_C_ID];
+ gTasks[taskIdC].data[TDC_0] = 40;
+
+ SetGpuReg(REG_OFFSET_BG0VOFS, 0xFFFC);
+
+ taskIdB = CreateTask(sub_8175DA0, 0);
+
+ gTasks[taskIdB].data[TDB_TASK_A_ID] = taskIdA;
+ gTasks[taskIdA].data[TDA_TASK_B_ID] = taskIdB;
+
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK);
+ EnableInterrupts(INTR_FLAG_VBLANK);
+ SetVBlankCallback(sub_81754C8);
+ m4aSongNumStart(MUS_THANKFOR);
+ SetMainCallback2(sub_81754DC);
+ gUnknown_0203BCE5 = 0;
+ gUnknown_0203BCE8 = AllocZeroed(sizeof(struct Unk201C000));
+
+ sub_8177388();
+
+ gUnknown_0203BCE8->unk8E = 0;
+ gUnknown_0203BCE8->unk90 = 0;
+ gUnknown_0203BCE8->unk92 = 0;
+
+ gUnknown_0203BCE2 = taskIdA;
+}
+
+static void sub_8175744(u8 taskIdA)
+{
+ if (!gPaletteFade.active)
+ gTasks[taskIdA].func = sub_8175774;
+}
+
+static void sub_8175774(u8 taskIdA)
+{
+ u16 data1;
+
+ if (gTasks[taskIdA].data[TDA_4])
+ {
+ s16 taskIdC;
+
+ taskIdC = gTasks[taskIdA].data[TDA_TASK_C_ID];
+ gTasks[taskIdC].data[TDC_0] = 30;
+
+ gTasks[taskIdA].data[TDA_12] = 0x100;
+ gTasks[taskIdA].func = sub_8175A9C;
+ return;
+ }
+
+ gUnknown_0203BCE0 = 0;
+ data1 = gTasks[taskIdA].data[TDA_11];
+
+ if (gTasks[taskIdA].data[TDA_11] == 1)
+ {
+ gTasks[taskIdA].data[TDA_13] = data1;
+ gTasks[taskIdA].data[TDA_11] = 0;
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK);
+ gTasks[taskIdA].func = sub_8175808;
+ }
+ else if (gTasks[taskIdA].data[TDA_11] == 2)
+ {
+ gTasks[taskIdA].data[TDA_13] = data1;
+ gTasks[taskIdA].data[TDA_11] = 0;
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK);
+ gTasks[taskIdA].func = sub_81758A4;
+ }
+}
+
+static void sub_8175808(u8 taskIdA)
+{
+ if (!gPaletteFade.active)
+ {
+ SetGpuReg(REG_OFFSET_DISPCNT, 0);
+ sub_8176CA0(taskIdA);
+ gTasks[taskIdA].func = c2_080C9BFC;
+ }
+}
+
+static void c2_080C9BFC(u8 taskIdA)
+{
+ u16 backup;
+
+ SetVBlankCallback(NULL);
+
+ if (sub_8176AB0(gTasks[taskIdA].data[TDA_7], taskIdA))
+ {
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK);
+ EnableInterrupts(INTR_FLAG_VBLANK);
+ SetVBlankCallback(sub_81754C8);
+ gTasks[taskIdA].func = sub_8175744;
+ }
+}
+
+static void sub_81758A4(u8 taskIdA)
+{
+ if (!gPaletteFade.active)
+ {
+ SetGpuReg(REG_OFFSET_DISPCNT, 0);
+ sub_8176CA0(taskIdA);
+ gTasks[taskIdA].func = sub_81758E4;
+ }
+}
+
+static void sub_81758E4(u8 taskIdA)
+{
+ switch (gMain.state)
+ {
+ default:
+ case 0:
+ {
+ u16 i;
+ u16 *temp;
+
+ ResetSpriteData();
+ dp13_810BB8C();
+ FreeAllSpritePalettes();
+ gReservedSpritePaletteCount = 8;
+ LZ77UnCompVram(&gBirchHelpGfx, (void *)VRAM);
+ LZ77UnCompVram(&gBirchGrassTilemap, (void *)(VRAM + 0x3800));
+ LoadPalette(gBirchBagGrassPal[0] + 1, 1, 31 * 2);
+
+ for (i = 0; i < 0x800; i++)
+ gDecompressionBuffer[i] = 0x11;
+ for (i = 0; i < 0x800; i++)
+ (gDecompressionBuffer + 0x800)[i] = 0x22;
+ for (i = 0; i < 0x800; i++)
+ (gDecompressionBuffer + 0x1000)[i] = 0x33;
+
+ temp = (u16 *)(&gDecompressionBuffer[0x1800]);
+ temp[0] = RGB_BLACK;
+ temp[1] = RGB(31, 31, 20); // light yellow
+ temp[2] = RGB(31, 20, 20); // light red
+ temp[3] = RGB(20, 20, 31); // light blue
+
+ LoadSpriteSheet(gUnknown_085E701C);
+ LoadSpritePalette(gUnknown_085E702C);
+
+ gMain.state += 1;
+ break;
+ }
+ case 1:
+ gTasks[taskIdA].data[TDA_TASK_D_ID] = CreateTask(sub_81760FC, 0);
+ gTasks[gTasks[taskIdA].data[TDA_TASK_D_ID]].data[TDD_STATE] = 1;
+ gTasks[gTasks[taskIdA].data[TDA_TASK_D_ID]].data[TDD_TASK_A_ID] = taskIdA;
+ gTasks[gTasks[taskIdA].data[TDA_TASK_D_ID]].data[TDD_2] = gTasks[taskIdA].data[TDA_7];
+
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK);
+ SetGpuReg(REG_OFFSET_BG3HOFS, 0);
+ SetGpuReg(REG_OFFSET_BG3VOFS, 32);
+ SetGpuReg(REG_OFFSET_BG3CNT, BGCNT_PRIORITY(3)
+ | BGCNT_CHARBASE(0)
+ | BGCNT_SCREENBASE(7)
+ | BGCNT_16COLOR
+ | BGCNT_TXT256x256);
+ SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0
+ | DISPCNT_OBJ_1D_MAP
+ | DISPCNT_BG0_ON
+ | DISPCNT_BG3_ON
+ | DISPCNT_OBJ_ON);
+
+ gMain.state = 0;
+ gUnknown_0203BD28 = 0;
+ gTasks[taskIdA].func = sub_8175744;
+ break;
+ }
+}
+
+static void sub_8175A9C(u8 taskIdA)
+{
+ if (gTasks[taskIdA].data[TDA_12])
+ {
+ gTasks[taskIdA].data[TDA_12] -= 1;
+ return;
+ }
+
+ BeginNormalPaletteFade(0xFFFFFFFF, 12, 0, 16, RGB_BLACK);
+ gTasks[taskIdA].func = sub_8175AE4;
+}
+
+static void sub_8175AE4(u8 taskIdA)
+{
+ if (!gPaletteFade.active)
+ {
+ sub_8176CA0(taskIdA);
+ gTasks[taskIdA].func = sub_8175B1C;
+ }
+}
+
+static void sub_8175B1C(u8 taskIdA)
+{
+ sub_8175CE4();
+ ResetPaletteFade();
+ sub_8176D1C(0, 0x3800, 0);
+ ResetSpriteData();
+ FreeAllSpritePalettes();
+ BeginNormalPaletteFade(0xFFFFFFFF, 8, 16, 0, RGB_BLACK);
+
+ SetGpuReg(REG_OFFSET_BG0CNT, BGCNT_PRIORITY(0)
+ | BGCNT_CHARBASE(0)
+ | BGCNT_SCREENBASE(7)
+ | BGCNT_16COLOR
+ | BGCNT_TXT256x256);
+ EnableInterrupts(INTR_FLAG_VBLANK);
+ SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0
+ | DISPCNT_OBJ_1D_MAP
+ | DISPCNT_BG0_ON);
+
+ gTasks[taskIdA].data[TDA_0] = 0xEB;
+ gTasks[taskIdA].func = sub_8175B90;
+}
+
+static void sub_8175B90(u8 taskIdA)
+{
+ if (gTasks[taskIdA].data[TDA_0])
+ {
+ gTasks[taskIdA].data[TDA_0] -= 1;
+ return;
+ }
+
+ BeginNormalPaletteFade(0xFFFFFFFF, 6, 0, 16, RGB_BLACK);
+ gTasks[taskIdA].func = sub_8175BD8;
+}
+
+static void sub_8175BD8(u8 taskIdA)
+{
+ if (!gPaletteFade.active)
+ {
+ sub_8176E40(0x3800, 0);
+
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0, RGB_BLACK);
+ gTasks[taskIdA].data[TDA_0] = 7200;
+ gTasks[taskIdA].func = sub_8175C34;
+ }
+}
+
+static void sub_8175C34(u8 taskIdA)
+{
+ if (!gPaletteFade.active)
+ {
+ if (gTasks[taskIdA].data[TDA_0] == 0 || gMain.newKeys)
+ {
+ FadeOutBGM(4);
+ BeginNormalPaletteFade(0xFFFFFFFF, 8, 0, 16, RGB_WHITEALPHA);
+ gTasks[taskIdA].func = sub_8175CC8;
+ return;
+ }
+
+ if (gTasks[taskIdA].data[TDA_0] == 7144)
+ FadeOutBGM(8);
+
+ if (gTasks[taskIdA].data[TDA_0] == 6840)
+ m4aSongNumStart(MUS_END);
+
+ gTasks[taskIdA].data[TDA_0] -= 1;
+ }
+}
+
+static void sub_8175CC8(u8 taskIdA)
+{
+ if (!gPaletteFade.active)
+ SoftReset(0xFF);
+}
+
+static void sub_8175CE4(void)
+{
+ SetGpuReg(REG_OFFSET_DISPCNT, 0);
+
+ SetGpuReg(REG_OFFSET_BG3HOFS, 0);
+ SetGpuReg(REG_OFFSET_BG3VOFS, 0);
+ SetGpuReg(REG_OFFSET_BG2HOFS, 0);
+ SetGpuReg(REG_OFFSET_BG2VOFS, 0);
+ SetGpuReg(REG_OFFSET_BG1HOFS, 0);
+ SetGpuReg(REG_OFFSET_BG1VOFS, 0);
+ SetGpuReg(REG_OFFSET_BG0HOFS, 0);
+ SetGpuReg(REG_OFFSET_BG0VOFS, 0);
+
+ SetGpuReg(REG_OFFSET_BLDCNT, 0);
+ SetGpuReg(REG_OFFSET_BLDALPHA, 0);
+ SetGpuReg(REG_OFFSET_BLDY, 0);
+
+ DmaFill16(3, 0, (void *)VRAM, VRAM_SIZE);
+ DmaFill32(3, 0, (void *)OAM, OAM_SIZE);
+ DmaFill16(3, 0, (void *)(PLTT + 2), PLTT_SIZE - 2);
+}
+
+static void sub_8175DA0(u8 taskIdB)
+{
+ int i;
+
+ switch (gTasks[taskIdB].data[TDB_0])
+ {
+ case 0:
+ case 6:
+ case 7:
+ case 8:
+ case 9:
+ default:
+ if (!gPaletteFade.active)
+ {
+ gTasks[taskIdB].data[TDB_0] = 1;
+ gTasks[taskIdB].data[TDB_3] = 0x48;
+ gTasks[gTasks[taskIdB].data[TDB_TASK_A_ID]].data[TDA_14] = 0;
+ gUnknown_0203BCE0 = 0;
+ }
+ return;
+ case 1:
+ if (gTasks[taskIdB].data[TDB_3] != 0)
+ {
+ gTasks[taskIdB].data[TDB_3] -= 1;
+ return;
+ }
+ gTasks[taskIdB].data[TDB_0] += 1;
+ return;
+ case 2:
+ if (gTasks[gTasks[taskIdB].data[TDB_TASK_A_ID]].func == sub_8175774)
+ {
+ if (gTasks[taskIdB].data[TDB_CURRENT_PAGE] < PAGE_COUNT)
+ {
+ for (i = 0; i < 5; i++)
+ sub_81755BC(gCreditsEntryPointerTable[gTasks[taskIdB].data[TDB_CURRENT_PAGE]][i]->text, 5 + i * 16, gCreditsEntryPointerTable[gTasks[taskIdB].data[TDB_CURRENT_PAGE]][i]->var_1);
+
+ CopyWindowToVram(0, 2);
+
+ gTasks[taskIdB].data[TDB_CURRENT_PAGE] += 1;
+ gTasks[taskIdB].data[TDB_0] += 1;
+
+ gTasks[gTasks[taskIdB].data[TDB_TASK_A_ID]].data[TDA_14] = 1;
+
+ if (gTasks[gTasks[taskIdB].data[TDB_TASK_A_ID]].data[TDA_13] == 1)
+ BeginNormalPaletteFade(0x00000300, 0, 16, 0, COLOR_LIGHT_GREEN);
+ else
+ BeginNormalPaletteFade(0x00000300, 0, 16, 0, COLOR_DARK_GREEN);
+ return;
+ }
+ gTasks[taskIdB].data[TDB_0] = 10;
+ return;
+ }
+ gTasks[gTasks[taskIdB].data[TDB_TASK_A_ID]].data[TDA_14] = 0;
+ return;
+ case 3:
+ if (!gPaletteFade.active)
+ {
+ gTasks[taskIdB].data[TDB_3] = 0x73;
+ gTasks[taskIdB].data[TDB_0] += 1;
+ }
+ return;
+ case 4:
+ if (gTasks[taskIdB].data[TDB_3] != 0)
+ {
+ gTasks[taskIdB].data[TDB_3] -= 1;
+ return;
+ }
+
+ if (sub_817603C((u8)gTasks[taskIdB].data[TDB_CURRENT_PAGE], (u8)gTasks[taskIdB].data[TDB_TASK_A_ID]))
+ {
+ gTasks[taskIdB].data[TDB_0] += 1;
+ return;
+ }
+ gTasks[taskIdB].data[TDB_0] += 1;
+ if (gTasks[gTasks[taskIdB].data[TDB_TASK_A_ID]].data[TDA_13] == 1)
+ BeginNormalPaletteFade(0x00000300, 0, 0, 16, COLOR_LIGHT_GREEN);
+ else
+ BeginNormalPaletteFade(0x00000300, 0, 0, 16, COLOR_DARK_GREEN);
+ return;
+ case 5:
+ if (!gPaletteFade.active)
+ {
+ FillWindowPixelBuffer(0, 0);
+ CopyWindowToVram(0, 2);
+ gTasks[taskIdB].data[TDB_0] = 2;
+ }
+ return;
+ case 10:
+ gTasks[gTasks[taskIdB].data[TDB_TASK_A_ID]].data[TDA_4] = 1;
+ DestroyTask(taskIdB);
+ sub_81755A4();
+ FREE_AND_SET_NULL(gUnknown_0203BCE8);
+ return;
+ }
+}
+
+static u8 sub_817603C(u8 page, u8 taskIdA)
+{
+ // Starts with bike + ocean + morning
+
+ if (page == 6)
+ {
+ // Grass patch
+ gTasks[taskIdA].data[TDA_11] = 2;
+ }
+
+ if (page == 12)
+ {
+ // Bike + ocean + sunset
+ gTasks[taskIdA].data[TDA_7] = 1;
+ gTasks[taskIdA].data[TDA_11] = 1;
+ }
+
+ if (page == 18)
+ {
+ // Grass patch
+ gTasks[taskIdA].data[TDA_11] = 2;
+ }
+
+ if (page == 24)
+ {
+ // Bike + forest + sunset
+ gTasks[taskIdA].data[TDA_7] = 2;
+ gTasks[taskIdA].data[TDA_11] = 1;
+ }
+
+ if (page == 30)
+ {
+ // Grass patch
+ gTasks[taskIdA].data[TDA_11] = 2;
+ }
+
+ if (page == 36)
+ {
+ // Bike + forest + sunset
+ gTasks[taskIdA].data[TDA_7] = 3;
+ gTasks[taskIdA].data[TDA_11] = 1;
+ }
+
+ if (page == 42)
+ {
+ // Grass patch
+ gTasks[taskIdA].data[TDA_11] = 2;
+ }
+
+ if (page == 48)
+ {
+ // Bike + town + night
+ gTasks[taskIdA].data[TDA_7] = 4;
+ gTasks[taskIdA].data[TDA_11] = 1;
+ }
+
+ if (gTasks[taskIdA].data[TDA_11] != 0)
+ {
+ // Returns true if changed?
+ return TRUE;
+ }
+
+ return FALSE;
+}
+
+static void sub_81760FC(u8 taskIdD)
+{
+ u8 r2;
+
+ switch (gTasks[taskIdD].data[TDD_STATE])
+ {
+ case 0:
+ break;
+ case 1:
+ if (gUnknown_0203BCE8->unk90 == 0 && gTasks[gTasks[taskIdD].data[TDD_TASK_A_ID]].data[TDA_14] == 0)
+ break;
+ gTasks[taskIdD].data[TDD_STATE]++;
+ break;
+ case 2:
+ if (gUnknown_0203BCE8->unk8E == 71 || gTasks[gTasks[taskIdD].data[TDD_TASK_A_ID]].func != sub_8175774)
+ break;
+ r2 = sub_8177224(gUnknown_0203BCE8->unk0[gUnknown_0203BCE8->unk92], gUnknown_085E6F7C[gUnknown_0203BCE8->unk90][0], gUnknown_085E6F7C[gUnknown_0203BCE8->unk90][1], gUnknown_0203BCE8->unk90);
+ if (gUnknown_0203BCE8->unk92 < gUnknown_0203BCE8->unk94 - 1)
+ {
+ gUnknown_0203BCE8->unk92++;
+ gSprites[r2].data[3] = 50;
+ }
+ else
+ {
+ gUnknown_0203BCE8->unk92 = 0;
+ gSprites[r2].data[3] = 512;
+ }
+ gUnknown_0203BCE8->unk8E++;
+ if (gUnknown_0203BCE8->unk90 == 2)
+ gUnknown_0203BCE8->unk90 = 0;
+ else
+ gUnknown_0203BCE8->unk90++;
+ gTasks[taskIdD].data[TDD_3] = 50;
+ gTasks[taskIdD].data[TDD_STATE]++;
+ break;
+ case 3:
+ if (gTasks[taskIdD].data[TDD_3] != 0)
+ gTasks[taskIdD].data[TDD_3]--;
+ else
+ gTasks[taskIdD].data[TDD_STATE] = 1;
+ break;
+ }
+}
+
+static void sub_817624C(u8 taskIdC)
+{
+ switch (gTasks[taskIdC].data[TDC_0])
+ {
+ case 0:
+ gUnknown_0203BD26 = Sin((gTasks[taskIdC].data[TDC_5] >> 1) & 0x7F, 12);
+ gTasks[taskIdC].data[TDC_5]++;
+ break;
+ case 1:
+ if (gUnknown_0203BD26 != 0)
+ {
+ gUnknown_0203BD26 = Sin((gTasks[taskIdC].data[TDC_5] >> 1) & 0x7F, 12);
+ gTasks[taskIdC].data[TDC_5]++;
+ }
+ else
+ {
+ gSprites[gTasks[taskIdC].data[TDC_2]].data[0] = 2;
+ gTasks[taskIdC].data[TDC_5] = 0;
+ gTasks[taskIdC].data[TDC_0]++;
+ }
+ break;
+ case 2:
+ if (gTasks[taskIdC].data[TDC_5] < 64)
+ {
+ gTasks[taskIdC].data[TDC_5]++;
+ gUnknown_0203BD26 = Sin(gTasks[taskIdC].data[TDC_5] & 0x7F, 20);
+ }
+ else
+ {
+ gTasks[taskIdC].data[TDC_0]++;
+ }
+ break;
+ case 3:
+ gSprites[gTasks[taskIdC].data[TDC_2]].data[0] = 3;
+ gSprites[gTasks[taskIdC].data[TDC_3]].data[0] = 1;
+ gTasks[taskIdC].data[TDC_4] = 120;
+ gTasks[taskIdC].data[TDC_0]++;
+ break;
+ case 4:
+ if (gTasks[taskIdC].data[TDC_4] != 0)
+ {
+ gTasks[taskIdC].data[TDC_4]--;
+ }
+ else
+ {
+ gTasks[taskIdC].data[TDC_5] = 64;
+ gTasks[taskIdC].data[TDC_0]++;
+ }
+ break;
+ case 5:
+ if (gTasks[taskIdC].data[TDC_5] > 0)
+ {
+ gTasks[taskIdC].data[TDC_5]--;
+ gUnknown_0203BD26 = Sin(gTasks[taskIdC].data[TDC_5] & 0x7F, 20);
+ }
+ else
+ {
+ gSprites[gTasks[taskIdC].data[TDC_2]].data[0] = 1;
+ gTasks[taskIdC].data[TDC_0]++;
+ }
+ break;
+ case 6:
+ gTasks[taskIdC].data[TDC_0] = 50;
+ break;
+ case 10:
+ gSprites[gTasks[taskIdC].data[TDC_3]].data[0] = 2;
+ gTasks[taskIdC].data[TDC_0] = 50;
+ break;
+ case 20:
+ gSprites[gTasks[taskIdC].data[TDC_2]].data[0] = 4;
+ gTasks[taskIdC].data[TDC_0] = 50;
+ break;
+ case 30:
+ gSprites[gTasks[taskIdC].data[TDC_2]].data[0] = 5;
+ gSprites[gTasks[taskIdC].data[TDC_3]].data[0] = 3;
+ gTasks[taskIdC].data[TDC_0] = 50;
+ break;
+ case 50:
+ gTasks[taskIdC].data[TDC_0] = 0;
+ break;
+ }
+}
+
+static void sub_817651C(u8 taskIdE)
+{
+ s16 taskIdC;
+
+ switch (gTasks[taskIdE].data[TDE_0])
+ {
+ default:
+ case 0:
+ if (gTasks[taskIdE].data[TDE_1] != 0x7FFF)
+ {
+
+ if (gTasks[gTasks[gTasks[taskIdE].data[TDE_TASK_A_ID]].data[TDA_TASK_B_ID]].data[TDB_CURRENT_PAGE] == 2)
+ {
+ gTasks[gTasks[gTasks[taskIdE].data[TDE_TASK_A_ID]].data[TDA_TASK_C_ID]].data[TDC_0] = 20;
+ gTasks[taskIdE].data[TDE_1] = 0x7FFF;
+ }
+ }
+ sub_817B540(0);
+ break;
+ case 1:
+ sub_817B540(0);
+ break;
+ case 2:
+ if (gTasks[taskIdE].data[TDE_1] != 0x7FFF)
+ {
+ taskIdC = gTasks[gTasks[taskIdE].data[TDE_TASK_A_ID]].data[TDA_TASK_C_ID];
+
+ // Floor to multiple of 128
+ if ((gTasks[taskIdC].data[TDC_5] & -128) == 640)
+ {
+ gTasks[taskIdC].data[TDC_0] = 1;
+ gTasks[taskIdE].data[TDE_1] = 0x7FFF;
+ }
+ }
+ sub_817B540(1);
+ break;
+ case 3:
+ if (gTasks[taskIdE].data[TDE_1] != 0x7FFF)
+ {
+
+ if (gTasks[taskIdE].data[TDE_1] == 0x248)
+ {
+ gTasks[gTasks[gTasks[taskIdE].data[TDE_TASK_A_ID]].data[TDA_TASK_C_ID]].data[TDC_0] = 10;
+ gTasks[taskIdE].data[TDE_1] = 0x7FFF;
+ }
+ else
+ {
+ gTasks[taskIdE].data[TDE_1] += 1;
+ }
+ }
+ sub_817B540(1);
+ break;
+ case 4:
+ sub_817B540(2);
+ break;
+ }
+}
+
+static void sub_817664C(u8 data, u8 taskIdA)
+{
+ switch (data)
+ {
+ case 0:
+ gSprites[gTasks[taskIdA].data[TDA_PLAYER_CYCLIST]].invisible = 0;
+ gSprites[gTasks[taskIdA].data[TDA_RIVAL_CYCLIST]].invisible = 0;
+ gSprites[gTasks[taskIdA].data[TDA_PLAYER_CYCLIST]].pos1.x = 272;
+ gSprites[gTasks[taskIdA].data[TDA_RIVAL_CYCLIST]].pos1.x = 272;
+ gSprites[gTasks[taskIdA].data[TDA_PLAYER_CYCLIST]].pos1.y = 46;
+ gSprites[gTasks[taskIdA].data[TDA_RIVAL_CYCLIST]].pos1.y = 46;
+ gSprites[gTasks[taskIdA].data[TDA_PLAYER_CYCLIST]].data[0] = 0;
+ gSprites[gTasks[taskIdA].data[TDA_RIVAL_CYCLIST]].data[0] = 0;
+ gTasks[taskIdA].data[TDA_0] = sub_817B3DC(0, 0x2000, 0x20, 8);
+ break;
+ case 1:
+ gSprites[gTasks[taskIdA].data[TDA_PLAYER_CYCLIST]].invisible = 0;
+ gSprites[gTasks[taskIdA].data[TDA_RIVAL_CYCLIST]].invisible = 0;
+ gSprites[gTasks[taskIdA].data[TDA_PLAYER_CYCLIST]].pos1.x = 120;
+ gSprites[gTasks[taskIdA].data[TDA_RIVAL_CYCLIST]].pos1.x = 272;
+ gSprites[gTasks[taskIdA].data[TDA_PLAYER_CYCLIST]].pos1.y = 46;
+ gSprites[gTasks[taskIdA].data[TDA_RIVAL_CYCLIST]].pos1.y = 46;
+ gSprites[gTasks[taskIdA].data[TDA_PLAYER_CYCLIST]].data[0] = 0;
+ gSprites[gTasks[taskIdA].data[TDA_RIVAL_CYCLIST]].data[0] = 0;
+ gTasks[taskIdA].data[TDA_0] = sub_817B3DC(0, 0x2000, 0x20, 8);
+ break;
+ case 2:
+ gSprites[gTasks[taskIdA].data[TDA_PLAYER_CYCLIST]].invisible = 0;
+ gSprites[gTasks[taskIdA].data[TDA_RIVAL_CYCLIST]].invisible = 0;
+ gSprites[gTasks[taskIdA].data[TDA_PLAYER_CYCLIST]].pos1.x = 120;
+ gSprites[gTasks[taskIdA].data[TDA_RIVAL_CYCLIST]].pos1.x = 272;
+ gSprites[gTasks[taskIdA].data[TDA_PLAYER_CYCLIST]].pos1.y = 46;
+ gSprites[gTasks[taskIdA].data[TDA_RIVAL_CYCLIST]].pos1.y = 46;
+ gSprites[gTasks[taskIdA].data[TDA_PLAYER_CYCLIST]].data[0] = 0;
+ gSprites[gTasks[taskIdA].data[TDA_RIVAL_CYCLIST]].data[0] = 0;
+ gTasks[taskIdA].data[TDA_0] = sub_817B3DC(1, 0x2000, 0x200, 8);
+ break;
+ case 3:
+ gSprites[gTasks[taskIdA].data[TDA_PLAYER_CYCLIST]].invisible = 0;
+ gSprites[gTasks[taskIdA].data[TDA_RIVAL_CYCLIST]].invisible = 0;
+ gSprites[gTasks[taskIdA].data[TDA_PLAYER_CYCLIST]].pos1.x = 120;
+ gSprites[gTasks[taskIdA].data[TDA_RIVAL_CYCLIST]].pos1.x = -32;
+ gSprites[gTasks[taskIdA].data[TDA_PLAYER_CYCLIST]].pos1.y = 46;
+ gSprites[gTasks[taskIdA].data[TDA_RIVAL_CYCLIST]].pos1.y = 46;
+ gSprites[gTasks[taskIdA].data[TDA_PLAYER_CYCLIST]].data[0] = 0;
+ gSprites[gTasks[taskIdA].data[TDA_RIVAL_CYCLIST]].data[0] = 0;
+ gTasks[taskIdA].data[TDA_0] = sub_817B3DC(1, 0x2000, 0x200, 8);
+ break;
+ case 4:
+ gSprites[gTasks[taskIdA].data[TDA_PLAYER_CYCLIST]].invisible = 0;
+ gSprites[gTasks[taskIdA].data[TDA_RIVAL_CYCLIST]].invisible = 0;
+ gSprites[gTasks[taskIdA].data[TDA_PLAYER_CYCLIST]].pos1.x = 88;
+ gSprites[gTasks[taskIdA].data[TDA_RIVAL_CYCLIST]].pos1.x = 152;
+ gSprites[gTasks[taskIdA].data[TDA_PLAYER_CYCLIST]].pos1.y = 46;
+ gSprites[gTasks[taskIdA].data[TDA_RIVAL_CYCLIST]].pos1.y = 46;
+ gSprites[gTasks[taskIdA].data[TDA_PLAYER_CYCLIST]].data[0] = 0;
+ gSprites[gTasks[taskIdA].data[TDA_RIVAL_CYCLIST]].data[0] = 0;
+ gTasks[taskIdA].data[TDA_0] = sub_817B3DC(2, 0x2000, 0x200, 8);
+ break;
+ }
+
+ gTasks[taskIdA].data[TDA_TASK_E_ID] = CreateTask(sub_817651C, 0);
+ gTasks[gTasks[taskIdA].data[TDA_TASK_E_ID]].data[TDE_0] = data;
+ gTasks[gTasks[taskIdA].data[TDA_TASK_E_ID]].data[TDE_1] = 0;
+ gTasks[gTasks[taskIdA].data[TDA_TASK_E_ID]].data[TDE_TASK_A_ID] = taskIdA;
+
+ gTasks[taskIdA].data[TDA_TASK_C_ID] = CreateTask(sub_817624C, 0);
+ gTasks[gTasks[taskIdA].data[TDA_TASK_C_ID]].data[TDC_0] = 0;
+ gTasks[gTasks[taskIdA].data[TDA_TASK_C_ID]].data[TDC_1] = taskIdA;
+ gTasks[gTasks[taskIdA].data[TDA_TASK_C_ID]].data[TDC_2] = gTasks[taskIdA].data[TDA_PLAYER_CYCLIST];
+ gTasks[gTasks[taskIdA].data[TDA_TASK_C_ID]].data[TDC_3] = gTasks[taskIdA].data[TDA_RIVAL_CYCLIST];
+ gTasks[gTasks[taskIdA].data[TDA_TASK_C_ID]].data[TDC_4] = 0;
+
+ if (data == 2)
+ gTasks[gTasks[taskIdA].data[TDA_TASK_C_ID]].data[TDC_5] = 0x45;
+}
+
+static bool8 sub_8176AB0(u8 data, u8 taskIdA)
+{
+ u8 spriteId;
+
+ switch (gMain.state)
+ {
+ default:
+ case 0:
+ SetGpuReg(REG_OFFSET_DISPCNT, 0);
+ SetGpuReg(REG_OFFSET_BG3HOFS, 8);
+ SetGpuReg(REG_OFFSET_BG3VOFS, 0);
+ SetGpuReg(REG_OFFSET_BG2HOFS, 0);
+ SetGpuReg(REG_OFFSET_BG2VOFS, 0);
+ SetGpuReg(REG_OFFSET_BG1HOFS, 0);
+ SetGpuReg(REG_OFFSET_BG1VOFS, 0);
+ SetGpuReg(REG_OFFSET_BLDCNT, 0);
+ SetGpuReg(REG_OFFSET_BLDALPHA, 0);
+ ResetSpriteData();
+ FreeAllSpritePalettes();
+ gMain.state = 1;
+ break;
+ case 1:
+ gUnknown_0203BD24 = 34;
+ gUnknown_0203BD26 = 0;
+ sub_817B1C8(data);
+ gMain.state += 1;
+ break;
+ case 2:
+ if (gSaveBlock2Ptr->playerGender == MALE)
+ {
+ LoadCompressedObjectPic(gUnknown_085F5334);
+ LoadCompressedObjectPic(gUnknown_085F53BC);
+ LoadCompressedObjectPic(gUnknown_085F5354);
+ LoadSpritePalettes(gUnknown_085F5384);
+
+ spriteId = intro_create_brendan_sprite(120, 46);
+ gTasks[taskIdA].data[TDA_PLAYER_CYCLIST] = spriteId;
+ gSprites[spriteId].callback = sub_8176EE8;
+ gSprites[spriteId].anims = gUnknown_085E6FD0;
+
+ spriteId = intro_create_may_sprite(272, 46);
+ gTasks[taskIdA].data[TDA_RIVAL_CYCLIST] = spriteId;
+ gSprites[spriteId].callback = sub_8176F90;
+ gSprites[spriteId].anims = gUnknown_085E7010;
+ }
+ else
+ {
+ LoadCompressedObjectPic(gUnknown_085F5344);
+ LoadCompressedObjectPic(gUnknown_085F53AC);
+ LoadCompressedObjectPic(gUnknown_085F5354);
+ LoadSpritePalettes(gUnknown_085F5384);
+
+ spriteId = intro_create_may_sprite(120, 46);
+ gTasks[taskIdA].data[TDA_PLAYER_CYCLIST] = spriteId;
+ gSprites[spriteId].callback = sub_8176EE8;
+ gSprites[spriteId].anims = gUnknown_085E6FD0;
+
+ spriteId = intro_create_brendan_sprite(272, 46);
+ gTasks[taskIdA].data[TDA_RIVAL_CYCLIST] = spriteId;
+ gSprites[spriteId].callback = sub_8176F90;
+ gSprites[spriteId].anims = gUnknown_085E7010;
+ };
+ gMain.state += 1;
+ break;
+ case 3:
+ sub_817664C(data, taskIdA);
+ sub_817B3A8(data);
+ gMain.state = 0;
+ return TRUE;
+ }
+ return FALSE;
+}
+
+static void sub_8176CA0(u8 taskIdA)
+{
+ if (gTasks[taskIdA].data[TDA_0] != 0)
+ {
+ DestroyTask(gTasks[taskIdA].data[TDA_0]);
+ gTasks[taskIdA].data[TDA_0] = 0;
+ }
+
+ if (gTasks[taskIdA].data[TDA_TASK_C_ID] != 0)
+ {
+ DestroyTask(gTasks[taskIdA].data[TDA_TASK_C_ID]);
+ gTasks[taskIdA].data[TDA_TASK_C_ID] = 0;
+ }
+
+ if (gTasks[taskIdA].data[TDA_TASK_E_ID] != 0)
+ {
+ DestroyTask(gTasks[taskIdA].data[TDA_TASK_E_ID]);
+ gTasks[taskIdA].data[TDA_TASK_E_ID] = 0;
+ }
+
+ if (gTasks[taskIdA].data[TDA_TASK_D_ID] != 0)
+ {
+ DestroyTask(gTasks[taskIdA].data[TDA_TASK_D_ID]);
+ gTasks[taskIdA].data[TDA_TASK_D_ID] = 0;
+ }
+
+ gUnknown_0203BD28 = 1;
+}
+
+static void sub_8176D1C(u16 arg0, u16 arg1, u16 arg2)
+{
+ u16 baseTile;
+ u16 i;
+
+ LZ77UnCompVram(gCreditsCopyrightEnd_Gfx, (void *)(VRAM + arg0));
+ LoadPalette(gIntroCopyright_Pal, arg2, sizeof(gIntroCopyright_Pal));
+
+ baseTile = (arg2 / 16) << 12;
+
+ for (i = 0; i < 32 * 32; i++)
+ ((u16 *) (VRAM + arg1))[i] = baseTile + 1;
+}
+
+static u16 sub_8176D78(u8 arg0)
+{
+ u16 out = (arg0 & 0x3F) + 80;
+
+ if (arg0 == 0xFF)
+ return 1;
+
+ if (arg0 & (1 << 7))
+ out |= 1 << 11;
+ if (arg0 & (1 << 6))
+ out |= 1 << 10;
+
+ return out;
+}
+
+static void sub_8176DBC(const u8 arg0[], u8 baseX, u8 baseY, u16 arg3, u16 palette)
+{
+ u8 y, x;
+ const u16 tileOffset = (palette / 16) << 12;
+
+ for (y = 0; y < 5; y++)
+ {
+ for (x = 0; x < 3; x++)
+ ((u16 *) (VRAM + arg3 + (baseY + y) * 64))[baseX + x] = tileOffset + sub_8176D78(arg0[y * 3 + x]);
+ }
+}
+
+static void sub_8176E40(u16 arg0, u16 palette)
+{
+ u16 pos;
+ u16 baseTile = (palette / 16) << 12;
+
+ for (pos = 0; pos < 32 * 32; pos++)
+ ((u16 *) (VRAM + arg0))[pos] = baseTile + 1;
+
+ sub_8176DBC(gUnknown_085E5BAC, 3, 7, arg0, palette);
+ sub_8176DBC(gUnknown_085E5BBB, 7, 7, arg0, palette);
+ sub_8176DBC(gUnknown_085E5BCA, 11, 7, arg0, palette);
+ sub_8176DBC(gUnknown_085E5BCA, 16, 7, arg0, palette);
+ sub_8176DBC(gUnknown_085E5BD9, 20, 7, arg0, palette);
+ sub_8176DBC(gUnknown_085E5BE8, 24, 7, arg0, palette);
+}
+
+static void sub_8176EE8(struct Sprite *sprite)
+{
+ if (gUnknown_0203BD28 != 0)
+ {
+ DestroySprite(sprite);
+ return;
+ }
+
+ switch (sprite->data[0])
+ {
+ case 0:
+ StartSpriteAnimIfDifferent(sprite, 0);
+ break;
+ case 1:
+ StartSpriteAnimIfDifferent(sprite, 1);
+ if (sprite->pos1.x > -32)
+ sprite->pos1.x -= 1;
+ break;
+ case 2:
+ StartSpriteAnimIfDifferent(sprite, 2);
+ break;
+ case 3:
+ StartSpriteAnimIfDifferent(sprite, 3);
+ break;
+ case 4:
+ StartSpriteAnimIfDifferent(sprite, 0);
+ if (sprite->pos1.x > 120)
+ sprite->pos1.x -= 1;
+ break;
+ case 5:
+ StartSpriteAnimIfDifferent(sprite, 0);
+ if (sprite->pos1.x > -32)
+ sprite->pos1.x -= 1;
+ break;
+ }
+}
+
+static void sub_8176F90(struct Sprite *sprite)
+{
+ if (gUnknown_0203BD28 != 0)
+ {
+ DestroySprite(sprite);
+ return;
+ }
+
+ switch (sprite->data[0])
+ {
+ case 0:
+ sprite->pos2.y = 0;
+ StartSpriteAnimIfDifferent(sprite, 0);
+ break;
+ case 1:
+ if (sprite->pos1.x > 200)
+ StartSpriteAnimIfDifferent(sprite, 1);
+ else
+ StartSpriteAnimIfDifferent(sprite, 2);
+ if (sprite->pos1.x > -32)
+ sprite->pos1.x -= 2;
+ sprite->pos2.y = -gUnknown_0203BD26;
+ break;
+ case 2:
+ sprite->data[7] += 1;
+ StartSpriteAnimIfDifferent(sprite, 0);
+ if ((sprite->data[7] & 3) == 0)
+ sprite->pos1.x += 1;
+ break;
+ case 3:
+ StartSpriteAnimIfDifferent(sprite, 0);
+ if (sprite->pos1.x > -32)
+ sprite->pos1.x -= 1;
+ break;
+ }
+}
+
+static void sub_8177050(struct Sprite *sprite)
+{
+ if (gUnknown_0203BD28)
+ {
+ sub_818D820(sprite->data[6]);
+ return;
+ }
+
+ sprite->data[7] += 1;
+ switch (sprite->data[0])
+ {
+ case 0:
+ default:
+ sprite->oam.affineMode = 1;
+ sprite->oam.matrixNum = sprite->data[1];
+ sprite->data[2] = 16;
+ SetOamMatrix(sprite->data[1], 0x10000 / sprite->data[2], 0, 0, 0x10000 / sprite->data[2]);
+ sprite->invisible = FALSE;
+ sprite->data[0] = 1;
+ break;
+ case 1:
+ if (sprite->data[2] < 256)
+ {
+ sprite->data[2] += 8;
+ SetOamMatrix(sprite->data[1], 0x10000 / sprite->data[2], 0, 0, 0x10000 / sprite->data[2]);
+ }
+ else
+ {
+ sprite->data[0] += 1;
+ }
+ switch (sprite->data[1])
+ {
+ case 1:
+ if ((sprite->data[7] & 3) == 0)
+ sprite->pos1.y += 1;
+ sprite->pos1.x -= 2;
+ break;
+ case 2:
+ break;
+ case 3:
+ if ((sprite->data[7] & 3) == 0)
+ sprite->pos1.y += 1;
+ sprite->pos1.x += 2;
+ break;
+ }
+ break;
+ case 2:
+ if (sprite->data[3] != 0)
+ {
+ sprite->data[3] -= 1;
+ }
+ else
+ {
+ SetGpuReg(REG_OFFSET_BLDCNT, 0xF40);
+ SetGpuReg(REG_OFFSET_BLDALPHA, 0x10);
+ sprite->oam.objMode = 1;
+ sprite->data[3] = 16;
+ sprite->data[0] += 1;
+ }
+ break;
+ case 3:
+ if (sprite->data[3] != 0)
+ {
+ int data3;
+
+ sprite->data[3] -= 1;
+
+ data3 = 16 - sprite->data[3];
+ SetGpuReg(REG_OFFSET_BLDALPHA, (data3 << 8) + sprite->data[3]);
+ }
+ else
+ {
+ sprite->invisible = TRUE;
+ sprite->data[0] = 9;
+ }
+ break;
+ case 9:
+ sprite->data[0] += 1;
+ break;
+ case 10:
+ SetGpuReg(REG_OFFSET_BLDCNT, 0);
+ SetGpuReg(REG_OFFSET_BLDALPHA, 0);
+ sub_818D820(sprite->data[6]);
+ break;
+ }
+}
+
+static u8 sub_8177224(u16 species, s16 x, s16 y, u16 position)
+{
+ u8 spriteId;
+ u8 spriteId2;
+
+ spriteId = sub_80C0E9C(species, x, y, position);
+ gSprites[spriteId].oam.priority = 1;
+ gSprites[spriteId].data[1] = position + 1;
+ gSprites[spriteId].invisible = TRUE;
+ gSprites[spriteId].callback = sub_8177050;
+ gSprites[spriteId].data[6] = spriteId;
+
+ spriteId2 = CreateSprite(&gUnknown_085E7068, gSprites[spriteId].pos1.x, gSprites[spriteId].pos1.y, 1);
+ gSprites[spriteId2].data[0] = spriteId;
+
+ StartSpriteAnimIfDifferent(&gSprites[spriteId2], position);
+
+ return spriteId;
+}
+
+static void sub_81772B8(struct Sprite *sprite)
+{
+ if (gSprites[sprite->data[0]].data[0] == 10 || gUnknown_0203BD28)
+ {
+ DestroySprite(sprite);
+ return;
+ }
+
+ sprite->invisible = gSprites[sprite->data[0]].invisible;
+ sprite->oam.objMode = gSprites[sprite->data[0]].oam.objMode;
+ sprite->oam.affineMode = gSprites[sprite->data[0]].oam.affineMode;
+ sprite->oam.matrixNum = gSprites[sprite->data[0]].oam.matrixNum;
+ sprite->pos1.x = gSprites[sprite->data[0]].pos1.x;
+ sprite->pos1.y = gSprites[sprite->data[0]].pos1.y;
+}
+
+static void sub_8177388(void)
+{
+ u16 starter = SpeciesToNationalPokedexNum(GetStarterPokemon(VarGet(VAR_FIRST_POKE)));
+ u16 page;
+ u16 dexNum;
+ u16 j;
+
+ for (dexNum = 1, j = 0; dexNum < 386; dexNum++)
+ {
+ if (GetSetPokedexFlag(dexNum, 1))
+ {
+ gUnknown_0203BCE8->unk96[j] = dexNum;
+ j++;
+ }
+ }
+
+ for (dexNum = j; dexNum < 386; dexNum++)
+ gUnknown_0203BCE8->unk96[dexNum] = 0;
+
+ gUnknown_0203BCE8->unk39A = j;
+ if (gUnknown_0203BCE8->unk39A < 71)
+ gUnknown_0203BCE8->unk94 = j;
+ else
+ gUnknown_0203BCE8->unk94 = 71;
+
+ j = 0;
+ do
+ {
+ page = Random() % gUnknown_0203BCE8->unk39A;
+ gUnknown_0203BCE8->unk0[j] = gUnknown_0203BCE8->unk96[page];
+
+ j++;
+ gUnknown_0203BCE8->unk96[page] = 0;
+ gUnknown_0203BCE8->unk39A--;
+ if (page != gUnknown_0203BCE8->unk39A)
+ {
+ gUnknown_0203BCE8->unk96[page] = gUnknown_0203BCE8->unk96[gUnknown_0203BCE8->unk39A];
+ gUnknown_0203BCE8->unk96[gUnknown_0203BCE8->unk39A] = 0;
+ }
+ }
+ while (gUnknown_0203BCE8->unk39A != 0 && j < 71);
+
+ if (gUnknown_0203BCE8->unk94 < 71)
+ {
+ for (j = gUnknown_0203BCE8->unk94, page = 0; j < 71; j++)
+ {
+ gUnknown_0203BCE8->unk0[j] = gUnknown_0203BCE8->unk0[page];
+
+ page++;
+ if (page == gUnknown_0203BCE8->unk94)
+ page = 0;
+ }
+ gUnknown_0203BCE8->unk0[70] = starter;
+ }
+ else
+ {
+ for (dexNum = 0; gUnknown_0203BCE8->unk0[dexNum] != starter && dexNum < 71; dexNum++);
+
+ if (dexNum < gUnknown_0203BCE8->unk94 - 1)
+ {
+ gUnknown_0203BCE8->unk0[dexNum] = gUnknown_0203BCE8->unk0[70];
+ gUnknown_0203BCE8->unk0[70] = starter;
+ }
+ else
+ {
+ gUnknown_0203BCE8->unk0[70] = starter;
+ }
+ }
+ gUnknown_0203BCE8->unk94 = 71;
+}
diff --git a/src/hall_of_fame.c b/src/hall_of_fame.c
index d40e212bb..83df30d05 100644
--- a/src/hall_of_fame.c
+++ b/src/hall_of_fame.c
@@ -369,7 +369,7 @@ static const struct HallofFameMon sDummyFameMon =
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
static void VBlankCB_HallOfFame(void)
diff --git a/src/intro_credits_graphics.c b/src/intro_credits_graphics.c
index a3f4f36c2..b1502b630 100644
--- a/src/intro_credits_graphics.c
+++ b/src/intro_credits_graphics.c
@@ -5,63 +5,329 @@
#include "gpu_regs.h"
#include "task.h"
#include "main.h"
+#include "graphics.h"
-EWRAM_DATA u16 gUnknown_0203BD24 = 0;
-EWRAM_DATA s16 gUnknown_0203BD26 = 0;
-EWRAM_DATA s16 gUnknown_0203BD28 = 0;
+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);
-extern const u16 gUnknown_085F06E0[]/* = INCBIN_U16("graphics/intro/intro2_grass.gbapal")*/;
-extern const u16 gUnknown_085F0700[]/* = INCBIN_U16("graphics/intro/intro2_grass_afternoon.gbapal")*/;
-extern const u16 gUnknown_085F0720[]/* = INCBIN_U16("graphics/intro/intro2_grass_night.gbapal")*/;
-extern const u8 gUnknown_085F0740[]/* = INCBIN_U8("graphics/intro/intro2_grass.4bpp.lz")*/;
-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[]/* = {
+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
+};
-extern const struct CompressedSpriteSheet gUnknown_085F50EC[]/* = {
+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 },
+};
-extern const struct CompressedSpriteSheet gUnknown_085F5180[]/* = {
+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 }
+};
-void sub_817B76C();
-void sub_817B788();
-void sub_817B7A4();
+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 s16 gUnknown_0203BD26 = 0;
+EWRAM_DATA s16 gUnknown_0203BD28 = 0;
+
+static void sub_817B76C(void);
+static void sub_817B788(void);
+static void sub_817B7A4(void);
+static void sub_817B458(u8);
void load_intro_part2_graphics(u8 a)
{
@@ -262,7 +528,7 @@ u8 sub_817B3DC(u8 a, u16 b, u16 c, u16 d)
}
#ifdef NONMATCHING
-void sub_817B458(u8 taskId)
+static void sub_817B458(u8 taskId)
{
s16 r4;
s32 r2;
@@ -305,7 +571,7 @@ void sub_817B458(u8 taskId)
}
#else
ASM_DIRECT
-void sub_817B458(u8 taskId)
+static void sub_817B458(u8 taskId)
{
asm("push {r4,r5,lr}\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;
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;
+}
diff --git a/src/starter_choose.c b/src/starter_choose.c
index 83a7b8112..480edbcb7 100644
--- a/src/starter_choose.c
+++ b/src/starter_choose.c
@@ -25,12 +25,6 @@
#define STARTER_PKMN_POS_X 120
#define STARTER_PKMN_POS_Y 64
-// graphics
-extern const u32 gBirchHelpGfx[];
-extern const u32 gBirchBagTilemap[];
-extern const u32 gBirchGrassTilemap[];
-extern const u16 gBirchBagGrassPal[];
-
// text
extern const u8 gText_BirchInTrouble[];
extern const u8 gText_ConfirmStarterChoice[];
diff --git a/sym_ewram.txt b/sym_ewram.txt
index 47186c545..c6e6a3500 100644
--- a/sym_ewram.txt
+++ b/sym_ewram.txt
@@ -862,22 +862,7 @@ gUnknown_0203BCD4: @ 203BCD4
.space 0x4
.include "src/hall_of_fame.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/credits.o"
.include "src/lottery_corner.o"
.include "src/diploma.o"
.include "src/berry_tag_screen.o"