summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorPikalaxALT <PikalaxALT@users.noreply.github.com>2019-10-31 09:31:33 -0400
committerGitHub <noreply@github.com>2019-10-31 09:31:33 -0400
commitc6cd74fed25cbb6e2fa0296960fbcda795311b06 (patch)
tree05ae3de2bc0130040d48e800fe4e962f2a818aef /include
parent922411abebd56d0f5d6072bad4924c909c8e2c27 (diff)
parent2b0bcdcad9336defc82f50a329b12e631b1f33ce (diff)
Merge pull request #120 from PikalaxALT/trade
Trade
Diffstat (limited to 'include')
-rw-r--r--include/berry_powder.h1
-rw-r--r--include/constants/flags.h8
-rw-r--r--include/constants/region_map.h2
-rw-r--r--include/decompress.h2
-rw-r--r--include/gba/defines.h1
-rw-r--r--include/graphics.h8
-rw-r--r--include/international_string_util.h25
-rw-r--r--include/item.h2
-rw-r--r--include/link.h8
-rw-r--r--include/link_rfu.h2
-rw-r--r--include/load_save.h4
-rw-r--r--include/mevent.h1
-rw-r--r--include/overworld.h3
-rw-r--r--include/party_menu.h2
-rw-r--r--include/pokeball.h2
-rw-r--r--include/pokemon_icon.h11
-rw-r--r--include/pokemon_storage_system.h1
-rw-r--r--include/pokemon_summary_screen.h4
-rw-r--r--include/quest_log.h1
-rw-r--r--include/save_failed_screen.h6
-rw-r--r--include/strings.h26
-rw-r--r--include/trade.h5
-rw-r--r--include/trade_scene.h17
-rw-r--r--include/util.h3
24 files changed, 101 insertions, 44 deletions
diff --git a/include/berry_powder.h b/include/berry_powder.h
index f0e77c44b..d944ae44d 100644
--- a/include/berry_powder.h
+++ b/include/berry_powder.h
@@ -3,5 +3,6 @@
u32 GetBerryPowder(void);
void SetBerryPowder(u32 *powder, u32 amount);
+void sub_815EE6C(u32 newKey);
#endif //GUARD_BERRY_POWDER_H
diff --git a/include/constants/flags.h b/include/constants/flags.h
index 082e12f87..bd356064c 100644
--- a/include/constants/flags.h
+++ b/include/constants/flags.h
@@ -1,7 +1,7 @@
#ifndef GUARD_CONSTANTS_FLAGS_H
#define GUARD_CONSTANTS_FLAGS_H
-// TODO: Get correct names and numbers
+#include "constants/trainers.h"
#define FLAG_TEMP_1 0x001
#define FLAG_TEMP_2 0x002
@@ -1309,10 +1309,8 @@
#define FLAG_TRAINER_FLAG_START 0x500
-#define TRAINERS_FLAG_NO 0x2E7 // 743
-#define TRAINER_FLAGS_WORDS 0x300
-
-#define SYS_FLAGS (FLAG_TRAINER_FLAG_START + TRAINER_FLAGS_WORDS) // 0x800
+// Vanilla: SYS_FLAGS = 0x800
+#define SYS_FLAGS (FLAG_TRAINER_FLAG_START + ((NUM_TRAINERS) + 31) / 32 * 32)
// SYSTEM FLAGS
diff --git a/include/constants/region_map.h b/include/constants/region_map.h
index 527acf2c9..0957a72ee 100644
--- a/include/constants/region_map.h
+++ b/include/constants/region_map.h
@@ -200,4 +200,6 @@
#define MAPSEC_SPECIAL_AREA 0xC4
#define MAPSEC_NONE 0xC5
+#define MAPSEC_IN_GAME_TRADE 0xFE
+
#endif //GUARD_CONSTANTS_REGION_MAP_H
diff --git a/include/decompress.h b/include/decompress.h
index 03080fe48..3f3a02d7b 100644
--- a/include/decompress.h
+++ b/include/decompress.h
@@ -23,9 +23,7 @@ void DecompressPicFromTable_2(const struct CompressedSpriteSheet *src, void* buf
void DecompressPicFromTable_DontHandleDeoxys(const struct CompressedSpriteSheet *src, void* buffer, s32 species);
void HandleLoadSpecialPokePic(const struct CompressedSpriteSheet *src, void *dest, s32 species, u32 personality);
-void HandleLoadSpecialPokePic_2(const struct CompressedSpriteSheet *src, void *dest, s32 species, u32 personality);
void HandleLoadSpecialPokePic_DontHandleDeoxys(const struct CompressedSpriteSheet *src, void *dest, s32 species, u32 personality);
-void HandleLoadSpecialPokePic(const struct CompressedSpriteSheet *src, void *dest, s32 species, u32 personality);
void LoadSpecialPokePic(const struct CompressedSpriteSheet *src, void *dest, s32 species, u32 personality, bool8 isFrontPic);
void LoadSpecialPokePic_2(const struct CompressedSpriteSheet *src, void *dest, s32 species, u32 personality, bool8 isFrontPic);
diff --git a/include/gba/defines.h b/include/gba/defines.h
index 65561f10a..8c92d7b64 100644
--- a/include/gba/defines.h
+++ b/include/gba/defines.h
@@ -76,6 +76,7 @@
#define RGB_BLACK RGB(0, 0, 0)
#define RGB_WHITE RGB(31, 31, 31)
+#define RGB_WHITEALPHA (0xFFFF)
#define NAKED __attribute__((naked))
#define UNUSED __attribute__((unused))
diff --git a/include/graphics.h b/include/graphics.h
index 638351be4..56a51e67c 100644
--- a/include/graphics.h
+++ b/include/graphics.h
@@ -4214,4 +4214,12 @@ extern const u8 gMonIcon_Unown_ExclamationMark[];
extern const u8 gMonIcon_Unown_QuestionMark[];
extern const u8 gMonIcon_QuestionMark[];
+// trade
+extern const u16 gTradeMenu_Pal[];
+extern const u16 gTradeButtons_Pal[];
+extern const u16 gTradeMenu_Gfx[];
+extern const u16 gUnknown_8E9E9FC[];
+extern const u16 gTradeButtons_Gfx[];
+extern const u16 gTradeMenuMonBox_Tilemap[];
+
#endif //GUARD_GRAPHICS_H
diff --git a/include/international_string_util.h b/include/international_string_util.h
deleted file mode 100644
index 2b922676d..000000000
--- a/include/international_string_util.h
+++ /dev/null
@@ -1,25 +0,0 @@
-#ifndef GUARD_INTERNATIONAL_STRING_UTIL_H
-#define GUARD_INTERNATIONAL_STRING_UTIL_H
-
-#include "global.h"
-
-#include "menu.h"
-
-void sub_81DB52C(const u8 *src);
-void TVShowConvertInternationalString(u8 *dest, const u8 *src, u8 language);
-s32 GetStringCenterAlignXOffset(s32 fontId, const u8 *str, s32 totalWidth);
-s32 GetStringRightAlignXOffset(s32 fontId, const u8 *str, s32 totalWidth);
-s32 GetStringCenterAlignXOffsetWithLetterSpacing(s32 fontId, const u8 *str, s32 totalWidth, s32 letterSpacing);
-s32 GetStringWidthDifference(s32 fontId, const u8 *str, s32 totalWidth, s32 letterSpacing);
-s32 GetMaxWidthInMenuTable(const struct MenuAction *str, s32 arg1);
-s32 sub_81DB3D8(const struct MenuAction *str, u8* arg1, s32 arg2);
-// sub_81DB41C
-// CopyMonCategoryText
-// sub_81DB494
-// sub_81DB4DC
-// sub_81DB554
-// sub_81DB5AC
-u32 sub_81DB604(const u8 *);
-// sub_81DB620
-
-#endif // GUARD_INTERNATIONAL_STRING_UTIL_H
diff --git a/include/item.h b/include/item.h
index dd6271d13..ccc9cd3bb 100644
--- a/include/item.h
+++ b/include/item.h
@@ -72,10 +72,12 @@ u16 BagGetQuantityByPocketPosition(u8 pocketId, u16 itemId);
bool8 itemid_is_unique(u16 itemId);
void BagPocketCompaction(struct ItemSlot * slots, u8 capacity);
u16 GetPcItemQuantity(u16 *);
+void SetBagPocketsPointers(void);
void ItemPcCompaction(void);
void RemoveItemFromPC(u16 itemId, u16 quantity);
void SortAndCompactBagPocket(struct BagPocket * pocket);
u8 CountItemsInPC(void);
+void ApplyNewEncryptionKeyToBagItems_(u32 newKey);
#endif // GUARD_ITEM_H
diff --git a/include/link.h b/include/link.h
index 7c4b871de..9465f0404 100644
--- a/include/link.h
+++ b/include/link.h
@@ -181,7 +181,7 @@ extern u32 gLinkStatus;
extern u16 gBlockRecvBuffer[MAX_RFU_PLAYERS][BLOCK_BUFFER_SIZE / 2];
extern u16 gSendCmd[CMD_LENGTH];
extern u8 gShouldAdvanceLinkState;
-extern struct LinkPlayer gLinkPlayers[];
+extern struct LinkPlayer gLinkPlayers[MAX_RFU_PLAYERS];
extern u16 word_3002910[];
extern bool8 gReceivedRemoteLinkPlayers;
extern bool8 gLinkVSyncDisabled;
@@ -212,6 +212,7 @@ u8 GetBlockReceivedStatus(void);
void ResetBlockReceivedFlags(void);
void ResetBlockReceivedFlag(u8);
void SetLinkDebugValues(u32, u32);
+u8 GetSavedPlayerCount(void);
u8 GetLinkPlayerCount_2(void);
bool8 IsLinkMaster(void);
void CB2_LinkError(void);
@@ -232,10 +233,10 @@ bool8 sub_800A520(void);
bool8 sub_8010500(void);
void sub_800DFB4(u8, u8);
void sub_800AB9C(void);
-void sub_800B488(void);
+void sub_800B1F4(void);
void sub_8009734(void);
void sub_800A620(void);
-void sub_8011BD0(void);
+void sub_80FBB4C(void);
u8 sub_800ABAC(void);
u8 sub_800ABBC(void);
void sub_800AAC0(void);
@@ -257,5 +258,6 @@ void ClearLinkCallback_2(void);
void sub_80FA42C(void);
void sub_800B284(struct LinkPlayer * linkPlayer);
bool8 IsWirelessAdapterConnected(void);
+bool8 sub_800A474(u8 a0);
#endif // GUARD_LINK_H
diff --git a/include/link_rfu.h b/include/link_rfu.h
index f5aa682e6..6e6e5f7a3 100644
--- a/include/link_rfu.h
+++ b/include/link_rfu.h
@@ -39,6 +39,8 @@ bool32 sub_80FAEF0(void);
bool32 IsRfuRecvQueueEmpty(void);
u32 GetRfuRecvQueueLength(void);
void sub_80F8DC0(void);
+void sub_80FBB20(void);
+bool8 sub_80FA484(bool32 a0);
void var_800D_set_xB(void);
#endif //GUARD_LINK_RFU_H
diff --git a/include/load_save.h b/include/load_save.h
index 2406b5f03..6162c30b9 100644
--- a/include/load_save.h
+++ b/include/load_save.h
@@ -26,7 +26,7 @@ void ApplyNewEncryptionKeyToAllEncryptedData(u32 encryptionKey);
void ApplyNewEncryptionKeyToBagItems(u32 encryptionKey);
void ApplyNewEncryptionKeyToWord(u32 * word, u32 encryptionKey);
void ApplyNewEncryptionKeyToHword(u16 * hword, u32 encryptionKey);
-void sav2_gender2_inplace_and_xFE(void);
-void sub_804C1C0(void);
+void ClearContinueGameWarpStatus2(void);
+void SetContinueGameWarpStatusToDynamicWarp(void);
#endif // GUARD_LOAD_SAVE_H
diff --git a/include/mevent.h b/include/mevent.h
index 98d184f60..6b67aa27c 100644
--- a/include/mevent.h
+++ b/include/mevent.h
@@ -68,5 +68,6 @@ bool32 WonderCard_Test_Unk_08_6(void);
u32 MENews_GetInput(u16 input);
void sub_8143D24(void);
u16 sub_81445C0(u32 command);
+void sub_8144714(u32 a0, u32 a1);
#endif //GUARD_MEVENT_H
diff --git a/include/overworld.h b/include/overworld.h
index 805ddc8a0..36c890eb5 100644
--- a/include/overworld.h
+++ b/include/overworld.h
@@ -142,5 +142,8 @@ bool32 sub_8058318(void);
void CB2_ReturnToStartMenu(void);
void CB2_WhiteOut(void);
+void c2_8056854(void);
+void sub_8054F38(u32 newKey);
+void sub_8055778(int);
#endif //GUARD_OVERWORLD_H
diff --git a/include/party_menu.h b/include/party_menu.h
index 53731bee6..c07371a5d 100644
--- a/include/party_menu.h
+++ b/include/party_menu.h
@@ -82,9 +82,11 @@ void OpenPartyMenuInBattle(u8 arg);
void sub_8127EC4(u8 battlerId, u8 unk, u8 arrayIndex);
bool8 IsMultiBattle(void);
void sub_8126EDC(void);
+void sub_812256C(u8 *partyCount, u8 (*icons)[6], u8 side);
void PartyMenuInit_FromPlayerPc(void);
void CB2_PartyMenuFromStartMenu(void);
void sub_8128198(void);
void sub_8127FF4(u8 slot, u8 slot2);
+void LoadHeldItemIcons(void);
#endif // GUARD_PARTY_MENU_H
diff --git a/include/pokeball.h b/include/pokeball.h
index ee0478eab..884ded22e 100644
--- a/include/pokeball.h
+++ b/include/pokeball.h
@@ -25,7 +25,7 @@ enum
u8 DoPokeballSendOutAnimation(s16 pan, u8 kindOfThrow);
void CreatePokeballSpriteToReleaseMon(u8 monSpriteId, u8 bank, u8 x, u8 y, u8 oamPriority, u8 subpriortiy, u8 g, u32 h);
-u8 sub_804BB98(u8 monSpriteId, u8 bank, u8 x, u8 y, u8 oamPriority, u8 subpriortiy, u8 g, u32 h);
+u8 CreateTradePokeballSprite(u8 monSpriteId, u8 bank, u8 x, u8 y, u8 oamPriority, u8 subpriortiy, u8 g, u32 h);
u8 sub_807671C(u8 a, u8 b, u8 x, u8 y, u8 oamPriority, u8 subPriority, u8 g, u32 h);
void sub_8076918(u8 bank);
void DoHitAnimHealthboxEffect(u8 bank);
diff --git a/include/pokemon_icon.h b/include/pokemon_icon.h
index 52d374041..cfc3c18f0 100644
--- a/include/pokemon_icon.h
+++ b/include/pokemon_icon.h
@@ -8,17 +8,20 @@ const u8 *GetMonIconTiles(u16 iconSpecies, bool32 extra);
const u16 *GetValidMonIconPalettePtr(u16 speciesId);
u16 sub_80D2E84(u16 speciesId);
void sub_80D2F68(u16 iconId);
-u8 sub_80D2D78(u16 iconId, void callback(struct Sprite *), u16 x, u16 y, u16 a4, u8 a5);
+u8 sub_80D2D78(u16 iconId, SpriteCallback callback, u16 x, u16 y, u16 a4, u8 a5);
void sub_80D2FF0(u16 iconId);
-void sub_80D2EF8(struct Sprite *sprite);
+void sub_80D2EF8(struct Sprite * sprite);
void LoadMonIconPalettes(void);
void FreeMonIconPalettes(void);
u16 MailSpeciesToIconSpecies(u16);
-u8 CreateMonIcon_HandleDeoxys(u16 species, void (*callback)(struct Sprite *), s16 x, s16 y, u8 subpriority, bool32 extra);
+u8 CreateMonIcon_HandleDeoxys(u16 species, SpriteCallback callback, s16 x, s16 y, u8 subpriority, bool32 extra);
void DestroyMonIcon(struct Sprite *);
u16 GetUnownLetterByPersonality(u32 personality);
-u8 UpdateMonIconFrame(struct Sprite *sprite);
+void SpriteCB_MonIcon(struct Sprite *);
+u8 CreateMonIcon(u16 species, SpriteCallback callback, s16 x, s16 y, u8 subpriority, u32 personality, bool32 extra);
+u8 UpdateMonIconFrame(struct Sprite * sprite);
void LoadMonIconPalette(u16 iconId);
void FreeMonIconPalette(u16 iconId);
+void MonIcon_SetAnim(struct Sprite * sprite, u8 animNum);
#endif // GUARD_POKEMON_ICON_H
diff --git a/include/pokemon_storage_system.h b/include/pokemon_storage_system.h
index 6790fb775..81f50e1e9 100644
--- a/include/pokemon_storage_system.h
+++ b/include/pokemon_storage_system.h
@@ -16,5 +16,6 @@ u8 * GetBoxNamePtr(u8 boxId);
void sub_808CE60(void);
void ResetPokemonStorageSystem(void);
u8 StorageGetCurrentBox(void);
+void PSS_RenderTextToVramViaBuffer(const u8 *name, u8 *a1, u8 a2, u8 a3, u8 *buffer, u8 a5);
#endif // GUARD_POKEMON_STORAGE_SYSTEM_H
diff --git a/include/pokemon_summary_screen.h b/include/pokemon_summary_screen.h
index 7b250b647..b800e3d30 100644
--- a/include/pokemon_summary_screen.h
+++ b/include/pokemon_summary_screen.h
@@ -8,7 +8,6 @@ extern u8 gLastViewedMonIndex;
extern const u8 *const gMoveDescriptionPointers[];
extern const u8 *const gNatureNamePointers[];
-void ShowPokemonSummaryScreen(u8 mode, void *mons, u8 monIndex, u8 maxMonIndex, void (*callback)(void));
void ShowSelectMovePokemonSummaryScreen(struct Pokemon *, u8, u8, MainCallback, u16);
void ShowPokemonSummaryScreenSet40EF(u8 mode, struct BoxPokemon *mons, u8 monIndex, u8 maxMonIndex, void (*callback)(void));
u8 sub_8138B2C(void);
@@ -33,4 +32,7 @@ enum PokemonSummaryScreenPage
PSS_PAGE_CONTEST_MOVES,
};
+s32 sub_8138B20(void);
+void ShowPokemonSummaryScreen(struct Pokemon * party, u8 cursorPos, u8 lastIdx, void (*callback)(void), u8 a4);
+
#endif // GUARD_POKEMON_SUMMARY_SCREEN_H
diff --git a/include/quest_log.h b/include/quest_log.h
index 8165486ce..3f6c94de5 100644
--- a/include/quest_log.h
+++ b/include/quest_log.h
@@ -46,6 +46,7 @@ void sub_811231C(void);
void sub_81139BC(void);
void *QuestLogGetFlagOrVarPtr(bool8 isFlag, u16 idx);
void QuestLogSetFlagOrVar(bool8 isFlag, u16 idx, u16 value);
+void sub_8110840(void *oldSave);
extern u8 gUnknown_203ADFA;
diff --git a/include/save_failed_screen.h b/include/save_failed_screen.h
new file mode 100644
index 000000000..feffa2014
--- /dev/null
+++ b/include/save_failed_screen.h
@@ -0,0 +1,6 @@
+#ifndef GUARD_SAVE_FAILED_SCREEN_H
+#define GUARD_SAVE_FAILED_SCREEN_H
+
+extern void DoSaveFailedScreen(u8 saveType); // save_failed_screen
+
+#endif //GUARD_SAVE_FAILED_SCREEN_H
diff --git a/include/strings.h b/include/strings.h
index 9304b225d..7231755c5 100644
--- a/include/strings.h
+++ b/include/strings.h
@@ -660,4 +660,30 @@ extern const u8 gText_FiveIsland[];
extern const u8 gText_SixIsland[];
extern const u8 gText_SevenIsland[];
+// trade
+extern const u8 gUnknown_841E0A5[];
+extern const u8 gText_XWillBeSentToY[];
+extern const u8 gText_ByeByeVar1[];
+extern const u8 gText_XSentOverY[];
+extern const u8 gText_TakeGoodCareOfX[];
+extern const u8 gUnknown_841E325[];
+extern const u8 gTradeText_Cancel[];
+extern const u8 gTradeText_ChooseAPokemon[];
+extern const u8 gTradeText_Summary[];
+extern const u8 gTradeText_Trade[];
+extern const u8 gTradeText_CancelTrade[];
+extern const u8 gTradeText_PressBButtonToExit[];
+extern const u8 gUnknown_841E10A[];
+extern const u8 gUnknown_841E112[];
+extern const u8 gUnknown_841E118[];
+extern const u8 gUnknown_841E145[];
+extern const u8 gUnknown_841E16B[];
+extern const u8 gUnknown_8417094[];
+extern const u8 gUnknown_841E199[];
+extern const u8 gUnknown_841E1C5[];
+extern const u8 gUnknown_84170BC[];
+extern const u8 gUnknown_84170E0[];
+extern const u8 gUnknown_84170FC[];
+extern const u8 gUnknown_841E09F[];
+
#endif //GUARD_STRINGS_H
diff --git a/include/trade.h b/include/trade.h
index 02ed7d8c4..257357053 100644
--- a/include/trade.h
+++ b/include/trade.h
@@ -1,6 +1,11 @@
#ifndef GUARD_TRADE_H
#define GUARD_TRADE_H
+extern struct MailStruct gLinkPartnerMail[6];
+extern u8 gSelectedTradeMonPositions[2];
+
+extern const u16 gUnknown_826601C[];
+void CB2_ReturnFromLinkTrade(void);
s32 sub_804FB34(void);
#endif //GUARD_TRADE_H
diff --git a/include/trade_scene.h b/include/trade_scene.h
new file mode 100644
index 000000000..13cb1a56c
--- /dev/null
+++ b/include/trade_scene.h
@@ -0,0 +1,17 @@
+#ifndef GUARD_TRADE_SCENE_H
+#define GUARD_TRADE_SCENE_H
+
+void CB2_InitTradeAnim_LinkTrade(void);
+void CreateInGameTradePokemon(void);
+void DoInGameTradeScene(void);
+void DrawTextOnTradeWindow(u8 windowId, const u8 *str, s8 speed);
+u16 GetInGameTradeSpeciesInfo(void);
+u16 GetTradeSpecies(void);
+void sub_805049C(void);
+void sub_80504B0(void);
+void LoadTradeAnimGfx(void);
+
+extern const u16 gUnknown_826601C[];
+extern const struct WindowTemplate gUnknown_826D1CC;
+
+#endif //GUARD_TRADE_SCENE_H
diff --git a/include/util.h b/include/util.h
index 3884ab21c..ef1c15faa 100644
--- a/include/util.h
+++ b/include/util.h
@@ -14,7 +14,8 @@ void LoadWordFromTwoHalfwords(u16 *, u32 *);
int CountTrailingZeroBits(u32 value);
u16 CalcCRC16(const u8 *data, u32 length);
u16 CalcCRC16WithTable(const u8 *data, u32 length);
-u32 CalcByteArraySum(const u8* data, u32 length);
+u32 CalcByteArraySum(const u8 *data, u32 length);
void BlendPalette(u16 palOffset, u16 numEntries, u8 coeff, u16 blendColor);
+void DoBgAffineSet(struct BgAffineDstData * dest, u32 texX, u32 texY, s16 srcX, s16 srcY, s16 sx, s16 sy, u16 alpha);
#endif // GUARD_UTIL_H