diff options
author | drifloony <drifloony@users.noreply.github.com> | 2017-07-13 21:36:52 -0700 |
---|---|---|
committer | drifloony <drifloony@users.noreply.github.com> | 2017-07-13 21:37:49 -0700 |
commit | 1853efa954d88037729126f5494a53956c29fb43 (patch) | |
tree | e900ae1b8071f6e547bd8c01c813ad2626b60d77 | |
parent | 10618d8a4a1694e63de75028677bdb6f5cd53803 (diff) |
move ROM variables into menu_helpers.c
-rw-r--r-- | data/menu_helpers.s | 102 | ||||
-rw-r--r-- | include/sprite.h | 2 | ||||
-rw-r--r-- | ld_script.txt | 2 | ||||
-rw-r--r-- | src/menu_helpers.c | 124 |
4 files changed, 111 insertions, 119 deletions
diff --git a/data/menu_helpers.s b/data/menu_helpers.s deleted file mode 100644 index 29d42cb4b..000000000 --- a/data/menu_helpers.s +++ /dev/null @@ -1,102 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - - .align 2 -gSpriteImage_83E5808:: @ 83E5808 - .incbin "graphics/unknown_sprites/83E59A0/0.4bpp" - - .align 2 -gSpriteImage_83E5848:: @ 83E5848 - .incbin "graphics/unknown_sprites/83E59A0/1.4bpp" - - .align 2 -gSpriteImage_83E5888:: @ 83E5888 - .incbin "graphics/unknown_sprites/83E59B0/0.4bpp" - - .align 2 -gSpriteImage_83E58C8:: @ 83E58C8 - .incbin "graphics/unknown_sprites/83E59B0/1.4bpp" - - .align 2 -gSpriteImage_83E5908:: @ 83E5908 - .incbin "graphics/unknown_sprites/83E59C0/0.4bpp" - - .align 2 -gSpriteImage_83E5928:: @ 83E5928 - .incbin "graphics/unknown_sprites/83E59C0/1.4bpp" - - .align 2 -Palette_3E5948: @ 83E5948 - .incbin "graphics/interface/83E5948.gbapal" - - .align 2 -gUnknown_083E5968:: @ 83E5968 - obj_pal Palette_3E5948, 6 - - .align 2 -gOamData_83E5970:: @ 83E5970 - .2byte 0x0000 - .2byte 0x0000 - .2byte 0x0001 - - .align 2 -gOamData_83E5978:: @ 83E5978 - .2byte 0x4000 - .2byte 0x0000 - .2byte 0x0001 - - .align 2 -gOamData_83E5980:: @ 83E5980 - .2byte 0x8000 - .2byte 0x0000 - .2byte 0x0001 - - .align 2 -gSpriteAnim_83E5988:: @ 83E5988 - obj_image_anim_frame 0, 0 - obj_image_anim_end - - .align 2 -gSpriteAnim_83E5990:: @ 83E5990 - obj_image_anim_frame 1, 0 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83E5998:: @ 83E5998 - .4byte gSpriteAnim_83E5988 - .4byte gSpriteAnim_83E5990 - - .align 2 -gSpriteImageTable_83E59A0:: @ 83E59A0 - obj_frame_tiles gSpriteImage_83E5808, 0x40 - obj_frame_tiles gSpriteImage_83E5848, 0x40 - - .align 2 -gSpriteImageTable_83E59B0:: @ 83E59B0 - obj_frame_tiles gSpriteImage_83E5888, 0x40 - obj_frame_tiles gSpriteImage_83E58C8, 0x40 - - .align 2 -gSpriteImageTable_83E59C0:: @ 83E59C0 - obj_frame_tiles gSpriteImage_83E5908, 0x20 - obj_frame_tiles gSpriteImage_83E5928, 0x20 - - .align 2 -gSpriteTemplate_83E59D0:: @ 83E59D0 - spr_template 0xFFFF, 6, gOamData_83E5978, gSpriteAnimTable_83E5998, gSpriteImageTable_83E59A0, gDummySpriteAffineAnimTable, sub_80F9834 - - .align 2 -gSpriteTemplate_83E59E8:: @ 83E59E8 - spr_template 0xFFFF, 6, gOamData_83E5980, gSpriteAnimTable_83E5998, gSpriteImageTable_83E59B0, gDummySpriteAffineAnimTable, sub_80F9834 - - .align 2 -gSpriteTemplate_83E5A00:: @ 83E5A00 - spr_template 0xFFFF, 6, gOamData_83E5970, gSpriteAnimTable_83E5998, gSpriteImageTable_83E59C0, gDummySpriteAffineAnimTable, SpriteCallbackDummy - -gUnknown_083E5A18:: @ 83E5A18 - .string "{PALETTE 0}$" - -gUnknown_083E5A1C:: @ 83E5A1C - .string "▶$" diff --git a/include/sprite.h b/include/sprite.h index a65e71bd9..733231eb5 100644 --- a/include/sprite.h +++ b/include/sprite.h @@ -19,7 +19,7 @@ struct CompressedSpriteSheet struct SpriteFrameImage { - u8 *data; + const u8 *data; u16 size; }; diff --git a/ld_script.txt b/ld_script.txt index 399302e27..49c96172b 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -426,7 +426,7 @@ SECTIONS { data/mon_markings.o(.rodata); data/mauville_old_man.o(.rodata); data/mail.o(.rodata); - data/menu_helpers.o(.rodata); + src/menu_helpers.o(.rodata); src/heal_location.o(.rodata); data/region_map.o(.rodata); data/cute_sketch.o(.rodata); diff --git a/src/menu_helpers.c b/src/menu_helpers.c index b80901947..9915d67ac 100644 --- a/src/menu_helpers.c +++ b/src/menu_helpers.c @@ -14,19 +14,116 @@ #include "task.h" #include "text.h" +#define SCROLL_INDICATOR_PAL_TAG 6 + +static void sub_80F9834(struct Sprite *sprite); + static EWRAM_DATA u8 gUnknown_020388C0[4] = {0}; static EWRAM_DATA struct YesNoFuncTable gUnknown_020388C4 = {0}; static TaskFunc gUnknown_0300074C; -extern struct SpritePalette gUnknown_083E5968; +static const u8 gSpriteImage_83E5808[] = INCBIN_U8("graphics/unknown_sprites/83E59A0/0.4bpp"); + +static const u8 gSpriteImage_83E5848[] = INCBIN_U8("graphics/unknown_sprites/83E59A0/1.4bpp"); + +static const u8 gSpriteImage_83E5888[] = INCBIN_U8("graphics/unknown_sprites/83E59B0/0.4bpp"); + +static const u8 gSpriteImage_83E58C8[] = INCBIN_U8("graphics/unknown_sprites/83E59B0/1.4bpp"); + +static const u8 gSpriteImage_83E5908[] = INCBIN_U8("graphics/unknown_sprites/83E59C0/0.4bpp"); + +static const u8 gSpriteImage_83E5928[] = INCBIN_U8("graphics/unknown_sprites/83E59C0/1.4bpp"); + +static const u16 Palette_3E5948[] = INCBIN_U16("graphics/interface/83E5948.gbapal"); + +static const struct SpritePalette gUnknown_083E5968 = { Palette_3E5948, SCROLL_INDICATOR_PAL_TAG }; + +static const struct OamData gOamData_83E5970 = +{ + .tileNum = 1 +}; + +static const struct OamData gOamData_83E5978 = +{ + .shape = ST_OAM_H_RECTANGLE, + .tileNum = 1 +}; + +static const struct OamData gOamData_83E5980 = +{ + .shape = ST_OAM_V_RECTANGLE, + .tileNum = 1 +}; + +static const union AnimCmd gSpriteAnim_83E5988[] = +{ + ANIMCMD_FRAME(0, 0), + ANIMCMD_END, +}; + +static const union AnimCmd gSpriteAnim_83E5990[] = +{ + ANIMCMD_FRAME(1, 0), + ANIMCMD_END, +}; + +static const union AnimCmd *const gSpriteAnimTable_83E5998[] = +{ + gSpriteAnim_83E5988, + gSpriteAnim_83E5990, +}; + +static const struct SpriteFrameImage gSpriteImageTable_83E59A0[] = +{ + { gSpriteImage_83E5808, 0x40 }, + { gSpriteImage_83E5848, 0x40 }, +}; + +static const struct SpriteFrameImage gSpriteImageTable_83E59B0[] = +{ + { gSpriteImage_83E5888, 0x40 }, + { gSpriteImage_83E58C8, 0x40 }, +}; + +static const struct SpriteFrameImage gSpriteImageTable_83E59C0[] = +{ + { gSpriteImage_83E5908, 0x20 }, + { gSpriteImage_83E5928, 0x20 }, +}; + +static const struct SpriteTemplate gSpriteTemplate_83E59D0 = +{ + .tileTag = 0xFFFF, + .paletteTag = SCROLL_INDICATOR_PAL_TAG, + .oam = &gOamData_83E5978, + .anims = gSpriteAnimTable_83E5998, + .images = gSpriteImageTable_83E59A0, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80F9834, +}; -extern struct SpriteTemplate gSpriteTemplate_83E59D0; -extern struct SpriteTemplate gSpriteTemplate_83E59E8; -extern struct SpriteTemplate gSpriteTemplate_83E5A00; +static const struct SpriteTemplate gSpriteTemplate_83E59E8 = +{ + .tileTag = 0xFFFF, + .paletteTag = SCROLL_INDICATOR_PAL_TAG, + .oam = &gOamData_83E5980, + .anims = gSpriteAnimTable_83E5998, + .images = gSpriteImageTable_83E59B0, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80F9834, +}; -extern const u8 gUnknown_083E5A18[]; -extern const u8 gUnknown_083E5A1C[]; +static const struct SpriteTemplate gSpriteTemplate_83E5A00 = +{ + .tileTag = 0xFFFF, + .paletteTag = SCROLL_INDICATOR_PAL_TAG, + .oam = &gOamData_83E5970, + .anims = gSpriteAnimTable_83E5998, + .images = gSpriteImageTable_83E59C0, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, +}; void sub_80F9020(void) { @@ -84,9 +181,7 @@ void DoYesNoFuncWithChoice(u8 taskId, const struct YesNoFuncTable *funcTable) static void PrintStringWithPalette(const u8 *str, u8 paletteNum, u8 left, u8 top) { - u8 paletteStr[4]; - - memcpy(paletteStr, gUnknown_083E5A18, 4); + u8 paletteStr[] = _("{PALETTE 0}"); if (paletteNum != 0xFF) { @@ -121,9 +216,8 @@ void PrintNumberWithPalette(s32 value, u8 paletteNum, u8 n, u8 mode, u8 left, u8 // unused void PrintTriangleCursorWithPalette(u8 left, u8 top, u8 paletteNum) { - u8 buffer[2]; - memcpy(buffer, gUnknown_083E5A1C, 2); - PrintStringWithPalette(buffer, paletteNum, left, top); + u8 cursorStr[] = _("▶"); + PrintStringWithPalette(cursorStr, paletteNum, left, top); } u8 sub_80F9284(void) @@ -252,7 +346,7 @@ void sub_80F944C(void) gUnknown_020388C0[i] = 0xFF; } - FreeSpritePaletteByTag(6); + FreeSpritePaletteByTag(SCROLL_INDICATOR_PAL_TAG); LoadSpritePalette(&gUnknown_083E5968); } @@ -403,10 +497,10 @@ void LoadScrollIndicatorPalette(void) void BuyMenuFreeMemory(void) { - FreeSpritePaletteByTag(6); + FreeSpritePaletteByTag(SCROLL_INDICATOR_PAL_TAG); } -void sub_80F9834(struct Sprite *sprite) +static void sub_80F9834(struct Sprite *sprite) { if (sprite->data1 == 0) { |