diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/decoration.h | 1 | ||||
-rw-r--r-- | include/gba/macro.h | 53 | ||||
-rw-r--r-- | include/item_menu.h | 2 | ||||
-rw-r--r-- | include/matsuda_debug_menu.h | 1 | ||||
-rw-r--r-- | include/menu_helpers.h | 27 | ||||
-rw-r--r-- | include/money.h | 2 | ||||
-rw-r--r-- | include/pokedex.h | 2 | ||||
-rw-r--r-- | include/pokemon.h | 2 | ||||
-rw-r--r-- | include/shop.h | 27 |
9 files changed, 89 insertions, 28 deletions
diff --git a/include/decoration.h b/include/decoration.h index 972e82faf..74ca47a3a 100644 --- a/include/decoration.h +++ b/include/decoration.h @@ -151,7 +151,6 @@ extern const struct YesNoFuncTable 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; diff --git a/include/gba/macro.h b/include/gba/macro.h index dcad009e1..d39d10738 100644 --- a/include/gba/macro.h +++ b/include/gba/macro.h @@ -167,4 +167,57 @@ #define DmaFill16Defvars(dmaNum, fillval, dest, size) DmaFillDefvars(dmaNum, fillval, dest, size, 16) #define DmaFill32Defvars(dmaNum, fillval, dest, size) DmaFillDefvars(dmaNum, fillval, dest, size, 32) +// from pokeemerald +// Maximum amount of data we will transfer in one operation +#define MAX_DMA_BLOCK_SIZE 0x1000 + +#define MAX_DMA_REQUESTS 128 + +#define DMA_REQUEST_COPY32 1 +#define DMA_REQUEST_FILL32 2 +#define DMA_REQUEST_COPY16 3 +#define DMA_REQUEST_FILL16 4 + +#define Dma3CopyLarge_(src, dest, size, bit) \ +{ \ + const void *_src = src; \ + void *_dest = dest; \ + u32 _size = size; \ + while (1) \ + { \ + if (_size <= MAX_DMA_BLOCK_SIZE) \ + { \ + DmaCopy##bit(3, _src, _dest, _size); \ + break; \ + } \ + DmaCopy##bit(3, _src, _dest, MAX_DMA_BLOCK_SIZE); \ + _src += MAX_DMA_BLOCK_SIZE; \ + _dest += MAX_DMA_BLOCK_SIZE; \ + _size -= MAX_DMA_BLOCK_SIZE; \ + } \ +} + +#define Dma3CopyLarge16_(src, dest, size) Dma3CopyLarge_(src, dest, size, 16) +#define Dma3CopyLarge32_(src, dest, size) Dma3CopyLarge_(src, dest, size, 32) + +#define Dma3FillLarge_(value, dest, size, bit) \ +{ \ + void *_dest = dest; \ + u32 _size = size; \ + while (1) \ + { \ + if (_size <= MAX_DMA_BLOCK_SIZE) \ + { \ + DmaFill##bit(3, value, _dest, _size); \ + break; \ + } \ + DmaFill##bit(3, value, _dest, MAX_DMA_BLOCK_SIZE); \ + _dest += MAX_DMA_BLOCK_SIZE; \ + _size -= MAX_DMA_BLOCK_SIZE; \ + } \ +} + +#define Dma3FillLarge16_(value, dest, size) Dma3FillLarge_(value, dest, size, 16) +#define Dma3FillLarge32_(value, dest, size) Dma3FillLarge_(value, dest, size, 32) + #endif // GUARD_GBA_MACRO_H diff --git a/include/item_menu.h b/include/item_menu.h index 29618f347..726d36789 100644 --- a/include/item_menu.h +++ b/include/item_menu.h @@ -27,7 +27,7 @@ void CleanUpItemMenuMessage(u8); void CleanUpOverworldMessage(u8); void ExecuteItemUseFromBlackPalette(void); void sub_80A5D04(void); -void sub_80A6300(void); +void ItemMenu_LoadSellMenu(void); void sub_80A68CC(); void sub_80A6A30(void); bool32 sub_80A6D1C(void); diff --git a/include/matsuda_debug_menu.h b/include/matsuda_debug_menu.h index 60f2dc48c..ad877a014 100644 --- a/include/matsuda_debug_menu.h +++ b/include/matsuda_debug_menu.h @@ -3,7 +3,6 @@ #define BIT(n) (1 << (n)) -void sub_80AB184(void); void sub_80AA280(u8); void sub_80AA5E8(u8); void sub_80AA658(u8); diff --git a/include/menu_helpers.h b/include/menu_helpers.h index 993d698bd..a1c872c73 100644 --- a/include/menu_helpers.h +++ b/include/menu_helpers.h @@ -9,7 +9,22 @@ struct YesNoFuncTable void (*noFunc)(u8); }; -void sub_80F9020(void); +// SetVerticalScrollIndicators enums +enum +{ + TOP_ARROW, + BOTTOM_ARROW, + LEFT_ARROW, // Bag arrows + RIGHT_ARROW +}; + +enum +{ + VISIBLE, + INVISIBLE +}; + +void ClearBGTilemapBuffers(void); void DisplayItemMessageOnField(u8, const u8 *, TaskFunc, u16); void DoYesNoFuncWithChoice(u8, const struct YesNoFuncTable *); void sub_80F914C(u8, const struct YesNoFuncTable *); @@ -19,21 +34,21 @@ bool8 sub_80F92F4(u16); bool8 sub_80F931C(u16); bool8 sub_80F9344(void); void sub_80F9368(void); -void sub_80F9438(void); -void sub_80F944C(void); +void ClearVideoCallbacks(void); +void ClearVerticalScrollIndicatorPalettes(void); void sub_80F9480(u8 *, u8); void sub_80F94A4(u8, u8 *, s16, s16); void sub_80F94F8(u8 *); void sub_80F9520(u8 *, u8); void CreateVerticalScrollIndicators(u8, u16, u16); -void sub_80F979C(u8, bool8); +void SetVerticalScrollIndicators(u8, bool8); void DestroyVerticalScrollIndicator(u8); void LoadScrollIndicatorPalette(void); void BuyMenuFreeMemory(void); -void sub_80F98A4(u8); +void StopVerticalScrollIndicators(u8); void StartVerticalScrollIndicators(u8); void sub_80F98DC(u8); void PauseVerticalScrollIndicator(u8); -void sub_80F9988(u8, u8); +void SetVerticalScrollIndicatorPriority(u8, u8); #endif // GUARD_MENU_HELPERS_H diff --git a/include/money.h b/include/money.h index 9f4ef71bc..e3a3f898d 100644 --- a/include/money.h +++ b/include/money.h @@ -7,7 +7,7 @@ void RemoveMoney(u32 *, u32); void GetMoneyAmountText(u8 *buffer, u32 arg1, u8 arg2); void PrintMoneyAmount(u32 arg0, u8 arg1, u8 x, u8 y); void sub_80B7AEC(u32, u8 left, u8 top); -void sub_80B7B34(u8, u8, int); +void Draw10000Sprite(u8, u8, int); void UpdateMoneyWindow(u32, u8, u8); void OpenMoneyWindow(u32, u8, u8); void CloseMoneyWindow(u8, u8); diff --git a/include/pokedex.h b/include/pokedex.h index d8416889a..73877bead 100644 --- a/include/pokedex.h +++ b/include/pokedex.h @@ -23,6 +23,6 @@ s8 GetSetPokedexFlag(u16, u8); u16 GetNationalPokedexCount(u8); u16 GetHoennPokedexCount(u8); bool8 CompletedHoennPokedex(void); -u16 sub_8090FF4(void); +bool16 CompletedNationalPokedex(void); #endif // GUARD_POKEDEX_H diff --git a/include/pokemon.h b/include/pokemon.h index 8f1b46387..6e3e15404 100644 --- a/include/pokemon.h +++ b/include/pokemon.h @@ -258,7 +258,6 @@ struct BoxPokemon /*0x13*/ u8 isBadEgg:1; u8 hasSpecies:1; u8 isEgg:1; - u8 unused:5; /*0x14*/ u8 otName[OT_NAME_LENGTH]; /*0x1B*/ u8 markings; /*0x1C*/ u16 checksum; @@ -419,7 +418,6 @@ struct BattleMove u8 target; s8 priority; u8 flags; - u8 pad[3]; }; #define FLAG_MAKES_CONTACT 0x1 diff --git a/include/shop.h b/include/shop.h index b785ca764..80602e26c 100644 --- a/include/shop.h +++ b/include/shop.h @@ -17,6 +17,14 @@ enum ANIM_NUM }; +// shop options +enum +{ + SHOP_BUY, + SHOP_SELL, + SHOP_EXIT +}; + struct MartInfo { /* 0x0 */ void (* callback) (void); @@ -29,20 +37,9 @@ struct MartInfo /* 0xD */ u8 curItemCount; // if you are selling an item, this is the count of the current item stack you have. }; -void sub_80B2E38(u8); -void HandleShopMenuQuit(u8); -void sub_80B2FA0(u8); -void BuyMenuDrawGraphics(void); -void sub_80B3240(void); -void sub_80B3270(void); -void BuyMenuDrawMapGraphics(void); -void sub_80B3764(int, int); -void sub_80B37EC(void); -void sub_80B40E8(u8); -void CreatePokemartMenu(u16 *); -void CreateDecorationShop1Menu(u16 *); -void CreateDecorationShop2Menu(u16 *); -void sub_80B356C(void); -void sub_80B368C(void); +void Shop_CreatePokemartMenu(u16 *); +void Shop_CreateDecorationShop1Menu(u16 *); +void Shop_CreateDecorationShop2Menu(u16 *); +void Shop_RunExitSellMenuTask(u8 taskId); #endif // GUARD_SHOP_H |