diff options
Diffstat (limited to 'include')
| -rw-r--r-- | include/battle.h | 6 | ||||
| -rw-r--r-- | include/contest_painting.h | 8 | ||||
| -rwxr-xr-x[-rw-r--r--] | include/decoration.h | 371 | ||||
| -rw-r--r-- | include/fieldmap.h | 2 | ||||
| -rw-r--r-- | include/gba/io_reg.h | 2 | ||||
| -rw-r--r-- | include/global.fieldmap.h | 26 | ||||
| -rw-r--r-- | include/global.h | 18 | ||||
| -rw-r--r-- | include/items.h | 758 | ||||
| -rw-r--r-- | include/menu.h | 14 | ||||
| -rw-r--r-- | include/naming_screen.h | 2 | ||||
| -rw-r--r-- | include/palette.h | 32 | ||||
| -rw-r--r-- | include/save.h | 12 | ||||
| -rw-r--r-- | include/script.h | 2 | ||||
| -rw-r--r-- | include/sprite.h | 4 | ||||
| -rw-r--r-- | include/task.h | 12 | 
15 files changed, 823 insertions, 446 deletions
| diff --git a/include/battle.h b/include/battle.h index cfac2b44b..4d222834e 100644 --- a/include/battle.h +++ b/include/battle.h @@ -97,9 +97,9 @@ struct SmallItemStruct  struct BattleStruct /* 0x2000000 */  {      u8 filler0[0x15DDE]; -	/*0x15DDE*/ u8 unk15DDE; -	/*0x15DDF*/ u8 unk15DDF; -	/*0x15DE0*/ u8 filler15DE0[0x23C]; // 0xAF off? +    /*0x15DDE*/ u8 unk15DDE; +    /*0x15DDF*/ u8 unk15DDF; +    /*0x15DE0*/ u8 filler15DE0[0x23C]; // 0xAF off?      struct SmallBattleStruct1 unk;      u8 filler1[0x68];      /* 0x16089 */ u8 safariFleeRate; diff --git a/include/contest_painting.h b/include/contest_painting.h index a67748d02..5c1b065c2 100644 --- a/include/contest_painting.h +++ b/include/contest_painting.h @@ -8,10 +8,10 @@  enum  { -	NORMAL_RANK, -	SUPER_RANK, -	HYPER_RANK, -	MASTER_RANK, +    NORMAL_RANK, +    SUPER_RANK, +    HYPER_RANK, +    MASTER_RANK,  };  enum diff --git a/include/decoration.h b/include/decoration.h index d041a8007..01a00ee91 100644..100755 --- a/include/decoration.h +++ b/include/decoration.h @@ -1,19 +1,376 @@  #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 DecoCat { +    /* +     * 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 decor_field_11; -    /*0x12*/ u8 decor_field_12; -    /*0x13*/ u8 decor_field_13; +    /*0x11*/ u8 permission; +    /*0x12*/ u8 shape; +    /*0x13*/ u8 category;      /*0x14*/ u16 price; -    /*0x18*/ u8 *description; -    /*0x1c*/ u16 *tiles; +    /*0x18*/ const u8 *description; +    /*0x1c*/ const u16 *tiles; +}; + +struct DecoPCPointers +{ +    /* 0x00 */ u8 *items; +    /* 0x04 */ u8 *pos; +    /* 0x08 */ u8 size; +    /* 0x09 */ u8 isPlayerRoom; +}; + +struct DecorationInventory +{ +    u8 *items; +    u8 size;  }; -extern struct Decoration gDecorations[0x77]; -extern void sub_80FF394(u16 unkr0, u16 unkr1, u16 unkr2); +struct UnkStruct_803EC860 +{ +    const u8 *tiles; +    const u8 *y; +    const u8 *x; +    u8 size; +}; + +extern const struct UnkStruct_803EC860 gUnknown_083EC860[]; + +extern u8 ewram[]; +#define ewram_1f000 (*(struct DecoPCPointers *)(ewram + 0x1f000)) + +struct UnkStruct_02038900 +{ +    /*0x000; 0x02038900*/ const struct Decoration *decoration; +    /*0x004; 0x02038904*/ u16 tiles[0x40]; +    /*0x084; 0x02038984*/ u8 image[0x800]; +    /*0x884; 0x02039184*/ u16 palette[16]; +}; + +struct UnkStruct_083EC900 +{ +    u8 shape; +    u8 size; +    u8 x; +    u8 y; +}; + +struct UnkStruct_020391B4 +{ +    u8 decorId; +    u8 width; +    u8 height; +    u16 flagId; +}; + +extern const struct UnkStruct_083EC900 gUnknown_083EC900[]; +extern const struct SpritePalette gUnknown_083EC954; +extern const struct SpritePalette gUnknown_083ECA5C; +extern const struct SpritePalette gUnknown_083ECA64; +extern const struct SpriteTemplate gSpriteTemplate_83EC93C; +extern const struct SpriteTemplate gSpriteTemplate_83ECA88; + +extern const struct Decoration gDecorations[]; +extern struct UnkStruct_02038900 gUnknown_02038900; +extern u8 *gUnknown_020388D0; +extern u8 gUnknown_081A2F7B[]; +extern u8 gUnknown_081A2F8A[]; +extern struct OamData gUnknown_020391AC; + +extern u8 gUnknown_020388D4; +extern u8 gUnknown_020388D5; +extern u8 gUnknown_020388F2; +extern u8 gUnknown_020388F3; +extern u8 gUnknown_020388F4; +extern u8 gUnknown_020388F5; +extern u8 gUnknown_020388F6; +extern u8 gUnknown_020388D6[16]; +extern u8 gUnknown_020388E6[12]; +extern u16 gSpecialVar_0x8004; +extern u16 gSpecialVar_0x8005; +extern u16 gSpecialVar_0x8006; +extern u16 gSpecialVar_0x8007; +extern u16 gUnknown_020391A4; +extern u16 gUnknown_020391A6; +extern u8 gUnknown_020391A8; +extern u8 gUnknown_020391A9; +extern u8 gUnknown_020391AA; +extern u8 gUnknown_02039234; +extern void (*gUnknown_0300485C)(void); +extern const struct YesNoFuncTable gUnknown_083EC96C[]; +extern struct UnkStruct_020391B4 gUnknown_020391B4[16]; + +extern const u16 gUnknown_083EC654[3]; +extern const struct DecorationInventory gDecorationInventories[]; +extern const u8 *const gUnknown_083EC5E4[]; +extern const u8 *const gUnknown_083EC624[]; +extern u8 gUnknown_020388F7[]; +extern const struct MenuAction2 gUnknown_083EC604[]; +extern const struct MenuAction3 gUnknown_083EC634[]; +extern const u8 gUnknown_083EC65A[]; +extern const u8 gUnknown_083EC97C[]; +extern const u8 gUnknown_083EC984[]; +extern void sub_80B3068(u8); // src/shop +extern const struct YesNoFuncTable gUnknown_083EC95C; +extern const struct YesNoFuncTable gUnknown_083EC964; +extern const struct YesNoFuncTable gUnknown_083EC9CC; +extern const struct YesNoFuncTable gUnknown_083EC9D4; +extern const struct YesNoFuncTable gUnknown_083ECAA0; + +extern u8 sub_8134194(u8); // src/decoration_inventory +extern bool8 sub_81341D4(void); // src/decoration_inventory +extern void sub_8134104(u8); // src/decoration_inventory +extern bool8 sub_807D770(void); +extern void sub_80F944C(void); // src/menu_helpers +extern void sub_80F9480(u8 *, u8); // src/menu_helpers +extern void sub_80F94A4(u8, u8 *, u8, s16); // src/menu_helpers +extern void sub_80F94F8(u8 *); // src/menu_helpers +extern void sub_80F9520(u8 *, u8); // src/menu_helpers +extern void DestroyVerticalScrollIndicator(u8); // src/menu_helpers +extern void CreateVerticalScrollIndicators(u8, u8, u8); // src/menu_helpers +extern void LoadScrollIndicatorPalette(void); // src/menu_helpers +extern void DisplayItemMessageOnField(u8, const u8 *, TaskFunc, u16); // src/menu_helpers +extern void BuyMenuFreeMemory(void); // src/menu_helpers +extern void sub_8109DAC(u8); // src/trader +extern void ReshowPlayerPC(u8); // src/player_pc + +void sub_80FE2B4(void); +void Task_DecorationPCProcessMenuInput(u8); +void sub_80FE394(void); +void gpu_pal_decompress_alloc_tag_and_upload(u8); +void sub_80FE5AC(u8); +void sub_80FE604(u8); +void sub_80FE728(u8); +void sub_80FE758(u8); +void sub_80FE868(u8); +void sub_80FE948(u8); +void sub_80FEABC(u8, u8); +void sub_80FEC94(u8); +void sub_80FECB8(u8); +void sub_80FECE0(u8); +void sub_80FEF50(u8); +void sub_80FF394(u16, u16, u16); +void sub_80FF6AC(u8); +void sub_80FF960(u8); +void AddDecorationIconObjectFromFieldObject(struct UnkStruct_02038900 *, u8); +void SetUpPlacingDecorationPlayerAvatar(u8, struct UnkStruct_02038900 *); +void sub_8100038(u8); +void sub_81000A0(u8); +void sub_8100174(u8); +void sub_8100248(u8); +void sub_810028C(u8); +void c1_overworld_prev_quest(u8); +void sub_8100364(void); +void sub_810045C(void); +void sub_810065C(u8); +void sub_81006A8(u8); +void sub_81006D0(struct UnkStruct_02038900 *); +void sub_810070C(u16 *, u16); +void sub_8100874(struct UnkStruct_02038900 *); +void sub_81008BC(struct UnkStruct_02038900 *); +void sub_8100930(u8); +void sub_81009A8(struct Sprite *); +void sub_81009C0(struct Sprite *); +bool8 sub_8100D38(u8); +void sub_8100E70(u8); +void sub_8100EEC(u8); +void sub_8101024(u8); +void sub_81010F0(u8); +void sub_8101460(u8); +void sub_8101518(u8); +void sub_81015B0(u8); +void sub_81015E0(u8); +void sub_810156C(u8); +void sub_8101678(void); +void sub_8101698(struct Sprite *); +void sub_81016C8(void); +void sub_81016F4(void); +void sub_8101824(u8); +void sub_8109A30(u8); + +void sub_80FF160(u8); +void sub_80FF5BC(u8); +void sub_80FF058(u8); +void sub_8100A0C(u8); +void sub_8101700(u8); +void sub_81017A0(u8); +void sub_8109D04(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/include/fieldmap.h b/include/fieldmap.h index 1aa99031d..d08627ddc 100644 --- a/include/fieldmap.h +++ b/include/fieldmap.h @@ -7,5 +7,7 @@ struct MapHeader *mapconnection_get_mapheader(struct MapConnection *connection);  int GetMapBorderIdAt(int x, int y);  extern bool8 IsMetatileDirectionallyImpassable(struct MapObject *mapObject, s16 x, s16 y, u8 direction);  int CanCameraMoveInDirection(int direction); +u32 GetBehaviorByMetatileId(u16 metatile); +void MapGridSetMetatileEntryAt(int, int, u16);  #endif diff --git a/include/gba/io_reg.h b/include/gba/io_reg.h index c0874bcbb..d483d4ddc 100644 --- a/include/gba/io_reg.h +++ b/include/gba/io_reg.h @@ -639,6 +639,8 @@  #define KEY_INTR_ENABLE 0x0400  #define KEY_OR_INTR     0x0000  #define KEY_AND_INTR    0x8000 +#define DPAD_ANY        0x00F0 +#define JOY_EXCL_DPAD   0x030F  // interrupt flags  #define INTR_FLAG_VBLANK  (1 <<  0) diff --git a/include/global.fieldmap.h b/include/global.fieldmap.h index a0fe0e6ab..b8bab45d8 100644 --- a/include/global.fieldmap.h +++ b/include/global.fieldmap.h @@ -44,23 +44,23 @@ typedef void (*TilesetCB)(void);  struct Tileset  { -    bool8 isCompressed; -    bool8 isSecondary; -    void *tiles; -    void *palettes; -    void *metatiles; -    void *metatileAttributes; -    TilesetCB callback; +    /*0x00*/ bool8 isCompressed; +    /*0x01*/ bool8 isSecondary; +    /*0x04*/ void *tiles; +    /*0x08*/ void *palettes; +    /*0x0c*/ void *metatiles; +    /*0x10*/ void *metatileAttributes; +    /*0x14*/ TilesetCB callback;  };  struct MapData  { -    s32 width; -    s32 height; -    u16 *border; -    u16 *map; -    struct Tileset *primaryTileset; -    struct Tileset *secondaryTileset; +    /*0x00*/ s32 width; +    /*0x04*/ s32 height; +    /*0x08*/ u16 *border; +    /*0x0c*/ u16 *map; +    /*0x10*/ struct Tileset *primaryTileset; +    /*0x14*/ struct Tileset *secondaryTileset;  };  struct BackupMapData diff --git a/include/global.h b/include/global.h index 9a95cf41f..c4c78e65d 100644 --- a/include/global.h +++ b/include/global.h @@ -98,7 +98,7 @@ struct SecretBaseRecord      /*0x1A09*/ u8 sbr_field_1_0:4;      /*0x1A09*/ u8 gender:1;      /*0x1A09*/ u8 sbr_field_1_5:1; -	/*0x1A09*/ u8 sbr_field_1_6:2; +    /*0x1A09*/ u8 sbr_field_1_6:2;      /*0x1A0A*/ u8 sbr_field_2[7]; // 0xFF bytes?      /*0x1A12*/ u8 trainerId[4]; // byte 0 is used for determining trainer class      /*0x1A16*/ u16 sbr_field_e; @@ -219,7 +219,7 @@ struct TVShowRecentHappenings {      /*0x00*/ u8 var00;      /*0x01*/ u8 var01;      /*0x02*/ u16 var02; -	/*0x04*/ u16 var04[6]; +    /*0x04*/ u16 var04[6];      /*0x10*/ u8 playerName[8];      /*0x18*/ u8 language;      /*0x19*/ u8 pad19[10]; @@ -446,9 +446,9 @@ typedef union SB_Struct {  // size is 0x198  struct UnknownSaveStruct2ABC { -	u8 val0; -	u8 val1; -	u16 val2; +    u8 val0; +    u8 val1; +    u16 val2;  };  struct GabbyAndTyData { @@ -473,7 +473,7 @@ struct GabbyAndTyData {  };  struct RecordMixing_UnknownStruct { -	u8 data[0x38]; +    u8 data[0x38];  };  struct SaveBlock1 /* 0x02025734 */ @@ -525,7 +525,7 @@ struct SaveBlock1 /* 0x02025734 */      /*0x2704*/ u8 decorDoll[40];      /*0x272C*/ u8 decorCushion[10];      /*0x2736*/ u8 padding_2736[2]; -	/*0x2738*/ TVShow tvShows[25]; +    /*0x2738*/ TVShow tvShows[25];      /*0x2ABC*/ struct UnknownSaveStruct2ABC unknown_2ABC[16];      /*0x2AFC*/ u16 outbreakPokemonSpecies;      /*0x2AFE*/ u8 outbreakLocationMapNum; @@ -592,8 +592,8 @@ struct Pokedex  struct SaveBlock2_Sub  {      /*0x0000, 0x00A4*/ u8 filler_000[0x3D8]; -	/*0x03D8, 0x0480*/ u16 var_480; -	/*0x03DA, 0x0482*/ u16 var_482; +    /*0x03D8, 0x0480*/ u16 var_480; +    /*0x03DA, 0x0482*/ u16 var_482;      /*0x03DC, 0x0484*/ u8 filler_3DC[0xD1];      /*0x04AD, 0x0555*/ u8 var_4AD;      /*0x04AE, 0x0556*/ u8 var_4AE; diff --git a/include/items.h b/include/items.h index 11cc2113c..f3c506b43 100644 --- a/include/items.h +++ b/include/items.h @@ -2,387 +2,387 @@  #define GUARD_ITEMS_H  enum { -	ITEM_NONE,           // 0x000 -	ITEM_MASTER_BALL,    // 0x001 -	ITEM_ULTRA_BALL,     // 0x002 -	ITEM_GREAT_BALL,     // 0x003 -	ITEM_POKE_BALL,      // 0x004 -	ITEM_SAFARI_BALL,    // 0x005 -	ITEM_NET_BALL,       // 0x006 -	ITEM_DIVE_BALL,      // 0x007 -	ITEM_NEST_BALL,      // 0x008 -	ITEM_REPEAT_BALL,    // 0x009 -	ITEM_TIMER_BALL,     // 0x00a -	ITEM_LUXURY_BALL,    // 0x00b -	ITEM_PREMIER_BALL,   // 0x00c -	ITEM_POTION,         // 0x00d -	ITEM_ANTIDOTE,       // 0x00e -	ITEM_BURN_HEAL,      // 0x00f -	ITEM_ICE_HEAL,       // 0x010 -	ITEM_AWAKENING,      // 0x011 -	ITEM_PARALYZE_HEAL,  // 0x012 -	ITEM_FULL_RESTORE,   // 0x013 -	ITEM_MAX_POTION,     // 0x014 -	ITEM_HYPER_POTION,   // 0x015 -	ITEM_SUPER_POTION,   // 0x016 -	ITEM_FULL_HEAL,      // 0x017 -	ITEM_REVIVE,         // 0x018 -	ITEM_MAX_REVIVE,     // 0x019 -	ITEM_FRESH_WATER,    // 0x01a -	ITEM_SODA_POP,       // 0x01b -	ITEM_LEMONADE,       // 0x01c -	ITEM_MOOMOO_MILK,    // 0x01d -	ITEM_ENERGY_POWDER,  // 0x01e -	ITEM_ENERGY_ROOT,    // 0x01f -	ITEM_HEAL_POWDER,    // 0x020 -	ITEM_REVIVAL_HERB,   // 0x021 -	ITEM_ETHER,          // 0x022 -	ITEM_MAX_ETHER,      // 0x023 -	ITEM_ELIXIR,         // 0x024 -	ITEM_MAX_ELIXIR,     // 0x025 -	ITEM_LAVA_COOKIE,    // 0x026 -	ITEM_BLUE_FLUTE,     // 0x027 -	ITEM_YELLOW_FLUTE,   // 0x028 -	ITEM_RED_FLUTE,      // 0x029 -	ITEM_BLACK_FLUTE,    // 0x02a -	ITEM_WHITE_FLUTE,    // 0x02b -	ITEM_BERRY_JUICE,    // 0x02c -	ITEM_SACRED_ASH,     // 0x02d -	ITEM_SHOAL_SALT,     // 0x02e -	ITEM_SHOAL_SHELL,    // 0x02f -	ITEM_RED_SHARD,      // 0x030 -	ITEM_BLUE_SHARD,     // 0x031 -	ITEM_YELLOW_SHARD,   // 0x032 -	ITEM_GREEN_SHARD,    // 0x033 -	ITEM_034, -	ITEM_035, -	ITEM_036, -	ITEM_037, -	ITEM_038, -	ITEM_039, -	ITEM_03A, -	ITEM_03B, -	ITEM_03C, -	ITEM_03D, -	ITEM_03E, -	ITEM_HP_UP,          // 0x03f -	ITEM_PROTEIN,        // 0x040 -	ITEM_IRON,           // 0x041 -	ITEM_CARBOS,         // 0x042 -	ITEM_CALCIUM,        // 0x043 -	ITEM_RARE_CANDY,     // 0x044 -	ITEM_PP_UP,          // 0x045 -	ITEM_ZINC,           // 0x046 -	ITEM_PP_MAX,         // 0x047 -	ITEM_048, -	ITEM_GUARD_SPEC,     // 0x049 -	ITEM_DIRE_HIT,       // 0x04a -	ITEM_X_ATTACK,       // 0x04b -	ITEM_X_DEFEND,       // 0x04c -	ITEM_X_SPEED,        // 0x04d -	ITEM_X_ACCURACY,     // 0x04e -	ITEM_X_SPECIAL,      // 0x04f -	ITEM_POKE_DOLL,      // 0x050 -	ITEM_FLUFFY_TAIL,    // 0x051 -	ITEM_052, -	ITEM_SUPER_REPEL,    // 0x053 -	ITEM_MAX_REPEL,      // 0x054 -	ITEM_ESCAPE_ROPE,    // 0x055 -	ITEM_REPEL,          // 0x056 -	ITEM_057, -	ITEM_058, -	ITEM_059, -	ITEM_05A, -	ITEM_05B, -	ITEM_05C, -	ITEM_SUN_STONE,      // 0x05d -	ITEM_MOON_STONE,     // 0x05e -	ITEM_FIRE_STONE,     // 0x05f -	ITEM_THUNDER_STONE,  // 0x060 -	ITEM_WATER_STONE,    // 0x061 -	ITEM_LEAF_STONE,     // 0x062 -	ITEM_063, -	ITEM_064, -	ITEM_065, -	ITEM_066, -	ITEM_TINY_MUSHROOM,  // 0x067 -	ITEM_BIG_MUSHROOM,   // 0x068 -	ITEM_069, -	ITEM_PEARL,          // 0x06a -	ITEM_BIG_PEARL,      // 0x06b -	ITEM_STARDUST,       // 0x06c -	ITEM_STAR_PIECE,     // 0x06d -	ITEM_NUGGET,         // 0x06e -	ITEM_HEART_SCALE,    // 0x06f -	ITEM_070, -	ITEM_071, -	ITEM_072, -	ITEM_073, -	ITEM_074, -	ITEM_075, -	ITEM_076, -	ITEM_077, -	ITEM_078, -	ITEM_ORANGE_MAIL,    // 0x079 -	ITEM_HARBOR_MAIL,    // 0x07a -	ITEM_GLITTER_MAIL,   // 0x07b -	ITEM_MECH_MAIL,      // 0x07c -	ITEM_WOOD_MAIL,      // 0x07d -	ITEM_WAVE_MAIL,      // 0x07e -	ITEM_BEAD_MAIL,      // 0x07f -	ITEM_SHADOW_MAIL,    // 0x080 -	ITEM_TROPIC_MAIL,    // 0x081 -	ITEM_DREAM_MAIL,     // 0x082 -	ITEM_FAB_MAIL,       // 0x083 -	ITEM_RETRO_MAIL,     // 0x084 -	ITEM_CHERI_BERRY,    // 0x085 -	ITEM_CHESTO_BERRY,   // 0x086 -	ITEM_PECHA_BERRY,    // 0x087 -	ITEM_RAWST_BERRY,    // 0x088 -	ITEM_ASPEAR_BERRY,   // 0x089 -	ITEM_LEPPA_BERRY,    // 0x08a -	ITEM_ORAN_BERRY,     // 0x08b -	ITEM_PERSIM_BERRY,   // 0x08c -	ITEM_LUM_BERRY,      // 0x08d -	ITEM_SITRUS_BERRY,   // 0x08e -	ITEM_FIGY_BERRY,     // 0x08f -	ITEM_WIKI_BERRY,     // 0x090 -	ITEM_MAGO_BERRY,     // 0x091 -	ITEM_AGUAV_BERRY,    // 0x092 -	ITEM_IAPAPA_BERRY,   // 0x093 -	ITEM_RAZZ_BERRY,     // 0x094 -	ITEM_BLUK_BERRY,     // 0x095 -	ITEM_NANAB_BERRY,    // 0x096 -	ITEM_WEPEAR_BERRY,   // 0x097 -	ITEM_PINAP_BERRY,    // 0x098 -	ITEM_POMEG_BERRY,    // 0x099 -	ITEM_KELPSY_BERRY,   // 0x09a -	ITEM_QUALOT_BERRY,   // 0x09b -	ITEM_HONDEW_BERRY,   // 0x09c -	ITEM_GREPA_BERRY,    // 0x09d -	ITEM_TAMATO_BERRY,   // 0x09e -	ITEM_CORNN_BERRY,    // 0x09f -	ITEM_MAGOST_BERRY,   // 0x0a0 -	ITEM_RABUTA_BERRY,   // 0x0a1 -	ITEM_NOMEL_BERRY,    // 0x0a2 -	ITEM_SPELON_BERRY,   // 0x0a3 -	ITEM_PAMTRE_BERRY,   // 0x0a4 -	ITEM_WATMEL_BERRY,   // 0x0a5 -	ITEM_DURIN_BERRY,    // 0x0a6 -	ITEM_BELUE_BERRY,    // 0x0a7 -	ITEM_LIECHI_BERRY,   // 0x0a8 -	ITEM_GANLON_BERRY,   // 0x0a9 -	ITEM_SALAC_BERRY,    // 0x0aa -	ITEM_PETAYA_BERRY,   // 0x0ab -	ITEM_APICOT_BERRY,   // 0x0ac -	ITEM_LANSAT_BERRY,   // 0x0ad -	ITEM_STARF_BERRY,    // 0x0ae -	ITEM_ENIGMA_BERRY,   // 0x0af -	ITEM_0B0, -	ITEM_0B1, -	ITEM_0B2, -	ITEM_BRIGHT_POWDER,  // 0x0b3 -	ITEM_WHITE_HERB,     // 0x0b4 -	ITEM_MACHO_BRACE,    // 0x0b5 -	ITEM_EXP_SHARE,      // 0x0b6 -	ITEM_QUICK_CLAW,     // 0x0b7 -	ITEM_SOOTHE_BELL,    // 0x0b8 -	ITEM_MENTAL_HERB,    // 0x0b9 -	ITEM_CHOICE_BAND,    // 0x0ba -	ITEM_KINGS_ROCK,     // 0x0bb -	ITEM_SILVER_POWDER,  // 0x0bc -	ITEM_AMULET_COIN,    // 0x0bd -	ITEM_CLEANSE_TAG,    // 0x0be -	ITEM_SOUL_DEW,       // 0x0bf -	ITEM_DEEP_SEA_TOOTH, // 0x0c0 -	ITEM_DEEP_SEA_SCALE, // 0x0c1 -	ITEM_SMOKE_BALL,     // 0x0c2 -	ITEM_EVERSTONE,      // 0x0c3 -	ITEM_FOCUS_BAND,     // 0x0c4 -	ITEM_LUCKY_EGG,      // 0x0c5 -	ITEM_SCOPE_LENS,     // 0x0c6 -	ITEM_METAL_COAT,     // 0x0c7 -	ITEM_LEFTOVERS,      // 0x0c8 -	ITEM_DRAGON_SCALE,   // 0x0c9 -	ITEM_LIGHT_BALL,     // 0x0ca -	ITEM_SOFT_SAND,      // 0x0cb -	ITEM_HARD_STONE,     // 0x0cc -	ITEM_MIRACLE_SEED,   // 0x0cd -	ITEM_BLACK_GLASSES,  // 0x0ce -	ITEM_BLACK_BELT,     // 0x0cf -	ITEM_MAGNET,         // 0x0d0 -	ITEM_MYSTIC_WATER,   // 0x0d1 -	ITEM_SHARP_BEAK,     // 0x0d2 -	ITEM_POISON_BARB,    // 0x0d3 -	ITEM_NEVER_MELT_ICE, // 0x0d4 -	ITEM_SPELL_TAG,      // 0x0d5 -	ITEM_TWISTED_SPOON,  // 0x0d6 -	ITEM_CHARCOAL,       // 0x0d7 -	ITEM_DRAGON_FANG,    // 0x0d8 -	ITEM_SILK_SCARF,     // 0x0d9 -	ITEM_UP_GRADE,       // 0x0da -	ITEM_SHELL_BELL,     // 0x0db -	ITEM_SEA_INCENSE,    // 0x0dc -	ITEM_LAX_INCENSE,    // 0x0dd -	ITEM_LUCKY_PUNCH,    // 0x0de -	ITEM_METAL_POWDER,   // 0x0df -	ITEM_THICK_CLUB,     // 0x0e0 -	ITEM_STICK,          // 0x0e1 -	ITEM_0E2, -	ITEM_0E3, -	ITEM_0E4, -	ITEM_0E5, -	ITEM_0E6, -	ITEM_0E7, -	ITEM_0E8, -	ITEM_0E9, -	ITEM_0EA, -	ITEM_0EB, -	ITEM_0EC, -	ITEM_0ED, -	ITEM_0EE, -	ITEM_0EF, -	ITEM_0F0, -	ITEM_0F1, -	ITEM_0F2, -	ITEM_0F3, -	ITEM_0F4, -	ITEM_0F5, -	ITEM_0F6, -	ITEM_0F7, -	ITEM_0F8, -	ITEM_0F9, -	ITEM_0FA, -	ITEM_0FB, -	ITEM_0FC, -	ITEM_0FD, -	ITEM_RED_SCARF,      // 0x0fe -	ITEM_BLUE_SCARF,     // 0x0ff -	ITEM_PINK_SCARF,     // 0x100 -	ITEM_GREEN_SCARF,    // 0x101 -	ITEM_YELLOW_SCARF,   // 0x102 -	ITEM_MACH_BIKE,      // 0x103 -	ITEM_COIN_CASE,      // 0x104 -	ITEM_ITEMFINDER,     // 0x105 -	ITEM_OLD_ROD,        // 0x106 -	ITEM_GOOD_ROD,       // 0x107 -	ITEM_SUPER_ROD,      // 0x108 -	ITEM_SS_TICKET,      // 0x109 -	ITEM_CONTEST_PASS,   // 0x10a -	ITEM_10B, -	ITEM_WAILMER_PAIL,   // 0x10c -	ITEM_DEVON_GOODS,    // 0x10d -	ITEM_SOOT_SACK,      // 0x10e -	ITEM_BASEMENT_KEY,   // 0x10f -	ITEM_ACRO_BIKE,      // 0x110 -	ITEM_POKEBLOCK_CASE, // 0x111 -	ITEM_LETTER,         // 0x112 -	ITEM_EON_TICKET,     // 0x113 -	ITEM_RED_ORB,        // 0x114 -	ITEM_BLUE_ORB,       // 0x115 -	ITEM_SCANNER,        // 0x116 -	ITEM_GO_GOGGLES,     // 0x117 -	ITEM_METEORITE,      // 0x118 -	ITEM_ROOM_1_KEY,     // 0x119 -	ITEM_ROOM_2_KEY,     // 0x11a -	ITEM_ROOM_4_KEY,     // 0x11b -	ITEM_ROOM_6_KEY,     // 0x11c -	ITEM_STORAGE_KEY,    // 0x11d -	ITEM_ROOT_FOSSIL,    // 0x11e -	ITEM_CLAW_FOSSIL,    // 0x11f -	ITEM_DEVON_SCOPE,    // 0x120 -	ITEM_TM01,           // 0x121 -	ITEM_TM02,           // 0x122 -	ITEM_TM03,           // 0x123 -	ITEM_TM04,           // 0x124 -	ITEM_TM05,           // 0x125 -	ITEM_TM06,           // 0x126 -	ITEM_TM07,           // 0x127 -	ITEM_TM08,           // 0x128 -	ITEM_TM09,           // 0x129 -	ITEM_TM10,           // 0x12a -	ITEM_TM11,           // 0x12b -	ITEM_TM12,           // 0x12c -	ITEM_TM13,           // 0x12d -	ITEM_TM14,           // 0x12e -	ITEM_TM15,           // 0x12f -	ITEM_TM16,           // 0x130 -	ITEM_TM17,           // 0x131 -	ITEM_TM18,           // 0x132 -	ITEM_TM19,           // 0x133 -	ITEM_TM20,           // 0x134 -	ITEM_TM21,           // 0x135 -	ITEM_TM22,           // 0x136 -	ITEM_TM23,           // 0x137 -	ITEM_TM24,           // 0x138 -	ITEM_TM25,           // 0x139 -	ITEM_TM26,           // 0x13a -	ITEM_TM27,           // 0x13b -	ITEM_TM28,           // 0x13c -	ITEM_TM29,           // 0x13d -	ITEM_TM30,           // 0x13e -	ITEM_TM31,           // 0x13f -	ITEM_TM32,           // 0x140 -	ITEM_TM33,           // 0x141 -	ITEM_TM34,           // 0x142 -	ITEM_TM35,           // 0x143 -	ITEM_TM36,           // 0x144 -	ITEM_TM37,           // 0x145 -	ITEM_TM38,           // 0x146 -	ITEM_TM39,           // 0x147 -	ITEM_TM40,           // 0x148 -	ITEM_TM41,           // 0x149 -	ITEM_TM42,           // 0x14a -	ITEM_TM43,           // 0x14b -	ITEM_TM44,           // 0x14c -	ITEM_TM45,           // 0x14d -	ITEM_TM46,           // 0x14e -	ITEM_TM47,           // 0x14f -	ITEM_TM48,           // 0x150 -	ITEM_TM49,           // 0x151 -	ITEM_TM50,           // 0x152 -	ITEM_HM01,           // 0x153 -	ITEM_HM02,           // 0x154 -	ITEM_HM03,           // 0x155 -	ITEM_HM04,           // 0x156 -	ITEM_HM05,           // 0x157 -	ITEM_HM06,           // 0x158 -	ITEM_HM07,           // 0x159 -	ITEM_HM08,           // 0x15a -	ITEM_15B, -	ITEM_15C, +    ITEM_NONE,           // 0x000 +    ITEM_MASTER_BALL,    // 0x001 +    ITEM_ULTRA_BALL,     // 0x002 +    ITEM_GREAT_BALL,     // 0x003 +    ITEM_POKE_BALL,      // 0x004 +    ITEM_SAFARI_BALL,    // 0x005 +    ITEM_NET_BALL,       // 0x006 +    ITEM_DIVE_BALL,      // 0x007 +    ITEM_NEST_BALL,      // 0x008 +    ITEM_REPEAT_BALL,    // 0x009 +    ITEM_TIMER_BALL,     // 0x00a +    ITEM_LUXURY_BALL,    // 0x00b +    ITEM_PREMIER_BALL,   // 0x00c +    ITEM_POTION,         // 0x00d +    ITEM_ANTIDOTE,       // 0x00e +    ITEM_BURN_HEAL,      // 0x00f +    ITEM_ICE_HEAL,       // 0x010 +    ITEM_AWAKENING,      // 0x011 +    ITEM_PARALYZE_HEAL,  // 0x012 +    ITEM_FULL_RESTORE,   // 0x013 +    ITEM_MAX_POTION,     // 0x014 +    ITEM_HYPER_POTION,   // 0x015 +    ITEM_SUPER_POTION,   // 0x016 +    ITEM_FULL_HEAL,      // 0x017 +    ITEM_REVIVE,         // 0x018 +    ITEM_MAX_REVIVE,     // 0x019 +    ITEM_FRESH_WATER,    // 0x01a +    ITEM_SODA_POP,       // 0x01b +    ITEM_LEMONADE,       // 0x01c +    ITEM_MOOMOO_MILK,    // 0x01d +    ITEM_ENERGY_POWDER,  // 0x01e +    ITEM_ENERGY_ROOT,    // 0x01f +    ITEM_HEAL_POWDER,    // 0x020 +    ITEM_REVIVAL_HERB,   // 0x021 +    ITEM_ETHER,          // 0x022 +    ITEM_MAX_ETHER,      // 0x023 +    ITEM_ELIXIR,         // 0x024 +    ITEM_MAX_ELIXIR,     // 0x025 +    ITEM_LAVA_COOKIE,    // 0x026 +    ITEM_BLUE_FLUTE,     // 0x027 +    ITEM_YELLOW_FLUTE,   // 0x028 +    ITEM_RED_FLUTE,      // 0x029 +    ITEM_BLACK_FLUTE,    // 0x02a +    ITEM_WHITE_FLUTE,    // 0x02b +    ITEM_BERRY_JUICE,    // 0x02c +    ITEM_SACRED_ASH,     // 0x02d +    ITEM_SHOAL_SALT,     // 0x02e +    ITEM_SHOAL_SHELL,    // 0x02f +    ITEM_RED_SHARD,      // 0x030 +    ITEM_BLUE_SHARD,     // 0x031 +    ITEM_YELLOW_SHARD,   // 0x032 +    ITEM_GREEN_SHARD,    // 0x033 +    ITEM_034, +    ITEM_035, +    ITEM_036, +    ITEM_037, +    ITEM_038, +    ITEM_039, +    ITEM_03A, +    ITEM_03B, +    ITEM_03C, +    ITEM_03D, +    ITEM_03E, +    ITEM_HP_UP,          // 0x03f +    ITEM_PROTEIN,        // 0x040 +    ITEM_IRON,           // 0x041 +    ITEM_CARBOS,         // 0x042 +    ITEM_CALCIUM,        // 0x043 +    ITEM_RARE_CANDY,     // 0x044 +    ITEM_PP_UP,          // 0x045 +    ITEM_ZINC,           // 0x046 +    ITEM_PP_MAX,         // 0x047 +    ITEM_048, +    ITEM_GUARD_SPEC,     // 0x049 +    ITEM_DIRE_HIT,       // 0x04a +    ITEM_X_ATTACK,       // 0x04b +    ITEM_X_DEFEND,       // 0x04c +    ITEM_X_SPEED,        // 0x04d +    ITEM_X_ACCURACY,     // 0x04e +    ITEM_X_SPECIAL,      // 0x04f +    ITEM_POKE_DOLL,      // 0x050 +    ITEM_FLUFFY_TAIL,    // 0x051 +    ITEM_052, +    ITEM_SUPER_REPEL,    // 0x053 +    ITEM_MAX_REPEL,      // 0x054 +    ITEM_ESCAPE_ROPE,    // 0x055 +    ITEM_REPEL,          // 0x056 +    ITEM_057, +    ITEM_058, +    ITEM_059, +    ITEM_05A, +    ITEM_05B, +    ITEM_05C, +    ITEM_SUN_STONE,      // 0x05d +    ITEM_MOON_STONE,     // 0x05e +    ITEM_FIRE_STONE,     // 0x05f +    ITEM_THUNDER_STONE,  // 0x060 +    ITEM_WATER_STONE,    // 0x061 +    ITEM_LEAF_STONE,     // 0x062 +    ITEM_063, +    ITEM_064, +    ITEM_065, +    ITEM_066, +    ITEM_TINY_MUSHROOM,  // 0x067 +    ITEM_BIG_MUSHROOM,   // 0x068 +    ITEM_069, +    ITEM_PEARL,          // 0x06a +    ITEM_BIG_PEARL,      // 0x06b +    ITEM_STARDUST,       // 0x06c +    ITEM_STAR_PIECE,     // 0x06d +    ITEM_NUGGET,         // 0x06e +    ITEM_HEART_SCALE,    // 0x06f +    ITEM_070, +    ITEM_071, +    ITEM_072, +    ITEM_073, +    ITEM_074, +    ITEM_075, +    ITEM_076, +    ITEM_077, +    ITEM_078, +    ITEM_ORANGE_MAIL,    // 0x079 +    ITEM_HARBOR_MAIL,    // 0x07a +    ITEM_GLITTER_MAIL,   // 0x07b +    ITEM_MECH_MAIL,      // 0x07c +    ITEM_WOOD_MAIL,      // 0x07d +    ITEM_WAVE_MAIL,      // 0x07e +    ITEM_BEAD_MAIL,      // 0x07f +    ITEM_SHADOW_MAIL,    // 0x080 +    ITEM_TROPIC_MAIL,    // 0x081 +    ITEM_DREAM_MAIL,     // 0x082 +    ITEM_FAB_MAIL,       // 0x083 +    ITEM_RETRO_MAIL,     // 0x084 +    ITEM_CHERI_BERRY,    // 0x085 +    ITEM_CHESTO_BERRY,   // 0x086 +    ITEM_PECHA_BERRY,    // 0x087 +    ITEM_RAWST_BERRY,    // 0x088 +    ITEM_ASPEAR_BERRY,   // 0x089 +    ITEM_LEPPA_BERRY,    // 0x08a +    ITEM_ORAN_BERRY,     // 0x08b +    ITEM_PERSIM_BERRY,   // 0x08c +    ITEM_LUM_BERRY,      // 0x08d +    ITEM_SITRUS_BERRY,   // 0x08e +    ITEM_FIGY_BERRY,     // 0x08f +    ITEM_WIKI_BERRY,     // 0x090 +    ITEM_MAGO_BERRY,     // 0x091 +    ITEM_AGUAV_BERRY,    // 0x092 +    ITEM_IAPAPA_BERRY,   // 0x093 +    ITEM_RAZZ_BERRY,     // 0x094 +    ITEM_BLUK_BERRY,     // 0x095 +    ITEM_NANAB_BERRY,    // 0x096 +    ITEM_WEPEAR_BERRY,   // 0x097 +    ITEM_PINAP_BERRY,    // 0x098 +    ITEM_POMEG_BERRY,    // 0x099 +    ITEM_KELPSY_BERRY,   // 0x09a +    ITEM_QUALOT_BERRY,   // 0x09b +    ITEM_HONDEW_BERRY,   // 0x09c +    ITEM_GREPA_BERRY,    // 0x09d +    ITEM_TAMATO_BERRY,   // 0x09e +    ITEM_CORNN_BERRY,    // 0x09f +    ITEM_MAGOST_BERRY,   // 0x0a0 +    ITEM_RABUTA_BERRY,   // 0x0a1 +    ITEM_NOMEL_BERRY,    // 0x0a2 +    ITEM_SPELON_BERRY,   // 0x0a3 +    ITEM_PAMTRE_BERRY,   // 0x0a4 +    ITEM_WATMEL_BERRY,   // 0x0a5 +    ITEM_DURIN_BERRY,    // 0x0a6 +    ITEM_BELUE_BERRY,    // 0x0a7 +    ITEM_LIECHI_BERRY,   // 0x0a8 +    ITEM_GANLON_BERRY,   // 0x0a9 +    ITEM_SALAC_BERRY,    // 0x0aa +    ITEM_PETAYA_BERRY,   // 0x0ab +    ITEM_APICOT_BERRY,   // 0x0ac +    ITEM_LANSAT_BERRY,   // 0x0ad +    ITEM_STARF_BERRY,    // 0x0ae +    ITEM_ENIGMA_BERRY,   // 0x0af +    ITEM_0B0, +    ITEM_0B1, +    ITEM_0B2, +    ITEM_BRIGHT_POWDER,  // 0x0b3 +    ITEM_WHITE_HERB,     // 0x0b4 +    ITEM_MACHO_BRACE,    // 0x0b5 +    ITEM_EXP_SHARE,      // 0x0b6 +    ITEM_QUICK_CLAW,     // 0x0b7 +    ITEM_SOOTHE_BELL,    // 0x0b8 +    ITEM_MENTAL_HERB,    // 0x0b9 +    ITEM_CHOICE_BAND,    // 0x0ba +    ITEM_KINGS_ROCK,     // 0x0bb +    ITEM_SILVER_POWDER,  // 0x0bc +    ITEM_AMULET_COIN,    // 0x0bd +    ITEM_CLEANSE_TAG,    // 0x0be +    ITEM_SOUL_DEW,       // 0x0bf +    ITEM_DEEP_SEA_TOOTH, // 0x0c0 +    ITEM_DEEP_SEA_SCALE, // 0x0c1 +    ITEM_SMOKE_BALL,     // 0x0c2 +    ITEM_EVERSTONE,      // 0x0c3 +    ITEM_FOCUS_BAND,     // 0x0c4 +    ITEM_LUCKY_EGG,      // 0x0c5 +    ITEM_SCOPE_LENS,     // 0x0c6 +    ITEM_METAL_COAT,     // 0x0c7 +    ITEM_LEFTOVERS,      // 0x0c8 +    ITEM_DRAGON_SCALE,   // 0x0c9 +    ITEM_LIGHT_BALL,     // 0x0ca +    ITEM_SOFT_SAND,      // 0x0cb +    ITEM_HARD_STONE,     // 0x0cc +    ITEM_MIRACLE_SEED,   // 0x0cd +    ITEM_BLACK_GLASSES,  // 0x0ce +    ITEM_BLACK_BELT,     // 0x0cf +    ITEM_MAGNET,         // 0x0d0 +    ITEM_MYSTIC_WATER,   // 0x0d1 +    ITEM_SHARP_BEAK,     // 0x0d2 +    ITEM_POISON_BARB,    // 0x0d3 +    ITEM_NEVER_MELT_ICE, // 0x0d4 +    ITEM_SPELL_TAG,      // 0x0d5 +    ITEM_TWISTED_SPOON,  // 0x0d6 +    ITEM_CHARCOAL,       // 0x0d7 +    ITEM_DRAGON_FANG,    // 0x0d8 +    ITEM_SILK_SCARF,     // 0x0d9 +    ITEM_UP_GRADE,       // 0x0da +    ITEM_SHELL_BELL,     // 0x0db +    ITEM_SEA_INCENSE,    // 0x0dc +    ITEM_LAX_INCENSE,    // 0x0dd +    ITEM_LUCKY_PUNCH,    // 0x0de +    ITEM_METAL_POWDER,   // 0x0df +    ITEM_THICK_CLUB,     // 0x0e0 +    ITEM_STICK,          // 0x0e1 +    ITEM_0E2, +    ITEM_0E3, +    ITEM_0E4, +    ITEM_0E5, +    ITEM_0E6, +    ITEM_0E7, +    ITEM_0E8, +    ITEM_0E9, +    ITEM_0EA, +    ITEM_0EB, +    ITEM_0EC, +    ITEM_0ED, +    ITEM_0EE, +    ITEM_0EF, +    ITEM_0F0, +    ITEM_0F1, +    ITEM_0F2, +    ITEM_0F3, +    ITEM_0F4, +    ITEM_0F5, +    ITEM_0F6, +    ITEM_0F7, +    ITEM_0F8, +    ITEM_0F9, +    ITEM_0FA, +    ITEM_0FB, +    ITEM_0FC, +    ITEM_0FD, +    ITEM_RED_SCARF,      // 0x0fe +    ITEM_BLUE_SCARF,     // 0x0ff +    ITEM_PINK_SCARF,     // 0x100 +    ITEM_GREEN_SCARF,    // 0x101 +    ITEM_YELLOW_SCARF,   // 0x102 +    ITEM_MACH_BIKE,      // 0x103 +    ITEM_COIN_CASE,      // 0x104 +    ITEM_ITEMFINDER,     // 0x105 +    ITEM_OLD_ROD,        // 0x106 +    ITEM_GOOD_ROD,       // 0x107 +    ITEM_SUPER_ROD,      // 0x108 +    ITEM_SS_TICKET,      // 0x109 +    ITEM_CONTEST_PASS,   // 0x10a +    ITEM_10B, +    ITEM_WAILMER_PAIL,   // 0x10c +    ITEM_DEVON_GOODS,    // 0x10d +    ITEM_SOOT_SACK,      // 0x10e +    ITEM_BASEMENT_KEY,   // 0x10f +    ITEM_ACRO_BIKE,      // 0x110 +    ITEM_POKEBLOCK_CASE, // 0x111 +    ITEM_LETTER,         // 0x112 +    ITEM_EON_TICKET,     // 0x113 +    ITEM_RED_ORB,        // 0x114 +    ITEM_BLUE_ORB,       // 0x115 +    ITEM_SCANNER,        // 0x116 +    ITEM_GO_GOGGLES,     // 0x117 +    ITEM_METEORITE,      // 0x118 +    ITEM_ROOM_1_KEY,     // 0x119 +    ITEM_ROOM_2_KEY,     // 0x11a +    ITEM_ROOM_4_KEY,     // 0x11b +    ITEM_ROOM_6_KEY,     // 0x11c +    ITEM_STORAGE_KEY,    // 0x11d +    ITEM_ROOT_FOSSIL,    // 0x11e +    ITEM_CLAW_FOSSIL,    // 0x11f +    ITEM_DEVON_SCOPE,    // 0x120 +    ITEM_TM01,           // 0x121 +    ITEM_TM02,           // 0x122 +    ITEM_TM03,           // 0x123 +    ITEM_TM04,           // 0x124 +    ITEM_TM05,           // 0x125 +    ITEM_TM06,           // 0x126 +    ITEM_TM07,           // 0x127 +    ITEM_TM08,           // 0x128 +    ITEM_TM09,           // 0x129 +    ITEM_TM10,           // 0x12a +    ITEM_TM11,           // 0x12b +    ITEM_TM12,           // 0x12c +    ITEM_TM13,           // 0x12d +    ITEM_TM14,           // 0x12e +    ITEM_TM15,           // 0x12f +    ITEM_TM16,           // 0x130 +    ITEM_TM17,           // 0x131 +    ITEM_TM18,           // 0x132 +    ITEM_TM19,           // 0x133 +    ITEM_TM20,           // 0x134 +    ITEM_TM21,           // 0x135 +    ITEM_TM22,           // 0x136 +    ITEM_TM23,           // 0x137 +    ITEM_TM24,           // 0x138 +    ITEM_TM25,           // 0x139 +    ITEM_TM26,           // 0x13a +    ITEM_TM27,           // 0x13b +    ITEM_TM28,           // 0x13c +    ITEM_TM29,           // 0x13d +    ITEM_TM30,           // 0x13e +    ITEM_TM31,           // 0x13f +    ITEM_TM32,           // 0x140 +    ITEM_TM33,           // 0x141 +    ITEM_TM34,           // 0x142 +    ITEM_TM35,           // 0x143 +    ITEM_TM36,           // 0x144 +    ITEM_TM37,           // 0x145 +    ITEM_TM38,           // 0x146 +    ITEM_TM39,           // 0x147 +    ITEM_TM40,           // 0x148 +    ITEM_TM41,           // 0x149 +    ITEM_TM42,           // 0x14a +    ITEM_TM43,           // 0x14b +    ITEM_TM44,           // 0x14c +    ITEM_TM45,           // 0x14d +    ITEM_TM46,           // 0x14e +    ITEM_TM47,           // 0x14f +    ITEM_TM48,           // 0x150 +    ITEM_TM49,           // 0x151 +    ITEM_TM50,           // 0x152 +    ITEM_HM01,           // 0x153 +    ITEM_HM02,           // 0x154 +    ITEM_HM03,           // 0x155 +    ITEM_HM04,           // 0x156 +    ITEM_HM05,           // 0x157 +    ITEM_HM06,           // 0x158 +    ITEM_HM07,           // 0x159 +    ITEM_HM08,           // 0x15a +    ITEM_15B, +    ITEM_15C, -	// FireRed/LeafGreen -	ITEM_OAKS_PARCEL,    // 0x15d -	ITEM_POKE_FLUTE,     // 0x15e -	ITEM_SECRET_KEY,     // 0x15f -	ITEM_BIKE_VOUCHER,   // 0x160 -	ITEM_GOLD_TEETH,     // 0x161 -	ITEM_OLD_AMBER,      // 0x162 -	ITEM_CARD_KEY,       // 0x163 -	ITEM_LIFT_KEY,       // 0x164 -	ITEM_HELIX_FOSSIL,   // 0x165 -	ITEM_DOME_FOSSIL,    // 0x166 -	ITEM_SILPH_SCOPE,    // 0x167 -	ITEM_BICYCLE,        // 0x168 -	ITEM_TOWN_MAP,       // 0x169 -	ITEM_VS_SEEKER,      // 0x16a -	ITEM_FAME_CHECKER,   // 0x16b -	ITEM_TM_CASE,        // 0x16c -	ITEM_BERRY_POUCH,    // 0x16d -	ITEM_TEACHY_TV,      // 0x16e -	ITEM_TRI_PASS,       // 0x16f -	ITEM_RAINBOW_PASS,   // 0x170 -	ITEM_TEA,            // 0x171 -	ITEM_MYSTIC_TICKET,  // 0x172 -	ITEM_AURORA_TICKET,  // 0x173 -	ITEM_POWDER_JAR,     // 0x174 -	ITEM_RUBY,           // 0x175 -	ITEM_SAPPHIRE,       // 0x176 +    // FireRed/LeafGreen +    ITEM_OAKS_PARCEL,    // 0x15d +    ITEM_POKE_FLUTE,     // 0x15e +    ITEM_SECRET_KEY,     // 0x15f +    ITEM_BIKE_VOUCHER,   // 0x160 +    ITEM_GOLD_TEETH,     // 0x161 +    ITEM_OLD_AMBER,      // 0x162 +    ITEM_CARD_KEY,       // 0x163 +    ITEM_LIFT_KEY,       // 0x164 +    ITEM_HELIX_FOSSIL,   // 0x165 +    ITEM_DOME_FOSSIL,    // 0x166 +    ITEM_SILPH_SCOPE,    // 0x167 +    ITEM_BICYCLE,        // 0x168 +    ITEM_TOWN_MAP,       // 0x169 +    ITEM_VS_SEEKER,      // 0x16a +    ITEM_FAME_CHECKER,   // 0x16b +    ITEM_TM_CASE,        // 0x16c +    ITEM_BERRY_POUCH,    // 0x16d +    ITEM_TEACHY_TV,      // 0x16e +    ITEM_TRI_PASS,       // 0x16f +    ITEM_RAINBOW_PASS,   // 0x170 +    ITEM_TEA,            // 0x171 +    ITEM_MYSTIC_TICKET,  // 0x172 +    ITEM_AURORA_TICKET,  // 0x173 +    ITEM_POWDER_JAR,     // 0x174 +    ITEM_RUBY,           // 0x175 +    ITEM_SAPPHIRE,       // 0x176 -	// Emerald -	ITEM_MAGMA_EMBLEM,   // 0x177 -	ITEM_OLD_SEA_MAP,    // 0x178 +    // Emerald +    ITEM_MAGMA_EMBLEM,   // 0x177 +    ITEM_OLD_SEA_MAP,    // 0x178  };  #endif // GUARD_ITEMS_H diff --git a/include/menu.h b/include/menu.h index cb5efa448..98d7afcc3 100644 --- a/include/menu.h +++ b/include/menu.h @@ -9,6 +9,18 @@ struct MenuAction     u8 (*func)();  }; +struct MenuAction2 +{ +    const u8 *text; +    void (*func)(u8); +}; + +struct MenuAction3 +{ +    void (*func1)(u8); +    void (*func2)(u8); +}; +  void CloseMenu(void);  void AppendToList(u8 *list, u8 *pindex, u32 value);  void InitMenuWindow(const struct WindowConfig *); @@ -52,7 +64,7 @@ s8 ProcessMenuInputNoWrap_(void);  u8 MenuPrint_PixelCoords(const u8 *, u8, u16, u8);  u8 sub_8072A18(const u8 *, u8, u16, u8, u32);  u8 unref_sub_8072A5C(u8 *, u8 *, u8, u16, u8, u32); -int sub_8072AB0(u8 *, u8, u16, u8, u8, u32); +int sub_8072AB0(const u8 *, u8, u16, u8, u8, u32);  void MenuPrint_RightAligned(u8 *, u8, u8);  void sub_8072B80(u8 *, u8, u8, u8 *);  void sub_8072BD8(const u8 *, u8, u8, u16); diff --git a/include/naming_screen.h b/include/naming_screen.h index 62d0c0029..d136417ba 100644 --- a/include/naming_screen.h +++ b/include/naming_screen.h @@ -45,7 +45,7 @@ struct NamingScreenData   /*0x10*/ u8 unk10;   /*0x11*/ u8 textBuffer[0x10];   /*0x21*/ u8 filler21[0x13]; -			const struct NamingScreenTemplate *template; +            const struct NamingScreenTemplate *template;   /*0x38*/ u8 *destBuffer;   /*0x3C*/ u16 unk3C;  //savedKeyRepeatStartDelay   /*0x3E*/ u16 unk3E; diff --git a/include/palette.h b/include/palette.h index 37fcb4d65..193773d24 100644 --- a/include/palette.h +++ b/include/palette.h @@ -16,22 +16,22 @@ enum  struct PaletteFadeControl  { -    u32 multipurpose1; -    u8 delayCounter:6; -    u16 y:5; // blend coefficient -    u16 targetY:5; // target blend coefficient -    u16 blendColor:15; -    u16 active:1; -    u16 multipurpose2:6; -    u16 yDec:1; // whether blend coefficient is decreasing -    u16 bufferTransferDisabled:1; -    u16 mode:2; -    u16 shouldResetBlendRegisters:1; -    u16 hardwareFadeFinishing:1; -    u16 softwareFadeFinishingCounter:5; -    u16 softwareFadeFinishing:1; -    u16 objPaletteToggle:1; -    u8 deltaY:4; // rate of change of blend coefficient +    /*0x00*/    u32 multipurpose1; +    /*0x04*/    u8 delayCounter:6; +    /*0x05*/    u16 y:5; // blend coefficient +    /*0x05-06*/ u16 targetY:5; // target blend coefficient +    /*0x07*/    u16 blendColor:15; +    /*0x07*/    u16 active:1; +    /*0x08*/    u16 multipurpose2:6; +    /*0x08*/    u16 yDec:1; // whether blend coefficient is decreasing +    /*0x08*/    u16 bufferTransferDisabled:1; +    /*0x09*/    u16 mode:2; +    /*0x09*/    u16 shouldResetBlendRegisters:1; +    /*0x09*/    u16 hardwareFadeFinishing:1; +    /*0x09-0a*/ u16 softwareFadeFinishingCounter:5; +    /*0x0a*/    u16 softwareFadeFinishing:1; +    /*0x0a*/    u16 objPaletteToggle:1; +    /*0x0a*/    u8 deltaY:4; // rate of change of blend coefficient  };  extern struct PaletteFadeControl gPaletteFade; diff --git a/include/save.h b/include/save.h index 46bf48d60..3feaa1f3d 100644 --- a/include/save.h +++ b/include/save.h @@ -39,12 +39,12 @@ enum  // Do save types  enum  { -	NORMAL_SAVE, -	LINK_SAVE, -	EREADER_SAVE, // mossdeep event -	HOF_SAVE, -	DIFFERENT_FILE_SAVE, -	HOF_DELETE_SAVE // unused +    NORMAL_SAVE, +    LINK_SAVE, +    EREADER_SAVE, // mossdeep event +    HOF_SAVE, +    DIFFERENT_FILE_SAVE, +    HOF_DELETE_SAVE // unused  };  void ClearSaveData(void); diff --git a/include/script.h b/include/script.h index a4c7dd575..4070a838f 100644 --- a/include/script.h +++ b/include/script.h @@ -4,6 +4,7 @@  struct ScriptContext;  typedef bool8 (*ScrCmdFunc)(struct ScriptContext *); +typedef u8 Script[];  struct ScriptContext  { @@ -54,5 +55,6 @@ u32 CalculateRamScriptChecksum(void);  void ClearRamScript(void);  bool8 InitRamScript(u8 *script, u16 scriptSize, u8 mapGroup, u8 mapNum, u8 objectId);  u8 *GetRamScript(u8 objectId, u8 *script); +u16 gScriptResult;  #endif // GUARD_SCRIPT_H diff --git a/include/sprite.h b/include/sprite.h index bda635885..13c03ab51 100644 --- a/include/sprite.h +++ b/include/sprite.h @@ -16,6 +16,8 @@ struct SpriteFrameImage      u16 size;  }; +#define obj_frame_tiles(ptr) {.data = (u8 *)ptr, .size = sizeof ptr} +  struct SpritePalette  {      const u16 *data; @@ -142,7 +144,7 @@ struct SpriteTemplate      u16 paletteTag;      const struct OamData *oam;      const union AnimCmd *const *anims; -    struct SpriteFrameImage *images; +    const struct SpriteFrameImage *images;      const union AffineAnimCmd *const *affineAnims;      void (*callback)(struct Sprite *);  }; diff --git a/include/task.h b/include/task.h index d2b2302cf..6c6efdf4f 100644 --- a/include/task.h +++ b/include/task.h @@ -5,12 +5,12 @@ typedef void (*TaskFunc)(u8 taskId);  struct Task  { -    TaskFunc func; -    bool8 isActive; -    u8 prev; -    u8 next; -    u8 priority; -    s16 data[16]; +    /*0x00*/ TaskFunc func; +    /*0x04*/ bool8 isActive; +    /*0x05*/ u8 prev; +    /*0x06*/ u8 next; +    /*0x07*/ u8 priority; +    /*0x08*/ s16 data[16];  };  extern struct Task gTasks[]; | 
