diff options
author | scnorton <scnorton@biociphers.org> | 2017-06-13 09:34:28 -0400 |
---|---|---|
committer | scnorton <scnorton@biociphers.org> | 2017-06-13 09:34:28 -0400 |
commit | 8ef6c0004cc1093e1533eb2d41fbde71ee93d22c (patch) | |
tree | b73a68fc011ae08fabe3c5563224078ca61daf9a | |
parent | 520514d47d13dd912ef649b0b24470bb0a1e8525 (diff) |
Finish converting data/decoration.s to C objects
-rwxr-xr-x | data/decoration.s | 44 | ||||
-rwxr-xr-x | include/decoration.h | 8 | ||||
-rw-r--r-- | ld_script.txt | 1 | ||||
-rwxr-xr-x | src/decoration.c | 32 |
4 files changed, 37 insertions, 48 deletions
diff --git a/data/decoration.s b/data/decoration.s deleted file mode 100755 index 9a228dcaa..000000000 --- a/data/decoration.s +++ /dev/null @@ -1,44 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - - .align 2 -gUnknown_083ECA5C:: @ 83ECA5C - obj_pal gUnknown_083EC98C, 0x0008 - - .align 2 -gUnknown_083ECA64:: @ 83ECA64 - obj_pal Unknown_3EC9AC, 0x0008 - - .align 2 -gOamData_83ECA6C:: @ 83ECA6C - .2byte 0x0000 - .2byte 0x4000 - .2byte 0x0400 - - .align 2 -gSpriteAnim_83ECA74:: @ 83ECA74 - obj_image_anim_frame 0, 0 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83ECA7C:: @ 83ECA7C - .4byte gSpriteAnim_83ECA74 - - .align 2 -gSpriteImageTable_83ECA80:: @ 83ECA80 - obj_frame_tiles gSpriteImage_83EC9DC, 0x80 - - .align 2 -gSpriteTemplate_83ECA88:: @ 83ECA88 - spr_template 0xFFFF, 8, gOamData_83ECA6C, gSpriteAnimTable_83ECA7C, gSpriteImageTable_83ECA80, gDummySpriteAffineAnimTable, sub_8101698 - - .align 2 -gUnknown_083ECAA0:: @ 83ECAA0 - .4byte sub_8101848 - .4byte sub_80FED3C - -@ XXX: what is this? - .align 2 - .4byte 0x2000000 diff --git a/include/decoration.h b/include/decoration.h index 761e49e70..9aab819ab 100755 --- a/include/decoration.h +++ b/include/decoration.h @@ -235,7 +235,7 @@ extern u8 gUnknown_020391A9; extern u8 gUnknown_020391AA; extern u8 gUnknown_02039234; extern void (*gUnknown_0300485C)(void); -const struct YesNoFuncTable gUnknown_083EC96C[]; +extern const struct YesNoFuncTable gUnknown_083EC96C[]; extern struct UnkStruct_020391B4 gUnknown_020391B4[16]; extern const u16 gUnknown_083EC654[3]; @@ -334,13 +334,15 @@ void sub_8101700(u8); void sub_81017A0(u8); void sub_8109D04(u8); -void sub_81000C4(u8); -void sub_810026C(u8); +void sub_80FED3C(u8); void sub_80FFAB0(u8); void sub_80FFB08(u8); +void sub_81000C4(u8); +void sub_810026C(u8); void sub_8100F88(u8); void sub_8100FB4(u8); void sub_810153C(u8); void sub_8101590(u8); +void sub_8101848(u8); #endif // GUARD_DECORATION_H diff --git a/ld_script.txt b/ld_script.txt index e363bc462..cb18b6d2e 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -435,7 +435,6 @@ SECTIONS { data/region_map.o(.rodata); data/cute_sketch.o(.rodata); src/decoration.o(.rodata); - data/decoration.o(.rodata); data/slot_machine.o(.rodata); src/contest_painting.o(.rodata); src/battle_ai.o(.rodata); diff --git a/src/decoration.c b/src/decoration.c index 1796c1c2c..7595477a3 100755 --- a/src/decoration.c +++ b/src/decoration.c @@ -1508,6 +1508,38 @@ const u16 Unknown_3EC9AC[] = INCBIN_U16("graphics/unknown/83EC9AC.gbapal"); const struct YesNoFuncTable gUnknown_083EC9CC = {.yesFunc = sub_810153C, .noFunc = sub_8100EEC}; const struct YesNoFuncTable gUnknown_083EC9D4 = {.yesFunc = sub_8101590, .noFunc = sub_8100EEC}; const u32 gSpriteImage_83EC9DC[] = INCBIN_U32("graphics/unknown_sprites/83EC9DC.4bpp"); +const struct SpritePalette gUnknown_083ECA5C = {.data = gUnknown_083EC98C, .tag = 8}; +const struct SpritePalette gUnknown_083ECA64 = {.data = Unknown_3EC9AC, .tag = 8}; +const struct OamData gOamData_83ECA6C = { + .size = 1, .priority = 1 +}; + +const union AnimCmd gSpriteAnim_83ECA74[] = { + ANIMCMD_FRAME(.imageValue = 0, .duration = 0), + ANIMCMD_END +}; + +const union AnimCmd *const gSpriteAnimTable_83ECA7C[] = { + gSpriteAnim_83ECA74 +}; + +const struct SpriteFrameImage gSpriteImageTable_83ECA80[] = { + obj_frame_tiles(gSpriteImage_83EC9DC) +}; + +const struct SpriteTemplate gSpriteTemplate_83ECA88 = { + .tileTag = 0xffff, + .paletteTag = 8, + .oam = &gOamData_83ECA6C, + .anims = gSpriteAnimTable_83ECA7C, + .images = gSpriteImageTable_83ECA80, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_8101698 +}; + +const struct YesNoFuncTable gUnknown_083ECAA0 = {.yesFunc = sub_8101848, .noFunc = sub_80FED3C}; + +u8 *const unref_label_083ECAA8[] = {ewram}; // text |