diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/decoration.h | 74 | ||||
-rw-r--r-- | include/decoration_inventory.h | 8 | ||||
-rw-r--r-- | include/gba/types.h | 4 | ||||
-rw-r--r-- | include/menu_helpers.h | 2 | ||||
-rw-r--r-- | include/trader.h | 2 |
5 files changed, 44 insertions, 46 deletions
diff --git a/include/decoration.h b/include/decoration.h index 0e6d6cfdd..eed930356 100644 --- a/include/decoration.h +++ b/include/decoration.h @@ -1,7 +1,8 @@ #ifndef GUARD_DECORATION_H #define GUARD_DECORATION_H -enum DecorPerm { +enum DecorationPermission +{ /* * The nomenclature here describes collision and placement permissions, in that order. */ @@ -9,13 +10,11 @@ enum DecorPerm { DECORPERM_PASS_FLOOR, DECORPERM_BEHIND_FLOOR, DECORPERM_NA_WALL, - DECORPERM_SPRITE + DECORPERM_SPRITE, }; -enum DecorShape { - /* - * Width-x-height - */ +enum DecorationShape +{ DECORSHAPE_1x1, DECORSHAPE_2x1, DECORSHAPE_3x1, // unused @@ -25,53 +24,52 @@ enum DecorShape { DECORSHAPE_1x3, // unused DECORSHAPE_2x4, DECORSHAPE_3x3, - DECORSHAPE_3x2 + DECORSHAPE_3x2, }; -enum DecorCat { - /* - * In which category you can find the decoration in the PC. - */ - /*0*/ DECORCAT_DESK, - /*1*/ DECORCAT_CHAIR, - /*2*/ DECORCAT_PLANT, - /*3*/ DECORCAT_ORNAMENT, - /*4*/ DECORCAT_MAT, - /*5*/ DECORCAT_POSTER, - /*6*/ DECORCAT_DOLL, - /*7*/ DECORCAT_CUSHION +enum DecorationCategory +{ + DECORCAT_DESK, + DECORCAT_CHAIR, + DECORCAT_PLANT, + DECORCAT_ORNAMENT, + DECORCAT_MAT, + DECORCAT_POSTER, + DECORCAT_DOLL, + DECORCAT_CUSHION, + DECORCAT_COUNT, }; struct Decoration { - /*0x00*/ u8 id; - /*0x01*/ u8 name[16]; - /*0x11*/ u8 permission; - /*0x12*/ u8 shape; - /*0x13*/ u8 category; - /*0x14*/ u16 price; - /*0x18*/ const u8 *description; - /*0x1c*/ const u16 *tiles; + u8 id; + u8 name[16]; + u8 permission; + u8 shape; + u8 category; + u16 price; + const u8 *description; + const u16 *tiles; }; -struct DecorPCPointers +struct DecorationPCContext { - /* 0x00 */ u8 *items; - /* 0x04 */ u8 *pos; - /* 0x08 */ u8 size; - /* 0x09 */ u8 isPlayerRoom; + u8 *items; + u8 *pos; + u8 size; + u8 isPlayerRoom; }; extern const struct Decoration gDecorations[]; -extern EWRAM_DATA u8 *gCurDecorInventoryItems; +extern EWRAM_DATA u8 *gCurDecorationItems; extern EWRAM_DATA u8 gCurDecorationIndex; -void sub_8126968(void); -void sub_8126AD8(u8 taskId); +void InitDecorationContextItems(void); +void DoSecretBaseDecorationMenu(u8 taskId); void ShowDecorationOnMap(u16 mapX, u16 mapY, u16 decor); -void sub_8126B2C(u8 taskId); -void sub_8127208(u8 taskId); -void sub_8127250(u8 *dest, u8 decorCat); +void DoPlayerRoomDecorationMenu(u8 taskId); +void ShowDecorationCategoriesWindow(u8 taskId); +void CopyDecorationCategoryName(u8 *dest, u8 decorCat); bool8 IsSelectedDecorInThePC(void); u8 AddDecorationIconObject(u8 decor, s16 x, s16 y, u8 priority, u16 tilesTag, u16 paletteTag); diff --git a/include/decoration_inventory.h b/include/decoration_inventory.h index 7539f7240..7362c2da2 100644 --- a/include/decoration_inventory.h +++ b/include/decoration_inventory.h @@ -11,13 +11,13 @@ extern struct DecorationInventory gDecorationInventories[]; void SetDecorationInventoriesPointers(void); void ClearDecorationInventories(void); -s8 GetFirstEmptyDecorSlot(u8 idx); +s8 GetFirstEmptyDecorSlot(u8 category); u8 CheckHasDecoration(u8); u8 DecorationAdd(u8); u8 DecorationCheckSpace(u8); s8 DecorationRemove(u8); -void CondenseDecorationCategoryN(u8); -u8 CountDecorationCategoryN(u8 idx); -u8 CountDecorations(void); +void CondenseDecorationsInCategory(u8 category); +u8 GetNumOwnedDecorationsInCategory(u8 category); +u8 GetNumOwnedDecorations(void); #endif // GUARD_DECORATION_INVENTORY_H diff --git a/include/gba/types.h b/include/gba/types.h index cb370c785..9f2594703 100644 --- a/include/gba/types.h +++ b/include/gba/types.h @@ -107,8 +107,8 @@ struct OamData #define SPRITE_SIZE_16x32 ((ST_OAM_SIZE_2 << 2) | (ST_OAM_V_RECTANGLE)) #define SPRITE_SIZE_32x64 ((ST_OAM_SIZE_3 << 2) | (ST_OAM_V_RECTANGLE)) -#define SPRITE_SIZE(dim) (SPRITE_SIZE_##dim >> 2) -#define SPRITE_SHAPE(dim) (SPRITE_SIZE_##dim & 0xFF) +#define SPRITE_SIZE(dim) ((SPRITE_SIZE_##dim >> 2) & 0x03) +#define SPRITE_SHAPE(dim) (SPRITE_SIZE_##dim & 0x03) struct BgAffineSrcData { diff --git a/include/menu_helpers.h b/include/menu_helpers.h index 63af4c731..3b6c13172 100644 --- a/include/menu_helpers.h +++ b/include/menu_helpers.h @@ -30,7 +30,7 @@ bool8 itemid_80BF6D8_mail_related(u16 itemId); bool8 sub_81221AC(void); bool8 sub_81221EC(void); void sub_812220C(struct ItemSlot *slots, u8 count, u8 *arg2, u8 *usedSlotsCount, u8 maxUsedSlotsCount); -void sub_812225C(u16 *arg0, u16 *arg1, u8 arg2, u8 arg3); +void sub_812225C(u16 *scrollOffset, u16 *cursorPos, u8 maxShownItems, u8 numItems); void sub_8122298(u16 *arg0, u16 *arg1, u8 arg2, u8 arg3, u8 arg4); void LoadListMenuArrowsGfx(void); void sub_8122344(u8 *spriteIds, u8 count); diff --git a/include/trader.h b/include/trader.h index c07ea81bd..25d72bd3b 100644 --- a/include/trader.h +++ b/include/trader.h @@ -6,7 +6,7 @@ #define GUARD_TRADER_H void sub_8133DA0(u8 taskId); -void sub_8133E1C(u8 taskId); +void ExitTraderMenu(u8 taskId); void TraderSetup(void); void Trader_ResetFlag(void); |