summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/battle_message.h23
-rw-r--r--include/berry.h48
-rw-r--r--include/coins.h6
-rw-r--r--include/dewford_trend.h7
-rw-r--r--include/easy_chat.h33
-rw-r--r--include/global.h2
-rw-r--r--include/lilycove_lady.h6
-rw-r--r--include/load_save.h2
-rw-r--r--include/lottery_corner.h12
-rw-r--r--include/mauville_old_man.h6
-rw-r--r--include/money.h6
-rw-r--r--include/new_game.h1
-rw-r--r--include/pokeblock.h45
-rw-r--r--include/pokemon_size_record.h12
-rw-r--r--include/roamer.h11
-rw-r--r--include/script.h59
16 files changed, 278 insertions, 1 deletions
diff --git a/include/battle_message.h b/include/battle_message.h
new file mode 100644
index 000000000..3e37a1ccd
--- /dev/null
+++ b/include/battle_message.h
@@ -0,0 +1,23 @@
+#ifndef GUARD_BATTLE_MESSAGE_H
+#define GUARD_BATTLE_MESSAGE_H
+
+struct StringInfoBattle
+{
+ u16 currentMove;
+ u16 lastMove;
+ u16 lastItem;
+ u8 lastAbility;
+ u8 scrActive;
+ u8 unk1605E;
+ u8 hpScale;
+ u8 StringBank;
+ u8 moveType;
+ u8 abilities[4];
+ u8 textBuffs[3][0x10];
+};
+
+void BufferStringBattle(u16 stringID);
+u32 StrCpyDecodeToDisplayedStringBattle(const u8* src);
+u32 StrCpyDecodeBattle(const u8* src, u8* dst);
+
+#endif // GUARD_BATTLE_MESSAGE_H
diff --git a/include/berry.h b/include/berry.h
new file mode 100644
index 000000000..f0acbe0ad
--- /dev/null
+++ b/include/berry.h
@@ -0,0 +1,48 @@
+#ifndef GUARD_BERRY_H
+#define GUARD_BERRY_H
+
+enum
+{
+ BERRY_FIRMNESS_UNKNOWN,
+ BERRY_FIRMNESS_VERY_SOFT,
+ BERRY_FIRMNESS_SOFT,
+ BERRY_FIRMNESS_HARD,
+ BERRY_FIRMNESS_VERY_HARD,
+ BERRY_FIRMNESS_SUPER_HARD,
+};
+
+void ClearEnigmaBerries(void);
+void SetEnigmaBerry(u8 *src);
+u32 GetEnigmaBerryChecksum(struct EnigmaBerry *enigmaBerry);
+bool32 IsEnigmaBerryValid(void);
+const struct Berry *GetBerryInfo(u8 berry);
+struct BerryTree *GetBerryTreeInfo(u8 id);
+bool32 FieldObjectInteractionWaterBerryTree(void);
+bool8 IsPlayerFacingPlantedBerryTree(void);
+bool8 TryToWaterBerryTree(void);
+void ClearBerryTrees(void);
+bool32 BerryTreeGrow(struct BerryTree *tree);
+void BerryTreeTimeUpdate(s32 minutes);
+void PlantBerryTree(u8 id, u8 berry, u8 stage, bool8 sparkle);
+void RemoveBerryTree(u8 id);
+u8 GetBerryTypeByBerryTreeId(u8 id);
+u8 GetStageByBerryTreeId(u8);
+u8 ItemIdToBerryType(u16 item);
+u16 BerryTypeToItemId(u16 berry);
+void GetBerryNameByBerryType(u8 berry, u8 *string);
+void ResetBerryTreeSparkleFlag(u8 id);
+u8 BerryTreeGetNumStagesWatered(struct BerryTree *tree);
+u8 GetNumStagesWateredByBerryTreeId(u8 id);
+u8 CalcBerryYieldInternal(u16 max, u16 min, u8 water);
+u8 CalcBerryYield(struct BerryTree *tree);
+u8 GetBerryCountByBerryTreeId(u8 id);
+u16 GetStageDurationByBerryType(u8);
+void FieldObjectInteractionGetBerryTreeData(void);
+void sub_80B4EE4(void);
+void FieldObjectInteractionPlantBerryTree(void);
+void FieldObjectInteractionPickBerryTree(void);
+void FieldObjectInteractionRemoveBerryTree(void);
+u8 PlayerHasBerries(void);
+void ResetBerryTreeSparkleFlags(void);
+
+#endif // GUARD_BERRY_H
diff --git a/include/coins.h b/include/coins.h
new file mode 100644
index 000000000..0cfd3db6a
--- /dev/null
+++ b/include/coins.h
@@ -0,0 +1,6 @@
+#ifndef GUARD_COINS_H
+#define GUARD_COINS_H
+
+void SetCoins(u16 newValue);
+
+#endif // GUARD_COINS_H
diff --git a/include/dewford_trend.h b/include/dewford_trend.h
new file mode 100644
index 000000000..01e5d9762
--- /dev/null
+++ b/include/dewford_trend.h
@@ -0,0 +1,7 @@
+#ifndef GUARD_DEWFORDTREND_H
+#define GUARD_DEWFORDTREND_H
+
+void InitDewfordTrend(void);
+void UpdateDewfordTrendPerDay(u16);
+
+#endif // GUARD_DEWFORDTREND_H
diff --git a/include/easy_chat.h b/include/easy_chat.h
new file mode 100644
index 000000000..5143aa39c
--- /dev/null
+++ b/include/easy_chat.h
@@ -0,0 +1,33 @@
+#ifndef GUARD_EASYCHAT_H
+#define GUARD_EASYCHAT_H
+
+// Taken from Pokeruby, check if it's correct
+enum
+{
+ EC_GROUP_POKEMON,
+ EC_GROUP_TRAINER,
+ EC_GROUP_STATUS,
+ EC_GROUP_BATTLE,
+ EC_GROUP_GREETINGS,
+ EC_GROUP_PEOPLE,
+ EC_GROUP_VOICES,
+ EC_GROUP_SPEECH,
+ EC_GROUP_ENDINGS,
+ EC_GROUP_FEELINGS,
+ EC_GROUP_CONDITIONS,
+ EC_GROUP_ACTIONS,
+ EC_GROUP_LIFESTYLE,
+ EC_GROUP_HOBBIES,
+ EC_GROUP_TIME,
+ EC_GROUP_MISC,
+ EC_GROUP_ADJECTIVES,
+ EC_GROUP_EVENTS,
+ EC_GROUP_MOVE_1,
+ EC_GROUP_MOVE_2,
+ EC_GROUP_TRENDY_SAYING,
+ EC_GROUP_POKEMON_2,
+};
+
+void InitEasyChatPhrases(void);
+
+#endif // GUARD_EASYCHAT_H
diff --git a/include/global.h b/include/global.h
index ebef8e1dd..8ee40e79d 100644
--- a/include/global.h
+++ b/include/global.h
@@ -155,7 +155,7 @@ struct SaveBlock2
/*0x90*/ u8 filler_90[0x8];
/*0x98*/ struct Time localTimeOffset;
/*0xA0*/ struct Time lastBerryTreeUpdate;
- /*0xA8*/ u8 filler_A8[0x4];
+ /*0xA8*/ u32 field_A8;
/*0xAC*/ u32 encryptionKey;
// TODO: fix and verify labels
diff --git a/include/lilycove_lady.h b/include/lilycove_lady.h
new file mode 100644
index 000000000..81825d8ac
--- /dev/null
+++ b/include/lilycove_lady.h
@@ -0,0 +1,6 @@
+#ifndef GUARD_LILYCOVE_LADY_H
+#define GUARD_LILYCOVE_LADY_H
+
+void SetLilycoveLady(void);
+
+#endif //GUARD_LILYCOVE_LADY_H
diff --git a/include/load_save.h b/include/load_save.h
index 2dce65385..0fedd720b 100644
--- a/include/load_save.h
+++ b/include/load_save.h
@@ -3,6 +3,8 @@
extern bool32 gFlashMemoryPresent;
+void ClearSav2(void);
+void ClearSav1(void);
void CheckForFlashMemory(void);
void MoveSaveBlocks_ResetHeap(void);
bool32 GetSecretBase2Field_9(void);
diff --git a/include/lottery_corner.h b/include/lottery_corner.h
new file mode 100644
index 000000000..5e2346d37
--- /dev/null
+++ b/include/lottery_corner.h
@@ -0,0 +1,12 @@
+#ifndef GUARD_LOTTERY_CORNER_H
+#define GUARD_LOTTERY_CORNER_H
+
+void ResetLotteryCorner(void);
+void SetRandomLotteryNumber(u16 i);
+void RetrieveLotteryNumber(void);
+void PickLotteryCornerTicket(void);
+void SetLotteryNumber(u32 lotteryNum);
+u32 GetLotteryNumber(void);
+void SetLotteryNumber16_Unused(u16 lotteryNum);
+
+#endif // GUARD_LOTTERY_CORNER_H
diff --git a/include/mauville_old_man.h b/include/mauville_old_man.h
new file mode 100644
index 000000000..d0526db88
--- /dev/null
+++ b/include/mauville_old_man.h
@@ -0,0 +1,6 @@
+#ifndef GUARD_MAUVILLE_OLD_MAN_H
+#define GUARD_MAUVILLE_OLD_MAN_H
+
+void SetMauvilleOldMan(void);
+
+#endif // GUARD_MAUVILLE_OLD_MAN_H
diff --git a/include/money.h b/include/money.h
new file mode 100644
index 000000000..ccb840a7f
--- /dev/null
+++ b/include/money.h
@@ -0,0 +1,6 @@
+#ifndef GUARD_MONEY_H
+#define GUARD_MONEY_H
+
+void SetMoney(u32* moneyPtr, u32 newValue);
+
+#endif // GUARD_MONEY_H
diff --git a/include/new_game.h b/include/new_game.h
index 00ab55d70..f9ad7fcb8 100644
--- a/include/new_game.h
+++ b/include/new_game.h
@@ -8,5 +8,6 @@ void SetDefaultOptions(void);
void ClearPokedexFlags(void);
void WarpToTruck(void);
void NewGameInitData(void);
+void ResetMiniGamesResults(void);
#endif // GUARD_NEW_GAME_H
diff --git a/include/pokeblock.h b/include/pokeblock.h
new file mode 100644
index 000000000..5d52f8e55
--- /dev/null
+++ b/include/pokeblock.h
@@ -0,0 +1,45 @@
+#ifndef GUARD_POKEBLOCK_H
+#define GUARD_POKEBLOCK_H
+
+enum
+{
+ PBLOCK_CLR_BLACK,
+ PBLOCK_CLR_RED,
+ PBLOCK_CLR_BLUE,
+ PBLOCK_CLR_PINK,
+ PBLOCK_CLR_GREEN,
+ PBLOCK_CLR_YELLOW
+};
+
+enum
+{
+ PBLOCK_COLOR,
+ PBLOCK_SPICY,
+ PBLOCK_DRY,
+ PBLOCK_SWEET,
+ PBLOCK_BITTER,
+ PBLOCK_SOUR,
+ PBLOCK_FEEL,
+};
+
+void ClearPokeblocks(void);
+
+/*
+void sub_810B96C(void);
+u8 sub_810BA50(s16, s16, u8);
+u8 sub_810C9B0(struct Pokeblock *);
+s16 GetPokeblockData(const struct Pokeblock *, u8);
+u8 sub_810C9E8(struct Pokeblock *);
+void sub_810BA7C(u8);
+bool8 PokeblockClearIfExists(u8);
+s16 PokeblockGetGain(u8, const struct Pokeblock *);
+u8 sub_810CB68(u8, u8*);
+void PokeblockCopyName(struct Pokeblock *pokeblock, u8 *dest);
+void CB2_PreparePokeblockFeedScene(void);
+
+#include "main.h"
+
+void sub_8136130(struct Pokeblock *, MainCallback);
+*/
+
+#endif // GUARD_POKEBLOCK_H
diff --git a/include/pokemon_size_record.h b/include/pokemon_size_record.h
new file mode 100644
index 000000000..43cb505d6
--- /dev/null
+++ b/include/pokemon_size_record.h
@@ -0,0 +1,12 @@
+#ifndef GUARD_POKEMON_SIZE_RECORD_H
+#define GUARD_POKEMON_SIZE_RECORD_H
+
+void InitSeedotSizeRecord(void);
+void GetSeedotSizeRecordInfo(void);
+void CompareSeedotSize(void);
+
+void InitLotadSizeRecord(void);
+void GetLotadSizeRecordInfo(void);
+void CompareLotadSize(void);
+
+#endif // GUARD_POKEMON_SIZE_RECORD_H
diff --git a/include/roamer.h b/include/roamer.h
new file mode 100644
index 000000000..af7f86e79
--- /dev/null
+++ b/include/roamer.h
@@ -0,0 +1,11 @@
+#ifndef GUARD_ROAMER_H
+#define GUARD_ROAMER_H
+
+void ClearRoamerData(void);
+void ClearRoamerLocationData(void);
+void UpdateLocationHistoryForRoamer(void);
+void RoamerMoveToOtherLocationSet(void);
+void RoamerMove();
+u8 TryStartRoamerEncounter(void);
+
+#endif // GUARD_ROAMER_H
diff --git a/include/script.h b/include/script.h
new file mode 100644
index 000000000..2a738698c
--- /dev/null
+++ b/include/script.h
@@ -0,0 +1,59 @@
+#ifndef GUARD_SCRIPT_H
+#define GUARD_SCRIPT_H
+
+struct ScriptContext;
+
+typedef bool8 (*ScrCmdFunc)(struct ScriptContext *);
+typedef u8 Script[];
+
+struct ScriptContext
+{
+ u8 stackDepth;
+ u8 mode;
+ u8 comparisonResult;
+ u8 (*nativePtr)(void);
+ const u8 *scriptPtr;
+ const u8 *stack[20];
+ ScrCmdFunc *cmdTable;
+ ScrCmdFunc *cmdTableEnd;
+ u32 data[4];
+};
+
+#define ScriptReadByte(ctx) (*(ctx->scriptPtr++))
+
+void InitScriptContext(struct ScriptContext *ctx, void *cmdTable, void *cmdTableEnd);
+u8 SetupBytecodeScript(struct ScriptContext *ctx, const u8 *ptr);
+void SetupNativeScript(struct ScriptContext *ctx, void *ptr);
+void StopScript(struct ScriptContext *ctx);
+u8 RunScriptCommand(struct ScriptContext *ctx);
+u8 ScriptPush(struct ScriptContext *ctx, const u8 *ptr);
+const u8 *ScriptPop(struct ScriptContext *ctx);
+void ScriptJump(struct ScriptContext *ctx, u8 *ptr);
+void ScriptCall(struct ScriptContext *ctx, u8 *ptr);
+void ScriptReturn(struct ScriptContext *ctx);
+u16 ScriptReadHalfword(struct ScriptContext *ctx);
+u32 ScriptReadWord(struct ScriptContext *ctx);
+void ScriptContext2_Enable(void);
+void ScriptContext2_Disable(void);
+bool8 ScriptContext2_IsEnabled(void);
+void ScriptContext1_Init(void);
+bool8 ScriptContext2_RunScript(void);
+void ScriptContext1_SetupScript(const u8 *ptr);
+void ScriptContext1_Stop(void);
+void EnableBothScriptContexts(void);
+void ScriptContext2_RunNewScript(const u8 *ptr);
+u8 *mapheader_get_tagged_pointer(u8 tag);
+void mapheader_run_script_by_tag(u8 tag);
+u8 *mapheader_get_first_match_from_tagged_ptr_list(u8 tag);
+void mapheader_run_script_with_tag_x1(void);
+void mapheader_run_script_with_tag_x3(void);
+void mapheader_run_script_with_tag_x5(void);
+void mapheader_run_script_with_tag_x6(void);
+bool8 mapheader_run_first_tag2_script_list_match(void);
+void mapheader_run_first_tag4_script_list_match(void);
+u32 CalculateRamScriptChecksum(void);
+void ClearRamScript(void);
+bool8 InitRamScript(u8 *script, u16 scriptSize, u8 mapGroup, u8 mapNum, u8 objectId);
+u8 *GetRamScript(u8 objectId, u8 *script);
+
+#endif // GUARD_SCRIPT_H