mirror of
https://github.com/Ninjdai1/pokeemerald.git
synced 2024-12-26 19:54:21 +01:00
198 lines
5.2 KiB
C
198 lines
5.2 KiB
C
#ifndef GUARD_DECORATION_H
|
|
#define GUARD_DECORATION_H
|
|
|
|
enum DecoId {
|
|
/*000*/ DECOR_NONE,
|
|
/*001*/ DECOR_SMALL_DESK,
|
|
/*002*/ DECOR_POKEMON_DESK,
|
|
/*003*/ DECOR_HEAVY_DESK,
|
|
/*004*/ DECOR_RAGGED_DESK,
|
|
/*005*/ DECOR_COMFORT_DESK,
|
|
/*006*/ DECOR_PRETTY_DESK,
|
|
/*007*/ DECOR_BRICK_DESK,
|
|
/*008*/ DECOR_CAMP_DESK,
|
|
/*009*/ DECOR_HARD_DESK,
|
|
/*010*/ DECOR_SMALL_CHAIR,
|
|
/*011*/ DECOR_POKEMON_CHAIR,
|
|
/*012*/ DECOR_HEAVY_CHAIR,
|
|
/*013*/ DECOR_PRETTY_CHAIR,
|
|
/*014*/ DECOR_COMFORT_CHAIR,
|
|
/*015*/ DECOR_RAGGED_CHAIR,
|
|
/*016*/ DECOR_BRICK_CHAIR,
|
|
/*017*/ DECOR_CAMP_CHAIR,
|
|
/*018*/ DECOR_HARD_CHAIR,
|
|
/*019*/ DECOR_RED_PLANT,
|
|
/*020*/ DECOR_TROPICAL_PLANT,
|
|
/*021*/ DECOR_PRETTY_FLOWERS,
|
|
/*022*/ DECOR_COLORFUL_PLANT,
|
|
/*023*/ DECOR_BIG_PLANT,
|
|
/*024*/ DECOR_GORGEOUS_PLANT,
|
|
/*025*/ DECOR_RED_BRICK,
|
|
/*026*/ DECOR_YELLOW_BRICK,
|
|
/*027*/ DECOR_BLUE_BRICK,
|
|
/*028*/ DECOR_RED_BALLOON,
|
|
/*029*/ DECOR_BLUE_BALLOON,
|
|
/*030*/ DECOR_YELLOW_BALLOON,
|
|
/*031*/ DECOR_RED_TENT,
|
|
/*032*/ DECOR_BLUE_TENT,
|
|
/*033*/ DECOR_SOLID_BOARD,
|
|
/*034*/ DECOR_SLIDE,
|
|
/*035*/ DECOR_FENCE_LENGTH,
|
|
/*036*/ DECOR_FENCE_WIDTH,
|
|
/*037*/ DECOR_TIRE,
|
|
/*038*/ DECOR_STAND,
|
|
/*039*/ DECOR_MUD_BALL,
|
|
/*040*/ DECOR_BREAKABLE_DOOR,
|
|
/*041*/ DECOR_SAND_ORNAMENT,
|
|
/*042*/ DECOR_SILVER_SHIELD,
|
|
/*043*/ DECOR_GOLD_SHIELD,
|
|
/*044*/ DECOR_GLASS_ORNAMENT,
|
|
/*045*/ DECOR_TV,
|
|
/*046*/ DECOR_ROUND_TV,
|
|
/*047*/ DECOR_CUTE_TV,
|
|
/*048*/ DECOR_GLITTER_MAT,
|
|
/*049*/ DECOR_JUMP_MAT,
|
|
/*050*/ DECOR_SPIN_MAT,
|
|
/*051*/ DECOR_C_LOW_NOTE_MAT,
|
|
/*052*/ DECOR_D_NOTE_MAT,
|
|
/*053*/ DECOR_E_NOTE_MAT,
|
|
/*054*/ DECOR_F_NOTE_MAT,
|
|
/*055*/ DECOR_G_NOTE_MAT,
|
|
/*056*/ DECOR_A_NOTE_MAT,
|
|
/*057*/ DECOR_B_NOTE_MAT,
|
|
/*058*/ DECOR_C_HIGH_NOTE_MAT,
|
|
/*059*/ DECOR_SURF_MAT,
|
|
/*060*/ DECOR_THUNDER_MAT,
|
|
/*061*/ DECOR_FIRE_BLAST_MAT,
|
|
/*062*/ DECOR_POWDER_SNOW_MAT,
|
|
/*063*/ DECOR_ATTRACT_MAT,
|
|
/*064*/ DECOR_FISSURE_MAT,
|
|
/*065*/ DECOR_SPIKES_MAT,
|
|
/*066*/ DECOR_BALL_POSTER,
|
|
/*067*/ DECOR_GREEN_POSTER,
|
|
/*068*/ DECOR_RED_POSTER,
|
|
/*069*/ DECOR_BLUE_POSTER,
|
|
/*070*/ DECOR_CUTE_POSTER,
|
|
/*071*/ DECOR_PIKA_POSTER,
|
|
/*072*/ DECOR_LONG_POSTER,
|
|
/*073*/ DECOR_SEA_POSTER,
|
|
/*074*/ DECOR_SKY_POSTER,
|
|
/*075*/ DECOR_KISS_POSTER,
|
|
/*076*/ DECOR_PICHU_DOLL,
|
|
/*077*/ DECOR_PIKACHU_DOLL,
|
|
/*078*/ DECOR_MARILL_DOLL,
|
|
/*079*/ DECOR_TOGEPI_DOLL,
|
|
/*080*/ DECOR_CYNDAQUIL_DOLL,
|
|
/*081*/ DECOR_CHIKORITA_DOLL,
|
|
/*082*/ DECOR_TOTODILE_DOLL,
|
|
/*083*/ DECOR_JIGGLYPUFF_DOLL,
|
|
/*084*/ DECOR_MEOWTH_DOLL,
|
|
/*085*/ DECOR_CLEFAIRY_DOLL,
|
|
/*086*/ DECOR_DITTO_DOLL,
|
|
/*087*/ DECOR_SMOOCHUM_DOLL,
|
|
/*088*/ DECOR_TREECKO_DOLL,
|
|
/*089*/ DECOR_TORCHIC_DOLL,
|
|
/*090*/ DECOR_MUDKIP_DOLL,
|
|
/*091*/ DECOR_DUSKULL_DOLL,
|
|
/*092*/ DECOR_WYNAUT_DOLL,
|
|
/*093*/ DECOR_BALTOY_DOLL,
|
|
/*094*/ DECOR_KECLEON_DOLL,
|
|
/*095*/ DECOR_AZURILL_DOLL,
|
|
/*096*/ DECOR_SKITTY_DOLL,
|
|
/*097*/ DECOR_SWABLU_DOLL,
|
|
/*098*/ DECOR_GULPIN_DOLL,
|
|
/*099*/ DECOR_LOTAD_DOLL,
|
|
/*100*/ DECOR_SEEDOT_DOLL,
|
|
/*101*/ DECOR_PIKA_CUSHION,
|
|
/*102*/ DECOR_ROUND_CUSHION,
|
|
/*103*/ DECOR_KISS_CUSHION,
|
|
/*104*/ DECOR_ZIGZAG_CUSHION,
|
|
/*105*/ DECOR_SPIN_CUSHION,
|
|
/*106*/ DECOR_DIAMOND_CUSHION,
|
|
/*107*/ DECOR_BALL_CUSHION,
|
|
/*108*/ DECOR_GRASS_CUSHION,
|
|
/*109*/ DECOR_FIRE_CUSHION,
|
|
/*110*/ DECOR_WATER_CUSHION,
|
|
/*111*/ DECOR_SNORLAX_DOLL,
|
|
/*112*/ DECOR_RHYDON_DOLL,
|
|
/*113*/ DECOR_LAPRAS_DOLL,
|
|
/*114*/ DECOR_VENUSAUR_DOLL,
|
|
/*115*/ DECOR_CHARIZARD_DOLL,
|
|
/*116*/ DECOR_BLASTOISE_DOLL,
|
|
/*117*/ DECOR_WAILMER_DOLL,
|
|
/*118*/ DECOR_REGIROCK_DOLL,
|
|
/*119*/ DECOR_REGICE_DOLL,
|
|
/*120*/ DECOR_REGISTEEL_DOLL
|
|
};
|
|
|
|
enum DecorPerm {
|
|
/*
|
|
* The nomenclature here describes collision and placement permissions, in that order.
|
|
*/
|
|
DECORPERM_SOLID_FLOOR,
|
|
DECORPERM_PASS_FLOOR,
|
|
DECORPERM_BEHIND_FLOOR,
|
|
DECORPERM_NA_WALL,
|
|
DECORPERM_SOLID_MAT
|
|
};
|
|
|
|
enum DecorShape {
|
|
/*
|
|
* Width-x-height
|
|
*/
|
|
DECORSHAPE_1x1,
|
|
DECORSHAPE_2x1,
|
|
DECORSHAPE_3x1, // unused
|
|
DECORSHAPE_4x2,
|
|
DECORSHAPE_2x2,
|
|
DECORSHAPE_1x2,
|
|
DECORSHAPE_1x3, // unused
|
|
DECORSHAPE_2x4,
|
|
DECORSHAPE_3x3,
|
|
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
|
|
};
|
|
|
|
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;
|
|
};
|
|
|
|
struct DecorPCPointers
|
|
{
|
|
/* 0x00 */ u8 *items;
|
|
/* 0x04 */ u8 *pos;
|
|
/* 0x08 */ u8 size;
|
|
/* 0x09 */ u8 isPlayerRoom;
|
|
};
|
|
|
|
extern const struct Decoration gDecorations[];
|
|
extern EWRAM_DATA u8 *gCurDecorInventoryItems;
|
|
extern EWRAM_DATA u8 gCurDecorationIndex;
|
|
|
|
void sub_8126968(void);
|
|
void sub_8126AD8(u8 taskId);
|
|
void sub_8127D38(u16 mapX, u16 mapY, u16 decor);
|
|
|
|
#endif //GUARD_DECORATION_H
|