diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/constants/move.h | 12 | ||||
-rw-r--r-- | include/friend_area_action_menu.h | 7 | ||||
-rw-r--r-- | include/gulpin_shop.h | 8 | ||||
-rw-r--r-- | include/item.h | 21 | ||||
-rw-r--r-- | include/kangaskhan_storage.h | 27 | ||||
-rw-r--r-- | include/pokemon.h | 10 |
6 files changed, 58 insertions, 27 deletions
diff --git a/include/constants/move.h b/include/constants/move.h index 1b23933..4e3396b 100644 --- a/include/constants/move.h +++ b/include/constants/move.h @@ -14,17 +14,15 @@ enum MoveFlags struct MoveData { u8 *namePointer; - /* 0x4 */ u8 power; - u8 fill5; + /* 0x4 */ s16 power; u8 type; u8 fill7; // Determines the range of moves. - /* 0x8 */ u16 targetingFlags; - /* 0xA */ u16 aiTargetingFlags; // The AI consider certain moves to have different range than they actually do. + /* 0x8 */ u16 targetingFlags[2]; // 0 for player and 1 for AI + // The AI consider certain moves to have different range than they actually do. /* 0xC */ u8 maxPP; /* 0xD */ u8 weight; - /* 0xE */ u8 accuracy1; - /* 0xF */ u8 accuracy2; + /* 0xE */ u8 accuracy[2]; // Used by the AI to determine how often to use Spikes. // Values exist for all other moves, though they seem to be unused. /* 0x10 */ u8 useChance; @@ -36,7 +34,7 @@ struct MoveData /* 0x16 */ bool8 affectedByMuzzled; // If true, this move can't be used with the Muzzled status. /* 0x17 */ bool8 cannotHitFrozen; // Used by Status Checker to determine if a move can be used on a frozen target. /* 0x18 */ bool8 dealsDirectDamage; - u8 unk19; + u8 rangeType; u8 *descriptionPointer; u8 *useText; // The text displayed when this move is used. }; diff --git a/include/friend_area_action_menu.h b/include/friend_area_action_menu.h index 6a3f330..dfddc22 100644 --- a/include/friend_area_action_menu.h +++ b/include/friend_area_action_menu.h @@ -10,13 +10,12 @@ struct unkStruct_203B2BC u16 unkA; u32 itemIndex; struct HeldItem itemToGive; - struct ItemSlot unk14; + struct HeldItem unk14; struct PokemonStruct *unk18; u32 unk1C; u32 unk20; - u32 unk24; - u32 unk28; - u8 fill2C[0x68 - 0x2C]; + u16 unk24; + struct PokemonMove unk28[8]; u32 unk68; u32 unk6C; u32 unk70; diff --git a/include/gulpin_shop.h b/include/gulpin_shop.h index 1d6f53d..cfc2238 100644 --- a/include/gulpin_shop.h +++ b/include/gulpin_shop.h @@ -1,12 +1,6 @@ #ifndef GUARD_GULPIN_SHOP_H #define GUARD_GULPIN_SHOP_H -struct unkStruct_Gulpin -{ - u8 fill0[0x22]; - u16 unk22; -}; - struct unkStruct_203B26C { // size: 0x18C @@ -15,7 +9,7 @@ struct unkStruct_203B26C u32 unk8; s16 speciesNum; // species of chosen Pokemon u8 unkE; - struct unkStruct_Gulpin * unk10; + struct PokemonMove * unk10; u32 unk14; u32 unk18; u16 unk1C; diff --git a/include/item.h b/include/item.h index 5f921e4..e73bafd 100644 --- a/include/item.h +++ b/include/item.h @@ -66,8 +66,16 @@ enum ItemFlag void LoadItemParameters(void); struct TeamInventory *GetMoneyItemsInfo(void); void InitializeMoneyItems(void); +s32 GetNumberOfFilledInventorySlots(void); +bool8 IsThrowableItem(u8 itemIndex); +void xxx_init_itemslot_8090A8C(struct ItemSlot *param_1,u8 itemIndex,u8 param_3); +void xxx_init_helditem_8090B08(struct HeldItem *param_1,u8 itemIndex); +void HeldItemToSlot(struct ItemSlot *param_1, struct HeldItem *param_2); +void SlotToHeldItem(struct HeldItem *held,struct ItemSlot *slot); u8 GetItemType(u8 index); +s32 GetStackBuyValue(struct ItemSlot *param_1); s32 GetStackSellValue(struct ItemSlot *param_1); +s32 GetStackBuyPrice(struct ItemSlot *param_1); s32 GetStackSellPrice(struct ItemSlot *param_1); s32 GetItemBuyPrice(u8 itemIndex); s32 GetItemSellPrice(u8 itemIndex); @@ -77,12 +85,8 @@ u8 GetItemCategory(u8 itemIndex); u32 GetItemUnkThrow(u8 itemIndex, u32 r1); u8 *GetItemDescription(u8 itemIndex); u32 GetItemAIFlags(u8 itemIndex, u32 r1); -s32 GetNumberOfFilledInventorySlots(void); -bool8 IsThrowableItem(u8 itemIndex); -void xxx_init_itemslot_8090A8C(struct ItemSlot *param_1,u8 itemIndex,u8 param_3); -void xxx_init_helditem_8090B08(struct HeldItem *param_1,u8 itemIndex); -void HeldItemToSlot(struct ItemSlot *param_1, struct HeldItem *param_2); void sub_8090DC4(void* param_1,u8 itemIndex, struct unkStruct_8090F58* param_3); +void sub_8090E14(u8* ext_buffer, struct ItemSlot* slot, struct unkStruct_8090F58* a3); bool8 AddItemToInventory(const struct ItemSlot* slot); void ConvertMoneyItemToMoney(); void AddToTeamMoney(s32 amount); @@ -97,8 +101,11 @@ s32 xxx_count_inv_unk230(); u32 xxx_count_non_empty_inv_unk250_8091A48(); void sub_8091BB4(u8); void sub_8090F58(void*, u8 *, struct ItemSlot *, struct unkStruct_8090F58*); -void sub_8090E14(u8* ext_buffer, struct ItemSlot* slot, struct unkStruct_8090F58* a3); -void SlotToHeldItem(struct HeldItem *held,struct ItemSlot *slot); +void ShiftItemsDownFrom(s32 start); +void MoveToStorage(struct ItemSlot* slot); +void FillInventoryGaps(); +bool8 sub_8091274(struct HeldItem* slot); + void RestoreHeldItem(struct unkStruct_8094924*, struct HeldItem*); void SaveHeldItem(struct unkStruct_8094924*, struct HeldItem*); diff --git a/include/kangaskhan_storage.h b/include/kangaskhan_storage.h index fcc9157..4a145bc 100644 --- a/include/kangaskhan_storage.h +++ b/include/kangaskhan_storage.h @@ -39,4 +39,31 @@ struct unkStruct_203B208 struct UnkTextStruct2 unkEC[4]; }; +struct unkStruct_203B20C +{ + u32 state; + u8 unk4[4]; + struct ItemSlot unk8; + u32 unkC; + u8 itemIndex; + u32 unk14; + u32 unk18; + u32 unk1C; + struct MenuItem unk20[8]; + u16 unk60[8]; + u32 unk70; + u8 fill74[0xC0 - 0x74]; + u32 unkC0; + u32 unkC4; + u32 unkC8; + u32 unkCC; + u32 unkD0; + u32 unkD4; + struct UnkTextStruct2 *unkD8; + u32 unkDC; + u32 unkE0; + u8 fillE4[0xF0 - 0xE4]; + struct UnkTextStruct2 unkF0[4]; +}; + #endif diff --git a/include/pokemon.h b/include/pokemon.h index 969c0f8..f24eb84 100644 --- a/include/pokemon.h +++ b/include/pokemon.h @@ -65,6 +65,13 @@ struct EvolveStage u8 unkHasNextStage; }; + +struct unkStruct_8094184 +{ + struct PokemonMove moves[MAX_MON_MOVES]; + u8 unk20; +}; + struct PokemonStruct2 { // size 0x68 @@ -80,8 +87,7 @@ struct PokemonStruct2 u16 unk12; // pokeHP struct Offense offense; // offense (other offset) u32 unk18; // unk1C - struct PokemonMove moves[MAX_MON_MOVES]; - u8 fill3c[4]; + struct unkStruct_8094184 moves; /* 40 */ struct ItemSlot itemSlot; // heldItem u32 unk44; // some struct u32 unk48; // some struct (same type as 44) |