summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--data/battle_interface.s318
-rw-r--r--data/data2.s702
-rw-r--r--data/daycare.s17
-rw-r--r--data/egg_hatch.s122
-rw-r--r--data/main_menu.s59
-rw-r--r--data/pokemon.s134
-rw-r--r--data/trig.s10
-rw-r--r--data/util.s70
-rw-r--r--ld_script.txt7
9 files changed, 737 insertions, 702 deletions
diff --git a/data/battle_interface.s b/data/battle_interface.s
new file mode 100644
index 000000000..040b1b9d3
--- /dev/null
+++ b/data/battle_interface.s
@@ -0,0 +1,318 @@
+ .include "asm/macros.inc"
+ .include "constants/constants.inc"
+
+ .section .rodata
+
+ .align 2
+gUnknown_0820A47C:: @ 820A47C
+ obj_tiles gBattleWindowLargeGfx, 4096, 0xd6ff
+
+ .align 2
+gUnknown_0820A484:: @ 820A484
+ obj_tiles gBattleWindowSmallGfx, 4096, 0xd701
+
+ .align 2
+gUnknown_0820A48C:: @ 820A48C
+ obj_tiles gBattleWindowSmall2Gfx, 2048, 0xd6ff
+
+ .align 2
+gUnknown_0820A494:: @ 820A494
+ obj_tiles gBattleWindowSmall2Gfx, 2048, 0xd700
+
+ .align 2
+gUnknown_0820A49C:: @ 820A49C
+ obj_tiles gBattleWindowSmall3Gfx, 2048, 0xd701
+
+ .align 2
+gUnknown_0820A4A4:: @ 820A4A4
+ obj_tiles gBattleWindowSmall3Gfx, 2048, 0xd702
+
+ .align 2
+gUnknown_0820A4AC:: @ 820A4AC
+ obj_tiles gBattleWindowLarge2Gfx, 4096, 0xd70b
+
+ .align 2
+gUnknown_0820A4B4:: @ 820A4B4
+ obj_tiles gBlankGfxCompressed, 256, 0xd704
+ obj_tiles gBlankGfxCompressed, 288, 0xd705
+ obj_tiles gBlankGfxCompressed, 256, 0xd706
+ obj_tiles gBlankGfxCompressed, 288, 0xd707
+
+ .align 2
+gUnknown_0820A4D4:: @ 820A4D4
+ obj_pal gUnknown_08D1212C, 0xD6FF
+ obj_pal gUnknown_08D1214C, 0xD704
+
+ .align 2
+gOamData_820A4E4:: @ 820A4E4
+ .2byte 0x4000
+ .2byte 0xC000
+ .2byte 0x0400
+
+ .align 2
+gSpriteTemplate_820A4EC:: @ 820A4EC
+ spr_template 55039, 55039, gOamData_820A4E4, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+ .align 2
+gSpriteTemplate_820A504:: @ 820A504
+ spr_template 55040, 55039, gOamData_820A4E4, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+ .align 2
+gSpriteTemplate_820A51C:: @ 820A51C
+ spr_template 55041, 55039, gOamData_820A4E4, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+ .align 2
+gSpriteTemplate_820A534:: @ 820A534
+ spr_template 55042, 55039, gOamData_820A4E4, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+ .align 2
+gSpriteTemplate_820A54C:: @ 820A54C
+ spr_template 55051, 55039, gOamData_820A4E4, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+ .align 2
+gOamData_820A564:: @ 820A564
+ .2byte 0x4000
+ .2byte 0x4000
+ .2byte 0x0400
+
+ .align 2
+gSpriteTemplate_820A56C:: @ 820A56C
+ spr_template 55044, 55044, gOamData_820A564, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8043CEC
+
+ .align 2
+gSpriteTemplate_820A584:: @ 820A584
+ spr_template 55045, 55044, gOamData_820A564, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8043CEC
+
+ .align 2
+gSpriteTemplate_820A59C:: @ 820A59C
+ spr_template 55046, 55044, gOamData_820A564, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8043CEC
+
+ .align 2
+gSpriteTemplate_820A5B4:: @ 820A5B4
+ spr_template 55047, 55044, gOamData_820A564, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8043CEC
+
+ .align 2
+gSubspriteTable_820A5CC:: @ 820A5CC
+ subsprite -16, 0, 1, 0, 64x32
+ subsprite 48, 0, 1, 32, 32x32
+ subsprite -16, 32, 1, 48, 32x8
+ subsprite 16, 32, 1, 52, 32x8
+ subsprite 48, 32, 1, 56, 32x8
+
+ .align 2
+gSubspriteTable_820A5F4:: @ 820A5F4
+ subsprite -16, 0, 1, 64, 64x32
+ subsprite 48, 0, 1, 96, 32x32
+ subsprite -16, 32, 1, 112, 32x8
+ subsprite 16, 32, 1, 116, 32x8
+ subsprite 48, 32, 1, 120, 32x8
+
+ .align 2
+gSubspriteTable_820A61C:: @ 820A61C
+ subsprite -16, 0, 1, 0, 64x32
+ subsprite 48, 0, 1, 32, 32x32
+
+ .align 2
+gSubspriteTable_820A62C:: @ 820A62C
+ subsprite -16, 0, 1, 0, 64x32
+ subsprite 48, 0, 1, 32, 32x32
+
+ .align 2
+gSubspriteTable_820A63C:: @ 820A63C
+ subsprite -16, 0, 1, 0, 32x8
+ subsprite 16, 0, 1, 4, 32x8
+
+ .align 2
+gSubspriteTable_820A64C:: @ 820A64C
+ subsprite -16, 0, 1, 0, 32x8
+ subsprite 16, 0, 1, 4, 32x8
+ subsprite -32, 0, 1, 8, 8x8
+
+@ unreferenced
+ .align 2
+ .4byte 5, gSubspriteTable_820A5CC
+ .4byte 2, gSubspriteTable_820A61C
+ .4byte 5, gSubspriteTable_820A5F4
+ .4byte 2, gSubspriteTable_820A62C
+
+ .align 2
+gSubspriteTables_820A684:: @ 820A684
+ .4byte 2, gSubspriteTable_820A63C
+ .4byte 3, gSubspriteTable_820A64C
+
+ .align 2
+gSubspriteTable_820A694:: @ 820A694
+ subsprite -96, 0, 1, 0, 32x8
+ subsprite -64, 0, 1, 4, 32x8
+ subsprite -32, 0, 1, 8, 32x8
+ subsprite 0, 0, 1, 12, 32x8
+
+ .align 2
+gSubspriteTable_820A6B4:: @ 820A6B4
+ subsprite -96, 0, 1, 0, 32x8
+ subsprite -64, 0, 1, 4, 32x8
+ subsprite -32, 0, 1, 8, 32x8
+ subsprite 0, 0, 1, 8, 32x8
+ subsprite 32, 0, 1, 8, 32x8
+ subsprite 64, 0, 1, 12, 32x8
+
+ .align 2
+gSubspriteTables_820A6E4:: @ 820A6E4
+ .4byte 4, gSubspriteTable_820A694
+
+ .align 2
+gSubspriteTables_820A6EC:: @ 820A6EC
+ .4byte 6, gSubspriteTable_820A6B4
+
+@ unused dakuten/handakuten tiles
+ .incbin "graphics/unused/dakuten.4bpp"
+
+ .align 2
+gUnknown_0820A754:: @ 820A754
+ obj_tiles gBattleGfx_BallStatusBar, 512, 0xd70c
+ obj_tiles gBattleGfx_BallStatusBar, 512, 0xd70d
+
+ .align 2
+gUnknown_0820A764:: @ 820A764
+ obj_pal gUnknown_08D1212C, 0xd710
+ obj_pal gUnknown_08D1212C, 0xd711
+
+ .align 2
+gUnknown_0820A774:: @ 820A774
+ obj_pal gUnknown_08D1214C, 0xd712
+ obj_pal gUnknown_08D1214C, 0xd713
+
+ .align 2
+gUnknown_0820A784:: @ 820A784
+ obj_tiles Tiles_D129AC, 0x80, 0xd714
+ obj_tiles Tiles_D129AC, 0x80, 0xd715
+
+ .align 2
+gOamData_820A794:: @ 820A794
+ .2byte 0x4000
+ .2byte 0xC000
+ .2byte 0x0400
+
+ .align 2
+gOamData_820A79C:: @ 820A79C
+ .2byte 0x0000
+ .2byte 0x0000
+ .2byte 0x0400
+
+ .align 2
+gSpriteTemplate_820A7A4:: @ 820A7A4
+ spr_template 55052, 55056, gOamData_820A4E4, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8045030
+
+ .align 2
+gSpriteTemplate_820A7BC:: @ 820A7BC
+ spr_template 55053, 55057, gOamData_820A4E4, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8045030
+
+ .align 2
+gSpriteTemplate_820A7D4:: @ 820A7D4
+ spr_template 55060, 55058, gOamData_820A79C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_804507C
+
+ .align 2
+gSpriteTemplate_820A7EC:: @ 820A7EC
+ spr_template 55061, 55059, gOamData_820A79C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_804507C
+
+ .align 2
+gUnknown_0820A804:: @ 820A804
+ .4byte OBJ_VRAM0 + 0x940
+ .4byte OBJ_VRAM0 + 0x960
+
+ .align 2
+gUnknown_0820A80C:: @ 820A80C
+ .4byte OBJ_VRAM0 + 0x520
+ .4byte OBJ_VRAM0 + 0x540
+
+ .align 2
+gUnknown_0820A814:: @ 820A814
+ .4byte OBJ_VRAM0 + 0x540
+ .4byte OBJ_VRAM0 + 0x560
+
+gUnknown_0820A81C:: @ 820A81C
+ .string "{COLOR DARK_GREY}{HIGHLIGHT RED} "
+
+ .align 2
+gUnknown_0820A83C:: @ 820A83C
+ .4byte OBJ_VRAM0 + 0x3E0
+ .4byte OBJ_VRAM0 + 0xB00
+ .4byte OBJ_VRAM0 + 0xB20
+
+ .align 2
+gUnknown_0820A848:: @ 820A848
+ .4byte OBJ_VRAM0 + 0x2C0
+ .4byte OBJ_VRAM0 + 0x2E0
+ .4byte OBJ_VRAM0 + 0x600
+
+ .align 2
+gUnknown_0820A854:: @ 820A854
+ .4byte OBJ_VRAM0 + 0xB40
+ .4byte OBJ_VRAM0 + 0xB60
+
+ .align 2
+gUnknown_0820A85C:: @ 820A85C
+ .4byte OBJ_VRAM0 + 0x620
+ .4byte OBJ_VRAM0 + 0x640
+
+gUnknown_0820A864:: @ 820A864
+ .string "{COLOR DARK_GREY}{HIGHLIGHT RED} /$"
+
+ .align 2
+gUnknown_0820A87C:: @ 820A87C
+ .4byte OBJ_VRAM0
+ .4byte OBJ_VRAM0 + 0x20
+ .4byte OBJ_VRAM0 + 0x40
+ .4byte OBJ_VRAM0 + 0x60
+ .4byte OBJ_VRAM0 + 0x80
+ .4byte OBJ_VRAM0 + 0xA0
+
+ .align 2
+gUnknown_0820A894:: @ 820A894
+ .4byte OBJ_VRAM0 + 0xC0
+ .4byte OBJ_VRAM0 + 0xE0
+
+gUnknown_0820A89C:: @ 820A89C
+ .string "{COLOR DARK_GREY}{HIGHLIGHT TRANSPARENT} "
+
+gUnknown_0820A8B0:: @ 820A8B0
+ .string "{HIGHLIGHT RED}$"
+
+ .align 2
+gUnknown_0820A8B4:: @ 820A8B4
+ .4byte OBJ_VRAM0 + 0x40
+ .4byte OBJ_VRAM0 + 0x60
+ .4byte OBJ_VRAM0 + 0x80
+ .4byte OBJ_VRAM0 + 0xA0
+ .4byte OBJ_VRAM0 + 0xC0
+ .4byte OBJ_VRAM0 + 0xE0
+ .4byte OBJ_VRAM0 + 0x800
+ .4byte OBJ_VRAM0 + 0x820
+ .4byte OBJ_VRAM0 + 0x840
+ .4byte OBJ_VRAM0 + 0x860
+
+ .align 2
+gUnknown_0820A8DC:: @ 820A8DC
+ .4byte OBJ_VRAM0 + 0x20
+ .4byte OBJ_VRAM0 + 0x40
+ .4byte OBJ_VRAM0 + 0x60
+ .4byte OBJ_VRAM0 + 0x80
+ .4byte OBJ_VRAM0 + 0xA0
+ .4byte OBJ_VRAM0 + 0xC0
+ .4byte OBJ_VRAM0 + 0xE0
+ .4byte OBJ_VRAM0 + 0x400
+ .4byte OBJ_VRAM0 + 0x420
+ .4byte OBJ_VRAM0 + 0x440
+
+ .align 2
+gUnknown_0820A904:: @ 820A904
+ .4byte OBJ_VRAM0 + 0x40
+ .4byte OBJ_VRAM0 + 0x60
+ .4byte OBJ_VRAM0 + 0x80
+ .4byte OBJ_VRAM0 + 0xA0
+ .4byte OBJ_VRAM0 + 0xC0
+ .4byte OBJ_VRAM0 + 0xE0
+ .4byte OBJ_VRAM0 + 0x400
+ .4byte OBJ_VRAM0 + 0x420
+ .4byte OBJ_VRAM0 + 0x440
+ .4byte OBJ_VRAM0 + 0x460
diff --git a/data/data2.s b/data/data2.s
index 873679c95..b8b6dc7db 100644
--- a/data/data2.s
+++ b/data/data2.s
@@ -6,61 +6,6 @@
.section .rodata
.align 2
-gUnknown_081E764C:: @ 81E764C
- .incbin "graphics/birch_speech/bg0.gbapal"
- .incbin "graphics/birch_speech/bg1.gbapal"
-
- .align 2
-gBirchIntroShadowGfx:: @ 81E768C
- .incbin "graphics/birch_speech/shadow.4bpp.lz"
-
- .align 2
-gUnknown_081E7834:: @ 81E7834
- .incbin "graphics/birch_speech/map.bin.lz"
-
- .align 2
-gUnknown_081E795C:: @ 81E795C
- .incbin "graphics/birch_speech/bg2.gbapal"
-
- .align 2
-gUnknown_081E796C:: @ 81E796C
- .space 16
-
- .align 2
-gMainMenuPalette:: @ 81E797C
- .incbin "graphics/misc/main_menu.gbapal"
-
- .align 2
-gSpriteAffineAnim_81E799C:: @ 81E799C
- obj_rot_scal_anim_frame 0xFFFE, 0xFFFE, 0, 48
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnimTable_81E79AC:: @ 81E79AC
- .4byte gSpriteAffineAnim_81E799C
-
- .align 2
-gUnknown_081E79B0:: @ 81E79B0
- .4byte gBirchText_Boy, 0
- .4byte gBirchText_Girl, 0
-
- .align 2
-gMalePresetNames:: @ 81E79C0
- .4byte gBirchText_NewName, 0
- .4byte gDefaultBoyName1, 0
- .4byte gDefaultBoyName2, 0
- .4byte gDefaultBoyName3, 0
- .4byte gDefaultBoyName4, 0
-
- .align 2
-gFemalePresetNames:: @ 81E79E8
- .4byte gBirchText_NewName, 0
- .4byte gDefaultGirlName1, 0
- .4byte gDefaultGirlName2, 0
- .4byte gDefaultGirlName3, 0
- .4byte gDefaultGirlName4, 0
-
- .align 2
gSpriteImageTable_81E7A10:: @ 81E7A10
obj_frame_tiles 0x2008000, 0x800
obj_frame_tiles 0x2008800, 0x800
@@ -1857,650 +1802,3 @@ gUnknown_081FC1D0:: @ 81FC1D0
.2byte -1, -1, -1
.space 2
-
-@ 81FC1E0
- .include "data/species_id_conversion_tables.inc"
-
-@ 81FCB84
- .include "data/spinda_spot_graphics.inc"
-
-@ 81FCC14
- .include "data/item_effects.inc"
-
-@ 81FD070
- .include "data/nature_stat_table.inc"
-
-@ 81FD0F0
- .include "data/tm_hm_learnsets.inc"
-
-@ 81FDDD0
- .include "data/trainer_class_index_tables.inc"
-
-@ 81FDE6A
- .include "data/cry_id_table.inc"
-
-@ 81FDF78
- .include "data/experience_tables/tables.inc"
-
-@ 81FEC18
- .include "data/base_stats.inc"
-
-@ 8201928
- .include "data/level_up_learnsets.inc"
-
-@ 8203B68
- .include "data/evolution_table.inc"
-
-@ 8207BC8
- .include "data/level_up_learnset_pointers.inc"
-
-gUnknown_08208238:: @ 8208238
- .byte 0x03, 0x0C, 0x30, 0xC0
-
-gUnknown_0820823C:: @ 820823C
- .byte 0xFC, 0xF3, 0xCF, 0x3F
-
-gUnknown_08208240:: @ 8208240
- .byte 0x01, 0x04, 0x10, 0x40
-
-gStatStageRatios:: @ 8208244
- .byte 10, 40 @ -6
- .byte 10, 35 @ -5
- .byte 10, 30 @ -4
- .byte 10, 25 @ -3
- .byte 10, 20 @ -2
- .byte 10, 15 @ -1
- .byte 10, 10 @ 0
- .byte 15, 10 @ +1
- .byte 20, 10 @ +2
- .byte 25, 10 @ +3
- .byte 30, 10 @ +4
- .byte 35, 10 @ +5
- .byte 40, 10 @ +6
-
-@ abbreviation of Game Freak
- .string "ゲーフリ$"
-
-gHoldEffectToType:: @ 8208263
- .byte HOLD_EFFECT_BUG_POWER, TYPE_BUG
- .byte HOLD_EFFECT_STEEL_POWER, TYPE_STEEL
- .byte HOLD_EFFECT_GROUND_POWER, TYPE_GROUND
- .byte HOLD_EFFECT_ROCK_POWER, TYPE_ROCK
- .byte HOLD_EFFECT_GRASS_POWER, TYPE_GRASS
- .byte HOLD_EFFECT_DARK_POWER, TYPE_DARK
- .byte HOLD_EFFECT_FIGHTING_POWER, TYPE_FIGHTING
- .byte HOLD_EFFECT_ELECTRIC_POWER, TYPE_ELECTRIC
- .byte HOLD_EFFECT_WATER_POWER, TYPE_WATER
- .byte HOLD_EFFECT_FLYING_POWER, TYPE_FLYING
- .byte HOLD_EFFECT_POISON_POWER, TYPE_POISON
- .byte HOLD_EFFECT_ICE_POWER, TYPE_ICE
- .byte HOLD_EFFECT_GHOST_POWER, TYPE_GHOST
- .byte HOLD_EFFECT_PSYCHIC_POWER, TYPE_PSYCHIC
- .byte HOLD_EFFECT_FIRE_POWER, TYPE_FIRE
- .byte HOLD_EFFECT_DRAGON_POWER, TYPE_DRAGON
- .byte HOLD_EFFECT_NORMAL_POWER, TYPE_NORMAL
- .byte 0, 0
-
- .align 2
-gSpriteTemplate_8208288:: @ 8208288
- spr_template 0xFFFF, 0, gOamData_81F96F0, NULL, gSpriteImageTable_81E7A10, gSpriteAffineAnimTable_81E7B70, sub_80105A0
- spr_template 0xFFFF, 0, gOamData_81F96E8, NULL, gSpriteImageTable_81E7A30, gSpriteAffineAnimTable_81E7BEC, oac_poke_opponent
- spr_template 0xFFFF, 0, gOamData_81F96F0, NULL, gSpriteImageTable_81E7A50, gSpriteAffineAnimTable_81E7B70, sub_80105A0
- spr_template 0xFFFF, 0, gOamData_81F96E8, NULL, gSpriteImageTable_81E7A70, gSpriteAffineAnimTable_81E7BEC, oac_poke_opponent
-
-gSecretBaseTrainerClasses:: @ 82082E8
- .byte TRAINER_CLASS_YOUNGSTER, TRAINER_CLASS_BUG_CATCHER, TRAINER_CLASS_RICH_BOY, TRAINER_CLASS_CAMPER, TRAINER_CLASS_COOL_TRAINER_M
- .byte TRAINER_CLASS_LASS, TRAINER_CLASS_SCHOOL_KID_F, TRAINER_CLASS_LADY, TRAINER_CLASS_PICNICKER, TRAINER_CLASS_COOL_TRAINER_F
-
-gUnknown_082082F2:: @ 82082F2
- .byte 0x1A, 0x1B, 0x1C, 0x1D, 0x1F, 0x1E
-
-gUnknown_082082F8:: @ 82082F8
- .byte 1, 1, 3, 2, 4, 6
-
-gUnknown_082082FE:: @ 82082FE
- .byte 5, 3, 2
- .byte 5, 3, 2
- .byte 1, 1, 0
- .byte 3, 2, 1
- .byte 1, 1, 0
- .byte 1, 1, 1
- .byte -1, -1, -1
- .byte -5, -5, -10
- .byte -5, -5, -10
-
- .align 1
-gUnknown_0820831A:: @ 820831A
- .2byte 0xF
- .2byte 0x13
- .2byte 0x39
- .2byte 0x46
- .2byte 0x94
- .2byte 0xF9
- .2byte 0x7F
- .2byte 0x123
- .2byte 0xFFFF
-
-@ "Nidoran♂" Japanese name
- .string "ニドラン♂$", 11
-
-@ "Nidoran♀" Japanese name
-gUnknown_08208337:: @ 8208337
- .string "ニドラン♀$", 13
-
-@ 8208344
- .include "data/sine_table.inc"
-
-@ 82085C4
- .include "data/sine_degree_table.inc"
-
- .align 2
-gBitTable:: @ 820872C
- .4byte 0x00000001
- .4byte 0x00000002
- .4byte 0x00000004
- .4byte 0x00000008
- .4byte 0x00000010
- .4byte 0x00000020
- .4byte 0x00000040
- .4byte 0x00000080
- .4byte 0x00000100
- .4byte 0x00000200
- .4byte 0x00000400
- .4byte 0x00000800
- .4byte 0x00001000
- .4byte 0x00002000
- .4byte 0x00004000
- .4byte 0x00008000
- .4byte 0x00010000
- .4byte 0x00020000
- .4byte 0x00040000
- .4byte 0x00080000
- .4byte 0x00100000
- .4byte 0x00200000
- .4byte 0x00400000
- .4byte 0x00800000
- .4byte 0x01000000
- .4byte 0x02000000
- .4byte 0x04000000
- .4byte 0x08000000
- .4byte 0x10000000
- .4byte 0x20000000
- .4byte 0x40000000
- .4byte 0x80000000
-
- .align 2
-gInvisibleSpriteTemplate:: @ 82087AC
- spr_template 0, 0, gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gSpriteDimensions:: @ 82087C4
- @ square
- .byte 1, 1
- .byte 2, 2
- .byte 4, 4
- .byte 8, 8
-
- @ horizontal rectangle
- .byte 2, 1
- .byte 4, 1
- .byte 4, 2
- .byte 8, 4
-
- @ vertical rectangle
- .byte 1, 2
- .byte 1, 4
- .byte 2, 4
- .byte 4, 8
-
-@ 82087DC
- .include "data/crc16_table.inc"
-
- .align 2
-gMiscBlank_Gfx:: @ 82089DC
- .incbin "graphics/interface/blank.4bpp"
-
-@ 82091DC
- .include "data/egg_moves.inc"
-
- .align 2
-gUnknown_08209AC4:: @ 8209AC4
- .4byte DaycareText_GetAlongVeryWell
- .4byte DaycareText_GetAlong
- .4byte DaycareText_DontLikeOther
- .4byte DaycareText_PlayOther
-
-gUnknown_08209AD4:: @ 8209AD4
- .string "タマゴ$"
-
-EggPalette:: @ 8209AD8
- .incbin "graphics/pokemon/egg/palette.gbapal"
-
-EggHatchTiles:: @ 8209AF8
- .incbin "graphics/misc/egg_hatch.4bpp"
-
-EggShardTiles:: @ 820A2F8
- .incbin "graphics/misc/egg_shard.4bpp"
-
- .align 2
-gOamData_820A378:: @ 820A378
- .2byte 0x0000
- .2byte 0x8000
- .2byte 0x0400
-
- .align 2
-gSpriteAnim_820A380:: @ 820A380
- obj_image_anim_frame 0, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_820A388:: @ 820A388
- obj_image_anim_frame 16, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_820A390:: @ 820A390
- obj_image_anim_frame 32, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_820A398:: @ 820A398
- obj_image_anim_frame 48, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_820A3A0:: @ 820A3A0
- .4byte gSpriteAnim_820A380
- .4byte gSpriteAnim_820A388
- .4byte gSpriteAnim_820A390
- .4byte gSpriteAnim_820A398
-
- .align 2
-gUnknown_0820A3B0:: @ 820A3B0
- obj_tiles EggHatchTiles, 2048, 12345
-
- .align 2
-gUnknown_0820A3B8:: @ 820A3B8
- obj_tiles EggShardTiles, 128, 23456
-
- .align 2
-gUnknown_0820A3C0:: @ 820A3C0
- obj_pal EggPalette, 54321
-
- .align 2
-gSpriteTemplate_820A3C8:: @ 820A3C8
- spr_template 12345, 54321, gOamData_820A378, gSpriteAnimTable_820A3A0, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gOamData_820A3E0:: @ 820A3E0
- .2byte 0x0000
- .2byte 0x0000
- .2byte 0x0800
-
- .align 2
-gSpriteAnim_820A3E8:: @ 820A3E8
- obj_image_anim_frame 0, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_820A3F0:: @ 820A3F0
- obj_image_anim_frame 1, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_820A3F8:: @ 820A3F8
- obj_image_anim_frame 2, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_820A400:: @ 820A400
- obj_image_anim_frame 3, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_820A408:: @ 820A408
- .4byte gSpriteAnim_820A3E8
- .4byte gSpriteAnim_820A3F0
- .4byte gSpriteAnim_820A3F8
- .4byte gSpriteAnim_820A400
-
- .align 2
-gSpriteTemplate_820A418:: @ 820A418
- spr_template 23456, 54321, gOamData_820A3E0, gSpriteAnimTable_820A408, NULL, gDummySpriteAffineAnimTable, SpriteCB_EggShard
-
-@ The values are Q8.8 fixed-point numbers.
- .align 1
-gEggShardVelocities:: @ 820A430
- .2byte 0xFE80, 0xFC40 @ (-1.5, -3.75)
- .2byte 0xFB00, 0xFD00 @ (-5, -3)
- .2byte 0x0380, 0xFD00 @ (3.5, -3)
- .2byte 0xFC00, 0xFC40 @ (-4, -3.75)
- .2byte 0x0200, 0xFE80 @ (2, -1.5)
- .2byte 0xFF80, 0xF940 @ (-0.5, -6.75)
- .2byte 0x0500, 0xFDC0 @ (5, -2.25)
- .2byte 0xFE80, 0xFC40 @ (-1.5, -3.75)
- .2byte 0x0480, 0xFE80 @ (4.5, -1.5)
- .2byte 0xFF00, 0xF940 @ (-1, -6.75)
- .2byte 0x0400, 0xFDC0 @ (4, -2.25)
- .2byte 0xFC80, 0xFC40 @ (-3.5, -3.75)
- .2byte 0x0100, 0xFE80 @ (1, -1.5)
- .2byte 0xFC7C, 0xF940 @ (-3.515625, -6.75)
- .2byte 0x0480, 0xFDC0 @ (4.5, -2.25)
- .2byte 0xFF80, 0xF880 @ (-0.5, -7.5)
- .2byte 0x0100, 0xFB80 @ (1, -4.5)
- .2byte 0xFD80, 0xFDC0 @ (-2.5, -2.25)
- .2byte 0x0280, 0xF880 @ (2.5, -7.5)
-
- .align 2
-gUnknown_0820A47C:: @ 820A47C
- obj_tiles gBattleWindowLargeGfx, 4096, 0xd6ff
-
- .align 2
-gUnknown_0820A484:: @ 820A484
- obj_tiles gBattleWindowSmallGfx, 4096, 0xd701
-
- .align 2
-gUnknown_0820A48C:: @ 820A48C
- obj_tiles gBattleWindowSmall2Gfx, 2048, 0xd6ff
-
- .align 2
-gUnknown_0820A494:: @ 820A494
- obj_tiles gBattleWindowSmall2Gfx, 2048, 0xd700
-
- .align 2
-gUnknown_0820A49C:: @ 820A49C
- obj_tiles gBattleWindowSmall3Gfx, 2048, 0xd701
-
- .align 2
-gUnknown_0820A4A4:: @ 820A4A4
- obj_tiles gBattleWindowSmall3Gfx, 2048, 0xd702
-
- .align 2
-gUnknown_0820A4AC:: @ 820A4AC
- obj_tiles gBattleWindowLarge2Gfx, 4096, 0xd70b
-
- .align 2
-gUnknown_0820A4B4:: @ 820A4B4
- obj_tiles gBlankGfxCompressed, 256, 0xd704
- obj_tiles gBlankGfxCompressed, 288, 0xd705
- obj_tiles gBlankGfxCompressed, 256, 0xd706
- obj_tiles gBlankGfxCompressed, 288, 0xd707
-
- .align 2
-gUnknown_0820A4D4:: @ 820A4D4
- obj_pal gUnknown_08D1212C, 0xD6FF
- obj_pal gUnknown_08D1214C, 0xD704
-
- .align 2
-gOamData_820A4E4:: @ 820A4E4
- .2byte 0x4000
- .2byte 0xC000
- .2byte 0x0400
-
- .align 2
-gSpriteTemplate_820A4EC:: @ 820A4EC
- spr_template 55039, 55039, gOamData_820A4E4, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gSpriteTemplate_820A504:: @ 820A504
- spr_template 55040, 55039, gOamData_820A4E4, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gSpriteTemplate_820A51C:: @ 820A51C
- spr_template 55041, 55039, gOamData_820A4E4, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gSpriteTemplate_820A534:: @ 820A534
- spr_template 55042, 55039, gOamData_820A4E4, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gSpriteTemplate_820A54C:: @ 820A54C
- spr_template 55051, 55039, gOamData_820A4E4, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gOamData_820A564:: @ 820A564
- .2byte 0x4000
- .2byte 0x4000
- .2byte 0x0400
-
- .align 2
-gSpriteTemplate_820A56C:: @ 820A56C
- spr_template 55044, 55044, gOamData_820A564, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8043CEC
-
- .align 2
-gSpriteTemplate_820A584:: @ 820A584
- spr_template 55045, 55044, gOamData_820A564, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8043CEC
-
- .align 2
-gSpriteTemplate_820A59C:: @ 820A59C
- spr_template 55046, 55044, gOamData_820A564, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8043CEC
-
- .align 2
-gSpriteTemplate_820A5B4:: @ 820A5B4
- spr_template 55047, 55044, gOamData_820A564, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8043CEC
-
- .align 2
-gSubspriteTable_820A5CC:: @ 820A5CC
- subsprite -16, 0, 1, 0, 64x32
- subsprite 48, 0, 1, 32, 32x32
- subsprite -16, 32, 1, 48, 32x8
- subsprite 16, 32, 1, 52, 32x8
- subsprite 48, 32, 1, 56, 32x8
-
- .align 2
-gSubspriteTable_820A5F4:: @ 820A5F4
- subsprite -16, 0, 1, 64, 64x32
- subsprite 48, 0, 1, 96, 32x32
- subsprite -16, 32, 1, 112, 32x8
- subsprite 16, 32, 1, 116, 32x8
- subsprite 48, 32, 1, 120, 32x8
-
- .align 2
-gSubspriteTable_820A61C:: @ 820A61C
- subsprite -16, 0, 1, 0, 64x32
- subsprite 48, 0, 1, 32, 32x32
-
- .align 2
-gSubspriteTable_820A62C:: @ 820A62C
- subsprite -16, 0, 1, 0, 64x32
- subsprite 48, 0, 1, 32, 32x32
-
- .align 2
-gSubspriteTable_820A63C:: @ 820A63C
- subsprite -16, 0, 1, 0, 32x8
- subsprite 16, 0, 1, 4, 32x8
-
- .align 2
-gSubspriteTable_820A64C:: @ 820A64C
- subsprite -16, 0, 1, 0, 32x8
- subsprite 16, 0, 1, 4, 32x8
- subsprite -32, 0, 1, 8, 8x8
-
-@ unreferenced
- .align 2
- .4byte 5, gSubspriteTable_820A5CC
- .4byte 2, gSubspriteTable_820A61C
- .4byte 5, gSubspriteTable_820A5F4
- .4byte 2, gSubspriteTable_820A62C
-
- .align 2
-gSubspriteTables_820A684:: @ 820A684
- .4byte 2, gSubspriteTable_820A63C
- .4byte 3, gSubspriteTable_820A64C
-
- .align 2
-gSubspriteTable_820A694:: @ 820A694
- subsprite -96, 0, 1, 0, 32x8
- subsprite -64, 0, 1, 4, 32x8
- subsprite -32, 0, 1, 8, 32x8
- subsprite 0, 0, 1, 12, 32x8
-
- .align 2
-gSubspriteTable_820A6B4:: @ 820A6B4
- subsprite -96, 0, 1, 0, 32x8
- subsprite -64, 0, 1, 4, 32x8
- subsprite -32, 0, 1, 8, 32x8
- subsprite 0, 0, 1, 8, 32x8
- subsprite 32, 0, 1, 8, 32x8
- subsprite 64, 0, 1, 12, 32x8
-
- .align 2
-gSubspriteTables_820A6E4:: @ 820A6E4
- .4byte 4, gSubspriteTable_820A694
-
- .align 2
-gSubspriteTables_820A6EC:: @ 820A6EC
- .4byte 6, gSubspriteTable_820A6B4
-
-@ unused dakuten/handakuten tiles
- .incbin "graphics/unused/dakuten.4bpp"
-
- .align 2
-gUnknown_0820A754:: @ 820A754
- obj_tiles gBattleGfx_BallStatusBar, 512, 0xd70c
- obj_tiles gBattleGfx_BallStatusBar, 512, 0xd70d
-
- .align 2
-gUnknown_0820A764:: @ 820A764
- obj_pal gUnknown_08D1212C, 0xd710
- obj_pal gUnknown_08D1212C, 0xd711
-
- .align 2
-gUnknown_0820A774:: @ 820A774
- obj_pal gUnknown_08D1214C, 0xd712
- obj_pal gUnknown_08D1214C, 0xd713
-
- .align 2
-gUnknown_0820A784:: @ 820A784
- obj_tiles Tiles_D129AC, 0x80, 0xd714
- obj_tiles Tiles_D129AC, 0x80, 0xd715
-
- .align 2
-gOamData_820A794:: @ 820A794
- .2byte 0x4000
- .2byte 0xC000
- .2byte 0x0400
-
- .align 2
-gOamData_820A79C:: @ 820A79C
- .2byte 0x0000
- .2byte 0x0000
- .2byte 0x0400
-
- .align 2
-gSpriteTemplate_820A7A4:: @ 820A7A4
- spr_template 55052, 55056, gOamData_820A4E4, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8045030
-
- .align 2
-gSpriteTemplate_820A7BC:: @ 820A7BC
- spr_template 55053, 55057, gOamData_820A4E4, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8045030
-
- .align 2
-gSpriteTemplate_820A7D4:: @ 820A7D4
- spr_template 55060, 55058, gOamData_820A79C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_804507C
-
- .align 2
-gSpriteTemplate_820A7EC:: @ 820A7EC
- spr_template 55061, 55059, gOamData_820A79C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_804507C
-
- .align 2
-gUnknown_0820A804:: @ 820A804
- .4byte OBJ_VRAM0 + 0x940
- .4byte OBJ_VRAM0 + 0x960
-
- .align 2
-gUnknown_0820A80C:: @ 820A80C
- .4byte OBJ_VRAM0 + 0x520
- .4byte OBJ_VRAM0 + 0x540
-
- .align 2
-gUnknown_0820A814:: @ 820A814
- .4byte OBJ_VRAM0 + 0x540
- .4byte OBJ_VRAM0 + 0x560
-
-gUnknown_0820A81C:: @ 820A81C
- .string "{COLOR DARK_GREY}{HIGHLIGHT RED} "
-
- .align 2
-gUnknown_0820A83C:: @ 820A83C
- .4byte OBJ_VRAM0 + 0x3E0
- .4byte OBJ_VRAM0 + 0xB00
- .4byte OBJ_VRAM0 + 0xB20
-
- .align 2
-gUnknown_0820A848:: @ 820A848
- .4byte OBJ_VRAM0 + 0x2C0
- .4byte OBJ_VRAM0 + 0x2E0
- .4byte OBJ_VRAM0 + 0x600
-
- .align 2
-gUnknown_0820A854:: @ 820A854
- .4byte OBJ_VRAM0 + 0xB40
- .4byte OBJ_VRAM0 + 0xB60
-
- .align 2
-gUnknown_0820A85C:: @ 820A85C
- .4byte OBJ_VRAM0 + 0x620
- .4byte OBJ_VRAM0 + 0x640
-
-gUnknown_0820A864:: @ 820A864
- .string "{COLOR DARK_GREY}{HIGHLIGHT RED} /$"
-
- .align 2
-gUnknown_0820A87C:: @ 820A87C
- .4byte OBJ_VRAM0
- .4byte OBJ_VRAM0 + 0x20
- .4byte OBJ_VRAM0 + 0x40
- .4byte OBJ_VRAM0 + 0x60
- .4byte OBJ_VRAM0 + 0x80
- .4byte OBJ_VRAM0 + 0xA0
-
- .align 2
-gUnknown_0820A894:: @ 820A894
- .4byte OBJ_VRAM0 + 0xC0
- .4byte OBJ_VRAM0 + 0xE0
-
-gUnknown_0820A89C:: @ 820A89C
- .string "{COLOR DARK_GREY}{HIGHLIGHT TRANSPARENT} "
-
-gUnknown_0820A8B0:: @ 820A8B0
- .string "{HIGHLIGHT RED}$"
-
- .align 2
-gUnknown_0820A8B4:: @ 820A8B4
- .4byte OBJ_VRAM0 + 0x40
- .4byte OBJ_VRAM0 + 0x60
- .4byte OBJ_VRAM0 + 0x80
- .4byte OBJ_VRAM0 + 0xA0
- .4byte OBJ_VRAM0 + 0xC0
- .4byte OBJ_VRAM0 + 0xE0
- .4byte OBJ_VRAM0 + 0x800
- .4byte OBJ_VRAM0 + 0x820
- .4byte OBJ_VRAM0 + 0x840
- .4byte OBJ_VRAM0 + 0x860
-
- .align 2
-gUnknown_0820A8DC:: @ 820A8DC
- .4byte OBJ_VRAM0 + 0x20
- .4byte OBJ_VRAM0 + 0x40
- .4byte OBJ_VRAM0 + 0x60
- .4byte OBJ_VRAM0 + 0x80
- .4byte OBJ_VRAM0 + 0xA0
- .4byte OBJ_VRAM0 + 0xC0
- .4byte OBJ_VRAM0 + 0xE0
- .4byte OBJ_VRAM0 + 0x400
- .4byte OBJ_VRAM0 + 0x420
- .4byte OBJ_VRAM0 + 0x440
-
- .align 2
-gUnknown_0820A904:: @ 820A904
- .4byte OBJ_VRAM0 + 0x40
- .4byte OBJ_VRAM0 + 0x60
- .4byte OBJ_VRAM0 + 0x80
- .4byte OBJ_VRAM0 + 0xA0
- .4byte OBJ_VRAM0 + 0xC0
- .4byte OBJ_VRAM0 + 0xE0
- .4byte OBJ_VRAM0 + 0x400
- .4byte OBJ_VRAM0 + 0x420
- .4byte OBJ_VRAM0 + 0x440
- .4byte OBJ_VRAM0 + 0x460
diff --git a/data/daycare.s b/data/daycare.s
new file mode 100644
index 000000000..92eb4637e
--- /dev/null
+++ b/data/daycare.s
@@ -0,0 +1,17 @@
+ .include "asm/macros.inc"
+ .include "constants/constants.inc"
+
+ .section .rodata
+
+@ 82091DC
+ .include "data/egg_moves.inc"
+
+ .align 2
+gUnknown_08209AC4:: @ 8209AC4
+ .4byte DaycareText_GetAlongVeryWell
+ .4byte DaycareText_GetAlong
+ .4byte DaycareText_DontLikeOther
+ .4byte DaycareText_PlayOther
+
+gUnknown_08209AD4:: @ 8209AD4
+ .string "タマゴ$"
diff --git a/data/egg_hatch.s b/data/egg_hatch.s
new file mode 100644
index 000000000..1823409dd
--- /dev/null
+++ b/data/egg_hatch.s
@@ -0,0 +1,122 @@
+ .include "asm/macros.inc"
+ .include "constants/constants.inc"
+
+ .section .rodata
+
+EggPalette:: @ 8209AD8
+ .incbin "graphics/pokemon/egg/palette.gbapal"
+
+EggHatchTiles:: @ 8209AF8
+ .incbin "graphics/misc/egg_hatch.4bpp"
+
+EggShardTiles:: @ 820A2F8
+ .incbin "graphics/misc/egg_shard.4bpp"
+
+ .align 2
+gOamData_820A378:: @ 820A378
+ .2byte 0x0000
+ .2byte 0x8000
+ .2byte 0x0400
+
+ .align 2
+gSpriteAnim_820A380:: @ 820A380
+ obj_image_anim_frame 0, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_820A388:: @ 820A388
+ obj_image_anim_frame 16, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_820A390:: @ 820A390
+ obj_image_anim_frame 32, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_820A398:: @ 820A398
+ obj_image_anim_frame 48, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_820A3A0:: @ 820A3A0
+ .4byte gSpriteAnim_820A380
+ .4byte gSpriteAnim_820A388
+ .4byte gSpriteAnim_820A390
+ .4byte gSpriteAnim_820A398
+
+ .align 2
+gUnknown_0820A3B0:: @ 820A3B0
+ obj_tiles EggHatchTiles, 2048, 12345
+
+ .align 2
+gUnknown_0820A3B8:: @ 820A3B8
+ obj_tiles EggShardTiles, 128, 23456
+
+ .align 2
+gUnknown_0820A3C0:: @ 820A3C0
+ obj_pal EggPalette, 54321
+
+ .align 2
+gSpriteTemplate_820A3C8:: @ 820A3C8
+ spr_template 12345, 54321, gOamData_820A378, gSpriteAnimTable_820A3A0, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+ .align 2
+gOamData_820A3E0:: @ 820A3E0
+ .2byte 0x0000
+ .2byte 0x0000
+ .2byte 0x0800
+
+ .align 2
+gSpriteAnim_820A3E8:: @ 820A3E8
+ obj_image_anim_frame 0, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_820A3F0:: @ 820A3F0
+ obj_image_anim_frame 1, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_820A3F8:: @ 820A3F8
+ obj_image_anim_frame 2, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_820A400:: @ 820A400
+ obj_image_anim_frame 3, 5
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_820A408:: @ 820A408
+ .4byte gSpriteAnim_820A3E8
+ .4byte gSpriteAnim_820A3F0
+ .4byte gSpriteAnim_820A3F8
+ .4byte gSpriteAnim_820A400
+
+ .align 2
+gSpriteTemplate_820A418:: @ 820A418
+ spr_template 23456, 54321, gOamData_820A3E0, gSpriteAnimTable_820A408, NULL, gDummySpriteAffineAnimTable, SpriteCB_EggShard
+
+@ The values are Q8.8 fixed-point numbers.
+ .align 1
+gEggShardVelocities:: @ 820A430
+ .2byte 0xFE80, 0xFC40 @ (-1.5, -3.75)
+ .2byte 0xFB00, 0xFD00 @ (-5, -3)
+ .2byte 0x0380, 0xFD00 @ (3.5, -3)
+ .2byte 0xFC00, 0xFC40 @ (-4, -3.75)
+ .2byte 0x0200, 0xFE80 @ (2, -1.5)
+ .2byte 0xFF80, 0xF940 @ (-0.5, -6.75)
+ .2byte 0x0500, 0xFDC0 @ (5, -2.25)
+ .2byte 0xFE80, 0xFC40 @ (-1.5, -3.75)
+ .2byte 0x0480, 0xFE80 @ (4.5, -1.5)
+ .2byte 0xFF00, 0xF940 @ (-1, -6.75)
+ .2byte 0x0400, 0xFDC0 @ (4, -2.25)
+ .2byte 0xFC80, 0xFC40 @ (-3.5, -3.75)
+ .2byte 0x0100, 0xFE80 @ (1, -1.5)
+ .2byte 0xFC7C, 0xF940 @ (-3.515625, -6.75)
+ .2byte 0x0480, 0xFDC0 @ (4.5, -2.25)
+ .2byte 0xFF80, 0xF880 @ (-0.5, -7.5)
+ .2byte 0x0100, 0xFB80 @ (1, -4.5)
+ .2byte 0xFD80, 0xFDC0 @ (-2.5, -2.25)
+ .2byte 0x0280, 0xF880 @ (2.5, -7.5)
diff --git a/data/main_menu.s b/data/main_menu.s
new file mode 100644
index 000000000..1fae3850b
--- /dev/null
+++ b/data/main_menu.s
@@ -0,0 +1,59 @@
+ .include "asm/macros.inc"
+ .include "constants/constants.inc"
+
+ .section .rodata
+
+ .align 2
+gUnknown_081E764C:: @ 81E764C
+ .incbin "graphics/birch_speech/bg0.gbapal"
+ .incbin "graphics/birch_speech/bg1.gbapal"
+
+ .align 2
+gBirchIntroShadowGfx:: @ 81E768C
+ .incbin "graphics/birch_speech/shadow.4bpp.lz"
+
+ .align 2
+gUnknown_081E7834:: @ 81E7834
+ .incbin "graphics/birch_speech/map.bin.lz"
+
+ .align 2
+gUnknown_081E795C:: @ 81E795C
+ .incbin "graphics/birch_speech/bg2.gbapal"
+
+ .align 2
+gUnknown_081E796C:: @ 81E796C
+ .space 16
+
+ .align 2
+gMainMenuPalette:: @ 81E797C
+ .incbin "graphics/misc/main_menu.gbapal"
+
+ .align 2
+gSpriteAffineAnim_81E799C:: @ 81E799C
+ obj_rot_scal_anim_frame 0xFFFE, 0xFFFE, 0, 48
+ obj_rot_scal_anim_end
+
+ .align 2
+gSpriteAffineAnimTable_81E79AC:: @ 81E79AC
+ .4byte gSpriteAffineAnim_81E799C
+
+ .align 2
+gUnknown_081E79B0:: @ 81E79B0
+ .4byte gBirchText_Boy, 0
+ .4byte gBirchText_Girl, 0
+
+ .align 2
+gMalePresetNames:: @ 81E79C0
+ .4byte gBirchText_NewName, 0
+ .4byte gDefaultBoyName1, 0
+ .4byte gDefaultBoyName2, 0
+ .4byte gDefaultBoyName3, 0
+ .4byte gDefaultBoyName4, 0
+
+ .align 2
+gFemalePresetNames:: @ 81E79E8
+ .4byte gBirchText_NewName, 0
+ .4byte gDefaultGirlName1, 0
+ .4byte gDefaultGirlName2, 0
+ .4byte gDefaultGirlName3, 0
+ .4byte gDefaultGirlName4, 0
diff --git a/data/pokemon.s b/data/pokemon.s
new file mode 100644
index 000000000..758e6c77e
--- /dev/null
+++ b/data/pokemon.s
@@ -0,0 +1,134 @@
+ .include "asm/macros.inc"
+ .include "constants/constants.inc"
+
+ .section .rodata
+
+@ 81FC1E0
+ .include "data/species_id_conversion_tables.inc"
+
+@ 81FCB84
+ .include "data/spinda_spot_graphics.inc"
+
+@ 81FCC14
+ .include "data/item_effects.inc"
+
+@ 81FD070
+ .include "data/nature_stat_table.inc"
+
+@ 81FD0F0
+ .include "data/tm_hm_learnsets.inc"
+
+@ 81FDDD0
+ .include "data/trainer_class_index_tables.inc"
+
+@ 81FDE6A
+ .include "data/cry_id_table.inc"
+
+@ 81FDF78
+ .include "data/experience_tables/tables.inc"
+
+@ 81FEC18
+ .include "data/base_stats.inc"
+
+@ 8201928
+ .include "data/level_up_learnsets.inc"
+
+@ 8203B68
+ .include "data/evolution_table.inc"
+
+@ 8207BC8
+ .include "data/level_up_learnset_pointers.inc"
+
+gUnknown_08208238:: @ 8208238
+ .byte 0x03, 0x0C, 0x30, 0xC0
+
+gUnknown_0820823C:: @ 820823C
+ .byte 0xFC, 0xF3, 0xCF, 0x3F
+
+gUnknown_08208240:: @ 8208240
+ .byte 0x01, 0x04, 0x10, 0x40
+
+gStatStageRatios:: @ 8208244
+ .byte 10, 40 @ -6
+ .byte 10, 35 @ -5
+ .byte 10, 30 @ -4
+ .byte 10, 25 @ -3
+ .byte 10, 20 @ -2
+ .byte 10, 15 @ -1
+ .byte 10, 10 @ 0
+ .byte 15, 10 @ +1
+ .byte 20, 10 @ +2
+ .byte 25, 10 @ +3
+ .byte 30, 10 @ +4
+ .byte 35, 10 @ +5
+ .byte 40, 10 @ +6
+
+@ abbreviation of Game Freak
+ .string "ゲーフリ$"
+
+gHoldEffectToType:: @ 8208263
+ .byte HOLD_EFFECT_BUG_POWER, TYPE_BUG
+ .byte HOLD_EFFECT_STEEL_POWER, TYPE_STEEL
+ .byte HOLD_EFFECT_GROUND_POWER, TYPE_GROUND
+ .byte HOLD_EFFECT_ROCK_POWER, TYPE_ROCK
+ .byte HOLD_EFFECT_GRASS_POWER, TYPE_GRASS
+ .byte HOLD_EFFECT_DARK_POWER, TYPE_DARK
+ .byte HOLD_EFFECT_FIGHTING_POWER, TYPE_FIGHTING
+ .byte HOLD_EFFECT_ELECTRIC_POWER, TYPE_ELECTRIC
+ .byte HOLD_EFFECT_WATER_POWER, TYPE_WATER
+ .byte HOLD_EFFECT_FLYING_POWER, TYPE_FLYING
+ .byte HOLD_EFFECT_POISON_POWER, TYPE_POISON
+ .byte HOLD_EFFECT_ICE_POWER, TYPE_ICE
+ .byte HOLD_EFFECT_GHOST_POWER, TYPE_GHOST
+ .byte HOLD_EFFECT_PSYCHIC_POWER, TYPE_PSYCHIC
+ .byte HOLD_EFFECT_FIRE_POWER, TYPE_FIRE
+ .byte HOLD_EFFECT_DRAGON_POWER, TYPE_DRAGON
+ .byte HOLD_EFFECT_NORMAL_POWER, TYPE_NORMAL
+ .byte 0, 0
+
+ .align 2
+gSpriteTemplate_8208288:: @ 8208288
+ spr_template 0xFFFF, 0, gOamData_81F96F0, NULL, gSpriteImageTable_81E7A10, gSpriteAffineAnimTable_81E7B70, sub_80105A0
+ spr_template 0xFFFF, 0, gOamData_81F96E8, NULL, gSpriteImageTable_81E7A30, gSpriteAffineAnimTable_81E7BEC, oac_poke_opponent
+ spr_template 0xFFFF, 0, gOamData_81F96F0, NULL, gSpriteImageTable_81E7A50, gSpriteAffineAnimTable_81E7B70, sub_80105A0
+ spr_template 0xFFFF, 0, gOamData_81F96E8, NULL, gSpriteImageTable_81E7A70, gSpriteAffineAnimTable_81E7BEC, oac_poke_opponent
+
+gSecretBaseTrainerClasses:: @ 82082E8
+ .byte TRAINER_CLASS_YOUNGSTER, TRAINER_CLASS_BUG_CATCHER, TRAINER_CLASS_RICH_BOY, TRAINER_CLASS_CAMPER, TRAINER_CLASS_COOL_TRAINER_M
+ .byte TRAINER_CLASS_LASS, TRAINER_CLASS_SCHOOL_KID_F, TRAINER_CLASS_LADY, TRAINER_CLASS_PICNICKER, TRAINER_CLASS_COOL_TRAINER_F
+
+gUnknown_082082F2:: @ 82082F2
+ .byte 0x1A, 0x1B, 0x1C, 0x1D, 0x1F, 0x1E
+
+gUnknown_082082F8:: @ 82082F8
+ .byte 1, 1, 3, 2, 4, 6
+
+gUnknown_082082FE:: @ 82082FE
+ .byte 5, 3, 2
+ .byte 5, 3, 2
+ .byte 1, 1, 0
+ .byte 3, 2, 1
+ .byte 1, 1, 0
+ .byte 1, 1, 1
+ .byte -1, -1, -1
+ .byte -5, -5, -10
+ .byte -5, -5, -10
+
+ .align 1
+gUnknown_0820831A:: @ 820831A
+ .2byte 0xF
+ .2byte 0x13
+ .2byte 0x39
+ .2byte 0x46
+ .2byte 0x94
+ .2byte 0xF9
+ .2byte 0x7F
+ .2byte 0x123
+ .2byte 0xFFFF
+
+@ "Nidoran♂" Japanese name
+ .string "ニドラン♂$", 11
+
+@ "Nidoran♀" Japanese name
+gUnknown_08208337:: @ 8208337
+ .string "ニドラン♀$", 13
diff --git a/data/trig.s b/data/trig.s
new file mode 100644
index 000000000..6f9c95971
--- /dev/null
+++ b/data/trig.s
@@ -0,0 +1,10 @@
+ .include "asm/macros.inc"
+ .include "constants/constants.inc"
+
+ .section .rodata
+
+@ 8208344
+ .include "data/sine_table.inc"
+
+@ 82085C4
+ .include "data/sine_degree_table.inc"
diff --git a/data/util.s b/data/util.s
new file mode 100644
index 000000000..03c92a988
--- /dev/null
+++ b/data/util.s
@@ -0,0 +1,70 @@
+ .include "asm/macros.inc"
+ .include "constants/constants.inc"
+
+ .section .rodata
+
+ .align 2
+gBitTable:: @ 820872C
+ .4byte 0x00000001
+ .4byte 0x00000002
+ .4byte 0x00000004
+ .4byte 0x00000008
+ .4byte 0x00000010
+ .4byte 0x00000020
+ .4byte 0x00000040
+ .4byte 0x00000080
+ .4byte 0x00000100
+ .4byte 0x00000200
+ .4byte 0x00000400
+ .4byte 0x00000800
+ .4byte 0x00001000
+ .4byte 0x00002000
+ .4byte 0x00004000
+ .4byte 0x00008000
+ .4byte 0x00010000
+ .4byte 0x00020000
+ .4byte 0x00040000
+ .4byte 0x00080000
+ .4byte 0x00100000
+ .4byte 0x00200000
+ .4byte 0x00400000
+ .4byte 0x00800000
+ .4byte 0x01000000
+ .4byte 0x02000000
+ .4byte 0x04000000
+ .4byte 0x08000000
+ .4byte 0x10000000
+ .4byte 0x20000000
+ .4byte 0x40000000
+ .4byte 0x80000000
+
+ .align 2
+gInvisibleSpriteTemplate:: @ 82087AC
+ spr_template 0, 0, gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+ .align 2
+gSpriteDimensions:: @ 82087C4
+ @ square
+ .byte 1, 1
+ .byte 2, 2
+ .byte 4, 4
+ .byte 8, 8
+
+ @ horizontal rectangle
+ .byte 2, 1
+ .byte 4, 1
+ .byte 4, 2
+ .byte 8, 4
+
+ @ vertical rectangle
+ .byte 1, 2
+ .byte 1, 4
+ .byte 2, 4
+ .byte 4, 8
+
+@ 82087DC
+ .include "data/crc16_table.inc"
+
+ .align 2
+gMiscBlank_Gfx:: @ 82089DC
+ .incbin "graphics/interface/blank.4bpp"
diff --git a/ld_script.txt b/ld_script.txt
index c329ef736..76d8d7c8e 100644
--- a/ld_script.txt
+++ b/ld_script.txt
@@ -327,7 +327,14 @@ SECTIONS {
src/string_util.o(.rodata);
src/link.o(.rodata);
src/rtc.o(.rodata);
+ data/main_menu.o(.rodata);
data/data2.o(.rodata);
+ data/pokemon.o(.rodata);
+ data/trig.o(.rodata);
+ data/util.o(.rodata);
+ data/daycare.o(.rodata);
+ data/egg_hatch.o(.rodata);
+ data/battle_interface.o(.rodata);
data/pokeball.o(.rodata);
data/trade.o(.rodata);
data/berry_blender.o(.rodata);