summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/constants/move.h12
-rw-r--r--include/friend_area_action_menu.h7
-rw-r--r--include/gulpin_shop.h8
-rw-r--r--include/item.h21
-rw-r--r--include/kangaskhan_storage.h27
-rw-r--r--include/pokemon.h10
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)