diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/apprentice.h | 3 | ||||
-rw-r--r-- | include/battle_dome.h | 2 | ||||
-rw-r--r-- | include/battle_frontier_1.h | 6 | ||||
-rw-r--r-- | include/battle_frontier_2.h | 19 | ||||
-rw-r--r-- | include/constants/battle_frontier.h | 3 | ||||
-rw-r--r-- | include/field_specials.h | 1 | ||||
-rw-r--r-- | include/frontier_util.h | 31 | ||||
-rw-r--r-- | include/global.h | 91 | ||||
-rw-r--r-- | include/menu.h | 1 | ||||
-rw-r--r-- | include/new_game.h | 6 | ||||
-rw-r--r-- | include/record_mixing.h | 30 | ||||
-rw-r--r-- | include/recorded_battle.h | 18 | ||||
-rw-r--r-- | include/save.h | 2 | ||||
-rw-r--r-- | include/strings.h | 43 | ||||
-rw-r--r-- | include/tv.h | 2 |
15 files changed, 151 insertions, 107 deletions
diff --git a/include/apprentice.h b/include/apprentice.h index ca0b04800..195106c53 100644 --- a/include/apprentice.h +++ b/include/apprentice.h @@ -9,7 +9,8 @@ struct ApprenticeTrainer u16 otId; u8 facilityClass; u16 species[APPRENTICE_SPECIES_COUNT]; - u8 rest[14]; + u8 id; + u16 easyChatWords[6]; }; extern const struct ApprenticeTrainer gApprentices[]; diff --git a/include/battle_dome.h b/include/battle_dome.h index d05b08689..2265f14ce 100644 --- a/include/battle_dome.h +++ b/include/battle_dome.h @@ -3,7 +3,7 @@ extern u32 gUnknown_0203CD70; -s32 GetTrainerMonCountInBits(u16 tournamentTrainerId); +s32 GetDomeTrainerMonCountInBits(u16 tournamentTrainerId); s32 TrainerIdToDomeTournamentId(u16 trainerId); #endif // GUARD_BATTLE_DOME_H diff --git a/include/battle_frontier_1.h b/include/battle_frontier_1.h deleted file mode 100644 index bc777914a..000000000 --- a/include/battle_frontier_1.h +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef GUARD_BATTLE_FRONTIER_1_H -#define GUARD_BATTLE_FRONTIER_1_H - -bool32 sub_8196034(void); - -#endif // GUARD_BATTLE_FRONTIER_1_H diff --git a/include/battle_frontier_2.h b/include/battle_frontier_2.h deleted file mode 100644 index 3bd605829..000000000 --- a/include/battle_frontier_2.h +++ /dev/null @@ -1,19 +0,0 @@ -#ifndef GUARD_BATTLE_FRONTIER_2_H -#define GUARD_BATTLE_FRONTIER_2_H - -#define FRONTIER_BEFORE_TEXT 0 -#define FRONTIER_WIN_TEXT 1 -#define FRONTIER_LOSE_TEXT 2 - -void CopyFrontierTrainerText(u8 whichText, u16 trainerId); -void sub_81A8934(u8); -void sub_81A895C(void); -u16 sub_81A89A0(u8); -void sub_81A8AF8(void); -bool8 InBattlePike(void); -void sub_81AA078(u16*, u8); -void sub_81A4C30(void); -bool8 sub_81A6BF4(void); -u8 sub_81A6CA8(u8, u8); - -#endif // GUARD_BATTLE_FRONTIER_2_H diff --git a/include/constants/battle_frontier.h b/include/constants/battle_frontier.h index 204a09f60..b5ad4f072 100644 --- a/include/constants/battle_frontier.h +++ b/include/constants/battle_frontier.h @@ -38,4 +38,7 @@ #define SPECIAL_BATTLE_PIKE_DOUBLE 9 #define SPECIAL_BATTLE_PYRAMID 10 +// For 'ShowFacilityResultsWindow' function which is a part of the 'CallFrontierUtilFunc' special. +#define RESULTS_LINK_CONTEST 7 + #endif // GUARD_CONSTANTS_BATTLE_FRONTIER_H diff --git a/include/field_specials.h b/include/field_specials.h index 0e2daf9c3..50823ba7d 100644 --- a/include/field_specials.h +++ b/include/field_specials.h @@ -15,5 +15,6 @@ bool32 sub_8138168(void); bool32 sub_81381B0(void); bool32 sub_81381F8(void); bool32 CountSSTidalStep(u16 delta); +void sub_813A878(u8 a0); #endif // GUARD_FIELD_SPECIALS_H diff --git a/include/frontier_util.h b/include/frontier_util.h new file mode 100644 index 000000000..cfc3a8af4 --- /dev/null +++ b/include/frontier_util.h @@ -0,0 +1,31 @@ +#ifndef GUARD_FRONTIER_UTIL_H +#define GUARD_FRONTIER_UTIL_H + +#define FRONTIER_BEFORE_TEXT 0 +#define FRONTIER_PLAYER_LOST_TEXT 1 +#define FRONTIER_PLAYER_WON_TEXT 2 + +void CallFrontierUtilFunc(void); +u8 sub_81A3610(void); +void CopyFrontierTrainerText(u8 whichText, u16 trainerId); +void sub_81A3908(void); +u32 GetCurrentFacilityWinStreak(void); +void sub_81A3ACC(void); +u8 GetPlayerSymbolCountForFacility(u8 facility); +void ShowRankingHallRecordsWindow(void); +void ScrollRankingHallRecordsWindow(void); +void ClearRankingHallRecords(void); +u8 GetFrontierBrainTrainerPicIndex(void); +u8 GetFrontierBrainTrainerClass(void); +void CopyFrontierBrainTrainerName(u8 *dst); +bool8 IsFrontierBrainFemale(void); +void SetFrontierBrainEventObjGfx_2(void); +void CreateFrontierBrainPokemon(void); +u16 GetFrontierBrainMonSpecies(u8 monId); +void SetFrontierBrainEventObjGfx(u8 facility); +u16 GetFrontierBrainMonMove(u8 monId, u8 moveSlotId); +u8 GetFrontierBrainMonNature(u8 monId); +u8 GetFrontierBrainMonEvs(u8 monId, u8 evStatId); +s32 GetFronterBrainSymbol(void); + +#endif // GUARD_FRONTIER_UTIL_H diff --git a/include/global.h b/include/global.h index 0cff281e7..c2b139e7a 100644 --- a/include/global.h +++ b/include/global.h @@ -137,6 +137,7 @@ enum LanguageId #define BAG_BERRIES_COUNT 46 #define PYRAMID_BAG_ITEMS_COUNT 10 +#define HALL_FACILITIES_COUNT 9 // 7 facilities for single mode + tower double mode + tower multi mode. // string lengths #define ITEM_NAME_LENGTH 14 @@ -331,8 +332,8 @@ struct EmeraldBattleTowerRecord /*0x04*/ u8 name[PLAYER_NAME_LENGTH + 1]; /*0x0C*/ u8 trainerId[4]; /*0x10*/ u16 greeting[6]; - /*0x1C*/ u16 unk1C[6]; - /*0x28*/ u16 unk28[6]; + /*0x1C*/ u16 speechWon[6]; + /*0x28*/ u16 speechLost[6]; /*0x34*/ struct UnknownPokemonStruct party[4]; /*0xE4*/ u8 language; /*0xE8*/ u32 checksum; @@ -400,14 +401,11 @@ struct BattleFrontier /*0xCB2*/ u16 curChallengeBattleNum; // In case of battle pyramid, the floor. /*0xCB4*/ u16 field_CB4[20]; /*0xCDC*/ u32 field_CDC; - /*0xCE0*/ u16 winStreaks[4][2]; - /*0xCF0*/ u16 field_CF0[2]; - /*0xCF4*/ u16 field_CF4[2]; - /*0xCF8*/ u16 field_CF8[2]; - /*0xCFC*/ u16 field_CFC[2]; - /*0xD06*/ u16 field_D00; - /*0xD06*/ u16 field_D02; - /*0xD06*/ u16 field_D04; + /*0xCE0*/ u16 towerWinStreaks[4][2]; + /*0xCF0*/ u16 towerRecordWinStreaks[4][2]; + /*0xD00*/ u16 field_D00; + /*0xD02*/ u16 field_D02; + /*0xD04*/ u16 field_D04; /*0xD06*/ u8 field_D06; /*0xD07*/ u8 field_D07; /*0xD08*/ u8 field_D08_0:1; @@ -421,43 +419,37 @@ struct BattleFrontier /*0xD09*/ u8 filler_D09; /*0xD0A*/ u8 field_D0A; /*0xD0B*/ u8 field_D0B; - /*0xD0C*/ u16 field_D0C[2][2]; - /*0xD14*/ u16 field_D14[2][2]; - /*0xD1C*/ u16 field_D1C[2][2]; + /*0xD0C*/ u16 domeWinStreaks[2][2]; + /*0xD14*/ u16 domeRecordWinStreaks[2][2]; + /*0xD1C*/ u16 domeTotalChampionships[2][2]; /*0xD24*/ struct BattleDomeTrainer domeTrainers[DOME_TOURNAMENT_TRAINERS_COUNT]; - /*0xD64*/ u16 domeMonId[DOME_TOURNAMENT_TRAINERS_COUNT][3]; + /*0xD64*/ u16 domeMonIds[DOME_TOURNAMENT_TRAINERS_COUNT][3]; /*0xD64*/ u16 field_DC4[2]; - /*0xDC8*/ u16 field_DC8[2][2]; - /*0xDD0*/ u16 field_DD0[2][2]; + /*0xDC8*/ u16 palaceWinStreaks[2][2]; + /*0xDD0*/ u16 palaceRecordWinStreaks[2][2]; /*0xDD8*/ u16 field_DD8; - /*0xDDA*/ u16 field_DDA[2]; - /*0xDDE*/ u16 field_DDE[2]; - /*0xDE2*/ u16 field_DE2[2][2]; - /*0xDEA*/ u16 field_DEA[2]; - /*0xDEE*/ u16 field_DEE; - /*0xDF0*/ u16 field_DF0; - /*0xDF2*/ u16 field_DF2; - /*0xDF4*/ u16 field_DF4; - /*0xDF6*/ u16 field_DF6; - /*0xDF8*/ u16 field_DF8; - /*0xDFA*/ u16 field_DFA; - /*0xDFC*/ u16 field_DFC; - /*0xDFE*/ u16 field_DFE; - /*0xE00*/ u16 field_E00; + /*0xDDA*/ u16 arenaWinStreaks[2]; + /*0xDDE*/ u16 arenaRecordStreaks[2]; + /*0xDE2*/ u16 factoryWinStreaks[2][2]; + /*0xDEA*/ u16 factoryRecordWinStreaks[2][2]; + /*0xDF6*/ u16 factoryRentsCount[2][2]; + /*0xDFA*/ u16 factoryRecordRentsCount[2][2]; /*0xE02*/ u16 field_E02; - /*0xE04*/ u16 field_E04[2]; - /*0xE08*/ u16 field_E08[9]; - /*0xE1A*/ u16 field_E1A[2]; - /*0xE1E*/ u16 field_E1E[7]; + /*0xE04*/ u16 pikeWinStreaks[2]; + /*0xE08*/ u16 pikeRecordStreaks[2]; + /*0xE0C*/ u16 pikeTotalStreaks[2]; + /*0xE10*/ u16 field_E10[5]; + /*0xE1A*/ u16 pyramidWinStreaks[2]; + /*0xE1E*/ u16 pyramidRecordStreaks[2]; + /*0xE1E*/ u16 field_E1F[5]; /*0xE2C*/ struct PyramidBag pyramidBag; /*0xE58*/ u16 field_E58; /*0xE6A*/ u16 field_E6A; /*0xE6C*/ u16 field_E6C; /*0xE6E*/ u16 field_E6E; /*0xE70*/ struct Struct_field_E70 field_E70[6]; - /*0xEB8*/ u16 frontierBattlePoints; - /*0xEBA*/ u8 field_EBA; - /*0xEBB*/ u8 field_EBB; + /*0xEB8*/ u16 battlePoints; + /*0xEBA*/ u16 field_EBA; /*0xEBC*/ u32 battlesCount; /*0xEC0*/ u16 field_EC0[16]; /*0xEE0*/ u8 field_EE0; @@ -491,6 +483,24 @@ struct PlayersApprentice /*0xB8*/ struct Sav2_B8 field_B8[9]; }; +struct RankingHall1P +{ + u8 id[4]; + u16 winStreak; + u8 name[PLAYER_NAME_LENGTH + 1]; + u8 language; +}; + +struct RankingHall2P +{ + u8 id1[4]; + u8 id2[4]; + u16 winStreak; + u8 name1[PLAYER_NAME_LENGTH + 1]; + u8 name2[PLAYER_NAME_LENGTH + 1]; + u8 language; +}; + struct SaveBlock2 { /*0x00*/ u8 playerName[PLAYER_NAME_LENGTH + 1]; @@ -515,12 +525,13 @@ struct SaveBlock2 /*0xA8*/ u32 field_A8; /*0xAC*/ u32 encryptionKey; /*0xB0*/ struct PlayersApprentice playerApprentice; - /*0xDC*/ struct Apprentice apprentices[4]; + /*0xDC*/ struct Apprentice apprentices[4]; // From record mixing. /*0x1EC*/ struct BerryCrush berryCrush; /*0x1FC*/ struct PokemonJumpResults pokeJump; /*0x20C*/ struct BerryPickingResults berryPick; - /*0x21C*/ u8 field_21C[1032]; - /*0x624*/ u16 contestLinkResults[20]; // 4 positions for 5 categories, possibly a struct or a 2d array + /*0x21C*/ struct RankingHall1P hallRecords1P[HALL_FACILITIES_COUNT][2][3]; // From record mixing. + /*0x57C*/ struct RankingHall2P hallRecords2P[2][3]; // From record mixing. + /*0x624*/ u16 contestLinkResults[5][4]; // 4 positions for 5 categories. /*0x64C*/ struct BattleFrontier frontier; }; // sizeof=0xF2C diff --git a/include/menu.h b/include/menu.h index d105eb5ec..175eabc07 100644 --- a/include/menu.h +++ b/include/menu.h @@ -26,7 +26,6 @@ u16 RunTextPrintersAndIsPrinter0Active(void); void sub_81973A4(void); void NewMenuHelpers_DrawDialogueFrame(u8, u8); void sub_819746C(u8 windowId, bool8 copyToVram); -void NewMenuHelpers_DrawStdWindowFrame(u8, u8); u16 AddTextPrinterParameterized2(u8 windowId, u8 fontId, const u8 *str, u8 speed, void (*callback)(struct TextSubPrinter *, u16), u8 fgColor, u8 bgColor, u8 shadowColor); void PrintPlayerNameOnWindow(u8, const u8*, u16, u16); void DisplayItemMessageOnField(u8 taskId, const u8 *src, TaskFunc callback); diff --git a/include/new_game.h b/include/new_game.h index 7e1169ec3..7032647ea 100644 --- a/include/new_game.h +++ b/include/new_game.h @@ -1,9 +1,9 @@ #ifndef GUARD_NEW_GAME_H #define GUARD_NEW_GAME_H -void WriteUnalignedWord(u32 var, u8 *dataPtr); -u32 ReadUnalignedWord(u8* dataPtr); -void CopyUnalignedWord(u8 *copyTo, u8 *copyFrom); +void SetTrainerId(u32 trainerId, u8 *dst); +u32 GetTrainerId(u8 *trainerId); +void CopyTrainerId(u8 *dst, u8 *src); void NewGameInitData(void); void sub_808447C(void); void Sav2_ClearSetDefault(void); diff --git a/include/record_mixing.h b/include/record_mixing.h index f1b74c143..0d50f46f9 100644 --- a/include/record_mixing.h +++ b/include/record_mixing.h @@ -1,35 +1,13 @@ #ifndef GUARD_RECORD_MIXING_H #define GUARD_RECORD_MIXING_H -// Exported type declarations -struct UnkRecordMixingStruct2a +struct PlayerHallRecords { - u8 playerId[4]; - u16 field_4; - u8 playerName[PLAYER_NAME_LENGTH + 1]; - u8 language; + struct RankingHall1P onePlayer[9][2]; + struct RankingHall2P twoPlayers[2]; }; -struct UnkRecordMixingStruct2b -{ - u8 playerId1[4]; - u8 playerId2[4]; - u16 field_8; - u8 playerName1[PLAYER_NAME_LENGTH + 1]; - u8 playerName2[PLAYER_NAME_LENGTH + 1]; - u8 language; -}; - -struct UnkRecordMixingStruct2 -{ - struct UnkRecordMixingStruct2a field_0[9][2]; - struct UnkRecordMixingStruct2b field_120[2]; -}; - -// Exported RAM declarations - -// Exported ROM declarations void sub_80E6BE8(void); -void sub_80E8260(struct UnkRecordMixingStruct2 *arg0); +void GetPlayerHallRecords(struct PlayerHallRecords *dst); #endif //GUARD_RECORD_MIXING_H diff --git a/include/recorded_battle.h b/include/recorded_battle.h index 81c88a15e..84c5c2ea2 100644 --- a/include/recorded_battle.h +++ b/include/recorded_battle.h @@ -14,16 +14,16 @@ u8 sub_81850D0(void); u8 sub_81850DC(u8 *arg0); void sub_81851A8(u8 *arg0); bool32 CanCopyRecordedBattleSaveData(void); -u32 MoveRecordedBattleToSaveData(void); +bool32 MoveRecordedBattleToSaveData(void); void PlayRecordedBattle(void (*CB2_After)(void)); u8 GetRecordedBattleFrontierFacility(void); -u8 sub_8185EAC(void); +u8 GetRecordedBattleFronterBrainSymbol(void); void RecordedBattle_SaveParties(void); u8 GetActiveBattlerLinkPlayerGender(void); void sub_8185F84(void); void sub_8185F90(u16 arg0); u8 sub_8185FAC(void); -u8 GetBattleStyleInRecordedBattle(void); +u8 GetBattleSceneInRecordedBattle(void); u8 GetTextSpeedInRecordedBattle(void); void RecordedBattle_CopyBattlerMoves(void); void sub_818603C(u8 arg0); @@ -31,11 +31,11 @@ u32 GetAiScriptsInRecordedBattle(void); void sub_8186444(void); bool8 sub_8186450(void); void sub_8186468(u8 *dst); -u8 sub_818649C(void); -u8 sub_81864A8(void); -u8 sub_81864B4(void); -u8 sub_81864C0(void); -void sub_81864CC(void); -u16 *sub_81864E0(void); +u8 GetRecordedBattleRecordMixFriendClass(void); +u8 GetRecordedBattleApprenticeId(void); +u8 GetRecordedBattleRecordMixFriendLanguage(void); +u8 GetRecordedBattleApprenticeLanguage(void); +void RecordedBattle_SaveBattleOutcome(void); +u16 *GetRecordedBattleEasyChatSpeech(void); #endif // GUARD_RECORDED_BATTLE_H diff --git a/include/save.h b/include/save.h index a87e31e99..a5f014904 100644 --- a/include/save.h +++ b/include/save.h @@ -94,7 +94,7 @@ u16 CalculateChecksum(void *data, u16 size); void UpdateSaveAddresses(void); u8 HandleSavingData(u8 saveType); u8 TrySavingData(u8 saveType); -u8 sub_8153380(void); +bool8 sub_8153380(void); bool8 sub_81533AC(void); u8 sub_81533E0(void); u8 sub_8153408(void); diff --git a/include/strings.h b/include/strings.h index c563353ec..9338ae624 100644 --- a/include/strings.h +++ b/include/strings.h @@ -877,4 +877,47 @@ extern const u8 gText_PokemonOnHook[]; extern const u8 gText_NotEvenANibble[]; extern const u8 gText_ItGotAway[]; +// Frontier records. +extern const u8 gText_WinStreak[]; +extern const u8 gText_Record[]; +extern const u8 gText_Current[]; +extern const u8 gText_RoomsCleared[]; +extern const u8 gText_Prev[]; +extern const u8 gText_SingleBattleRoomResults[]; +extern const u8 gText_DoubleBattleRoomResults[]; +extern const u8 gText_MultiBattleRoomResults[]; +extern const u8 gText_LinkMultiBattleRoomResults[]; +extern const u8 gText_Lv502[]; +extern const u8 gText_OpenLv[]; +extern const u8 gText_RentalSwap[]; +extern const u8 gText_ClearStreak[]; +extern const u8 gText_Total[]; +extern const u8 gText_Championships[]; +extern const u8 gText_SingleBattleTourneyResults[]; +extern const u8 gText_DoubleBattleTourneyResults[]; +extern const u8 gText_SingleBattleHallResults[]; +extern const u8 gText_DoubleBattleHallResults[]; +extern const u8 gText_BattleChoiceResults[]; +extern const u8 gText_TimesCleared[]; +extern const u8 gText_KOsInARow[]; +extern const u8 gText_SetKOTourneyResults[]; +extern const u8 gText_TimesVar1[]; +extern const u8 gText_BattleSwapSingleResults[]; +extern const u8 gText_BattleSwapDoubleResults[]; +extern const u8 gText_FloorsCleared[]; +extern const u8 gText_BattleQuestResults[]; +extern const u8 gText_LinkContestResults[]; +extern const u8 gText_4th[]; +extern const u8 gText_3rd[]; +extern const u8 gText_2nd[]; +extern const u8 gText_1st[]; +extern const u8 gText_SpaceAndSpace[]; +extern const u8 gText_CommaSpace[]; +extern const u8 gText_NewLine[]; +extern const u8 gText_ScrollTextUp[]; +extern const u8 gText_Space2[]; +extern const u8 gText_Are[]; +extern const u8 gText_Are2[]; +extern const u8 gText_123Dot[][3]; + #endif //GUARD_STRINGS_H diff --git a/include/tv.h b/include/tv.h index 4f1d7730f..5528bada7 100644 --- a/include/tv.h +++ b/include/tv.h @@ -51,5 +51,7 @@ void BravoTrainerPokemonProfile_BeforeInterview1(u16 move); void UpdateTVScreensOnMap(int, int); void TV_PrintIntToStringVar(u8 varIdx, int value); void SaveRecordedItemPurchasesForTVShow(void); +bool8 sub_80EE818(void); +void sub_80EE8C8(u16 winStreak, u8 facilityAndMode); #endif //GUARD_TV_H |