summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorDizzyEggg <jajkodizzy@wp.pl>2018-10-21 20:13:12 +0200
committerDizzyEggg <jajkodizzy@wp.pl>2018-10-21 20:13:12 +0200
commit0ab27e44b14a0dc4523b5bac7fef18312ab4fdde (patch)
treea751168badfcb4f98d30aec55ad8e3e112226a20 /include
parent16026fe91d5628f138be434841ae764534946b2c (diff)
more tower, fail
Diffstat (limited to 'include')
-rw-r--r--include/battle.h1
-rw-r--r--include/battle_tower.h2
-rw-r--r--include/constants/battle_frontier.h13
-rw-r--r--include/constants/battle_script_commands.h7
-rw-r--r--include/global.h17
5 files changed, 28 insertions, 12 deletions
diff --git a/include/battle.h b/include/battle.h
index 87aa2a45b..f34364ea6 100644
--- a/include/battle.h
+++ b/include/battle.h
@@ -561,6 +561,7 @@ struct BattleScripting
u8 field_23;
u8 windowsType; // 0 - normal, 1 - battle arena
u8 multiplayerId;
+ u8 specialTrainerBattleType;
};
// rom_80A5C6C
diff --git a/include/battle_tower.h b/include/battle_tower.h
index f79fbb8c4..a47007122 100644
--- a/include/battle_tower.h
+++ b/include/battle_tower.h
@@ -58,7 +58,7 @@ bool32 sub_816587C(union BattleTowerRecord *, union BattleTowerRecord *);
void CalcEmeraldBattleTowerChecksum(struct EmeraldBattleTowerRecord *);
void PutNewBattleTowerRecord(union BattleTowerRecord *);
void SetBattleFacilityTrainerGfxId(u16 trainerId, u8 tempVarId);
-void ConvertBattleFrontierTrainerSpeechToString(const u16 *words);
+void FrontierSpeechToString(const u16 *words);
void GetFrontierTrainerName(u8 *dest, u16 trainerIdx);
void GetEreaderTrainerName(u8 *dest);
diff --git a/include/constants/battle_frontier.h b/include/constants/battle_frontier.h
index 1cd750a3d..ca110aeb7 100644
--- a/include/constants/battle_frontier.h
+++ b/include/constants/battle_frontier.h
@@ -21,4 +21,17 @@
#define FRONTIER_MODE_MULTIS 2
#define FRONTIER_MODE_LINK_MULTIS 3
+// Special trainer battles.
+#define SPECIAL_BATTLE_TOWER 0
+#define SPECIAL_BATTLE_SECRET_BASE 1
+#define SPECIAL_BATTLE_EREADER 2
+#define SPECIAL_BATTLE_DOME 3
+#define SPECIAL_BATTLE_PALACE 4
+#define SPECIAL_BATTLE_ARENA 5
+#define SPECIAL_BATTLE_FACTORY 6
+#define SPECIAL_BATTLE_PIKE_SINGLE 7
+#define SPECIAL_BATTLE_STEVEN 8
+#define SPECIAL_BATTLE_PIKE_DOUBLE 9
+#define SPECIAL_BATTLE_PYRAMID 10
+
#endif // GUARD_CONSTANTS_BATTLE_FRONTIER_H
diff --git a/include/constants/battle_script_commands.h b/include/constants/battle_script_commands.h
index bd9d8e67d..dc07fda6e 100644
--- a/include/constants/battle_script_commands.h
+++ b/include/constants/battle_script_commands.h
@@ -11,9 +11,9 @@
#define sB_ANIM_ARG2 gBattleScripting + 0x11
#define sTRIPLE_KICK_POWER gBattleScripting + 0x12
#define sMOVEEND_STATE gBattleScripting + 0x14
-#define sBANK_WITH_ABILITY gBattleScripting + 0x15
+#define sBATTLER_WITH_ABILITY gBattleScripting + 0x15
#define sMULTIHIT_EFFECT gBattleScripting + 0x16
-#define sBANK gBattleScripting + 0x17
+#define sBATTLER gBattleScripting + 0x17
#define sB_ANIM_TURN gBattleScripting + 0x18
#define sB_ANIM_TARGETS_HIT gBattleScripting + 0x19
#define sSTATCHANGER gBattleScripting + 0x1A
@@ -26,8 +26,9 @@
#define sRESHOW_MAIN_STATE gBattleScripting + 0x21
#define sRESHOW_HELPER_STATE gBattleScripting + 0x22
#define sFIELD_23 gBattleScripting + 0x23
-#define sFIELD_24 gBattleScripting + 0x24
+#define sWINDOWS_TYPE gBattleScripting + 0x24
#define sMULTIPLAYER_ID gBattleScripting + 0x25
+#define sSPECIAL_TRAINER_BATTLE_TYPE gBattleScripting + 0x26
#define cEFFECT_CHOOSER gBattleCommunication + 3
#define cMULTISTRING_CHOOSER gBattleCommunication + 5
diff --git a/include/global.h b/include/global.h
index ef5a944d0..6840d5fe2 100644
--- a/include/global.h
+++ b/include/global.h
@@ -331,7 +331,8 @@ struct EmeraldBattleTowerRecord
/*0x04*/ u8 name[PLAYER_NAME_LENGTH + 1];
/*0x0C*/ u8 trainerId[4];
/*0x10*/ u16 greeting[6];
- /*0x1C*/ u8 filler_1c[0x18];
+ /*0x1C*/ u16 unk1C[6];
+ /*0x28*/ u16 unk28[6];
/*0x34*/ struct UnknownPokemonStruct party[4];
/*0xE4*/ u8 language;
/*0xE8*/ u32 checksum;
@@ -378,8 +379,8 @@ struct BattleDomeTrainer
struct BattleFrontier
{
- /*0x64C*/ struct EmeraldBattleTowerRecord battleTower;
- /*0x738*/ struct EmeraldBattleTowerRecord records[5]; // From record mixing.
+ /*0x64C*/ struct EmeraldBattleTowerRecord towerPlayer;
+ /*0x738*/ struct EmeraldBattleTowerRecord towerRecords[5]; // From record mixing.
/*0xBD4*/ u16 field_BD4;
/*0xBD6*/ u16 field_BD6;
/*0xBD8*/ u8 field_BD8[11];
@@ -397,7 +398,10 @@ struct BattleFrontier
/*0xCAA*/ u16 field_CAA[3];
/*0xCB0*/ u16 field_CB0;
/*0xCB2*/ u16 curChallengeBattleNum; // In case of battle pyramid, the floor.
- /*0xCB4*/ u16 battledTrainerIds[20];
+ /*0xCB4*/ u16 battledTrainerIds[17];
+ u16 field_CD6;
+ u16 field_CD8;
+ u16 field_CDA;
/*0xCDC*/ u32 field_CDC;
/*0xCE0*/ u16 field_CE0[4][2];
/*0xCF0*/ u16 field_CF0[2];
@@ -457,10 +461,7 @@ struct BattleFrontier
/*0xEB8*/ u16 frontierBattlePoints;
/*0xEBA*/ u8 field_EBA;
/*0xEBB*/ u8 field_EBB;
- /*0xEBC*/ u8 field_EBC;
- /*0xEBD*/ u8 field_EBD;
- /*0xEBE*/ u8 field_EBE;
- /*0xEBF*/ u8 field_EBF;
+ /*0xEBC*/ u32 battlesCount;
/*0xEC0*/ u16 field_EC0[16];
/*0xEE0*/ u8 field_EE0;
/*0xEE1*/ u8 field_EE1[2][PLAYER_NAME_LENGTH + 1];