diff options
author | Diegoisawesome <Diegoisawesome@users.noreply.github.com> | 2018-08-30 14:40:22 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-08-30 14:40:22 -0500 |
commit | 1895383352da3bd5a4f4990fab045ae3610937fc (patch) | |
tree | eb1794c8da8a8b51caa4abc0de8b797c49ead358 /include | |
parent | 765e03846b471b26d986e9f64e41fd7b9ab5561e (diff) | |
parent | 96f2b995dc67d1278bd65b3661426da95503cb5d (diff) |
Merge pull request #308 from DizzyEggg/pyramid_bag
Decompile pyramid bag
Diffstat (limited to 'include')
-rw-r--r-- | include/battle_pyramid_bag.h | 49 | ||||
-rw-r--r-- | include/global.h | 7 | ||||
-rw-r--r-- | include/item_use.h | 2 | ||||
-rw-r--r-- | include/list_menu.h | 3 | ||||
-rw-r--r-- | include/menu.h | 6 | ||||
-rw-r--r-- | include/save.h | 2 | ||||
-rw-r--r-- | include/strings.h | 19 |
7 files changed, 81 insertions, 7 deletions
diff --git a/include/battle_pyramid_bag.h b/include/battle_pyramid_bag.h new file mode 100644 index 000000000..5d5d8ccfa --- /dev/null +++ b/include/battle_pyramid_bag.h @@ -0,0 +1,49 @@ +#ifndef GUARD_BATTLE_PYRAMID_BAG_H +#define GUARD_BATTLE_PYRAMID_BAG_H + +#include "list_menu.h" + +struct PyramidBagResources +{ + void (*callback2)(void); + u8 tilemapBuffer[0x800]; + u8 itemsSpriteIds[PYRAMID_BAG_ITEMS_COUNT + 1]; + u8 windowIds[5]; + u8 unk814; + u8 unk815; + u8 scrollArrowSpriteId; + const u8 *menuActionIds; + u8 filler81C[0x820 - 0x81C]; + u8 menuActionsCount; + u8 listMenuCount; + u8 listMenuMaxShown; + struct ListMenuItem bagListItems[PYRAMID_BAG_ITEMS_COUNT + 1]; + u8 itemStrings[PYRAMID_BAG_ITEMS_COUNT + 1][ITEM_NAME_LENGTH + 10]; + s16 state; + u8 filler986[0x98C - 0x986]; +}; + +struct PyramidBagCursorData +{ + void (*callback)(void); + u8 unk4; + u16 cursorPosition; + u16 scrollPosition; +}; + +extern struct PyramidBagResources *gPyramidBagResources; +extern struct PyramidBagCursorData gPyramidBagCursorData; + +void CB2_PyramidBagMenuFromStartMenu(void); +void sub_81C4F84(void); +void sub_81C5924(void); +void sub_81C59BC(void); +void sub_81C4EFC(void); +void sub_81C4F98(u8 a0, void (*callback)(void)); +void sub_81C6714(u8 taskId); +void sub_81C6A94(void); +void sub_81C4F24(void); +void sub_81C5B14(u8 taskId); +void DisplayItemMessageInBattlePyramid(u8 taskId, const u8 *str, void (*callback)(u8 taskId)); + +#endif // GUARD_BATTLE_PYRAMID_BAG_H diff --git a/include/global.h b/include/global.h index ab31e3c5d..0fff11d09 100644 --- a/include/global.h +++ b/include/global.h @@ -27,6 +27,13 @@ #define ARRAY_COUNT(array) (size_t)(sizeof(array) / sizeof((array)[0])) +#define SWAP(a, b, temp) \ +{ \ + temp = a; \ + a = b; \ + b = temp; \ +} + // useful math macros // Converts a number to Q8.8 fixed-point format diff --git a/include/item_use.h b/include/item_use.h index 7874f7ee9..37343f6e7 100644 --- a/include/item_use.h +++ b/include/item_use.h @@ -1,8 +1,6 @@ #ifndef GUARD_ITEM_USE_H #define GUARD_ITEM_USE_H -extern u16 gSpecialVar_ItemId; - void ItemUseOutOfBattle_Mail(u8); void ItemUseOutOfBattle_Bike(u8); void ItemUseOnFieldCB_Bike(u8); diff --git a/include/list_menu.h b/include/list_menu.h index ee3d60f3d..84c38306b 100644 --- a/include/list_menu.h +++ b/include/list_menu.h @@ -11,7 +11,8 @@ #define LIST_MULTIPLE_SCROLL_DPAD 1 #define LIST_MULTIPLE_SCROLL_L_R 2 -enum { +enum +{ SCROLL_ARROW_LEFT, SCROLL_ARROW_RIGHT, SCROLL_ARROW_UP, diff --git a/include/menu.h b/include/menu.h index 8ead4ea08..a13fe73ec 100644 --- a/include/menu.h +++ b/include/menu.h @@ -66,9 +66,9 @@ u16 sub_8198AA4(u8, u8, u8, u8, u8, u8, u16); void *malloc_and_decompress(const void *src, int *sizeOut); u16 copy_decompressed_tile_data_to_vram(u8 bgId, const void *src, u16 size, u16 offset, u8 mode); void AddTextPrinterForMessage(bool8 allowSkippingDelayWithButtonPress); -void AddItemMenuActionTextPrinters (u8, u8, u8, u8, u8, u8, u8, const struct MenuAction*, const u8*); -void sub_8198DBC(u8, u8, u8, u8, u8, u8, u8, const struct MenuAction*, const u8*); -u8 sub_8199944(u8, u8, u8, u8, u8); +void AddItemMenuActionTextPrinters(u8 windowId, u8 fontId, u8 left, u8 top, u8 letterSpacing, u8 lineHeight, u8 itemCount, const struct MenuAction *strs, const u8 *a8); +void sub_8198DBC(u8 windowId, u8 fontId, u8 left, u8 top, u8 a4, u8 itemCount, u8 itemCount2, const struct MenuAction *strs, const u8 *a8); +u8 sub_8199944(u8 windowId, u8 optionWidth, u8 horizontalCount, u8 verticalCount, u8 initialCursorPos); u8 sub_8199134(s8, s8); u8 GetStartMenuWindowId(void); void sub_819A2BC(u8, u8); diff --git a/include/save.h b/include/save.h index 7b271129a..9859870b4 100644 --- a/include/save.h +++ b/include/save.h @@ -32,7 +32,7 @@ struct SaveSectionOffsets }; // Emerald changes this definition to be the sectors per slot. -#define NUM_SECTORS_PER_SLOT 16 // move to save.h +#define NUM_SECTORS_PER_SLOT 16 #define UNKNOWN_CHECK_VALUE 0x8012025 diff --git a/include/strings.h b/include/strings.h index f88425b26..e72360563 100644 --- a/include/strings.h +++ b/include/strings.h @@ -776,6 +776,23 @@ extern const u8 gText_TeachWhichMoveToPkmn[]; extern const u8 gText_GiveUpTeachingNewMove[]; extern const u8 gText_TeachX[]; +extern const u8 gText_DadsAdvice[]; +extern const u8 gText_CantDismountBike[]; +extern const u8 gText_ItemFinderNothing[]; +extern const u8 gText_ItemFinderNearby[]; +extern const u8 gText_ItemFinderOnTop[]; +extern const u8 gText_CoinCase[]; +extern const u8 gText_PowderQty[]; +extern const u8 gText_BootedUpHM[]; +extern const u8 gText_BootedUpTM[]; +extern const u8 gText_TMHMContainedVar1[]; +extern const u8 gText_PlayerUsedVar2[]; +extern const u8 gText_RepelEffectsLingered[]; +extern const u8 gText_UsedVar2WildLured[]; +extern const u8 gText_UsedVar2WildRepelled[]; +extern const u8 gText_BoxFull[]; +extern const u8 gText_WontHaveEffect[]; + extern const u8 gText_LevelSymbol[]; extern const u8 gText_PkmnInfo[]; extern const u8 gText_PkmnSkills[]; @@ -824,4 +841,6 @@ extern const u8 gText_RibbonsVar1[]; extern const u8 gText_OneDash[]; extern const u8 gText_TwoDashes[]; +extern const u8 *const gReturnToXStringsTable2[]; + #endif //GUARD_STRINGS_H |