diff options
author | Diegoisawesome <Diegoisawesome@users.noreply.github.com> | 2018-09-11 22:10:26 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-09-11 22:10:26 -0500 |
commit | 095cbbc5c297055d2cb2c01a2c8c04dc7d055cb6 (patch) | |
tree | 4b3fac0beaabc937d07e352b531cb8ffd514497f | |
parent | b9e0cf9f6fef7eaec9ff19422933df04b4031c1b (diff) | |
parent | f40fa373988288ee6ca9b8938cb6c33aa409575e (diff) |
Merge pull request #321 from Slawter666/data
Move more data to C
-rw-r--r-- | data/braille_puzzles.s | 16 | ||||
-rw-r--r-- | data/data2b.s | 219 | ||||
-rw-r--r-- | data/data2c.s | 173 | ||||
-rw-r--r-- | data/field_ground_effect.s | 6 | ||||
-rw-r--r-- | data/field_special_scene.s | 15 | ||||
-rw-r--r-- | data/item_use.s | 21 | ||||
-rw-r--r-- | include/battle_main.h | 2 | ||||
-rw-r--r-- | include/party_menu.h | 11 | ||||
-rw-r--r-- | ld_script.txt | 8 | ||||
-rw-r--r-- | src/battle_bg.c | 671 | ||||
-rw-r--r-- | src/battle_main.c | 2 | ||||
-rw-r--r-- | src/braille_puzzles.c | 53 | ||||
-rw-r--r-- | src/data2b.c | 252 | ||||
-rw-r--r-- | src/field_special_scene.c | 24 | ||||
-rwxr-xr-x | src/item_use.c | 59 |
15 files changed, 1010 insertions, 522 deletions
diff --git a/data/braille_puzzles.s b/data/braille_puzzles.s deleted file mode 100644 index 55dcb3a26..000000000 --- a/data/braille_puzzles.s +++ /dev/null @@ -1,16 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - - .align 2 -gUnknown_085EFE74:: @ 85EFE74 - .byte 0x04, 0x15, 0x05, 0x15, 0x06, 0x15, 0x07, 0x15 - .byte 0x08, 0x15, 0x09, 0x15, 0x0a, 0x15, 0x0b, 0x15 - .byte 0x0c, 0x15, 0x0c, 0x16, 0x0c, 0x17, 0x0d, 0x17 - .byte 0x0d, 0x18, 0x0d, 0x19, 0x0d, 0x1a, 0x0d, 0x1b - .byte 0x0c, 0x1b, 0x0c, 0x1c, 0x04, 0x1d, 0x05, 0x1d - .byte 0x06, 0x1d, 0x07, 0x1d, 0x08, 0x1d, 0x09, 0x1d - .byte 0x0a, 0x1d, 0x0b, 0x1d, 0x0c, 0x1d, 0x04, 0x1c - .byte 0x04, 0x1b, 0x03, 0x1b, 0x03, 0x1a, 0x03, 0x19 - .byte 0x03, 0x18, 0x03, 0x17, 0x04, 0x17, 0x04, 0x16 diff --git a/data/data2b.s b/data/data2b.s deleted file mode 100644 index db378d1a5..000000000 --- a/data/data2b.s +++ /dev/null @@ -1,219 +0,0 @@ -#include "constants/items.h" -#include "constants/moves.h" -#include "constants/species.h" -#include "constants/trainers.h" -#include "constants/pokemon.h" - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - - .align 2 -gUnknown_082FF1D8:: @ 82FF1D8 - .incbin "graphics/link/minigame_digits.gbapal" - - .align 2 -gUnknown_082FF1F8:: @ 82FF1F8 - .incbin "graphics/link/minigame_digits.4bpp.lz" - - .align 2 -gUnknown_082FF2B8:: @ 82FF2B8 - .incbin "graphics/link/minigame_digits2.4bpp.lz" - - .align 2 -gUnknown_082FF3A8:: @ 82FF3A8 - obj_frame_tiles gHeap + 0x8000, 0x800 - obj_frame_tiles gHeap + 0x8800, 0x800 - obj_frame_tiles gHeap + 0x9000, 0x800 - obj_frame_tiles gHeap + 0x9800, 0x800 - - .align 2 -gUnknown_082FF3C8:: @ 82FF3C8 - obj_frame_tiles gHeap + 0xA000, 0x800 - obj_frame_tiles gHeap + 0xA800, 0x800 - obj_frame_tiles gHeap + 0xB000, 0x800 - obj_frame_tiles gHeap + 0xB800, 0x800 - - .align 2 -gUnknown_082FF3E8:: @ 82FF3E8 - obj_frame_tiles gHeap + 0xC000, 0x800 - obj_frame_tiles gHeap + 0xC800, 0x800 - obj_frame_tiles gHeap + 0xD000, 0x800 - obj_frame_tiles gHeap + 0xD800, 0x800 - - .align 2 -gUnknown_082FF408:: @ 82FF408 - obj_frame_tiles gHeap + 0xE000, 0x800 - obj_frame_tiles gHeap + 0xE800, 0x800 - obj_frame_tiles gHeap + 0xF000, 0x800 - obj_frame_tiles gHeap + 0xF800, 0x800 - - .align 2 -gUnknown_082FF428:: @ 82FF428 - obj_frame_tiles gTrainerBackPic_Brendan, 0x0800 - obj_frame_tiles gTrainerBackPic_Brendan + 0x0800, 0x0800 - obj_frame_tiles gTrainerBackPic_Brendan + 0x1000, 0x0800 - obj_frame_tiles gTrainerBackPic_Brendan + 0x1800, 0x0800 - - .align 2 -gUnknown_082FF448:: @ 82FF448 - obj_frame_tiles gTrainerBackPic_May, 0x0800 - obj_frame_tiles gTrainerBackPic_May + 0x0800, 0x0800 - obj_frame_tiles gTrainerBackPic_May + 0x1000, 0x0800 - obj_frame_tiles gTrainerBackPic_May + 0x1800, 0x0800 - - .align 2 -gUnknown_082FF468:: @ 82FF468 - obj_frame_tiles gTrainerBackPic_Red, 0x0800 - obj_frame_tiles gTrainerBackPic_Red + 0x0800, 0x0800 - obj_frame_tiles gTrainerBackPic_Red + 0x1000, 0x0800 - obj_frame_tiles gTrainerBackPic_Red + 0x1800, 0x0800 - obj_frame_tiles gTrainerBackPic_Red + 0x2000, 0x0800 - - .align 2 -gUnknown_082FF490:: @ 82FF490 - obj_frame_tiles gTrainerBackPic_Leaf, 0x0800 - obj_frame_tiles gTrainerBackPic_Leaf + 0x0800, 0x0800 - obj_frame_tiles gTrainerBackPic_Leaf + 0x1000, 0x0800 - obj_frame_tiles gTrainerBackPic_Leaf + 0x1800, 0x0800 - obj_frame_tiles gTrainerBackPic_Leaf + 0x2000, 0x0800 - - .align 2 -gUnknown_082FF4B8:: @ 82FF4B8 - obj_frame_tiles gTrainerBackPic_RubySapphireBrendan, 0x0800 - obj_frame_tiles gTrainerBackPic_RubySapphireBrendan + 0x0800, 0x0800 - obj_frame_tiles gTrainerBackPic_RubySapphireBrendan + 0x1000, 0x0800 - obj_frame_tiles gTrainerBackPic_RubySapphireBrendan + 0x1800, 0x0800 - - .align 2 -gUnknown_082FF4D8:: @ 82FF4D8 - obj_frame_tiles gTrainerBackPic_RubySapphireMay, 0x0800 - obj_frame_tiles gTrainerBackPic_RubySapphireMay + 0x0800, 0x0800 - obj_frame_tiles gTrainerBackPic_RubySapphireMay + 0x1000, 0x0800 - obj_frame_tiles gTrainerBackPic_RubySapphireMay + 0x1800, 0x0800 - - .align 2 -gUnknown_082FF4F8:: @ 82FF4F8 - obj_frame_tiles gTrainerBackPic_Wally, 0x0800 - obj_frame_tiles gTrainerBackPic_Wally + 0x0800, 0x0800 - obj_frame_tiles gTrainerBackPic_Wally + 0x1000, 0x0800 - obj_frame_tiles gTrainerBackPic_Wally + 0x1800, 0x0800 - - .align 2 -gUnknown_082FF518:: @ 82FF518 - obj_frame_tiles gTrainerBackPic_Steven, 0x0800 - obj_frame_tiles gTrainerBackPic_Steven + 0x0800, 0x0800 - obj_frame_tiles gTrainerBackPic_Steven + 0x1000, 0x0800 - obj_frame_tiles gTrainerBackPic_Steven + 0x1800, 0x0800 - - .align 2 -gAnimCmd_General_Frame0:: @ 82FF538 - obj_image_anim_frame 0, 0 - obj_image_anim_end - - .align 2 -AnimCmd_82FF540:: @ 82FF540 - .2byte 0x0003, 0x0000, 0xffff, 0x0000 - - .align 2 -gUnknown_082FF548:: @ 82FF548 - .2byte 0x0100, 0x0100, 0x0000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_082FF558:: @ 82FF558 - .2byte 0xff00, 0x0100, 0x0000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_082FF568:: @ 82FF568 - .2byte 0x0028, 0x0028, 0x0000, 0x0000, 0x0012, 0x0012, 0x0c00, 0x0000 - .2byte 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_082FF580:: @ 82FF580 - .2byte 0xfffe, 0xfffe, 0x1200, 0x0000, 0xfff0, 0xfff0, 0x0f00, 0x0000 - .2byte 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_082FF598:: @ 82FF598 - .2byte 0x00a0, 0x0100, 0x0000, 0x0000, 0x0004, 0x0000, 0x0800, 0x0000 - .2byte 0xfffc, 0x0000, 0x0800, 0x0000, 0x7ffe, 0x0001, 0x0000, 0x0000 - - .align 2 -gUnknown_082FF5B8:: @ 82FF5B8 - .2byte 0x0002, 0x0002, 0x1400, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_082FF5C8:: @ 82FF5C8 - .2byte 0xfffe, 0xfffe, 0x1400, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_082FF5D8:: @ 82FF5D8 - .2byte 0x0100, 0x0100, 0x0000, 0x0000, 0xfff0, 0xfff0, 0x0900, 0x0000 - .2byte 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_082FF5F0:: @ 82FF5F0 - .2byte 0x0004, 0x0004, 0x3f00, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_082FF600:: @ 82FF600 - .2byte 0x0000, 0x0000, 0x05fd, 0x0000, 0x0000, 0x0000, 0x0503, 0x0000 - .2byte 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_082FF618:: @ 82FF618 - .4byte gUnknown_082FF548 - .4byte gUnknown_082FF568 - .4byte gUnknown_082FF580 - .4byte gUnknown_082FF598 - .4byte gUnknown_082FF5B8 - .4byte gUnknown_082FF5C8 - .4byte gUnknown_082FF5F0 - .4byte gUnknown_082FF600 - .4byte gUnknown_082FF5D8 - - .align 2 -gUnknown_082FF63C:: @ 82FF63C - .2byte 0xfffc, 0xfffc, 0x3f04, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_082FF64C:: @ 82FF64C - .2byte 0x0000, 0x0000, 0x0503, 0x0000, 0x0000, 0x0000, 0x05fd, 0x0000 - .2byte 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_082FF664:: @ 82FF664 - .2byte 0x0000, 0x0000, 0x14fb, 0x0000, 0x0000, 0x0000, 0x1400, 0x0000 - .2byte 0x0000, 0x0000, 0x1405, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_082FF684:: @ 82FF684 - .2byte 0x0000, 0x0000, 0x6e09, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_082FF694:: @ 82FF694 - .4byte gUnknown_082FF548 - .4byte gUnknown_082FF568 - .4byte gUnknown_082FF580 - .4byte gUnknown_082FF598 - .4byte gUnknown_082FF5B8 - .4byte gUnknown_082FF5C8 - .4byte gUnknown_082FF63C - .4byte gUnknown_082FF64C - .4byte gUnknown_082FF664 - .4byte gUnknown_082FF5D8 - .4byte gUnknown_082FF684 - - .align 2 -gUnknown_082FF6C0:: @ 82FF6C0 - .4byte gUnknown_082FF558 - .4byte gUnknown_082FF568 - .4byte gUnknown_082FF580 - .4byte gUnknown_082FF598 - .4byte gUnknown_082FF5B8 - .4byte gUnknown_082FF5C8 - .4byte gUnknown_082FF63C - .4byte gUnknown_082FF64C - .4byte gUnknown_082FF664 - .4byte gUnknown_082FF5D8 - .4byte gUnknown_082FF684 diff --git a/data/data2c.s b/data/data2c.s index a661dc165..1946f5bdb 100644 --- a/data/data2c.s +++ b/data/data2c.s @@ -9,179 +9,6 @@ .section .rodata .align 2 - .2byte 0x0300, 0x0000 - - .align 2 -gUnknown_0831A988:: @ 831A988 - .byte 0x00, 0x03, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00 - - .align 2 -gUnknown_0831A990:: @ 831A990 - .byte 0x00, 0x03, 0x00, 0xc0, 0x40, 0x00, 0x00, 0x00 - - .align 2 -gUnknown_0831A998:: @ 831A998 - .2byte 0x0080, 0x0080, 0x0000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_0831A9A8:: @ 831A9A8 - .2byte 0x0080, 0x0080, 0x0000, 0x0000, 0x0018, 0x0018, 0x8000, 0x0000 - .2byte 0x0018, 0x0018, 0x8000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_0831A9C8:: @ 831A9C8 - .4byte gUnknown_0831A998 - .4byte gUnknown_0831A9A8 - - .align 2 -gUnknown_0831A9D0:: @ 831A9D0 - spr_template 0x2710, 0x2710, gUnknown_0831A988, gDummySpriteAnimTable, NULL, gUnknown_0831A9C8, nullsub_17 - - .align 2 -gUnknown_0831A9E8:: @ 831A9E8 - spr_template 0x2710, 0x2710, gUnknown_0831A990, gDummySpriteAnimTable, NULL, gUnknown_0831A9C8, nullsub_17 - - .align 2 -gUnknown_0831AA00:: @ 831AA00 - obj_tiles gUnknown_08D77B0C, 0x1000, 0x2710 - - .align 2 -gBattleBgTemplates:: @ 831AA08 - .4byte 0x00000580, 0x000005c5, 0x000013e6, 0x000033ab - - .align 2 -gUnknown_0831AA18:: @ 831AA18 - window_template 0x00, 0x02, 0x0f, 0x1a, 0x04, 0x00, 0x0090 - window_template 0x00, 0x01, 0x23, 0x0e, 0x04, 0x00, 0x01c0 - window_template 0x00, 0x11, 0x23, 0x0c, 0x04, 0x05, 0x0190 - window_template 0x00, 0x02, 0x37, 0x08, 0x02, 0x05, 0x0300 - window_template 0x00, 0x0b, 0x37, 0x08, 0x02, 0x05, 0x0310 - window_template 0x00, 0x02, 0x39, 0x08, 0x02, 0x05, 0x0320 - window_template 0x00, 0x0b, 0x39, 0x08, 0x02, 0x05, 0x0330 - window_template 0x00, 0x15, 0x37, 0x04, 0x02, 0x05, 0x0290 - window_template 0x00, 0x15, 0x39, 0x00, 0x00, 0x05, 0x0298 - window_template 0x00, 0x19, 0x37, 0x04, 0x02, 0x05, 0x0298 - window_template 0x00, 0x15, 0x39, 0x08, 0x02, 0x05, 0x02a0 - window_template 0x00, 0x15, 0x37, 0x08, 0x04, 0x05, 0x02b0 - window_template 0x00, 0x1a, 0x09, 0x03, 0x04, 0x05, 0x0100 - window_template 0x01, 0x13, 0x08, 0x0a, 0x0b, 0x05, 0x0100 - window_template 0x02, 0x12, 0x00, 0x0c, 0x03, 0x06, 0x016e - window_template 0x01, 0x02, 0x03, 0x06, 0x02, 0x05, 0x0020 - window_template 0x02, 0x02, 0x03, 0x06, 0x02, 0x05, 0x0040 - window_template 0x01, 0x02, 0x02, 0x06, 0x02, 0x05, 0x0020 - window_template 0x02, 0x02, 0x02, 0x06, 0x02, 0x05, 0x0040 - window_template 0x01, 0x02, 0x06, 0x06, 0x02, 0x05, 0x0060 - window_template 0x02, 0x02, 0x06, 0x06, 0x02, 0x05, 0x0080 - window_template 0x00, 0x0c, 0x02, 0x06, 0x02, 0x00, 0x00a0 - window_template 0x00, 0x04, 0x02, 0x07, 0x02, 0x00, 0x00a0 - window_template 0x00, 0x13, 0x02, 0x07, 0x02, 0x00, 0x00b0 - null_window_template - - .align 2 -gUnknown_0831AAE0:: @ 831AAE0 - window_template 0x00, 0x02, 0x0f, 0x1a, 0x04, 0x00, 0x0090 - window_template 0x00, 0x01, 0x23, 0x0e, 0x04, 0x00, 0x01c0 - window_template 0x00, 0x11, 0x23, 0x0c, 0x04, 0x05, 0x0190 - window_template 0x00, 0x02, 0x37, 0x08, 0x02, 0x05, 0x0300 - window_template 0x00, 0x0b, 0x37, 0x08, 0x02, 0x05, 0x0310 - window_template 0x00, 0x02, 0x39, 0x08, 0x02, 0x05, 0x0320 - window_template 0x00, 0x0b, 0x39, 0x08, 0x02, 0x05, 0x0330 - window_template 0x00, 0x15, 0x37, 0x04, 0x02, 0x05, 0x0290 - window_template 0x00, 0x15, 0x39, 0x00, 0x00, 0x05, 0x0298 - window_template 0x00, 0x19, 0x37, 0x04, 0x02, 0x05, 0x0298 - window_template 0x00, 0x15, 0x39, 0x08, 0x02, 0x05, 0x02a0 - window_template 0x00, 0x15, 0x37, 0x08, 0x04, 0x05, 0x02b0 - window_template 0x00, 0x1a, 0x09, 0x03, 0x04, 0x05, 0x0100 - window_template 0x01, 0x13, 0x08, 0x0a, 0x0b, 0x05, 0x0100 - window_template 0x02, 0x12, 0x00, 0x0c, 0x03, 0x06, 0x016e - window_template 0x00, 0x06, 0x01, 0x08, 0x02, 0x05, 0x0100 - window_template 0x00, 0x0e, 0x01, 0x02, 0x02, 0x05, 0x0110 - window_template 0x00, 0x10, 0x01, 0x08, 0x02, 0x05, 0x0114 - window_template 0x00, 0x0c, 0x04, 0x06, 0x02, 0x05, 0x0124 - window_template 0x00, 0x0c, 0x06, 0x06, 0x02, 0x05, 0x0130 - window_template 0x00, 0x0c, 0x08, 0x06, 0x02, 0x05, 0x013c - window_template 0x00, 0x08, 0x0b, 0x0e, 0x02, 0x05, 0x0148 - window_template 0x00, 0x02, 0x0f, 0x1a, 0x04, 0x07, 0x0090 - null_window_template - - .align 2 -gBattleWindowTemplates:: @ 831ABA0 - .4byte gUnknown_0831AA18 - .4byte gUnknown_0831AAE0 - - .align 2 -gBattleTerrainTable:: @ 831ABA8 - @ tall_grass - .4byte gBattleTerrainTiles_TallGrass - .4byte gBattleTerrainTilemap_TallGrass - .4byte gBattleTerrainAnimTiles_TallGrass - .4byte gBattleTerrainAnimTilemap_TallGrass - .4byte gBattleTerrainPalette_TallGrass - - @ long_grass - .4byte gBattleTerrainTiles_LongGrass - .4byte gBattleTerrainTilemap_LongGrass - .4byte gBattleTerrainAnimTiles_LongGrass - .4byte gBattleTerrainAnimTilemap_LongGrass - .4byte gBattleTerrainPalette_LongGrass - - @ sand - .4byte gBattleTerrainTiles_Sand - .4byte gBattleTerrainTilemap_Sand - .4byte gBattleTerrainAnimTiles_Sand - .4byte gBattleTerrainAnimTilemap_Sand - .4byte gBattleTerrainPalette_Sand - - @ underwater - .4byte gBattleTerrainTiles_Underwater - .4byte gBattleTerrainTilemap_Underwater - .4byte gBattleTerrainAnimTiles_Underwater - .4byte gBattleTerrainAnimTilemap_Underwater - .4byte gBattleTerrainPalette_Underwater - - @ water - .4byte gBattleTerrainTiles_Water - .4byte gBattleTerrainTilemap_Water - .4byte gBattleTerrainAnimTiles_Water - .4byte gBattleTerrainAnimTilemap_Water - .4byte gBattleTerrainPalette_Water - - @ pond_water - .4byte gBattleTerrainTiles_PondWater - .4byte gBattleTerrainTilemap_PondWater - .4byte gBattleTerrainAnimTiles_PondWater - .4byte gBattleTerrainAnimTilemap_PondWater - .4byte gBattleTerrainPalette_PondWater - - @ rock - .4byte gBattleTerrainTiles_Rock - .4byte gBattleTerrainTilemap_Rock - .4byte gBattleTerrainAnimTiles_Rock - .4byte gBattleTerrainAnimTilemap_Rock - .4byte gBattleTerrainPalette_Rock - - @ cave - .4byte gBattleTerrainTiles_Cave - .4byte gBattleTerrainTilemap_Cave - .4byte gBattleTerrainAnimTiles_Cave - .4byte gBattleTerrainAnimTilemap_Cave - .4byte gBattleTerrainPalette_Cave - - @ building - .4byte gBattleTerrainTiles_Building - .4byte gBattleTerrainTilemap_Building - .4byte gBattleTerrainAnimTiles_Building - .4byte gBattleTerrainAnimTilemap_Building - .4byte gBattleTerrainPalette_Building - - @ plain - .4byte gBattleTerrainTiles_Building - .4byte gBattleTerrainTilemap_Building - .4byte gBattleTerrainAnimTiles_Building - .4byte gBattleTerrainAnimTilemap_Building - .4byte gBattleTerrainPalette_Plain - - .align 2 gUnknown_0831AC70:: @ 831AC70 .4byte REG_BG3HOFS .4byte ((DMA_ENABLE | DMA_START_HBLANK | DMA_REPEAT | DMA_DEST_RELOAD) << 16) | 1 diff --git a/data/field_ground_effect.s b/data/field_ground_effect.s deleted file mode 100644 index 686d9396b..000000000 --- a/data/field_ground_effect.s +++ /dev/null @@ -1,6 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - .align 2, 0 - diff --git a/data/field_special_scene.s b/data/field_special_scene.s deleted file mode 100644 index 16e5a366d..000000000 --- a/data/field_special_scene.s +++ /dev/null @@ -1,15 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - - .align 2, 0 - -gTruckCamera_HorizontalTable:: @ 858E898 - .byte 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 2, 2, 2, 2, 2, -1, -1, -1, 0 - -gUnknown_0858E8AB:: @ 858E8AB - .byte 0x18, 0xFE - -gUnknown_0858E8AD:: @ 858E8AD - .byte 0x17, 0xFE diff --git a/data/item_use.s b/data/item_use.s deleted file mode 100644 index 6c9affbc8..000000000 --- a/data/item_use.s +++ /dev/null @@ -1,21 +0,0 @@ - - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - .align 2, 0 - - .align 2 -gUnknown_085920D8:: @ 85920D8 - .4byte sub_81B617C - .4byte CB2_ReturnToField - .4byte NULL - - .align 2 -gUnknown_085920E4:: @ 85920E4 - .byte 0x02, 0x04, 0x01, 0x03 - - .align 2 -gUnknown_085920E8:: @ 85920E8 - .4byte sub_80FE03C - .4byte bag_menu_inits_lists_menu diff --git a/include/battle_main.h b/include/battle_main.h index 27e61c8fc..5a61b5ef0 100644 --- a/include/battle_main.h +++ b/include/battle_main.h @@ -35,7 +35,7 @@ void CB2_QuitRecordedBattle(void); void sub_8038528(struct Sprite* sprite); void sub_8038A04(void); // unused void VBlankCB_Battle(void); -void nullsub_17(void); +void nullsub_17(struct Sprite *sprite); void sub_8038B74(struct Sprite *sprite); void sub_8038D64(void); u32 sub_80391E0(u8 arrayId, u8 caseId); diff --git a/include/party_menu.h b/include/party_menu.h index 02e481200..b93b78544 100644 --- a/include/party_menu.h +++ b/include/party_menu.h @@ -58,7 +58,18 @@ void sub_81B8904(u8 arg0, void (*callback)(void)); void OpenPartyMenuInBattle(u8 caseId); u16 ItemIdToBattleMoveId(u16 itemId); u8 sub_81B205C(struct Pokemon* a); +void sub_81B617C(void); u8 sub_81B6D14(u16 a); bool8 hm_add_c3_without_phase_2(void); +extern void dp05_ether(u8, u16, TaskFunc); +extern void dp05_pp_up(u8, u16, TaskFunc); +extern void dp05_rare_candy(u8, u16, TaskFunc); + +extern void sub_81B67C8(u8, u16, TaskFunc); +extern void sub_81B79E8(u8, u16, TaskFunc); +extern void sub_81B6DC4(u8, u16, TaskFunc); +extern void sub_81B7C74(u8, u16, TaskFunc); +extern u16 ItemIdToBattleMoveId(u16); + #endif // GUARD_PARTY_MENU_H diff --git a/ld_script.txt b/ld_script.txt index 26e6fa2e3..2e3616121 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -380,9 +380,9 @@ SECTIONS { src/rtc.o(.rodata); src/main_menu.o(.rodata); src/rom_8034C54.o(.rodata); - data/data2b.o(.rodata); src/data2b.o(.rodata); src/battle_data.o(.rodata); + src/battle_bg.o(.rodata); data/data2c.o(.rodata); src/battle_main.o(.rodata); src/battle_util.o(.rodata); @@ -455,9 +455,9 @@ SECTIONS { data/script_pokemon_util_80F87D8.o(.rodata); src/pokemon_size_record.o(.rodata) data/field_effect_misc.o(.rodata); - data/field_special_scene.o(.rodata); + src/field_special_scene.o(.rodata); src/rotating_gate.o(.rodata); - data/item_use.o(.rodata); + src/item_use.o(.rodata); data/battle_anim_80FE840.o(.rodata); src/bike.o(.rodata); data/easy_chat.o(.rodata); @@ -513,7 +513,7 @@ SECTIONS { src/berry_tag_screen.o(.rodata); src/mystery_event_menu.o(.rodata); src/save_failed_screen.o(.rodata); - data/braille_puzzles.o(.rodata); + src/braille_puzzles.o(.rodata); src/pokeblock_feed.o(.rodata); src/clear_save_data_screen.o(.rodata); src/intro_credits_graphics.o(.rodata); diff --git a/src/battle_bg.c b/src/battle_bg.c index fb3e52eac..a6c66b3c4 100644 --- a/src/battle_bg.c +++ b/src/battle_bg.c @@ -1,24 +1,26 @@ #include "global.h" #include "battle.h" -#include "sprite.h" -#include "constants/trainers.h" -#include "graphics.h" -#include "decompress.h" +#include "battle_bg.h" +#include "battle_main.h" +#include "battle_message.h" +#include "battle_setup.h" #include "bg.h" -#include "palette.h" -#include "main.h" +#include "decompress.h" #include "gpu_regs.h" +#include "graphics.h" #include "link.h" -#include "battle_message.h" +#include "main.h" +#include "menu.h" +#include "palette.h" +#include "sound.h" +#include "sprite.h" #include "task.h" +#include "text_window.h" #include "trig.h" -#include "sound.h" -#include "constants/songs.h" #include "window.h" -#include "text_window.h" -#include "menu.h" -#include "battle_setup.h" #include "constants/map_types.h" +#include "constants/songs.h" +#include "constants/trainers.h" struct BattleBackground { @@ -29,13 +31,6 @@ struct BattleBackground const void *palette; }; -extern const struct SpriteTemplate gUnknown_0831A9D0; -extern const struct SpriteTemplate gUnknown_0831A9E8; -extern const struct CompressedSpriteSheet gUnknown_0831AA00; -extern const struct BgTemplate gBattleBgTemplates[4]; -extern const struct WindowTemplate *const gBattleWindowTemplates[]; -extern const struct BattleBackground gBattleTerrainTable[]; - extern u16 gBattle_BG1_X; extern u16 gBattle_BG1_Y; extern u16 gBattle_BG2_X; @@ -43,6 +38,644 @@ extern u16 gBattle_BG2_Y; extern u8 GetCurrentMapBattleScene(void); +// .rodata +static const u16 sUnrefArray[] = {0x0300, 0x0000}; //OamData? + +static const struct OamData gUnknown_0831A988 = +{ + .y = 0, + .affineMode = 3, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 0, + .x = 0, + .matrixNum = 0, + .size = 3, + .tileNum = 0, + .priority = 0, + .paletteNum = 0, + .affineParam = 0, +}; + +static const struct OamData gUnknown_0831A990 = +{ + .y = 0, + .affineMode = 3, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 0, + .x = 0, + .matrixNum = 0, + .size = 3, + .tileNum = 64, + .priority = 0, + .paletteNum = 0, + .affineParam = 0, +}; + +static const union AffineAnimCmd gUnknown_0831A998[] = +{ + AFFINEANIMCMD_FRAME(0x0080, 0x0080, 0x00, 0x00), + AFFINEANIMCMD_END, +}; + +static const union AffineAnimCmd gUnknown_0831A9A8[] = +{ + AFFINEANIMCMD_FRAME(0x0080, 0x0080, 0x00, 0x00), + AFFINEANIMCMD_FRAME(0x0018, 0x0018, 0x00, 0x80), + AFFINEANIMCMD_FRAME(0x0018, 0x0018, 0x00, 0x80), + AFFINEANIMCMD_END, +}; + +static const union AffineAnimCmd * const gUnknown_0831A9C8[] = +{ + gUnknown_0831A998, + gUnknown_0831A9A8, +}; + +static const struct SpriteTemplate gUnknown_0831A9D0 = +{ + .tileTag = 0x2710, + .paletteTag = 0x2710, + .oam = &gUnknown_0831A988, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gUnknown_0831A9C8, + .callback = nullsub_17 +}; + +static const struct SpriteTemplate gUnknown_0831A9E8 = +{ + .tileTag = 0x2710, + .paletteTag = 0x2710, + .oam = &gUnknown_0831A990, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gUnknown_0831A9C8, + .callback = nullsub_17 +}; + +static const struct CompressedSpriteSheet gUnknown_0831AA00 = +{ + gUnknown_08D77B0C, 0x1000, 0x2710 +}; + +const struct BgTemplate gBattleBgTemplates[] = +{ + { + .bg = 0, + .charBaseIndex = 0, + .mapBaseIndex = 24, + .screenSize = 2, + .paletteMode = 0, + .priority = 0, + .baseTile = 0 + }, + { + .bg = 1, + .charBaseIndex = 1, + .mapBaseIndex = 28, + .screenSize = 2, + .paletteMode = 0, + .priority = 0, + .baseTile = 0 + }, + { + .bg = 2, + .charBaseIndex = 1, + .mapBaseIndex = 30, + .screenSize = 1, + .paletteMode = 0, + .priority = 1, + .baseTile = 0 + }, + { + .bg = 3, + .charBaseIndex = 2, + .mapBaseIndex = 26, + .screenSize = 1, + .paletteMode = 0, + .priority = 3, + .baseTile = 0 + }, +}; + +static const struct WindowTemplate gUnknown_0831AA18[] = +{ + { + .priority = 0, + .tilemapLeft = 2, + .tilemapTop = 15, + .width = 26, + .height = 4, + .paletteNum = 0, + .baseBlock = 0x0090, + }, + { + .priority = 0, + .tilemapLeft = 1, + .tilemapTop = 35, + .width = 14, + .height = 4, + .paletteNum = 0, + .baseBlock = 0x01c0, + }, + { + .priority = 0, + .tilemapLeft = 17, + .tilemapTop = 35, + .width = 12, + .height = 4, + .paletteNum = 5, + .baseBlock = 0x0190, + }, + { + .priority = 0, + .tilemapLeft = 2, + .tilemapTop = 55, + .width = 8, + .height = 2, + .paletteNum = 5, + .baseBlock = 0x0300, + }, + { + .priority = 0, + .tilemapLeft = 11, + .tilemapTop = 55, + .width = 8, + .height = 2, + .paletteNum = 5, + .baseBlock = 0x0310, + }, + { + .priority = 0, + .tilemapLeft = 2, + .tilemapTop = 57, + .width = 8, + .height = 2, + .paletteNum = 5, + .baseBlock = 0x0320, + }, + { + .priority = 0, + .tilemapLeft = 11, + .tilemapTop = 57, + .width = 8, + .height = 2, + .paletteNum = 5, + .baseBlock = 0x0330, + }, + { + .priority = 0, + .tilemapLeft = 21, + .tilemapTop = 55, + .width = 4, + .height = 2, + .paletteNum = 5, + .baseBlock = 0x0290, + }, + { + .priority = 0, + .tilemapLeft = 21, + .tilemapTop = 57, + .width = 0, + .height = 0, + .paletteNum = 5, + .baseBlock = 0x0298, + }, + { + .priority = 0, + .tilemapLeft = 25, + .tilemapTop = 55, + .width = 4, + .height = 2, + .paletteNum = 5, + .baseBlock = 0x0298, + }, + { + .priority = 0, + .tilemapLeft = 21, + .tilemapTop = 57, + .width = 8, + .height = 2, + .paletteNum = 5, + .baseBlock = 0x02a0, + }, + { + .priority = 0, + .tilemapLeft = 21, + .tilemapTop = 55, + .width = 8, + .height = 4, + .paletteNum = 5, + .baseBlock = 0x02b0, + }, + { + .priority = 0, + .tilemapLeft = 26, + .tilemapTop = 9, + .width = 3, + .height = 4, + .paletteNum = 5, + .baseBlock = 0x0100, + }, + { + .priority = 1, + .tilemapLeft = 19, + .tilemapTop = 8, + .width = 10, + .height = 11, + .paletteNum = 5, + .baseBlock = 0x0100, + }, + { + .priority = 2, + .tilemapLeft = 18, + .tilemapTop = 0, + .width = 12, + .height = 3, + .paletteNum = 6, + .baseBlock = 0x016e, + }, + { + .priority = 1, + .tilemapLeft = 2, + .tilemapTop = 3, + .width = 6, + .height = 2, + .paletteNum = 5, + .baseBlock = 0x0020, + }, + { + .priority = 2, + .tilemapLeft = 2, + .tilemapTop = 3, + .width = 6, + .height = 2, + .paletteNum = 5, + .baseBlock = 0x0040, + }, + { + .priority = 1, + .tilemapLeft = 2, + .tilemapTop = 2, + .width = 6, + .height = 2, + .paletteNum = 5, + .baseBlock = 0x0020, + }, + { + .priority = 2, + .tilemapLeft = 2, + .tilemapTop = 2, + .width = 6, + .height = 2, + .paletteNum = 5, + .baseBlock = 0x0040, + }, + { + .priority = 1, + .tilemapLeft = 2, + .tilemapTop = 6, + .width = 6, + .height = 2, + .paletteNum = 5, + .baseBlock = 0x0060, + }, + { + .priority = 2, + .tilemapLeft = 2, + .tilemapTop = 6, + .width = 6, + .height = 2, + .paletteNum = 5, + .baseBlock = 0x0080, + }, + { + .priority = 0, + .tilemapLeft = 12, + .tilemapTop = 2, + .width = 6, + .height = 2, + .paletteNum = 0, + .baseBlock = 0x00a0, + }, + { + .priority = 0, + .tilemapLeft = 4, + .tilemapTop = 2, + .width = 7, + .height = 2, + .paletteNum = 0, + .baseBlock = 0x00a0, + }, + { + .priority = 0, + .tilemapLeft = 19, + .tilemapTop = 2, + .width = 7, + .height = 2, + .paletteNum = 0, + .baseBlock = 0x00b0, + }, + DUMMY_WIN_TEMPLATE +}; + +static const struct WindowTemplate gUnknown_0831AAE0[] = +{ + { + .priority = 0, + .tilemapLeft = 2, + .tilemapTop = 15, + .width = 26, + .height = 4, + .paletteNum = 0, + .baseBlock = 0x0090, + }, + { + .priority = 0, + .tilemapLeft = 1, + .tilemapTop = 35, + .width = 14, + .height = 4, + .paletteNum = 0, + .baseBlock = 0x01c0, + }, + { + .priority = 0, + .tilemapLeft = 17, + .tilemapTop = 35, + .width = 12, + .height = 4, + .paletteNum = 5, + .baseBlock = 0x0190, + }, + { + .priority = 0, + .tilemapLeft = 2, + .tilemapTop = 55, + .width = 8, + .height = 2, + .paletteNum = 5, + .baseBlock = 0x0300, + }, + { + .priority = 0, + .tilemapLeft = 11, + .tilemapTop = 55, + .width = 8, + .height = 2, + .paletteNum = 5, + .baseBlock = 0x0310, + }, + { + .priority = 0, + .tilemapLeft = 2, + .tilemapTop = 57, + .width = 8, + .height = 2, + .paletteNum = 5, + .baseBlock = 0x0320, + }, + { + .priority = 0, + .tilemapLeft = 11, + .tilemapTop = 57, + .width = 8, + .height = 2, + .paletteNum = 5, + .baseBlock = 0x0330, + }, + { + .priority = 0, + .tilemapLeft = 21, + .tilemapTop = 55, + .width = 4, + .height = 2, + .paletteNum = 5, + .baseBlock = 0x0290, + }, + { + .priority = 0, + .tilemapLeft = 21, + .tilemapTop = 57, + .width = 0, + .height = 0, + .paletteNum = 5, + .baseBlock = 0x0298, + }, + { + .priority = 0, + .tilemapLeft = 25, + .tilemapTop = 55, + .width = 4, + .height = 2, + .paletteNum = 5, + .baseBlock = 0x0298, + }, + { + .priority = 0, + .tilemapLeft = 21, + .tilemapTop = 57, + .width = 8, + .height = 2, + .paletteNum = 5, + .baseBlock = 0x02a0, + }, + { + .priority = 0, + .tilemapLeft = 21, + .tilemapTop = 55, + .width = 8, + .height = 4, + .paletteNum = 5, + .baseBlock = 0x02b0, + }, + { + .priority = 0, + .tilemapLeft = 26, + .tilemapTop = 9, + .width = 3, + .height = 4, + .paletteNum = 5, + .baseBlock = 0x0100, + }, + { + .priority = 1, + .tilemapLeft = 19, + .tilemapTop = 8, + .width = 10, + .height = 11, + .paletteNum = 5, + .baseBlock = 0x0100, + }, + { + .priority = 2, + .tilemapLeft = 18, + .tilemapTop = 0, + .width = 12, + .height = 3, + .paletteNum = 6, + .baseBlock = 0x016e, + }, + { + .priority = 0, + .tilemapLeft = 6, + .tilemapTop = 1, + .width = 8, + .height = 2, + .paletteNum = 5, + .baseBlock = 0x0100, + }, + { + .priority = 0, + .tilemapLeft = 14, + .tilemapTop = 1, + .width = 2, + .height = 2, + .paletteNum = 5, + .baseBlock = 0x0110, + }, + { + .priority = 0, + .tilemapLeft = 16, + .tilemapTop = 1, + .width = 8, + .height = 2, + .paletteNum = 5, + .baseBlock = 0x0114, + }, + { + .priority = 0, + .tilemapLeft = 12, + .tilemapTop = 4, + .width = 6, + .height = 2, + .paletteNum = 5, + .baseBlock = 0x0124, + }, + { + .priority = 0, + .tilemapLeft = 12, + .tilemapTop = 6, + .width = 6, + .height = 2, + .paletteNum = 5, + .baseBlock = 0x0130, + }, + { + .priority = 0, + .tilemapLeft = 12, + .tilemapTop = 8, + .width = 6, + .height = 2, + .paletteNum = 5, + .baseBlock = 0x013c, + }, + { + .priority = 0, + .tilemapLeft = 8, + .tilemapTop = 11, + .width = 14, + .height = 2, + .paletteNum = 5, + .baseBlock = 0x0148, + }, + { + .priority = 0, + .tilemapLeft = 2, + .tilemapTop = 15, + .width = 26, + .height = 4, + .paletteNum = 7, + .baseBlock = 0x0090, + }, + DUMMY_WIN_TEMPLATE +}; + +const struct WindowTemplate * const gBattleWindowTemplates[] = +{ + gUnknown_0831AA18, + gUnknown_0831AAE0, +}; + +static const struct BattleBackground gBattleTerrainTable[] = +{ + { + .tileset = gBattleTerrainTiles_TallGrass, + .tilemap = gBattleTerrainTilemap_TallGrass, + .entryTileset = gBattleTerrainAnimTiles_TallGrass, + .entryTilemap = gBattleTerrainAnimTilemap_TallGrass, + .palette = gBattleTerrainPalette_TallGrass, + }, + { + .tileset = gBattleTerrainTiles_LongGrass, + .tilemap = gBattleTerrainTilemap_LongGrass, + .entryTileset = gBattleTerrainAnimTiles_LongGrass, + .entryTilemap = gBattleTerrainAnimTilemap_LongGrass, + .palette = gBattleTerrainPalette_LongGrass, + }, + { + .tileset = gBattleTerrainTiles_Sand, + .tilemap = gBattleTerrainTilemap_Sand, + .entryTileset = gBattleTerrainAnimTiles_Sand, + .entryTilemap = gBattleTerrainAnimTilemap_Sand, + .palette = gBattleTerrainPalette_Sand, + }, + { + .tileset = gBattleTerrainTiles_Underwater, + .tilemap = gBattleTerrainTilemap_Underwater, + .entryTileset = gBattleTerrainAnimTiles_Underwater, + .entryTilemap = gBattleTerrainAnimTilemap_Underwater, + .palette = gBattleTerrainPalette_Underwater, + }, + { + .tileset = gBattleTerrainTiles_Water, + .tilemap = gBattleTerrainTilemap_Water, + .entryTileset = gBattleTerrainAnimTiles_Water, + .entryTilemap = gBattleTerrainAnimTilemap_Water, + .palette = gBattleTerrainPalette_Water, + }, + { + .tileset = gBattleTerrainTiles_PondWater, + .tilemap = gBattleTerrainTilemap_PondWater, + .entryTileset = gBattleTerrainAnimTiles_PondWater, + .entryTilemap = gBattleTerrainAnimTilemap_PondWater, + .palette = gBattleTerrainPalette_PondWater, + }, + { + .tileset = gBattleTerrainTiles_Rock, + .tilemap = gBattleTerrainTilemap_Rock, + .entryTileset = gBattleTerrainAnimTiles_Rock, + .entryTilemap = gBattleTerrainAnimTilemap_Rock, + .palette = gBattleTerrainPalette_Rock, + }, + { + .tileset = gBattleTerrainTiles_Cave, + .tilemap = gBattleTerrainTilemap_Cave, + .entryTileset = gBattleTerrainAnimTiles_Cave, + .entryTilemap = gBattleTerrainAnimTilemap_Cave, + .palette = gBattleTerrainPalette_Cave, + }, + { + .tileset = gBattleTerrainTiles_Building, + .tilemap = gBattleTerrainTilemap_Building, + .entryTileset = gBattleTerrainAnimTiles_Building, + .entryTilemap = gBattleTerrainAnimTilemap_Building, + .palette = gBattleTerrainPalette_Building, + }, + {// plain + .tileset = gBattleTerrainTiles_Building, + .tilemap = gBattleTerrainTilemap_Building, + .entryTileset = gBattleTerrainAnimTiles_Building, + .entryTilemap = gBattleTerrainAnimTilemap_Building, + .palette = gBattleTerrainPalette_Plain, + }, +}; + +// .text void BattleInitBgsAndWindows(void) { ResetBgsAndClearDma3BusyFlags(0); diff --git a/src/battle_main.c b/src/battle_main.c index 1a1f6f61a..781fbeff4 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -2055,7 +2055,7 @@ void VBlankCB_Battle(void) ScanlineEffect_InitHBlankDmaTransfer(); } -void nullsub_17(void) +void nullsub_17(struct Sprite *sprite) { } diff --git a/src/braille_puzzles.c b/src/braille_puzzles.c index b7ed1f713..4765141de 100644 --- a/src/braille_puzzles.c +++ b/src/braille_puzzles.c @@ -1,19 +1,16 @@ #include "global.h" #include "event_data.h" -#include "constants/songs.h" -#include "sound.h" +#include "field_camera.h" +#include "field_effect.h" #include "script.h" -#include "constants/species.h" +#include "sound.h" #include "task.h" -#include "field_effect.h" #include "constants/flags.h" #include "constants/maps.h" +#include "constants/songs.h" +#include "constants/species.h" extern void MapGridSetMetatileIdAt(s32 x, s32 y, u16 metatileId); // fieldmap -extern void DrawWholeMapView(); // field_camera -extern void SetCameraPanningCallback(void ( *callback)()); // field_camera -extern void InstallCameraPanAheadCallback(void); -extern void SetCameraPanning(s16 x, s16 y); extern u8 GetCursorSelectionMonId(void); extern u8 oei_task_add(void); @@ -26,7 +23,45 @@ enum EWRAM_DATA static u8 sBraillePuzzleCallbackFlag = 0; -extern const u8 gUnknown_085EFE74[][2]; +static const u8 gUnknown_085EFE74[][2] = +{ + {0x04, 0x15}, + {0x05, 0x15}, + {0x06, 0x15}, + {0x07, 0x15}, + {0x08, 0x15}, + {0x09, 0x15}, + {0x0a, 0x15}, + {0x0b, 0x15}, + {0x0c, 0x15}, + {0x0c, 0x16}, + {0x0c, 0x17}, + {0x0d, 0x17}, + {0x0d, 0x18}, + {0x0d, 0x19}, + {0x0d, 0x1a}, + {0x0d, 0x1b}, + {0x0c, 0x1b}, + {0x0c, 0x1c}, + {0x04, 0x1d}, + {0x05, 0x1d}, + {0x06, 0x1d}, + {0x07, 0x1d}, + {0x08, 0x1d}, + {0x09, 0x1d}, + {0x0a, 0x1d}, + {0x0b, 0x1d}, + {0x0c, 0x1d}, + {0x04, 0x1c}, + {0x04, 0x1b}, + {0x03, 0x1b}, + {0x03, 0x1a}, + {0x03, 0x19}, + {0x03, 0x18}, + {0x03, 0x17}, + {0x04, 0x17}, + {0x04, 0x16}, +}; void SealedChamberShakingEffect(u8); void sub_8179860(void); diff --git a/src/data2b.c b/src/data2b.c index 46a158e09..50cdee323 100644 --- a/src/data2b.c +++ b/src/data2b.c @@ -1,9 +1,257 @@ #include "global.h" #include "data2.h" #include "graphics.h" +#include "malloc.h" -extern const union AnimCmd gAnimCmd_General_Frame0[]; -extern const union AnimCmd AnimCmd_82FF540[]; +const u16 gUnknown_082FF1D8[] = INCBIN_U16("graphics/link/minigame_digits.gbapal"); +const u8 gUnknown_082FF1F8[] = INCBIN_U8("graphics/link/minigame_digits.4bpp.lz"); +const u8 gUnknown_082FF2B8[] = INCBIN_U8("graphics/link/minigame_digits2.4bpp.lz"); + +const struct SpriteFrameImage gUnknown_082FF3A8[] = +{ + gHeap + 0x8000, 0x800, + gHeap + 0x8800, 0x800, + gHeap + 0x9000, 0x800, + gHeap + 0x9800, 0x800, +}; + +const struct SpriteFrameImage gUnknown_082FF3C8[] = +{ + gHeap + 0xA000, 0x800, + gHeap + 0xA800, 0x800, + gHeap + 0xB000, 0x800, + gHeap + 0xB800, 0x800, +}; + +const struct SpriteFrameImage gUnknown_082FF3E8[] = +{ + gHeap + 0xC000, 0x800, + gHeap + 0xC800, 0x800, + gHeap + 0xD000, 0x800, + gHeap + 0xD800, 0x800, +}; + +const struct SpriteFrameImage gUnknown_082FF408[] = +{ + gHeap + 0xE000, 0x800, + gHeap + 0xE800, 0x800, + gHeap + 0xF000, 0x800, + gHeap + 0xF800, 0x800, +}; + +const struct SpriteFrameImage gUnknown_082FF428[] = +{ + gTrainerBackPic_Brendan, 0x0800, + gTrainerBackPic_Brendan + 0x0800, 0x0800, + gTrainerBackPic_Brendan + 0x1000, 0x0800, + gTrainerBackPic_Brendan + 0x1800, 0x0800, +}; + +const struct SpriteFrameImage gUnknown_082FF448[] = +{ + gTrainerBackPic_May, 0x0800, + gTrainerBackPic_May + 0x0800, 0x0800, + gTrainerBackPic_May + 0x1000, 0x0800, + gTrainerBackPic_May + 0x1800, 0x0800, +}; + +const struct SpriteFrameImage gUnknown_082FF468[] = +{ + gTrainerBackPic_Red, 0x0800, + gTrainerBackPic_Red + 0x0800, 0x0800, + gTrainerBackPic_Red + 0x1000, 0x0800, + gTrainerBackPic_Red + 0x1800, 0x0800, + gTrainerBackPic_Red + 0x2000, 0x0800, +}; + +const struct SpriteFrameImage gUnknown_082FF490[] = +{ + gTrainerBackPic_Leaf, 0x0800, + gTrainerBackPic_Leaf + 0x0800, 0x0800, + gTrainerBackPic_Leaf + 0x1000, 0x0800, + gTrainerBackPic_Leaf + 0x1800, 0x0800, + gTrainerBackPic_Leaf + 0x2000, 0x0800, +}; + +const struct SpriteFrameImage gUnknown_082FF4B8[] = +{ + gTrainerBackPic_RubySapphireBrendan, 0x0800, + gTrainerBackPic_RubySapphireBrendan + 0x0800, 0x0800, + gTrainerBackPic_RubySapphireBrendan + 0x1000, 0x0800, + gTrainerBackPic_RubySapphireBrendan + 0x1800, 0x0800, +}; + +const struct SpriteFrameImage gUnknown_082FF4D8[] = +{ + gTrainerBackPic_RubySapphireMay, 0x0800, + gTrainerBackPic_RubySapphireMay + 0x0800, 0x0800, + gTrainerBackPic_RubySapphireMay + 0x1000, 0x0800, + gTrainerBackPic_RubySapphireMay + 0x1800, 0x0800, +}; + +const struct SpriteFrameImage gUnknown_082FF4F8[] = +{ + gTrainerBackPic_Wally, 0x0800, + gTrainerBackPic_Wally + 0x0800, 0x0800, + gTrainerBackPic_Wally + 0x1000, 0x0800, + gTrainerBackPic_Wally + 0x1800, 0x0800, +}; + +const struct SpriteFrameImage gUnknown_082FF518[] = +{ + gTrainerBackPic_Steven, 0x0800, + gTrainerBackPic_Steven + 0x0800, 0x0800, + gTrainerBackPic_Steven + 0x1000, 0x0800, + gTrainerBackPic_Steven + 0x1800, 0x0800, +}; + +const union AnimCmd gAnimCmd_General_Frame0[] = +{ + ANIMCMD_FRAME(0, 0), + ANIMCMD_END, +}; + +const union AnimCmd AnimCmd_82FF540[] = +{ + ANIMCMD_FRAME(3, 0), + ANIMCMD_END, +}; + +const union AffineAnimCmd gUnknown_082FF548[] = +{ + AFFINEANIMCMD_FRAME(0x0100, 0x0100, 0x00, 0x00), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gUnknown_082FF558[] = +{ + AFFINEANIMCMD_FRAME(0xff00, 0x0100, 0x00, 0x00), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gUnknown_082FF568[] = +{ + AFFINEANIMCMD_FRAME(0x0028, 0x0028, 0x00, 0x00), + AFFINEANIMCMD_FRAME(0x0012, 0x0012, 0x00, 0x0c), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gUnknown_082FF580[] = +{ + AFFINEANIMCMD_FRAME(0xfffe, 0xfffe, 0x00, 0x12), + AFFINEANIMCMD_FRAME(0xfff0, 0xfff0, 0x00, 0x0f), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gUnknown_082FF598[] = +{ + AFFINEANIMCMD_FRAME(0x00a0, 0x0100, 0x00, 0x00), + AFFINEANIMCMD_FRAME(0x0004, 0x0000, 0x00, 0x08), + AFFINEANIMCMD_FRAME(0xfffc, 0x0000, 0x00, 0x08), + AFFINEANIMCMD_JUMP(1), +}; + +const union AffineAnimCmd gUnknown_082FF5B8[] = +{ + AFFINEANIMCMD_FRAME(0x0002, 0x0002, 0x00, 0x14), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gUnknown_082FF5C8[] = +{ + AFFINEANIMCMD_FRAME(0xfffe, 0xfffe, 0x00, 0x14), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gUnknown_082FF5D8[] = +{ + AFFINEANIMCMD_FRAME(0x0100, 0x0100, 0x00, 0000), + AFFINEANIMCMD_FRAME(0xfff0, 0xfff0, 0x00, 0x09), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gUnknown_082FF5F0[] = +{ + AFFINEANIMCMD_FRAME(0x0004, 0x0004, 0x00, 0x3f), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gUnknown_082FF600[] = +{ + AFFINEANIMCMD_FRAME(0x0000, 0x0000, 0xfd, 0x05), + AFFINEANIMCMD_FRAME(0x0000, 0x0000, 0x03, 0x05), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd * const gUnknown_082FF618[] = +{ + gUnknown_082FF548, + gUnknown_082FF568, + gUnknown_082FF580, + gUnknown_082FF598, + gUnknown_082FF5B8, + gUnknown_082FF5C8, + gUnknown_082FF5F0, + gUnknown_082FF600, + gUnknown_082FF5D8, +}; + +const union AffineAnimCmd gUnknown_082FF63C[] = +{ + AFFINEANIMCMD_FRAME(0xfffc, 0xfffc, 0x04, 0x3f), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gUnknown_082FF64C[] = +{ + AFFINEANIMCMD_FRAME(0x0000, 0x0000, 0x03, 0x05), + AFFINEANIMCMD_FRAME(0x0000, 0x0000, 0xfd, 0x05), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gUnknown_082FF664[] = +{ + AFFINEANIMCMD_FRAME(0x0000, 0x0000, 0xfb, 0x14), + AFFINEANIMCMD_FRAME(0x0000, 0x0000, 0x00, 0x14), + AFFINEANIMCMD_FRAME(0x0000, 0x0000, 0x05, 0x14), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gUnknown_082FF684[] = +{ + AFFINEANIMCMD_FRAME(0x0000, 0x0000, 0x09, 0x6e), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd * const gUnknown_082FF694[] = +{ + gUnknown_082FF548, + gUnknown_082FF568, + gUnknown_082FF580, + gUnknown_082FF598, + gUnknown_082FF5B8, + gUnknown_082FF5C8, + gUnknown_082FF63C, + gUnknown_082FF64C, + gUnknown_082FF664, + gUnknown_082FF5D8, + gUnknown_082FF684, +}; + +const union AffineAnimCmd * const gUnknown_082FF6C0[] = +{ + gUnknown_082FF558, + gUnknown_082FF568, + gUnknown_082FF580, + gUnknown_082FF598, + gUnknown_082FF5B8, + gUnknown_082FF5C8, + gUnknown_082FF63C, + gUnknown_082FF64C, + gUnknown_082FF664, + gUnknown_082FF5D8, + gUnknown_082FF684, +}; #include "data/pokemon_graphics/unknown_anims.h" #include "data/pokemon_graphics/front_pic_coordinates.h" diff --git a/src/field_special_scene.c b/src/field_special_scene.c index c6cb0741d..1cabf63d6 100644 --- a/src/field_special_scene.c +++ b/src/field_special_scene.c @@ -1,22 +1,21 @@ #include "global.h" -#include "task.h" -#include "sprite.h" +#include "event_data.h" #include "event_object_movement.h" -#include "constants/songs.h" -#include "sound.h" +#include "main.h" #include "palette.h" #include "script.h" +#include "script_movement.h" +#include "sound.h" +#include "sprite.h" +#include "task.h" +#include "constants/songs.h" #include "constants/vars.h" -#include "event_data.h" -#include "main.h" #define SECONDS(value) ((signed) (60.0 * value + 0.5)) extern u8 GetSSTidalLocation(s8 *, s8 *, s16 *, s16 *); // should be in field_specials.h extern void Overworld_SetWarpDestination(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y); -extern bool8 ScriptMovement_IsObjectMovementFinished(u8, u8, u8); extern bool32 CountSSTidalStep(u16); -extern bool8 ScriptMovement_StartObjectMovementScript(u8, u8, u8, u8 *); extern void copy_saved_warp2_bank_and_enter_x_to_warp1(u8 unused); extern void sp13E_warp_to_last_warp(void); extern void saved_warp2_set(int unused, s8 mapGroup, s8 mapNum, s8 warpId); @@ -38,11 +37,12 @@ extern void pal_fill_black(void); extern void MapGridSetMetatileIdAt(s32 x, s32 y, u16 metatileId); extern void DrawWholeMapView(); -extern s8 gTruckCamera_HorizontalTable[]; - -extern u8 gUnknown_0858E8AB[]; -extern u8 gUnknown_0858E8AD[]; +//. rodata +static const s8 gTruckCamera_HorizontalTable[] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 2, 2, 2, 2, 2, -1, -1, -1, 0}; +const u8 gUnknown_0858E8AB[] = {0x18, 0xFE}; +const u8 gUnknown_0858E8AD[] = {0x17, 0xFE}; +// .text void Task_Truck3(u8); s16 GetTruckCameraBobbingY(int a1) diff --git a/src/item_use.c b/src/item_use.c index ea8206502..67bdabd87 100755 --- a/src/item_use.c +++ b/src/item_use.c @@ -1,15 +1,10 @@ #include "global.h" #include "item_use.h" #include "battle.h" -#include "main.h" +#include "battle_pyramid_bag.h" #include "berry.h" #include "bike.h" #include "coins.h" -#include "constants/bg_event_constants.h" -#include "constants/flags.h" -#include "constants/items.h" -#include "constants/songs.h" -#include "constants/vars.h" #include "data2.h" #include "event_data.h" #include "fieldmap.h" @@ -18,25 +13,31 @@ #include "field_screen.h" #include "field_weather.h" #include "item.h" +#include "item_menu.h" #include "mail.h" +#include "main.h" +#include "menu.h" +#include "menu_helpers.h" #include "metatile_behavior.h" #include "overworld.h" #include "palette.h" +#include "party_menu.h" +#include "pokeblock.h" #include "pokemon.h" #include "rom_818CFC8.h" #include "script.h" #include "sound.h" +#include "strings.h" #include "string_util.h" #include "task.h" #include "text.h" -#include "strings.h" -#include "pokeblock.h" -#include "menu.h" -#include "item_menu.h" -#include "battle_pyramid_bag.h" +#include "constants/bg_event_constants.h" +#include "constants/flags.h" +#include "constants/items.h" +#include "constants/songs.h" +#include "constants/vars.h" extern void(*gUnknown_0203A0F4)(u8 taskId); -extern void(*gUnknown_085920D8[])(void); extern void (*gUnknown_03006328)(u8, u16, TaskFunc); extern void unknown_ItemMenu_Confirm(u8 taskId); extern void sub_81C5B14(u8 taskId); @@ -45,7 +46,6 @@ extern void ItemUseOutOfBattle_TMHM(u8 a); extern void ItemUseOutOfBattle_EvolutionStone(u8 b); extern bool8 IsPlayerFacingSurfableFishableWater(void); extern bool8 sub_81221AC(void); -extern u8 gUnknown_085920E4[]; extern u8 Route102_EventScript_274482[]; extern u8 Route102_EventScript_2744C0[]; extern u8 BattleFrontier_OutsideEast_EventScript_242CFC[]; @@ -53,16 +53,7 @@ extern int sub_80247BC(void); extern struct MapHeader* mapconnection_get_mapheader(struct MapConnection *connection); extern void SetUpItemUseCallback(u8 taskId); extern void ItemUseCB_Medicine(u8, u16, TaskFunc); -extern void sub_81B67C8(u8, u16, TaskFunc); -extern void sub_81B79E8(u8, u16, TaskFunc); -extern void dp05_ether(u8, u16, TaskFunc); -extern void dp05_pp_up(u8, u16, TaskFunc); -extern void dp05_rare_candy(u8, u16, TaskFunc); -extern void sub_81B6DC4(u8, u16, TaskFunc); -extern void sub_81B7C74(u8, u16, TaskFunc); -extern u16 ItemIdToBattleMoveId(u16); -extern void bag_menu_yes_no(u8, u8, void(**)(u8 taskId)); -extern void (*gUnknown_085920E8[])(u8 taskId); +extern void bag_menu_yes_no(u8, u8, const struct YesNoFuncTable*); extern void sub_81C5924(void); extern void sub_81C59BC(void); extern void sub_81AB9A8(u8); @@ -92,6 +83,7 @@ void sub_80FDE7C(u8 taskId); void sub_80FDF90(u8 taskId); void task08_0809AD8C(u8 taskId); void sub_80FE024(u8 taskId); +void sub_80FE03C(u8 taskId); void sub_80FE124(u8 taskId); void sub_80FE164(u8 taskId); @@ -108,6 +100,25 @@ void sub_80FDBEC(void); bool8 sub_80FDE2C(void); void ItemUseOutOfBattle_CannotUse(u8 taskId); +// .rodata + +static const MainCallback gUnknown_085920D8[] = +{ + sub_81B617C, + CB2_ReturnToField, + NULL, +}; + +static const u8 gUnknown_085920E4[] = {DIR_NORTH, DIR_EAST, DIR_SOUTH, DIR_WEST}; + +static const struct YesNoFuncTable gUnknown_085920E8 = +{ + .yesFunc = sub_80FE03C, + .noFunc = bag_menu_inits_lists_menu, +}; + +// .text + void SetUpItemUseCallback(u8 taskId) { u8 type; @@ -784,7 +795,7 @@ void task08_0809AD8C(u8 taskId) void sub_80FE024(u8 taskId) { - bag_menu_yes_no(taskId, 6, gUnknown_085920E8); + bag_menu_yes_no(taskId, 6, &gUnknown_085920E8); } void sub_80FE03C(u8 taskId) |