Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
43 changes: 23 additions & 20 deletions headers/functions/arm9.h
Original file line number Diff line number Diff line change
Expand Up @@ -171,8 +171,8 @@ int FindItemInInventory(enum item_id item_id);
int SprintfStatic(char* str, const char* format, ...);
void ItemZInit(struct item* item);
bool AreItemsEquivalent(struct item* item1, struct item* item2, int bitmask);
int WriteItemsToSave(void* start_address, uint32_t total_length);
int ReadItemsFromSave(void* start_address, uint32_t total_length);
int GetItemsForSave(void* dst, uint32_t len);
int ReadItemsFromSave(void* src, uint32_t len);
bool IsItemAvailableInDungeonGroup(enum dungeon_id dungeon_id, enum item_id item_id);
enum item_id GetItemIdFromList(int list_id, int category_num, int item_num);
enum item_id NormalizeTreasureBox(enum item_id item_id);
Expand Down Expand Up @@ -378,10 +378,10 @@ void DungeonToGroundMoveset(undefined* dst, undefined* src);
void GetInfoGroundMoveset(undefined* moveset, struct move_id_16* moves);
int FindFirstFreeMovesetIdx(undefined* moveset);
void LearnMoves(undefined* moveset, struct move_id_16* moves);
void CopyMoveTo(undefined* write_info, void* buffer_write);
void CopyMoveFrom(undefined* read_info, void* buffer_read);
void CopyMovesetTo(undefined* write_info, void* buffer_write);
void CopyMovesetFrom(undefined* read_info, void* buffer_read);
void CopyMoveToStream(struct bitstream* bitstream, struct ground_move* src);
void CopyMoveFromStream(struct bitstream* bitstream, struct ground_move* dst);
void CopyMovesetToStream(struct bitstream* bitstream, struct ground_move* src);
void CopyMovesetFromStream(struct bitstream* bitstream, struct ground_move* dst);
bool Is2TurnsMove(enum move_id move_id);
bool IsRegularAttackOrProjectile(enum move_id move_id);
bool IsPunchMove(enum move_id move_id);
Expand Down Expand Up @@ -893,10 +893,10 @@ void IncrementNbAdventures(void);
int GetNbAdventures(void);
bool CanMonsterSpawn(enum monster_id monster_id);
void IncrementExclusiveMonsterCounts(enum monster_id monster_id);
void CopyProgressInfoTo(undefined* write_info, undefined4 param_2, undefined4 param_3, int param_4);
undefined4 CopyProgressInfoFromScratchTo(void* start_addr, uint32_t total_len);
void CopyProgressInfoFrom(undefined* read_info);
undefined4 CopyProgressInfoFromScratchFrom(void* start_addr, uint32_t total_len);
void CopyProgressInfoToStream(struct bitstream* stream);
uint32_t GetProgressInfoForSave(void* dst, uint32_t len);
void CopyProgressInfoFromStream(struct bitstream* stream);
uint32_t ReadProgressInfoFromSave(void* src, uint32_t len);
void InitKaomadoStream(void);
void InitPortraitParams(struct portrait_params* portrait);
void InitPortraitParamsWithMonsterId(struct portrait_params* portrait, enum monster_id monster_id);
Expand Down Expand Up @@ -967,14 +967,17 @@ uint32_t GetNbItemAcquired(void);
void SetChallengeLetterCleared(uint32_t challenge_id);
uint32_t GetSentryDutyGamePoints(int32_t rank);
int32_t SetSentryDutyGamePoints(uint32_t points);
void CopyLogTo(undefined* write_info);
void CopyLogFrom(undefined* read_info);
void CopyLogToStream(struct bitstream* stream);
void CopyLogFromStream(struct bitstream* stream);
void GetAbilityString(undefined* buf, enum ability_id ability_id);
int GetAbilityDescStringId(enum ability_id ability_id);
int GetTypeStringId(enum type_id type_id);
enum type_id GetConversion2ConvertToType(enum type_id attack_type_id);
void CopyBitsTo(undefined* write_info, void* buf_write, int nbits);
void CopyBitsFrom(undefined* read_info, void* buf_read, int nbits);
void InitBitstreamForWrite(struct bitstream* stream, void* src, uint32_t len);
void InitBitstreamForRead(struct bitstream* stream, void* dst, uint32_t len);
void BitstreamDebug(struct bitstream* stream);
void CopyBitsToStream(struct bitstream* stream, void* src, int nbits);
void CopyBitsFromStream(struct bitstream* stream, void* dst, int nbits);
void StoreDefaultTeamData(void);
void GetMainTeamNameWithCheck(char* buf);
void GetMainTeamName(char* buf);
Expand Down Expand Up @@ -1010,8 +1013,8 @@ bool IsSpecialEpisodeDungeon(enum dungeon_id dungeon_id);
enum item_id RetrieveFromItemList1(undefined* dungeon_info, undefined4 param_2);
bool IsForbiddenFloor(undefined* dungeon_info, undefined4 param_2, undefined4 param_3,
undefined4 param_4);
void Copy16BitsTo(undefined* write_info, void* buf_write);
void Copy16BitsFrom(undefined* read_info, void* buf_read);
void Copy16BitsToStream(struct bitstream* stream, void* src);
void Copy16BitsFromStream(struct bitstream* stream, void* dst);
enum item_id RetrieveFromItemList2(undefined* dungeon_info, undefined4 param_2);
bool IsInvalidForMission(enum dungeon_id dungeon_id);
bool IsExpEnabledInDungeon(enum dungeon_id dungeon_id);
Expand Down Expand Up @@ -1150,10 +1153,10 @@ enum iq_skill_id GetNextIqSkill(enum monster_id monster_id, int monster_iq);
bool ExplorerMazeMonsterExists(void);
void GetExplorerMazeTeamName(char* buffer);
struct ground_monster* GetExplorerMazeMonster(uint8_t entry_number);
undefined4 WriteMonsterInfoToSave(void* start_addr, uint32_t total_len);
undefined4 ReadMonsterInfoFromSave(void* start_addr, uint32_t total_len);
void WriteMonsterToSave(undefined* write_info, struct ground_monster* monster);
void ReadMonsterFromSave(undefined* read_info, struct ground_monster* monster);
uint32_t GetMonsterInfoForSave(void* dst, uint32_t len);
uint32_t ReadMonsterInfoFromSave(void* src, uint32_t len);
void CopyMonsterToStream(struct bitstream* stream, struct ground_monster* monster);
void CopyMonsterFromStream(struct bitstream* stream, struct ground_monster* monster);
void GetEvolutionPossibilities(struct ground_monster* monster, undefined* evo);
int GetMonsterEvoStatus(struct ground_monster* monster);
bool HandleShedinjaEvolution(int16_t* member_idx, enum monster_id monster_id);
Expand Down
9 changes: 9 additions & 0 deletions headers/types/common/common.h
Original file line number Diff line number Diff line change
Expand Up @@ -1437,4 +1437,13 @@ struct buttons {
};
ASSERT_SIZE(struct buttons, 2);

struct bitstream {
char* ptr; // 0x0: Current byte
undefined4 end; // 0x4: End of the region the bitstream can read from / write to. Doesn't seem
// to do anything with this information?
uint32_t bit_idx; // 0x8: Bit position in current byte
uint32_t bit_count; // 0xC: Total bits this stream has used
};
ASSERT_SIZE(struct bitstream, 16);

#endif
Loading
Loading