Moves and some friend_area_action_menu

This commit is contained in:
Seth Barberee
2021-10-19 17:48:38 -07:00
parent f99f00b180
commit 3a1db3dfac
42 changed files with 2601 additions and 3874 deletions

View File

@@ -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.
};

View File

@@ -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;

View File

@@ -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;

View File

@@ -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*);

View File

@@ -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

View File

@@ -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)