summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitattributes3
-rw-r--r--asm/credits.s441
-rw-r--r--asm/daycare.s64
-rw-r--r--asm/naming_screen.s16
-rw-r--r--asm/pokenav.s4
-rw-r--r--asm/roulette.s16
-rw-r--r--data/graphics.s4
-rw-r--r--data/menu_cursor.s262
-rw-r--r--data/naming_screen.s98
-rw-r--r--data/pokenav.s457
-rw-r--r--data/roulette.s207
-rw-r--r--data/text/credits.inc51
-rw-r--r--graphics/pokenav/83DFECC.pal19
-rw-r--r--graphics/pokenav/83DFEEC.pngbin0 -> 99 bytes
-rw-r--r--graphics/pokenav/83DFF8C.binbin0 -> 1280 bytes
-rw-r--r--graphics/pokenav/83E003C.pal19
-rw-r--r--graphics/pokenav/83E005C.pngbin0 -> 79 bytes
-rw-r--r--graphics/pokenav/83E007C.binbin0 -> 1360 bytes
-rw-r--r--graphics/pokenav/83E0124_pal.binbin0 -> 32 bytes
-rw-r--r--graphics/pokenav/83E0144_pal.binbin0 -> 32 bytes
-rw-r--r--graphics/pokenav/83E0164.binbin0 -> 72 bytes
-rw-r--r--graphics/pokenav/83E01AC.bin1
-rw-r--r--graphics/pokenav/83E01F4.bin1
-rw-r--r--graphics/pokenav/83E0254.pal19
-rw-r--r--graphics/pokenav/83E0274.pal19
-rw-r--r--graphics/pokenav/83E02B4.pal19
-rw-r--r--graphics/pokenav/83E02D4.binbin0 -> 64 bytes
-rw-r--r--graphics/pokenav/83E0314.pal19
-rw-r--r--graphics/pokenav/83E03A8.pal19
-rw-r--r--graphics/pokenav/83E03C8.binbin0 -> 68 bytes
-rw-r--r--graphics/pokenav/83E3780.pngbin0 -> 88 bytes
-rw-r--r--graphics/pokenav/83E3BC0.binbin0 -> 32 bytes
-rw-r--r--graphics/pokenav/83E42D8.pal19
-rw-r--r--graphics/pokenav/83E4678.pal19
-rw-r--r--graphics/roulette/83F86BC.pal259
-rw-r--r--graphics/roulette/83F88BC.binbin0 -> 768 bytes
-rw-r--r--graphics/roulette/83F907C.pal19
-rw-r--r--graphics/roulette/83F909C.pal19
-rw-r--r--graphics/roulette/83F90BC.pal19
-rw-r--r--graphics/roulette/83F90DC.pal19
-rwxr-xr-xgraphics/roulette/center.pal19
-rw-r--r--graphics/roulette/wheel.pngbin0 -> 3248 bytes
-rw-r--r--graphics/roulette/wheel_map.binbin0 -> 1024 bytes
-rwxr-xr-xgraphics/unknown/unknown_E81098.bin189
-rw-r--r--ld_script.txt1
-rw-r--r--src/bard_music.c199
-rw-r--r--src/credits.c432
-rw-r--r--src/daycare.c33
-rw-r--r--src/menu_cursor.c4
-rw-r--r--sym_ewram.txt3
50 files changed, 1862 insertions, 1149 deletions
diff --git a/.gitattributes b/.gitattributes
index 7c8d2699d..b447e32c3 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -13,3 +13,6 @@ Makefile text eol=lf
*.png binary
*.bin binary
+
+*.h linguist-language=C
+*.inc linguist-language=Assembly
diff --git a/asm/credits.s b/asm/credits.s
index fe9a93668..4c6f9d5d8 100644
--- a/asm/credits.s
+++ b/asm/credits.s
@@ -6,447 +6,6 @@
.text
- thumb_func_start sub_81441B8
-sub_81441B8: @ 81441B8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, _081441E4 @ =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, 0xA
- bhi _08144218
- lsls r0, 2
- ldr r1, _081441E8 @ =_081441EC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_081441E4: .4byte gTasks
-_081441E8: .4byte _081441EC
- .align 2, 0
-_081441EC:
- .4byte _08144218
- .4byte _08144258
- .4byte _08144278
- .4byte _08144358
- .4byte _0814438C
- .4byte _081443F8
- .4byte _08144218
- .4byte _08144218
- .4byte _08144218
- .4byte _08144218
- .4byte _08144428
-_08144218:
- ldr r0, _08144250 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0
- beq _0814422A
- b _08144446
-_0814422A:
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r6
- movs r1, 0x1
- strh r1, [r0, 0x8]
- movs r1, 0x58
- strh r1, [r0, 0xE]
- movs r3, 0xA
- ldrsh r1, [r0, r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r6
- strh r2, [r0, 0x24]
- ldr r0, _08144254 @ =gUnknown_02039320
- strh r2, [r0]
- b _08144446
- .align 2, 0
-_08144250: .4byte gPaletteFade
-_08144254: .4byte gUnknown_02039320
-_08144258:
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r1, r0, r6
- ldrh r2, [r1, 0xE]
- movs r3, 0xE
- ldrsh r0, [r1, r3]
- cmp r0, 0
- beq _08144270
- subs r0, r2, 0x1
- strh r0, [r1, 0xE]
- b _08144446
-_08144270:
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- b _08144446
-_08144278:
- movs r2, 0x80
- lsls r2, 19
- ldrh r1, [r2]
- ldr r0, _08144320 @ =0x0000feff
- ands r0, r1
- strh r0, [r2]
- lsls r2, r5, 2
- adds r0, r2, r5
- lsls r0, 3
- adds r3, r0, r6
- movs r0, 0xA
- ldrsh r1, [r3, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r4, r0, r6
- ldr r1, [r4]
- ldr r0, _08144324 @ =sub_8143B68
- mov r8, r2
- cmp r1, r0
- bne _08144352
- movs r1, 0xC
- ldrsh r0, [r3, r1]
- cmp r0, 0x33
- bgt _0814434C
- movs r4, 0
- ldr r7, _08144328 @ =gCreditsEntryPointerTable
- adds r6, r3, 0
-_081442B0:
- movs r2, 0xC
- ldrsh r1, [r6, r2]
- lsls r0, r1, 2
- adds r0, r1
- adds r0, r4
- lsls r0, 2
- adds r0, r7
- ldr r0, [r0]
- ldr r0, [r0, 0x4]
- lsls r2, r4, 25
- movs r3, 0x90
- lsls r3, 20
- adds r2, r3
- lsrs r2, 24
- movs r1, 0
- movs r3, 0xF0
- bl sub_8072BD8
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x4
- bls _081442B0
- ldr r3, _0814432C @ =gTasks
- mov r0, r8
- adds r1, r0, r5
- 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 _08144334
- movs r0, 0xC0
- lsls r0, 2
- ldr r1, _08144330 @ =0x0000328d
- b _0814433A
- .align 2, 0
-_08144320: .4byte 0x0000feff
-_08144324: .4byte sub_8143B68
-_08144328: .4byte gCreditsEntryPointerTable
-_0814432C: .4byte gTasks
-_08144330: .4byte 0x0000328d
-_08144334:
- movs r0, 0xC0
- lsls r0, 2
- ldr r1, _08144348 @ =0x00001967
-_0814433A:
- str r1, [sp]
- movs r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- b _08144446
- .align 2, 0
-_08144348: .4byte 0x00001967
-_0814434C:
- movs r0, 0xA
- strh r0, [r3, 0x8]
- b _08144446
-_08144352:
- movs r0, 0
- strh r0, [r4, 0x24]
- b _08144446
-_08144358:
- movs r2, 0x80
- lsls r2, 19
- ldrh r0, [r2]
- movs r3, 0x80
- lsls r3, 1
- adds r1, r3, 0
- orrs r0, r1
- strh r0, [r2]
- ldr r0, _08144388 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08144446
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r6
- movs r1, 0x82
- strh r1, [r0, 0xE]
- ldrh r1, [r0, 0x8]
- adds r1, 0x1
- strh r1, [r0, 0x8]
- b _08144446
- .align 2, 0
-_08144388: .4byte gPaletteFade
-_0814438C:
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r4, r0, r6
- ldrh r1, [r4, 0xE]
- movs r2, 0xE
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _081443A4
- subs r0, r1, 0x1
- strh r0, [r4, 0xE]
- b _08144446
-_081443A4:
- ldrb r0, [r4, 0xC]
- ldrb r1, [r4, 0xA]
- bl sub_8144454
- lsls r0, 24
- cmp r0, 0
- beq _081443BA
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _08144446
-_081443BA:
- 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, r6
- movs r1, 0x22
- ldrsh r0, [r0, r1]
- cmp r0, 0x1
- bne _081443E0
- movs r0, 0xC0
- lsls r0, 2
- ldr r1, _081443DC @ =0x0000328d
- b _081443E6
- .align 2, 0
-_081443DC: .4byte 0x0000328d
-_081443E0:
- movs r0, 0xC0
- lsls r0, 2
- ldr r1, _081443F4 @ =0x00001967
-_081443E6:
- str r1, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- b _08144446
- .align 2, 0
-_081443F4: .4byte 0x00001967
-_081443F8:
- ldr r0, _08144420 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08144446
- movs r0, 0
- movs r1, 0x9
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- ldr r0, _08144424 @ =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- movs r0, 0x2
- strh r0, [r1, 0x8]
- b _08144446
- .align 2, 0
-_08144420: .4byte gPaletteFade
-_08144424: .4byte gTasks
-_08144428:
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r6
- movs r2, 0xA
- ldrsh r1, [r0, r2]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r6
- movs r1, 0x1
- strh r1, [r0, 0x10]
- adds r0, r5, 0
- bl DestroyTask
-_08144446:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_81441B8
-
- thumb_func_start sub_8144454
-sub_8144454: @ 8144454
- 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, _08144508 @ =gTasks
- cmp r3, 0x6
- bne _08144474
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r0, r4
- movs r1, 0x2
- strh r1, [r0, 0x1E]
-_08144474:
- cmp r3, 0xC
- bne _08144486
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r0, r4
- movs r1, 0x1
- strh r1, [r0, 0x16]
- strh r1, [r0, 0x1E]
-_08144486:
- cmp r3, 0x12
- bne _08144496
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r0, r4
- movs r1, 0x2
- strh r1, [r0, 0x1E]
-_08144496:
- cmp r3, 0x18
- bne _081444AA
- 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]
-_081444AA:
- cmp r3, 0x1E
- bne _081444BA
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r0, r4
- movs r1, 0x2
- strh r1, [r0, 0x1E]
-_081444BA:
- cmp r3, 0x23
- bne _081444CE
- 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]
-_081444CE:
- cmp r3, 0x28
- bne _081444DE
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r0, r4
- movs r1, 0x2
- strh r1, [r0, 0x1E]
-_081444DE:
- cmp r6, 0x2E
- bne _081444F2
- 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]
-_081444F2:
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r4
- movs r1, 0x1E
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _0814450C
- movs r0, 0
- b _0814450E
- .align 2, 0
-_08144508: .4byte gTasks
-_0814450C:
- movs r0, 0x1
-_0814450E:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8144454
-
thumb_func_start sub_8144514
sub_8144514: @ 8144514
push {r4-r7,lr}
diff --git a/asm/daycare.s b/asm/daycare.s
index 80e7c46e8..d78757d8f 100644
--- a/asm/daycare.s
+++ b/asm/daycare.s
@@ -6,70 +6,6 @@
.text
- thumb_func_start pokemon_get_nick
-pokemon_get_nick: @ 80412B0
- push {r4,lr}
- sub sp, 0x14
- adds r4, r1, 0
- movs r1, 0x2
- mov r2, sp
- bl GetMonData
- adds r0, r4, 0
- mov r1, sp
- bl StringCopy10
- add sp, 0x14
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end pokemon_get_nick
-
- thumb_func_start pokemon_get_nick_
-pokemon_get_nick_: @ 80412D0
- push {r4,lr}
- sub sp, 0x14
- adds r4, r1, 0
- movs r1, 0x2
- mov r2, sp
- bl GetBoxMonData
- adds r0, r4, 0
- mov r1, sp
- bl StringCopy10
- add sp, 0x14
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end pokemon_get_nick_
-
- thumb_func_start daycare_count_pokemon
-daycare_count_pokemon: @ 80412F0
- push {r4-r6,lr}
- adds r6, r0, 0
- movs r5, 0
- movs r4, 0
-_080412F8:
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 4
- adds r0, r6, r0
- movs r1, 0xB
- bl GetBoxMonData
- cmp r0, 0
- beq _08041310
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
-_08041310:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x1
- bls _080412F8
- adds r0, r5, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end daycare_count_pokemon
-
thumb_func_start sub_8041324
sub_8041324: @ 8041324
push {r4-r7,lr}
diff --git a/asm/naming_screen.s b/asm/naming_screen.s
index 76ee536c7..aeec1b4bc 100644
--- a/asm/naming_screen.s
+++ b/asm/naming_screen.s
@@ -2253,7 +2253,7 @@ sub_80B6A80: @ 80B6A80
lsls r4, 2
ldr r5, _080B6B00 @ =gSprites
adds r4, r5
- ldr r1, _080B6B04 @ =gUnknown_083CE558
+ ldr r1, _080B6B04 @ =gSubspriteTables_83CE558
adds r0, r4, 0
bl SetSubspriteTables
ldr r0, _080B6B08 @ =gSpriteTemplate_83CE5F8
@@ -2268,7 +2268,7 @@ sub_80B6A80: @ 80B6A80
adds r2, r0
lsls r2, 2
adds r2, r5
- ldr r1, _080B6B0C @ =gUnknown_083CE560
+ ldr r1, _080B6B0C @ =gSubspriteTables_83CE560
adds r0, r2, 0
bl SetSubspriteTables
ldr r0, _080B6B10 @ =gSpriteTemplate_83CE5E0
@@ -2297,9 +2297,9 @@ sub_80B6A80: @ 80B6A80
_080B6AF8: .4byte gSpriteTemplate_83CE5C8
_080B6AFC: .4byte 0x02000000
_080B6B00: .4byte gSprites
-_080B6B04: .4byte gUnknown_083CE558
+_080B6B04: .4byte gSubspriteTables_83CE558
_080B6B08: .4byte gSpriteTemplate_83CE5F8
-_080B6B0C: .4byte gUnknown_083CE560
+_080B6B0C: .4byte gSubspriteTables_83CE560
_080B6B10: .4byte gSpriteTemplate_83CE5E0
thumb_func_end sub_80B6A80
@@ -2541,7 +2541,7 @@ sub_80B6CA8: @ 80B6CA8
lsls r0, 2
ldr r4, _080B6CF8 @ =gSprites
adds r0, r4
- ldr r5, _080B6CFC @ =gUnknown_083CE578
+ ldr r5, _080B6CFC @ =gSubspriteTables_83CE578
adds r1, r5, 0
bl SetSubspriteTables
ldr r0, _080B6D00 @ =gSpriteTemplate_83CE628
@@ -2564,7 +2564,7 @@ sub_80B6CA8: @ 80B6CA8
.align 2, 0
_080B6CF4: .4byte gSpriteTemplate_83CE610
_080B6CF8: .4byte gSprites
-_080B6CFC: .4byte gUnknown_083CE578
+_080B6CFC: .4byte gSubspriteTables_83CE578
_080B6D00: .4byte gSpriteTemplate_83CE628
thumb_func_end sub_80B6CA8
@@ -2816,7 +2816,7 @@ sub_80B6EBC: @ 80B6EBC
lsls r4, 2
ldr r0, _080B6EF4 @ =gSprites
adds r4, r0
- ldr r1, _080B6EF8 @ =gUnknown_083CE580
+ ldr r1, _080B6EF8 @ =gSubspriteTables_83CE580
adds r0, r4, 0
bl SetSubspriteTables
ldrb r0, [r4, 0x5]
@@ -2829,7 +2829,7 @@ sub_80B6EBC: @ 80B6EBC
.align 2, 0
_080B6EF0: .4byte gSpriteTemplate_83CE688
_080B6EF4: .4byte gSprites
-_080B6EF8: .4byte gUnknown_083CE580
+_080B6EF8: .4byte gSubspriteTables_83CE580
thumb_func_end sub_80B6EBC
thumb_func_start sub_80B6EFC
diff --git a/asm/pokenav.s b/asm/pokenav.s
index 49d627336..966285ab3 100644
--- a/asm/pokenav.s
+++ b/asm/pokenav.s
@@ -12455,7 +12455,7 @@ _080F1F4A:
movs r1, 0x3
orrs r0, r1
strb r0, [r4, 0x1]
- ldr r0, _080F1FB0 @ =gUnknown_083E4450
+ ldr r0, _080F1FB0 @ =gSpriteAffineAnimTable_83E4450
str r0, [r4, 0x10]
adds r0, r4, 0
bl InitSpriteAffineAnim
@@ -12489,7 +12489,7 @@ _080F1F4A:
b _080F1FE4
.align 2, 0
_080F1FAC: .4byte 0x00006dad
-_080F1FB0: .4byte gUnknown_083E4450
+_080F1FB0: .4byte gSpriteAffineAnimTable_83E4450
_080F1FB4: .4byte sub_80F2240
_080F1FB8: .4byte gUnknown_083DFEC4
_080F1FBC: .4byte 0x0000030f
diff --git a/asm/roulette.s b/asm/roulette.s
index 0704caf7f..6382ecf0b 100644
--- a/asm/roulette.s
+++ b/asm/roulette.s
@@ -369,7 +369,7 @@ _081153D0:
movs r1, 0xC0
lsls r1, 19
bl LZ77UnCompVram
- ldr r0, _08115434 @ =gUnknown_08E81098
+ ldr r0, _08115434 @ =gRouletteWheelTiles
ldr r1, _08115438 @ =0x06004000
bl LZ77UnCompVram
ldr r1, _0811543C @ =gMain
@@ -382,7 +382,7 @@ _08115424: .4byte 0x00004686
_08115428: .4byte 0x00004401
_0811542C: .4byte 0x0000060a
_08115430: .4byte gUnknown_08E8096C
-_08115434: .4byte gUnknown_08E81098
+_08115434: .4byte gRouletteWheelTiles
_08115438: .4byte 0x06004000
_0811543C: .4byte gMain
_08115440: .4byte 0x0000043c
@@ -3571,7 +3571,7 @@ _08116DEE:
cmp r3, 0x3
bls _08116DC8
movs r2, 0
- ldr r0, _08116E54 @ =gUnknown_083F8D94
+ ldr r0, _08116E54 @ =gUnknown_083F8D90 + 0x4
add r0, r12
ldr r7, [r0]
ldr r4, _08116E58 @ =0x02019016
@@ -3617,7 +3617,7 @@ _08116E38:
_08116E48: .4byte 0x02019000
_08116E4C: .4byte gTasks
_08116E50: .4byte gUnknown_083F8D90
-_08116E54: .4byte gUnknown_083F8D94
+_08116E54: .4byte gUnknown_083F8D90 + 0x4
_08116E58: .4byte 0x02019016
thumb_func_end sub_8116D54
@@ -8689,10 +8689,10 @@ _081196A8:
cmp r5, r9
bcs _0811970E
ldr r6, _08119734 @ =0x02019000
- ldr r7, _08119738 @ =gUnknown_083F8C0C
+ ldr r7, _08119738 @ =gUnknown_083F8C00 + 0xC
_081196B6:
lsls r0, r3, 3
- ldr r1, _0811973C @ =gUnknown_083F8D94
+ ldr r1, _0811973C @ =gUnknown_083F8D90 + 0x4
adds r0, r1
ldr r1, [r6, 0x8]
ldr r2, [r0]
@@ -8757,8 +8757,8 @@ _0811970E:
b _08119766
.align 2, 0
_08119734: .4byte 0x02019000
-_08119738: .4byte gUnknown_083F8C0C
-_0811973C: .4byte gUnknown_083F8D94
+_08119738: .4byte gUnknown_083F8C00 + 0xC
+_0811973C: .4byte gUnknown_083F8D90 + 0x4
_08119740: .4byte 0x0201901b
_08119744:
ldr r0, [sp, 0x10]
diff --git a/data/graphics.s b/data/graphics.s
index f597b1248..5111c4b99 100644
--- a/data/graphics.s
+++ b/data/graphics.s
@@ -3401,8 +3401,8 @@ gUnknown_08E8096C:: @ 8E8096C
.incbin "graphics/unknown/unknown_E8096C.4bpp.lz"
.align 2
-gUnknown_08E81098:: @ 8E81098
- .incbin "graphics/unknown/unknown_E81098.bin.lz"
+gRouletteWheelTiles:: @ 8E81098
+ .incbin "graphics/roulette/wheel.8bpp.lz"
.align 2
gRouletteCenter_Gfx::
diff --git a/data/menu_cursor.s b/data/menu_cursor.s
index 80d7e1210..0e12c519c 100644
--- a/data/menu_cursor.s
+++ b/data/menu_cursor.s
@@ -161,68 +161,172 @@ gSpriteTemplate_842F2B0:: @ 842F2B0
spr_template 65521, 0xFFFF, gOamData_842F12C, gSpriteAnimTable_842F13C, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
.align 2
-Unknown_842F2C8: @ 842F2C8
- .incbin "baserom.gba", 0x0042f2c8, 0x10
-Unknown_842F2D8: @ 842F2D8
- .incbin "baserom.gba", 0x0042f2d8, 0x18
-Unknown_842F2F0: @ 842F2F0
- .incbin "baserom.gba", 0x0042f2f0, 0x20
-Unknown_842F310: @ 842F310
- .incbin "baserom.gba", 0x0042f310, 0x18
-Unknown_842F328: @ 842F328
- .incbin "baserom.gba", 0x0042f328, 0x18
-Unknown_842F340: @ 842F340
- .incbin "baserom.gba", 0x0042f340, 0x20
-Unknown_842F360: @ 842F360
- .incbin "baserom.gba", 0x0042f360, 0x20
-Unknown_842F380: @ 842F380
- .incbin "baserom.gba", 0x0042f380, 0x20
-Unknown_842F3A0: @ 842F3A0
- .incbin "baserom.gba", 0x0042f3a0, 0x20
-Unknown_842F3C0: @ 842F3C0
- .incbin "baserom.gba", 0x0042f3c0, 0x28
-Unknown_842F3E8: @ 842F3E8
- .incbin "baserom.gba", 0x0042f3e8, 0x28
-Unknown_842F410: @ 842F410
- .incbin "baserom.gba", 0x0042f410, 0x28
-Unknown_842F438: @ 842F438
- .incbin "baserom.gba", 0x0042f438, 0x28
-Unknown_842F460: @ 842F460
- .incbin "baserom.gba", 0x0042f460, 0x30
-Unknown_842F490: @ 842F490
- .incbin "baserom.gba", 0x0042f490, 0x30
-Unknown_842F4C0: @ 842F4C0
- .incbin "baserom.gba", 0x0042f4c0, 0x30
-Unknown_842F4F0: @ 842F4F0
- .incbin "baserom.gba", 0x0042f4f0, 0x30
-Unknown_842F520: @ 842F520
- .incbin "baserom.gba", 0x0042f520, 0x38
-Unknown_842F558: @ 842F558
- .incbin "baserom.gba", 0x0042f558, 0x18
-
- .4byte Unknown_842F2C8
- .4byte Unknown_842F2C8
- .4byte Unknown_842F2D8
- .4byte Unknown_842F2F0
- .4byte Unknown_842F310
- .4byte Unknown_842F328
- .4byte Unknown_842F340
- .4byte Unknown_842F360
- .4byte Unknown_842F380
- .4byte Unknown_842F3A0
- .4byte Unknown_842F3C0
- .4byte Unknown_842F3E8
- .4byte Unknown_842F410
- .4byte Unknown_842F438
- .4byte Unknown_842F460
- .4byte Unknown_842F490
- .4byte Unknown_842F4C0
- .4byte Unknown_842F4F0
- .4byte Unknown_842F520
+gSubspriteTable_842F2C8:: @ 842F2C8
+ subsprite -1, 0, 0, 0, 8x16
+ subsprite 1, 0, 0, 4, 8x16
+
+ .align 2
+gSubspriteTable_842F2D8:: @ 842F2D8
+ subsprite -1, 0, 0, 0, 8x16
+ subsprite 1, 0, 0, 2, 8x16
+ subsprite 9, 0, 0, 4, 8x16
+
+ .align 2
+gSubspriteTable_842F2F0:: @ 842F2F0
+ subsprite -1, 0, 0, 0, 8x16
+ subsprite 1, 0, 0, 2, 8x16
+ subsprite 9, 0, 0, 2, 8x16
+ subsprite 17, 0, 0, 4, 8x16
+
+ .align 2
+gSubspriteTable_842F310:: @ 842F310
+ subsprite -1, 0, 0, 0, 8x16
+ subsprite 1, 0, 0, 6, 32x16
+ subsprite 25, 0, 0, 4, 8x16
+
+ .align 2
+gSubspriteTable_842F328:: @ 842F328
+ subsprite -1, 0, 0, 0, 8x16
+ subsprite 1, 0, 0, 6, 32x16
+ subsprite 33, 0, 0, 4, 8x16
+
+ .align 2
+gSubspriteTable_842F340:: @ 842F340
+ subsprite -1, 0, 0, 0, 8x16
+ subsprite 1, 0, 0, 2, 8x16
+ subsprite 9, 0, 0, 6, 32x16
+ subsprite 41, 0, 0, 4, 8x16
+
+ .align 2
+gSubspriteTable_842F360:: @ 842F360
+ subsprite -1, 0, 0, 0, 8x16
+ subsprite 1, 0, 0, 6, 32x16
+ subsprite 17, 0, 0, 6, 32x16
+ subsprite 49, 0, 0, 4, 8x16
+
+ .align 2
+gSubspriteTable_842F380:: @ 842F380
+ subsprite -1, 0, 0, 0, 8x16
+ subsprite 1, 0, 0, 6, 32x16
+ subsprite 25, 0, 0, 6, 32x16
+ subsprite 57, 0, 0, 4, 8x16
+
+ .align 2
+gSubspriteTable_842F3A0:: @ 842F3A0
+ subsprite -1, 0, 0, 0, 8x16
+ subsprite 1, 0, 0, 6, 32x16
+ subsprite 33, 0, 0, 6, 32x16
+ subsprite 65, 0, 0, 4, 8x16
+
+ .align 2
+gSubspriteTable_842F3C0:: @ 842F3C0
+ subsprite -1, 0, 0, 0, 8x16
+ subsprite 1, 0, 0, 2, 8x16
+ subsprite 9, 0, 0, 6, 32x16
+ subsprite 41, 0, 0, 6, 32x16
+ subsprite 73, 0, 0, 4, 8x16
+
+ .align 2
+gSubspriteTable_842F3E8:: @ 842F3E8
+ subsprite -1, 0, 0, 0, 8x16
+ subsprite 1, 0, 0, 6, 32x16
+ subsprite 33, 0, 0, 6, 32x16
+ subsprite 49, 0, 0, 6, 32x16
+ subsprite 81, 0, 0, 4, 8x16
+
+ .align 2
+gSubspriteTable_842F410:: @ 842F410
+ subsprite -1, 0, 0, 0, 8x16
+ subsprite 1, 0, 0, 6, 32x16
+ subsprite 33, 0, 0, 6, 32x16
+ subsprite 57, 0, 0, 6, 32x16
+ subsprite 89, 0, 0, 4, 8x16
+
+ .align 2
+gSubspriteTable_842F438:: @ 842F438
+ subsprite -1, 0, 0, 0, 8x16
+ subsprite 1, 0, 0, 6, 32x16
+ subsprite 33, 0, 0, 6, 32x16
+ subsprite 65, 0, 0, 6, 32x16
+ subsprite 97, 0, 0, 4, 8x16
+
+ .align 2
+gSubspriteTable_842F460:: @ 842F460
+ subsprite -1, 0, 0, 0, 8x16
+ subsprite 1, 0, 0, 2, 8x16
+ subsprite 9, 0, 0, 6, 32x16
+ subsprite 41, 0, 0, 6, 32x16
+ subsprite 73, 0, 0, 6, 32x16
+ subsprite 105, 0, 0, 4, 8x16
+
+ .align 2
+gSubspriteTable_842F490:: @ 842F490
+ subsprite -1, 0, 0, 0, 8x16
+ subsprite 1, 0, 0, 6, 32x16
+ subsprite 33, 0, 0, 6, 32x16
+ subsprite 65, 0, 0, 6, 32x16
+ subsprite 81, 0, 0, 6, 32x16
+ subsprite 113, 0, 0, 4, 8x16
+
+ .align 2
+gSubspriteTable_842F4C0:: @ 842F4C0
+ subsprite -1, 0, 0, 0, 8x16
+ subsprite 1, 0, 0, 6, 32x16
+ subsprite 33, 0, 0, 6, 32x16
+ subsprite 65, 0, 0, 6, 32x16
+ subsprite 89, 0, 0, 6, 32x16
+ subsprite 121, 0, 0, 4, 8x16
+
+ .align 2
+gSubspriteTable_842F4F0:: @ 842F4F0
+ subsprite -1, 0, 0, 0, 8x16
+ subsprite 1, 0, 0, 6, 32x16
+ subsprite 33, 0, 0, 6, 32x16
+ subsprite 65, 0, 0, 6, 32x16
+ subsprite 97, 0, 0, 6, 32x16
+ subsprite 129, 0, 0, 4, 8x16
+
+ .align 2
+gSubspriteTable_842F520:: @ 842F520
+ subsprite -1, 0, 0, 0, 8x16
+ subsprite 1, 0, 0, 2, 8x16
+ subsprite 9, 0, 0, 6, 32x16
+ subsprite 41, 0, 0, 6, 32x16
+ subsprite 73, 0, 0, 6, 32x16
+ subsprite 105, 0, 0, 6, 32x16
+ subsprite 137, 0, 0, 4, 8x16
+
+ .align 2
+gSubspriteTable_842F558:: @ 842F558
+ subsprite -1, 0, 0, 0, 8x16
+ subsprite 7, 0, 0, 6, 32x16
+ subsprite 35, 0, 0, 4, 8x16
+
+ .align 2
+gUnknown_0842F570:: @ 842F570
+ .4byte gSubspriteTable_842F2C8
+ .4byte gSubspriteTable_842F2C8
+ .4byte gSubspriteTable_842F2D8
+ .4byte gSubspriteTable_842F2F0
+ .4byte gSubspriteTable_842F310
+ .4byte gSubspriteTable_842F328
+ .4byte gSubspriteTable_842F340
+ .4byte gSubspriteTable_842F360
+ .4byte gSubspriteTable_842F380
+ .4byte gSubspriteTable_842F3A0
+ .4byte gSubspriteTable_842F3C0
+ .4byte gSubspriteTable_842F3E8
+ .4byte gSubspriteTable_842F410
+ .4byte gSubspriteTable_842F438
+ .4byte gSubspriteTable_842F460
+ .4byte gSubspriteTable_842F490
+ .4byte gSubspriteTable_842F4C0
+ .4byte gSubspriteTable_842F4F0
+ .4byte gSubspriteTable_842F520
.align 2
gUnknown_0842F5BC:: @ 842F5BC
- .4byte Unknown_842F558
+ .4byte gSubspriteTable_842F558
.align 2
gSubspriteTables_842F5C0:: @ 842F5C0
@@ -260,26 +364,26 @@ gSubspriteTables_842F5C0:: @ 842F5C0
.4byte 31, gMenuCursorSubsprites
.align 2
-gUnknown_0842F6C0:: @ 842F6C0
- .4byte 0x2, Unknown_842F2C8
- .4byte 0x2, Unknown_842F2C8
- .4byte 0x3, Unknown_842F2D8
- .4byte 0x4, Unknown_842F2F0
- .4byte 0x3, Unknown_842F310
- .4byte 0x3, Unknown_842F328
- .4byte 0x4, Unknown_842F340
- .4byte 0x4, Unknown_842F360
- .4byte 0x4, Unknown_842F380
- .4byte 0x4, Unknown_842F3A0
- .4byte 0x5, Unknown_842F3C0
- .4byte 0x5, Unknown_842F3E8
- .4byte 0x5, Unknown_842F410
- .4byte 0x5, Unknown_842F438
- .4byte 0x6, Unknown_842F460
- .4byte 0x6, Unknown_842F490
- .4byte 0x6, Unknown_842F4C0
- .4byte 0x6, Unknown_842F4F0
- .4byte 0x7, Unknown_842F520
+gSubspriteTables_842F6C0:: @ 842F6C0
+ .4byte 2, gSubspriteTable_842F2C8
+ .4byte 2, gSubspriteTable_842F2C8
+ .4byte 3, gSubspriteTable_842F2D8
+ .4byte 4, gSubspriteTable_842F2F0
+ .4byte 3, gSubspriteTable_842F310
+ .4byte 3, gSubspriteTable_842F328
+ .4byte 4, gSubspriteTable_842F340
+ .4byte 4, gSubspriteTable_842F360
+ .4byte 4, gSubspriteTable_842F380
+ .4byte 4, gSubspriteTable_842F3A0
+ .4byte 5, gSubspriteTable_842F3C0
+ .4byte 5, gSubspriteTable_842F3E8
+ .4byte 5, gSubspriteTable_842F410
+ .4byte 5, gSubspriteTable_842F438
+ .4byte 6, gSubspriteTable_842F460
+ .4byte 6, gSubspriteTable_842F490
+ .4byte 6, gSubspriteTable_842F4C0
+ .4byte 6, gSubspriteTable_842F4F0
+ .4byte 7, gSubspriteTable_842F520
.align 2
gUnknown_0842F758:: @ 842F758
diff --git a/data/naming_screen.s b/data/naming_screen.s
index c9196c66a..22998e7d7 100644
--- a/data/naming_screen.s
+++ b/data/naming_screen.s
@@ -11,8 +11,8 @@ gSpriteImage_83CE094:: @ 83CE094
gSpriteImage_83CE154:: @ 83CE154
.incbin "graphics/naming_screen/pc_icon/1.4bpp"
- .align 2
- .incbin "baserom.gba", 0x003ce214, 0x4
+@ XXX: what is this?
+ .4byte 0x2000000
.align 2
gUnknown_083CE218:: @ 83CE218
@@ -39,17 +39,21 @@ gUnknown_083CE250:: @ 83CE250
.4byte sub_80B626C
.4byte sub_80B6274
+ .align 1
gUnknown_083CE258:: @ 83CE258
- .incbin "baserom.gba", 0x003ce258, 0xa
+ .2byte 0, 0, 0, -1, 1
+ .align 1
gUnknown_083CE262:: @ 83CE262
- .incbin "baserom.gba", 0x003ce262, 0xa
+ .2byte 0, -1, 1, 0, 0
+ .align 1
gUnknown_083CE26C:: @ 83CE26C
- .incbin "baserom.gba", 0x003ce26c, 0x8
+ .2byte 0, 1, 1, 2
+ .align 1
gUnknown_083CE274:: @ 83CE274
- .incbin "baserom.gba", 0x003ce274, 0x8
+ .2byte 0, 0, 3, 0
.align 2
gUnknown_083CE27C:: @ 83CE27C
@@ -64,10 +68,12 @@ gUnknown_083CE28C:: @ 83CE28C
.4byte 0x02000004
gUnknown_083CE294:: @ 83CE294
- .incbin "baserom.gba", 0x003ce294, 0x1b
+ .byte 1, 3, 5, 8, 10, 12, 14, 17, 19
+ .byte 1, 3, 5, 8, 10, 12, 14, 17, 19
+ .byte 1, 4, 7, 10, 13, 16, 16, 16, 19
gUnknown_083CE2AF:: @ 83CE2AF
- .incbin "baserom.gba", 0x003ce2af, 0x5
+ .byte 1, 2, 3
.align 2
gUnknown_083CE2B4:: @ 83CE2B4
@@ -76,17 +82,21 @@ gUnknown_083CE2B4:: @ 83CE2B4
.4byte sub_80B6B9C
.4byte sub_80B6C08
+ .align 1
gUnknown_083CE2C4:: @ 83CE2C4
- .incbin "baserom.gba", 0x003ce2c4, 0x6
+ .2byte 1, 3, 2
+ .align 1
gUnknown_083CE2CA:: @ 83CE2CA
- .incbin "baserom.gba", 0x003ce2ca, 0x6
+ .2byte 4, 6, 5
+ .align 1
gUnknown_083CE2D0:: @ 83CE2D0
- .incbin "baserom.gba", 0x003ce2d0, 0x8
+ .2byte 0, -4, -2, -1
+ .align 1
gUnknown_083CE2D8:: @ 83CE2D8
- .incbin "baserom.gba", 0x003ce2d8, 0x8
+ .2byte 2, 3, 2, 1
.align 2
gUnknown_083CE2E0:: @ 83CE2E0
@@ -104,8 +114,10 @@ gUnknown_083CE2F0:: @ 83CE2F0
.4byte sub_80B7670
.4byte sub_80B7660
+ .align 2
gUnknown_083CE308:: @ 83CE308
- .incbin "baserom.gba", 0x003ce308, 0x8
+ .4byte VRAM + 0xE000
+ .4byte VRAM + 0xE800
.align 2
gUnknown_083CE310:: @ 83CE310
@@ -143,9 +155,8 @@ gUnknown_083CE368:: @ 83CE368
.4byte nullsub_62
.4byte sub_80B7924
- .align 2
gUnknown_083CE370:: @ 83CE370
- .incbin "baserom.gba", 0x003ce370, 0x4
+ .string "β™‚$"
.align 2
Unknown_83CE374:
@@ -202,38 +213,59 @@ gOamData_83CE4A8:: @ 83CE4A8
.2byte 0x0000
.align 2
-Unknown_3CE4B0:: @ 83CE4B0
- .incbin "baserom.gba", 0x3ce4b0, 0x50
+gSubspriteTable_83CE4B0:: @ 83CE4B0
+ subsprite -20, -16, 1, 0, 32x8
+ subsprite 12, -16, 1, 4, 8x8
+ subsprite -20, -8, 1, 5, 32x8
+ subsprite 12, -8, 1, 9, 8x8
+ subsprite -20, 0, 1, 10, 32x8
+ subsprite 12, 0, 1, 14, 8x8
+ subsprite -20, 8, 1, 15, 32x8
+ subsprite 12, 8, 1, 19, 8x8
+
+@ unreferenced
+ .align 2
+gSubspriteTable_83CE4F0:: @ 83CE4F0
+ subsprite -12, -4, 1, 0, 8x8
+ subsprite 4, -4, 1, 1, 8x8
.align 2
-Unknown_3CE500:: @ 83CE500
- .incbin "baserom.gba", 0x3ce500, 0x10
+gSubspriteTable_83CE500:: @ 83CE500
+ subsprite -12, -4, 1, 0, 16x8
+ subsprite 4, -4, 1, 2, 8x8
.align 2
-Unknown_3CE510:: @ 83CE510
- .incbin "baserom.gba", 0x3ce510, 0x30
+gSubspriteTable_83CE510:: @ 83CE510
+ subsprite -20, -12, 1, 0, 32x8
+ subsprite 12, -12, 1, 4, 8x8
+ subsprite -20, -4, 1, 5, 32x8
+ subsprite 12, -4, 1, 9, 8x8
+ subsprite -20, 4, 1, 10, 32x8
+ subsprite 12, 4, 1, 14, 8x8
.align 2
-Unknown_3CE540:: @ 83CE540
- .incbin "baserom.gba", 0x3ce540, 0x18
+gSubspriteTable_83CE540:: @ 83CE540
+ subsprite -8, -12, 3, 0, 16x8
+ subsprite -8, -4, 3, 2, 16x8
+ subsprite -8, 4, 3, 4, 16x8
.align 2
-gUnknown_083CE558:: @ 83CE558
- .4byte 0x8, Unknown_3CE4B0
+gSubspriteTables_83CE558:: @ 83CE558
+ .4byte 8, gSubspriteTable_83CE4B0
.align 2
-gUnknown_083CE560:: @ 83CE560
- .4byte 0x2, Unknown_3CE500
- .4byte 0x2, Unknown_3CE500
- .4byte 0x2, Unknown_3CE500
+gSubspriteTables_83CE560:: @ 83CE560
+ .4byte 2, gSubspriteTable_83CE500
+ .4byte 2, gSubspriteTable_83CE500
+ .4byte 2, gSubspriteTable_83CE500
.align 2
-gUnknown_083CE578:: @ 83CE578
- .4byte 0x6, Unknown_3CE510
+gSubspriteTables_83CE578:: @ 83CE578
+ .4byte 6, gSubspriteTable_83CE510
.align 2
-gUnknown_083CE580:: @ 83CE580
- .4byte 0x3, Unknown_3CE540
+gSubspriteTables_83CE580:: @ 83CE580
+ .4byte 3, gSubspriteTable_83CE540
.align 2
gSpriteImageTable_83CE588:: @ 83CE588
diff --git a/data/pokenav.s b/data/pokenav.s
index 4d95526a3..3ea704c03 100644
--- a/data/pokenav.s
+++ b/data/pokenav.s
@@ -3,59 +3,81 @@
.section .rodata
+ .align 2
gUnknown_083DFEC4:: @ 83DFEC4
- .incbin "baserom.gba", 0x003dfec4, 0x4
+ .4byte 0x2000000
+ .align 2
gUnknown_083DFEC8:: @ 83DFEC8
- .4byte 0x02039360
+ .4byte gTileBuffer
+ .align 1
gUnknown_083DFECC:: @ 83DFECC
- .incbin "baserom.gba", 0x003dfecc, 0x20
+ .incbin "graphics/pokenav/83DFECC.gbapal"
+ .align 1
gUnknown_083DFEEC:: @ 83DFEEC
- .incbin "baserom.gba", 0x003dfeec, 0xa0
+ .incbin "graphics/pokenav/83DFEEC.4bpp"
+ .align 2
gUnknown_083DFF8C:: @ 83DFF8C
- .incbin "baserom.gba", 0x003dff8c, 0xb0
+ .incbin "graphics/pokenav/83DFF8C.bin.lz"
+ .align 1
gUnknown_083E003C:: @ 83E003C
- .incbin "baserom.gba", 0x003e003c, 0x20
+ .incbin "graphics/pokenav/83E003C.gbapal"
+ .align 1
gUnknown_083E005C:: @ 83E005C
- .incbin "baserom.gba", 0x003e005c, 0x20
+ .incbin "graphics/pokenav/83E005C.4bpp"
+ .align 2
gUnknown_083E007C:: @ 83E007C
- .incbin "baserom.gba", 0x003e007c, 0xa8
+ .incbin "graphics/pokenav/83E007C.bin.lz"
+ .align 1
gUnknown_083E0124:: @ 83E0124
- .incbin "baserom.gba", 0x003e0124, 0x20
+ .incbin "graphics/pokenav/83E0124_pal.bin"
+ .align 1
gUnknown_083E0144:: @ 83E0144
- .incbin "baserom.gba", 0x003e0144, 0x68
+ .incbin "graphics/pokenav/83E0144_pal.bin"
+
+ .align 1
+ .incbin "graphics/pokenav/83E0164.bin"
+ .align 1
gUnknown_083E01AC:: @ 83E01AC
- .incbin "baserom.gba", 0x003e01ac, 0x48
+ .incbin "graphics/pokenav/83E01AC.bin"
+ .align 1
gUnknown_083E01F4:: @ 83E01F4
- .incbin "baserom.gba", 0x003e01f4, 0x60
+ .incbin "graphics/pokenav/83E01F4.bin"
+ .align 1
gUnknown_083E0254:: @ 83E0254
- .incbin "baserom.gba", 0x003e0254, 0x20
+ .incbin "graphics/pokenav/83E0254.gbapal"
+ .align 1
gUnknown_083E0274:: @ 83E0274
- .incbin "baserom.gba", 0x003e0274, 0x20
+ .incbin "graphics/pokenav/83E0274.gbapal"
.align 2
gPokenavConditionSearch2_Pal:: @ 83E0294
.incbin "graphics/pokenav/condition_search2.gbapal"
+ .align 1
gUnknown_083E02B4:: @ 83E02B4
- .incbin "baserom.gba", 0x003e02b4, 0x60
+ .incbin "graphics/pokenav/83E02B4.gbapal"
+ .align 1
+ .incbin "graphics/pokenav/83E02D4.bin"
+
+ .align 1
gUnknown_083E0314:: @ 83E0314
- .incbin "baserom.gba", 0x003e0314, 0x20
+ .incbin "graphics/pokenav/83E0314.gbapal"
- .align 2
+ .align 1
gUnknown_083E0334:: @ 83E0334
.incbin "graphics/pokenav/trainereyes_misc_pal.bin" @ the original bytes have an "FF FF" instance which is incompatible with gbagfx to produce the bytes needed to match the original ROM, so I am forced to include it as a .bin until the lowest bit is properly handled or a better workaround is produced
@@ -63,14 +85,20 @@ gUnknown_083E0334:: @ 83E0334
gUnknown_083E0354:: @ 83E0354
.incbin "graphics/pokenav/trainereyes_misc.4bpp.lz"
+ .align 1
gUnknown_083E039C:: @ 83E039C
- .incbin "baserom.gba", 0x003e039c, 0x4
+ .2byte 0x4280, 0x4282
+ .align 1
gUnknown_083E03A0:: @ 83E03A0
- .incbin "baserom.gba", 0x003e03a0, 0x8
+ .2byte 0x4000, 0x4000, 0x4281, 0x4283
+ .align 1
gUnknown_083E03A8:: @ 83E03A8
- .incbin "baserom.gba", 0x003e03a8, 0x64
+ .incbin "graphics/pokenav/83E03A8.gbapal"
+
+ .align 1
+ .incbin "graphics/pokenav/83E03C8.bin"
gUnknown_083E040C:: @ 83E040C
.incbin "graphics/misc/ribbons_half.4bpp.lz"
@@ -248,7 +276,7 @@ gPokenavPokeballTiles::
.align 2
gUnknown_083E3780: @ 83E3780
- .incbin "baserom.gba", 0x3e3780, 0x20
+ .incbin "graphics/pokenav/83E3780.4bpp"
.align 2
gPokenavSparkle_Pal::
@@ -262,8 +290,9 @@ gPokenavSparkle_Gfx::
gPokenavUpDownArrows_Gfx::
.incbin "graphics/pokenav/arrows.4bpp"
-gUnknown_083E3BC0::
- .incbin "baserom.gba", 0x003E3BC0, 0x20
+ .align 2
+gUnknown_083E3BC0:: @ 83E3BC0
+ .incbin "graphics/pokenav/83E3BC0.bin"
.align 2
gTiles_083E3BE0::
@@ -289,11 +318,28 @@ PokenavBlueLightPalette:
PokenavBlueLightTiles:
.incbin "graphics/pokenav/blue_light.4bpp"
+ .align 2
Palette_3E42D8: @ 83E42D8
- .incbin "baserom.gba", 0x3e42d8, 0x20
+ .incbin "graphics/pokenav/83E42D8.gbapal"
+ .align 1
gUnknown_083E42F8:: @ 83E42F8
- .incbin "baserom.gba", 0x003e42f8, 0x20
+ .2byte 0x408
+ .2byte 0x408
+ .2byte 0x507
+ .2byte 0x507
+ .2byte 0x606
+ .2byte 0x606
+ .2byte 0x805
+ .2byte 0x805
+ .2byte 0xA04
+ .2byte 0xA04
+ .2byte 0xC03
+ .2byte 0xC03
+ .2byte 0xE02
+ .2byte 0xE02
+ .2byte 0x1000
+ .2byte 0x1000
.align 2
gOamData_83E4318:: @ 83E4318
@@ -448,11 +494,14 @@ gSpriteAnimTable_83E43E0:: @ 83E43E0
.4byte gSpriteAnim_83E43D0
.4byte gSpriteAnim_83E43D8
-Unknown_83E4440:
- .incbin "baserom.gba", 0x003e4440, 0x10
+ .align 2
+gSpriteAffineAnim_83E4440:: @ 83E4440
+ obj_rot_scal_anim_frame 0x10, 0x10, 0, 16
+ obj_rot_scal_anim_end
-gUnknown_083E4450:: @ 83E4450
- .4byte Unknown_83E4440
+ .align 2
+gSpriteAffineAnimTable_83E4450:: @ 83E4450
+ .4byte gSpriteAffineAnim_83E4440
.align 2
gSpriteTemplate_83E4454:: @ 83E4454
@@ -553,14 +602,15 @@ gOamData_83E4560:: @ 83E4560
.align 2
gUnknown_083E4568:: @ 83E4568
- .incbin "baserom.gba", 0x003e4568, 0x8
+ obj_tiles NULL, 0x800, 6
.align 2
gSpriteTemplate_83E4570:: @ 83E4570
spr_template 6, 6, gOamData_83E4560, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80F2E00
+ .align 2
gUnknown_083E4588:: @ 83E4588
- .incbin "baserom.gba", 0x003e4588, 0x8
+ obj_pal NULL, 6
.align 2
gUnknown_083E4590:: @ 83E4590
@@ -645,11 +695,44 @@ gUnknown_083E4648:: @ 83E4648
gSpriteTemplate_83E4660:: @ 83E4660
spr_template 3, 4, gOamData_83E4608, gSpriteAnimTable_83E4620, NULL, gDummySpriteAffineAnimTable, sub_80F3328
+ .align 1
gUnknown_083E4678:: @ 83E4678
- .incbin "baserom.gba", 0x003e4678, 0x20
+ .incbin "graphics/pokenav/83E4678.gbapal"
+ .align 2
gUnknown_083E4698:: @ 83E4698
- .incbin "baserom.gba", 0x003e4698, 0x80
+ .2byte 0, 0
+ .2byte 1, 0
+ .2byte 2, 0
+ .2byte 3, 0
+ .2byte 4, 0
+ .2byte 1, 1
+ .2byte 2, 1
+ .2byte 3, 1
+ .2byte 4, 1
+ .2byte 1, 2
+ .2byte 2, 2
+ .2byte 3, 2
+ .2byte 4, 2
+ .2byte 1, 3
+ .2byte 2, 3
+ .2byte 3, 3
+ .2byte 4, 3
+ .2byte 1, 4
+ .2byte 2, 4
+ .2byte 3, 4
+ .2byte 4, 4
+ .2byte 5, 0
+ .2byte 6, 0
+ .2byte 7, 1
+ .2byte 8, 2
+ .2byte 9, 1
+ .2byte 9, 3
+ .2byte 9, 4
+ .2byte 10, 3
+ .2byte 10, 4
+ .2byte 11, 0
+ .2byte 11, 1
.align 2
gOamData_83E4718:: @ 83E4718
@@ -692,8 +775,18 @@ gUnknown_083E4784:: @ 83E4784
gUnknown_083E478C:: @ 83E478C
obj_pal gPokenavSparkle_Pal, 0x000f
+ .align 2
gUnknown_083E4794:: @ 83E4794
- .incbin "baserom.gba", 0x003e4794, 0x28
+ .2byte 0, -35
+ .2byte 20, -28
+ .2byte 33, -10
+ .2byte 33, 10
+ .2byte 20, 28
+ .2byte 0, 35
+ .2byte -20, 28
+ .2byte -33, 10
+ .2byte -33, -10
+ .2byte -20, -28
.align 2
gOamData_83E47BC:: @ 83E47BC
@@ -773,13 +866,301 @@ gSpriteTemplate_83E4878:: @ 83E4878
spr_template 26, 18, gOamData_83E4870, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
gUnknown_083E4890:: @ 83E4890
- .incbin "baserom.gba", 0x003e4890, 0x100
+ .byte 4
+ .byte 5
+ .byte 6
+ .byte 7
+ .byte 8
+ .byte 9
+ .byte 9
+ .byte 10
+ .byte 10
+ .byte 11
+ .byte 11
+ .byte 12
+ .byte 12
+ .byte 13
+ .byte 13
+ .byte 13
+ .byte 13
+ .byte 14
+ .byte 14
+ .byte 14
+ .byte 14
+ .byte 15
+ .byte 15
+ .byte 15
+ .byte 15
+ .byte 16
+ .byte 16
+ .byte 16
+ .byte 16
+ .byte 16
+ .byte 16
+ .byte 17
+ .byte 17
+ .byte 17
+ .byte 17
+ .byte 17
+ .byte 17
+ .byte 18
+ .byte 18
+ .byte 18
+ .byte 18
+ .byte 18
+ .byte 18
+ .byte 19
+ .byte 19
+ .byte 19
+ .byte 19
+ .byte 19
+ .byte 19
+ .byte 19
+ .byte 19
+ .byte 20
+ .byte 20
+ .byte 20
+ .byte 20
+ .byte 20
+ .byte 20
+ .byte 20
+ .byte 20
+ .byte 21
+ .byte 21
+ .byte 21
+ .byte 21
+ .byte 21
+ .byte 21
+ .byte 21
+ .byte 21
+ .byte 22
+ .byte 22
+ .byte 22
+ .byte 22
+ .byte 22
+ .byte 22
+ .byte 22
+ .byte 22
+ .byte 22
+ .byte 22
+ .byte 23
+ .byte 23
+ .byte 23
+ .byte 23
+ .byte 23
+ .byte 23
+ .byte 23
+ .byte 23
+ .byte 23
+ .byte 23
+ .byte 24
+ .byte 24
+ .byte 24
+ .byte 24
+ .byte 24
+ .byte 24
+ .byte 24
+ .byte 24
+ .byte 24
+ .byte 24
+ .byte 25
+ .byte 25
+ .byte 25
+ .byte 25
+ .byte 25
+ .byte 25
+ .byte 25
+ .byte 25
+ .byte 25
+ .byte 25
+ .byte 25
+ .byte 25
+ .byte 26
+ .byte 26
+ .byte 26
+ .byte 26
+ .byte 26
+ .byte 26
+ .byte 26
+ .byte 26
+ .byte 26
+ .byte 26
+ .byte 26
+ .byte 26
+ .byte 27
+ .byte 27
+ .byte 27
+ .byte 27
+ .byte 27
+ .byte 27
+ .byte 27
+ .byte 27
+ .byte 27
+ .byte 27
+ .byte 27
+ .byte 27
+ .byte 27
+ .byte 27
+ .byte 28
+ .byte 28
+ .byte 28
+ .byte 28
+ .byte 28
+ .byte 28
+ .byte 28
+ .byte 28
+ .byte 28
+ .byte 28
+ .byte 28
+ .byte 28
+ .byte 28
+ .byte 28
+ .byte 29
+ .byte 29
+ .byte 29
+ .byte 29
+ .byte 29
+ .byte 29
+ .byte 29
+ .byte 29
+ .byte 29
+ .byte 29
+ .byte 29
+ .byte 29
+ .byte 29
+ .byte 29
+ .byte 29
+ .byte 29
+ .byte 30
+ .byte 30
+ .byte 30
+ .byte 30
+ .byte 30
+ .byte 30
+ .byte 30
+ .byte 30
+ .byte 30
+ .byte 30
+ .byte 30
+ .byte 30
+ .byte 30
+ .byte 30
+ .byte 30
+ .byte 30
+ .byte 31
+ .byte 31
+ .byte 31
+ .byte 31
+ .byte 31
+ .byte 31
+ .byte 31
+ .byte 31
+ .byte 31
+ .byte 31
+ .byte 31
+ .byte 31
+ .byte 31
+ .byte 31
+ .byte 31
+ .byte 31
+ .byte 31
+ .byte 32
+ .byte 32
+ .byte 32
+ .byte 32
+ .byte 32
+ .byte 32
+ .byte 32
+ .byte 32
+ .byte 32
+ .byte 32
+ .byte 32
+ .byte 32
+ .byte 32
+ .byte 32
+ .byte 32
+ .byte 32
+ .byte 32
+ .byte 32
+ .byte 33
+ .byte 33
+ .byte 33
+ .byte 33
+ .byte 33
+ .byte 33
+ .byte 33
+ .byte 33
+ .byte 33
+ .byte 33
+ .byte 33
+ .byte 33
+ .byte 33
+ .byte 33
+ .byte 33
+ .byte 33
+ .byte 33
+ .byte 33
+ .byte 33
+ .byte 34
+ .byte 34
+ .byte 34
+ .byte 34
+ .byte 34
+ .byte 34
+ .byte 34
+ .byte 34
+ .byte 34
+ .byte 34
+ .byte 34
+ .byte 34
+ .byte 34
+ .byte 34
+ .byte 34
+ .byte 34
+ .byte 34
+ .byte 34
+ .byte 34
+ .byte 34
+ .byte 35
+ .align 2
gUnknown_083E4990:: @ 83E4990
- .incbin "baserom.gba", 0x003e4990, 0xc
+ .4byte REG_WIN0H
+ .4byte ((DMA_ENABLE | DMA_START_HBLANK | DMA_32BIT | DMA_REPEAT | DMA_DEST_RELOAD) << 16) | 1
+ .4byte 1
+ .align 1
gUnknown_083E499C:: @ 83E499C
- .incbin "baserom.gba", 0x003e499c, 0x24
+ .2byte 0x43
+ .2byte 0x32
+ .2byte 0x33
+ .2byte 0x34
+ .2byte 0x35
+ .2byte 0x36
+ .2byte 0x44
+ .2byte 0x45
+ .2byte 0x46
+ .2byte 0x47
+ .2byte 0x48
+ .2byte 0x49
+ .2byte 0x4A
+ .2byte 0x4B
+ .2byte 0x4C
+ .2byte 0x4D
+ .2byte 0x4E
+ .align 2
gUnknown_083E49C0:: @ 83E49C0
- .incbin "baserom.gba", 0x003e49c0, 0x34
+ .2byte 0x109, 0xA
+ .2byte 0x10A, 0x2
+ .2byte 0x10B, 0x9
+ .2byte 0x10C, 0x3
+ .2byte 0x10D, 0x7
+ .2byte 0x10E, 0xB
+ .2byte 0x10F, 0xD
+ .2byte 0x110, 0xE
+ .2byte 0x105, 0xF
+ .2byte 0x106, 0xF
+ .2byte 0x107, 0xF
+ .2byte 0x108, 0xF
+ .2byte 0x14F, 0xF
diff --git a/data/roulette.s b/data/roulette.s
index 9f6c8ac15..27dd712b5 100644
--- a/data/roulette.s
+++ b/data/roulette.s
@@ -3,44 +3,95 @@
.section .rodata
+ .align 1
gUnknown_083F86BC:: @ 83F86BC
- .incbin "baserom.gba", 0x003f86bc, 0x40
+ .incbin "graphics/roulette/83F86BC.gbapal"
.align 2
-gRouletteCenter_Pal::
- .incbin "graphics/roulette/center.gbapal"
-
- .incbin "baserom.gba", 0x003f871c, 0x1A0
-
gUnknown_083F88BC:: @ 83F88BC
- .incbin "baserom.gba", 0x003f88bc, 0x1a4
+ .incbin "graphics/roulette/83F88BC.bin.lz"
+ .align 2
gUnknown_083F8A60:: @ 83F8A60
- .incbin "baserom.gba", 0x003f8a60, 0x1a0
+ .incbin "graphics/roulette/wheel_map.bin.lz"
+ .align 2
gUnknown_083F8C00:: @ 83F8C00
- .incbin "baserom.gba", 0x003f8c00, 0xc
-
-gUnknown_083F8C0C:: @ 83F8C0C
- .incbin "baserom.gba", 0x003f8c0c, 0x184
+ .byte 0xFF,0x00,0x00,0x07,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
+ .byte 0x0C,0x14,0x00,0x11,0x07,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x42,0x08,0x01,0x00,0x00,0xE0,0x00,0x00
+ .byte 0x0D,0x24,0x00,0x14,0x07,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x84,0x10,0x02,0x00,0x00,0xE0,0x00,0x00
+ .byte 0x0E,0x34,0x00,0x17,0x07,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x08,0x21,0x04,0x00,0x00,0xE0,0x00,0x00
+ .byte 0x0F,0x44,0x00,0x1A,0x07,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x10,0x42,0x08,0x00,0x00,0xE0,0x00,0x00
+ .byte 0x10,0x03,0x01,0x0E,0x0A,0x00,0x0C,0x00,0x20,0x00,0x00,0x00,0xE0,0x03,0x00,0x00,0x49,0x02,0x00,0x00
+ .byte 0x00,0x1C,0x01,0x11,0x0A,0x03,0x03,0x00,0x40,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x01,0x20,0x00,0x00
+ .byte 0x09,0x2C,0x01,0x14,0x0A,0x03,0x03,0x00,0x80,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x22,0x00,0x00
+ .byte 0x06,0x3C,0x01,0x17,0x0A,0x03,0x03,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x40,0x20,0x00,0x00
+ .byte 0x03,0x4C,0x01,0x1A,0x0A,0x03,0x03,0x00,0x00,0x02,0x00,0x00,0x00,0x02,0x00,0x00,0x08,0x20,0x00,0x00
+ .byte 0x11,0x03,0x02,0x0E,0x0D,0x03,0x0F,0x00,0x00,0x04,0x00,0x00,0x00,0x7C,0x00,0x00,0x92,0x04,0x00,0x00
+ .byte 0x04,0x1C,0x02,0x11,0x0D,0x06,0x06,0x00,0x00,0x08,0x00,0x00,0x00,0x08,0x00,0x00,0x10,0x20,0x00,0x00
+ .byte 0x01,0x2C,0x02,0x14,0x0D,0x06,0x06,0x00,0x00,0x10,0x00,0x00,0x00,0x10,0x00,0x00,0x02,0x20,0x00,0x00
+ .byte 0x0A,0x3C,0x02,0x17,0x0D,0x06,0x06,0x00,0x00,0x20,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x24,0x00,0x00
+ .byte 0x07,0x4C,0x02,0x1A,0x0D,0x06,0x06,0x00,0x00,0x40,0x00,0x00,0x00,0x40,0x00,0x00,0x80,0x20,0x00,0x00
+ .byte 0x12,0x03,0x03,0x0E,0x10,0x06,0x12,0x00,0x00,0x80,0x00,0x00,0x00,0x80,0x0F,0x00,0x24,0x09,0x00,0x00
+ .byte 0x08,0x1C,0x03,0x11,0x10,0x09,0x09,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x21,0x00,0x00
+ .byte 0x05,0x2C,0x03,0x14,0x10,0x09,0x09,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x02,0x00,0x20,0x20,0x00,0x00
+ .byte 0x02,0x3C,0x03,0x17,0x10,0x09,0x09,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x04,0x00,0x04,0x20,0x00,0x00
+ .byte 0x0B,0x4C,0x03,0x1A,0x10,0x09,0x09,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x08,0x00,0x00,0x28,0x00,0x00
+ .align 2
gUnknown_083F8D90:: @ 83F8D90
- .incbin "baserom.gba", 0x003f8d90, 0x4
-
-gUnknown_083F8D94:: @ 83F8D94
- .incbin "baserom.gba", 0x003f8d94, 0x5c
+ .byte 0, 1, 6, 0, 64, 0, 0, 0
+ .byte 1, 3, 12, 0, 0, 16, 0, 0
+ .byte 2, 5, 18, 0, 0, 0, 4, 0
+ .byte 3, 7, 9, 0, 0, 2, 0, 0
+ .byte 4, 9, 11, 0, 0, 8, 0, 0
+ .byte 5, 11, 17, 0, 0, 0, 2, 0
+ .byte 6, 13, 8, 0, 0, 1, 0, 0
+ .byte 7, 15, 14, 0, 0, 64, 0, 0
+ .byte 8, 17, 16, 0, 0, 0, 1, 0
+ .byte 9, 19, 7, 0, 128, 0, 0, 0
+ .byte 10, 21, 13, 0, 0, 32, 0, 0
+ .byte 11, 23, 19, 0, 0, 0, 8, 0
gUnknown_083F8DF0:: @ 83F8DF0
- .incbin "baserom.gba", 0x003f8df0, 0x4
+ .byte 1, 3
+ .byte 1, 6
+ .align 2
gUnknown_083F8DF4:: @ 83F8DF4
- .incbin "baserom.gba", 0x003f8df4, 0x40
+ .byte 0x01,0x3C,0x1E,0x01,0x01,0x00,0x00,0x00,0x2D,0x00,0x1E,0x00,0x01,0x00,0x00,0x00,0x4B,0x00,0x1B,0x00,0x18,0x00,0x00,0x00,0x0A,0x00,0x68,0x01,0x00,0x00,0x00,0xBF
+ .byte 0x03,0x1E,0x0F,0x01,0x00,0x00,0x00,0x00,0x4B,0x00,0x3C,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x36,0x00,0x30,0x00,0x00,0x00,0x0A,0x00,0x0E,0x01,0x00,0x00,0x80,0xBF
+ .align 2
gUnknown_083F8E34:: @ 83F8E34
- .incbin "baserom.gba", 0x003f8e34, 0x68
+ .byte 0x00,0x80,0x05,0x00,0x01,0x01,0xFF,0x48
+ .byte 0x00,0x80,0x0A,0x00,0x01,0x01,0xFF,0x48
+ .byte 0x00,0x80,0x15,0x00,0x01,0x01,0xFF,0x48
+ .byte 0x00,0x80,0x55,0x00,0x01,0x01,0xFF,0x48
+ .byte 0x00,0x80,0x5A,0x00,0x01,0x01,0xFF,0x48
+ .byte 0x00,0x80,0x65,0x00,0x01,0x01,0xFF,0x48
+ .byte 0x00,0x80,0x75,0x00,0x01,0x01,0xFF,0x48
+ .byte 0x00,0x80,0x7A,0x00,0x01,0x01,0xFF,0x48
+ .byte 0x00,0x80,0x85,0x00,0x01,0x01,0xFF,0x48
+ .byte 0x00,0x80,0x95,0x00,0x01,0x01,0xFF,0x48
+ .byte 0x00,0x80,0x9A,0x00,0x01,0x01,0xFF,0x48
+ .byte 0x00,0x80,0xA5,0x00,0x01,0x01,0xFF,0x48
+ .byte 0xD6,0x77,0x28,0x00,0x02,0x0A,0xFF,0x4E
+ .align 1
gUnknown_083F8E9C:: @ 83F8E9C
- .incbin "baserom.gba", 0x003f8e9c, 0x18
+ .2byte 0x53FF
+ .2byte 0x0101
+ .2byte 0x1E05
+ .2byte 0x4EFF
+ .2byte 0x7FFB
+ .2byte 0x0106
+ .2byte 0x1E05
+ .2byte 0x4EFF
+ .2byte 0x7F7F
+ .2byte 0x010B
+ .2byte 0x1E05
+ .2byte 0x4EFF
.align 2
gUnknown_083F8EB4:: @ 83F8EB4
@@ -52,20 +103,32 @@ gUnknown_083F8EBC:: @ 83F8EBC
.4byte sub_811577C
.4byte sub_81157AC
+ .align 1
gUnknown_083F8EC4:: @ 83F8EC4
- .incbin "baserom.gba", 0x003f8ec4, 0x6
+ .2byte 0x2898
+ .2byte 0x1A6A
+ .2byte 0x2898
gUnknown_083F8ECA:: @ 83F8ECA
- .incbin "baserom.gba", 0x003f8eca, 0x4
+ .byte 0xFB, 0x05, 0xFF, 0x01
+ .align 1
gUnknown_083F8ECE:: @ 83F8ECE
- .incbin "baserom.gba", 0x003f8ece, 0xa
+ .2byte 0, 180
+ .2byte 90, 270
+ .align 2
gUnknown_083F8ED8:: @ 83F8ED8
- .incbin "baserom.gba", 0x003f8ed8, 0x10
+ .4byte 0x10842
+ .4byte 0x21084
+ .4byte 0x42108
+ .4byte 0x84210
+ .align 2
gUnknown_083F8EE8:: @ 83F8EE8
- .incbin "baserom.gba", 0x003f8ee8, 0xc
+ .4byte 0x3E0
+ .4byte 0x7C00
+ .4byte 0xF8000
gUnknown_083F8EF4:: @ 83F8EF4
.byte 0, 3, 4, 6, 12
@@ -120,19 +183,19 @@ RouletteSpritePalette_12:
.align 2
RouletteSpritePalette_13:
- .incbin "baserom.gba", 0x003F907C, 0x20
+ .incbin "graphics/roulette/83F907C.gbapal"
.align 2
RouletteSpritePalette_14:
- .incbin "baserom.gba", 0x003F909C, 0x20
+ .incbin "graphics/roulette/83F909C.gbapal"
.align 2
RouletteSpritePalette_15:
- .incbin "baserom.gba", 0x003F90BC, 0x20
+ .incbin "graphics/roulette/83F90BC.gbapal"
.align 2
RouletteSpritePalette_16:
- .incbin "baserom.gba", 0x003F90DC, 0x20
+ .incbin "graphics/roulette/83F90DC.gbapal"
.align 2
gUnknown_083F90FC:: @ 83F90FC
@@ -594,12 +657,26 @@ gSpriteAnim_83FA38C:: @ 83FA38C
obj_image_anim_end
.align 2
-Unknown_083FA3A0:
- .incbin "baserom.gba", 0x003fa3a0, 0x18
-Unknown_083FA3B8:
- .incbin "baserom.gba", 0x003fa3b8, 0x14
-Unknown_083FA3CC:
- .incbin "baserom.gba", 0x003fa3cc, 0x8
+gSpriteAnim_83FA3A0:: @ 83FA3A0
+ obj_image_anim_frame 1, 2
+ obj_image_anim_frame 0, 4
+ obj_image_anim_frame 1, 4
+ obj_image_anim_frame 2, 4
+ obj_image_anim_frame 3, 4
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83FA3B8:: @ 83FA3B8
+ obj_image_anim_frame 0, 2
+ obj_image_anim_frame 1, 5
+ obj_image_anim_frame 2, 5
+ obj_image_anim_frame 3, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_83FA3CC:: @ 83FA3CC
+ obj_image_anim_frame 3, 0
+ obj_image_anim_end
.align 2
gSpriteAnim_83FA3D4:: @ 83FA3D4
@@ -616,12 +693,10 @@ gSpriteAnimTable_83FA3E8:: @ 83FA3E8
.4byte gSpriteAnim_83FA378
.4byte gSpriteAnim_83FA38C
.4byte gSpriteAnim_83FA3D4
-
- .align 2
- .4byte Unknown_083FA3A0
- .4byte Unknown_083FA3B8
- .4byte Unknown_083FA3B8
- .4byte Unknown_083FA3CC
+ .4byte gSpriteAnim_83FA3A0
+ .4byte gSpriteAnim_83FA3B8
+ .4byte gSpriteAnim_83FA3B8
+ .4byte gSpriteAnim_83FA3CC
.align 2
gSpriteTemplate_83FA40C:: @ 83FA40C
@@ -755,8 +830,10 @@ gSpriteImageTable_83FA55C: @ 83FA55C
obj_frame_tiles 0x02018080, 0x100
.align 2
-gUnknown_083FA564: @ 83FA564
- .incbin "baserom.gba", 0x003fa564, 0x18
+gSpriteAffineAnim_83FA564:: @ 83FA564
+ obj_rot_scal_anim_frame 0x80, 0x80, 0, 0
+ obj_rot_scal_anim_frame 0x2, 0x2, 0, 60
+ obj_rot_scal_anim_end
.align 2
gSpriteAffineAnim_83FA57C:: @ 83FA57C
@@ -767,19 +844,21 @@ gSpriteAffineAnim_83FA57C:: @ 83FA57C
obj_rot_scal_anim_end
.align 2
- .4byte gUnknown_083FA564
+gSpriteAffineAnimTable_83FA5A4:: @ 83FA5A4
+ .4byte gSpriteAffineAnim_83FA564
.align 2
gSpriteAffineAnimTable_83FA5A8:: @ 83FA5A8
.4byte gSpriteAffineAnim_83FA57C
.align 2
-gUnknown_083FA5AC:: @ 83FA5AC
- .incbin "baserom.gba", 0x003fa5ac, 0x10
+gSpriteAffineAnim_83FA5AC:: @ 83FA5AC
+ obj_rot_scal_anim_frame 0x100, 0x100, 0, 0
+ obj_rot_scal_anim_end
.align 2
-@ unreferenced
- .4byte gUnknown_083FA5AC
+gSpriteAffineAnimTable_83FA5BC:: @ 83FA5BC
+ .4byte gSpriteAffineAnim_83FA5AC
.align 2
gSpriteTemplate_83FA5C0:: @ 83FA5C0
@@ -794,24 +873,46 @@ gSpriteTemplate_83FA5F0:: @ 83FA5F0
spr_template 0xFFFF, 1, gOamData_83FA54C, gSpriteAnimTable_83F9ED8, gSpriteImageTable_83FA55C, gSpriteAffineAnimTable_83FA5A8, sub_8119D80
gUnknown_083FA608:: @ 83FA608
- .incbin "baserom.gba", 0x003fa608, 0x6
+ .byte 0, 1, 2, 3, 4
.align 1
gUnknown_083FA60E:: @ 83FA60E
.2byte 0x74, 0x2C
.2byte 0x74, 0x70
+ .align 1
gUnknown_083FA616:: @ 83FA616
- .incbin "baserom.gba", 0x003fa616, 0x8
+ .2byte 256, 84
+ .2byte -16, 84
+ .align 1
gUnknown_083FA61E:: @ 83FA61E
- .incbin "baserom.gba", 0x003fa61e, 0x14
+ .2byte 0x907
+ .2byte 0x808
+ .2byte 0x709
+ .2byte 0x60A
+ .2byte 0x50B
+ .2byte 0x40C
+ .2byte 0x30D
+ .2byte 0x20E
+ .2byte 0x10F
+ .2byte 0x10
+ .align 1
gUnknown_083FA632:: @ 83FA632
- .incbin "baserom.gba", 0x003fa632, 0x18
+ .2byte -1, 0, 1, 0
+ .2byte -2, 0, 2, 0
+ .2byte -3, 0, 3, 0
gUnknown_083FA64A:: @ 83FA64A
.byte -1, 1
gUnknown_083FA64C:: @ 83FA64C
- .incbin "baserom.gba", 0x003fa64c, 0x10
+ .byte 2, 0
+ .byte 2, 0
+ .byte 2, -1
+ .byte 2, -1
+ .byte 2, -1
+ .byte 2, -1
+ .byte 2, -2
+ .byte 2, -2
diff --git a/data/text/credits.inc b/data/text/credits.inc
index 2f7aa5478..29abccf91 100644
--- a/data/text/credits.inc
+++ b/data/text/credits.inc
@@ -703,256 +703,307 @@ gCreditsEntryPointerTable:: @ 840C5F0
.4byte CreditsCredits
.4byte CreditsTerminator
.4byte CreditsTerminator
+
.4byte CreditsTerminator
.4byte CreditsDirector
.4byte CreditsMasuda
.4byte CreditsTerminator
.4byte CreditsTerminator
+
.4byte CreditsTerminator
.4byte CreditsArtDirector
.4byte CreditsSugimori
.4byte CreditsTerminator
.4byte CreditsTerminator
+
.4byte CreditsTerminator
.4byte CreditsBattleDirector
.4byte CreditsMorimoto
.4byte CreditsTerminator
.4byte CreditsTerminator
+
.4byte CreditsTerminator
.4byte CreditsMainProgrammer
.4byte CreditsTetsuyaWatanabe
.4byte CreditsTerminator
.4byte CreditsTerminator
+
.4byte CreditsBattleSystemProgrammer
.4byte CreditsSogabe
.4byte CreditsFieldSystemProgrammer
.4byte CreditsTamada
.4byte CreditsTerminator
+
.4byte CreditsProgrammers
.4byte CreditsMori
.4byte CreditsKagaya
.4byte CreditsMatsuda
.4byte CreditsTerminator
+
.4byte CreditsProgrammers
.4byte CreditsHiroyukiNakamura
.4byte CreditsTaya
.4byte CreditsNohara
.4byte CreditsTerminator
+
.4byte CreditsProgrammers
.4byte CreditsTomomichiOhta
.4byte CreditsIwasawa
.4byte CreditsTakenoriOhta
.4byte CreditsTerminator
+
.4byte CreditsTerminator
.4byte CreditsMainGraphicDesigner
.4byte CreditsYoshida
.4byte CreditsTerminator
.4byte CreditsTerminator
+
.4byte CreditsPOKeMONGraphicDesigners
.4byte CreditsSugimori
.4byte CreditsYoshida
.4byte CreditsTerminator
.4byte CreditsTerminator
+
.4byte CreditsPOKeMONGraphicDesigners
.4byte CreditsFujiwara
.4byte CreditsSatoshiOhta
.4byte CreditsIwashita
.4byte CreditsTerminator
+
.4byte CreditsPOKeMONGraphicDesigners
.4byte CreditsTomita
.4byte CreditsUnno
.4byte CreditsEo
.4byte CreditsTerminator
+
.4byte CreditsPOKeMONDesigners
.4byte CreditsMorimoto
.4byte CreditsOkutani
.4byte CreditsNishida
.4byte CreditsTerminator
+
.4byte CreditsPOKeMONDesigners
.4byte CreditsSaito
.4byte CreditsYoshikawa
.4byte CreditsTerminator
.4byte CreditsTerminator
+
.4byte CreditsMusicComposition
.4byte CreditsIchinose
.4byte CreditsAoki
.4byte CreditsMasuda
.4byte CreditsTerminator
+
.4byte CreditsTerminator
.4byte CreditsSoundEffectsPOKeMONVoices
.4byte CreditsAoki
.4byte CreditsTerminator
.4byte CreditsTerminator
+
.4byte CreditsGameDesigners
.4byte CreditsMasuda
.4byte CreditsMorimoto
.4byte CreditsNishino
.4byte CreditsTerminator
+
.4byte CreditsGameDesigners
.4byte CreditsMatsushima
.4byte CreditsTetsujiOhta
.4byte CreditsSato
.4byte CreditsKawachimaru
+
.4byte CreditsGameDesigners
.4byte CreditsShimoyamada
.4byte CreditsOhmori
.4byte CreditsTakahashi
.4byte CreditsTerminator
+
.4byte CreditsPlotScenario
.4byte CreditsMasuda
.4byte CreditsTomisawa
.4byte CreditsNishino
.4byte CreditsTerminator
+
.4byte CreditsGameScenario
.4byte CreditsToshinobuMatsumiya
.4byte CreditsTomisawa
.4byte CreditsTerminator
.4byte CreditsTerminator
+
.4byte CreditsScriptDesigners
.4byte CreditsNohara
.4byte CreditsTetsujiOhta
.4byte CreditsTomomichiOhta
.4byte CreditsTerminator
+
.4byte CreditsMapDesigners
.4byte CreditsOhmori
.4byte CreditsTetsujiOhta
.4byte CreditsNishino
.4byte CreditsTerminator
+
.4byte CreditsMapDataDesigners
.4byte CreditsTetsujiOhta
.4byte CreditsTakahashi
.4byte CreditsTerminator
.4byte CreditsTerminator
+
.4byte CreditsParametricDesigners
.4byte CreditsNishino
.4byte CreditsMorimoto
.4byte CreditsTetsujiOhta
.4byte CreditsShimoyamada
+
.4byte CreditsTerminator
.4byte CreditsPOKeDEXText
.4byte CreditsMatsushima
.4byte CreditsTerminator
.4byte CreditsTerminator
+
.4byte CreditsEnvironmentToolProgrammers
.4byte CreditsSogabe
.4byte CreditsTamada
.4byte CreditsHiroyukiNakamura
.4byte CreditsMori
+
.4byte CreditsProductTesting
.4byte CreditsSuperMarioClub
.4byte CreditsTada
.4byte CreditsOhnishi
.4byte CreditsOkamura
+
.4byte CreditsSpecialThanks
.4byte CreditsTominaga
.4byte CreditsYoshiroTajiri
.4byte CreditsSasaki
.4byte CreditsTerminator
+
.4byte CreditsSpecialThanks
.4byte CreditsHamano
.4byte CreditsChieMatsumiya
.4byte CreditsShinozaki
.4byte CreditsFujii
+
.4byte CreditsSpecialThanks
.4byte CreditsSuyama
.4byte CreditsMitsuhara
.4byte CreditsKomura
.4byte CreditsOhashi
+
.4byte CreditsSpecialThanks
.4byte CreditsTakizawa
.4byte CreditsTakada
.4byte CreditsKondo
.4byte CreditsMashima
+
.4byte CreditsInformationSupervisors
.4byte CreditsEnomoto
.4byte CreditsTerada
.4byte CreditsSakurai
.4byte CreditsSagawa
+
.4byte CreditsCoordinators
.4byte CreditsKyokoWatanabe
.4byte CreditsNakano
.4byte CreditsTerminator
.4byte CreditsTerminator
+
.4byte CreditsTaskManagers
.4byte CreditsYamagami
.4byte CreditsNomoto
.4byte CreditsTerminator
.4byte CreditsTerminator
+
.4byte CreditsProducers
.4byte CreditsJinnai
.4byte CreditsIzushi
.4byte CreditsTsuru
.4byte CreditsTerminator
+
.4byte CreditsTerminator
.4byte CreditsExecutiveDirector
.4byte CreditsSatoshiTajiri
.4byte CreditsTerminator
.4byte CreditsTerminator
+
.4byte CreditsTerminator
.4byte CreditsExecutiveProducers
.4byte CreditsIwata
.4byte CreditsTerminator
.4byte CreditsTerminator
+
.4byte CreditsTerminator
.4byte CreditsExecutiveProducers
.4byte CreditsIshihara
.4byte CreditsTerminator
.4byte CreditsTerminator
+
.4byte CreditsEnglishVersionCoordinators
.4byte CreditsHiroNakamura
.4byte CreditsMcMahill
.4byte CreditsTerminator
.4byte CreditsTerminator
+
.4byte CreditsTerminator
.4byte CreditsTranslator
.4byte CreditsOgasawara
.4byte CreditsTerminator
.4byte CreditsTerminator
+
.4byte CreditsProgrammers
.4byte CreditsMurakawa
.4byte CreditsYamamoto
.4byte CreditsFunakoshi
.4byte CreditsKinashi
+
.4byte CreditsGraphicDesigners
.4byte CreditsYamamoto
.4byte CreditsKinashi
.4byte CreditsTerminator
.4byte CreditsTerminator
+
.4byte CreditsProductSupport
.4byte CreditsNakamichi
.4byte CreditsHara
.4byte CreditsTerminator
.4byte CreditsTerminator
+
.4byte CreditsTerminator
.4byte CreditsArtwork
.4byte CreditsOkada
.4byte CreditsTerminator
.4byte CreditsTerminator
+
.4byte CreditsTerminator
.4byte CreditsTextEditor
.4byte CreditsLillygren
.4byte CreditsTerminator
.4byte CreditsTerminator
+
.4byte CreditsNOAProductTesting
.4byte CreditsHertzog
.4byte CreditsRidgeway
.4byte CreditsTerminator
.4byte CreditsTerminator
+
.4byte CreditsBrailleCodeCheck
.4byte CreditsNFotB
.4byte CreditsMaurer
.4byte CreditsJapanBrailleLibrary
.4byte CreditsEBU
+
.4byte CreditsBrailleCodeCheck
.4byte CreditsABA
.4byte CreditsRNZFotB
.4byte CreditsTerminator
.4byte CreditsTerminator
+
.4byte CreditsSpecialThanks
.4byte CreditsFord
.4byte CreditsBarlow
.4byte CreditsUesugi
.4byte CreditsUyama
+
.4byte CreditsSpecialThanks
.4byte CreditsHowitt
.4byte CreditsTilden
diff --git a/graphics/pokenav/83DFECC.pal b/graphics/pokenav/83DFECC.pal
new file mode 100644
index 000000000..16e02a3c9
--- /dev/null
+++ b/graphics/pokenav/83DFECC.pal
@@ -0,0 +1,19 @@
+JASC-PAL
+0100
+16
+98 0 0
+0 0 0
+82 106 106
+213 213 172
+57 65 74
+0 0 0
+0 0 0
+0 0 0
+197 197 197
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+255 246 213
diff --git a/graphics/pokenav/83DFEEC.png b/graphics/pokenav/83DFEEC.png
new file mode 100644
index 000000000..8b3a39ed5
--- /dev/null
+++ b/graphics/pokenav/83DFEEC.png
Binary files differ
diff --git a/graphics/pokenav/83DFF8C.bin b/graphics/pokenav/83DFF8C.bin
new file mode 100644
index 000000000..9f0d9eb2f
--- /dev/null
+++ b/graphics/pokenav/83DFF8C.bin
Binary files differ
diff --git a/graphics/pokenav/83E003C.pal b/graphics/pokenav/83E003C.pal
new file mode 100644
index 000000000..8d1f2cb75
--- /dev/null
+++ b/graphics/pokenav/83E003C.pal
@@ -0,0 +1,19 @@
+JASC-PAL
+0100
+16
+0 0 0
+255 255 255
+238 238 230
+238 230 255
+213 197 255
+255 222 213
+255 189 180
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
diff --git a/graphics/pokenav/83E005C.png b/graphics/pokenav/83E005C.png
new file mode 100644
index 000000000..b34d17411
--- /dev/null
+++ b/graphics/pokenav/83E005C.png
Binary files differ
diff --git a/graphics/pokenav/83E007C.bin b/graphics/pokenav/83E007C.bin
new file mode 100644
index 000000000..c2ba207a4
--- /dev/null
+++ b/graphics/pokenav/83E007C.bin
Binary files differ
diff --git a/graphics/pokenav/83E0124_pal.bin b/graphics/pokenav/83E0124_pal.bin
new file mode 100644
index 000000000..b1a4230d4
--- /dev/null
+++ b/graphics/pokenav/83E0124_pal.bin
Binary files differ
diff --git a/graphics/pokenav/83E0144_pal.bin b/graphics/pokenav/83E0144_pal.bin
new file mode 100644
index 000000000..6ea1b763c
--- /dev/null
+++ b/graphics/pokenav/83E0144_pal.bin
Binary files differ
diff --git a/graphics/pokenav/83E0164.bin b/graphics/pokenav/83E0164.bin
new file mode 100644
index 000000000..d5b3d5a18
--- /dev/null
+++ b/graphics/pokenav/83E0164.bin
Binary files differ
diff --git a/graphics/pokenav/83E01AC.bin b/graphics/pokenav/83E01AC.bin
new file mode 100644
index 000000000..6dffc2ac5
--- /dev/null
+++ b/graphics/pokenav/83E01AC.bin
@@ -0,0 +1 @@
+υ"φ"φ"φ"φ"φ"φ"φ"υ&ω"…"…"…"…"…"…"…"ϊ"ω"…"…"…"…"…"…"…"ϊ"ϋ"ό"ό"ό"ό"ό"ό"ό"ϋ& \ No newline at end of file
diff --git a/graphics/pokenav/83E01F4.bin b/graphics/pokenav/83E01F4.bin
new file mode 100644
index 000000000..7928705a9
--- /dev/null
+++ b/graphics/pokenav/83E01F4.bin
@@ -0,0 +1 @@
+φ"φ"φ"φ"φ"φ"φ"φ"φ"φ"φ"υ&…"…"…"…"…"…"…"…"…"…"…"ϊ"…"…"…"…"…"…"…"…"…"…"…"ϊ"ό"ό"ό"ό"ό"ό"ό"ό"ό"ό"ό"ϋ& \ No newline at end of file
diff --git a/graphics/pokenav/83E0254.pal b/graphics/pokenav/83E0254.pal
new file mode 100644
index 000000000..98c309d52
--- /dev/null
+++ b/graphics/pokenav/83E0254.pal
@@ -0,0 +1,19 @@
+JASC-PAL
+0100
+16
+0 255 0
+0 255 0
+0 255 0
+0 255 0
+0 255 0
+0 255 0
+0 255 0
+0 255 0
+0 255 0
+0 255 0
+0 255 0
+0 255 0
+0 255 0
+0 255 0
+0 255 0
+0 255 0
diff --git a/graphics/pokenav/83E0274.pal b/graphics/pokenav/83E0274.pal
new file mode 100644
index 000000000..4755184e2
--- /dev/null
+++ b/graphics/pokenav/83E0274.pal
@@ -0,0 +1,19 @@
+JASC-PAL
+0100
+16
+65 65 65
+49 65 74
+106 115 123
+255 255 255
+189 106 115
+255 156 156
+255 222 205
+180 131 156
+189 139 156
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+255 255 255
+255 139 0
diff --git a/graphics/pokenav/83E02B4.pal b/graphics/pokenav/83E02B4.pal
new file mode 100644
index 000000000..7af9ff8e1
--- /dev/null
+++ b/graphics/pokenav/83E02B4.pal
@@ -0,0 +1,19 @@
+JASC-PAL
+0100
+16
+0 0 0
+255 255 255
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+82 82 74
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+255 156 156
diff --git a/graphics/pokenav/83E02D4.bin b/graphics/pokenav/83E02D4.bin
new file mode 100644
index 000000000..dc7b2901f
--- /dev/null
+++ b/graphics/pokenav/83E02D4.bin
Binary files differ
diff --git a/graphics/pokenav/83E0314.pal b/graphics/pokenav/83E0314.pal
new file mode 100644
index 000000000..3b2faa935
--- /dev/null
+++ b/graphics/pokenav/83E0314.pal
@@ -0,0 +1,19 @@
+JASC-PAL
+0100
+16
+0 0 0
+255 8 65
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+57 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+255 156 156
diff --git a/graphics/pokenav/83E03A8.pal b/graphics/pokenav/83E03A8.pal
new file mode 100644
index 000000000..ba97343c5
--- /dev/null
+++ b/graphics/pokenav/83E03A8.pal
@@ -0,0 +1,19 @@
+JASC-PAL
+0100
+16
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+197 197 197
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+255 205 222
diff --git a/graphics/pokenav/83E03C8.bin b/graphics/pokenav/83E03C8.bin
new file mode 100644
index 000000000..20e73b807
--- /dev/null
+++ b/graphics/pokenav/83E03C8.bin
Binary files differ
diff --git a/graphics/pokenav/83E3780.png b/graphics/pokenav/83E3780.png
new file mode 100644
index 000000000..84c74462d
--- /dev/null
+++ b/graphics/pokenav/83E3780.png
Binary files differ
diff --git a/graphics/pokenav/83E3BC0.bin b/graphics/pokenav/83E3BC0.bin
new file mode 100644
index 000000000..161928e5c
--- /dev/null
+++ b/graphics/pokenav/83E3BC0.bin
Binary files differ
diff --git a/graphics/pokenav/83E42D8.pal b/graphics/pokenav/83E42D8.pal
new file mode 100644
index 000000000..f30ee169b
--- /dev/null
+++ b/graphics/pokenav/83E42D8.pal
@@ -0,0 +1,19 @@
+JASC-PAL
+0100
+16
+0 0 0
+255 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+255 255 255
diff --git a/graphics/pokenav/83E4678.pal b/graphics/pokenav/83E4678.pal
new file mode 100644
index 000000000..9b39ac8cf
--- /dev/null
+++ b/graphics/pokenav/83E4678.pal
@@ -0,0 +1,19 @@
+JASC-PAL
+0100
+16
+189 222 246
+164 197 230
+172 205 230
+255 255 255
+230 238 246
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
diff --git a/graphics/roulette/83F86BC.pal b/graphics/roulette/83F86BC.pal
new file mode 100644
index 000000000..ed68618ff
--- /dev/null
+++ b/graphics/roulette/83F86BC.pal
@@ -0,0 +1,259 @@
+JASC-PAL
+0100
+256
+82 156 49
+41 41 41
+98 98 115
+172 180 197
+255 255 255
+255 205 41
+255 172 0
+213 164 65
+205 164 82
+139 106 65
+131 222 189
+74 189 156
+115 189 148
+123 180 172
+74 115 115
+255 255 0
+74 106 156
+41 41 41
+98 98 115
+156 156 164
+255 255 255
+205 156 205
+164 106 164
+172 131 164
+156 123 156
+90 57 106
+255 255 255
+255 255 255
+255 255 255
+255 255 255
+255 255 255
+255 255 255
+74 106 156
+41 41 41
+123 123 131
+172 180 197
+255 255 255
+238 238 156
+189 180 106
+131 90 32
+255 131 90
+189 106 98
+230 222 255
+74 189 156
+255 255 255
+123 180 172
+255 255 255
+255 255 255
+74 106 156
+57 57 65
+98 98 115
+156 156 164
+255 255 255
+106 205 205
+246 98 90
+106 156 255
+255 255 255
+156 255 106
+246 230 74
+255 230 123
+255 255 255
+255 255 156
+156 255 148
+205 156 255
+74 106 156
+41 41 41
+98 98 115
+205 205 213
+255 255 255
+123 238 139
+255 172 139
+16 156 74
+197 164 255
+49 106 32
+115 197 131
+197 139 189
+255 82 57
+255 238 82
+205 180 8
+255 205 8
+74 106 156
+106 139 230
+82 115 205
+255 255 255
+255 255 255
+255 205 41
+255 172 0
+213 164 65
+205 164 82
+139 106 65
+131 222 189
+74 189 156
+115 189 148
+123 180 172
+74 115 115
+255 255 255
+74 106 156
+255 246 65
+255 255 164
+255 246 65
+255 255 255
+205 156 205
+164 106 164
+172 131 164
+156 123 156
+90 57 106
+255 255 255
+255 255 255
+255 255 255
+255 255 255
+255 255 255
+65 65 57
+74 106 156
+172 255 238
+222 255 255
+148 255 238
+255 255 255
+255 205 41
+255 172 0
+213 164 65
+205 164 82
+139 106 65
+131 222 189
+74 189 156
+115 189 148
+123 180 172
+74 115 115
+65 65 57
+74 106 156
+255 205 255
+255 222 255
+255 197 255
+255 255 255
+205 156 205
+164 106 164
+172 131 164
+156 123 156
+90 57 106
+255 255 255
+255 255 255
+255 255 255
+255 255 255
+255 255 255
+65 65 57
+74 106 156
+255 255 255
+255 255 255
+255 255 255
+255 255 255
+255 205 41
+255 172 0
+213 164 65
+205 164 82
+139 106 65
+131 222 189
+74 189 156
+115 189 148
+123 180 172
+74 115 115
+255 255 255
+74 106 156
+255 255 255
+255 255 255
+255 255 255
+255 255 255
+205 156 205
+164 106 164
+172 131 164
+156 123 156
+90 57 106
+255 255 255
+255 255 255
+255 255 255
+255 255 255
+255 255 255
+255 255 255
+74 106 156
+255 246 82
+164 255 222
+172 180 197
+255 255 255
+255 246 65
+246 205 24
+238 197 98
+205 172 90
+164 131 90
+156 246 222
+90 213 180
+131 222 172
+115 189 156
+98 148 148
+65 65 57
+74 106 156
+238 189 238
+156 148 148
+172 180 197
+255 255 255
+255 205 255
+222 156 230
+197 156 197
+172 139 172
+139 106 148
+205 205 230
+255 255 255
+255 255 255
+255 255 255
+255 255 255
+65 65 57
+74 106 156
+238 230 246
+205 205 230
+172 180 197
+255 255 255
+255 255 230
+255 255 164
+255 255 255
+222 255 255
+255 246 255
+255 222 255
+255 255 255
+255 255 255
+255 255 255
+255 255 255
+65 65 57
+255 255 255
+255 255 255
+255 255 255
+255 255 255
+255 255 255
+255 255 255
+255 255 255
+255 255 255
+255 255 255
+255 255 255
+255 255 255
+255 255 255
+255 255 255
+255 255 255
+255 255 255
+255 255 255
+255 255 255
+255 255 255
+255 255 255
+255 255 255
+255 255 255
+255 255 255
+255 255 255
+255 255 255
+255 255 255
+255 255 255
+255 255 255
+255 255 255
+255 255 255
+255 255 255
+255 255 255
+255 255 255
diff --git a/graphics/roulette/83F88BC.bin b/graphics/roulette/83F88BC.bin
new file mode 100644
index 000000000..6950027c3
--- /dev/null
+++ b/graphics/roulette/83F88BC.bin
Binary files differ
diff --git a/graphics/roulette/83F907C.pal b/graphics/roulette/83F907C.pal
new file mode 100644
index 000000000..9d44b25c8
--- /dev/null
+++ b/graphics/roulette/83F907C.pal
@@ -0,0 +1,19 @@
+JASC-PAL
+0100
+16
+74 106 156
+57 57 65
+106 106 123
+255 255 164
+106 222 222
+246 98 90
+222 255 255
+106 222 222
+246 98 90
+255 222 255
+106 222 222
+246 98 90
+222 222 230
+222 222 230
+222 222 230
+222 222 230
diff --git a/graphics/roulette/83F909C.pal b/graphics/roulette/83F909C.pal
new file mode 100644
index 000000000..81b0328a5
--- /dev/null
+++ b/graphics/roulette/83F909C.pal
@@ -0,0 +1,19 @@
+JASC-PAL
+0100
+16
+74 106 156
+57 57 65
+106 106 123
+255 255 164
+106 156 255
+222 222 230
+222 255 255
+106 156 255
+222 222 230
+255 222 255
+106 156 255
+222 222 230
+222 222 230
+222 222 230
+222 222 230
+222 222 230
diff --git a/graphics/roulette/83F90BC.pal b/graphics/roulette/83F90BC.pal
new file mode 100644
index 000000000..42a1bae94
--- /dev/null
+++ b/graphics/roulette/83F90BC.pal
@@ -0,0 +1,19 @@
+JASC-PAL
+0100
+16
+74 106 156
+57 57 65
+106 106 123
+255 255 164
+255 156 139
+246 246 156
+222 255 255
+255 156 139
+246 246 156
+255 222 255
+255 156 139
+246 246 156
+222 222 230
+222 222 230
+222 222 230
+222 222 230
diff --git a/graphics/roulette/83F90DC.pal b/graphics/roulette/83F90DC.pal
new file mode 100644
index 000000000..ff76379c8
--- /dev/null
+++ b/graphics/roulette/83F90DC.pal
@@ -0,0 +1,19 @@
+JASC-PAL
+0100
+16
+74 106 156
+57 57 65
+106 106 123
+255 255 164
+255 230 123
+222 222 230
+222 255 255
+255 230 123
+222 222 230
+255 222 255
+255 230 123
+222 222 230
+222 222 230
+222 222 230
+222 222 230
+222 222 230
diff --git a/graphics/roulette/center.pal b/graphics/roulette/center.pal
deleted file mode 100755
index 5eb074037..000000000
--- a/graphics/roulette/center.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-74 106 156
-41 41 41
-123 123 131
-172 180 197
-255 255 255
-238 238 156
-189 180 106
-131 90 32
-255 131 90
-189 106 98
-230 222 255
-74 189 156
-255 255 255
-123 180 172
-255 255 255
-255 255 255
diff --git a/graphics/roulette/wheel.png b/graphics/roulette/wheel.png
new file mode 100644
index 000000000..a0f121843
--- /dev/null
+++ b/graphics/roulette/wheel.png
Binary files differ
diff --git a/graphics/roulette/wheel_map.bin b/graphics/roulette/wheel_map.bin
new file mode 100644
index 000000000..53d919545
--- /dev/null
+++ b/graphics/roulette/wheel_map.bin
Binary files differ
diff --git a/graphics/unknown/unknown_E81098.bin b/graphics/unknown/unknown_E81098.bin
deleted file mode 100755
index 4cc6a9b90..000000000
--- a/graphics/unknown/unknown_E81098.bin
+++ /dev/null
@@ -1,189 +0,0 @@
-QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ'''QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ'''''''''''''''''''''''&&QQQQQQQQQQQQQQ'''''''''''''''''''''''&&&'&&&&&&&&&&&&&%%QQQ'))))''''))))''''))))''''&&&&&&&&&&&&&&&&%%%%%%%%%%%%))))))))))))))))))))))))&&&&&&&&&&&&&&&&%%%%%%%%%%%%%%%%QQQ))))'))))''''))))''''&&&&''''&&&&&&&&%%%%&&&&%%%%%%%%QQQQQQQQQQQQQ'''Q'''''''''''''''&&&'''''&&&&&&&'%%&&&&&&QQQQQQQQQQQQQQQQQQQQQQQQQQQQQ'''QQ''''''''''''''&&''''''QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ'''QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ'QQQQ''QQ''''Q'''''''''''&'''''&&&Q''''''''''''''''''&&''''&&&&''&&&&&%&&&&%%%%&&&%%%%%&%%%%%%%'''&&&&&&&&&&&%%&&&%%%%%&%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%₯₯%%₯₯₯₯₯₯%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%₯₯₯%%₯₯₯%%₯₯₯%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&'''%%&&&&&&%%%%%&&&%%%%%%%&%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'''''Q'''''''&&''''''&&&&''''%&&&&&''%%%%&&&&%%%%%&&&%%%%%%%&QQQQQQQQQQQQQQQ'QQQQQ''QQQQ''''QQ'''''Q&''''''&&&'''''QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ)QQQQQ))QQQQQ''QQQ'''QQ))'''Q))))'&)))))&&)))))&&&))))&&&%)))&&&%%'''&&&&%''&&&&%%'&&&%%%%&&&%%%%%&%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%₯₯%%%%%₯₯₯%%%%%%₯₯%ššš%%%₯%%%%%%%₯%%%%%₯₯₯%%₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯§₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯§¨₯₯§¨¨¨¨¨¨¨¨¨¨¨¨¨₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯§¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨₯₯₯%%₯₯₯%%₯₯₯%%₯₯₯%%¨¨¨&&¨¨¨&&¨¨¨&&¨¨¨&&%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-
-%%&&&&'''%%&&&&''%%%%&&&'%%%%%&&&%%%%%%%&%%%%%%%%%%%%%%%%%%%%%%%%''QQQQQ'''QQQ'''))QQ&'))))Q&&)))))&&&)))))%&&&))))%%&&&)))QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ'QQQQ)))QQQ))))QQ)))))Q)))))&Q))))&&''))&&&''''&&&%'''&&&%%))&&&%%%)&&&%%%%&&&%%%%%&&%%%%%%&%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%š%%%%%%%%%%%%%%šš%%%%%ššš%%%%šššš%%%ššššš%šššššššššššššššššššššššššššš%%₯ššššš%%%šššššš%%ššššššš&šššššš&ššššœššššš₯₯₯₯₯§¨¨₯₯₯§¨¨¨¨₯§¨¨¨¨¨¨&¨¨¨¨¨¨¨&¨¨¨¨¨¨¨&&¨¨¨¨¨¨&&¨¨¨¨¨&&¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨&&¨¨¨&&¨¨¨&&¨¨¨&&¨¨¨&&¨¨¨&&¨¨¨&&¨¨¨&&&&&&&& && %%
-
-
-
-
-%%%
-
-
-
-
-%%
-
-
-
-
-
-&
-
-
-
-
-
-
-&
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-%%%%%%%%
-
-%%%%%%
-
-
-%%%%%
-
-
-
-%%%%
-
-
-
-
-%%%
-
-
-
-
-
-
-%
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-%%%&&&))%%%%&&&)%%%%%&&&%%%%%%&&%%%%%%%&%%%%%%%%%%%%%%%%
-%%%%%%%QQQQQQ'QQQQQ''QQQQ'''QQQQ'''QQQ''''QQ''''&QQ''''&Q''''&&'''&&%%%''&&%%%%'&&&%%%%&&&%%%%%&&%%%%%%&&%%%%%%&%%%%%%%%%%%%%%%%%%%%%šš%%%%%ššš%%%%%ššš%%%%šššš%%%ššššš%%šššššš%ššššššš%ššššššššššššššššššššššœšššššššššššššššššššššœ &&¨¨¨¨&&¨¨¨¨&&¨¨¨&&¨¨&&¨¨&¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨               && && && && && &  
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-%%%%%%
-
-
-%%%%%
-
-
-%%%%%
-
-
-
-%%%%
-
-
-
-
-%%%
-
-
-
-
-
-%%
-
-
-
-
-
-
-%
-
-
-
-
-
-
-%QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ'QQQQQQ'QQQQQQ'Q'''&&&''''&&%'''&&&%''''&&%%'''&&%%%'''&&%%%''&&&%%%''&&%%%%%%%%%%%%%%%%%%%š%%%%%%%š%%%%%%%%%%%%%•%%%%%%%•••%%%%••••%%%%••••šššššššššššššššššššššššššššššœ%%šššš%%%%š••%%&•••&&&&                          
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-%%
-%%%% &%% &&&&QQQQQ''QQQQQ''QQQQ'''QQQQ'''QQQQ'''QQQ''''QQQ'''&QQQ'''&'&&&%%%%'&&%%%%%'&&%%%%%&&%%%%%%&&%%%%%%&&%%%%%%&%%%%%%%&%%%%%%%%%%•••••%%%•••••%%••••••%%••••••%%••••••%•••••••%••••••••••••••••••˜˜&&&••—˜˜˜˜&••˜˜˜˜˜˜•—˜˜˜˜˜˜•˜˜˜˜˜˜˜—˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜&&&&&˜˜&&&˜˜˜&&&˜˜˜˜˜&˜˜˜˜˜ ˜˜˜˜˜                          && &&& &&& &&&&&&&&QQQ'''&QQ'''&&QQ'''&&QQ'''&&QQ'''&&Q'''&&&Q'''&&%Q'''&&%&%%%%%%%%%%%%%%%%%%%%%%•%%%%%%%•%%%%%%%•%%%%%%%•%%%%%%••%%%%%%•••••••••—•••••••˜••••••—˜••••••˜˜••••••˜˜••••••˜˜•••••—˜˜•••••˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜ ˜˜˜˜ ˜˜˜ ˜˜˜ ˜˜ ˜˜ ˜˜ ˜     Q'''&&%Q'''&&%Q'''&&%''''&&%)))&&%%)))&&%%)))&&%%)))&&%%%%%%%%••%%%%%%••%%%%%%••%%%%%%••%%%%%•••%%%%%•••%%%%%•••%%%%%••••••••˜˜˜•••••˜˜˜•••••˜˜˜•••••˜˜˜••••—˜˜˜••••˜˜˜˜••••˜˜˜˜••••˜˜˜˜˜ ˜ ˜      )))&&%%)))&&%%)))&&%%)))&&%%)))&&%%)))&&%%)))&&%%)))&&%%%%%%%•••%%%%%•••%%%%%•••%%%%%%%%%%%%%%%%%%%%%………%%%%%………%%%%%………••••˜˜˜˜••••˜˜˜˜••••˜˜˜˜%%%%&&&&%%%%&&&&…………ˆˆˆˆ…………ˆˆˆˆ…………ˆˆˆˆ˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜&&&&&&&&&&&&&&&&ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆ      &&&&&&&&&&&&&&&&XXXXXXXXXXXXXXXXXXXXXXXX)))&&%%)))&&%%)))&&%%)))&&%%''''&&%Q'''&&%Q'''&&%Q'''&&%%%%%%………%%%%%………%%%%%………%%%%%………%%%%%%……%%%%%%……%%%%%%……%%%%%%………………ˆˆˆˆ…………ˆˆˆˆ…………ˆˆˆˆ…………‡ˆˆˆ……………ˆˆˆ……………ˆˆˆ……………ˆˆˆ……………ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆ      X X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXQ'''&&%Q'''&&%Q'''&&&QQ'''&&QQ'''&&QQ'''&&QQ'''&&QQQ'''&%%%%%%……%%%%%%……%%%%%%%…%%%%%%%…%%%%%%%…%%%%%%%…%%%%%%%%&%%%%%%%……………ˆˆˆ……………‡ˆˆ………………ˆˆ………………ˆˆ………………ˆˆ………………‡ˆ…………………ˆ…………………‡ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆ     X XX XX XX XXX XXX XXXX XXXXQQQ'''&QQQ'''&QQQ''''QQQQ'''QQQQ'''QQQQ'''QQQQQ''QQQQQ''&%%%%%%%&%%%%%%%&&%%%%%%&&%%%%%%&&%%%%%%'&&%%%%%'&&%%%%%'&&&%%%%……………………%…………………%…………………%%………………%%………………%%………………%%%……………%%%……………ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆ‡ˆˆˆˆˆˆˆ…ˆˆˆˆˆˆˆ…‡ˆˆˆˆˆˆ……ˆˆˆˆˆˆ……‡ˆˆˆˆ&………ˆˆ&&&ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆ&ˆˆˆ&&&}ˆˆ&&&}}&&&}}}}}&&}}}}}}}}}}}}}}          } }            ] ] XXXXX XXXXX&XXXXX]&&&XXX]]&&&XX]]]]]&&&]]]]]]&&]]]]]]]]XXXXXXXXXXXXXXXXXXXXXXXWXXXXXXXUXXXXXXWUXXXXXXUU&XXXXWUU&&&XXUUUQQQQQQ'QQQQQQ'QQQQQQ'QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ''&&%%%%''&&&%%%'''&&%%%'''&&%%%''''&&%%'''&&&%''''&&%Q'''&&&%%%%…………%%%%…………%%%%%………%%%%%…%%%%%%%%%%%%%%%%%z%%%%%%%z%%%%%%%%………&&&&}……%%&}}}%%%%z}}}%%zzzz}}zzzzzz|}zzzzzzz}zzzzzzzzzzzzzzzz}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}} }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}         }}}           ]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] ]&&&&UUU]]]&%%UU]]]Z%%%%]]ZZZZ%%]\ZZZZZZ]ZZZZZZZZZZZZZZZZZZZZZZZQ''''&&QQ''''&QQ''''&QQQ''''QQQQ'''QQQQ'''QQQQQ''QQQQQQ'%%%%%%%%&%%%%%%%&&%%%%%%&&%%%%%%&&&%%%%%'&&&%%%%''&&%%%%'''&&%%%%zzzzzzz%zzzzzzz%%zzzzzz%%%zzzzz%%%%zzzz%%%%%zzz%%%%%zzz%%%%%%zzz|}}}}}}zz}}}}}}zzz}}}}}zzzz}}}}zzzzz}}}zzzzzz}}zzzzzzz|zzzzzzzz}}}}}}}}}& }}}}}&& }}}}&&xx}}}}&&xx}}}&&xxx}}&&xxxx}}&&xxxx   x xxx xxxxxx xxxxxxxxxxxxxxxx   x xxxxxx     hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh]]]]&]]]]]&&]]]]]hh&&]]]]hh&&]]]]hhh&&]]]hhhh&&]]hhhh&&]]]]]]]]\Z]]]]]]ZZ]]]]]ZZZ]]]]ZZZZ]]]ZZZZZ]]ZZZZZZ\ZZZZZZZZZZZZZZZZZZZZZZ%ZZZZZZZ%ZZZZZZ%%ZZZZZ%%%ZZZZ%%%%ZZZ%%%%%ZZZ%%%%%ZZ%%%%%%QQQQQQ'QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ'''&&&%%''''&&&%''))&&&Q))))&&Q)))))&QQ)))))QQQ))))QQQQ)))%%%%%%%z%%%%%%%%%%%%%%%%&%%%%%%%&&%%%%%%&&&%%%%%)&&&%%%%))&&&%%%zzzzzzzzzzzzzzzz%zzzzzzz%%%zzzzz%%%%zzzz%%%%%zzz%%%%%%zz%%%%%%%%zz}}}}}}zzz}}}}}zzzz|}}}zzzzzz}&zzzzzzz&zzzzzz%%zzzzz%%%zzzzz%%u}&&xxxxx}&&xxxxx&&xxxxxx&xxxxxxx&xxxxxxxuwxxxxxxuuuwxxxxuuuuuwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&&hhhxxx&&hhhxxx&&hhhxxx&&hhhxxx&&hhhxxx&&hhhxxx&&hhhxxx&&hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh&&]hhhhh&&]hhhhhh&&hhhhhhh&hhhhhhh&hhhhhhgehhhhgeeehhgeeeee]]]]]]ZZ]]]]]ZZZ]]]\ZZZZ&]ZZZZZZ&ZZZZZZZ%%ZZZZZZ%%%ZZZZZe%%ZZZZZZZZZZZZZZZZZZZZZZZZZZZZ%ZZZZZ%%%ZZZZ%%%%ZZZ%%%%%ZZ%%%%%%%%%%%%%%Z%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&%%%%%%&&%%%%%&&&%%%%&&&)%%%&&&))QQQQQ))QQQQQQ)QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ)))&&&%%))))&&&%)))))&&&)))))&&Q))))'&QQ))'''QQQ'''QQQQQ''%%%%%%%%%%%%%%%%%%%%%%%%&%%%%%%%&&&%%%%%'&&&%%%%''&&&&%%'''&&&&%%zzz%%%u%%%%%%uu%%%%%uuu%%%%%%uu%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%uuuuuuuwuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu%%uuuuuu%%%%%uuu%%%%%%%uxxxxxxxxuuwxxxxxuuuuuuwxuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuxxxxxxxxxxxxxxxxxxxxxxxxuuuwxxxxuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuxxx&&hhhxxx&&hhhxxx&&hhhxxx&&hhhuuu%%eeeuuu%%eeeuuu%%eeeuuu%%eeehhhhhhhhhhhhhhhhhhhhhhhhhhhhgeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeehhhhhhhhhhhhhgeehgeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeegeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee%%eee%%%%%e%%%%%%%e%%%ZZZ%ee%%%%%%eee%%%%%ee%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&%%%%%&&&%%%%&&&'%%&&&&''%&&&&'''%%&&&)))%&&&))))&&&)))))&&)))))&'))))Q'''))QQ'''QQQ''QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ'''''&&&''''''&Q'''''QQ''''QQQQ''QQQQQ'QQQQQQQQQQQQQQQ&%%%%%%%&&&%%%%%&&&&%%%%''&&&&&%''''&&&&''''''&&'''''''Q'''''%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&%%%%%%%&&&%%%%%&&&&&&%%'''&&&&&%%uuuuuu%%%%%%uu%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&%%%%%%%uuuuuuuuuuuuuuuu%%%%uuuu%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%uuu%%eeeuuu%%eeeuuu%%eee%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%eeeeeeeeeeeeeeeeeeee%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%eeeeee%%ee%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&%%%%%&&&%%&&&&&&&&&&&'''%%%%%%%&%%%%%&&&%%%%&&&&%&&&&&''&&&&''''&&''''''''''''''''''Q&&&'''''&'''''''''''Q''''QQ''QQQQ'QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ'''QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ''''''&&''''''''''''''QQ'''QQQQQQQQQQQQQQQQQQQQQQQQQQQQQ&&&&&&%%'&&&&&&&'''''&&&'''''''''''''''Q'''QQQQQQQQQQQQQ%%%%%%%%&&&&%%%%&&&&&&&&''''&&&&''''))))''''))))'))))QQQ%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&))))))))))))))))))))))))%%%%%%%%%%%%&&&&&&&&&&&&&&&&''''))))''''))))''''))))'QQQ%%&&&&&&&&&&&&&'&&&'''''''''''''''''''''''QQQQQQQQQQQQQQ&&'''''''''''''''''''''''QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ'''QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ)QQQQQQ))QQQQQ)))QQQQ))))QQQ)))))QQ&)))))Q&&))))Q&&&))''%&&&''''%%&&&'''QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ'QQQQQQ%%%&&'''%%%%&&''%%%%&&&'%%%%%&&&%%%%%%&&%%%%%%&&%%%%%%%&%%%%%%%%'QQQQQQ''QQQQQ'''QQQQ'''QQQQ''''QQQ&''''QQ&''''QQ&&''''Q%%%%%%%%
-%%%%%%%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&'''Q%&&''''%&&&'''%%&&''''%%%&&'''%%%&&'''%%%&&&''%%%%&&''QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ'QQQQQQ'QQQQQQ'QQQQQQ%%%%%%%%%%%%%%%%%%&&&'%%%%%&&'%%%%%&&'%%%%%%&&%%%%%%&&%%%%%%&&%%%%%%%&%%%%%%%&''QQQQQ''QQQQQ'''QQQQ'''QQQQ'''QQQQ''''QQQ&'''QQQ&'''QQQ%%%%%%%&%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&'''QQQ&&'''QQ&&'''QQ&&'''QQ&&'''QQ&&&'''Q%&&'''Q%&&'''Q%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&'''Q%&&'''Q%&&'''Q%&&''''%%&&)))%%&&)))%%&&)))%%&&)))&&&&%%%%&&&&%%%%XXXXUUUUXXXXUUUUXXXXUUUU%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%UUU%%%%%UUU%%%%%UUU%%%%%%%&&)))%%&&)))%%&&)))%%&&)))%%&&)))%%&&)))%%&&)))%%&&)))XXXXUUUUXXXXUUUUXXXXUUUUXXXWUUUUXXXUUUUUXXXUUUUUXXXUUUUUXXXUUUUUUUU%%%%%UUU%%%%%UUU%%%%%UUU%%%%%UU%%%%%%UU%%%%%%UU%%%%%%UU%%%%%%%%&&)))%%&&)))%%&&)))%%&&)))%&&''''%&&'''Q%&&'''Q%&&'''QXXXUUUUUXXWUUUUUXXUUUUUUXXUUUUUUXXUUUUUUXWUUUUUUXUUUUUUUWUUUUUUUUU%%%%%%UU%%%%%%U%%%%%%%U%%%%%%%U%%%%%%%U%%%%%%%%%%%%%%%%%%%%%%&%&&'''Q%&&'''Q&&&'''Q&&'''QQ&&'''QQ&&'''QQ&&'''QQ&'''QQQUUUUUUUUUUUUUUU%UUUUUUU%UUUUUU%%UUUUUU%%UUUUUU%%UUUUU%%%UUUUU%%%%%%%%%%&%%%%%%%&%%%%%%&&%%%%%%&&%%%%%%&&%%%%%&&'%%%%%&&'%%%%&&&'&'''QQQ&'''QQQ''''QQQ'''QQQQ'''QQQQ'''QQQQ''QQQQQ''QQQQQUUUU%%%%UUUU%%%%UUU%%%%%%%U%%%%%%%%%%%%%Z%%%%%%%Z%%%%%%%%%%%%%%%%%%%&&''%%%&&&''%%%&&'''%%%&&'''%%&&''''%&&&'''%&&''''&&&'''Q'QQQQQQ'QQQQQQ'QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ%%%%%%%%%%%%%%%&%%%%%%&&%%%%%%&&%%%%%&&&%%%%&&&'%%%%&&''%%%&&'''&&''''Q&''''QQ&''''QQ''''QQQ'''QQQQ'''QQQQ''QQQQQ'QQQQQQ%%&&&'''%&&&''''&&&))''&&))))Q&)))))Q)))))QQ))))QQQ)))QQQQ'QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ))QQQQQ)QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ
diff --git a/ld_script.txt b/ld_script.txt
index d2fb31c6e..2267ca956 100644
--- a/ld_script.txt
+++ b/ld_script.txt
@@ -61,6 +61,7 @@ SECTIONS {
src/rng.o(.text);
asm/util.o(.text);
src/blend_palette.o(.text);
+ src/daycare.o(.text);
asm/daycare.o(.text);
asm/egg_hatch.o(.text);
asm/rom_804373C.o(.text);
diff --git a/src/bard_music.c b/src/bard_music.c
index 73eaa0f58..ee70f5319 100644
--- a/src/bard_music.c
+++ b/src/bard_music.c
@@ -1,157 +1,84 @@
#include "global.h"
#include "asm.h"
-typedef struct BardSound {
+struct BardSound
+{
u8 pad_00[48];
-} BardSound;
-
-typedef struct UnkBard {
- /* 0x00 */ u8 var00;
- /* 0x01 */ s8 var01;
- /* 0x02 */ u16 var02;
- /* 0x04 */ u16 var04;
- /* 0x06 */ u16 var06;
-} UnkBard;
-
-typedef struct UnkBard3 {
- /* 0x00 */ u16 var00;
- /* 0x02 */ u16 var02;
- /* 0x04 */ s16 var04;
- /* 0x06 */ u16 var06;
-} UnkBard3;
-
-typedef struct UnkBard2 {
- /* 0x00 */ u8 var00;
- /* 0x01 */ u8 var01;
- /* 0x02 */ u8 var02;
- /* 0x03 */ u8 var03;
- /* 0x04 */ u16 var04;
- u8 pad06[4];
- /* 0x0A */ u16 var0A;
- u8 pad0C[12];
- /* 0x18 */ UnkBard3 var18[6];
-} UnkBard2;
-
-extern BardSound *gBardMusicTable[];
+};
+
+struct UnkBard
+{
+ /*0x00*/ u8 var00;
+ /*0x01*/ s8 var01;
+ /*0x02*/ u16 var02;
+ /*0x04*/ u16 var04;
+ /*0x06*/ u16 var06;
+};
+
+struct UnkBard3
+{
+ /*0x00*/ u16 var00;
+ /*0x02*/ u16 var02;
+ /*0x04*/ s16 var04;
+ /*0x06*/ u16 var06;
+};
+
+struct UnkBard2
+{
+ /*0x00*/ u8 var00;
+ /*0x01*/ u8 var01;
+ /*0x02*/ u8 var02;
+ /*0x03*/ u8 var03;
+ /*0x04*/ u16 var04;
+ u8 pad06[4];
+ /*0x0A*/ u16 var0A;
+ u8 pad0C[12];
+ /*0x18*/ struct UnkBard3 var18[6];
+};
+
+extern struct BardSound *gBardMusicTable[];
extern s16 *gUnknown_08417068[];
extern u32 gUnknown_084170F4[];
-s16 sub_814A2B8(u32 arg0, u32 arg1) {
+static s16 sub_814A2B8(u32 arg0, u32 arg1)
+{
return gUnknown_08417068[arg0][arg1];
}
-BardSound *sub_814A2D0(u16 arg0, u16 arg1) {
- BardSound *sounds;
-
- sounds = gBardMusicTable[arg0];
-
+struct BardSound *sub_814A2D0(u16 arg0, u16 arg1)
+{
+ struct BardSound *sounds = gBardMusicTable[arg0];
+
return &sounds[arg1];
}
-#ifdef NONMATCHING
-int sub_814A2EC(UnkBard2 *dest, UnkBard *src, u16 arg2) {
- int i;
- int n;
-
- for (i = 0; i < 6; i++) {
- s8 var01;
-
+s32 sub_814A2EC(struct UnkBard2 *dest, struct UnkBard *src, u16 arg2)
+{
+ s32 i;
+ s32 j;
+ s32 thirty;
+
+ for (i = 0; i < 6; i++)
+ {
dest->var18[i].var00 = src[i].var00;
- if (src[i].var00 == 0xFF) {
- continue;
+ if (src[i].var00 != 0xFF)
+ {
+ s32 r1 = src[i].var01 +gUnknown_084170F4[src[i].var00];
+
+ dest->var18[i].var02 = r1;
+ dest->var18[i].var06 = src[i].var04;
+ dest->var04 += r1;
}
-
- var01 = src[i].var01;
- dest->var18[i].var02 = var01 + gUnknown_084170F4[src[i].var00];
- dest->var18[i].var06 = src[i].var04;
- dest->var04 += 1;
}
-
- i = 6;
-
- for (n = 0; n < i; n++) {
- dest->var18[n].var04 = sub_814A2B8(30 + arg2, n);
- }
-
- dest->var00 += 1;
+
+ for (j = 0, thirty = 30; j < i; j++)
+ dest->var18[j].var04 = sub_814A2B8(thirty + arg2, j);
+
+ dest->var00++;
dest->var01 = 0;
dest->var02 = 0;
dest->var03 = 0;
dest->var0A = 0;
+
+ //warning: no return statement in function returning non-void
}
-#else
-__attribute__((naked))
-void sub_814A2EC(void) {
- asm(".syntax unified\n\
- push {r4-r7,lr}\n\
- mov r7, r9\n\
- mov r6, r8\n\
- push {r6,r7}\n\
- adds r6, r0, 0\n\
- lsls r2, 16\n\
- lsrs r2, 16\n\
- mov r9, r2\n\
- ldr r4, _0814A370 @ =gUnknown_084170F4\n\
- adds r2, r1, 0\n\
- adds r3, r6, 0\n\
- adds r3, 0x18\n\
- movs r7, 0x5\n\
-_0814A306:\n\
- ldrb r0, [r2]\n\
- strh r0, [r3]\n\
- ldrb r0, [r2]\n\
- cmp r0, 0xFF\n\
- beq _0814A328\n\
- movs r1, 0x1\n\
- ldrsb r1, [r2, r1]\n\
- lsls r0, 2\n\
- adds r0, r4\n\
- ldr r0, [r0]\n\
- adds r1, r0\n\
- strh r1, [r3, 0x2]\n\
- ldrh r0, [r2, 0x4]\n\
- strh r0, [r3, 0x6]\n\
- ldrh r0, [r6, 0x4]\n\
- adds r0, r1\n\
- strh r0, [r6, 0x4]\n\
-_0814A328:\n\
- adds r2, 0x8\n\
- adds r3, 0x8\n\
- subs r7, 0x1\n\
- cmp r7, 0\n\
- bge _0814A306\n\
- movs r7, 0x6\n\
- movs r5, 0\n\
- movs r0, 0x1E\n\
- mov r8, r0\n\
- adds r4, r6, 0\n\
-_0814A33C:\n\
- mov r0, r8\n\
- add r0, r9\n\
- adds r1, r5, 0\n\
- bl sub_814A2B8\n\
- adds r1, r0, 0\n\
- strh r1, [r4, 0x1C]\n\
- adds r4, 0x8\n\
- adds r5, 0x1\n\
- cmp r5, r7\n\
- blt _0814A33C\n\
- ldrb r1, [r6]\n\
- adds r1, 0x1\n\
- movs r2, 0\n\
- strb r1, [r6]\n\
- strb r2, [r6, 0x1]\n\
- strb r2, [r6, 0x2]\n\
- strb r2, [r6, 0x3]\n\
- strh r2, [r6, 0xA]\n\
- pop {r3,r4}\n\
- mov r8, r3\n\
- mov r9, r4\n\
- pop {r4-r7}\n\
- pop {r1}\n\
- bx r1\n\
- .align 2, 0\n\
-_0814A370: .4byte gUnknown_084170F4\n\
- .syntax divided\n");
-}
-#endif
diff --git a/src/credits.c b/src/credits.c
index ef89707ff..13a6a1633 100644
--- a/src/credits.c
+++ b/src/credits.c
@@ -9,6 +9,72 @@
#include "task.h"
#include "text.h"
+enum {
+ PAGE_TITLE,
+ PAGE_DIRECTOR,
+ PAGE_ART_DIRECTOR,
+ PAGE_BATTLE_DIRECTOR,
+ PAGE_MAIN_PROGRAMMER,
+ PAGE_BATTLE_SYSTEM_PROGRAMMER,
+ PAGE_PROGRAMMERS_1,
+ PAGE_PROGRAMMERS_2,
+ PAGE_PROGRAMMERS_3,
+ PAGE_MAIN_GRAHPICS_DESIGNER,
+ PAGE_POKEMON_GRAHPIC_DESIGNERS_1,
+ PAGE_POKEMON_GRAHPIC_DESIGNERS_2,
+ PAGE_POKEMON_GRAHPIC_DESIGNERS_3,
+ PAGE_POKEMON_DESIGNERS_1,
+ PAGE_POKEMON_DESIGNERS_2,
+ PAGE_MUSIC_COMPOSITION,
+ PAGE_SOUND_EFFECTS,
+ PAGE_GAME_DESIGNERS_1,
+ PAGE_GAME_DESIGNERS_2,
+ PAGE_GAME_DESIGNERS_3,
+ PAGE_PLOT_SCENARIO,
+ PAGE_GAME_SCENARIO,
+ PAGE_SCRIPT_DESIGNERS,
+ PAGE_MAP_DESIGNERS,
+ PAGE_MAP_DATA_DESIGNERS,
+ PAGE_PARAMETRIC_DESIGNERS,
+ PAGE_POKEDEX_TEXT,
+ PAGE_ENVIRONMENT_TOOLS,
+ PAGE_PRODUCT_TESTING,
+ PAGE_SPECIAL_THANKS,
+ PAGE_SPECIAL_THANKS_1,
+ PAGE_SPECIAL_THANKS_2,
+ PAGE_SPECIAL_THANKS_3,
+ PAGE_INFORMATION_SUPERVISORS,
+ PAGE_COORDINATORS,
+ PAGE_TASK_MANAGERS,
+ PAGE_PRODUCERS,
+ PAGE_EXECUTIVE_DIRECTOR,
+ PAGE_EXECUTIVE_PRODUCERS_1,
+ PAGE_EXECUTIVE_PRODUCERS_2,
+ PAGE_TRANSLATION_COORDINATOR,
+ PAGE_TRANSLATORS,
+ PAGE_PROGRAMMERS,
+ PAGE_GRAPHIC_DESIGNERS,
+ PAGE_PRODUCT_SUPPORT,
+ PAGE_ARTWORK,
+ PAGE_TEXT_EDITOR,
+ PAGE_NOA_TESTING,
+ PAGE_BRAILLE_CODE_CHECK_1,
+ PAGE_BRAILLE_CODE_CHECK_2,
+ PAGE_SPECIAL_THANKS_4,
+ PAGE_SPECIAL_THANKS_5,
+
+ PAGE_COUNT
+};
+
+#define UNK_DEFINE_82 (0x82)
+
+#define COLOR_DARK_GREEN 0x1967
+#define COLOR_LIGHT_GREEN 0x328D
+
+enum {
+ TD_CURRENT_PAGE = 2,
+};
+
struct Unk201C000 {
u8 pad_00[0x88];
u16 var_88;
@@ -22,6 +88,11 @@ struct HallOfFame {
u8 sheet2[0x800];
};
+struct CreditsEntry {
+ u8 var_0;
+ u8 *text;
+};
+
extern struct Unk201C000 unk_201C000;
extern struct HallOfFame gHallOfFame;
@@ -45,6 +116,7 @@ extern u8 gBirchHelpGfx[];
// data/credits
extern u16 gUnknown_0840B7BC[32];
extern u16 gUnknown_0840B7FC[32];
+extern struct CreditsEntry *gCreditsEntryPointerTable[][5];
extern struct SpriteSheet gUnknown_0840CAA0;
extern struct SpritePalette gUnknown_0840CAB0;
@@ -62,8 +134,9 @@ static void sub_8144024(u8 taskId);
static void sub_8144080(u8 taskId);
static void sub_8144114(u8 taskId);
static void sub_8144130(void);
+static void sub_81441B8(u8 taskId);
+static u8 sub_8144454(u8 page, u8 taskId);
-void sub_81441B8(u8 taskId);
void sub_8144514(u8 taskId);
u8 sub_8144ECC(u8 data, u8 taskId);
void sub_81450AC(u8 taskId);
@@ -83,15 +156,18 @@ static void sub_814395C(void) {
BuildOamBuffer();
UpdatePaletteFade();
- if (!(gMain.heldKeys & B_BUTTON)) {
+ if (!(gMain.heldKeys & B_BUTTON))
+ {
return;
}
- if (!gUnknown_02039324) {
+ if (!gUnknown_02039324)
+ {
return;
}
- if (gTasks[gUnknown_02039322].func != sub_8143B68) {
+ if (gTasks[gUnknown_02039322].func != sub_8143B68)
+ {
return;
}
@@ -108,7 +184,7 @@ void sub_81439D0(void) {
s16 taskId3;
u8 taskId2;
u16 savedIme;
- struct Unk201C000 * c000;
+ struct Unk201C000 *c000;
sub_8144130();
SetVBlankCallback(NULL);
@@ -122,8 +198,10 @@ void sub_81439D0(void) {
gTasks[taskId].data[11] = 0;
gTasks[taskId].data[13] = 1;
- while (TRUE) {
- if (sub_8144ECC(0, taskId)) {
+ while (TRUE)
+ {
+ if (sub_8144ECC(0, taskId))
+ {
break;
}
}
@@ -171,7 +249,8 @@ void sub_81439D0(void) {
}
void sub_8143B38(u8 taskId) {
- if (gPaletteFade.active) {
+ if (gPaletteFade.active)
+ {
return;
}
@@ -181,7 +260,8 @@ void sub_8143B38(u8 taskId) {
void sub_8143B68(u8 taskId) {
u16 data11;
- if (gTasks[taskId].data[4]) {
+ if (gTasks[taskId].data[4])
+ {
s16 secondaryTaskId;
secondaryTaskId = gTasks[taskId].data[1];
@@ -195,12 +275,15 @@ void sub_8143B68(u8 taskId) {
gUnknown_02039320 = 0;
data11 = gTasks[taskId].data[11];
- if (gTasks[taskId].data[11] == 1) {
+ if (gTasks[taskId].data[11] == 1)
+ {
gTasks[taskId].data[13] = data11;
gTasks[taskId].data[11] = 0;
BeginNormalPaletteFade(-1, 0, 0, 16, 0);
gTasks[taskId].func = sub_8143BFC;
- } else if (gTasks[taskId].data[11] == 2) {
+ }
+ else if (gTasks[taskId].data[11] == 2)
+ {
gTasks[taskId].data[13] = data11;
gTasks[taskId].data[11] = 0;
BeginNormalPaletteFade(-1, 0, 0, 16, 0);
@@ -209,7 +292,8 @@ void sub_8143B68(u8 taskId) {
}
static void sub_8143BFC(u8 taskId) {
- if (gPaletteFade.active) {
+ if (gPaletteFade.active)
+ {
return;
}
@@ -223,7 +307,8 @@ static void c2_080C9BFC(u8 taskId) {
SetVBlankCallback(NULL);
- if (!sub_8144ECC(gTasks[taskId].data[7], taskId)) {
+ if (!sub_8144ECC(gTasks[taskId].data[7], taskId))
+ {
return;
}
@@ -240,7 +325,8 @@ static void c2_080C9BFC(u8 taskId) {
}
static void sub_8143CC0(u8 taskId) {
- if (gPaletteFade.active) {
+ if (gPaletteFade.active)
+ {
return;
}
@@ -252,58 +338,58 @@ static void sub_8143CC0(u8 taskId) {
#ifdef NONMATCHING
static void sub_8143D04(u8 taskId) {
switch (gMain.state) {
- default:
- case 0: {
- u16 i;
-
- ResetSpriteData();
- FreeAllSpritePalettes();
- gReservedSpritePaletteCount = 8;
- LZ77UnCompVram(&gBirchHelpGfx, (void *) VRAM);
- LZ77UnCompVram(&gBirchBagTilemap, (void *) (VRAM + 0x3800));
- LoadPalette(gBirchBagGrassPal + 2, 1, 31 * 2);
-
- for (i = 0; i < 0x800; i++) {
- gHallOfFame.sheet0[i] = 0x11;
- }
+ default:
+ case 0: {
+ u16 i;
+
+ ResetSpriteData();
+ FreeAllSpritePalettes();
+ gReservedSpritePaletteCount = 8;
+ LZ77UnCompVram(&gBirchHelpGfx, (void *) VRAM);
+ LZ77UnCompVram(&gBirchBagTilemap, (void *) (VRAM + 0x3800));
+ LoadPalette(gBirchBagGrassPal + 2, 1, 31 * 2);
+
+ for (i = 0; i < 0x800; i++) {
+ gHallOfFame.sheet0[i] = 0x11;
+ }
- for (i = 0; i < 0x800; i++) {
- gHallOfFame.sheet1[i] = 0x22;
- }
+ for (i = 0; i < 0x800; i++) {
+ gHallOfFame.sheet1[i] = 0x22;
+ }
- for (i = 0; i < 0x800; i++) {
- gHallOfFame.sheet2[i] = 0x33;
- }
+ for (i = 0; i < 0x800; i++) {
+ gHallOfFame.sheet2[i] = 0x33;
+ }
- unk_201f800[0] = 0;
- unk_201f800[1] = 0x53FF;
- unk_201f800[2] = 0x529F;
- unk_201f800[3] = 0x7E94;
+ unk_201f800[0] = 0;
+ unk_201f800[1] = 0x53FF; // light yellow
+ unk_201f800[2] = 0x529F; // light red
+ unk_201f800[3] = 0x7E94; // light blue
- LoadSpriteSheet(&gUnknown_0840CAA0);
- LoadSpritePalette(&gUnknown_0840CAB0);
+ LoadSpriteSheet(&gUnknown_0840CAA0);
+ LoadSpritePalette(&gUnknown_0840CAB0);
- gMain.state += 1;
- break;
- }
+ gMain.state += 1;
+ break;
+ }
- case 1: {
- gTasks[taskId].data[3] = CreateTask(sub_8144514, 0);
- gTasks[gTasks[taskId].data[3]].data[0] = 1;
- gTasks[gTasks[taskId].data[3]].data[1] = taskId;
- gTasks[gTasks[taskId].data[3]].data[2] = gTasks[taskId].data[7];
-
- BeginNormalPaletteFade(-1, 0, 16, 0, 0);
- REG_BG3HOFS = 0;
- REG_BG3VOFS = 32;
- REG_BG3CNT = 0x703;
- REG_DISPCNT = 0x1940;
-
- gMain.state = 0;
- gUnknown_0203935C = 0;
- gTasks[taskId].func = sub_8143B38;
- break;
- }
+ case 1: {
+ gTasks[taskId].data[3] = CreateTask(sub_8144514, 0);
+ gTasks[gTasks[taskId].data[3]].data[0] = 1;
+ gTasks[gTasks[taskId].data[3]].data[1] = taskId;
+ gTasks[gTasks[taskId].data[3]].data[2] = gTasks[taskId].data[7];
+
+ BeginNormalPaletteFade(-1, 0, 16, 0, 0);
+ REG_BG3HOFS = 0;
+ REG_BG3VOFS = 32;
+ REG_BG3CNT = 0x703;
+ REG_DISPCNT = 0x1940;
+
+ gMain.state = 0;
+ gUnknown_0203935C = 0;
+ gTasks[taskId].func = sub_8143B38;
+ break;
+ }
}
}
#else
@@ -508,7 +594,8 @@ _08143EB8: .4byte sub_8143B38\n\
#endif
static void sub_8143EBC(u8 taskId) {
- if (gTasks[taskId].data[12]) {
+ if (gTasks[taskId].data[12])
+ {
gTasks[taskId].data[12] -= 1;
return;
}
@@ -518,7 +605,8 @@ static void sub_8143EBC(u8 taskId) {
}
static void sub_8143F04(u8 taskId) {
- if (gPaletteFade.active) {
+ if (gPaletteFade.active)
+ {
return;
}
@@ -549,7 +637,8 @@ static void sub_8143F3C(u8 taskId) {
}
static void sub_8143FDC(u8 taskId) {
- if (gTasks[taskId].data[0]) {
+ if (gTasks[taskId].data[0])
+ {
gTasks[taskId].data[0] -= 1;
return;
}
@@ -559,7 +648,8 @@ static void sub_8143FDC(u8 taskId) {
}
static void sub_8144024(u8 taskId) {
- if (gPaletteFade.active) {
+ if (gPaletteFade.active)
+ {
return;
}
@@ -571,29 +661,34 @@ static void sub_8144024(u8 taskId) {
}
static void sub_8144080(u8 taskId) {
- if (gPaletteFade.active) {
+ if (gPaletteFade.active)
+ {
return;
}
- if (gTasks[taskId].data[0] == 0) {
+ if (gTasks[taskId].data[0] == 0)
+ {
FadeOutBGM(4);
BeginNormalPaletteFade(-1, 8, 0, 16, 0xFFFF);
gTasks[taskId].func = sub_8144114;
return;
}
- if (gMain.newKeys) {
+ if (gMain.newKeys)
+ {
FadeOutBGM(4);
BeginNormalPaletteFade(-1, 8, 0, 16, 0xFFFF);
gTasks[taskId].func = sub_8144114;
return;
}
- if (gTasks[taskId].data[0] == 7144) {
+ if (gTasks[taskId].data[0] == 7144)
+ {
FadeOutBGM(8);
}
- if (gTasks[taskId].data[0] == 6840) {
+ if (gTasks[taskId].data[0] == 6840)
+ {
m4aSongNumStart(BGM_END);
}
@@ -601,7 +696,8 @@ static void sub_8144080(u8 taskId) {
}
static void sub_8144114(u8 taskId) {
- if (gPaletteFade.active) {
+ if (gPaletteFade.active)
+ {
return;
}
@@ -624,7 +720,197 @@ static void sub_8144130(void) {
REG_BLDALPHA = 0;
REG_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);
+ 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_81441B8(u8 taskId) {
+ u16 i;
+
+ switch (gTasks[taskId].data[0])
+ {
+ case 0:
+ case 6:
+ case 7:
+ case 8:
+ case 9:
+ default:
+ if (gPaletteFade.active)
+ {
+ return;
+ }
+ gTasks[taskId].data[0] = 1;
+ gTasks[taskId].data[3] = 0x58;
+ gTasks[gTasks[taskId].data[1]].data[14] = 0;
+ gUnknown_02039320 = 0;
+ return;
+
+ case 1:
+ if (gTasks[taskId].data[3] != 0)
+ {
+ gTasks[taskId].data[3] -= 1;
+ return;
+ }
+
+ gTasks[taskId].data[0] += 1;
+ return;
+
+ case 2:
+ REG_DISPCNT &= ~DISPCNT_BG0_ON;
+
+ if (gTasks[gTasks[taskId].data[1]].func == sub_8143B68)
+ {
+ if (gTasks[taskId].data[TD_CURRENT_PAGE] < PAGE_COUNT)
+ {
+
+ for (i = 0; i < 5; i++)
+ {
+ sub_8072BD8(gCreditsEntryPointerTable[gTasks[taskId].data[TD_CURRENT_PAGE]][i]->text, 0,
+ 9 + i * 2, 240);
+ }
+
+ gTasks[taskId].data[TD_CURRENT_PAGE] += 1;
+ gTasks[taskId].data[0] += 1;
+
+ gTasks[gTasks[taskId].data[1]].data[14] = 1;
+
+ if (gTasks[gTasks[taskId].data[1]].data[13] == 1)
+ {
+ BeginNormalPaletteFade(0x300, 0, 16, 0, COLOR_LIGHT_GREEN);
+ }
+ else
+ {
+ BeginNormalPaletteFade(0x300, 0, 16, 0, COLOR_DARK_GREEN);
+ }
+ return;
+ }
+
+
+ gTasks[taskId].data[0] = 10;
+ return;
+ }
+
+ gTasks[gTasks[taskId].data[1]].data[14] = 0;
+ return;
+
+ case 3:
+ REG_DISPCNT |= DISPCNT_BG0_ON;
+
+ if (gPaletteFade.active)
+ {
+ return;
+ }
+
+ gTasks[taskId].data[3] = UNK_DEFINE_82;
+ gTasks[taskId].data[0] += 1;
+ return;
+
+ case 4:
+ if (gTasks[taskId].data[3] != 0)
+ {
+ gTasks[taskId].data[3] -= 1;
+ return;
+ }
+
+ if (sub_8144454((u8) gTasks[taskId].data[2], (u8) gTasks[taskId].data[1]))
+ {
+ gTasks[taskId].data[0] += 1;
+ return;
+ }
+
+ gTasks[taskId].data[0] += 1;
+
+ if (gTasks[gTasks[taskId].data[1]].data[13] == 1)
+ {
+ BeginNormalPaletteFade(0x300, 0, 0, 16, COLOR_LIGHT_GREEN);
+ }
+ else
+ {
+ BeginNormalPaletteFade(0x300, 0, 0, 16, COLOR_DARK_GREEN);
+ }
+
+ return;
+
+ case 5:
+ if (gPaletteFade.active)
+ {
+ return;
+ }
+
+ MenuZeroFillWindowRect(0, 9, 29, 19);
+ gTasks[taskId].data[0] = 2;
+ return;
+
+ case 10:
+ gTasks[gTasks[taskId].data[1]].data[4] = 1;
+ DestroyTask(taskId);
+ return;
+ }
+}
+
+#define LAST_PAGE (PAGE_TEXT_EDITOR)
+
+static u8 sub_8144454(u8 page, u8 taskId) {
+ // Starts with bike + ocean + morning
+
+ if (page == PAGE_PROGRAMMERS_1)
+ {
+ // Grass patch
+ gTasks[taskId].data[11] = 2;
+ }
+
+ if (page == PAGE_POKEMON_GRAHPIC_DESIGNERS_3)
+ {
+ // Bike + ocean + sunset
+ gTasks[taskId].data[7] = 1;
+ gTasks[taskId].data[11] = 1;
+ }
+
+ if (page == PAGE_GAME_DESIGNERS_2)
+ {
+ // Grass patch
+ gTasks[taskId].data[11] = 2;
+ }
+
+ if (page == PAGE_MAP_DATA_DESIGNERS)
+ {
+ // Bike + forest + sunset
+ gTasks[taskId].data[7] = 2;
+ gTasks[taskId].data[11] = 1;
+ }
+
+ if (page == PAGE_SPECIAL_THANKS_1)
+ {
+ // Grass patch
+ gTasks[taskId].data[11] = 2;
+ }
+
+ if (page == PAGE_TASK_MANAGERS)
+ {
+ // Bike + forest + sunset
+ gTasks[taskId].data[7] = 3;
+ gTasks[taskId].data[11] = 1;
+ }
+
+ if (page == PAGE_TRANSLATION_COORDINATOR)
+ {
+ // Grass patch
+ gTasks[taskId].data[11] = 2;
+ }
+
+ if (page == LAST_PAGE)
+ {
+ // Bike + town + night
+ gTasks[taskId].data[7] = 4;
+ gTasks[taskId].data[11] = 1;
+ }
+
+ if (gTasks[taskId].data[11] != 0)
+ {
+ // Returns true if changed?
+ return TRUE;
+ }
+
+ return FALSE;
}
diff --git a/src/daycare.c b/src/daycare.c
new file mode 100644
index 000000000..23f0305d8
--- /dev/null
+++ b/src/daycare.c
@@ -0,0 +1,33 @@
+#include "global.h"
+#include "pokemon.h"
+#include "string_util.h"
+
+u8 *pokemon_get_nick(struct Pokemon *mon, u8 *dest)
+{
+ s8 nickname[POKEMON_NAME_LENGTH * 2];
+
+ GetMonData(mon, MON_DATA_NICKNAME, nickname);
+ return StringCopy10(dest, nickname);
+}
+
+u8 *pokemon_get_nick_(struct BoxPokemon *mon, u8 *dest)
+{
+ s8 nickname[POKEMON_NAME_LENGTH * 2];
+
+ GetBoxMonData(mon, MON_DATA_NICKNAME, nickname);
+ return StringCopy10(dest, nickname);
+}
+
+u8 daycare_count_pokemon(struct BoxPokemon *daycare_data)
+{
+ u8 i, count;
+ count = 0;
+
+ for(i = 0;i <= 1;i++) {
+ if(GetBoxMonData(daycare_data + i, MON_DATA_SPECIES) != 0) {
+ count++;
+ }
+ }
+
+ return count;
+}
diff --git a/src/menu_cursor.c b/src/menu_cursor.c
index 5c1f0addf..201c6c4d8 100644
--- a/src/menu_cursor.c
+++ b/src/menu_cursor.c
@@ -13,7 +13,7 @@ extern struct SpriteTemplate gSpriteTemplate_842F298[];
extern struct Subsprite *gUnknown_0842F5BC[];
extern struct SubspriteTable gSubspriteTables_842F5C0[];
-extern struct SubspriteTable gUnknown_0842F6C0[];
+extern struct SubspriteTable gSubspriteTables_842F6C0[];
extern struct SubspriteTable gUnknown_0842F758[];
extern struct Subsprite gUnknown_0842F780;
@@ -601,6 +601,6 @@ void sub_814ADF4(u8 a1)
a1 = 0;
if (gUnknown_0203A3D2 != 0x40)
- SetSubspriteTables(&gSprites[gUnknown_0203A3D2], &gUnknown_0842F6C0[a1]);
+ SetSubspriteTables(&gSprites[gUnknown_0203A3D2], &gSubspriteTables_842F6C0[a1]);
return;
}
diff --git a/sym_ewram.txt b/sym_ewram.txt
index 97b099d65..13304fef9 100644
--- a/sym_ewram.txt
+++ b/sym_ewram.txt
@@ -6,9 +6,8 @@
.space 0x2E8
.include "src/link.o"
-
- .align 2
+ .align 2
gUnknown_020238C4: @ 20238C4
.space 0x1