69 lines
1.5 KiB
C
69 lines
1.5 KiB
C
#ifndef GUARD_DECORATION_H
|
|
#define GUARD_DECORATION_H
|
|
|
|
enum DecorationPermission
|
|
{
|
|
/*
|
|
* The nomenclature here describes collision and placement permissions, in that order.
|
|
*/
|
|
DECORPERM_SOLID_FLOOR,
|
|
DECORPERM_PASS_FLOOR,
|
|
DECORPERM_BEHIND_FLOOR,
|
|
DECORPERM_NA_WALL,
|
|
DECORPERM_SPRITE,
|
|
};
|
|
|
|
enum DecorationShape
|
|
{
|
|
DECORSHAPE_1x1,
|
|
DECORSHAPE_2x1,
|
|
DECORSHAPE_3x1, // unused
|
|
DECORSHAPE_4x2,
|
|
DECORSHAPE_2x2,
|
|
DECORSHAPE_1x2,
|
|
DECORSHAPE_1x3, // unused
|
|
DECORSHAPE_2x4,
|
|
DECORSHAPE_3x3,
|
|
DECORSHAPE_3x2,
|
|
};
|
|
|
|
enum DecorationCategory
|
|
{
|
|
DECORCAT_DESK,
|
|
DECORCAT_CHAIR,
|
|
DECORCAT_PLANT,
|
|
DECORCAT_ORNAMENT,
|
|
DECORCAT_MAT,
|
|
DECORCAT_POSTER,
|
|
DECORCAT_DOLL,
|
|
DECORCAT_CUSHION,
|
|
DECORCAT_COUNT,
|
|
};
|
|
|
|
struct Decoration
|
|
{
|
|
u8 id;
|
|
u8 name[16];
|
|
u8 permission;
|
|
u8 shape;
|
|
u8 category;
|
|
u16 price;
|
|
const u8 *description;
|
|
const u16 *tiles;
|
|
};
|
|
|
|
extern const struct Decoration gDecorations[];
|
|
extern EWRAM_DATA u8 *gCurDecorationItems;
|
|
extern EWRAM_DATA u8 gCurDecorationIndex;
|
|
|
|
void InitDecorationContextItems(void);
|
|
void DoSecretBaseDecorationMenu(u8 taskId);
|
|
void ShowDecorationOnMap(u16 mapX, u16 mapY, u16 decor);
|
|
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);
|
|
|
|
#endif //GUARD_DECORATION_H
|