#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