Document Battle Dome scripts and some battle_dome.c
This commit is contained in:
@@ -1,9 +1,9 @@
|
||||
#ifndef GUARD_BATTLE_DOME_H
|
||||
#define GUARD_BATTLE_DOME_H
|
||||
|
||||
extern u32 gUnknown_0203CD70;
|
||||
extern u32 gPlayerPartyLostHP;
|
||||
|
||||
int GetDomeTrainerMonCountInBits(u16 tournamentTrainerId);
|
||||
int GetDomeTrainerSelectedMons(u16 tournamentTrainerId);
|
||||
int TrainerIdToDomeTournamentId(u16 trainerId);
|
||||
|
||||
#endif // GUARD_BATTLE_DOME_H
|
||||
|
||||
@@ -1,6 +1,21 @@
|
||||
#ifndef GUARD_CONSTANTS_BATTLE_DOME_H
|
||||
#define GUARD_CONSTANTS_BATTLE_DOME_H
|
||||
|
||||
#define DOME_ROUND1 0
|
||||
#define DOME_ROUND2 1
|
||||
#define DOME_SEMIFINAL 2
|
||||
#define DOME_FINAL 3
|
||||
#define DOME_ROUNDS_COUNT 4
|
||||
|
||||
//#define DOME_TOURNAMENT_TRAINERS_COUNT 16 : defined in global
|
||||
#define DOME_TOURNAMENT_MATCHES_COUNT DOME_TOURNAMENT_TRAINERS_COUNT - 1
|
||||
|
||||
#define DOME_BATTLE_PARTY_SIZE 2
|
||||
|
||||
#define DOME_PLAYER_WON_MATCH 1
|
||||
#define DOME_PLAYER_LOST_MATCH 2
|
||||
#define DOME_PLAYER_RETIRED 9
|
||||
|
||||
#define BATTLE_DOME_FUNC_INIT 0
|
||||
#define BATTLE_DOME_FUNC_GET_DATA 1
|
||||
#define BATTLE_DOME_FUNC_SET_DATA 2
|
||||
@@ -22,24 +37,18 @@
|
||||
#define BATTLE_DOME_FUNC_REDUCE_PARTY 18
|
||||
#define BATTLE_DOME_FUNC_COMPARE_SEEDS 19
|
||||
#define BATTLE_DOME_FUNC_GET_WINNER_NAME 20
|
||||
#define BATTLE_DOME_FUNC_21 21
|
||||
#define BATTLE_DOME_FUNC_INIT_RESULTS_TREE 21
|
||||
#define BATTLE_DOME_FUNC_INIT_TRAINERS 22
|
||||
|
||||
#define DOME_DATA_WIN_STREAK 0
|
||||
#define DOME_DATA_WIN_STREAK_ACTIVE 1
|
||||
#define DOME_DATA_2 2
|
||||
#define DOME_DATA_3 3
|
||||
#define DOME_DATA_4 4
|
||||
#define DOME_DATA_5 5
|
||||
#define DOME_DATA_6 6
|
||||
#define DOME_DATA_7 7
|
||||
#define DOME_DATA_8 8
|
||||
#define DOME_DATA_9 9
|
||||
|
||||
#define DOME_ROUND1 0
|
||||
#define DOME_ROUND2 1
|
||||
#define DOME_SEMIFINAL 2
|
||||
#define DOME_FINAL 3
|
||||
#define DOME_ROUNDS_COUNT 4
|
||||
#define DOME_DATA_WIN_STREAK 0
|
||||
#define DOME_DATA_WIN_STREAK_ACTIVE 1
|
||||
#define DOME_DATA_ATTEMPTED_SINGLES_50 2
|
||||
#define DOME_DATA_ATTEMPTED_SINGLES_OPEN 3
|
||||
#define DOME_DATA_HAS_WON_SINGLES_50 4
|
||||
#define DOME_DATA_HAS_WON_SINGLES_OPEN 5
|
||||
#define DOME_DATA_ATTEMPTED_CHALLENGE 6
|
||||
#define DOME_DATA_HAS_WON_CHALLENGE 7
|
||||
#define DOME_DATA_SELECTED_MONS 8
|
||||
#define DOME_DATA_LAST_TOURNEY_TYPE 9
|
||||
|
||||
#endif //GUARD_CONSTANTS_BATTLE_DOME_H
|
||||
|
||||
@@ -6,9 +6,9 @@
|
||||
// Battle Frontier facility ids.
|
||||
#define FRONTIER_FACILITY_TOWER 0
|
||||
#define FRONTIER_FACILITY_DOME 1
|
||||
#define FRONTIER_FACILITY_PALACE 2
|
||||
#define FRONTIER_FACILITY_ARENA 3
|
||||
#define FRONTIER_FACILITY_FACTORY 4
|
||||
#define FRONTIER_FACILITY_PALACE 2 // also Verdanturf Tent
|
||||
#define FRONTIER_FACILITY_ARENA 3 // also Fallarbor Tent
|
||||
#define FRONTIER_FACILITY_FACTORY 4 // also Slateport Tent
|
||||
#define FRONTIER_FACILITY_PIKE 5
|
||||
#define FRONTIER_FACILITY_PYRAMID 6
|
||||
#define NUM_FRONTIER_FACILITIES 7
|
||||
@@ -17,10 +17,6 @@
|
||||
#define FACILITY_UNION_ROOM 8
|
||||
#define FACILITY_MULTI_OR_EREADER 9 // Direct Corner multi battles, multi battle with Steven, and e-Reader battles
|
||||
|
||||
#define TENT_VERDANTURF 2
|
||||
#define TENT_FALLARBOR 3
|
||||
#define TENT_SLATEPORT 4
|
||||
|
||||
// Battle Frontier lvl modes.
|
||||
#define FRONTIER_LVL_50 0
|
||||
#define FRONTIER_LVL_OPEN 1
|
||||
|
||||
@@ -58,6 +58,7 @@
|
||||
|
||||
#define TRAINER_ID_LENGTH 4
|
||||
#define MAX_MON_MOVES 4
|
||||
#define NUM_STATS 6
|
||||
|
||||
// party sizes
|
||||
#define PARTY_SIZE 6
|
||||
|
||||
@@ -80,7 +80,6 @@
|
||||
#define STAT_ACC 6 // Only in battles.
|
||||
#define STAT_EVASION 7 // Only in battles.
|
||||
|
||||
#define NUM_STATS 6
|
||||
#define NUM_BATTLE_STATS 8
|
||||
|
||||
// Shiny odds
|
||||
@@ -213,6 +212,8 @@
|
||||
#define FRIENDSHIP_EVENT_FAINT_OUTSIDE_BATTLE 7
|
||||
#define FRIENDSHIP_EVENT_FAINT_LARGE 8
|
||||
|
||||
#define MAX_FRIENDSHIP 0xFF
|
||||
|
||||
#define STATUS_PRIMARY_NONE 0
|
||||
#define STATUS_PRIMARY_POISON 1
|
||||
#define STATUS_PRIMARY_PARALYSIS 2
|
||||
|
||||
@@ -300,7 +300,7 @@ struct BattleTowerEReaderTrainer
|
||||
struct FrontierMonData
|
||||
{
|
||||
u16 moves[MAX_MON_MOVES];
|
||||
u8 evs[6];
|
||||
u8 evs[NUM_STATS];
|
||||
u8 nature;
|
||||
};
|
||||
|
||||
@@ -317,7 +317,7 @@ struct BattleDomeTrainer
|
||||
u16 trainerId:10;
|
||||
u16 isEliminated:1;
|
||||
u16 eliminatedAt:2;
|
||||
u16 unk3:3;
|
||||
u16 forfeited:3;
|
||||
};
|
||||
|
||||
#define DOME_TOURNAMENT_TRAINERS_COUNT 16
|
||||
@@ -332,10 +332,6 @@ struct BattleFrontier
|
||||
/*0xCA9*/ u8 lvlMode:2;
|
||||
/*0xCA9*/ u8 challengePaused:1;
|
||||
/*0xCA9*/ u8 field_CA9_b:1;
|
||||
/*0xCA9*/ u8 unused_CA9_c:1;
|
||||
/*0xCA9*/ u8 unused_CA9_d:1;
|
||||
/*0xCA9*/ u8 unused_CA9_e:1;
|
||||
/*0xCA9*/ u8 unused_CA9_f:1;
|
||||
/*0xCAA*/ u16 selectedPartyMons[MAX_FRONTIER_PARTY_SIZE];
|
||||
/*0xCB2*/ u16 curChallengeBattleNum; // Battle number / room number (Pike) / floor number (Pyramid)
|
||||
/*0xCB4*/ u16 trainerIds[20];
|
||||
@@ -347,17 +343,17 @@ struct BattleFrontier
|
||||
/*0xD04*/ u16 towerNumWins; // Increments to MAX_STREAK but never read otherwise
|
||||
/*0xD06*/ u8 towerBattleOutcome;
|
||||
/*0xD07*/ u8 towerLvlMode;
|
||||
/*0xD08*/ u8 field_D08_0:1;
|
||||
/*0xD08*/ u8 field_D08_1:1;
|
||||
/*0xD08*/ u8 field_D08_2:1;
|
||||
/*0xD08*/ u8 field_D08_3:1;
|
||||
/*0xD08*/ u8 field_D08_4:1;
|
||||
/*0xD08*/ u8 field_D08_5:1;
|
||||
/*0xD08*/ u8 field_D08_6:1;
|
||||
/*0xD08*/ u8 field_D08_7:1;
|
||||
/*0xD09*/ u8 filler_D09;
|
||||
/*0xD0A*/ u8 field_D0A;
|
||||
/*0xD0B*/ u8 field_D0B;
|
||||
/*0xD08*/ u8 domeAttemptedSingles50:1;
|
||||
/*0xD08*/ u8 domeAttemptedSinglesOpen:1;
|
||||
/*0xD08*/ u8 domeHasWonSingles50:1;
|
||||
/*0xD08*/ u8 domeHasWonSinglesOpen:1;
|
||||
/*0xD08*/ u8 domeAttemptedDoubles50:1;
|
||||
/*0xD08*/ u8 domeAttemptedDoublesOpen:1;
|
||||
/*0xD08*/ u8 domeHasWonDoubles50:1;
|
||||
/*0xD08*/ u8 domeHasWonDoublesOpen:1;
|
||||
/*0xD09*/ u8 domeUnused;
|
||||
/*0xD0A*/ u8 domeLvlMode;
|
||||
/*0xD0B*/ u8 domeBattleMode;
|
||||
/*0xD0C*/ u16 domeWinStreaks[2][2];
|
||||
/*0xD14*/ u16 domeRecordWinStreaks[2][2];
|
||||
/*0xD1C*/ u16 domeTotalChampionships[2][2];
|
||||
@@ -396,7 +392,7 @@ struct BattleFrontier
|
||||
/*0xEB8*/ u16 battlePoints;
|
||||
/*0xEBA*/ u16 cardBattlePoints;
|
||||
/*0xEBC*/ u32 battlesCount;
|
||||
/*0xEC0*/ u16 field_EC0[16];
|
||||
/*0xEC0*/ u16 domeWinningMoves[DOME_TOURNAMENT_TRAINERS_COUNT];
|
||||
/*0xEE0*/ u8 trainerFlags;
|
||||
/*0xEE1*/ u8 opponentNames[2][PLAYER_NAME_LENGTH + 1];
|
||||
/*0xEF1*/ u8 opponentTrainerIds[2][TRAINER_ID_LENGTH];
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
void CB2_DoHallOfFameScreen(void);
|
||||
void CB2_DoHallOfFameScreenDontSaveData(void);
|
||||
void CB2_DoHallOfFamePC(void);
|
||||
void sub_8175280(void);
|
||||
void DoConfettiEffect(void);
|
||||
|
||||
// hof_pc.c
|
||||
void ReturnFromHallOfFamePC(void);
|
||||
|
||||
Reference in New Issue
Block a user