summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xasm/dodrio_berry_picking.s2
-rw-r--r--data/contest_ai_scripts.s67
-rw-r--r--data/event_scripts.s2
-rw-r--r--data/text/contest_strings.inc2
-rw-r--r--include/contest.h104
-rw-r--r--include/graphics.h4
-rw-r--r--include/link.h2
-rw-r--r--include/new_game.h4
-rw-r--r--src/battle_controller_player.c9
-rw-r--r--src/battle_controller_safari.c3
-rw-r--r--src/battle_controller_wally.c3
-rw-r--r--src/battle_factory_screen.c12
-rw-r--r--src/battle_main.c6
-rw-r--r--src/battle_records.c5
-rw-r--r--src/battle_script_commands.c7
-rw-r--r--src/battle_transition.c17
-rw-r--r--src/berry_blender.c17
-rwxr-xr-xsrc/berry_crush.c2
-rw-r--r--src/berry_tag_screen.c5
-rw-r--r--src/clear_save_data_screen.c2
-rw-r--r--src/contest.c1849
-rw-r--r--src/contest_ai.c925
-rw-r--r--src/contest_effect.c506
-rw-r--r--src/contest_link_80F57C4.c30
-rw-r--r--src/contest_link_80FC4F4.c24
-rw-r--r--src/contest_link_81D9DE4.c2
-rw-r--r--src/data/contest_opponents.h192
-rw-r--r--src/diploma.c5
-rw-r--r--src/easy_chat.c7
-rw-r--r--src/egg_hatch.c9
-rw-r--r--src/evolution_graphics.c11
-rw-r--r--src/evolution_scene.c27
-rw-r--r--src/field_region_map.c5
-rw-r--r--src/graphics.c4
-rw-r--r--src/hof_pc.c3
-rwxr-xr-xsrc/item_menu.c5
-rw-r--r--src/link.c3
-rw-r--r--src/link_rfu.c2
-rw-r--r--src/mail.c5
-rw-r--r--src/main_menu.c10
-rw-r--r--src/mevent_801BAAC.c17
-rw-r--r--src/mystery_event_menu.c5
-rw-r--r--src/naming_screen.c5
-rw-r--r--src/new_game.c2
-rw-r--r--src/option_menu.c5
-rw-r--r--src/overworld.c4
-rw-r--r--src/pokeblock.c5
-rw-r--r--src/pokeblock_feed.c5
-rw-r--r--src/pokedex.c2
-rwxr-xr-xsrc/pokemon_jump.c2
-rw-r--r--src/rayquaza_scene.c20
-rw-r--r--src/recorded_battle.c3
-rw-r--r--src/region_map.c5
-rw-r--r--src/reset_rtc_screen.c5
-rw-r--r--src/reshow_battle_screen.c2
-rw-r--r--src/save_failed_screen.c2
-rwxr-xr-xsrc/script_pokemon_util_80F87D8.c26
-rwxr-xr-xsrc/shop.c2
-rw-r--r--src/slot_machine.c4
-rw-r--r--src/start_menu.c5
-rw-r--r--src/starter_choose.c3
-rw-r--r--src/title_screen.c10
-rw-r--r--src/trade.c6
-rwxr-xr-xsrc/trainer_card.c3
-rw-r--r--src/union_room.c12
-rwxr-xr-xsrc/union_room_chat.c2
-rw-r--r--src/unk_transition.c3
-rw-r--r--src/wallclock.c7
68 files changed, 2126 insertions, 1945 deletions
diff --git a/asm/dodrio_berry_picking.s b/asm/dodrio_berry_picking.s
index 505f305b9..f5d3ea0c4 100755
--- a/asm/dodrio_berry_picking.s
+++ b/asm/dodrio_berry_picking.s
@@ -377,7 +377,7 @@ _08024C5A:
ldrb r0, [r0]
cmp r0, 0
beq _08024D20
- bl sub_800E0E8
+ bl LoadWirelessStatusIndicatorSpriteGfx
movs r0, 0
movs r1, 0
bl CreateWirelessStatusIndicatorSprite
diff --git a/data/contest_ai_scripts.s b/data/contest_ai_scripts.s
index 6eb254dae..7346876d7 100644
--- a/data/contest_ai_scripts.s
+++ b/data/contest_ai_scripts.s
@@ -11,39 +11,40 @@
enum MON_4
.align 2
-gContestAIs:: @ 82DE350
- .4byte AI_CheckForBadMove
- .4byte AI_CheckForCombo
- .4byte AI_CheckBoring
- .4byte AI_CheckExcitement
- .4byte AI_CheckOrder
- .4byte AI_CheckForGoodMove
- .4byte AI_Erratic
- .4byte AI_Nothing
- .4byte AI_Nothing
- .4byte AI_Nothing
- .4byte AI_Nothing
- .4byte AI_Nothing
- .4byte AI_Nothing
- .4byte AI_Nothing
- .4byte AI_Nothing
- .4byte AI_Nothing
- .4byte AI_Nothing
- .4byte AI_Nothing
- .4byte AI_Nothing
- .4byte AI_Nothing
- .4byte AI_Nothing
- .4byte AI_Nothing
- .4byte AI_Nothing
- .4byte AI_Nothing
- .4byte AI_Nothing
- .4byte AI_Nothing
- .4byte AI_Nothing
- .4byte AI_Nothing
- .4byte AI_Nothing
- .4byte AI_Nothing
- .4byte AI_Nothing
- .4byte AI_Nothing
+gContestAIChecks:: @ 82DE350
+ .4byte AI_CheckForBadMove // 0x00000001
+ .4byte AI_CheckForCombo // 0x00000002
+ .4byte AI_CheckBoring // 0x00000004
+ .4byte AI_CheckExcitement // 0x00000008
+ .4byte AI_CheckOrder // 0x00000010
+ .4byte AI_CheckForGoodMove // 0x00000020
+ .4byte AI_Erratic // 0x00000040
+ .4byte AI_Nothing // 0x00000080
+ .4byte AI_Nothing // 0x00000100
+ .4byte AI_Nothing // 0x00000200
+ .4byte AI_Nothing // 0x00000400
+ .4byte AI_Nothing // 0x00000800
+ .4byte AI_Nothing // 0x00001000
+ .4byte AI_Nothing // 0x00002000
+ .4byte AI_Nothing // 0x00004000
+ .4byte AI_Nothing // 0x00008000
+ .4byte AI_Nothing // 0x00010000
+ .4byte AI_Nothing // 0x00020000
+ .4byte AI_Nothing // 0x00040000
+ .4byte AI_Nothing // 0x00080000
+ .4byte AI_Nothing // 0x00100000
+ .4byte AI_Nothing // 0x00200000
+ .4byte AI_Nothing // 0x00400000
+ .4byte AI_Nothing // 0x00800000
+ .4byte AI_Nothing // 0x01000000
+ .4byte AI_Nothing // 0x02000000
+ .4byte AI_Nothing // 0x04000000
+ .4byte AI_Nothing // 0x08000000
+ .4byte AI_Nothing // 0x10000000
+ .4byte AI_Nothing // 0x20000000
+ .4byte AI_Nothing // 0x40000000
+ .4byte AI_Nothing // 0x80000000
+
@ Unreferenced AI routine to encourage moves that improve condition on the first
@ turn. Additionally, it checks the appeal order of the user and the effect
diff --git a/data/event_scripts.s b/data/event_scripts.s
index 2587c63d2..e2887b632 100644
--- a/data/event_scripts.s
+++ b/data/event_scripts.s
@@ -3460,7 +3460,7 @@ EventScript_GotoTrainerScript:: @ 82742F6
gUnknown_0827E8CE:: @ 827E8CE
.string "Missed turn$"
-gUnknown_0827E8DA:: @ 827E8DA
+gText_LinkStandby4:: @ 827E8DA
.string "Link standby!$"
gUnknown_0827E8E8:: @ 827E8E8
diff --git a/data/text/contest_strings.inc b/data/text/contest_strings.inc
index 1406ba3cb..e332e16bb 100644
--- a/data/text/contest_strings.inc
+++ b/data/text/contest_strings.inc
@@ -633,7 +633,7 @@ gText_0827E6C4:: @ 827E6C4
.string "{STR_VAR_1} was\n"
.string "unaffected.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
-gText_0827E6E3:: @ 827E6E3
+gText_RepeatedAppeal:: @ 827E6E3
.string "{STR_VAR_1} disappointed\n"
.string "by repeating an appeal.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
diff --git a/include/contest.h b/include/contest.h
index a0b1a6b34..a4e209bcb 100644
--- a/include/contest.h
+++ b/include/contest.h
@@ -1,6 +1,27 @@
#ifndef GUARD_CONTEST_H
#define GUARD_CONTEST_H
+#include "palette.h"
+
+#define CONTESTANT_COUNT 4
+#define APPLAUSE_METER_SIZE 5
+#define CONTEST_TURN_COUNT 5
+
+enum
+{
+ CONTEST_DEBUG_MODE_OFF,
+ // Prints the totalPoints value for each contestant.
+ CONTEST_DEBUG_MODE_PRINT_POINT_TOTAL,
+ // Prints the ContestResourcesField1C::unk_C value as a bitstring for each contestant.
+ CONTEST_DEBUG_MODE_PRINT_UNK_C,
+ // Prints the ContestResourcesField1C::unk_D value as a bitstring for each contestant.
+ CONTEST_DEBUG_MODE_PRINT_UNK_D
+};
+
+#define LINK_CONTEST_FLAG_IS_LINK (1 << 0)
+#define LINK_CONTEST_FLAG_IS_WIRELESS (1 << 1)
+#define LINK_CONTEST_FLAG_HAS_RS_PLAYER (1 << 2)
+
enum
{
CONTEST_CATEGORY_COOL,
@@ -216,7 +237,7 @@ struct ContestPokemon
/*0x02*/ u8 nickname[POKEMON_NAME_LENGTH + 1];
/*0x0D*/ u8 trainerName[PLAYER_NAME_LENGTH + 1];
/*0x15*/ u8 trainerGfxId;
- /*0x18*/ u32 flags;
+ /*0x18*/ u32 aiChecks;
/*0x1C*/ u8 whichRank:2; // 0x1 0x2
u8 aiPool_Cool:1; // 0x4
u8 aiPool_Beauty:1; // 0x8
@@ -235,14 +256,12 @@ struct ContestPokemon
/*0x3C*/ u32 otId; // otId
};
-struct Shared18000
+struct Shared1A004
{
- /*0x18000*/ u8 unk18000;
- /*0x18001*/ u8 filler18001[3];
- /*0x18004*/ u16 unk18004[16][16];
- /*0x18204*/ u16 unk18204[0x200];
- /*0x18604*/ u16 unk18604[0x200];
- /*0x18A04*/ u8 unk18A04[0x800];
+ u16 cachedWindowPalettes[16][16]; // Saved palette data before a move happens?
+ u16 unk18204[PLTT_BUFFER_SIZE]; // Saved copy of gPlttBufferUnfaded
+ u16 unk18604[PLTT_BUFFER_SIZE]; // Saved copy of gPlttBufferFaded
+ u8 savedJunk[0x800];
};
struct ContestStruct_field_18
@@ -260,14 +279,14 @@ struct Contest
{
/*0x0*/ u8 playerMoveChoice;
/*0x1*/ u8 turnNumber;
- /*0x2*/ u8 unk19206[4]; // seems to only be used by an unref function
+ /*0x2*/ u8 unused2[CONTESTANT_COUNT];
/*0x6*/ u16 unk1920A_0:1; // Task active flags?
u16 unk1920A_1:1;
u16 unk1920A_2:1;
u16 unk1920A_3:1;
u16 unk1920A_4:1;
- u16 unk1920A_5:1;
- u16 unk1920A_6:1;
+ u16 isShowingApplauseMeter:1;
+ u16 applauseMeterIsMoving:1;
u16 unk1920A_7:1;
/*0x7*/ u16 unk1920B_0:1;
u16 unk1920B_1:1;
@@ -281,12 +300,12 @@ struct Contest
/*0x11*/ u8 unk19215;
/*0x12*/ u8 unk19216; // sprite ID
/*0x13*/ s8 applauseLevel;
- /*0x19218*/ u8 unk19218[4];
+ /*0x19218*/ u8 prevTurnOrder[CONTESTANT_COUNT];
/*0x1921C*/ u32 unk1921C; // saved RNG value?
- u16 unk19220[5][4]; // move history?
- u8 unk19248[5][4]; // excitement history
- u8 applauseMeterSpriteId; // sprite ID
- /*0x1925D*/ u8 unk1925D;
+ u16 moveHistory[CONTEST_TURN_COUNT][CONTESTANT_COUNT];
+ u8 excitementHistory[CONTEST_TURN_COUNT][CONTESTANT_COUNT];
+ u8 applauseMeterSpriteId;
+ /*0x1925D*/ u8 contestSetupState;
/*0x1925E*/ u8 unk1925E;
};
@@ -294,11 +313,11 @@ struct ContestantStatus
{
/*0x00*/ s16 appeal1; // move appeal?
/*0x02*/ s16 appeal2; // final appeal after end of turn, maybe?
- /*0x04*/ s16 unk4;
+ /*0x04*/ s16 pointTotal;
/*0x06*/ u16 currMove;
/*0x08*/ u16 prevMove;
/*0x0A*/ u8 moveCategory;
- /*0x0B*/ u8 unkB_0:2;
+ /*0x0B*/ u8 ranking:2;
u8 unkB_2:2;
u8 moveRepeatCount:3;
u8 noMoreTurns:1; // used a one-time move?
@@ -341,24 +360,24 @@ struct ContestantStatus
struct UnknownContestStruct7
{
- u8 turnOrder[4];
+ u8 turnOrder[CONTESTANT_COUNT];
s16 jam;
s16 jam2;
u8 jamQueue[5];
- u8 unnervedPokes[4];
+ u8 unnervedPokes[CONTESTANT_COUNT];
u8 contestant;
};
struct ContestAIInfo
{
/*0x00*/ u8 aiState;
- /*0x02*/ u16 unk2;
- /*0x04*/ u8 unk4;
+ /*0x02*/ u16 nextMove;
+ /*0x04*/ u8 nextMoveIndex;
/*0x05*/ u8 unk5[4];
/*0x09*/ u8 aiAction;
/*0x0A*/ u8 fillerA[0x6]; // TODO: don't know what's here
- /*0x10*/ u8 unk10;
- /*0x14*/ u32 flags;
+ /*0x10*/ u8 currentAICheck;
+ /*0x14*/ u32 aiChecks;
/*0x18*/ s16 scriptResult;
/*0x1A*/ s16 scriptArr[3];
/*0x20*/ const u8 *stack[8];
@@ -408,30 +427,31 @@ struct ContestResourcesField20
struct ContestResources
{
- struct Contest *field_0;
- struct ContestantStatus *field_4;
+ struct Contest *contest;
+ struct ContestantStatus *status;
struct UnknownContestStruct7 *field_8;
- struct ContestAIInfo *field_C;
+ struct ContestAIInfo *aiData;
struct UnknownContestStruct5 *field_10;
struct UnknownContestStruct4 *field_14;
struct ContestStruct_field_18 *field_18;
struct ContestResourcesField1C * field_1c;
struct ContestResourcesField20 * field_20;
- u8 * field_24[4];
+ u8 * contestBgTilemaps[CONTESTANT_COUNT];
void * field_34;
void * field_38;
void * field_3c;
};
-#define sContest (*gContestResources->field_0)
-#define sContestantStatus (gContestResources->field_4)
-#define shared192D0 (*gContestResources->field_8)
-#define eContestAI (gContestResources->field_C)
-#define shared19328 (*gContestResources->field_10)
-#define shared19338 (*gContestResources->field_14)
-#define shared15800 (gHeap + 0x18000)
-#define shared16800 (gHeap + 0x19000)
-#define shared18000 (*(struct Shared18000 *)(gHeap + 0x1a000))
+#define eContest (*gContestResources->contest)
+#define eContestantStatus (gContestResources->status)
+#define eContestResources8 (*gContestResources->field_8)
+#define eContestAI (*gContestResources->aiData)
+#define eContestResources10 (*gContestResources->field_10)
+#define eContestResources14 (*gContestResources->field_14)
+#define eUnzippedContestAudienceGfx (gHeap + 0x18000)
+#define eUnknownHeap19000 (gHeap + 0x19000)
+#define eContestDebugMode (gHeap[0x1a000])
+#define eUnknownHeap1A004 (*(struct Shared1A004 *)(gHeap + 0x1a004))
extern struct ContestPokemon gContestMons[4];
extern s16 gContestMonConditions[4];
@@ -441,8 +461,8 @@ extern s16 gUnknown_02039F18[4];
extern u8 gContestFinalStandings[4];
extern u8 gContestMonPartyIndex;
extern u8 gContestPlayerMonIndex;
-extern u8 gUnknown_02039F26[4];
-extern u8 gIsLinkContest;
+extern u8 gContestantTurnOrder[4];
+extern u8 gLinkContestFlags;
extern u8 gUnknown_02039F2B;
extern u16 gSpecialVar_ContestCategory;
extern u16 gSpecialVar_ContestRank;
@@ -459,7 +479,7 @@ extern u32 gContestRngValue;
// contest.c
void ResetLinkContestBoolean(void);
void LoadContestBgAfterMoveAnim(void);
-void sub_80D7B24(void);
+void CB2_StartContest(void);
void sub_80DA8C8(u8 partyIndex);
void sub_80DAB8C(u8 contestType, u8 rank);
void sub_80DACBC(u8 contestType, u8 rank, bool32 isPostgame);
@@ -467,8 +487,8 @@ u8 sub_80DAE0C(struct Pokemon *pkmn);
void sub_80DB09C(u8 contestCategory);
bool8 IsSpeciesNotUnown(u16 species);
bool8 Contest_IsMonsTurnDisabled(u8 a);
-void sub_80DBED4(void);
-void sub_80DCE58(u8 a);
+void SaveLinkContestResults(void);
+void SortContestants(bool8 a);
void SetContestantEffectStringID(u8 a, u8 b);
void SetContestantEffectStringID2(u8 a, u8 b);
void SetStartledString(u8 contestant, u8 jam);
diff --git a/include/graphics.h b/include/graphics.h
index 1171d3c1c..2dfd7953e 100644
--- a/include/graphics.h
+++ b/include/graphics.h
@@ -4768,8 +4768,8 @@ extern const u32 gContestAudienceGfx[];
extern const u8 gContestApplauseMeterGfx[];
extern const u8 gContestNextTurnNumbersGfx[];
extern const u8 gContestNextTurnRandomGfx[];
-extern const u32 gUnknown_08C16FA8[];
-extern const u32 gUnknown_08C16E90[];
+extern const u32 gOldContestGfx[];
+extern const u32 gOldContestPalette[];
extern const u32 gUnknown_08C17170[];
extern const u32 gUnknown_08C17980[];
extern const u32 gTiles_8C19450[];
diff --git a/include/link.h b/include/link.h
index 62ae7761c..c14084066 100644
--- a/include/link.h
+++ b/include/link.h
@@ -235,7 +235,7 @@ void LinkVSync(void);
void Timer3Intr(void);
void SerialCB(void);
bool32 InUnionRoom(void);
-void sub_800E0E8(void);
+void LoadWirelessStatusIndicatorSpriteGfx(void);
bool8 IsLinkTaskFinished(void);
void CreateWirelessStatusIndicatorSprite(u8, u8);
void sub_800ADF8(void);
diff --git a/include/new_game.h b/include/new_game.h
index 8fab05483..9b96ba478 100644
--- a/include/new_game.h
+++ b/include/new_game.h
@@ -2,7 +2,9 @@
#define GUARD_NEW_GAME_H
extern bool8 gDifferentSaveFile;
-extern bool8 gUnknown_020322D5; // The purpose of this variable is unknown as it's read only 3 times(2 times in contest.c and 1 time in berry_blender.c), never written to.
+// Shortcuts some randomness in berry_blender.c, and enables debug printing
+// in contest.c.
+extern bool8 gEnableContestDebugging;
void SetTrainerId(u32 trainerId, u8 *dst);
u32 GetTrainerId(u8 *trainerId);
diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c
index 3f5a777e4..e4b5b5c18 100644
--- a/src/battle_controller_player.c
+++ b/src/battle_controller_player.c
@@ -33,6 +33,7 @@
#include "constants/moves.h"
#include "constants/songs.h"
#include "constants/trainers.h"
+#include "constants/rgb.h"
extern struct MusicPlayerInfo gMPlayInfo_BGM;
@@ -2405,7 +2406,7 @@ static void PlayerHandleFaintAnimation(void)
static void PlayerHandlePaletteFade(void)
{
- BeginNormalPaletteFade(0xFFFFFFFF, 2, 0, 16, 0);
+ BeginNormalPaletteFade(0xFFFFFFFF, 2, 0, 16, RGB_BLACK);
PlayerBufferExecCompleted();
}
@@ -2627,7 +2628,7 @@ static void PlayerHandleChooseItem(void)
{
s32 i;
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK);
gBattlerControllerFuncs[gActiveBattler] = OpenBagAndChooseItem;
gBattlerInMenuId = gActiveBattler;
@@ -2654,7 +2655,7 @@ static void PlayerHandleChoosePokemon(void)
*(&gBattleStruct->battlerPreventingSwitchout) = gBattleBufferA[gActiveBattler][1] >> 4;
*(&gBattleStruct->field_8B) = gBattleBufferA[gActiveBattler][2];
*(&gBattleStruct->abilityPreventingSwitchout) = gBattleBufferA[gActiveBattler][3];
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK);
gBattlerControllerFuncs[gActiveBattler] = OpenPartyMenuToChooseMon;
gBattlerInMenuId = gActiveBattler;
}
@@ -2663,7 +2664,7 @@ static void PlayerHandleChoosePokemon(void)
static void PlayerHandleCmd23(void)
{
BattleStopLowHpSound();
- BeginNormalPaletteFade(0xFFFFFFFF, 2, 0, 16, 0);
+ BeginNormalPaletteFade(0xFFFFFFFF, 2, 0, 16, RGB_BLACK);
PlayerBufferExecCompleted();
}
diff --git a/src/battle_controller_safari.c b/src/battle_controller_safari.c
index 8f89e4cb5..c39b904c9 100644
--- a/src/battle_controller_safari.c
+++ b/src/battle_controller_safari.c
@@ -22,6 +22,7 @@
#include "window.h"
#include "constants/battle_anim.h"
#include "constants/songs.h"
+#include "constants/rgb.h"
// this file's functions
static void SafariHandleGetMonData(void);
@@ -471,7 +472,7 @@ static void SafariHandleChooseItem(void)
{
s32 i;
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK);
gBattlerControllerFuncs[gActiveBattler] = SafariOpenPokeblockCase;
gBattlerInMenuId = gActiveBattler;
}
diff --git a/src/battle_controller_wally.c b/src/battle_controller_wally.c
index a504f5a80..6a5b23e59 100644
--- a/src/battle_controller_wally.c
+++ b/src/battle_controller_wally.c
@@ -30,6 +30,7 @@
#include "constants/moves.h"
#include "constants/songs.h"
#include "constants/trainers.h"
+#include "constants/rgb.h"
// this file's functions
static void WallyHandleGetMonData(void);
@@ -1242,7 +1243,7 @@ static void WallyHandleChooseMove(void)
static void WallyHandleChooseItem(void)
{
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK);
gBattlerControllerFuncs[gActiveBattler] = OpenBagAfterPaletteFade;
gBattlerInMenuId = gActiveBattler;
}
diff --git a/src/battle_factory_screen.c b/src/battle_factory_screen.c
index ac32651e2..02804ba0b 100644
--- a/src/battle_factory_screen.c
+++ b/src/battle_factory_screen.c
@@ -1166,7 +1166,7 @@ static void CB2_InitSelectScreen(void)
ShowBg(0);
ShowBg(1);
SetVBlankCallback(Select_VblankCb);
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, RGB_BLACK);
SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_ON | DISPCNT_BG0_ON | DISPCNT_BG1_ON | DISPCNT_OBJ_1D_MAP);
if (sFactorySelectScreen->fromSummaryScreen == TRUE)
{
@@ -1405,7 +1405,7 @@ static void Task_FromSelectScreenToSummaryScreen(u8 taskId)
{
case 6:
gPlttBufferUnfaded[228] = gPlttBufferFaded[228];
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK);
gTasks[taskId].data[0] = 7;
break;
case 7:
@@ -1442,7 +1442,7 @@ static void Task_CloseSelectionScreen(u8 taskId)
switch (gTasks[taskId].data[0])
{
case 0:
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK);
gTasks[taskId].data[0]++;
break;
case 1:
@@ -2274,7 +2274,7 @@ static void Task_FromSwapScreenToSummaryScreen(u8 taskId)
switch (gTasks[taskId].data[0])
{
case 6:
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK);
gTasks[taskId].data[0] = 7;
break;
case 7:
@@ -2327,7 +2327,7 @@ static void Task_CloseSwapScreen(u8 taskId)
gTasks[taskId].data[0]++;
break;
case 2:
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK);
gTasks[taskId].data[0]++;
break;
case 3:
@@ -3218,7 +3218,7 @@ static void CB2_InitSwapScreen(void)
gMain.state++;
break;
case 14:
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, RGB_BLACK);
SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_ON | DISPCNT_OBJ_1D_MAP);
ShowBg(0);
ShowBg(1);
diff --git a/src/battle_main.c b/src/battle_main.c
index 7e564ce7f..76bd6d877 100644
--- a/src/battle_main.c
+++ b/src/battle_main.c
@@ -977,7 +977,7 @@ static void CB2_HandleStartBattle(void)
gBattleCommunication[MULTIUSE_STATE] = 1;
}
if (gWirelessCommType)
- sub_800E0E8();
+ LoadWirelessStatusIndicatorSpriteGfx();
break;
case 1:
if (gBattleTypeFlags & BATTLE_TYPE_LINK)
@@ -1172,7 +1172,7 @@ static void CB2_HandleStartMultiPartnerBattle(void)
gBattleCommunication[MULTIUSE_STATE] = 1;
}
if (gWirelessCommType)
- sub_800E0E8();
+ LoadWirelessStatusIndicatorSpriteGfx();
// fall through
case 1:
if (gBattleTypeFlags & BATTLE_TYPE_LINK)
@@ -1572,7 +1572,7 @@ static void CB2_HandleStartMultiBattle(void)
gBattleCommunication[MULTIUSE_STATE] = 1;
}
if (gWirelessCommType)
- sub_800E0E8();
+ LoadWirelessStatusIndicatorSpriteGfx();
break;
case 1:
if (gBattleTypeFlags & BATTLE_TYPE_LINK)
diff --git a/src/battle_records.c b/src/battle_records.c
index fdd915d07..3d4cabcb0 100644
--- a/src/battle_records.c
+++ b/src/battle_records.c
@@ -22,6 +22,7 @@
#include "gpu_regs.h"
#include "constants/game_stat.h"
#include "trainer_hill.h"
+#include "constants/rgb.h"
// this file's functions
static void Task_CloseTrainerHillRecordsOnButton(u8 taskId);
@@ -364,7 +365,7 @@ static void Task_CloseTrainerHillRecordsOnButton(u8 taskId)
static void Task_BeginPaletteFade(u8 taskId)
{
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK);
gTasks[taskId].func = Task_ExitTrainerHillRecords;
}
@@ -511,7 +512,7 @@ static void CB2_ShowTrainerHillRecords(void)
gMain.state++;
break;
case 6:
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, RGB_BLACK);
gMain.state++;
break;
case 7:
diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c
index c002eefbc..7e783bef5 100644
--- a/src/battle_script_commands.c
+++ b/src/battle_script_commands.c
@@ -50,6 +50,7 @@
#include "pokemon_summary_screen.h"
#include "pokenav.h"
#include "menu_specialized.h"
+#include "constants/rgb.h"
#include "data.h"
extern struct MusicPlayerInfo gMPlayInfo_BGM;
@@ -5696,7 +5697,7 @@ static void atk5A_yesnoboxlearnmove(void)
if (gBattleCommunication[1] == 0)
{
HandleBattleWindow(0x18, 0x8, 0x1D, 0xD, WINDOW_CLEAR);
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK);
gBattleScripting.learnMoveState++;
}
else
@@ -10274,7 +10275,7 @@ static void atkF2_displaydexinfo(void)
switch (gBattleCommunication[0])
{
case 0:
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK);
gBattleCommunication[0]++;
break;
case 1:
@@ -10305,7 +10306,7 @@ static void atkF2_displaydexinfo(void)
case 4:
if (!IsDma3ManagerBusyWithBgCopy())
{
- BeginNormalPaletteFade(0xFFFF, 0, 0x10, 0, 0);
+ BeginNormalPaletteFade(0xFFFF, 0, 0x10, 0, RGB_BLACK);
ShowBg(0);
ShowBg(3);
gBattleCommunication[0]++;
diff --git a/src/battle_transition.c b/src/battle_transition.c
index df6180d19..6ad1f57d6 100644
--- a/src/battle_transition.c
+++ b/src/battle_transition.c
@@ -23,6 +23,7 @@
#include "constants/field_effects.h"
#include "constants/songs.h"
#include "constants/trainers.h"
+#include "constants/rgb.h"
struct TransitionData
{
@@ -1076,7 +1077,7 @@ static bool8 Phase2_Blur_Func2(struct Task *task)
{
task->tData1 = 4;
if (++task->tData2 == 10)
- BeginNormalPaletteFade(0xFFFFFFFF, -1, 0, 0x10, 0);
+ BeginNormalPaletteFade(0xFFFFFFFF, -1, 0, 0x10, RGB_BLACK);
SetGpuReg(REG_OFFSET_MOSAIC, (task->tData2 & 15) * 17);
if (task->tData2 > 14)
task->tState++;
@@ -1103,7 +1104,7 @@ static bool8 Phase2_Swirl_Func1(struct Task *task)
{
sub_8149F08();
ScanlineEffect_Clear();
- BeginNormalPaletteFade(0xFFFFFFFF, 4, 0, 0x10, 0);
+ BeginNormalPaletteFade(0xFFFFFFFF, 4, 0, 0x10, RGB_BLACK);
sub_8149F98(gScanlineEffectRegBuffers[1], sTransitionStructPtr->field_14, 0, 2, 0, 160);
SetVBlankCallback(VBlankCB_Phase2_Swirl);
@@ -1158,7 +1159,7 @@ static bool8 Phase2_Shuffle_Func1(struct Task *task)
sub_8149F08();
ScanlineEffect_Clear();
- BeginNormalPaletteFade(0xFFFFFFFF, 4, 0, 0x10, 0);
+ BeginNormalPaletteFade(0xFFFFFFFF, 4, 0, 0x10, RGB_BLACK);
memset(gScanlineEffectRegBuffers[1], sTransitionStructPtr->field_16, 0x140);
SetVBlankCallback(VBlankCB_Phase2_Shuffle);
@@ -1461,7 +1462,7 @@ static bool8 Phase2_Kyogre_Func5(struct Task *task)
static bool8 Phase2_WeatherDuo_Func6(struct Task *task)
{
- BeginNormalPaletteFade(0xFFFF8000, 1, 0, 0x10, 0);
+ BeginNormalPaletteFade(0xFFFF8000, 1, 0, 0x10, RGB_BLACK);
task->tState++;
return FALSE;
}
@@ -1546,7 +1547,7 @@ static bool8 Phase2_FramesCountdown(struct Task *task)
static bool8 Phase2_WeatherTrio_Func1(struct Task *task)
{
- BeginNormalPaletteFade(0x0000FFFF, 1, 0, 0x10, 0);
+ BeginNormalPaletteFade(0x0000FFFF, 1, 0, 0x10, RGB_BLACK);
task->tState++;
return FALSE;
}
@@ -1969,7 +1970,7 @@ static bool8 Phase2_Ripple_Func2(struct Task *task)
if (++task->tData3 == 81)
{
task->tData4++;
- BeginNormalPaletteFade(0xFFFFFFFF, -2, 0, 0x10, 0);
+ BeginNormalPaletteFade(0xFFFFFFFF, -2, 0, 0x10, RGB_BLACK);
}
if (task->tData4 != 0 && !gPaletteFade.active)
@@ -3159,7 +3160,7 @@ static bool8 Phase2_Rayquaza_Func6(struct Task *task)
{
task->tState++;
task->tData1 = 0;
- BeginNormalPaletteFade(0xFFFF8000, 2, 0, 0x10, 0);
+ BeginNormalPaletteFade(0xFFFF8000, 2, 0, 0x10, RGB_BLACK);
}
return FALSE;
@@ -3978,7 +3979,7 @@ static bool8 Phase2_30_Func4(struct Task *task)
if (++task->tData3 == 101)
{
task->tData4++;
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK);
}
if (task->tData4 != 0 && !gPaletteFade.active)
diff --git a/src/berry_blender.c b/src/berry_blender.c
index 26327a634..c1c664c1a 100644
--- a/src/berry_blender.c
+++ b/src/berry_blender.c
@@ -36,6 +36,7 @@
#include "new_game.h"
#include "save.h"
#include "link.h"
+#include "constants/rgb.h"
#define BLENDER_SCORE_BEST 0
#define BLENDER_SCORE_GOOD 1
@@ -996,7 +997,7 @@ static void sub_807FAC8(void)
}
if (gReceivedRemoteLinkPlayers != 0 && gWirelessCommType)
{
- sub_800E0E8();
+ LoadWirelessStatusIndicatorSpriteGfx();
CreateWirelessStatusIndicatorSprite(0, 0);
}
SetVBlankCallback(VBlankCB0_BerryBlender);
@@ -1004,7 +1005,7 @@ static void sub_807FAC8(void)
}
break;
case 2:
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, RGB_BLACK);
sub_8082D28();
sBerryBlenderData->mainState++;
break;
@@ -1018,7 +1019,7 @@ static void sub_807FAC8(void)
sBerryBlenderData->mainState++;
break;
case 5:
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK);
sBerryBlenderData->mainState++;
break;
case 6:
@@ -1202,13 +1203,13 @@ static void sub_8080018(void)
}
if (gReceivedRemoteLinkPlayers != 0 && gWirelessCommType)
{
- sub_800E0E8();
+ LoadWirelessStatusIndicatorSpriteGfx();
CreateWirelessStatusIndicatorSprite(0, 0);
}
sBerryBlenderData->mainState++;
break;
case 3:
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, RGB_BLACK);
sBerryBlenderData->mainState++;
break;
case 4:
@@ -1534,7 +1535,7 @@ static void sub_80808D4(void)
sBerryBlenderData->mainState++;
break;
case 3:
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, RGB_BLACK);
sBerryBlenderData->mainState++;
sBerryBlenderData->framesToWait = 0;
break;
@@ -2037,7 +2038,7 @@ static void sub_8081744(void)
sBerryBlenderData->field_4C--;
sBerryBlenderData->field_72 = 0;
}
- if (gUnknown_020322D5 && gMain.newKeys & L_BUTTON)
+ if (gEnableContestDebugging && gMain.newKeys & L_BUTTON)
sBerryBlenderData->field_123 ^= 1;
}
@@ -2700,7 +2701,7 @@ static void CB2_HandlePlayerLinkPlayAgainChoice(void)
case 9:
if (IsLinkTaskFinished())
{
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK);
sBerryBlenderData->gameEndState++;
}
break;
diff --git a/src/berry_crush.c b/src/berry_crush.c
index 307bd49a7..8efb5906b 100755
--- a/src/berry_crush.c
+++ b/src/berry_crush.c
@@ -511,7 +511,7 @@ int sub_802104C(void)
CopyBgTilemapBufferToVram(3);
break;
case 8:
- sub_800E0E8();
+ LoadWirelessStatusIndicatorSpriteGfx();
CreateWirelessStatusIndicatorSprite(0, 0);
sub_8022730(var0);
SetGpuReg(REG_OFFSET_BG1VOFS, -gSpriteCoordOffsetY);
diff --git a/src/berry_tag_screen.c b/src/berry_tag_screen.c
index a7cf4daf2..d0f89ab8a 100644
--- a/src/berry_tag_screen.c
+++ b/src/berry_tag_screen.c
@@ -28,6 +28,7 @@
#include "item_menu_icons.h"
#include "decompress.h"
#include "international_string_util.h"
+#include "constants/rgb.h"
// There are 4 windows used in berry tag screen.
enum
@@ -279,7 +280,7 @@ static bool8 InitBerryTagScreen(void)
gMain.state++;
break;
case 15:
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, RGB_BLACK);
gPaletteFade.bufferTransferDisabled = 0;
gMain.state++;
break;
@@ -513,7 +514,7 @@ static void DestroyFlavorCircleSprites(void)
static void PrepareToCloseBerryTagScreen(u8 taskId)
{
PlaySE(SE_SELECT);
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK);
gTasks[taskId].func = Task_CloseBerryTagScreen;
}
diff --git a/src/clear_save_data_screen.c b/src/clear_save_data_screen.c
index c1d6930c7..b91506352 100644
--- a/src/clear_save_data_screen.c
+++ b/src/clear_save_data_screen.c
@@ -163,7 +163,7 @@ static bool8 SetupClearSaveDataScreen(void)
ShowBg(3);
SetGpuReg(REG_OFFSET_BLDCNT, 0);
InitClearSaveDataScreenWindows();
- BeginNormalPaletteFade(0x0000FFFF, 0, 0x10, 0, 0xFFFF);
+ BeginNormalPaletteFade(0x0000FFFF, 0, 0x10, 0, RGB_WHITEALPHA);
EnableInterrupts(INTR_FLAG_VBLANK);
SetVBlankCallback(VBlankCB);
gMain.state = 1;
diff --git a/src/contest.c b/src/contest.c
index b06335a1c..eb3252f72 100644
--- a/src/contest.c
+++ b/src/contest.c
@@ -45,6 +45,33 @@
#include "constants/rgb.h"
#include "contest_ai.h"
+#define APPLAUSE_METER_GFX_TAG 0xABE2
+
+// An index into a palette where the text color for each contestant is stored.
+// Contestant 0 will use palette color 10, contestant 1 will use color 11, etc.
+#define CONTESTANT_TEXT_COLOR_START 10
+
+enum
+{
+// The "{Pokemon Name} / {Trainer Name}" windows.
+ CONTEST_WINDOW_CONTESTANT0_NAME,
+ CONTEST_WINDOW_CONTESTANT1_NAME,
+ CONTEST_WINDOW_CONTESTANT2_NAME,
+ CONTEST_WINDOW_CONTESTANT3_NAME,
+ CONTEST_WINDOW_GENERAL_TEXT,
+ // The available moves, from top to bottom
+ CONTEST_WINDOW_MOVE0,
+ CONTEST_WINDOW_MOVE1,
+ CONTEST_WINDOW_MOVE2,
+ CONTEST_WINDOW_MOVE3,
+ // The small "/" character between the move category and the
+ // appeal/jam display
+ CONTEST_WINDOW_SLASH,
+ CONTEST_WINDOW_MOVE_DESCRIPTION
+};
+
+#define MOVE_WINDOWS_START CONTEST_WINDOW_MOVE0
+
// This file's functions.
static void sub_80D782C(void);
static void sub_80D7C7C(u8 taskId);
@@ -52,11 +79,11 @@ static void sub_80D7CB4(u8 taskId);
static void sub_80D7DAC(u8 taskId);
static void sub_80D7DC8(u8 taskId);
static void sub_80D7DE8(u8 taskId);
-static bool8 sub_80D7E44(u8 *);
+static bool8 SetupContestGraphics(u8 *stateVar);
static void sub_80D80C8(u8 taskId);
static void sub_80D8108(u8 taskId);
static void vblank_cb_battle(void);
-static void sub_80D823C(void);
+static void CB2_ContestMain(void);
static void sub_80D833C(u8 taskId);
static void sub_80D8424(u8 taskId);
static void sub_80D8610(u8 taskId);
@@ -94,31 +121,31 @@ static void sub_80DA7EC(u8);
static void sub_80DA830(u8);
static void sub_80DA874(void);
static bool8 sub_80DA8A4(void);
-static void sub_80DAF04(u8);
-static void sub_80DAF1C(u8 a0, u8 a1);
-static void sub_80DAF88(u8);
-static void sub_80DAFA0(u8, u8);
+static void PrintContestantTrainerName(u8);
+static void PrintContestantTrainerNameWithColor(u8 a0, u8 a1);
+static void PrintContestantMonName(u8);
+static void PrintContestantMonNameWithColor(u8, u8);
static u8 sub_80DB0C4(void);
static u8 sub_80DB120(void);
static u8 sub_80DB174(u16, u32, u32, u32);
-static void prints_contest_move_description(u16);
+static void PrintContestMoveDescription(u16);
static u16 SanitizeSpecies(u16);
-static void sub_80DB89C(void);
+static void ContestClearGeneralTextWindow(void);
static u16 GetChosenMove(u8);
-static void sub_80DB918(void);
-static void sub_80DBF68(void);
-static void sub_80DBF90(void);
+static void GetAllChosenMoves(void);
+static void ContestPrintLinkStandby(void);
+static void FillContestantWindowBgs(void);
static void sub_80DC2BC(void);
static void sub_80DC490(bool8);
static void sub_80DC4F0(void);
static void CreateApplauseMeterSprite(void);
static void sub_80DC5E8(void);
static void sub_80DC7EC(void);
-static void sub_80DCD48(void);
-static void sub_80DD04C(void);
-static void sub_80DD590(void);
-static void sub_80DDB0C(void);
-static void sub_80DDBE8(void);
+static void ContestDebugDoPrint(void);
+static void DrawContestantWindows(void);
+static void ApplyNextTurnOrder(void);
+static void StartMoveApplauseMeterOnscreen(void);
+static void TryMoveApplauseMeterOffscreen(void);
static void sub_80DE224(void);
static void sub_80DE350(void);
static void sub_80DE424(u8);
@@ -127,7 +154,7 @@ static void sub_80DEA20(void);
static void Contest_StartTextPrinter(const u8 *, u32);
static void ContestBG_FillBoxWithIncrementingTile(u8, u16, u8, u8, u8, u8, u8, s16);
static bool32 Contest_RunTextPrinters(void);
-static void Contest_SetBgCopyFlags(u32);
+static void Contest_SetBgCopyFlags(u32 flagIndex);
static void sub_80DBD18(void);
static void sub_80DD080(u8);
static void sub_80DE9DC(u8);
@@ -148,10 +175,10 @@ static bool8 sub_80DB798(u8);
static void sub_80DB884(void);
static void sub_80DC9B4(u8);
static void sub_80DDED0(s8, s8);
-static void sub_80DDCDC(s8);
+static void ShowAndUpdateApplauseMeter(s8 unused);
static void sub_80DDE0C(void);
-static void sub_80DD940(void);
-static void sub_80DB944(void);
+static void UpdateApplauseMeter(void);
+static void RankContestants(void);
static void sub_80DBA18(void);
static void sub_80DC3AC(void);
static bool8 sub_80DC3C4(void);
@@ -169,11 +196,11 @@ static void sub_80DC81C(u8);
static void sub_80DC87C(u8);
static void sub_80DCC84(struct Sprite *);
static void sub_80DCCD8(struct Sprite *sprite);
-static u8 sub_80DDA20(void);
-static void c3_08130B10(u8);
-static void sub_80DDB6C(u8);
-static void task08_080CD1CC(u8);
-static void sub_80DDD20(u8);
+static u8 StartApplauseOverflowAnimation(void);
+static void Task_ApplauseOverflowAnimation(u8);
+static void Task_MoveApplauseMeterOnscreen(u8);
+static void Task_MoveApplauseMeterOffscreen(u8);
+static void Task_ShowAndUpdateApplauseMeter(u8);
static void sub_80DDE30(u8);
static void sub_80DDF80(u8);
static const u8 *GetTurnOrderNumberGfx(u8);
@@ -186,10 +213,10 @@ static void sub_80DEA5C(void);
static void sub_80DF250(void);
static void sub_80DF4F8(void);
static void sub_80DF080(u8);
-static void sub_80DF750(void);
+static void ContestDebugPrintBitStrings(void);
static void sub_80DF9D4(u8 *);
static void sub_80DF9E0(u8 *, s32);
-static void sub_80DB2BC(void);
+static void SwapMoveDescAndContestTilemaps(void);
// EWRAM vars.
EWRAM_DATA struct ContestPokemon gContestMons[4] = {0};
@@ -200,8 +227,8 @@ EWRAM_DATA s16 gUnknown_02039F18[4] = {0};
EWRAM_DATA u8 gContestFinalStandings[4] = {0};
EWRAM_DATA u8 gContestMonPartyIndex = 0;
EWRAM_DATA u8 gContestPlayerMonIndex = 0;
-EWRAM_DATA u8 gUnknown_02039F26[4] = {0};
-EWRAM_DATA u8 gIsLinkContest = 0;
+EWRAM_DATA u8 gContestantTurnOrder[4] = {0};
+EWRAM_DATA u8 gLinkContestFlags = 0;
// Bit 0: Is a link contest
// Bit 1: Link contest uses wireless adapter
EWRAM_DATA u8 gUnknown_02039F2B = 0;
@@ -218,14 +245,14 @@ EWRAM_DATA u8 gUnknown_02039F5D = 0;
// IWRAM common vars.
u32 gContestRngValue;
-extern const u8 *const gUnknown_0827E8DA[];
+extern const u8 gText_LinkStandby4[];
extern const u8 gText_0827D55A[];
extern const u8 gText_0827E793[];
extern const u8 gText_0827E32E[];
extern const u8 gText_0827E35B[];
extern const u8 gText_0827E38D[];
extern const u8 gText_0827E2FE[];
-extern const u8 gText_0827E6E3[];
+extern const u8 gText_RepeatedAppeal[];
extern const u8 gText_0827E73C[];
extern const u8 gText_0827E717[];
extern const u8 gText_0827E76A[];
@@ -465,20 +492,20 @@ const struct SpriteTemplate gSpriteTemplate_8587B98 =
.callback = SpriteCallbackDummy
};
-const struct CompressedSpriteSheet gUnknown_08587BB0 =
+static const struct CompressedSpriteSheet sApplauseMeterSpriteSheet =
{
.data = gContestApplauseGfx,
.size = 0x400,
- .tag = 0xABE2
+ .tag = APPLAUSE_METER_GFX_TAG
};
-const struct SpritePalette gUnknown_08587BB8 =
+static const struct SpritePalette sApplauseMeterPalette =
{
.data = gContestPal,
- .tag = 0xABE2
+ .tag = APPLAUSE_METER_GFX_TAG
};
-const struct OamData gOamData_8587BC0 =
+static const struct OamData sApplauseMeterOamData =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_OFF,
@@ -492,11 +519,11 @@ const struct OamData gOamData_8587BC0 =
.paletteNum = 0,
};
-const struct SpriteTemplate gSpriteTemplate_8587BC8 =
+static const struct SpriteTemplate sApplauseMeterSpriteTemplate =
{
- .tileTag = 0xABE2,
- .paletteTag = 0xABE2,
- .oam = &gOamData_8587BC0,
+ .tileTag = APPLAUSE_METER_GFX_TAG,
+ .paletteTag = APPLAUSE_METER_GFX_TAG,
+ .oam = &sApplauseMeterOamData,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -563,7 +590,7 @@ const u16 gUnknown_08587C30[] = INCBIN_U16("graphics/unknown/unknown_587C30.gbap
#include "data/contest_text_tables.h"
-const struct BgTemplate gUnknown_08587F34[] =
+static const struct BgTemplate sContestBgTemplates[] =
{
{
.bg = 0,
@@ -603,9 +630,9 @@ const struct BgTemplate gUnknown_08587F34[] =
}
};
-const struct WindowTemplate gUnknown_08587F44[] =
+static const struct WindowTemplate sContestWindowTemplates[] =
{
- {
+ [CONTEST_WINDOW_CONTESTANT0_NAME] = {
.bg = 0,
.tilemapLeft = 18,
.tilemapTop = 0,
@@ -614,7 +641,7 @@ const struct WindowTemplate gUnknown_08587F44[] =
.paletteNum = 0xF,
.baseBlock = 0x200
},
- {
+ [CONTEST_WINDOW_CONTESTANT1_NAME] = {
.bg = 0,
.tilemapLeft = 18,
.tilemapTop = 5,
@@ -623,7 +650,7 @@ const struct WindowTemplate gUnknown_08587F44[] =
.paletteNum = 0xF,
.baseBlock = 0x218
},
- {
+ [CONTEST_WINDOW_CONTESTANT2_NAME] = {
.bg = 0,
.tilemapLeft = 18,
.tilemapTop = 10,
@@ -632,7 +659,7 @@ const struct WindowTemplate gUnknown_08587F44[] =
.paletteNum = 0xF,
.baseBlock = 0x230
},
- {
+ [CONTEST_WINDOW_CONTESTANT3_NAME] = {
.bg = 0,
.tilemapLeft = 18,
.tilemapTop = 15,
@@ -641,7 +668,7 @@ const struct WindowTemplate gUnknown_08587F44[] =
.paletteNum = 0xF,
.baseBlock = 0x248
},
- {
+ [CONTEST_WINDOW_GENERAL_TEXT] = {
.bg = 0,
.tilemapLeft = 1,
.tilemapTop = 15,
@@ -650,55 +677,55 @@ const struct WindowTemplate gUnknown_08587F44[] =
.paletteNum = 0xF,
.baseBlock = 0x260
},
- {
+ [CONTEST_WINDOW_MOVE0] = {
.bg = 0,
.tilemapLeft = 1,
- .tilemapTop = 0x1F,
+ .tilemapTop = 31,
.width = 9,
.height = 2,
.paletteNum = 0xF,
.baseBlock = 0x2A4
},
- {
+ [CONTEST_WINDOW_MOVE1] = {
.bg = 0,
.tilemapLeft = 1,
- .tilemapTop = 0x21,
+ .tilemapTop = 33,
.width = 9,
.height = 2,
.paletteNum = 0xF,
.baseBlock = 0x2B6
},
- {
+ [CONTEST_WINDOW_MOVE2] = {
.bg = 0,
.tilemapLeft = 1,
- .tilemapTop = 0x23,
+ .tilemapTop = 35,
.width = 9,
.height = 2,
.paletteNum = 0xF,
.baseBlock = 0x2C8
},
- {
+ [CONTEST_WINDOW_MOVE3] = {
.bg = 0,
.tilemapLeft = 1,
- .tilemapTop = 0x25,
+ .tilemapTop = 37,
.width = 9,
.height = 2,
.paletteNum = 0xF,
.baseBlock = 0x2DA
},
- {
+ [CONTEST_WINDOW_SLASH] = {
.bg = 0,
.tilemapLeft = 16,
- .tilemapTop = 0x1F,
+ .tilemapTop = 31,
.width = 1,
.height = 2,
.paletteNum = 0xF,
.baseBlock = 0x2EC
},
- {
+ [CONTEST_WINDOW_MOVE_DESCRIPTION] = {
.bg = 0,
.tilemapLeft = 11,
- .tilemapTop = 0x23,
+ .tilemapTop = 35,
.width = 18,
.height = 4,
.paletteNum = 0xF,
@@ -845,10 +872,10 @@ static void TaskDummy1(u8 taskId)
void ResetLinkContestBoolean(void)
{
- gIsLinkContest = 0;
+ gLinkContestFlags = 0;
}
-static void sub_80D7678(void)
+static void SetupContestGpuRegs(void)
{
u16 savedIme;
@@ -880,36 +907,36 @@ void LoadContestBgAfterMoveAnim(void)
LZDecompressVram(gContestMiscGfx, (void *)VRAM);
LZDecompressVram(gContestAudienceGfx, (void *)(BG_SCREEN_ADDR(4)));
- CopyToBgTilemapBuffer(3, gUnknown_08C16FA8, 0, 0);
+ CopyToBgTilemapBuffer(3, gOldContestGfx, 0, 0);
CopyBgTilemapBufferToVram(3);
- LoadCompressedPalette(gUnknown_08C16E90, 0, 0x200);
+ LoadCompressedPalette(gOldContestPalette, 0, 0x200);
sub_80D782C();
- for (i = 0; i < MAX_MON_MOVES; i++)
+ for (i = 0; i < CONTESTANT_COUNT; i++)
{
- u32 var = 5 + i;
+ u32 contestantWindowId = MOVE_WINDOWS_START + i;
- LoadPalette(shared18000.unk18004[var], 16 * (5 + gUnknown_02039F26[i]), 16 * sizeof(u16));
+ LoadPalette(eUnknownHeap1A004.cachedWindowPalettes[contestantWindowId], 16 * (MOVE_WINDOWS_START + gContestantTurnOrder[i]), sizeof((eUnknownHeap1A004.cachedWindowPalettes[contestantWindowId])));
}
}
-static void sub_80D779C(void)
+static void InitContestInfoBgs(void)
{
s32 i;
ResetBgsAndClearDma3BusyFlags(0);
- InitBgsFromTemplates(0, gUnknown_08587F34, ARRAY_COUNT(gUnknown_08587F34));
+ InitBgsFromTemplates(0, sContestBgTemplates, ARRAY_COUNT(sContestBgTemplates));
SetBgAttribute(3, BG_ATTR_WRAPAROUND, 1);
- for (i = 0; i < 4; i++)
+ for (i = 0; i < CONTESTANT_COUNT; i++)
{
- SetBgTilemapBuffer(i, gContestResources->field_24[i]);
+ SetBgTilemapBuffer(i, gContestResources->contestBgTilemaps[i]);
}
}
-static void sub_80D77E4(void)
+static void InitContestWindows(void)
{
- InitWindows(gUnknown_08587F44);
+ InitWindows(sContestWindowTemplates);
DeactivateAllTextPrinters();
- if (gIsLinkContest & 1)
+ if (gLinkContestFlags & LINK_CONTEST_FLAG_IS_LINK)
{
gTextFlags.canABSpeedUpPrint = FALSE;
}
@@ -930,78 +957,82 @@ static void sub_80D782C(void)
FillPalette(RGB(31, 17, 31), 0xF3, 2);
}
-static void sub_80D787C(void)
+static void InitContestResources(void)
{
s32 i;
- *gContestResources->field_0 = (struct Contest){};
- for (i = 0; i < 4; i++)
+ eContest = (struct Contest){};
+ for (i = 0; i < CONTESTANT_COUNT; i++)
{
- gContestResources->field_0->unk19206[i] = 0xFF;
+ eContest.unused2[i] = 0xFF;
}
- for (i = 0; i < 4; i++)
+ for (i = 0; i < CONTESTANT_COUNT; i++)
{
- gContestResources->field_4[i] = (struct ContestantStatus){};
+ eContestantStatus[i] = (struct ContestantStatus){};
}
- for (i = 0; i < 4; i++)
+ for (i = 0; i < CONTESTANT_COUNT; i++)
{
- gContestResources->field_4[i].unkB_0 = 0;
- gContestResources->field_4[i].effectStringId = CONTEST_STRING_NONE;
- gContestResources->field_4[i].effectStringId2 = CONTEST_STRING_NONE;
+ eContestantStatus[i].ranking = 0;
+ eContestantStatus[i].effectStringId = CONTEST_STRING_NONE;
+ eContestantStatus[i].effectStringId2 = CONTEST_STRING_NONE;
}
- *gContestResources->field_8 = (struct UnknownContestStruct7){};
- *gContestResources->field_C = (struct ContestAIInfo){};
+ eContestResources8 = (struct UnknownContestStruct7){};
+ eContestAI = (struct ContestAIInfo){};
*gContestResources->field_10 = (struct UnknownContestStruct5){};
- memset(gContestResources->field_14, 0, 4 * sizeof(struct UnknownContestStruct4));
- if (!(gIsLinkContest & 1))
- sub_80DCE58(0);
- for (i = 0; i < 4; i++)
+ memset(gContestResources->field_14, 0, CONTESTANT_COUNT * sizeof(struct UnknownContestStruct4));
+
+ if (!(gLinkContestFlags & LINK_CONTEST_FLAG_IS_LINK))
+ SortContestants(FALSE);
+
+ for (i = 0; i < CONTESTANT_COUNT; i++)
{
- gContestResources->field_4[i].nextTurnOrder = 0xFF;
- gContestResources->field_0->unk19218[i] = gUnknown_02039F26[i];
+ eContestantStatus[i].nextTurnOrder = 0xFF;
+ eContest.prevTurnOrder[i] = gContestantTurnOrder[i];
}
- sub_80DD590();
- memset(gContestResources->field_1c, 0, sizeof(*gContestResources->field_1c) * 4);
+ // Calling this here while all the nextTurnOrder values are 0xFF will actually
+ // just reverse the turn order.
+ ApplyNextTurnOrder();
+ memset(gContestResources->field_1c, 0, sizeof(*gContestResources->field_1c) * CONTESTANT_COUNT);
}
-static void sub_80D7988(void)
+static void AllocContestResources(void)
{
gContestResources = AllocZeroed(sizeof(struct ContestResources));
- gContestResources->field_0 = AllocZeroed(sizeof(struct Contest));
- gContestResources->field_4 = AllocZeroed(sizeof(struct ContestantStatus) * 4);
+ gContestResources->contest = AllocZeroed(sizeof(struct Contest));
+ gContestResources->status = AllocZeroed(sizeof(struct ContestantStatus) * CONTESTANT_COUNT);
gContestResources->field_8 = AllocZeroed(sizeof(struct UnknownContestStruct7));
- gContestResources->field_C = AllocZeroed(sizeof(struct ContestAIInfo));
- gContestResources->field_10 = AllocZeroed(sizeof(struct UnknownContestStruct5) * 4);
- gContestResources->field_14 = AllocZeroed(sizeof(struct UnknownContestStruct4) * 4);
+ gContestResources->aiData = AllocZeroed(sizeof(struct ContestAIInfo));
+ gContestResources->field_10 = AllocZeroed(sizeof(struct UnknownContestStruct5) * CONTESTANT_COUNT);
+ gContestResources->field_14 = AllocZeroed(sizeof(struct UnknownContestStruct4) * CONTESTANT_COUNT);
gContestResources->field_18 = AllocZeroed(sizeof(struct ContestStruct_field_18));
- gContestResources->field_1c = AllocZeroed(sizeof(struct ContestResourcesField1C) * 4);
+ gContestResources->field_1c = AllocZeroed(sizeof(struct ContestResourcesField1C) * CONTESTANT_COUNT);
gContestResources->field_20 = AllocZeroed(sizeof(struct ContestResourcesField20));
- gContestResources->field_24[0] = AllocZeroed(0x1000);
- gContestResources->field_24[1] = AllocZeroed(0x1000);
- gContestResources->field_24[2] = AllocZeroed(0x1000);
- gContestResources->field_24[3] = AllocZeroed(0x1000);
+ gContestResources->contestBgTilemaps[0] = AllocZeroed(0x1000);
+ gContestResources->contestBgTilemaps[1] = AllocZeroed(0x1000);
+ gContestResources->contestBgTilemaps[2] = AllocZeroed(0x1000);
+ gContestResources->contestBgTilemaps[3] = AllocZeroed(0x1000);
gContestResources->field_34 = AllocZeroed(0x800);
gContestResources->field_38 = AllocZeroed(0x800);
gContestResources->field_3c = AllocZeroed(0x2000);
gUnknown_0202305C = gContestResources->field_3c;
- gUnknown_02023060 = gContestResources->field_24[1];
+ gUnknown_02023060 = gContestResources->contestBgTilemaps[1];
}
-static void sub_80D7A5C(void)
+static void FreeContestResources(void)
{
- FREE_AND_SET_NULL(gContestResources->field_0);
- FREE_AND_SET_NULL(gContestResources->field_4);
+ FREE_AND_SET_NULL(gContestResources->contest);
+ FREE_AND_SET_NULL(gContestResources->status);
FREE_AND_SET_NULL(gContestResources->field_8);
- FREE_AND_SET_NULL(gContestResources->field_C);
+ FREE_AND_SET_NULL(gContestResources->aiData);
FREE_AND_SET_NULL(gContestResources->field_10);
FREE_AND_SET_NULL(gContestResources->field_14);
FREE_AND_SET_NULL(gContestResources->field_18);
FREE_AND_SET_NULL(gContestResources->field_1c);
FREE_AND_SET_NULL(gContestResources->field_20);
- FREE_AND_SET_NULL(gContestResources->field_24[0]);
- FREE_AND_SET_NULL(gContestResources->field_24[1]);
- FREE_AND_SET_NULL(gContestResources->field_24[2]);
- FREE_AND_SET_NULL(gContestResources->field_24[3]);
+ FREE_AND_SET_NULL(gContestResources->contestBgTilemaps[0]);
+ FREE_AND_SET_NULL(gContestResources->contestBgTilemaps[1]);
+ FREE_AND_SET_NULL(gContestResources->contestBgTilemaps[2]);
+ FREE_AND_SET_NULL(gContestResources->contestBgTilemaps[3]);
FREE_AND_SET_NULL(gContestResources->field_34);
FREE_AND_SET_NULL(gContestResources->field_38);
FREE_AND_SET_NULL(gContestResources->field_3c);
@@ -1010,20 +1041,20 @@ static void sub_80D7A5C(void)
gUnknown_02023060 = NULL;
}
-void sub_80D7B24(void)
+void CB2_StartContest(void)
{
switch (gMain.state)
{
case 0:
sContestBgCopyFlags = 0;
- sub_80D7988();
+ AllocContestResources();
AllocateMonSpritesGfx();
FREE_AND_SET_NULL(gMonSpritesGfxPtr->firstDecompressed);
gMonSpritesGfxPtr->firstDecompressed = AllocZeroed(0x4000);
SetVBlankCallback(NULL);
- sub_80D779C();
- sub_80D77E4();
- sub_80D7678();
+ InitContestInfoBgs();
+ InitContestWindows();
+ SetupContestGpuRegs();
ScanlineEffect_Clear();
ResetPaletteFade();
gPaletteFade.bufferTransferDisabled = TRUE;
@@ -1031,19 +1062,18 @@ void sub_80D7B24(void)
ResetTasks();
FreeAllSpritePalettes();
gReservedSpritePaletteCount = 4;
- //shared18000.unk18000 = 0;
- gHeap[0x1a000] = 0;
+ eContestDebugMode = CONTEST_DEBUG_MODE_OFF;
ClearBattleMonForms();
- sub_80D787C();
+ InitContestResources();
gMain.state++;
break;
case 1:
gMain.state++;
break;
case 2:
- if (sub_80D7E44(&gContestResources->field_0->unk1925D))
+ if (SetupContestGraphics(&eContest.contestSetupState))
{
- gContestResources->field_0->unk1925D = 0;
+ eContest.contestSetupState = 0;
gMain.state++;
}
break;
@@ -1054,11 +1084,11 @@ void sub_80D7B24(void)
BeginFastPaletteFade(2);
gPaletteFade.bufferTransferDisabled = FALSE;
SetVBlankCallback(vblank_cb_battle);
- gContestResources->field_0->mainTaskId = CreateTask(sub_80D7C7C, 10);
- SetMainCallback2(sub_80D823C);
- if (gIsLinkContest & 2)
+ eContest.mainTaskId = CreateTask(sub_80D7C7C, 10);
+ SetMainCallback2(CB2_ContestMain);
+ if (gLinkContestFlags & LINK_CONTEST_FLAG_IS_WIRELESS)
{
- sub_800E0E8();
+ LoadWirelessStatusIndicatorSpriteGfx();
CreateWirelessStatusIndicatorSprite(8, 8);
}
break;
@@ -1076,14 +1106,14 @@ static void sub_80D7C7C(u8 taskId)
static void sub_80D7CB4(u8 taskId)
{
- if (gIsLinkContest & 1)
+ if (gLinkContestFlags & LINK_CONTEST_FLAG_IS_LINK)
{
- if (gIsLinkContest & 2)
+ if (gLinkContestFlags & LINK_CONTEST_FLAG_IS_WIRELESS)
{
switch (gTasks[taskId].data[0])
{
case 0:
- sub_80DBF68();
+ ContestPrintLinkStandby();
gTasks[taskId].data[0]++;
// fallthrough
case 1:
@@ -1104,8 +1134,8 @@ static void sub_80D7CB4(u8 taskId)
if (!gPaletteFade.active)
{
gPaletteFade.bufferTransferDisabled = FALSE;
- if (!(gIsLinkContest & 2))
- sub_80DBF68();
+ if (!(gLinkContestFlags & LINK_CONTEST_FLAG_IS_WIRELESS))
+ ContestPrintLinkStandby();
CreateTask(sub_80D7DAC, 0);
gTasks[taskId].data[0] = 0;
gTasks[taskId].func = TaskDummy1;
@@ -1135,17 +1165,17 @@ static void sub_80D7DE8(u8 taskId)
{
GetMultiplayerId(); // unused return value
DestroyTask(taskId);
- gTasks[gContestResources->field_0->mainTaskId].func = sub_80D80C8;
+ gTasks[eContest.mainTaskId].func = sub_80D80C8;
gRngValue = gContestRngValue;
}
}
-static u8 sub_80D7E44(u8 *a)
+static bool8 SetupContestGraphics(u8 *stateVar)
{
- u16 sp0[16];
- u16 sp20[16];
+ u16 tempPalette1[16];
+ u16 tempPalette2[16];
- switch (*a)
+ switch (*stateVar)
{
case 0:
gPaletteFade.bufferTransferDisabled = TRUE;
@@ -1158,31 +1188,32 @@ static u8 sub_80D7E44(u8 *a)
break;
case 2:
LZDecompressVram(gContestAudienceGfx, (void *)(BG_SCREEN_ADDR(4)));
- DmaCopyLarge32(3, (void *)(BG_SCREEN_ADDR(4)), shared15800, 0x2000, 0x1000);
+ DmaCopyLarge32(3, (void *)(BG_SCREEN_ADDR(4)), eUnzippedContestAudienceGfx, 0x2000, 0x1000);
break;
case 3:
- CopyToBgTilemapBuffer(3, gUnknown_08C16FA8, 0, 0);
+ CopyToBgTilemapBuffer(3, gOldContestGfx, 0, 0);
CopyBgTilemapBufferToVram(3);
break;
case 4:
CopyToBgTilemapBuffer(2, gUnknown_08C17170, 0, 0);
CopyBgTilemapBufferToVram(2);
- DmaCopy32Defvars(3, gContestResources->field_24[2], shared18000.unk18A04, 0x800);
+ // This is a bug, and copies random junk. savedJunk is never read.
+ DmaCopy32Defvars(3, gContestResources->contestBgTilemaps[2], eUnknownHeap1A004.savedJunk, sizeof(eUnknownHeap1A004.savedJunk));
break;
case 5:
- LoadCompressedPalette(gUnknown_08C16E90, 0, 0x200);
- CpuCopy32(gPlttBufferUnfaded + 128, sp0, 16 * sizeof(u16));
- CpuCopy32(gPlttBufferUnfaded + (5 + gContestPlayerMonIndex) * 16, sp20, 16 * sizeof(u16));
- CpuCopy32(sp20, gPlttBufferUnfaded + 128, 16 * sizeof(u16));
- CpuCopy32(sp0, gPlttBufferUnfaded + (5 + gContestPlayerMonIndex) * 16, 16 * sizeof(u16));
- DmaCopy32Defvars(3, gPlttBufferUnfaded, shared18000.unk18004, 0x200);
+ LoadCompressedPalette(gOldContestPalette, 0, 0x200);
+ CpuCopy32(gPlttBufferUnfaded + 128, tempPalette1, 16 * sizeof(u16));
+ CpuCopy32(gPlttBufferUnfaded + (MOVE_WINDOWS_START + gContestPlayerMonIndex) * 16, tempPalette2, 16 * sizeof(u16));
+ CpuCopy32(tempPalette2, gPlttBufferUnfaded + 128, 16 * sizeof(u16));
+ CpuCopy32(tempPalette1, gPlttBufferUnfaded + (MOVE_WINDOWS_START + gContestPlayerMonIndex) * 16, 16 * sizeof(u16));
+ DmaCopy32Defvars(3, gPlttBufferUnfaded, eUnknownHeap1A004.cachedWindowPalettes, sizeof(eUnknownHeap1A004.cachedWindowPalettes));
sub_80D782C();
break;
case 6:
- sub_80DD04C();
- sub_80DBF90();
- sub_80DB2BC();
- gContestResources->field_0->unk19216 = sub_80DB120();
+ DrawContestantWindows();
+ FillContestantWindowBgs();
+ SwapMoveDescAndContestTilemaps();
+ eContest.unk19216 = sub_80DB120();
sub_80DC2BC();
sub_80DC4F0();
CreateApplauseMeterSprite();
@@ -1206,12 +1237,12 @@ static u8 sub_80D7E44(u8 *a)
ShowBg(1);
break;
default:
- *a = 0;
- return 1;
+ *stateVar = 0;
+ return TRUE;
}
- (*a)++;
- return 0;
+ (*stateVar)++;
+ return FALSE;
}
static void sub_80D80C8(u8 taskId)
@@ -1254,13 +1285,13 @@ static void sub_80D8108(u8 taskId)
((struct BgCnt *)&bg2Cnt)->priority = 0;
SetGpuReg(REG_OFFSET_BG0CNT, bg0Cnt);
SetGpuReg(REG_OFFSET_BG2CNT, bg2Cnt);
- sub_80DDB0C();
+ StartMoveApplauseMeterOnscreen();
gTasks[taskId].data[0]++;
break;
}
case 4:
default:
- if (gContestResources->field_0->unk1920A_6)
+ if (eContest.applauseMeterIsMoving)
break;
gTasks[taskId].data[0] = 0;
gTasks[taskId].data[1] = 0;
@@ -1269,7 +1300,7 @@ static void sub_80D8108(u8 taskId)
}
}
-static void sub_80D823C(void)
+static void CB2_ContestMain(void)
{
s32 i;
@@ -1312,16 +1343,16 @@ static void sub_80D833C(u8 taskId)
{
gBattle_BG0_Y = 0;
gBattle_BG2_Y = 0;
- sub_80DCD48();
- DmaCopy32Defvars(3, gPlttBufferUnfaded, shared18000.unk18204, 0x400);
- ConvertIntToDecimalStringN(gStringVar1, gContestResources->field_0->turnNumber + 1, STR_CONV_MODE_LEFT_ALIGN, 1);
+ ContestDebugDoPrint();
+ DmaCopy32Defvars(3, gPlttBufferUnfaded, eUnknownHeap1A004.unk18204, PLTT_BUFFER_SIZE * 2);
+ ConvertIntToDecimalStringN(gStringVar1, eContest.turnNumber + 1, STR_CONV_MODE_LEFT_ALIGN, 1);
if (!Contest_IsMonsTurnDisabled(gContestPlayerMonIndex))
StringCopy(gDisplayedStringBattle, gText_0827D507);
else
StringCopy(gDisplayedStringBattle, gText_0827D531);
- sub_80DB89C();
+ ContestClearGeneralTextWindow();
StringExpandPlaceholders(gStringVar4, gDisplayedStringBattle);
- Contest_StartTextPrinter(gStringVar4, 1);
+ Contest_StartTextPrinter(gStringVar4, TRUE);
gTasks[taskId].data[0]++;
}
else
@@ -1364,15 +1395,15 @@ static void sub_80D8490(u8 taskId)
u16 move = gContestMons[gContestPlayerMonIndex].moves[i];
u8 *r5 = sp8;
- if (gContestResources->field_4[gContestPlayerMonIndex].prevMove != MOVE_NONE
+ if (eContestantStatus[gContestPlayerMonIndex].prevMove != MOVE_NONE
&& sub_80DE1E8(gContestPlayerMonIndex)
- && AreMovesContestCombo(gContestResources->field_4[gContestPlayerMonIndex].prevMove, move) != 0
- && gContestResources->field_4[gContestPlayerMonIndex].hasJudgesAttention)
+ && AreMovesContestCombo(eContestantStatus[gContestPlayerMonIndex].prevMove, move) != 0
+ && eContestantStatus[gContestPlayerMonIndex].hasJudgesAttention)
{
r5 = StringCopy(sp8, gText_ColorLightShadowDarkGrey);
}
else if (move != 0
- && gContestResources->field_4[gContestPlayerMonIndex].prevMove == move
+ && eContestantStatus[gContestPlayerMonIndex].prevMove == move
&& gContestMoves[move].effect != CONTEST_EFFECT_REPETITION_NOT_BORING)
{
// Gray the text because it is a repeated move
@@ -1380,12 +1411,12 @@ static void sub_80D8490(u8 taskId)
}
r5 = StringCopy(r5, gMoveNames[move]);
- FillWindowPixelBuffer(i + 5, PIXEL_FILL(0));
- Contest_PrintTextToBg0WindowAt(i + 5, sp8, 5, 1, 7);
+ FillWindowPixelBuffer(i + MOVE_WINDOWS_START, PIXEL_FILL(0));
+ Contest_PrintTextToBg0WindowAt(i + MOVE_WINDOWS_START, sp8, 5, 1, 7);
}
- sub_80D880C(gContestResources->field_0->playerMoveChoice);
- prints_contest_move_description(gContestMons[gContestPlayerMonIndex].moves[gContestResources->field_0->playerMoveChoice]);
+ sub_80D880C(eContest.playerMoveChoice);
+ PrintContestMoveDescription(gContestMons[gContestPlayerMonIndex].moves[eContest.playerMoveChoice]);
gTasks[taskId].func = sub_80D8610;
}
@@ -1412,12 +1443,12 @@ static void sub_80D8610(u8 taskId)
case B_BUTTON:
PlaySE(SE_SELECT);
sub_80DC490(FALSE);
- ConvertIntToDecimalStringN(gStringVar1, gContestResources->field_0->turnNumber + 1, STR_CONV_MODE_LEFT_ALIGN, 1);
+ ConvertIntToDecimalStringN(gStringVar1, eContest.turnNumber + 1, STR_CONV_MODE_LEFT_ALIGN, 1);
if (!Contest_IsMonsTurnDisabled(gContestPlayerMonIndex))
StringCopy(gDisplayedStringBattle, gText_0827D507);
else
StringCopy(gDisplayedStringBattle, gText_0827D531);
- sub_80DB89C();
+ ContestClearGeneralTextWindow();
StringExpandPlaceholders(gStringVar4, gDisplayedStringBattle);
Contest_StartTextPrinter(gStringVar4, 0);
gBattle_BG0_Y = 0;
@@ -1428,24 +1459,24 @@ static void sub_80D8610(u8 taskId)
case DPAD_RIGHT:
break;
case DPAD_UP:
- sub_80D883C(gContestResources->field_0->playerMoveChoice);
- if (gContestResources->field_0->playerMoveChoice == 0)
- gContestResources->field_0->playerMoveChoice = numMoves - 1;
+ sub_80D883C(eContest.playerMoveChoice);
+ if (eContest.playerMoveChoice == 0)
+ eContest.playerMoveChoice = numMoves - 1;
else
- gContestResources->field_0->playerMoveChoice--;
- sub_80D880C(gContestResources->field_0->playerMoveChoice);
- prints_contest_move_description(gContestMons[gContestPlayerMonIndex].moves[gContestResources->field_0->playerMoveChoice]);
+ eContest.playerMoveChoice--;
+ sub_80D880C(eContest.playerMoveChoice);
+ PrintContestMoveDescription(gContestMons[gContestPlayerMonIndex].moves[eContest.playerMoveChoice]);
if (numMoves > 1)
PlaySE(SE_SELECT);
break;
case DPAD_DOWN:
- sub_80D883C(gContestResources->field_0->playerMoveChoice);
- if (gContestResources->field_0->playerMoveChoice == numMoves - 1)
- gContestResources->field_0->playerMoveChoice = 0;
+ sub_80D883C(eContest.playerMoveChoice);
+ if (eContest.playerMoveChoice == numMoves - 1)
+ eContest.playerMoveChoice = 0;
else
- gContestResources->field_0->playerMoveChoice++;
- sub_80D880C(gContestResources->field_0->playerMoveChoice);
- prints_contest_move_description(gContestMons[gContestPlayerMonIndex].moves[gContestResources->field_0->playerMoveChoice]);
+ eContest.playerMoveChoice++;
+ sub_80D880C(eContest.playerMoveChoice);
+ PrintContestMoveDescription(gContestMons[gContestPlayerMonIndex].moves[eContest.playerMoveChoice]);
if (numMoves > 1)
PlaySE(SE_SELECT);
break;
@@ -1466,21 +1497,21 @@ static void sub_80D883C(s8 a0)
static void sub_80D8894(u8 taskId)
{
- if (gIsLinkContest & 1)
+ if (gLinkContestFlags & LINK_CONTEST_FLAG_IS_LINK)
{
- u16 var = GetChosenMove(gContestPlayerMonIndex);
+ u16 move = GetChosenMove(gContestPlayerMonIndex);
u8 taskId2;
- gContestResources->field_4[gContestPlayerMonIndex].currMove = var;
+ eContestantStatus[gContestPlayerMonIndex].currMove = move;
taskId2 = CreateTask(sub_80FC9F8, 0);
SetTaskFuncWithFollowupFunc(taskId2, sub_80FC9F8, sub_80D892C);
gTasks[taskId].func = TaskDummy1;
- sub_80DBF68();
+ ContestPrintLinkStandby();
sub_80DC490(FALSE);
}
else
{
- sub_80DB918();
+ GetAllChosenMoves();
gTasks[taskId].func = sub_80D895C;
}
}
@@ -1488,28 +1519,28 @@ static void sub_80D8894(u8 taskId)
static void sub_80D892C(u8 taskId)
{
DestroyTask(taskId);
- gTasks[gContestResources->field_0->mainTaskId].func = sub_80D895C;
+ gTasks[eContest.mainTaskId].func = sub_80D895C;
}
static void sub_80D895C(u8 taskId)
{
s32 i;
- sub_80DB89C();
+ ContestClearGeneralTextWindow();
gBattle_BG0_Y = 0;
gBattle_BG2_Y = 0;
sub_80DC490(FALSE);
- for (i = 0; i < 4; i++)
+ for (i = 0; i < CONTESTANT_COUNT; i++)
{
- FillWindowPixelBuffer(5 + i, PIXEL_FILL(0));
- PutWindowTilemap(5 + i);
- CopyWindowToVram(5 + i, 2);
+ FillWindowPixelBuffer(MOVE_WINDOWS_START + i, PIXEL_FILL(0));
+ PutWindowTilemap(MOVE_WINDOWS_START + i);
+ CopyWindowToVram(MOVE_WINDOWS_START + i, 2);
}
Contest_SetBgCopyFlags(0);
-
- DmaCopy32Defvars(3, gPlttBufferFaded, shared18000.unk18604, 0x400);
- LoadPalette(shared18000.unk18204, 0, 0x400);
+ // This seems to be a bug; it should have just copied PLTT_BUFFER_SIZE.
+ DmaCopy32Defvars(3, gPlttBufferFaded, eUnknownHeap1A004.unk18604, PLTT_BUFFER_SIZE * 2);
+ LoadPalette(eUnknownHeap1A004.unk18204, 0, PLTT_BUFFER_SIZE * 2);
gTasks[taskId].data[0] = 0;
gTasks[taskId].data[1] = 0;
gTasks[taskId].func = sub_80D8A04;
@@ -1522,7 +1553,7 @@ static void sub_80D8A04(u8 taskId)
gTasks[taskId].data[0] = 0;
if (++gTasks[taskId].data[1] == 2)
{
- sub_80DDBE8();
+ TryMoveApplauseMeterOffscreen();
sub_80DE69C(1);
gTasks[taskId].func = sub_80D8A50;
}
@@ -1531,7 +1562,7 @@ static void sub_80D8A04(u8 taskId)
static void sub_80D8A50(u8 taskId)
{
- if (!gContestResources->field_0->unk1920A_6 && !gContestResources->field_0->unk1920B_1)
+ if (!eContest.applauseMeterIsMoving && !eContest.unk1920B_1)
gTasks[taskId].func = sub_80D8A88;
}
@@ -1539,15 +1570,15 @@ static void sub_80D8A88(u8 taskId)
{
if (++gTasks[taskId].data[0] > 19)
{
- gContestResources->field_0->unk19214 = 0;
- gContestResources->field_0->unk1921C = gRngValue;
- if ((gIsLinkContest & 1) && sub_80DA8A4())
+ eContest.unk19214 = 0;
+ eContest.unk1921C = gRngValue;
+ if ((gLinkContestFlags & LINK_CONTEST_FLAG_IS_LINK) && sub_80DA8A4())
{
s32 i;
for (i = 0; i + gNumLinkContestPlayers < 4; i++)
{
- gContestResources->field_4[gNumLinkContestPlayers + i].currMove = GetChosenMove(gNumLinkContestPlayers + i);
+ eContestantStatus[gNumLinkContestPlayers + i].currMove = GetChosenMove(gNumLinkContestPlayers + i);
}
}
gTasks[taskId].data[0] = 0;
@@ -1559,50 +1590,50 @@ static void sub_80D8B38(u8 taskId)
{
u8 spriteId;
s32 i;
- u8 r6 = gContestResources->field_0->unk19215;
+ u8 r6 = eContest.unk19215;
s8 r3;
switch (gTasks[taskId].data[0])
{
case 0:
- sub_80DCD48();
- for (i = 0; gContestResources->field_0->unk19214 != gContestResources->field_8->turnOrder[i]; i++)
+ ContestDebugDoPrint();
+ for (i = 0; eContest.unk19214 != gContestResources->field_8->turnOrder[i]; i++)
;
- gContestResources->field_0->unk19215 = i;
- r6 = gContestResources->field_0->unk19215;
- if (gIsLinkContest & 1)
+ eContest.unk19215 = i;
+ r6 = eContest.unk19215;
+ if (gLinkContestFlags & LINK_CONTEST_FLAG_IS_LINK)
{
u8 taskId2;
- gContestResources->field_0->unk1920B_2 = 1;
+ eContest.unk1920B_2 = 1;
if (sub_80DA8A4())
- sub_80DD080(gContestResources->field_0->unk19215);
+ sub_80DD080(eContest.unk19215);
taskId2 = CreateTask(sub_80FCC88, 0);
SetTaskFuncWithFollowupFunc(taskId2, sub_80FCC88, sub_80DA110);
- sub_80DBF68();
+ ContestPrintLinkStandby();
gTasks[taskId].data[0] = 1;
}
else
{
- sub_80DD080(gContestResources->field_0->unk19215);
+ sub_80DD080(eContest.unk19215);
gTasks[taskId].data[0] = 2;
}
return;
case 1:
- if (!gContestResources->field_0->unk1920B_2)
+ if (!eContest.unk1920B_2)
gTasks[taskId].data[0] = 2;
return;
case 2:
sub_80DF080(r6);
- sub_80DF750();
- if (gContestResources->field_4[r6].numTurnsSkipped != 0
- || gContestResources->field_4[r6].noMoreTurns)
+ ContestDebugPrintBitStrings();
+ if (eContestantStatus[r6].numTurnsSkipped != 0
+ || eContestantStatus[r6].noMoreTurns)
{
gTasks[taskId].data[0] = 31;
}
else
{
- sub_80DB89C();
+ ContestClearGeneralTextWindow();
gTasks[taskId].data[10] = 0;
gTasks[taskId].data[0] = 3;
}
@@ -1611,17 +1642,17 @@ static void sub_80D8B38(u8 taskId)
for (i = 0; i < 4; i++)
gBattleMonForms[i] = 0;
memset(gContestResources->field_18, 0, sizeof(*gContestResources->field_18));
- sub_80DE9DC(gContestResources->field_0->unk19215);
+ sub_80DE9DC(eContest.unk19215);
spriteId = sub_80DB174(
- gContestMons[gContestResources->field_0->unk19215].species,
- gContestMons[gContestResources->field_0->unk19215].otId,
- gContestMons[gContestResources->field_0->unk19215].personality,
- gContestResources->field_0->unk19215);
+ gContestMons[eContest.unk19215].species,
+ gContestMons[eContest.unk19215].otId,
+ gContestMons[eContest.unk19215].personality,
+ eContest.unk19215);
gSprites[spriteId].pos2.x = 120;
gSprites[spriteId].callback = sub_80DA134;
gTasks[taskId].data[2] = spriteId;
gBattlerSpriteIds[gBattlerAttacker] = spriteId;
- sub_80DCBE8(sub_80DC9EC(gContestResources->field_0->unk19215), FALSE);
+ sub_80DCBE8(sub_80DC9EC(eContest.unk19215), FALSE);
gTasks[taskId].data[0] = 4;
return;
case 4:
@@ -1633,18 +1664,18 @@ static void sub_80D8B38(u8 taskId)
}
return;
case 5:
- if (gContestResources->field_4[r6].nervous)
+ if (eContestantStatus[r6].nervous)
{
gTasks[taskId].data[0] = 33;
}
else
{
- sub_80DB89C();
+ ContestClearGeneralTextWindow();
StringCopy(gStringVar1, gContestMons[r6].nickname);
- if (gContestResources->field_4[r6].currMove < MOVES_COUNT)
- StringCopy(gStringVar2, gMoveNames[gContestResources->field_4[r6].currMove]);
+ if (eContestantStatus[r6].currMove < MOVES_COUNT)
+ StringCopy(gStringVar2, gMoveNames[eContestantStatus[r6].currMove]);
else
- StringCopy(gStringVar2, gUnknown_08587F1C[gContestResources->field_4[r6].moveCategory]);
+ StringCopy(gStringVar2, gUnknown_08587F1C[eContestantStatus[r6].moveCategory]);
StringExpandPlaceholders(gStringVar4, gText_0827D55A);
Contest_StartTextPrinter(gStringVar4, 1);
gTasks[taskId].data[0] = 6;
@@ -1653,16 +1684,16 @@ static void sub_80D8B38(u8 taskId)
case 6:
if (!Contest_RunTextPrinters())
{
- gContestResources->field_0->unk1925E = 0;
+ eContest.unk1925E = 0;
gTasks[taskId].data[0] = 7;
}
return;
case 7:
{
- u16 move = SanitizeMove(gContestResources->field_4[gContestResources->field_0->unk19215].currMove);
+ u16 move = SanitizeMove(eContestantStatus[eContest.unk19215].currMove);
- sub_80DE864(gContestResources->field_0->unk19215);
- sub_80DE9DC(gContestResources->field_0->unk19215);
+ sub_80DE864(eContest.unk19215);
+ sub_80DE9DC(eContest.unk19215);
SelectContestMoveBankTarget(move);
DoMoveAnim(move);
gTasks[taskId].data[0] = 8;
@@ -1673,14 +1704,14 @@ static void sub_80D8B38(u8 taskId)
if (!gAnimScriptActive)
{
sub_80DE9B0(r6);
- if (gContestResources->field_0->unk1925E != 0)
+ if (eContest.unk1925E != 0)
{
gTasks[taskId].data[10] = 0;
gTasks[taskId].data[0] = 9;
}
else
{
- if (!gContestResources->field_4[r6].hasJudgesAttention)
+ if (!eContestantStatus[r6].hasJudgesAttention)
sub_80DC674(r6);
sub_80DE12C();
gTasks[taskId].data[0] = 23;
@@ -1696,25 +1727,25 @@ static void sub_80D8B38(u8 taskId)
return;
case 23:
gTasks[taskId].data[1] = 0;
- if (gContestResources->field_4[r6].effectStringId != CONTEST_STRING_NONE)
+ if (eContestantStatus[r6].effectStringId != CONTEST_STRING_NONE)
{
- sub_80DD45C(r6, gContestResources->field_4[r6].effectStringId);
- gContestResources->field_4[r6].effectStringId = CONTEST_STRING_NONE;
+ sub_80DD45C(r6, eContestantStatus[r6].effectStringId);
+ eContestantStatus[r6].effectStringId = CONTEST_STRING_NONE;
gTasks[taskId].data[0] = 24;
}
else
{
- if (gContestResources->field_4[r6].effectStringId2 != CONTEST_STRING_NONE)
+ if (eContestantStatus[r6].effectStringId2 != CONTEST_STRING_NONE)
{
for (i = 0; i < 4; i++)
{
- if (i != r6 && gContestResources->field_4[i].effectStringId != CONTEST_STRING_NONE)
+ if (i != r6 && eContestantStatus[i].effectStringId != CONTEST_STRING_NONE)
break;
}
if (i == 4)
{
- sub_80DD45C(r6, gContestResources->field_4[r6].effectStringId2);
- gContestResources->field_4[r6].effectStringId2 = CONTEST_STRING_NONE;
+ sub_80DD45C(r6, eContestantStatus[r6].effectStringId2);
+ eContestantStatus[r6].effectStringId2 = CONTEST_STRING_NONE;
gTasks[taskId].data[0] = 24;
}
else
@@ -1733,15 +1764,15 @@ static void sub_80D8B38(u8 taskId)
gTasks[taskId].data[0] = 23;
return;
case 48:
- if (gContestResources->field_4[r6].turnOrderModAction == 1)
+ if (eContestantStatus[r6].turnOrderModAction == 1)
{
sub_80DD720(5);
}
- else if (gContestResources->field_4[r6].turnOrderModAction == 2)
+ else if (eContestantStatus[r6].turnOrderModAction == 2)
{
sub_80DD720(6);
}
- else if (gContestResources->field_4[r6].turnOrderModAction == 3)
+ else if (eContestantStatus[r6].turnOrderModAction == 3)
{
sub_80DD720(7);
}
@@ -1753,7 +1784,7 @@ static void sub_80D8B38(u8 taskId)
gTasks[taskId].data[0] = 49;
return;
case 49:
- if (!gContestResources->field_0->unk1920A_4)
+ if (!eContest.unk1920A_4)
gTasks[taskId].data[0] = 47;
return;
case 47:
@@ -1761,20 +1792,20 @@ static void sub_80D8B38(u8 taskId)
gTasks[taskId].data[0] = 12;
return;
case 12:
- sub_80DC028(0, gContestResources->field_4[r6].appeal2, r6);
+ sub_80DC028(0, eContestantStatus[r6].appeal2, r6);
gTasks[taskId].data[0] = 13;
return;
case 13:
- if (!gContestResources->field_14[gContestResources->field_0->unk19215].unk2_2)
+ if (!gContestResources->field_14[eContest.unk19215].unk2_2)
gTasks[taskId].data[0] = 35;
return;
case 35:
- if (gContestResources->field_4[r6].conditionMod == 1)
+ if (eContestantStatus[r6].conditionMod == 1)
sub_80DD720(8);
gTasks[taskId].data[0] = 36;
return;
case 36:
- if (!gContestResources->field_0->unk1920A_4)
+ if (!eContest.unk1920A_4)
gTasks[taskId].data[0] = 37;
return;
case 37:
@@ -1814,8 +1845,8 @@ static void sub_80D8B38(u8 taskId)
r3 = 0;
for (r2 = 0; r2 < 4; r2++)
{
- if (r2 != r6 && gUnknown_02039F26[r2] == i
- && gContestResources->field_4[r2].effectStringId != CONTEST_STRING_NONE)
+ if (r2 != r6 && gContestantTurnOrder[r2] == i
+ && eContestantStatus[r2].effectStringId != CONTEST_STRING_NONE)
{
r3 = 1;
break;
@@ -1826,9 +1857,9 @@ static void sub_80D8B38(u8 taskId)
}
if (r3)
{
- gTasks[taskId].data[1] = gUnknown_02039F26[r2];
- sub_80DD45C(r2, gContestResources->field_4[r2].effectStringId);
- gContestResources->field_4[r2].effectStringId = CONTEST_STRING_NONE;
+ gTasks[taskId].data[1] = gContestantTurnOrder[r2];
+ sub_80DD45C(r2, eContestantStatus[r2].effectStringId);
+ eContestantStatus[r2].effectStringId = CONTEST_STRING_NONE;
gTasks[taskId].data[0] = 27;
}
else
@@ -1845,19 +1876,19 @@ static void sub_80D8B38(u8 taskId)
gTasks[taskId].data[0] = 28;
return;
case 28:
- for (i = 0; gTasks[taskId].data[1] != gUnknown_02039F26[i]; i++)
+ for (i = 0; gTasks[taskId].data[1] != gContestantTurnOrder[i]; i++)
;
- sub_80DC028(gContestResources->field_4[i].appeal2 + gContestResources->field_4[i].jam, -gContestResources->field_4[i].jam, i);
+ sub_80DC028(eContestantStatus[i].appeal2 + eContestantStatus[i].jam, -eContestantStatus[i].jam, i);
gTasks[taskId].data[0] = 29;
return;
case 29:
- for (i = 0; gTasks[taskId].data[1] != gUnknown_02039F26[i]; i++)
+ for (i = 0; gTasks[taskId].data[1] != gContestantTurnOrder[i]; i++)
;
if (!gContestResources->field_14[i].unk2_2)
gTasks[taskId].data[0] = 39;
return;
case 39:
- for (i = 0; gTasks[taskId].data[1] != gUnknown_02039F26[i]; i++)
+ for (i = 0; gTasks[taskId].data[1] != gContestantTurnOrder[i]; i++)
;
if (sub_80DB5B8(i, 1))
{
@@ -1879,17 +1910,17 @@ static void sub_80D8B38(u8 taskId)
case 30:
for (i = 0; i < 4; i++)
{
- if (gUnknown_02039F26[i] == gTasks[taskId].data[1])
+ if (gContestantTurnOrder[i] == gTasks[taskId].data[1])
break;
}
if (sub_80DB798(i))
PlaySE(SE_C_PASI);
else
PlaySE(SE_C_SYU);
- if (gContestResources->field_4[i].judgesAttentionWasRemoved)
+ if (eContestantStatus[i].judgesAttentionWasRemoved)
{
sub_80DC674(i);
- gContestResources->field_4[i].judgesAttentionWasRemoved = 0;
+ eContestantStatus[i].judgesAttentionWasRemoved = 0;
}
gTasks[taskId].data[1]++;
gTasks[taskId].data[0] = 26;
@@ -1898,10 +1929,10 @@ static void sub_80D8B38(u8 taskId)
if (gTasks[taskId].data[10]++ > 9)
{
gTasks[taskId].data[10] = 0;
- if (gContestResources->field_4[r6].numTurnsSkipped != 0
- || gContestResources->field_4[r6].turnSkipped)
+ if (eContestantStatus[r6].numTurnsSkipped != 0
+ || eContestantStatus[r6].turnSkipped)
{
- sub_80DB89C();
+ ContestClearGeneralTextWindow();
StringCopy(gStringVar1, gContestMons[r6].nickname);
StringExpandPlaceholders(gStringVar4, gText_0827E793);
Contest_StartTextPrinter(gStringVar4, 1);
@@ -1912,30 +1943,30 @@ static void sub_80D8B38(u8 taskId)
case 52:
if (!Contest_RunTextPrinters())
{
- if (!gContestResources->field_4[r6].unk15_6)
+ if (!eContestantStatus[r6].unk15_6)
gTasks[taskId].data[0] = 17;
else
gTasks[taskId].data[0] = 14;
}
return;
case 14:
- r3 = gContestResources->field_4[r6].unk16;
- if (gContestResources->field_4[r6].unk16 != 0)
+ r3 = eContestantStatus[r6].unk16;
+ if (eContestantStatus[r6].unk16 != 0)
{
- sub_80DB89C();
+ ContestClearGeneralTextWindow();
if (r3 == 1)
- Contest_StartTextPrinter(gText_0827E32E, 1);
+ Contest_StartTextPrinter(gText_0827E32E, TRUE);
else if (r3 == 2)
- Contest_StartTextPrinter(gText_0827E35B, 1);
+ Contest_StartTextPrinter(gText_0827E35B, TRUE);
else
- Contest_StartTextPrinter(gText_0827E38D, 1);
+ Contest_StartTextPrinter(gText_0827E38D, TRUE);
sub_80DD720(3);
gTasks[taskId].data[10] = 0;
gTasks[taskId].data[0] = 45;
}
else
{
- sub_80DB89C();
+ ContestClearGeneralTextWindow();
StringCopy(gStringVar1, gContestMons[r6].nickname);
StringExpandPlaceholders(gStringVar4, gText_0827E2FE);
Contest_StartTextPrinter(gStringVar4, 1);
@@ -1945,9 +1976,9 @@ static void sub_80D8B38(u8 taskId)
}
return;
case 45:
- if (!gContestResources->field_0->unk1920A_4)
+ if (!eContest.unk1920A_4)
{
- sub_80DC9B4(gContestResources->field_0->unk19215);
+ sub_80DC9B4(eContest.unk19215);
gTasks[taskId].data[0] = 15;
}
return;
@@ -1956,13 +1987,13 @@ static void sub_80D8B38(u8 taskId)
{
if (++gTasks[taskId].data[10] > 50)
{
- if (!gContestResources->field_4[r6].hasJudgesAttention)
+ if (!eContestantStatus[r6].hasJudgesAttention)
{
sub_80DC028(
- gContestResources->field_4[r6].appeal2,
- gContestResources->field_4[r6].unk17,
+ eContestantStatus[r6].appeal2,
+ eContestantStatus[r6].unk17,
r6);
- gContestResources->field_4[r6].appeal2 += gContestResources->field_4[r6].unk17;
+ eContestantStatus[r6].appeal2 += eContestantStatus[r6].unk17;
}
gTasks[taskId].data[0] = 16;
}
@@ -1976,12 +2007,12 @@ static void sub_80D8B38(u8 taskId)
}
return;
case 17:
- if (gContestResources->field_4[r6].disappointedRepeat)
+ if (eContestantStatus[r6].disappointedRepeat)
{
- sub_80DB89C();
+ ContestClearGeneralTextWindow();
StringCopy(gStringVar1, gContestMons[r6].nickname);
- StringExpandPlaceholders(gStringVar4, gText_0827E6E3);
- Contest_StartTextPrinter(gStringVar4, 1);
+ StringExpandPlaceholders(gStringVar4, gText_RepeatedAppeal);
+ Contest_StartTextPrinter(gStringVar4, TRUE);
gTasks[taskId].data[10] = 0;
sub_80DD720(0);
gTasks[taskId].data[0] = 46;
@@ -1992,23 +2023,23 @@ static void sub_80D8B38(u8 taskId)
}
return;
case 46:
- if (!gContestResources->field_0->unk1920A_4)
+ if (!eContest.unk1920A_4)
gTasks[taskId].data[0] = 19;
return;
case 19:
if (!Contest_RunTextPrinters())
{
- sub_80DC028(gContestResources->field_4[r6].appeal2, -gContestResources->field_4[r6].unk18, r6);
- gContestResources->field_4[r6].appeal2 -= gContestResources->field_4[r6].unk18;
+ sub_80DC028(eContestantStatus[r6].appeal2, -eContestantStatus[r6].unk18, r6);
+ eContestantStatus[r6].appeal2 -= eContestantStatus[r6].unk18;
gTasks[taskId].data[0] = 18;
}
return;
case 18:
- sub_80DCD48();
+ ContestDebugDoPrint();
if (!gContestResources->field_14[r6].unk2_2)
{
gTasks[taskId].data[10] = 0;
- sub_80DB89C();
+ ContestClearGeneralTextWindow();
gTasks[taskId].data[0] = 41;
}
return;
@@ -2020,25 +2051,25 @@ static void sub_80D8B38(u8 taskId)
else
{
r3 = gContestResources->field_10->bits_0;
- if (gContestResources->field_4[r6].overrideCategoryExcitementMod)
+ if (eContestantStatus[r6].overrideCategoryExcitementMod)
{
r3 = 1;
- StringCopy(gStringVar3, gMoveNames[gContestResources->field_4[r6].currMove]);
+ StringCopy(gStringVar3, gMoveNames[eContestantStatus[r6].currMove]);
}
else
{
- StringCopy(gStringVar3, gUnknown_08587F08[gContestMoves[gContestResources->field_4[r6].currMove].contestCategory]);
+ StringCopy(gStringVar3, gUnknown_08587F08[gContestMoves[eContestantStatus[r6].currMove].contestCategory]);
}
if (r3 > 0)
{
- if (gContestResources->field_4[r6].disappointedRepeat)
+ if (eContestantStatus[r6].disappointedRepeat)
r3 = 0;
}
- sub_80DB89C();
+ ContestClearGeneralTextWindow();
StringCopy(gStringVar1, gContestMons[r6].nickname);
- gContestResources->field_0->applauseLevel += r3;
- if (gContestResources->field_0->applauseLevel < 0)
- gContestResources->field_0->applauseLevel = 0;
+ eContest.applauseLevel += r3;
+ if (eContest.applauseLevel < 0)
+ eContest.applauseLevel = 0;
if (r3 == 0)
{
gTasks[taskId].data[0] = 55;
@@ -2047,7 +2078,7 @@ static void sub_80D8B38(u8 taskId)
{
if (r3 < 0)
StringExpandPlaceholders(gStringVar4, gText_0827E73C);
- else if (r3 > 0 && gContestResources->field_0->applauseLevel <= 4)
+ else if (r3 > 0 && eContest.applauseLevel <= 4)
StringExpandPlaceholders(gStringVar4, gText_0827E717);
else
StringExpandPlaceholders(gStringVar4, gText_0827E76A);
@@ -2070,14 +2101,14 @@ static void sub_80D8B38(u8 taskId)
gTasks[taskId].data[10]++;
break;
case 1:
- if (!gContestResources->field_0->unk1920B_0 && !Contest_RunTextPrinters())
+ if (!eContest.unk1920B_0 && !Contest_RunTextPrinters())
{
- sub_80DDCDC(-1);
+ ShowAndUpdateApplauseMeter(-1);
gTasks[taskId].data[10]++;
}
break;
case 2:
- if (!gContestResources->field_0->unk1920A_5)
+ if (!eContest.isShowingApplauseMeter)
{
if (gTasks[taskId].data[11]++ > 29)
{
@@ -2108,22 +2139,22 @@ static void sub_80D8B38(u8 taskId)
}
break;
case 1:
- if (!gContestResources->field_0->unk1920B_0)
+ if (!eContest.unk1920B_0)
{
sub_80DDE0C();
PlaySE(SE_W227B);
- sub_80DDCDC(1);
+ ShowAndUpdateApplauseMeter(1);
gTasks[taskId].data[10]++;
}
break;
case 2:
- if (!gContestResources->field_0->unk1920A_5)
+ if (!eContest.isShowingApplauseMeter)
{
if (gTasks[taskId].data[11]++ > 29)
{
gTasks[taskId].data[11] = 0;
- sub_80DC028(gContestResources->field_4[r6].appeal2, gContestResources->field_10->unk2, r6);
- gContestResources->field_4[r6].appeal2 += gContestResources->field_10->unk2;
+ sub_80DC028(eContestantStatus[r6].appeal2, gContestResources->field_10->unk2, r6);
+ eContestantStatus[r6].appeal2 += gContestResources->field_10->unk2;
gTasks[taskId].data[10]++;
}
}
@@ -2131,7 +2162,7 @@ static void sub_80D8B38(u8 taskId)
case 3:
if (!gContestResources->field_14[r6].unk2_2)
{
- if (!gContestResources->field_0->unk1920A_7)
+ if (!eContest.unk1920A_7)
{
sub_80DDED0(1, -1);
gTasks[taskId].data[10]++;
@@ -2151,43 +2182,43 @@ static void sub_80D8B38(u8 taskId)
case 43:
if (!gContestResources->field_14[r6].unk2_2)
{
- sub_80DB89C();
+ ContestClearGeneralTextWindow();
gTasks[taskId].data[0] = 55;
}
return;
case 57:
- sub_80DB89C();
+ ContestClearGeneralTextWindow();
StringCopy(gStringVar3, gContestMons[gContestResources->field_10->excitementFreezer].nickname);
StringCopy(gStringVar1, gContestMons[r6].nickname);
- StringCopy(gStringVar2, gMoveNames[gContestResources->field_4[r6].currMove]);
+ StringCopy(gStringVar2, gMoveNames[eContestantStatus[r6].currMove]);
StringExpandPlaceholders(gStringVar4, gText_0827E7EA);
- Contest_StartTextPrinter(gStringVar4, 1);
+ Contest_StartTextPrinter(gStringVar4, TRUE);
gTasks[taskId].data[0] = 58;
return;
case 58:
if (!Contest_RunTextPrinters())
{
- sub_80DB89C();
+ ContestClearGeneralTextWindow();
StringExpandPlaceholders(gStringVar4, gText_0827E817);
- Contest_StartTextPrinter(gStringVar4, 1);
+ Contest_StartTextPrinter(gStringVar4, TRUE);
gTasks[taskId].data[0] = 59;
}
return;
case 59:
if (!Contest_RunTextPrinters())
{
- sub_80DB89C();
+ ContestClearGeneralTextWindow();
gTasks[taskId].data[0] = 55;
}
return;
case 33:
- if (gContestResources->field_4[r6].hasJudgesAttention)
- gContestResources->field_4[r6].hasJudgesAttention = 0;
+ if (eContestantStatus[r6].hasJudgesAttention)
+ eContestantStatus[r6].hasJudgesAttention = 0;
sub_80DC9B4(r6);
StringCopy(gStringVar1, gContestMons[r6].nickname);
- StringCopy(gStringVar2, gMoveNames[gContestResources->field_4[r6].currMove]);
+ StringCopy(gStringVar2, gMoveNames[eContestantStatus[r6].currMove]);
StringExpandPlaceholders(gStringVar4, gText_0827E58A);
- Contest_StartTextPrinter(gStringVar4, 1);
+ Contest_StartTextPrinter(gStringVar4, TRUE);
gTasks[taskId].data[0] = 34;
return;
case 34:
@@ -2195,16 +2226,16 @@ static void sub_80D8B38(u8 taskId)
gTasks[taskId].data[0] = 55;
return;
case 55:
- sub_80DDBE8();
+ TryMoveApplauseMeterOffscreen();
gTasks[taskId].data[0] = 56;
return;
case 56:
- if (!gContestResources->field_0->unk1920A_6)
+ if (!eContest.applauseMeterIsMoving)
{
- if (gContestResources->field_0->applauseLevel > 4)
+ if (eContest.applauseLevel > 4)
{
- gContestResources->field_0->applauseLevel = 0;
- sub_80DD940();
+ eContest.applauseLevel = 0;
+ UpdateApplauseMeter();
}
gTasks[taskId].data[0] = 10;
}
@@ -2228,10 +2259,10 @@ static void sub_80D8B38(u8 taskId)
gTasks[taskId].data[0] = 21;
return;
case 31:
- sub_80DB89C();
+ ContestClearGeneralTextWindow();
StringCopy(gStringVar1, gContestMons[r6].nickname);
StringExpandPlaceholders(gStringVar4, gText_0827D56F);
- Contest_StartTextPrinter(gStringVar4, 1);
+ Contest_StartTextPrinter(gStringVar4, TRUE);
gTasks[taskId].data[0] = 32;
return;
case 32:
@@ -2246,7 +2277,7 @@ static void sub_80D8B38(u8 taskId)
}
return;
case 22:
- if (++gContestResources->field_0->unk19214 == 4)
+ if (++eContest.unk19214 == 4)
{
gTasks[taskId].data[0] = 0;
gTasks[taskId].data[1] = 0;
@@ -2263,7 +2294,7 @@ static void sub_80D8B38(u8 taskId)
static void sub_80DA110(u8 taskId)
{
- sContest.unk1920B_2 = 0;
+ eContest.unk1920B_2 = 0;
DestroyTask(taskId);
}
@@ -2298,30 +2329,30 @@ static void sub_80DA198(u8 taskId)
switch (gTasks[taskId].data[0])
{
case 0:
- if (gIsLinkContest & 1)
+ if (gLinkContestFlags & LINK_CONTEST_FLAG_IS_LINK)
{
u8 taskId2;
- sContest.unk1920B_2 = 1;
+ eContest.unk1920B_2 = 1;
if (sub_80DA8A4())
{
- sub_80DB944();
+ RankContestants();
sub_80DBA18();
}
taskId2 = CreateTask(sub_80FCC88, 0);
SetTaskFuncWithFollowupFunc(taskId2, sub_80FCC88, sub_80DA110);
- sub_80DBF68();
+ ContestPrintLinkStandby();
gTasks[taskId].data[0] = 1;
}
else
{
- sub_80DB944();
+ RankContestants();
sub_80DBA18();
gTasks[taskId].data[0] = 2;
}
break;
case 1:
- if (!sContest.unk1920B_2)
+ if (!eContest.unk1920B_2)
gTasks[taskId].data[0] = 2;
break;
case 2:
@@ -2352,7 +2383,7 @@ static void sub_80DA28C(u8 taskId)
}
break;
case 1:
- if (!sContest.unk1920B_1)
+ if (!eContest.unk1920B_1)
{
if (++gTasks[taskId].data[1] > 20)
{
@@ -2378,7 +2409,7 @@ static void sub_80DA31C(u8 taskId)
static void sub_80DA348(u8 taskId)
{
- DmaCopy32Defvars(3, shared18000.unk18204, gPlttBufferUnfaded, 0x400);
+ DmaCopy32Defvars(3, eUnknownHeap1A004.unk18204, gPlttBufferUnfaded, PLTT_BUFFER_SIZE * 2);
gTasks[taskId].data[0] = 0;
gTasks[taskId].data[1] = 2;
gTasks[taskId].func = sub_80DA38C;
@@ -2398,12 +2429,12 @@ static void sub_80DA3CC(u8 taskId)
{
if (gTasks[taskId].data[0] == 0)
{
- u8 r4 = sContestantStatus[gContestPlayerMonIndex].attentionLevel;
+ u8 r4 = eContestantStatus[gContestPlayerMonIndex].attentionLevel;
- sub_80DB89C();
+ ContestClearGeneralTextWindow();
StringCopy(gStringVar1, gContestMons[gContestPlayerMonIndex].nickname);
StringExpandPlaceholders(gStringVar4, gUnknown_08587D90[r4]);
- Contest_StartTextPrinter(gStringVar4, 1);
+ Contest_StartTextPrinter(gStringVar4, TRUE);
gTasks[taskId].data[0]++;
}
else
@@ -2412,7 +2443,7 @@ static void sub_80DA3CC(u8 taskId)
{
gTasks[taskId].data[0] = 0;
gTasks[taskId].func = sub_80DA464;
- sub_80DCD48();
+ ContestDebugDoPrint();
}
}
}
@@ -2456,21 +2487,21 @@ static void sub_80DA51C(u8 taskId)
((vBgCnt *)&sp2)->priority = 0;
SetGpuReg(REG_OFFSET_BG0CNT, sp0);
SetGpuReg(REG_OFFSET_BG2CNT, sp2);
- sContest.turnNumber++;
- if (sContest.turnNumber == 5)
+ eContest.turnNumber++;
+ if (eContest.turnNumber == 5)
{
gTasks[taskId].func = sub_80DA5E8;
}
else
{
- sub_80DDB0C();
+ StartMoveApplauseMeterOnscreen();
gTasks[taskId].func = sub_80DA5B4;
}
}
static void sub_80DA5B4(u8 taskId)
{
- if (!sContest.unk1920A_6)
+ if (!eContest.applauseMeterIsMoving)
gTasks[taskId].func = sub_80D833C;
}
@@ -2481,20 +2512,20 @@ static void sub_80DA5E8(u8 taskId)
gBattle_BG0_Y = 0;
gBattle_BG2_Y = 0;
for (i = 0; i < 4; i++)
- gUnknown_02039F10[i] = sContestantStatus[i].unk4;
+ gUnknown_02039F10[i] = eContestantStatus[i].pointTotal;
sub_80DBD18();
- sub_80DB89C();
- if (!(gIsLinkContest & 1))
- BravoTrainerPokemonProfile_BeforeInterview1(sContestantStatus[gContestPlayerMonIndex].prevMove);
+ ContestClearGeneralTextWindow();
+ if (!(gLinkContestFlags & LINK_CONTEST_FLAG_IS_LINK))
+ BravoTrainerPokemonProfile_BeforeInterview1(eContestantStatus[gContestPlayerMonIndex].prevMove);
else
{
sub_80DF250();
sub_80DF4F8();
- sub_80DF750();
+ ContestDebugPrintBitStrings();
}
gContestRngValue = gRngValue;
StringExpandPlaceholders(gStringVar4, gText_0827D597);
- Contest_StartTextPrinter(gStringVar4, 1);
+ Contest_StartTextPrinter(gStringVar4, TRUE);
gTasks[taskId].data[2] = 0;
gTasks[taskId].func = sub_80DA6B4;
}
@@ -2517,7 +2548,7 @@ static void sub_80DA700(u8 taskId)
gBattle_BG1_Y -= 7;
if ((s16)gBattle_BG1_Y < 0)
gBattle_BG1_Y = 0;
- if (gBattle_BG1_Y == 0) // Why cast?
+ if (gBattle_BG1_Y == 0)
{
gTasks[taskId].func = sub_80DA740;
gTasks[taskId].data[0] = 0;
@@ -2529,13 +2560,13 @@ static void sub_80DA740(u8 taskId)
if (gTasks[taskId].data[0]++ >= 50)
{
gTasks[taskId].data[0] = 0;
- if (gIsLinkContest & 1)
+ if (gLinkContestFlags & LINK_CONTEST_FLAG_IS_LINK)
{
gTasks[taskId].func = sub_80DA7A0;
}
else
{
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK);
gTasks[taskId].func = sub_80DA830;
}
}
@@ -2547,15 +2578,15 @@ static void sub_80DA7A0(u8 taskId)
SetTaskFuncWithFollowupFunc(taskId2, sub_80FCACC, sub_80DA7EC);
gTasks[taskId].func = TaskDummy1;
- sub_80DBF68();
+ ContestPrintLinkStandby();
sub_80DC490(FALSE);
}
static void sub_80DA7EC(u8 taskId)
{
DestroyTask(taskId);
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0);
- gTasks[sContest.mainTaskId].func = sub_80DA830;
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK);
+ gTasks[eContest.mainTaskId].func = sub_80DA830;
}
static void sub_80DA830(u8 taskId)
@@ -2565,7 +2596,7 @@ static void sub_80DA830(u8 taskId)
DestroyTask(taskId);
gFieldCallback = sub_80DA874;
FreeAllWindowBuffers();
- sub_80D7A5C();
+ FreeContestResources();
FreeMonSpritesGfx();
SetMainCallback2(CB2_ReturnToField);
}
@@ -2577,9 +2608,9 @@ static void sub_80DA874(void)
EnableBothScriptContexts();
}
-static void sub_80DA884(void)
+static void TryPutPlayerLast(void)
{
- if (!(gIsLinkContest & 1))
+ if (!(gLinkContestFlags & LINK_CONTEST_FLAG_IS_LINK))
gContestPlayerMonIndex = 3;
}
@@ -2601,7 +2632,7 @@ void sub_80DA8C8(u8 partyIndex)
s16 tough;
StringCopy(name, gSaveBlock2Ptr->playerName);
- if (gIsLinkContest & 1)
+ if (gLinkContestFlags & LINK_CONTEST_FLAG_IS_LINK)
{
sub_80DF9D4(name);
}
@@ -2610,12 +2641,12 @@ void sub_80DA8C8(u8 partyIndex)
gContestMons[gContestPlayerMonIndex].trainerGfxId = EVENT_OBJ_GFX_LINK_BRENDAN;
else
gContestMons[gContestPlayerMonIndex].trainerGfxId = EVENT_OBJ_GFX_LINK_MAY;
- gContestMons[gContestPlayerMonIndex].flags = 0;
+ gContestMons[gContestPlayerMonIndex].aiChecks = 0;
gContestMons[gContestPlayerMonIndex].unk2C[0] = 0;
gContestMons[gContestPlayerMonIndex].species = GetMonData(&gPlayerParty[partyIndex], MON_DATA_SPECIES);
GetMonData(&gPlayerParty[partyIndex], MON_DATA_NICKNAME, name);
StringGetEnd10(name);
- if (gIsLinkContest & 1)
+ if (gLinkContestFlags & LINK_CONTEST_FLAG_IS_LINK)
{
sub_80DF9E0(name, GetMonData(&gPlayerParty[partyIndex], MON_DATA_LANGUAGE));
}
@@ -2675,9 +2706,9 @@ void sub_80DAB8C(u8 contestType, u8 rank)
bool8 r7 = FALSE;
const u8 * r3;
- sub_80DA884();
+ TryPutPlayerLast();
- if (FlagGet(FLAG_SYS_GAME_CLEAR) && !(gIsLinkContest & 1))
+ if (FlagGet(FLAG_SYS_GAME_CLEAR) && !(gLinkContestFlags & LINK_CONTEST_FLAG_IS_LINK))
r7 = TRUE;
// Find all suitable opponents
@@ -2813,55 +2844,55 @@ u8 sub_80DAE0C(struct Pokemon *pkmn)
return retVal;
}
-static void sub_80DAEA4(void)
+static void DrawContestantWindowText(void)
{
s32 i;
- for (i = 0; i < 4; i++)
+ for (i = 0; i < CONTESTANT_COUNT; i++)
{
- FillWindowPixelBuffer(gUnknown_02039F26[i], PIXEL_FILL(0));
- sub_80DAF04(i);
- sub_80DAF88(i);
+ FillWindowPixelBuffer(gContestantTurnOrder[i], PIXEL_FILL(0));
+ PrintContestantTrainerName(i);
+ PrintContestantMonName(i);
}
}
-static u8 *sub_80DAED4(const u8 *src, u8 color)
+static u8 *Contest_CopyStringWithColor(const u8 *string, u8 color)
{
u8 * ptr = StringCopy(gDisplayedStringBattle, gText_ColorTransparent);
- ptr[-1] = color;
- ptr = StringCopy(ptr, src);
+ ptr[-1] = color; // Overwrites the "{COLOR TRANSPARENT}" part of the string.
+ ptr = StringCopy(ptr, string);
return ptr;
}
-static void sub_80DAF04(u8 a0)
+static void PrintContestantTrainerName(u8 contestant)
{
- sub_80DAF1C(a0, a0 + 10);
+ PrintContestantTrainerNameWithColor(contestant, contestant + CONTESTANT_TEXT_COLOR_START);
}
-static void sub_80DAF1C(u8 a0, u8 a1)
+static void PrintContestantTrainerNameWithColor(u8 contestant, u8 color)
{
u8 buffer[32];
s32 offset;
StringCopy(buffer, gText_Slash);
- StringAppend(buffer, gContestMons[a0].trainerName);
- sub_80DAED4(buffer, a1);
+ StringAppend(buffer, gContestMons[contestant].trainerName);
+ Contest_CopyStringWithColor(buffer, color);
offset = GetStringRightAlignXOffset(7, gDisplayedStringBattle, 0x60);
if (offset > 55)
offset = 55;
- Contest_PrintTextToBg0WindowAt(gUnknown_02039F26[a0], gDisplayedStringBattle, offset, 1, 7);
+ Contest_PrintTextToBg0WindowAt(gContestantTurnOrder[contestant], gDisplayedStringBattle, offset, 1, 7);
}
-static void sub_80DAF88(u8 a0)
+static void PrintContestantMonName(u8 contestant)
{
- sub_80DAFA0(a0, a0 + 10);
+ PrintContestantMonNameWithColor(contestant, contestant + CONTESTANT_TEXT_COLOR_START);
}
-static void sub_80DAFA0(u8 a0, u8 a1)
+static void PrintContestantMonNameWithColor(u8 contestant, u8 color)
{
- sub_80DAED4(gContestMons[a0].nickname, a1);
- Contest_PrintTextToBg0WindowAt(gUnknown_02039F26[a0], gDisplayedStringBattle, 5, 1, 7);
+ Contest_CopyStringWithColor(gContestMons[contestant].nickname, color);
+ Contest_PrintTextToBg0WindowAt(gContestantTurnOrder[contestant], gDisplayedStringBattle, 5, 1, 7);
}
static u16 sub_80DAFE0(u8 who, u8 contestCategory)
@@ -2971,10 +3002,13 @@ bool8 IsSpeciesNotUnown(u16 species)
return TRUE;
}
-static void sub_80DB2BC(void)
+// The contestant info windows and general-purpose text box are drawn on one half, while
+// the moves and move description windows are drawn on another screen. Only the first 32 * 20
+// tiles are actually drawn on screen.
+static void SwapMoveDescAndContestTilemaps(void)
{
- CpuCopy16(gContestResources->field_24[0], gContestResources->field_24[0] + 0x500, 0x280);
- CpuCopy16(gContestResources->field_24[2], gContestResources->field_24[2] + 0x500, 0x280);
+ CpuCopy16(gContestResources->contestBgTilemaps[0], gContestResources->contestBgTilemaps[0] + 0x500, 32 * 20);
+ CpuCopy16(gContestResources->contestBgTilemaps[2], gContestResources->contestBgTilemaps[2] + 0x500, 32 * 20);
}
static u16 sub_80DB2EC(u16 a0, u8 a1)
@@ -3000,12 +3034,13 @@ static u16 sub_80DB2EC(u16 a0, u8 a1)
return var;
}
-static void prints_contest_move_description(u16 a)
+static void PrintContestMoveDescription(u16 a)
{
u8 category;
u16 categoryTile;
u8 numHearts;
+ // The contest category icon is implemented as a 5x2 group of tiles.
category = gContestMoves[a].contestCategory;
if (category == CONTEST_CATEGORY_COOL)
categoryTile = 0x4040;
@@ -3027,7 +3062,9 @@ static void prints_contest_move_description(u16 a)
numHearts = gContestEffects[gContestMoves[a].effect].appeal / 10;
if (numHearts > 8)
numHearts = 8;
+ // Filled-in hearts
ContestBG_FillBoxWithTile(0, 0x5035, 0x15, 0x1f, 0x08, 0x01, 0x11);
+ // Empty hearts
ContestBG_FillBoxWithTile(0, 0x5012, 0x15, 0x1f, numHearts, 0x01, 0x11);
if (gContestEffects[gContestMoves[a].effect].jam == 0xFF)
@@ -3036,17 +3073,19 @@ static void prints_contest_move_description(u16 a)
numHearts = gContestEffects[gContestMoves[a].effect].jam / 10;
if (numHearts > 8)
numHearts = 8;
+ // Filled-in hearts
ContestBG_FillBoxWithTile(0, 0x5036, 0x15, 0x20, 0x08, 0x01, 0x11);
+ // Empty hearts
ContestBG_FillBoxWithTile(0, 0x5014, 0x15, 0x20, numHearts, 0x01, 0x11);
- FillWindowPixelBuffer(10, PIXEL_FILL(0));
- Contest_PrintTextToBg0WindowStd(10, gContestEffectDescriptionPointers[gContestMoves[a].effect]);
- Contest_PrintTextToBg0WindowStd(9, gText_Slash);
+ FillWindowPixelBuffer(CONTEST_WINDOW_MOVE_DESCRIPTION, PIXEL_FILL(0));
+ Contest_PrintTextToBg0WindowStd(CONTEST_WINDOW_MOVE_DESCRIPTION, gContestEffectDescriptionPointers[gContestMoves[a].effect]);
+ Contest_PrintTextToBg0WindowStd(CONTEST_WINDOW_SLASH, gText_Slash);
}
static void sub_80DB4E0(u16 move, u8 b)
{
- u8 r7 = gUnknown_02039F26[b] * 5 + 2;
+ u8 r7 = gContestantTurnOrder[b] * 5 + 2;
if (!Contest_IsMonsTurnDisabled(b) && move != MOVE_NONE)
{
@@ -3066,7 +3105,7 @@ static void sub_80DB584(void)
s32 i;
for (i = 0; i < 4; i++)
- sub_80DB4E0(gContestResources->field_4[i].currMove, i);
+ sub_80DB4E0(eContestantStatus[i].currMove, i);
}
static u16 sub_80DB5B0(void)
@@ -3079,17 +3118,17 @@ static bool8 sub_80DB5B8(u8 contestantIdx, bool8 resetMod)
u8 r6;
s32 r4;
- if (sContestantStatus[contestantIdx].conditionMod == 0)
+ if (eContestantStatus[contestantIdx].conditionMod == 0)
return FALSE;
- r6 = gUnknown_02039F26[contestantIdx] * 5 + 2;
- r4 = sContestantStatus[contestantIdx].condition / 10;
- if (sContestantStatus[contestantIdx].conditionMod == 1)
+ r6 = gContestantTurnOrder[contestantIdx] * 5 + 2;
+ r4 = eContestantStatus[contestantIdx].condition / 10;
+ if (eContestantStatus[contestantIdx].conditionMod == 1)
{
ContestBG_FillBoxWithTile(0, sub_80DB5B0(), 19, r6, 1, r4, 17);
if (resetMod)
{
PlaySE(SE_EXPMAX);
- sContestantStatus[contestantIdx].conditionMod = 0;
+ eContestantStatus[contestantIdx].conditionMod = 0;
}
}
else
@@ -3098,7 +3137,7 @@ static bool8 sub_80DB5B8(u8 contestantIdx, bool8 resetMod)
if (resetMod)
{
PlaySE(SE_FU_ZAKU2);
- sContestantStatus[contestantIdx].conditionMod = 0;
+ eContestantStatus[contestantIdx].conditionMod = 0;
}
}
return TRUE;
@@ -3109,12 +3148,12 @@ static void sub_80DB69C(void)
s32 i;
s32 r6;
- for (i = 0; i < 4; i++)
+ for (i = 0; i < CONTESTANT_COUNT; i++)
{
- u8 r4 = gUnknown_02039F26[i] * 5 + 2;
+ u8 r4 = gContestantTurnOrder[i] * 5 + 2;
u16 r5 = sub_80DB5B0();
- r6 = sContestantStatus[i].condition / 10;
+ r6 = eContestantStatus[i].condition / 10;
ContestBG_FillBoxWithTile(0, r5, 19, r4, 1, r6, 17);
ContestBG_FillBoxWithTile(0, 0, 19, r4 + r6, 1, 3 - r6, 17);
}
@@ -3150,13 +3189,13 @@ static bool8 sub_80DB798(u8 a)
{
bool8 r9 = TRUE;
u16 r8 = 0;
- u8 r7 = gUnknown_02039F26[a] * 5 + 2;
+ u8 r7 = gContestantTurnOrder[a] * 5 + 2;
- if (sContestantStatus[a].resistant != 0 || sContestantStatus[a].immune != 0 || sContestantStatus[a].jamSafetyCount != 0 || sContestantStatus[a].jamReduction != 0)
+ if (eContestantStatus[a].resistant != 0 || eContestantStatus[a].immune != 0 || eContestantStatus[a].jamSafetyCount != 0 || eContestantStatus[a].jamReduction != 0)
r8 = sub_80DB748(0);
- else if (sContestantStatus[a].nervous)
+ else if (eContestantStatus[a].nervous)
r8 = sub_80DB748(1);
- else if (sContestantStatus[a].numTurnsSkipped != 0 || sContestantStatus[a].noMoreTurns)
+ else if (eContestantStatus[a].numTurnsSkipped != 0 || eContestantStatus[a].noMoreTurns)
r8 = sub_80DB748(2);
else
r9 = FALSE;
@@ -3180,50 +3219,52 @@ static void sub_80DB884(void)
sub_80DB798(i);
}
-static void sub_80DB89C(void)
+static void ContestClearGeneralTextWindow(void)
{
- FillWindowPixelBuffer(4, PIXEL_FILL(0));
- CopyWindowToVram(4, 2);
+ FillWindowPixelBuffer(CONTEST_WINDOW_GENERAL_TEXT, PIXEL_FILL(0));
+ CopyWindowToVram(CONTEST_WINDOW_GENERAL_TEXT, 2);
Contest_SetBgCopyFlags(0);
}
-static u16 GetChosenMove(u8 a)
+static u16 GetChosenMove(u8 contestant)
{
- if (Contest_IsMonsTurnDisabled(a))
+ if (Contest_IsMonsTurnDisabled(contestant))
return 0;
- if (a == gContestPlayerMonIndex)
+ if (contestant == gContestPlayerMonIndex)
{
- return gContestMons[a].moves[sContest.playerMoveChoice];
+ return gContestMons[contestant].moves[eContest.playerMoveChoice];
}
else
{
u8 moveChoice;
- ContestAI_ResetAI(a);
+ ContestAI_ResetAI(contestant);
moveChoice = ContestAI_GetActionToUse();
- return gContestMons[a].moves[moveChoice];
+ return gContestMons[contestant].moves[moveChoice];
}
}
-static void sub_80DB918(void)
+static void GetAllChosenMoves(void)
{
s32 i;
- for (i = 0; i < 4; i++)
- sContestantStatus[i].currMove = GetChosenMove(i);
+ for (i = 0; i < CONTESTANT_COUNT; i++)
+ eContestantStatus[i].currMove = GetChosenMove(i);
}
-static void sub_80DB944(void)
+static void RankContestants(void)
{
s32 i;
s32 j;
- s16 arr[4];
+ s16 arr[CONTESTANT_COUNT];
- for (i = 0; i < 4; i++)
+ for (i = 0; i < CONTESTANT_COUNT; i++)
{
- sContestantStatus[i].unk4 += sContestantStatus[i].appeal2;
- arr[i] = sContestantStatus[i].unk4;
+ eContestantStatus[i].pointTotal += eContestantStatus[i].appeal2;
+ arr[i] = eContestantStatus[i].pointTotal;
}
+
+ // Sort the point totals using bubble-sort.
for (i = 0; i < 3; i++)
{
for (j = 3; j > i; j--)
@@ -3237,49 +3278,59 @@ static void sub_80DB944(void)
}
}
}
- for (i = 0; i < 4; i++)
+
+ // For each contestant, find the best rank with their point total.
+ // Normally, each point total is different, and this will output the
+ // rankings as expected. However, if two pokemon are tied, then they
+ // both get the best rank for that point total.
+ //
+ // For example if the point totals are [100, 80, 80, 50], the ranks will
+ // be [1, 2, 2, 4]. The pokemon with a point total of 80 stop looking
+ // when they see the first 80 in the array, so they both share the '2'
+ // rank.
+ for (i = 0; i < CONTESTANT_COUNT; i++)
{
- for (j = 0; j < 4; j++)
+ for (j = 0; j < CONTESTANT_COUNT; j++)
{
- if (sContestantStatus[i].unk4 == arr[j])
+ if (eContestantStatus[i].pointTotal == arr[j])
{
- sContestantStatus[i].unkB_0 = j;
+ eContestantStatus[i].ranking = j;
break;
}
}
}
- sub_80DCE58(1);
- sub_80DD590();
+ SortContestants(TRUE);
+ ApplyNextTurnOrder();
}
static void sub_80DBA18(void)
{
s32 i;
- for (i = 0; i < 4; i++)
+ for (i = 0; i < CONTESTANT_COUNT; i++)
{
u8 attentionLevel;
- if (sContestantStatus[i].currMove == MOVE_NONE)
+ if (eContestantStatus[i].currMove == MOVE_NONE)
attentionLevel = 5;
- else if (sContestantStatus[i].appeal2 <= 0)
+ else if (eContestantStatus[i].appeal2 <= 0)
attentionLevel = 0;
- else if (sContestantStatus[i].appeal2 < 30)
+ else if (eContestantStatus[i].appeal2 < 30)
attentionLevel = 1;
- else if (sContestantStatus[i].appeal2 < 60)
+ else if (eContestantStatus[i].appeal2 < 60)
attentionLevel = 2;
- else if (sContestantStatus[i].appeal2 < 80)
+ else if (eContestantStatus[i].appeal2 < 80)
attentionLevel = 3;
else
attentionLevel = 4;
- sContestantStatus[i].attentionLevel = attentionLevel;
+ eContestantStatus[i].attentionLevel = attentionLevel;
}
}
-static bool8 sub_80DBA68(u8 a)
+static bool8 ContestantCanUseTurn(u8 contestant)
{
- if (sContestantStatus[a].numTurnsSkipped != 0 || sContestantStatus[a].noMoreTurns)
+ if (eContestantStatus[contestant].numTurnsSkipped != 0 || eContestantStatus[contestant].noMoreTurns)
return FALSE;
else
return TRUE;
@@ -3289,92 +3340,92 @@ static void sub_80DBAA0(void)
{
s32 i;
- for (i = 0; i < 4; i++)
+ for (i = 0; i < CONTESTANT_COUNT; i++)
{
- sContestantStatus[i].appeal2 = 0;
- sContestantStatus[i].appeal1 = 0;
- sContestantStatus[i].jamSafetyCount = 0;
- if (sContestantStatus[i].numTurnsSkipped > 0)
- sContestantStatus[i].numTurnsSkipped--;
- sContestantStatus[i].jam = 0;
- sContestantStatus[i].resistant = 0;
- sContestantStatus[i].jamReduction = 0;
- sContestantStatus[i].immune = 0;
- sContestantStatus[i].moreEasilyStartled = 0;
- sContestantStatus[i].usedRepeatableMove = 0;
- sContestantStatus[i].nervous = 0;
- sContestantStatus[i].effectStringId = CONTEST_STRING_NONE;
- sContestantStatus[i].effectStringId2 = CONTEST_STRING_NONE;
- sContestantStatus[i].conditionMod = 0;
- sContestantStatus[i].unk15_2 = sContestantStatus[i].disappointedRepeat;
- sContestantStatus[i].disappointedRepeat = FALSE;
- sContestantStatus[i].turnOrderModAction = 0;
- sContestantStatus[i].appealTripleCondition = 0;
- if (sContestantStatus[i].turnSkipped)
- {
- sContestantStatus[i].numTurnsSkipped = 1;
- sContestantStatus[i].turnSkipped = 0;
- }
- if (sContestantStatus[i].exploded)
- {
- sContestantStatus[i].noMoreTurns = 1;
- sContestantStatus[i].exploded = 0;
- }
- sContestantStatus[i].overrideCategoryExcitementMod = 0;
+ eContestantStatus[i].appeal2 = 0;
+ eContestantStatus[i].appeal1 = 0;
+ eContestantStatus[i].jamSafetyCount = 0;
+ if (eContestantStatus[i].numTurnsSkipped > 0)
+ eContestantStatus[i].numTurnsSkipped--;
+ eContestantStatus[i].jam = 0;
+ eContestantStatus[i].resistant = 0;
+ eContestantStatus[i].jamReduction = 0;
+ eContestantStatus[i].immune = 0;
+ eContestantStatus[i].moreEasilyStartled = 0;
+ eContestantStatus[i].usedRepeatableMove = 0;
+ eContestantStatus[i].nervous = FALSE;
+ eContestantStatus[i].effectStringId = CONTEST_STRING_NONE;
+ eContestantStatus[i].effectStringId2 = CONTEST_STRING_NONE;
+ eContestantStatus[i].conditionMod = 0;
+ eContestantStatus[i].unk15_2 = eContestantStatus[i].disappointedRepeat;
+ eContestantStatus[i].disappointedRepeat = FALSE;
+ eContestantStatus[i].turnOrderModAction = 0;
+ eContestantStatus[i].appealTripleCondition = 0;
+ if (eContestantStatus[i].turnSkipped)
+ {
+ eContestantStatus[i].numTurnsSkipped = 1;
+ eContestantStatus[i].turnSkipped = 0;
+ }
+ if (eContestantStatus[i].exploded)
+ {
+ eContestantStatus[i].noMoreTurns = 1;
+ eContestantStatus[i].exploded = 0;
+ }
+ eContestantStatus[i].overrideCategoryExcitementMod = 0;
}
- for (i = 0; i < 4; i++)
+ for (i = 0; i < CONTESTANT_COUNT; i++)
{
- sContestantStatus[i].prevMove = sContestantStatus[i].currMove;
- sContest.unk19220[sContest.turnNumber][i] = sContestantStatus[i].currMove;
- sContest.unk19248[sContest.turnNumber][i] = Contest_GetMoveExcitement(sContestantStatus[i].currMove);
- sContestantStatus[i].currMove = MOVE_NONE;
+ eContestantStatus[i].prevMove = eContestantStatus[i].currMove;
+ eContest.moveHistory[eContest.turnNumber][i] = eContestantStatus[i].currMove;
+ eContest.excitementHistory[eContest.turnNumber][i] = Contest_GetMoveExcitement(eContestantStatus[i].currMove);
+ eContestantStatus[i].currMove = MOVE_NONE;
}
- shared19328.excitementFrozen = 0;
+ eContestResources10.excitementFrozen = 0;
}
bool8 Contest_IsMonsTurnDisabled(u8 a)
{
- if (sContestantStatus[a].numTurnsSkipped != 0 || sContestantStatus[a].noMoreTurns)
+ if (eContestantStatus[a].numTurnsSkipped != 0 || eContestantStatus[a].noMoreTurns)
return TRUE;
else
return FALSE;
}
-static void sub_80DBCE0(u8 a)
+static void sub_80DBCE0(u8 contestant)
{
- gUnknown_02039F18[a] = sub_80DBD34(a);
- gUnknown_02039F08[a] = gContestMonConditions[a] + gUnknown_02039F18[a];
+ gUnknown_02039F18[contestant] = sub_80DBD34(contestant);
+ gUnknown_02039F08[contestant] = gContestMonConditions[contestant] + gUnknown_02039F18[contestant];
}
static void sub_80DBD18(void)
{
s32 i;
- for (i = 0; i < 4; i++)
+ for (i = 0; i < CONTESTANT_COUNT; i++)
sub_80DBCE0(i);
DetermineFinalStandings();
}
-static s16 sub_80DBD34(u8 a)
+static s16 sub_80DBD34(u8 contestant)
{
- return gUnknown_02039F10[a] * 2;
+ return gUnknown_02039F10[contestant] * 2;
}
static void DetermineFinalStandings(void)
{
- u16 sp0[4] = {0};
- struct UnknownContestStruct6 sp8[4];
+ u16 randomOrdering[CONTESTANT_COUNT] = {0};
+ struct UnknownContestStruct6 sp8[CONTESTANT_COUNT];
s32 i;
s32 j;
- for (i = 0; i < 4; i++)
+ for (i = 0; i < CONTESTANT_COUNT; i++)
{
s32 r2;
- sp0[i] = Random();
+ randomOrdering[i] = Random();
for (r2 = 0; r2 < i; r2++)
{
- if (sp0[i] == sp0[r2])
+ if (randomOrdering[i] == randomOrdering[r2])
{
i--;
break;
@@ -3382,11 +3433,11 @@ static void DetermineFinalStandings(void)
}
}
- for (i = 0; i < 4; i++)
+ for (i = 0; i < CONTESTANT_COUNT; i++)
{
sp8[i].unk0 = gUnknown_02039F08[i];
sp8[i].unk4 = gContestMonConditions[i];
- sp8[i].unk8 = sp0[i];
+ sp8[i].unk8 = randomOrdering[i];
sp8[i].unkC = i;
}
@@ -3416,13 +3467,13 @@ static void DetermineFinalStandings(void)
}
}
- for (i = 0; i < 4; i++)
+ for (i = 0; i < CONTESTANT_COUNT; i++)
gContestFinalStandings[sp8[i].unkC] = i;
}
-void sub_80DBED4(void)
+void SaveLinkContestResults(void)
{
- if ((gIsLinkContest & 1))
+ if ((gLinkContestFlags & LINK_CONTEST_FLAG_IS_LINK))
{
gSaveBlock2Ptr->contestLinkResults[gSpecialVar_ContestCategory][gContestFinalStandings[gContestPlayerMonIndex]] =
((gSaveBlock2Ptr->contestLinkResults[gSpecialVar_ContestCategory][gContestFinalStandings[gContestPlayerMonIndex]] + 1) > 9999) ? 9999 :
@@ -3450,19 +3501,19 @@ static bool8 sub_80DBF30(s32 a, s32 b, struct UnknownContestStruct6 *c)
return retVal;
}
-static void sub_80DBF68(void)
+static void ContestPrintLinkStandby(void)
{
gBattle_BG0_Y = 0;
gBattle_BG2_Y = 0;
- sub_80DB89C();
- Contest_StartTextPrinter((u8*) &gUnknown_0827E8DA, 0);
+ ContestClearGeneralTextWindow();
+ Contest_StartTextPrinter(gText_LinkStandby4, 0);
}
-static void sub_80DBF90(void)
+static void FillContestantWindowBgs(void)
{
int i;
- for(i = 0; i < 4; i++)
+ for(i = 0; i < CONTESTANT_COUNT; i++)
{
ContestBG_FillBoxWithTile(0, 0, 0x16, 2 + i * 5, 8, 2, 0x11);
}
@@ -3590,7 +3641,7 @@ static void sub_80DC0F4(u8 taskId)
r11 = 1;
r5-= 8;
}
- ContestBG_FillBoxWithTile(0, r6, r5 + 22, gUnknown_02039F26[r7] * 5 + 2 + r11, 1, 1, 17);
+ ContestBG_FillBoxWithTile(0, r6, r5 + 22, gContestantTurnOrder[r7] * 5 + 2 + r11, 1, 1, 17);
if (r1 > 0)
{
PlaySE(SE_C_GAJI);
@@ -3612,28 +3663,28 @@ static void sub_80DC2BC(void)
s32 i;
LoadSpriteSheet(&gUnknown_08587A74);
- for (i = 0; i < 4; i++)
+ for (i = 0; i < CONTESTANT_COUNT; i++)
{
- u8 y = gUnknown_08587A6C[gUnknown_02039F26[i]];
+ u8 y = gUnknown_08587A6C[gContestantTurnOrder[i]];
gContestResources->field_14[i].unk0 = CreateSprite(&gSpriteTemplate_8587AD0, 180, y, 1);
}
}
-static void sub_80DC308(u8 a)
+static void sub_80DC308(u8 contestant)
{
u8 spriteId;
s16 r5;
- gContestResources->field_14[a].unk2_0 = 1;
- spriteId = gContestResources->field_14[a].unk0;
- r5 = sContestantStatus[a].unk4 / 10 * 2;
+ gContestResources->field_14[contestant].unk2_0 = 1;
+ spriteId = gContestResources->field_14[contestant].unk0;
+ r5 = eContestantStatus[contestant].pointTotal / 10 * 2;
if (r5 > 56)
r5 = 56;
else if (r5 < 0)
r5 = 0;
gSprites[spriteId].invisible = FALSE;
- gSprites[spriteId].data[0] = a;
+ gSprites[spriteId].data[0] = contestant;
gSprites[spriteId].data[1] = r5;
if (gSprites[spriteId].data[1] > gSprites[spriteId].pos2.x)
gSprites[spriteId].data[2] = 1;
@@ -3646,7 +3697,7 @@ static void sub_80DC3AC(void)
{
s32 i;
- for (i = 0; i < 4; i++)
+ for (i = 0; i < CONTESTANT_COUNT; i++)
sub_80DC308(i);
}
@@ -3654,12 +3705,12 @@ static bool8 sub_80DC3C4(void)
{
s32 i;
- for (i = 0; i < 4; i++)
+ for (i = 0; i < CONTESTANT_COUNT; i++)
{
if (gContestResources->field_14[i].unk2_0)
break;
}
- if (i == 4)
+ if (i == CONTESTANT_COUNT)
return TRUE;
else
return FALSE;
@@ -3682,17 +3733,17 @@ static void sub_80DC44C(void)
{
s32 i;
- for (i = 0; i < 4; i++)
- gSprites[gContestResources->field_14[i].unk0].pos1.y = gUnknown_08587A6C[gUnknown_02039F26[i]];
+ for (i = 0; i < CONTESTANT_COUNT; i++)
+ gSprites[gContestResources->field_14[i].unk0].pos1.y = gUnknown_08587A6C[gContestantTurnOrder[i]];
}
static void sub_80DC490(bool8 a)
{
s32 i;
- for (i = 0; i < 4; i++)
+ for (i = 0; i < CONTESTANT_COUNT; i++)
{
- if (gUnknown_02039F26[i] > 1)
+ if (gContestantTurnOrder[i] > 1)
{
if (!a)
gSprites[gContestResources->field_14[i].unk0].pos1.x = 180;
@@ -3707,12 +3758,12 @@ static void sub_80DC4F0(void)
s32 i;
LoadSpritePalette(&gUnknown_08587B08);
- for (i = 0; i < 4; i++)
+ for (i = 0; i < CONTESTANT_COUNT; i++)
{
LoadCompressedSpriteSheet(&gUnknown_08587AE8[i]);
gContestResources->field_14[i].unk1 = CreateSprite(&gSpriteTemplate_8587B18[i],
204,
- gUnknown_08587A70[gUnknown_02039F26[i]],
+ gUnknown_08587A70[gContestantTurnOrder[i]],
0);
SetSubspriteTables(&gSprites[gContestResources->field_14[i].unk1], gSubspriteTables_8587B80);
gSprites[gContestResources->field_14[i].unk1].invisible = TRUE;
@@ -3723,11 +3774,11 @@ static void CreateApplauseMeterSprite(void)
{
u8 spriteId;
- LoadCompressedSpriteSheet(&gUnknown_08587BB0);
- LoadSpritePalette(&gUnknown_08587BB8);
- spriteId = CreateSprite(&gSpriteTemplate_8587BC8, 30, 44, 1);
+ LoadCompressedSpriteSheet(&sApplauseMeterSpriteSheet);
+ LoadSpritePalette(&sApplauseMeterPalette);
+ spriteId = CreateSprite(&sApplauseMeterSpriteTemplate, 30, 44, 1);
gSprites[spriteId].invisible = TRUE;
- sContest.applauseMeterSpriteId = spriteId;
+ eContest.applauseMeterSpriteId = spriteId;
}
static void sub_80DC5E8(void)
@@ -3735,15 +3786,15 @@ static void sub_80DC5E8(void)
u8 i;
u8 taskId = CreateTask(sub_80DC728, 30);
- sContest.unk19211 = taskId;
- for (i = 0; i < 4; i++)
+ eContest.unk19211 = taskId;
+ for (i = 0; i < CONTESTANT_COUNT; i++)
gTasks[taskId].data[i * 4] = 0xFF;
}
static void sub_80DC630(u8 a)
{
- gTasks[sContest.unk19211].data[a * 4 + 0] = 0;
- gTasks[sContest.unk19211].data[a * 4 + 1] = 0;
+ gTasks[eContest.unk19211].data[a * 4 + 0] = 0;
+ gTasks[eContest.unk19211].data[a * 4 + 1] = 0;
}
static void sub_80DC674(u8 a)
@@ -3757,12 +3808,12 @@ static void sub_80DC6A4(u8 taskId)
{
u8 r4 = gTasks[taskId].data[0];
- if (gTasks[sContest.unk19211].data[r4 * 4 + 0] == 0
- || gTasks[sContest.unk19211].data[r4 * 4 + 0] == 0xFF)
+ if (gTasks[eContest.unk19211].data[r4 * 4 + 0] == 0
+ || gTasks[eContest.unk19211].data[r4 * 4 + 0] == 0xFF)
{
- gTasks[sContest.unk19211].data[r4 * 4 + 0] = 0xFF;
- gTasks[sContest.unk19211].data[r4 * 4 + 1] = 0;
- BlendPalette((sContest.unk19218[r4] + 5) * 16 + 6, 2, 0, RGB(31, 31, 18));
+ gTasks[eContest.unk19211].data[r4 * 4 + 0] = 0xFF;
+ gTasks[eContest.unk19211].data[r4 * 4 + 1] = 0;
+ BlendPalette((eContest.prevTurnOrder[r4] + MOVE_WINDOWS_START) * 16 + 6, 2, 0, RGB(31, 31, 18));
DestroyTask(taskId);
}
}
@@ -3771,7 +3822,7 @@ static void sub_80DC728(u8 taskId)
{
u8 i;
- for (i = 0; i < 4; i++)
+ for (i = 0; i < CONTESTANT_COUNT; i++)
{
u8 r3 = i * 4;
@@ -3787,7 +3838,7 @@ static void sub_80DC728(u8 taskId)
gTasks[taskId].data[r3 + 1] ^= 1;
BlendPalette(
- (sContest.unk19218[i] + 5) * 16 + 6,
+ (eContest.prevTurnOrder[i] + MOVE_WINDOWS_START) * 16 + 6,
2,
gTasks[taskId].data[r3 + 0],
RGB(31, 31, 18));
@@ -3799,15 +3850,15 @@ static void sub_80DC7EC(void)
{
s32 i;
- sContest.unk19212 = CreateTask(sub_80DC8D0, 30);
- for (i = 0; i < 4; i++)
+ eContest.unk19212 = CreateTask(sub_80DC8D0, 30);
+ for (i = 0; i < CONTESTANT_COUNT; i++)
sub_80DC81C(i);
}
-static void sub_80DC81C(u8 a)
+static void sub_80DC81C(u8 contestant)
{
- gTasks[sContest.unk19212].data[a * 4 + 0] = 0xFF;
- gTasks[sContest.unk19212].data[a * 4 + 1] = 0;
+ gTasks[eContest.unk19212].data[contestant * 4 + 0] = 0xFF;
+ gTasks[eContest.unk19212].data[contestant * 4 + 1] = 0;
}
static void sub_80DC864(void)
@@ -3818,22 +3869,22 @@ static void sub_80DC864(void)
sub_80DC87C(i);
}
-static void sub_80DC87C(u8 a)
+static void sub_80DC87C(u8 contestant)
{
- u32 var;
- u32 r0;
+ u32 windowId1;
+ u32 windowId2;
- sub_80DC81C(a);
+ sub_80DC81C(contestant);
- r0 = a + 5;
+ windowId1 = contestant + MOVE_WINDOWS_START;
DmaCopy16Defvars(3,
- gPlttBufferUnfaded + r0 * 16 + 10,
- gPlttBufferFaded + r0 * 16 + 10,
+ gPlttBufferUnfaded + windowId1 * 16 + 10,
+ gPlttBufferFaded + windowId1 * 16 + 10,
2);
- var = (a + 5) * 16 + 12 + a;
+ windowId2 = (contestant + MOVE_WINDOWS_START) * 16 + 12 + contestant;
DmaCopy16Defvars(3,
- gPlttBufferUnfaded + var,
- gPlttBufferFaded + var,
+ gPlttBufferUnfaded + windowId2,
+ gPlttBufferFaded + windowId2,
2);
}
@@ -3841,7 +3892,7 @@ static void sub_80DC8D0(u8 taskId)
{
u8 i;
- for (i = 0; i < 4; i++)
+ for (i = 0; i < CONTESTANT_COUNT; i++)
{
u8 r3 = i * 4;
@@ -3860,41 +3911,41 @@ static void sub_80DC8D0(u8 taskId)
|| gTasks[taskId].data[r3 + 0] == 0)
gTasks[taskId].data[r3 + 1] ^= 1;
- BlendPalette((i + 5) * 16 + 10, 1, gTasks[taskId].data[r3 + 0], RGB(31, 31, 18));
- BlendPalette((i + 5) * 16 + 12 + i, 1, gTasks[taskId].data[r3 + 0], RGB(31, 31, 18));
+ BlendPalette((i + MOVE_WINDOWS_START) * 16 + 10, 1, gTasks[taskId].data[r3 + 0], RGB(31, 31, 18));
+ BlendPalette((i + MOVE_WINDOWS_START) * 16 + 12 + i, 1, gTasks[taskId].data[r3 + 0], RGB(31, 31, 18));
}
}
}
}
-static void sub_80DC9B4(u8 a)
+static void sub_80DC9B4(u8 contestant)
{
- if (sContestantStatus[a].hasJudgesAttention)
- sub_80DC630(a);
+ if (eContestantStatus[contestant].hasJudgesAttention)
+ sub_80DC630(contestant);
else
- sub_80DC674(a);
+ sub_80DC674(contestant);
}
-static u8 sub_80DC9EC(u8 a)
+static u8 sub_80DC9EC(u8 contestant)
{
u8 spriteId1, spriteId2;
- u8 x = gUnknown_02039F26[a] * 40 + 32;
+ u8 x = gContestantTurnOrder[contestant] * 40 + 32;
- LoadCompressedSpriteSheet(&sUnknown_08589904[a]);
- LoadSpritePalette(&sUnknown_08589924[a]);
- spriteId1 = CreateSprite(&gSpriteTemplate_858998C[a], 184, x, 29);
- spriteId2 = CreateSprite(&gSpriteTemplate_858998C[a], 248, x, 29);
+ LoadCompressedSpriteSheet(&sUnknown_08589904[contestant]);
+ LoadSpritePalette(&sUnknown_08589924[contestant]);
+ spriteId1 = CreateSprite(&gSpriteTemplate_858998C[contestant], 184, x, 29);
+ spriteId2 = CreateSprite(&gSpriteTemplate_858998C[contestant], 248, x, 29);
gSprites[spriteId2].oam.tileNum += 64;
CopySpriteTiles(0,
3,
(void *)VRAM,
- (u16 *)(BG_SCREEN_ADDR(28) + gUnknown_02039F26[a] * 5 * 64 + 0x26),
+ (u16 *)(BG_SCREEN_ADDR(28) + gContestantTurnOrder[contestant] * 5 * 64 + 0x26),
gContestResources->field_34);
CopySpriteTiles(0,
3, (void *)VRAM,
- (u16 *)(BG_SCREEN_ADDR(28) + gUnknown_02039F26[a] * 5 * 64 + 0x36),
+ (u16 *)(BG_SCREEN_ADDR(28) + gContestantTurnOrder[contestant] * 5 * 64 + 0x36),
gContestResources->field_38);
CpuFill32(0, gContestResources->field_34 + 0x500, 0x300);
@@ -3913,8 +3964,8 @@ static u8 sub_80DC9EC(u8 a)
gSprites[spriteId1].data[0] = spriteId2;
gSprites[spriteId2].data[0] = spriteId1;
- gSprites[spriteId1].data[1] = a;
- gSprites[spriteId2].data[1] = a;
+ gSprites[spriteId1].data[1] = contestant;
+ gSprites[spriteId2].data[1] = contestant;
return spriteId1;
}
@@ -3979,164 +4030,203 @@ static void sub_80DCCD8(struct Sprite *sprite)
sub_80DCBD0();
}
-static void sub_80DCD08(void)
+// Unused.
+static void ContestDebugTogglePointTotal(void)
{
- if(gHeap[0x1A000] == 1)
- gHeap[0x1A000] = 0;
+ if(eContestDebugMode == CONTEST_DEBUG_MODE_PRINT_POINT_TOTAL)
+ eContestDebugMode = CONTEST_DEBUG_MODE_OFF;
else
- gHeap[0x1A000] = 1;
+ eContestDebugMode = CONTEST_DEBUG_MODE_PRINT_POINT_TOTAL;
- if(gHeap[0x1A000] == 0)
+ if(eContestDebugMode == CONTEST_DEBUG_MODE_OFF)
{
- sub_80DAEA4();
- sub_80DB2BC();
+ DrawContestantWindowText();
+ SwapMoveDescAndContestTilemaps();
}
else
{
- sub_80DCD48();
+ ContestDebugDoPrint();
}
}
-static void sub_80DCD48(void)
+static void ContestDebugDoPrint(void)
{
u8 i;
s16 value;
u8 *txtPtr;
u8 text[8];
- if (gUnknown_020322D5 == 0)
+ if (!gEnableContestDebugging)
return;
- switch (gHeap[0x1A000])
+ switch (eContestDebugMode)
{
- case 0:
+ case CONTEST_DEBUG_MODE_OFF:
break;
- case 2:
- case 3:
- sub_80DF750();
+ case CONTEST_DEBUG_MODE_PRINT_UNK_C:
+ case CONTEST_DEBUG_MODE_PRINT_UNK_D:
+ ContestDebugPrintBitStrings();
break;
+ // The only other possible value is 1, which is only set by ContestDebugTogglePointTotal.
+ //
+ // case CONTEST_DEBUG_MODE_PRINT_POINT_TOTAL:
default:
- for (i = 0; i < 4; i++)
+ for (i = 0; i < CONTESTANT_COUNT; i++)
FillWindowPixelBuffer(i, PIXEL_FILL(0));
- for (i = 0; i < 4; i++)
+ for (i = 0; i < CONTESTANT_COUNT; i++)
{
- value = sContestantStatus[i].unk4;
+ value = eContestantStatus[i].pointTotal;
txtPtr = text;
- if (sContestantStatus[i].unk4 < 0)
+ if (eContestantStatus[i].pointTotal < 0)
{
value *= -1;
txtPtr = StringCopy(txtPtr, gText_OneDash);
}
ConvertIntToDecimalStringN(txtPtr, value, STR_CONV_MODE_LEFT_ALIGN, 4);
- Contest_PrintTextToBg0WindowAt(gUnknown_02039F26[i], text, 55, 1, 7);
+ Contest_PrintTextToBg0WindowAt(gContestantTurnOrder[i], text, 55, 1, 7);
}
- for (i = 0; i < 4; i++)
+ for (i = 0; i < CONTESTANT_COUNT; i++)
{
- value = sContestantStatus[i].appeal2;
+ value = eContestantStatus[i].appeal2;
txtPtr = text;
- if (sContestantStatus[i].appeal2 < 0)
+ if (eContestantStatus[i].appeal2 < 0)
{
value *= -1;
txtPtr = StringCopy(txtPtr, gText_OneDash);
}
ConvertIntToDecimalStringN(txtPtr, value, STR_CONV_MODE_LEFT_ALIGN, 4);
- Contest_PrintTextToBg0WindowAt(gUnknown_02039F26[i], text, 5, 1, 7);
+ Contest_PrintTextToBg0WindowAt(gContestantTurnOrder[i], text, 5, 1, 7);
}
- sub_80DB2BC();
+ SwapMoveDescAndContestTilemaps();
break;
}
}
-void sub_80DCE58(u8 a)
+void SortContestants(bool8 useRanking)
{
- u8 sp0[4];
- u16 sp4[4] = {0};
+ u8 scratch[CONTESTANT_COUNT];
+ u16 randomOrdering[CONTESTANT_COUNT] = {0};
s32 i;
- s32 r2;
- s32 r4;
+ s32 v3;
- for (i = 0; i < 4; i++)
+ // Generate a unique random number for each contestant.
+ for (i = 0; i < CONTESTANT_COUNT; i++)
{
- sp4[i] = Random();
- for (r2 = 0; r2 < i; r2++)
+ s32 j;
+ randomOrdering[i] = Random();
+
+ // Loop through all the numbers generated so far.
+ for (j = 0; j < i; j++)
{
- if (sp4[i] == sp4[r2])
+ if (randomOrdering[i] == randomOrdering[j])
{
+ // This number isn't unique; try generating again.
i--;
break;
}
}
}
- if (a == 0)
+ if (!useRanking)
{
- for (i = 0; i < 4; i++)
+ // Order based on the results of the Conditions round using Insertion Sort.
+ // Use the randomOrdering to break ties.
+ for (i = 0; i < CONTESTANT_COUNT; i++)
{
- gUnknown_02039F26[i] = i;
- for (r4 = 0; r4 < i; r4++)
+ // Append this contestant to the list.
+ gContestantTurnOrder[i] = i;
+
+ // Determine where the contestant should be ordered.
+ for (v3 = 0; v3 < i; v3++)
{
- if (gContestMonConditions[gUnknown_02039F26[r4]] < gContestMonConditions[i]
- || (gContestMonConditions[gUnknown_02039F26[r4]] == gContestMonConditions[i] && sp4[gUnknown_02039F26[r4]] < sp4[i]))
+ if (gContestMonConditions[gContestantTurnOrder[v3]] < gContestMonConditions[i]
+ || (gContestMonConditions[gContestantTurnOrder[v3]] == gContestMonConditions[i] && randomOrdering[gContestantTurnOrder[v3]] < randomOrdering[i]))
{
- for (r2 = i; r2 > r4; r2--)
- gUnknown_02039F26[r2] = gUnknown_02039F26[r2 - 1];
- gUnknown_02039F26[r4] = i;
+ // Shift everything larger up to make room.
+ s32 j;
+ for (j = i; j > v3; j--)
+ gContestantTurnOrder[j] = gContestantTurnOrder[j - 1];
+
+ // Insert into the new spot.
+ gContestantTurnOrder[v3] = i;
break;
}
}
- if (r4 == i)
- gUnknown_02039F26[i] = i;
+
+ // This is redundant.
+ // Perhaps GF switched from true insertion sort to in-place insertion sort, and forgot to
+ // remove this check?
+ if (v3 == i)
+ gContestantTurnOrder[i] = i;
}
- memcpy(sp0, gUnknown_02039F26, sizeof(sp0));
- for (i = 0; i < 4; i++)
- gUnknown_02039F26[sp0[i]] = i;
+
+ // Invert gContestantTurnOrder; above, it was a list of contestant IDs. Now it's a list of turn orderings.
+ //
+ // For example, if contestant 3 had the first turn, then `gContestantTurnOrder[1] = 3`. The turn is the index,
+ // the contestant is the data. After inverting the list, `gContestantTurnOrder[3] = 1`. The contestant is the index,
+ // and the turn is the data.
+ memcpy(scratch, gContestantTurnOrder, sizeof(scratch));
+ for (i = 0; i < CONTESTANT_COUNT; i++)
+ gContestantTurnOrder[scratch[i]] = i;
}
else
{
- memset(sp0, 0xFF, sizeof(sp0));
- for (i = 0; i < 4; i++)
+ // Order contestants based on their ranking.
+ // If contestants have tied ranking, fill in the next available slot.
+ //
+ // Note that ranking is calculated so that shared places still take up a ranking
+ // space. A ranking like [1, 2, 2, 3] is not possible; it would be [1, 2, 2, 4]
+ // instead.
+ memset(scratch, 0xFF, sizeof(scratch));
+ for (i = 0; i < CONTESTANT_COUNT; i++)
{
- u8 r2 = sContestantStatus[i].unkB_0;
+ u8 j = eContestantStatus[i].ranking;
while (1)
{
- u8 *ptr = &sp0[r2];
+ u8 *ptr = &scratch[j];
if (*ptr == 0xFF)
{
*ptr = i;
- gUnknown_02039F26[i] = r2;
+ gContestantTurnOrder[i] = j;
break;
}
- r2++;
+ j++;
}
}
- for (i = 0; i < 3; i++)
+
+ // Randomize the order of contestants with tied rankings using Selection Sort.
+ //
+ // Look through the array for tied ranks, and use randomOrdering to break the tie.
+ // This ensures that contestants with the same rank will be randomly ordered. This
+ // uses an in-place slection sort, which involves a lot of extra swapping.
+ for (i = 0; i < CONTESTANT_COUNT - 1; i++)
{
- for (r4 = 3; r4 > i; r4--)
+ for (v3 = CONTESTANT_COUNT - 1; v3 > i; v3--)
{
- if (sContestantStatus[r4 - 1].unkB_0 == sContestantStatus[r4].unkB_0
- && gUnknown_02039F26[r4 - 1] < gUnknown_02039F26[r4]
- && sp4[r4 - 1] < sp4[r4])
+ if (eContestantStatus[v3 - 1].ranking == eContestantStatus[v3].ranking
+ && gContestantTurnOrder[v3 - 1] < gContestantTurnOrder[v3]
+ && randomOrdering[v3 - 1] < randomOrdering[v3])
{
- u8 temp = gUnknown_02039F26[r4];
-
- gUnknown_02039F26[r4] = gUnknown_02039F26[r4 - 1];
- gUnknown_02039F26[r4 - 1] = temp;
+ u8 temp = gContestantTurnOrder[v3];
+ gContestantTurnOrder[v3] = gContestantTurnOrder[v3 - 1];
+ gContestantTurnOrder[v3 - 1] = temp;
}
}
}
}
}
-static void sub_80DD04C(void)
+static void DrawContestantWindows(void)
{
s32 i;
- for (i = 0; i < 4; i++)
+ for (i = 0; i < CONTESTANT_COUNT; i++)
{
- LoadPalette(&gHeap[0x1A004] + (i + 5) * 32, (gUnknown_02039F26[i] + 5) * 16, 32);
+ s32 windowId = i + MOVE_WINDOWS_START;
+ LoadPalette(eUnknownHeap1A004.cachedWindowPalettes[windowId], (gContestantTurnOrder[i] + MOVE_WINDOWS_START) * 16, sizeof(eUnknownHeap1A004.cachedWindowPalettes[0]));
}
- sub_80DAEA4();
+ DrawContestantWindowText();
}
static void sub_80DD080(u8 contestant)
@@ -4147,104 +4237,104 @@ static void sub_80DD080(u8 contestant)
bool8 r8;
s32 i;
- sContestantStatus[contestant].appeal2 = 0;
- sContestantStatus[contestant].appeal1 = 0;
- r8 = sub_80DBA68(contestant);
+ eContestantStatus[contestant].appeal2 = 0;
+ eContestantStatus[contestant].appeal1 = 0;
+ r8 = ContestantCanUseTurn(contestant);
if (!r8)
return;
- move = sContestantStatus[contestant].currMove;
+ move = eContestantStatus[contestant].currMove;
effect = gContestMoves[move].effect;
- sContestantStatus[contestant].moveCategory = gContestMoves[sContestantStatus[contestant].currMove].contestCategory;
- if (sContestantStatus[contestant].currMove == sContestantStatus[contestant].prevMove && sContestantStatus[contestant].currMove != MOVE_NONE)
+ eContestantStatus[contestant].moveCategory = gContestMoves[eContestantStatus[contestant].currMove].contestCategory;
+ if (eContestantStatus[contestant].currMove == eContestantStatus[contestant].prevMove && eContestantStatus[contestant].currMove != MOVE_NONE)
{
- sContestantStatus[contestant].disappointedRepeat = TRUE;
- sContestantStatus[contestant].moveRepeatCount++;
+ eContestantStatus[contestant].disappointedRepeat = TRUE;
+ eContestantStatus[contestant].moveRepeatCount++;
}
else
{
- sContestantStatus[contestant].moveRepeatCount = 0;
+ eContestantStatus[contestant].moveRepeatCount = 0;
}
- sContestantStatus[contestant].appeal1 = gContestEffects[effect].appeal;
- sContestantStatus[contestant].appeal2 = sContestantStatus[contestant].appeal1;
- shared192D0.jam = gContestEffects[effect].jam;
- shared192D0.jam2 = shared192D0.jam;
+ eContestantStatus[contestant].appeal1 = gContestEffects[effect].appeal;
+ eContestantStatus[contestant].appeal2 = eContestantStatus[contestant].appeal1;
+ eContestResources8.jam = gContestEffects[effect].jam;
+ eContestResources8.jam2 = eContestResources8.jam;
- shared192D0.contestant = contestant;
+ eContestResources8.contestant = contestant;
for (i = 0; i < 4; i++)
{
- sContestantStatus[i].jam = 0;
- shared192D0.unnervedPokes[i] = 0;
+ eContestantStatus[i].jam = 0;
+ eContestResources8.unnervedPokes[i] = 0;
}
- if (sContestantStatus[contestant].hasJudgesAttention
- && !AreMovesContestCombo(sContestantStatus[contestant].prevMove, sContestantStatus[contestant].currMove))
- sContestantStatus[contestant].hasJudgesAttention = 0;
+ if (eContestantStatus[contestant].hasJudgesAttention
+ && !AreMovesContestCombo(eContestantStatus[contestant].prevMove, eContestantStatus[contestant].currMove))
+ eContestantStatus[contestant].hasJudgesAttention = 0;
gContestEffectFuncs[effect]();
- if (sContestantStatus[contestant].conditionMod == 1)
- sContestantStatus[contestant].appeal2 += sContestantStatus[contestant].condition - 10;
- else if (sContestantStatus[contestant].appealTripleCondition)
- sContestantStatus[contestant].appeal2 += sContestantStatus[contestant].condition * 3;
+ if (eContestantStatus[contestant].conditionMod == 1)
+ eContestantStatus[contestant].appeal2 += eContestantStatus[contestant].condition - 10;
+ else if (eContestantStatus[contestant].appealTripleCondition)
+ eContestantStatus[contestant].appeal2 += eContestantStatus[contestant].condition * 3;
else
- sContestantStatus[contestant].appeal2 += sContestantStatus[contestant].condition;
+ eContestantStatus[contestant].appeal2 += eContestantStatus[contestant].condition;
- sContestantStatus[contestant].unk16 = 0;
- sContestantStatus[contestant].unk15_6 = 0;
+ eContestantStatus[contestant].unk16 = 0;
+ eContestantStatus[contestant].unk15_6 = 0;
if (sub_80DE1E8(contestant))
{
- u8 r2 = AreMovesContestCombo(sContestantStatus[contestant].prevMove, sContestantStatus[contestant].currMove);
+ u8 r2 = AreMovesContestCombo(eContestantStatus[contestant].prevMove, eContestantStatus[contestant].currMove);
- if (r2 != 0 && sContestantStatus[contestant].hasJudgesAttention)
+ if (r2 != 0 && eContestantStatus[contestant].hasJudgesAttention)
{
- sContestantStatus[contestant].unk16 = r2;
- sContestantStatus[contestant].unk15_6 = 1;
- sContestantStatus[contestant].hasJudgesAttention = 0;
- sContestantStatus[contestant].unk17 = sContestantStatus[contestant].appeal1 * sContestantStatus[contestant].unk16;
- sContestantStatus[contestant].unk15_3 = 1;
+ eContestantStatus[contestant].unk16 = r2;
+ eContestantStatus[contestant].unk15_6 = 1;
+ eContestantStatus[contestant].hasJudgesAttention = 0;
+ eContestantStatus[contestant].unk17 = eContestantStatus[contestant].appeal1 * eContestantStatus[contestant].unk16;
+ eContestantStatus[contestant].unk15_3 = 1;
}
else
{
- if (gContestMoves[sContestantStatus[contestant].currMove].comboStarterId != 0)
+ if (gContestMoves[eContestantStatus[contestant].currMove].comboStarterId != 0)
{
- sContestantStatus[contestant].hasJudgesAttention = 1;
- sContestantStatus[contestant].unk15_6 = 1;
+ eContestantStatus[contestant].hasJudgesAttention = 1;
+ eContestantStatus[contestant].unk15_6 = 1;
}
else
{
- sContestantStatus[contestant].hasJudgesAttention = 0;
+ eContestantStatus[contestant].hasJudgesAttention = 0;
}
}
}
- if (sContestantStatus[contestant].disappointedRepeat)
- sContestantStatus[contestant].unk18 = (sContestantStatus[contestant].moveRepeatCount + 1) * 10;
+ if (eContestantStatus[contestant].disappointedRepeat)
+ eContestantStatus[contestant].unk18 = (eContestantStatus[contestant].moveRepeatCount + 1) * 10;
- if (sContestantStatus[contestant].nervous)
+ if (eContestantStatus[contestant].nervous)
{
- sContestantStatus[contestant].hasJudgesAttention = 0;
- sContestantStatus[contestant].appeal2 = 0;
- sContestantStatus[contestant].appeal1 = 0;
+ eContestantStatus[contestant].hasJudgesAttention = 0;
+ eContestantStatus[contestant].appeal2 = 0;
+ eContestantStatus[contestant].appeal1 = 0;
}
- shared19328.bits_0 = Contest_GetMoveExcitement(sContestantStatus[contestant].currMove);
- if (sContestantStatus[contestant].overrideCategoryExcitementMod)
- shared19328.bits_0 = 1;
+ eContestResources10.bits_0 = Contest_GetMoveExcitement(eContestantStatus[contestant].currMove);
+ if (eContestantStatus[contestant].overrideCategoryExcitementMod)
+ eContestResources10.bits_0 = 1;
- if (shared19328.bits_0 > 0)
+ if (eContestResources10.bits_0 > 0)
{
- if (sContest.applauseLevel + shared19328.bits_0 > 4)
- shared19328.unk2 = 60;
+ if (eContest.applauseLevel + eContestResources10.bits_0 > 4)
+ eContestResources10.unk2 = 60;
else
- shared19328.unk2 = 10;
+ eContestResources10.unk2 = 10;
}
else
{
- shared19328.unk2 = 0;
+ eContestResources10.unk2 = 0;
}
rnd = Random() % 3;
- for (i = 0; i < 4; i++)
+ for (i = 0; i < CONTESTANT_COUNT; i++)
{
if (i != contestant)
{
@@ -4253,17 +4343,17 @@ static void sub_80DD080(u8 contestant)
rnd--;
}
}
- sContestantStatus[contestant].unk1B = i;
+ eContestantStatus[contestant].unk1B = i;
}
void SetContestantEffectStringID(u8 a, u8 b)
{
- sContestantStatus[a].effectStringId = b;
+ eContestantStatus[a].effectStringId = b;
}
void SetContestantEffectStringID2(u8 a, u8 b)
{
- sContestantStatus[a].effectStringId2 = b;
+ eContestantStatus[a].effectStringId2 = b;
}
void SetStartledString(u8 contestant, u8 jam)
@@ -4283,81 +4373,103 @@ void SetStartledString(u8 contestant, u8 jam)
static void sub_80DD45C(u8 contestant, u8 stringId)
{
StringCopy(gStringVar1, gContestMons[contestant].nickname);
- StringCopy(gStringVar2, gMoveNames[sContestantStatus[contestant].currMove]);
- if (gContestMoves[sContestantStatus[shared192D0.contestant].currMove].contestCategory == CONTEST_CATEGORY_COOL)
+ StringCopy(gStringVar2, gMoveNames[eContestantStatus[contestant].currMove]);
+ if (gContestMoves[eContestantStatus[eContestResources8.contestant].currMove].contestCategory == CONTEST_CATEGORY_COOL)
StringCopy(gStringVar3, gText_Contest_Shyness);
- else if (gContestMoves[sContestantStatus[shared192D0.contestant].currMove].contestCategory == CONTEST_CATEGORY_BEAUTY)
+ else if (gContestMoves[eContestantStatus[eContestResources8.contestant].currMove].contestCategory == CONTEST_CATEGORY_BEAUTY)
StringCopy(gStringVar3, gText_Contest_Anxiety);
- else if (gContestMoves[sContestantStatus[shared192D0.contestant].currMove].contestCategory == CONTEST_CATEGORY_CUTE)
+ else if (gContestMoves[eContestantStatus[eContestResources8.contestant].currMove].contestCategory == CONTEST_CATEGORY_CUTE)
StringCopy(gStringVar3, gText_Contest_Laziness);
- else if (gContestMoves[sContestantStatus[shared192D0.contestant].currMove].contestCategory == CONTEST_CATEGORY_SMART)
+ else if (gContestMoves[eContestantStatus[eContestResources8.contestant].currMove].contestCategory == CONTEST_CATEGORY_SMART)
StringCopy(gStringVar3, gText_Contest_Hesitancy);
else
StringCopy(gStringVar3, gText_Contest_Fear);
StringExpandPlaceholders(gStringVar4, gUnknown_08587E10[stringId]);
- sub_80DB89C();
+ ContestClearGeneralTextWindow();
Contest_StartTextPrinter(gStringVar4, 1);
}
void MakeContestantNervous(u8 p)
{
- sContestantStatus[p].nervous = 1;
- sContestantStatus[p].currMove = MOVE_NONE;
+ eContestantStatus[p].nervous = TRUE;
+ eContestantStatus[p].currMove = MOVE_NONE;
}
-static void sub_80DD590(void)
+// This function calculates the new turn order for the next round. The
+// algorithm first checks for explicit turn assignments in the
+// ContestantStatus::nextTurnOrder field of each contestant. The remaining
+// turns are assigned such that the turn order will reverse.
+//
+// For example, if no pokemon have a defined nextTurnOrder, then the 4th
+// will become 1st, the 3rd will become 2nd, etc.
+//
+// Note: This function assumes that multiple pokemon cannot have the same
+// nextTurnOrder value.
+static void ApplyNextTurnOrder(void)
{
- u8 r12 = 0;
+ u8 nextContestant = 0;
s32 i;
s32 j;
- u8 sp0[4];
- u8 sp4[4];
+ u8 newTurnOrder[CONTESTANT_COUNT];
+ bool8 isContestantOrdered[CONTESTANT_COUNT];
- for (i = 0; i < 4; i++)
+ // Copy the current turn order.
+ for (i = 0; i < CONTESTANT_COUNT; i++)
{
- sp0[i] = gUnknown_02039F26[i];
- sp4[i] = 0;
+ newTurnOrder[i] = gContestantTurnOrder[i];
+ isContestantOrdered[i] = FALSE;
}
- for (i = 0; i < 4; i++)
+ // For each turn, assign a contestant to that turn.
+ for (i = 0; i < CONTESTANT_COUNT; i++)
{
- for (j = 0; j < 4; j++)
+ // Look for explicit turn assignments.
+ for (j = 0; j < CONTESTANT_COUNT; j++)
{
- if (sContestantStatus[j].nextTurnOrder == i)
+ if (eContestantStatus[j].nextTurnOrder == i)
{
- sp0[j] = i;
- sp4[j] = 1;
+ newTurnOrder[j] = i;
+ isContestantOrdered[j] = TRUE;
break;
}
}
- if (j == 4)
+
+ if (j == CONTESTANT_COUNT)
{
- for (j = 0; j < 4; j++)
+ // No contestant was assigned to this turn. Look for the unassigned contestant
+ // with the highest turn order.
+ //
+ // First, look for the first unassigned contestant.
+ for (j = 0; j < CONTESTANT_COUNT; j++)
{
- if (sp4[j] == 0 && sContestantStatus[j].nextTurnOrder == 0xFF)
+ if (!isContestantOrdered[j] && eContestantStatus[j].nextTurnOrder == 0xFF)
{
- r12 = j;
+ nextContestant = j;
j++;
break;
}
}
- for (; j < 4; j++)
+
+ // Then, look for a better candidate, with a higher turn order.
+ for (; j < CONTESTANT_COUNT; j++)
{
- if (sp4[j] == 0 && sContestantStatus[j].nextTurnOrder == 0xFF
- && gUnknown_02039F26[r12] > gUnknown_02039F26[j])
- r12 = j;
+ if (!isContestantOrdered[j] && eContestantStatus[j].nextTurnOrder == 0xFF
+ && gContestantTurnOrder[nextContestant] > gContestantTurnOrder[j])
+ nextContestant = j;
}
- sp0[r12] = i;
- sp4[r12] = 1;
+
+ // Assign the contestant to this turn.
+ newTurnOrder[nextContestant] = i;
+ isContestantOrdered[nextContestant] = TRUE;
}
}
- for (i = 0; i < 4; i++)
+ for (i = 0; i < CONTESTANT_COUNT; i++)
{
- shared192D0.turnOrder[i] = sp0[i];
- sContestantStatus[i].nextTurnOrder = 0xFF;
- sContestantStatus[i].turnOrderMod = 0;
- gUnknown_02039F26[i] = sp0[i];
+ eContestResources8.turnOrder[i] = newTurnOrder[i];
+ eContestantStatus[i].nextTurnOrder = 0xFF;
+ eContestantStatus[i].turnOrderMod = 0;
+ gContestantTurnOrder[i] = newTurnOrder[i];
}
}
@@ -4368,13 +4480,13 @@ static void sub_80DD6DC(struct Sprite *sprite)
sprite->data[1] = 0;
sprite->invisible = TRUE;
sprite->callback = SpriteCallbackDummy;
- sContest.unk1920A_4 = 0;
+ eContest.unk1920A_4 = 0;
}
}
static void sub_80DD720(u8 a)
{
- u8 spriteId = sContest.unk19216;
+ u8 spriteId = eContest.unk19216;
switch (a)
{
@@ -4416,26 +4528,26 @@ static void sub_80DD720(u8 a)
gSprites[spriteId].data[1] = 0;
gSprites[spriteId].invisible = FALSE;
gSprites[spriteId].callback = sub_80DD6DC;
- sContest.unk1920A_4 = 1;
+ eContest.unk1920A_4 = 1;
}
-static void sub_80DD940(void)
+static void UpdateApplauseMeter(void)
{
s32 i;
- for (i = 0; i < 5; i++)
+ for (i = 0; i < APPLAUSE_METER_SIZE; i++)
{
const u8 *src;
- if (i < sContest.applauseLevel)
- src = gContestApplauseMeterGfx + 64;
+ if (i < eContest.applauseLevel)
+ src = &gContestApplauseMeterGfx[64];
else
src = gContestApplauseMeterGfx;
- CpuCopy32(src, (void *)(VRAM + 0x10000 + (gSprites[sContest.applauseMeterSpriteId].oam.tileNum + 17 + i) * 32), 32);
- CpuCopy32(src + 32, (void *)(VRAM + 0x10000 + (gSprites[sContest.applauseMeterSpriteId].oam.tileNum + 25 + i) * 32), 32);
+ CpuCopy32(src, (void *)(VRAM + 0x10000 + (gSprites[eContest.applauseMeterSpriteId].oam.tileNum + 17 + i) * 32), 32);
+ CpuCopy32(src + 32, (void *)(VRAM + 0x10000 + (gSprites[eContest.applauseMeterSpriteId].oam.tileNum + 25 + i) * 32), 32);
- if (sContest.applauseLevel > 4)
- sub_80DDA20();
+ if (eContest.applauseLevel > 4)
+ StartApplauseOverflowAnimation();
}
}
@@ -4444,48 +4556,56 @@ s8 Contest_GetMoveExcitement(u16 move)
return gContestExcitementTable[gSpecialVar_ContestCategory][gContestMoves[move].contestCategory];
}
-static u8 sub_80DDA20(void)
+static u8 StartApplauseOverflowAnimation(void)
{
- u8 taskId = CreateTask(c3_08130B10, 10);
+ u8 taskId = CreateTask(Task_ApplauseOverflowAnimation, 10);
gTasks[taskId].data[1] = 1;
- gTasks[taskId].data[2] = IndexOfSpritePaletteTag(0x0ABE2);
+ gTasks[taskId].data[2] = IndexOfSpritePaletteTag(APPLAUSE_METER_GFX_TAG);
return taskId;
}
-static void c3_08130B10(u8 taskId)
+static void Task_ApplauseOverflowAnimation(u8 taskId)
{
+ // Skip every other frame.
if (++gTasks[taskId].data[0] == 1)
{
gTasks[taskId].data[0] = 0;
+
+ // Alternate between normal colors and white.
if (gTasks[taskId].data[3] == 0)
gTasks[taskId].data[4]++;
else
gTasks[taskId].data[4]--;
- BlendPalette(264 + gTasks[taskId].data[2] * 16, 1, gTasks[taskId].data[4], RGB(31, 31, 31));
+
+ BlendPalette(264 + gTasks[taskId].data[2] * 16, 1, gTasks[taskId].data[4], RGB_WHITE);
+
+ // At the maximum or minimum blending, switch directions.
if (gTasks[taskId].data[4] == 0 || gTasks[taskId].data[4] == 16)
{
gTasks[taskId].data[3] ^= 1;
- if (sContest.applauseLevel < 5)
+
+ // Continue the animation until the applause meter is cleared.
+ if (eContest.applauseLevel < 5)
{
- BlendPalette(264 + gTasks[taskId].data[2] * 16, 1, 0, RGB(31, 0, 0));
+ BlendPalette(264 + gTasks[taskId].data[2] * 16, 1, 0, RGB_RED);
DestroyTask(taskId);
}
}
}
}
-static void sub_80DDB0C(void)
+static void StartMoveApplauseMeterOnscreen(void)
{
- CreateTask(sub_80DDB6C, 10);
- gSprites[sContest.applauseMeterSpriteId].pos2.x = -70;
- gSprites[sContest.applauseMeterSpriteId].invisible = FALSE;
- sContest.unk1920A_6 = 1;
+ CreateTask(Task_MoveApplauseMeterOnscreen, 10);
+ gSprites[eContest.applauseMeterSpriteId].pos2.x = -70;
+ gSprites[eContest.applauseMeterSpriteId].invisible = FALSE;
+ eContest.applauseMeterIsMoving = TRUE;
}
-static void sub_80DDB6C(u8 taskId)
+static void Task_MoveApplauseMeterOnscreen(u8 taskId)
{
- struct Sprite *sprite = &gSprites[sContest.applauseMeterSpriteId];
+ struct Sprite *sprite = &gSprites[eContest.applauseMeterSpriteId];
gTasks[taskId].data[10] += 1664;
sprite->pos2.x += gTasks[taskId].data[10] >> 8;
@@ -4494,28 +4614,28 @@ static void sub_80DDB6C(u8 taskId)
sprite->pos2.x = 0;
if (sprite->pos2.x == 0)
{
- sContest.unk1920A_6 = 0;
+ eContest.applauseMeterIsMoving = FALSE;
DestroyTask(taskId);
}
}
-static void sub_80DDBE8(void)
+static void TryMoveApplauseMeterOffscreen(void)
{
- if (gSprites[sContest.applauseMeterSpriteId].invisible == TRUE)
+ if (gSprites[eContest.applauseMeterSpriteId].invisible == TRUE)
{
- sContest.unk1920A_6 = 0;
+ eContest.applauseMeterIsMoving = FALSE;
}
else
{
- CreateTask(task08_080CD1CC, 10);
- gSprites[sContest.applauseMeterSpriteId].pos2.x = 0;
- sContest.unk1920A_6 = 1;
+ CreateTask(Task_MoveApplauseMeterOffscreen, 10);
+ gSprites[eContest.applauseMeterSpriteId].pos2.x = 0;
+ eContest.applauseMeterIsMoving = TRUE;
}
}
-static void task08_080CD1CC(u8 taskId)
+static void Task_MoveApplauseMeterOffscreen(u8 taskId)
{
- struct Sprite *sprite = &gSprites[sContest.applauseMeterSpriteId];
+ struct Sprite *sprite = &gSprites[eContest.applauseMeterSpriteId];
gTasks[taskId].data[10] += 1664;
sprite->pos2.x -= gTasks[taskId].data[10] >> 8;
@@ -4525,29 +4645,29 @@ static void task08_080CD1CC(u8 taskId)
if (sprite->pos2.x == -70)
{
sprite->invisible = TRUE;
- sContest.unk1920A_6 = 0;
+ eContest.applauseMeterIsMoving = FALSE;
DestroyTask(taskId);
}
}
-static void sub_80DDCDC(s8 a)
+static void ShowAndUpdateApplauseMeter(s8 unused)
{
- u8 taskId = CreateTask(sub_80DDD20, 5);
+ u8 taskId = CreateTask(Task_ShowAndUpdateApplauseMeter, 5);
- gTasks[taskId].data[0] = a;
- sContest.unk1920A_5 = 1;
+ gTasks[taskId].data[0] = unused;
+ eContest.isShowingApplauseMeter = TRUE;
}
-static void sub_80DDD20(u8 taskId)
+static void Task_ShowAndUpdateApplauseMeter(u8 taskId)
{
switch (gTasks[taskId].data[10])
{
case 0:
- sub_80DDB0C();
+ StartMoveApplauseMeterOnscreen();
gTasks[taskId].data[10]++;
break;
case 1:
- if (!sContest.unk1920A_6)
+ if (!eContest.applauseMeterIsMoving)
{
gTasks[taskId].data[10]++;
}
@@ -4556,29 +4676,31 @@ static void sub_80DDD20(u8 taskId)
if (gTasks[taskId].data[11]++ > 20)
{
gTasks[taskId].data[11] = 0;
- sub_80DD940();
- sContest.unk1920A_5 = 0;
+ UpdateApplauseMeter();
+ eContest.isShowingApplauseMeter = FALSE;
DestroyTask(taskId);
}
break;
}
}
-void unref_sub_80DDDA8(void)
+// Unused.
+void HideApplauseMeterNoAnim(void)
{
- gSprites[sContest.applauseMeterSpriteId].pos2.x = 0;
- gSprites[sContest.applauseMeterSpriteId].invisible = FALSE;
+ gSprites[eContest.applauseMeterSpriteId].pos2.x = 0;
+ gSprites[eContest.applauseMeterSpriteId].invisible = FALSE;
}
-void unref_sub_80DDDE4(void)
+// Unused.
+void ShowApplauseMeterNoAnim(void)
{
- gSprites[sContest.applauseMeterSpriteId].invisible = TRUE;
+ gSprites[eContest.applauseMeterSpriteId].invisible = TRUE;
}
static void sub_80DDE0C(void)
{
CreateTask(sub_80DDE30, 15);
- sContest.unk1920A_7 = 1;
+ eContest.unk1920A_7 = 1;
}
static void sub_80DDE30(u8 taskId)
@@ -4588,11 +4710,11 @@ static void sub_80DDE30(u8 taskId)
gTasks[taskId].data[10] = 0;
if (gTasks[taskId].data[11] == 0)
{
- RequestDma3Copy(shared16800, (void *)(BG_SCREEN_ADDR(4)), 0x1000, 1);
+ RequestDma3Copy(eUnknownHeap19000, (void *)(BG_SCREEN_ADDR(4)), 0x1000, 1);
}
else
{
- RequestDma3Copy(shared15800, (void *)(BG_SCREEN_ADDR(4)), 0x1000, 1);
+ RequestDma3Copy(eUnzippedContestAudienceGfx, (void *)(BG_SCREEN_ADDR(4)), 0x1000, 1);
gTasks[taskId].data[12]++;
}
@@ -4600,7 +4722,7 @@ static void sub_80DDE30(u8 taskId)
if (gTasks[taskId].data[12] == 9)
{
- sContest.unk1920A_7 = 0;
+ eContest.unk1920A_7 = 0;
DestroyTask(taskId);
}
}
@@ -4622,11 +4744,11 @@ static void sub_80DDED0(s8 a, s8 b)
if (b > 0)
{
blendCoeff = 0;
- r3 = sContest.applauseLevel * 3;
+ r3 = eContest.applauseLevel * 3;
}
else
{
- blendCoeff = sContest.applauseLevel * 3;
+ blendCoeff = eContest.applauseLevel * 3;
r3 = 0;
}
}
@@ -4648,7 +4770,7 @@ static void sub_80DDED0(s8 a, s8 b)
gTasks[taskId].tBlendCoeff = blendCoeff;
gTasks[taskId].data[2] = b;
gTasks[taskId].data[3] = r3;
- sContest.unk1920B_0 = 0;
+ eContest.unk1920B_0 = 0;
}
static void sub_80DDF80(u8 taskId)
@@ -4665,7 +4787,7 @@ static void sub_80DDF80(u8 taskId)
if (gTasks[taskId].tBlendCoeff == gTasks[taskId].data[3])
{
DestroyTask(taskId);
- sContest.unk1920B_0 = 0;
+ eContest.unk1920B_0 = 0;
}
}
}
@@ -4679,10 +4801,10 @@ static void sub_80DE008(bool8 a)
for (i = 0; i < 4; i++)
{
- if (sContestantStatus[i].turnOrderMod != 0 && a)
+ if (eContestantStatus[i].turnOrderMod != 0 && a)
{
CpuCopy32(GetTurnOrderNumberGfx(i), (void *)(VRAM + 0x10000 + (gSprites[gContestResources->field_14[i].unk1].oam.tileNum + 6) * 32), 32);
- gSprites[gContestResources->field_14[i].unk1].pos1.y = gUnknown_08587A70[gUnknown_02039F26[i]];
+ gSprites[gContestResources->field_14[i].unk1].pos1.y = gUnknown_08587A70[gContestantTurnOrder[i]];
gSprites[gContestResources->field_14[i].unk1].invisible = FALSE;
}
else
@@ -4694,10 +4816,10 @@ static void sub_80DE008(bool8 a)
static const u8 *GetTurnOrderNumberGfx(u8 contestant)
{
- if (sContestantStatus[contestant].turnOrderMod != 1)
+ if (eContestantStatus[contestant].turnOrderMod != 1)
return gContestNextTurnRandomGfx;
else
- return gContestNextTurnNumbersGfx + sContestantStatus[contestant].nextTurnOrder * 32;
+ return gContestNextTurnNumbersGfx + eContestantStatus[contestant].nextTurnOrder * 32;
}
static void sub_80DE12C(void)
@@ -4707,11 +4829,11 @@ static void sub_80DE12C(void)
u8 r8 = 1;
u8 r9 = 0x11;
- for (r7 = 0; r7 < 4; r7++)
+ for (r7 = 0; r7 < CONTESTANT_COUNT; r7++)
{
- if (shared192D0.unnervedPokes[r7] != 0 && !Contest_IsMonsTurnDisabled(r7))
+ if (eContestResources8.unnervedPokes[r7] != 0 && !Contest_IsMonsTurnDisabled(r7))
{
- u32 r6 = gUnknown_02039F26[r7] * 5 + 2;
+ u32 r6 = gContestantTurnOrder[r7] * 5 + 2;
u16 var = sub_80DB748(3);
ContestBG_FillBoxWithIncrementingTile(0, var, 0x14, r6, r10, r8, r9, r8);
@@ -4722,9 +4844,9 @@ static void sub_80DE12C(void)
}
}
-bool8 sub_80DE1E8(u8 a)
+bool8 sub_80DE1E8(u8 contestant)
{
- if (sContestantStatus[a].disappointedRepeat || sContestantStatus[a].nervous)
+ if (eContestantStatus[contestant].disappointedRepeat || eContestantStatus[contestant].nervous)
return FALSE;
else
return TRUE;
@@ -4756,7 +4878,7 @@ static void sub_80DE224(void)
SetGpuReg(REG_OFFSET_BG1HOFS, gBattle_BG1_X);
SetGpuReg(REG_OFFSET_BG1VOFS, gBattle_BG1_Y);
- CpuFill32(0, gContestResources->field_24[1], 0x1000);
+ CpuFill32(0, gContestResources->contestBgTilemaps[1], 0x1000);
CopyToBgTilemapBuffer(1, gUnknown_08C17980, 0, 0);
Contest_SetBgCopyFlags(1);
@@ -4773,8 +4895,8 @@ static void sub_80DE350(void)
s32 i;
u16 bg1Cnt;
- RequestDma3Fill(0,(void *)(BG_CHAR_ADDR(2)), 0x2000, 0x1);
- CpuFill32(0, gContestResources->field_24[1], 0x1000);
+ RequestDma3Fill(0,(void *)(BG_CHAR_ADDR(2)), 0x2000, 1);
+ CpuFill32(0, gContestResources->contestBgTilemaps[1], 0x1000);
Contest_SetBgCopyFlags(1);
bg1Cnt = GetGpuReg(REG_OFFSET_BG1CNT);
((vBgCnt *) &bg1Cnt)->priority = 1;
@@ -4787,7 +4909,7 @@ static void sub_80DE350(void)
gBattle_BG1_X = 0;
gBattle_BG1_Y = 0;
- for (i = 0; i < 4; i++)
+ for (i = 0; i < CONTESTANT_COUNT; i++)
{
gSprites[gContestResources->field_14[i].unk0].oam.priority = 0;
gSprites[gContestResources->field_14[i].unk1].oam.priority = 0;
@@ -4822,27 +4944,27 @@ static void sub_80DE4A8(u8 taskId)
switch (gTasks[taskId].data[0])
{
case 0:
- for (i = 0; i < 4; i++)
- sContest.unk19218[i] = gUnknown_02039F26[i];
- sub_80DBF90();
+ for (i = 0; i < CONTESTANT_COUNT; i++)
+ eContest.prevTurnOrder[i] = gContestantTurnOrder[i];
+ FillContestantWindowBgs();
sub_80DC864();
sub_80DB69C();
- sub_80DD04C();
+ DrawContestantWindows();
sub_80DE008(TRUE);
sub_80DC44C();
gTasks[taskId].data[0] = 1;
break;
case 1:
- if (gIsLinkContest & 1)
+ if (gLinkContestFlags & LINK_CONTEST_FLAG_IS_LINK)
{
u8 taskId2;
- sContest.unk1920B_2 = 1;
+ eContest.unk1920B_2 = 1;
if (sub_80DA8A4())
sub_80DBAA0();
taskId2 = CreateTask(sub_80FCC88, 0);
SetTaskFuncWithFollowupFunc(taskId2, sub_80FCC88, sub_80DA110);
- sub_80DBF68();
+ ContestPrintLinkStandby();
gTasks[taskId].data[0] = 2;
}
else
@@ -4852,12 +4974,12 @@ static void sub_80DE4A8(u8 taskId)
}
break;
case 2:
- if (!sContest.unk1920B_2)
+ if (!eContest.unk1920B_2)
gTasks[taskId].data[0] = 3;
break;
case 3:
sub_80DB884();
- sub_80DB2BC();
+ SwapMoveDescAndContestTilemaps();
gTasks[taskId].data[0] = 0;
gTasks[taskId].func = sub_80DE5F4;
break;
@@ -4920,7 +5042,7 @@ static void sub_80DE69C(u8 a)
s32 i;
u8 taskId;
- for (i = 0; i < 4; i++)
+ for (i = 0; i < CONTESTANT_COUNT; i++)
{
gSprites[gContestResources->field_14[i].unk0].oam.matrixNum = AllocOamMatrix();
gSprites[gContestResources->field_14[i].unk0].oam.affineMode = 1;
@@ -4933,7 +5055,7 @@ static void sub_80DE69C(u8 a)
}
taskId = CreateTask(sub_80DE794, 5);
gTasks[taskId].data[0] = a;
- sContest.unk1920B_1 = 1;
+ eContest.unk1920B_1 = 1;
}
static void sub_80DE794(u8 taskId)
@@ -4944,12 +5066,12 @@ static void sub_80DE794(u8 taskId)
{
if ((u8)gTasks[taskId].data[0] == 1)
{
- for (i = 0; i < 4; i++)
+ for (i = 0; i < CONTESTANT_COUNT; i++)
gSprites[gContestResources->field_14[i].unk0].invisible = TRUE;
}
- for (i = 0; i < 4; i++)
+ for (i = 0; i < CONTESTANT_COUNT; i++)
FreeSpriteOamMatrix(&gSprites[gContestResources->field_14[i].unk0]);
- sContest.unk1920B_1 = 0;
+ eContest.unk1920B_1 = 0;
DestroyTask(taskId);
}
}
@@ -4971,13 +5093,13 @@ static u16 SanitizeSpecies(u16 species)
static void sub_80DE864(u8 a)
{
s32 i;
- u16 move = SanitizeMove(sContestantStatus[a].currMove);
+ u16 move = SanitizeMove(eContestantStatus[a].currMove);
u16 species = SanitizeSpecies(gContestMons[a].species);
u8 r5_2;
memset(&gContestResources->field_18->species, 0, 0x14);
ClearBattleAnimationVars();
- for (i = 0; i < 4; i++)
+ for (i = 0; i < CONTESTANT_COUNT; i++)
gBattleMonForms[i] = 0;
switch (move)
{
@@ -4989,7 +5111,7 @@ static void sub_80DE864(u8 a)
break;
case MOVE_TRANSFORM:
case MOVE_ROLE_PLAY:
- r5_2 = sContestantStatus[a].unk1B;
+ r5_2 = eContestantStatus[a].unk1B;
gContestResources->field_18->unk2 = SanitizeSpecies(gContestMons[r5_2].species);
gContestResources->field_18->unk10 = gContestMons[r5_2].personality;
gContestResources->field_18->unk4_0 = 1;
@@ -5004,9 +5126,9 @@ static void sub_80DE864(u8 a)
case MOVE_RAZOR_WIND:
case MOVE_SKULL_BASH:
case MOVE_SKY_ATTACK:
- if (sContest.unk1925E == 0)
+ if (eContest.unk1925E == 0)
{
- sContest.unk1925E = 2;
+ eContest.unk1925E = 2;
gAnimMoveTurn = 0;
}
else
@@ -5020,17 +5142,17 @@ static void sub_80DE864(u8 a)
static void sub_80DE9B0(u8 unused)
{
- memset(&gContestResources->field_18->species, 0, 0x14);
- if (sContest.unk1925E != 0)
- sContest.unk1925E--;
+ memset(gContestResources->field_18, 0, sizeof(struct ContestStruct_field_18));
+ if (eContest.unk1925E != 0)
+ eContest.unk1925E--;
}
-static void sub_80DE9DC(u8 a)
+static void sub_80DE9DC(u8 contestant)
{
- gContestResources->field_18->unk5 = a;
- gContestResources->field_18->species = SanitizeSpecies(gContestMons[a].species);
- gContestResources->field_18->unk8 = gContestMons[a].personality;
- gContestResources->field_18->unkC = gContestMons[a].otId;
+ gContestResources->field_18->unk5 = contestant;
+ gContestResources->field_18->species = SanitizeSpecies(gContestMons[contestant].species);
+ gContestResources->field_18->unk8 = gContestMons[contestant].personality;
+ gContestResources->field_18->unkC = gContestMons[contestant].otId;
}
static void sub_80DEA20(void)
@@ -5140,7 +5262,7 @@ static void Contest_StartTextPrinter(const u8 *currChar, bool32 b)
}
else
{
- if (gIsLinkContest & 1)
+ if (gLinkContestFlags & LINK_CONTEST_FLAG_IS_LINK)
speed = 4;
else
speed = GetPlayerTextSpeedDelay();
@@ -5151,15 +5273,15 @@ static void Contest_StartTextPrinter(const u8 *currChar, bool32 b)
Contest_SetBgCopyFlags(0);
}
-static void ContestBG_FillBoxWithIncrementingTile(u8 a, u16 b, u8 c, u8 d, u8 e, u8 f, u8 g, s16 h)
+static void ContestBG_FillBoxWithIncrementingTile(u8 bg, u16 firstTileNum, u8 x, u8 y, u8 width, u8 height, u8 paletteSlot, s16 tileNumData)
{
- WriteSequenceToBgTilemapBuffer(a, b, c, d, e, f, g, h);
- Contest_SetBgCopyFlags(a);
+ WriteSequenceToBgTilemapBuffer(bg, firstTileNum, x, y, width, height, paletteSlot, tileNumData);
+ Contest_SetBgCopyFlags(bg);
}
-static void ContestBG_FillBoxWithTile(u8 a, u16 b, u8 c, u8 d, u8 e, u8 f, u8 g)
+static void ContestBG_FillBoxWithTile(u8 bg, u16 firstTileNum, u8 x, u8 y, u8 width, u8 height, u8 paletteSlot)
{
- ContestBG_FillBoxWithIncrementingTile(a, b, c, d, e, f, g, 0);
+ ContestBG_FillBoxWithIncrementingTile(bg, firstTileNum, x, y, width, height, paletteSlot, 0);
}
static bool32 Contest_RunTextPrinters(void)
@@ -5168,9 +5290,9 @@ static bool32 Contest_RunTextPrinters(void)
return IsTextPrinterActive(4);
}
-static void Contest_SetBgCopyFlags(u32 var)
+static void Contest_SetBgCopyFlags(u32 flagIndex)
{
- sContestBgCopyFlags |= 1 << var;
+ sContestBgCopyFlags |= 1 << flagIndex;
}
void ResetContestLinkResults(void)
@@ -5178,7 +5300,7 @@ void ResetContestLinkResults(void)
s32 i;
s32 j;
- for(i = 0; i < 5; i++)
+ for(i = 0; i < CONTEST_CATEGORIES_COUNT; i++)
for(j = 0; j < 4; j++)
gSaveBlock2Ptr->contestLinkResults[i][j] = 0;
}
@@ -5188,7 +5310,7 @@ bool8 sub_80DEDA8(u8 a)
s32 i;
u8 r7 = Random() % 3;
- for (i = 0; i < 3; i++)
+ for (i = 0; i < CONTESTANT_COUNT - 1; i++)
{
if (gContestFinalStandings[i] == 0)
break;
@@ -5222,7 +5344,7 @@ bool8 sub_80DEDA8(u8 a)
gSaveBlock1Ptr->contestWinners[r4].trainerId = gContestMons[i].otId;
StringCopy(gSaveBlock1Ptr->contestWinners[r4].monName, gContestMons[i].nickname);
StringCopy(gSaveBlock1Ptr->contestWinners[r4].trainerName, gContestMons[i].trainerName);
- if(gIsLinkContest & 1)
+ if(gLinkContestFlags & LINK_CONTEST_FLAG_IS_LINK)
gSaveBlock1Ptr->contestWinners[r4].contestRank = 4;
else
gSaveBlock1Ptr->contestWinners[r4].contestRank = gSpecialVar_ContestRank;
@@ -5293,13 +5415,13 @@ static void sub_80DF080(u8 contestant)
if (!gContestResources->field_10->excitementFrozen
&& gContestResources->field_10->bits_0 > 0
- && !gContestResources->field_4[contestant].disappointedRepeat)
+ && !eContestantStatus[contestant].disappointedRepeat)
{
gContestResources->field_1c[contestant].unkC |= 1;
gContestResources->field_1c[contestant].unkE_2 = 1;
}
- if (gContestResources->field_4[contestant].nervous)
+ if (eContestantStatus[contestant].nervous)
gContestResources->field_1c[contestant].unkC |= 2;
if (!gContestResources->field_10->excitementFrozen
@@ -5309,37 +5431,37 @@ static void sub_80DF080(u8 contestant)
gContestResources->field_1c[contestant].unkC |= 4;
}
- if (gContestResources->field_4[contestant].unk15_6
- && gContestResources->field_4[contestant].unk16 != 0)
+ if (eContestantStatus[contestant].unk15_6
+ && eContestantStatus[contestant].unk16 != 0)
{
gContestResources->field_1c[contestant].unkC |= 8;
}
for (i = 0; i < 4; i++)
{
- if (i != contestant && gContestResources->field_4[i].jam != 0)
+ if (i != contestant && eContestantStatus[i].jam != 0)
{
gContestResources->field_1c[contestant].unkC |= 0x10;
gContestResources->field_1c[i].unkC |= 0x40;
}
}
- if (gContestResources->field_4[contestant].numTurnsSkipped != 0
- || gContestResources->field_4[contestant].noMoreTurns)
+ if (eContestantStatus[contestant].numTurnsSkipped != 0
+ || eContestantStatus[contestant].noMoreTurns)
{
gContestResources->field_1c[contestant].unkC |= 0x20;
}
- else if (!gContestResources->field_4[contestant].nervous)
+ else if (!eContestantStatus[contestant].nervous)
{
gContestResources->field_1c[contestant].unkC |= 0x80;
gContestResources->field_1c[contestant].unkE_1 = 1;
- gContestResources->field_1c[contestant].unk0[gContestResources->field_0->turnNumber] = gContestResources->field_4[contestant].currMove;
+ gContestResources->field_1c[contestant].unk0[eContest.turnNumber] = eContestantStatus[contestant].currMove;
}
- if (gContestResources->field_4[contestant].disappointedRepeat)
+ if (eContestantStatus[contestant].disappointedRepeat)
gContestResources->field_1c[contestant].unkD |= 2;
- if (gContestResources->field_0->applauseLevel == 4
+ if (eContest.applauseLevel == 4
&& !gContestResources->field_10->excitementFrozen
&& gContestResources->field_10->bits_0 < 0)
{
@@ -5371,7 +5493,7 @@ static void sub_80DF250(void)
}
gContestResources->field_1c[r1].unkD |= 1;
- for (i = 0; i < 4; i++)
+ for (i = 0; i < CONTESTANT_COUNT; i++)
{
if (i != var_38 && gUnknown_02039F08[var_38] - gUnknown_02039F08[i] <= 50)
gContestResources->field_1c[i].unkD |= 4;
@@ -5379,7 +5501,7 @@ static void sub_80DF250(void)
if (!gContestResources->field_1c[i].unkE_2)
gContestResources->field_1c[i].unkD |= 8;
- for (j = 0; j < 4; j++)
+ for (j = 0; j < CONTESTANT_COUNT; j++)
{
if (gContestMonConditions[i] < gContestMonConditions[j])
break;
@@ -5472,7 +5594,7 @@ static void sub_80DF4F8(void)
return;
r7 = 0;
- for (i = 0; i < 4; i++)
+ for (i = 0; i < CONTESTANT_COUNT; i++)
{
if (gContestFinalStandings[i] == 0)
r7 = i;
@@ -5480,7 +5602,7 @@ static void sub_80DF4F8(void)
r9 = 0;
r10 = 0;
- for (i = 0; i < 4; i++)
+ for (i = 0; i < CONTESTANT_COUNT; i++)
{
if (gContestMonConditions[r7] < gContestMonConditions[i])
r9++;
@@ -5524,7 +5646,7 @@ static void sub_80DF4F8(void)
}
r5 = 1;
- for (; i < 4; i++)
+ for (; i < CONTESTANT_COUNT; i++)
{
if (i != r7)
{
@@ -5559,32 +5681,32 @@ static void sub_80DF4F8(void)
}
// Unused
-void sub_80DF704(u8 arg0)
+void ContestDebugToggleBitfields(bool8 showUnkD)
{
- if (gHeap[0x1A000] == 0)
+ if (eContestDebugMode == CONTEST_DEBUG_MODE_OFF)
{
- if (arg0 == 0)
- gHeap[0x1A000] = 2;
+ if (!showUnkD)
+ eContestDebugMode = CONTEST_DEBUG_MODE_PRINT_UNK_C;
else
- gHeap[0x1A000] = 3;
+ eContestDebugMode = CONTEST_DEBUG_MODE_PRINT_UNK_D;
}
else
{
- gHeap[0x1A000] = 0;
+ eContestDebugMode = CONTEST_DEBUG_MODE_OFF;
}
- if (gHeap[0x1A000] == 0)
+ if (eContestDebugMode == CONTEST_DEBUG_MODE_OFF)
{
- sub_80DAEA4();
- sub_80DB2BC();
+ DrawContestantWindowText();
+ SwapMoveDescAndContestTilemaps();
}
else
{
- sub_80DF750();
+ ContestDebugPrintBitStrings();
}
}
-static void sub_80DF750(void)
+static void ContestDebugPrintBitStrings(void)
{
u8 i;
s8 j;
@@ -5593,20 +5715,21 @@ static void sub_80DF750(void)
u8 *txtPtr;
u32 bits;
- if (gUnknown_020322D5 == 0)
+ if (!gEnableContestDebugging)
return;
- if (gHeap[0x1A000] != 2 && gHeap[0x1A000] != 3)
+
+ if (eContestDebugMode != CONTEST_DEBUG_MODE_PRINT_UNK_C && eContestDebugMode != CONTEST_DEBUG_MODE_PRINT_UNK_D)
return;
- for (i = 0; i < 4; i++)
+ for (i = 0; i < CONTESTANT_COUNT; i++)
FillWindowPixelBuffer(i, PIXEL_FILL(0));
- if (gHeap[0x1A000] == 2)
+ if (eContestDebugMode == CONTEST_DEBUG_MODE_PRINT_UNK_C)
{
- for (i = 0; i < 4; i++)
+ for (i = 0; i < CONTESTANT_COUNT; i++)
{
txtPtr = StringCopy(text1, gText_CDot);
- Contest_PrintTextToBg0WindowAt(gUnknown_02039F26[i], text1, 5, 1, 7);
+ Contest_PrintTextToBg0WindowAt(gContestantTurnOrder[i], text1, 5, 1, 7);
bits = gContestResources->field_1c[i].unkC;
for (j = 7; j > -1; j--) // Weird loop.
{
@@ -5618,13 +5741,13 @@ static void sub_80DF750(void)
text2[j] = text1[j];
text2[j] = EOS;
- Contest_PrintTextToBg0WindowAt(gUnknown_02039F26[i], text2, 5, 1, 7);
- Contest_PrintTextToBg0WindowAt(gUnknown_02039F26[i], text1 + j, 55, 1, 7);
+ Contest_PrintTextToBg0WindowAt(gContestantTurnOrder[i], text2, 5, 1, 7);
+ Contest_PrintTextToBg0WindowAt(gContestantTurnOrder[i], text1 + j, 55, 1, 7);
}
}
else
{
- for (i = 0; i < 4; i++)
+ for (i = 0; i < CONTESTANT_COUNT; i++)
{
StringCopy(text1, gText_BDot);
bits = gContestResources->field_1c[i].unkD;
@@ -5639,11 +5762,11 @@ static void sub_80DF750(void)
text2[j] = text1[j];
text2[j] = EOS;
- Contest_PrintTextToBg0WindowAt(gUnknown_02039F26[i], text2, 5, 1, 7);
- Contest_PrintTextToBg0WindowAt(gUnknown_02039F26[i], text1 + j, 55, 1, 7);
+ Contest_PrintTextToBg0WindowAt(gContestantTurnOrder[i], text2, 5, 1, 7);
+ Contest_PrintTextToBg0WindowAt(gContestantTurnOrder[i], text1 + j, 55, 1, 7);
}
}
- sub_80DB2BC();
+ SwapMoveDescAndContestTilemaps();
}
static u8 sub_80DF940(u8 *nickname)
diff --git a/src/contest_ai.c b/src/contest_ai.c
index 97e8c8f29..723c503ab 100644
--- a/src/contest_ai.c
+++ b/src/contest_ai.c
@@ -6,29 +6,29 @@
#include "contest_effect.h"
extern const u8 *gAIScriptPtr;
-extern const u8 *gContestAIs[];
+extern const u8 *gContestAIChecks[];
-static void ContestAICmd_unk_00(void);
+static void ContestAICmd_score(void);
static void ContestAICmd_get_turn(void);
-static void ContestAICmd_unk_02(void);
-static void ContestAICmd_unk_03(void);
-static void ContestAICmd_unk_04(void);
-static void ContestAICmd_unk_05(void);
+static void ContestAICmd_if_turn_less_than(void);
+static void ContestAICmd_if_turn_more_than(void);
+static void ContestAICmd_if_turn_eq(void);
+static void ContestAICmd_if_turn_not_eq(void);
static void ContestAICmd_get_excitement(void);
-static void ContestAICmd_unk_07(void);
-static void ContestAICmd_unk_08(void);
-static void ContestAICmd_unk_09(void);
-static void ContestAICmd_unk_0A(void);
+static void ContestAICmd_if_excitement_less_than(void);
+static void ContestAICmd_if_excitement_more_than(void);
+static void ContestAICmd_if_excitement_eq(void);
+static void ContestAICmd_if_excitement_not_eq(void);
static void ContestAICmd_get_user_order(void);
-static void ContestAICmd_unk_0C(void);
-static void ContestAICmd_unk_0D(void);
-static void ContestAICmd_unk_0E(void);
-static void ContestAICmd_unk_0F(void);
-static void ContestAICmd_get_user_condition_maybe(void);
-static void ContestAICmd_unk_11(void);
-static void ContestAICmd_unk_12(void);
-static void ContestAICmd_unk_13(void);
-static void ContestAICmd_unk_14(void);
+static void ContestAICmd_if_user_order_less_than(void);
+static void ContestAICmd_if_user_order_more_than(void);
+static void ContestAICmd_if_user_order_eq(void);
+static void ContestAICmd_if_user_order_not_eq(void);
+static void ContestAICmd_get_user_condition(void);
+static void ContestAICmd_if_user_condition_less_than(void);
+static void ContestAICmd_if_user_condition_more_than(void);
+static void ContestAICmd_if_user_condition_eq(void);
+static void ContestAICmd_if_user_condition_not_eq(void);
static void ContestAICmd_unk_15(void);
static void ContestAICmd_unk_16(void);
static void ContestAICmd_unk_17(void);
@@ -40,21 +40,21 @@ static void ContestAICmd_unk_1C(void);
static void ContestAICmd_unk_1D(void);
static void ContestAICmd_unk_1E(void);
static void ContestAICmd_get_contest_type(void);
-static void ContestAICmd_unk_20(void);
-static void ContestAICmd_unk_21(void);
+static void ContestAICmd_if_contest_type_eq(void);
+static void ContestAICmd_if_contest_type_not_eq(void);
static void ContestAICmd_get_move_excitement(void);
-static void ContestAICmd_unk_23(void);
-static void ContestAICmd_unk_24(void);
-static void ContestAICmd_unk_25(void);
-static void ContestAICmd_unk_26(void);
+static void ContestAICmd_if_move_excitement_less_than(void);
+static void ContestAICmd_if_move_excitement_greater_than(void);
+static void ContestAICmd_if_move_excitement_eq(void);
+static void ContestAICmd_if_move_excitement_not_eq(void);
static void ContestAICmd_get_move_effect(void);
-static void ContestAICmd_unk_28(void);
-static void ContestAICmd_unk_29(void);
+static void ContestAICmd_if_move_effect_eq(void);
+static void ContestAICmd_if_move_effect_not_eq(void);
static void ContestAICmd_get_move_effect_type(void);
-static void ContestAICmd_unk_2B(void);
-static void ContestAICmd_unk_2C(void);
-static void ContestAICmd_check_move_has_highest_appeal(void);
-static void ContestAICmd_unk_2E(void);
+static void ContestAICmd_if_move_effect_type_eq(void);
+static void ContestAICmd_if_move_effect_type_not_eq(void);
+static void ContestAICmd_check_most_appealing_move(void);
+static void ContestAICmd_if_most_appealing_move(void);
static void ContestAICmd_unk_2F(void);
static void ContestAICmd_unk_30(void);
static void ContestAICmd_unk_31(void);
@@ -68,35 +68,35 @@ static void ContestAICmd_unk_38(void);
static void ContestAICmd_unk_39(void);
static void ContestAICmd_unk_3A(void);
static void ContestAICmd_get_move_used_count(void);
-static void ContestAICmd_unk_3C(void);
-static void ContestAICmd_unk_3D(void);
-static void ContestAICmd_unk_3E(void);
-static void ContestAICmd_unk_3F(void);
+static void ContestAICmd_if_most_used_count_less_than(void);
+static void ContestAICmd_if_most_used_count_more_than(void);
+static void ContestAICmd_if_most_used_count_eq(void);
+static void ContestAICmd_if_most_used_count_not_eq(void);
static void ContestAICmd_check_combo_starter(void);
-static void ContestAICmd_unk_41(void);
-static void ContestAICmd_unk_42(void);
+static void ContestAICmd_if_combo_starter(void);
+static void ContestAICmd_if_not_combo_starter(void);
static void ContestAICmd_check_combo_finisher(void);
-static void ContestAICmd_unk_44(void);
-static void ContestAICmd_unk_45(void);
+static void ContestAICmd_if_combo_finisher(void);
+static void ContestAICmd_if_not_combo_finisher(void);
static void ContestAICmd_check_would_finish_combo(void);
-static void ContestAICmd_unk_47(void);
-static void ContestAICmd_unk_48(void);
+static void ContestAICmd_if_would_finish_combo(void);
+static void ContestAICmd_if_would_not_finish_combo(void);
static void ContestAICmd_get_condition(void);
-static void ContestAICmd_unk_4A(void);
-static void ContestAICmd_unk_4B(void);
-static void ContestAICmd_unk_4C(void);
-static void ContestAICmd_unk_4D(void);
+static void ContestAICmd_if_condition_less_than(void);
+static void ContestAICmd_if_condition_more_than(void);
+static void ContestAICmd_if_condition_eq(void);
+static void ContestAICmd_if_condition_not_eq(void);
static void ContestAICmd_get_used_combo_starter(void);
-static void ContestAICmd_unk_4F(void);
-static void ContestAICmd_unk_50(void);
-static void ContestAICmd_unk_51(void);
-static void ContestAICmd_unk_52(void);
+static void ContestAICmd_if_used_combo_starter_less_than(void);
+static void ContestAICmd_if_used_combo_starter_more_than(void);
+static void ContestAICmd_if_used_combo_starter_eq(void);
+static void ContestAICmd_if_used_combo_starter_not_eq(void);
static void ContestAICmd_check_can_participate(void);
-static void ContestAICmd_unk_54(void);
-static void ContestAICmd_unk_55(void);
+static void ContestAICmd_if_can_participate(void);
+static void ContestAICmd_if_cannot_participate(void);
static void ContestAICmd_get_val_812A188(void);
static void ContestAICmd_unk_57(void);
-static void ContestAICmd_unk_58(void);
+static void ContestAICmd_contest_58(void);
static void ContestAICmd_unk_59(void);
static void ContestAICmd_unk_5A(void);
static void ContestAICmd_unk_5B(void);
@@ -133,158 +133,158 @@ static void ContestAICmd_unk_79(void);
static void ContestAICmd_unk_7A(void);
static void ContestAICmd_unk_7B(void);
static void ContestAICmd_unk_7C(void);
-static void ContestAICmd_unk_7D(void);
+static void ContestAICmd_if_random(void);
static void ContestAICmd_unk_7E(void);
-static void ContestAICmd_unk_7F(void);
-static void ContestAICmd_unk_80(void);
-static void ContestAICmd_unk_81(void);
-static void ContestAICmd_check_for_exciting_move(void);
-static void ContestAICmd_unk_83(void);
-static void ContestAICmd_unk_84(void);
+static void ContestAICmd_jump(void);
+static void ContestAICmd_call(void);
+static void ContestAICmd_end(void);
+static void ContestAICmd_check_user_has_exciting_move(void);
+static void ContestAICmd_if_user_has_exciting_move(void);
+static void ContestAICmd_if_user_doesnt_have_exciting_move(void);
static void ContestAICmd_unk_85(void);
static void ContestAICmd_unk_86(void);
-static void ContestAICmd_unk_87(void);
+static void ContestAICmd_if_effect_in_user_moveset(void);
typedef void (* ContestAICmdFunc)(void);
static const ContestAICmdFunc sContestAICmdTable[] =
{
- ContestAICmd_unk_00, // 0x00
- ContestAICmd_get_turn, // 0x01
- ContestAICmd_unk_02, // 0x02
- ContestAICmd_unk_03, // 0x03
- ContestAICmd_unk_04, // 0x04
- ContestAICmd_unk_05, // 0x05
- ContestAICmd_get_excitement, // 0x06
- ContestAICmd_unk_07, // 0x07
- ContestAICmd_unk_08, // 0x08
- ContestAICmd_unk_09, // 0x09
- ContestAICmd_unk_0A, // 0x0A
- ContestAICmd_get_user_order, // 0x0B
- ContestAICmd_unk_0C, // 0x0C
- ContestAICmd_unk_0D, // 0x0D
- ContestAICmd_unk_0E, // 0x0E
- ContestAICmd_unk_0F, // 0x0F
- ContestAICmd_get_user_condition_maybe, // 0x10
- ContestAICmd_unk_11, // 0x11
- ContestAICmd_unk_12, // 0x12
- ContestAICmd_unk_13, // 0x13
- ContestAICmd_unk_14, // 0x14
- ContestAICmd_unk_15, // 0x15
- ContestAICmd_unk_16, // 0x16
- ContestAICmd_unk_17, // 0x17
- ContestAICmd_unk_18, // 0x18
- ContestAICmd_unk_19, // 0x19
- ContestAICmd_unk_1A, // 0x1A
- ContestAICmd_unk_1B, // 0x1B
- ContestAICmd_unk_1C, // 0x1C
- ContestAICmd_unk_1D, // 0x1D
- ContestAICmd_unk_1E, // 0x1E
- ContestAICmd_get_contest_type, // 0x1F
- ContestAICmd_unk_20, // 0x20
- ContestAICmd_unk_21, // 0x21
- ContestAICmd_get_move_excitement, // 0x22
- ContestAICmd_unk_23, // 0x23
- ContestAICmd_unk_24, // 0x24
- ContestAICmd_unk_25, // 0x25
- ContestAICmd_unk_26, // 0x26
- ContestAICmd_get_move_effect, // 0x27
- ContestAICmd_unk_28, // 0x28
- ContestAICmd_unk_29, // 0x29
- ContestAICmd_get_move_effect_type, // 0x2A
- ContestAICmd_unk_2B, // 0x2B
- ContestAICmd_unk_2C, // 0x2C
- ContestAICmd_check_move_has_highest_appeal, // 0x2D
- ContestAICmd_unk_2E, // 0x2E
- ContestAICmd_unk_2F, // 0x2F
- ContestAICmd_unk_30, // 0x30
- ContestAICmd_unk_31, // 0x31
- ContestAICmd_unk_32, // 0x32
- ContestAICmd_unk_33, // 0x33
- ContestAICmd_unk_34, // 0x34
- ContestAICmd_unk_35, // 0x35
- ContestAICmd_unk_36, // 0x36
- ContestAICmd_unk_37, // 0x37
- ContestAICmd_unk_38, // 0x38
- ContestAICmd_unk_39, // 0x39
- ContestAICmd_unk_3A, // 0x3A
- ContestAICmd_get_move_used_count, // 0x3B
- ContestAICmd_unk_3C, // 0x3C
- ContestAICmd_unk_3D, // 0x3D
- ContestAICmd_unk_3E, // 0x3E
- ContestAICmd_unk_3F, // 0x3F
- ContestAICmd_check_combo_starter, // 0x40
- ContestAICmd_unk_41, // 0x41
- ContestAICmd_unk_42, // 0x42
- ContestAICmd_check_combo_finisher, // 0x43
- ContestAICmd_unk_44, // 0x44
- ContestAICmd_unk_45, // 0x45
- ContestAICmd_check_would_finish_combo, // 0x46
- ContestAICmd_unk_47, // 0x47
- ContestAICmd_unk_48, // 0x48
- ContestAICmd_get_condition, // 0x49
- ContestAICmd_unk_4A, // 0x4A
- ContestAICmd_unk_4B, // 0x4B
- ContestAICmd_unk_4C, // 0x4C
- ContestAICmd_unk_4D, // 0x4D
- ContestAICmd_get_used_combo_starter, // 0x4E
- ContestAICmd_unk_4F, // 0x4F
- ContestAICmd_unk_50, // 0x50
- ContestAICmd_unk_51, // 0x51
- ContestAICmd_unk_52, // 0x52
- ContestAICmd_check_can_participate, // 0x53
- ContestAICmd_unk_54, // 0x54
- ContestAICmd_unk_55, // 0x55
- ContestAICmd_get_val_812A188, // 0x56
- ContestAICmd_unk_57, // 0x57
- ContestAICmd_unk_58, // 0x58
- ContestAICmd_unk_59, // 0x59
- ContestAICmd_unk_5A, // 0x5A
- ContestAICmd_unk_5B, // 0x5B
- ContestAICmd_unk_5C, // 0x5C
- ContestAICmd_unk_5D, // 0x5D
- ContestAICmd_unk_5E, // 0x5E
- ContestAICmd_unk_5F, // 0x5F
- ContestAICmd_unk_60, // 0x60
- ContestAICmd_unk_61, // 0x61
- ContestAICmd_unk_62, // 0x62
- ContestAICmd_unk_63, // 0x63
- ContestAICmd_unk_64, // 0x64
- ContestAICmd_unk_65, // 0x65
- ContestAICmd_unk_66, // 0x66
- ContestAICmd_unk_67, // 0x67
- ContestAICmd_unk_68, // 0x68
- ContestAICmd_unk_69, // 0x69
- ContestAICmd_unk_6A, // 0x6A
- ContestAICmd_unk_6B, // 0x6B
- ContestAICmd_unk_6C, // 0x6C
- ContestAICmd_unk_6D, // 0x6D
- ContestAICmd_unk_6E, // 0x6E
- ContestAICmd_unk_6F, // 0x6F
- ContestAICmd_unk_70, // 0x70
- ContestAICmd_unk_71, // 0x71
- ContestAICmd_unk_72, // 0x72
- ContestAICmd_unk_73, // 0x73
- ContestAICmd_unk_74, // 0x74
- ContestAICmd_unk_75, // 0x75
- ContestAICmd_unk_76, // 0x76
- ContestAICmd_unk_77, // 0x77
- ContestAICmd_unk_78, // 0x78
- ContestAICmd_unk_79, // 0x79
- ContestAICmd_unk_7A, // 0x7A
- ContestAICmd_unk_7B, // 0x7B
- ContestAICmd_unk_7C, // 0x7C
- ContestAICmd_unk_7D, // 0x7D
- ContestAICmd_unk_7E, // 0x7E
- ContestAICmd_unk_7F, // 0x7F
- ContestAICmd_unk_80, // 0x80
- ContestAICmd_unk_81, // 0x81
- ContestAICmd_check_for_exciting_move, // 0x82
- ContestAICmd_unk_83, // 0x83
- ContestAICmd_unk_84, // 0x84
- ContestAICmd_unk_85, // 0x85
- ContestAICmd_unk_86, // 0x86
- ContestAICmd_unk_87, // 0x87
+ ContestAICmd_score, // 0x00
+ ContestAICmd_get_turn, // 0x01
+ ContestAICmd_if_turn_less_than, // 0x02
+ ContestAICmd_if_turn_more_than, // 0x03
+ ContestAICmd_if_turn_eq, // 0x04
+ ContestAICmd_if_turn_not_eq, // 0x05
+ ContestAICmd_get_excitement, // 0x06
+ ContestAICmd_if_excitement_less_than, // 0x07
+ ContestAICmd_if_excitement_more_than, // 0x08
+ ContestAICmd_if_excitement_eq, // 0x09
+ ContestAICmd_if_excitement_not_eq, // 0x0A
+ ContestAICmd_get_user_order, // 0x0B
+ ContestAICmd_if_user_order_less_than, // 0x0C
+ ContestAICmd_if_user_order_more_than, // 0x0D
+ ContestAICmd_if_user_order_eq, // 0x0E
+ ContestAICmd_if_user_order_not_eq, // 0x0F
+ ContestAICmd_get_user_condition, // 0x10
+ ContestAICmd_if_user_condition_less_than, // 0x11
+ ContestAICmd_if_user_condition_more_than, // 0x12
+ ContestAICmd_if_user_condition_eq, // 0x13
+ ContestAICmd_if_user_condition_not_eq, // 0x14
+ ContestAICmd_unk_15, // 0x15
+ ContestAICmd_unk_16, // 0x16
+ ContestAICmd_unk_17, // 0x17
+ ContestAICmd_unk_18, // 0x18
+ ContestAICmd_unk_19, // 0x19
+ ContestAICmd_unk_1A, // 0x1A
+ ContestAICmd_unk_1B, // 0x1B
+ ContestAICmd_unk_1C, // 0x1C
+ ContestAICmd_unk_1D, // 0x1D
+ ContestAICmd_unk_1E, // 0x1E
+ ContestAICmd_get_contest_type, // 0x1F
+ ContestAICmd_if_contest_type_eq, // 0x20
+ ContestAICmd_if_contest_type_not_eq, // 0x21
+ ContestAICmd_get_move_excitement, // 0x22
+ ContestAICmd_if_move_excitement_less_than, // 0x23
+ ContestAICmd_if_move_excitement_greater_than, // 0x24
+ ContestAICmd_if_move_excitement_eq, // 0x25
+ ContestAICmd_if_move_excitement_not_eq, // 0x26
+ ContestAICmd_get_move_effect, // 0x27
+ ContestAICmd_if_move_effect_eq, // 0x28
+ ContestAICmd_if_move_effect_not_eq, // 0x29
+ ContestAICmd_get_move_effect_type, // 0x2A
+ ContestAICmd_if_move_effect_type_eq, // 0x2B
+ ContestAICmd_if_move_effect_type_not_eq, // 0x2C
+ ContestAICmd_check_most_appealing_move, // 0x2D
+ ContestAICmd_if_most_appealing_move, // 0x2E
+ ContestAICmd_unk_2F, // 0x2F
+ ContestAICmd_unk_30, // 0x30
+ ContestAICmd_unk_31, // 0x31
+ ContestAICmd_unk_32, // 0x32
+ ContestAICmd_unk_33, // 0x33
+ ContestAICmd_unk_34, // 0x34
+ ContestAICmd_unk_35, // 0x35
+ ContestAICmd_unk_36, // 0x36
+ ContestAICmd_unk_37, // 0x37
+ ContestAICmd_unk_38, // 0x38
+ ContestAICmd_unk_39, // 0x39
+ ContestAICmd_unk_3A, // 0x3A
+ ContestAICmd_get_move_used_count, // 0x3B
+ ContestAICmd_if_most_used_count_less_than, // 0x3C
+ ContestAICmd_if_most_used_count_more_than, // 0x3D
+ ContestAICmd_if_most_used_count_eq, // 0x3E
+ ContestAICmd_if_most_used_count_not_eq, // 0x3F
+ ContestAICmd_check_combo_starter, // 0x40
+ ContestAICmd_if_combo_starter, // 0x41
+ ContestAICmd_if_not_combo_starter, // 0x42
+ ContestAICmd_check_combo_finisher, // 0x43
+ ContestAICmd_if_combo_finisher, // 0x44
+ ContestAICmd_if_not_combo_finisher, // 0x45
+ ContestAICmd_check_would_finish_combo, // 0x46
+ ContestAICmd_if_would_finish_combo, // 0x47
+ ContestAICmd_if_would_not_finish_combo, // 0x48
+ ContestAICmd_get_condition, // 0x49
+ ContestAICmd_if_condition_less_than, // 0x4A
+ ContestAICmd_if_condition_more_than, // 0x4B
+ ContestAICmd_if_condition_eq, // 0x4C
+ ContestAICmd_if_condition_not_eq, // 0x4D
+ ContestAICmd_get_used_combo_starter, // 0x4E
+ ContestAICmd_if_used_combo_starter_less_than, // 0x4F
+ ContestAICmd_if_used_combo_starter_more_than, // 0x50
+ ContestAICmd_if_used_combo_starter_eq, // 0x51
+ ContestAICmd_if_used_combo_starter_not_eq, // 0x52
+ ContestAICmd_check_can_participate, // 0x53
+ ContestAICmd_if_can_participate, // 0x54
+ ContestAICmd_if_cannot_participate, // 0x55
+ ContestAICmd_get_val_812A188, // 0x56
+ ContestAICmd_unk_57, // 0x57
+ ContestAICmd_contest_58, // 0x58
+ ContestAICmd_unk_59, // 0x59
+ ContestAICmd_unk_5A, // 0x5A
+ ContestAICmd_unk_5B, // 0x5B
+ ContestAICmd_unk_5C, // 0x5C
+ ContestAICmd_unk_5D, // 0x5D
+ ContestAICmd_unk_5E, // 0x5E
+ ContestAICmd_unk_5F, // 0x5F
+ ContestAICmd_unk_60, // 0x60
+ ContestAICmd_unk_61, // 0x61
+ ContestAICmd_unk_62, // 0x62
+ ContestAICmd_unk_63, // 0x63
+ ContestAICmd_unk_64, // 0x64
+ ContestAICmd_unk_65, // 0x65
+ ContestAICmd_unk_66, // 0x66
+ ContestAICmd_unk_67, // 0x67
+ ContestAICmd_unk_68, // 0x68
+ ContestAICmd_unk_69, // 0x69
+ ContestAICmd_unk_6A, // 0x6A
+ ContestAICmd_unk_6B, // 0x6B
+ ContestAICmd_unk_6C, // 0x6C
+ ContestAICmd_unk_6D, // 0x6D
+ ContestAICmd_unk_6E, // 0x6E
+ ContestAICmd_unk_6F, // 0x6F
+ ContestAICmd_unk_70, // 0x70
+ ContestAICmd_unk_71, // 0x71
+ ContestAICmd_unk_72, // 0x72
+ ContestAICmd_unk_73, // 0x73
+ ContestAICmd_unk_74, // 0x74
+ ContestAICmd_unk_75, // 0x75
+ ContestAICmd_unk_76, // 0x76
+ ContestAICmd_unk_77, // 0x77
+ ContestAICmd_unk_78, // 0x78
+ ContestAICmd_unk_79, // 0x79
+ ContestAICmd_unk_7A, // 0x7A
+ ContestAICmd_unk_7B, // 0x7B
+ ContestAICmd_unk_7C, // 0x7C
+ ContestAICmd_if_random, // 0x7D
+ ContestAICmd_unk_7E, // 0x7E
+ ContestAICmd_jump, // 0x7F
+ ContestAICmd_call, // 0x80
+ ContestAICmd_end, // 0x81
+ ContestAICmd_check_user_has_exciting_move, // 0x82
+ ContestAICmd_if_user_has_exciting_move, // 0x83
+ ContestAICmd_if_user_doesnt_have_exciting_move, // 0x84
+ ContestAICmd_unk_85, // 0x85
+ ContestAICmd_unk_86, // 0x86
+ ContestAICmd_if_effect_in_user_moveset, // 0x87
};
static void ContestAI_DoAIProcessing(void);
@@ -295,38 +295,38 @@ static u8 AIStackPop(void);
void ContestAI_ResetAI(u8 contestantAI)
{
int i;
- memset(eContestAI, 0, sizeof(struct ContestAIInfo));
+ memset(&eContestAI, 0, sizeof(struct ContestAIInfo));
for (i = 0; i < 4; i++)
- eContestAI->unk5[i] = 100;
+ eContestAI.unk5[i] = 100;
- eContestAI->contestantId = contestantAI;
- eContestAI->stackSize = 0;
- eContestAI->flags = gContestMons[eContestAI->contestantId].flags;
+ eContestAI.contestantId = contestantAI;
+ eContestAI.stackSize = 0;
+ eContestAI.aiChecks = gContestMons[eContestAI.contestantId].aiChecks;
}
u8 ContestAI_GetActionToUse(void)
{
- while (eContestAI->flags != 0)
+ while (eContestAI.aiChecks != 0)
{
- if (eContestAI->flags & 1)
+ if (eContestAI.aiChecks & 1)
{
- eContestAI->aiState = 0;
+ eContestAI.aiState = CONTESTAI_SETTING_UP;
ContestAI_DoAIProcessing();
}
- eContestAI->flags >>= 1;
- eContestAI->unk10++;
- eContestAI->unk4 = 0;
+ eContestAI.aiChecks >>= 1;
+ eContestAI.currentAICheck++;
+ eContestAI.nextMoveIndex = 0;
}
while (1)
{
u8 rval = Random() & 3;
- u8 r2 = eContestAI->unk5[rval];
+ u8 r2 = eContestAI.unk5[rval];
int i;
for (i = 0; i < 4; i++)
{
- if (r2 < eContestAI->unk5[i])
+ if (r2 < eContestAI.unk5[i])
break;
}
if (i == 4)
@@ -336,37 +336,40 @@ u8 ContestAI_GetActionToUse(void)
static void ContestAI_DoAIProcessing(void)
{
- while (eContestAI->aiState != CONTESTAI_FINISHED)
+ while (eContestAI.aiState != CONTESTAI_FINISHED)
{
- switch(eContestAI->aiState)
+ switch(eContestAI.aiState)
{
case CONTESTAI_DO_NOT_PROCESS:
break;
case CONTESTAI_SETTING_UP:
- gAIScriptPtr = gContestAIs[eContestAI->unk10];
+ gAIScriptPtr = gContestAIChecks[eContestAI.currentAICheck];
- if (gContestMons[eContestAI->contestantId].moves[eContestAI->unk4] == 0)
- eContestAI->unk2 = 0; // don't process a move that doesn't exist.
+ if (gContestMons[eContestAI.contestantId].moves[eContestAI.nextMoveIndex] == 0)
+ eContestAI.nextMove = 0; // don't process a move that doesn't exist.
else
- eContestAI->unk2 = gContestMons[eContestAI->contestantId].moves[eContestAI->unk4];
- eContestAI->aiState++;
+ eContestAI.nextMove = gContestMons[eContestAI.contestantId].moves[eContestAI.nextMoveIndex];
+ eContestAI.aiState++;
break;
case CONTESTAI_PROCESSING:
- if (eContestAI->unk2 != 0)
+ if (eContestAI.nextMove != 0)
+ {
sContestAICmdTable[*gAIScriptPtr](); // run the command.
+ }
else
{
- eContestAI->unk5[eContestAI->unk4] = 0; // don't consider a move that doesn't exist.
- eContestAI->aiAction |= 1;
+ eContestAI.unk5[eContestAI.nextMoveIndex] = 0; // don't consider a move that doesn't exist.
+ eContestAI.aiAction |= 1;
}
- if (eContestAI->aiAction & 1)
+ if (eContestAI.aiAction & 1)
{
- eContestAI->unk4++;
- if (eContestAI->unk4 < 4)
- eContestAI->aiState = 0;
+ eContestAI.nextMoveIndex++;
+ if (eContestAI.nextMoveIndex < 4)
+ eContestAI.aiState = 0;
else
- eContestAI->aiState++;
- eContestAI->aiAction &= 0xFE; // TODO: Define action flags
+ // aiState = CONTESTAI_FINISHED
+ eContestAI.aiState++;
+ eContestAI.aiAction &= 0xFE; // TODO: Define action flags
}
break;
}
@@ -378,67 +381,67 @@ static u8 sub_81563B0(u8 var)
int i;
for (i = 0; i < 4; i++)
- if (shared192D0.turnOrder[i] == var)
+ if (eContestResources8.turnOrder[i] == var)
break;
return i;
}
-static void ContestAICmd_unk_00(void)
+static void ContestAICmd_score(void)
{
- s16 score = eContestAI->unk5[eContestAI->unk4] + (s8)gAIScriptPtr[1];
+ s16 score = eContestAI.unk5[eContestAI.nextMoveIndex] + (s8)gAIScriptPtr[1];
if (score > 255)
score = 255;
else if (score < 0)
score = 0;
- eContestAI->unk5[eContestAI->unk4] = score;
+ eContestAI.unk5[eContestAI.nextMoveIndex] = score;
gAIScriptPtr += 2;
}
static void ContestAICmd_get_turn(void)
{
- eContestAI->scriptResult = sContest.turnNumber;
+ eContestAI.scriptResult = eContest.turnNumber;
gAIScriptPtr += 1;
}
-static void ContestAICmd_unk_02(void)
+static void ContestAICmd_if_turn_less_than(void)
{
ContestAICmd_get_turn();
- if (eContestAI->scriptResult < gAIScriptPtr[0])
+ if (eContestAI.scriptResult < gAIScriptPtr[0])
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
else
gAIScriptPtr += 5;
}
-static void ContestAICmd_unk_03(void)
+static void ContestAICmd_if_turn_more_than(void)
{
ContestAICmd_get_turn();
- if (eContestAI->scriptResult > gAIScriptPtr[0])
+ if (eContestAI.scriptResult > gAIScriptPtr[0])
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
else
gAIScriptPtr += 5;
}
-static void ContestAICmd_unk_04(void)
+static void ContestAICmd_if_turn_eq(void)
{
ContestAICmd_get_turn();
- if (eContestAI->scriptResult == gAIScriptPtr[0])
+ if (eContestAI.scriptResult == gAIScriptPtr[0])
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
else
gAIScriptPtr += 5;
}
-static void ContestAICmd_unk_05(void)
+static void ContestAICmd_if_turn_not_eq(void)
{
ContestAICmd_get_turn();
- if (eContestAI->scriptResult != gAIScriptPtr[0])
+ if (eContestAI.scriptResult != gAIScriptPtr[0])
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
else
gAIScriptPtr += 5;
@@ -446,45 +449,45 @@ static void ContestAICmd_unk_05(void)
static void ContestAICmd_get_excitement(void)
{
- eContestAI->scriptResult = sContest.applauseLevel;
+ eContestAI.scriptResult = eContest.applauseLevel;
gAIScriptPtr += 1;
}
-static void ContestAICmd_unk_07(void)
+static void ContestAICmd_if_excitement_less_than(void)
{
ContestAICmd_get_excitement();
- if (eContestAI->scriptResult < gAIScriptPtr[0])
+ if (eContestAI.scriptResult < gAIScriptPtr[0])
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
else
gAIScriptPtr += 5;
}
-static void ContestAICmd_unk_08(void)
+static void ContestAICmd_if_excitement_more_than(void)
{
ContestAICmd_get_excitement();
- if (eContestAI->scriptResult > gAIScriptPtr[0])
+ if (eContestAI.scriptResult > gAIScriptPtr[0])
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
else
gAIScriptPtr += 5;
}
-static void ContestAICmd_unk_09(void)
+static void ContestAICmd_if_excitement_eq(void)
{
ContestAICmd_get_excitement();
- if (eContestAI->scriptResult == gAIScriptPtr[0])
+ if (eContestAI.scriptResult == gAIScriptPtr[0])
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
else
gAIScriptPtr += 5;
}
-static void ContestAICmd_unk_0A(void)
+static void ContestAICmd_if_excitement_not_eq(void)
{
ContestAICmd_get_excitement();
- if (eContestAI->scriptResult != gAIScriptPtr[0])
+ if (eContestAI.scriptResult != gAIScriptPtr[0])
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
else
gAIScriptPtr += 5;
@@ -492,91 +495,91 @@ static void ContestAICmd_unk_0A(void)
static void ContestAICmd_get_user_order(void)
{
- eContestAI->scriptResult = shared192D0.turnOrder[eContestAI->contestantId];
+ eContestAI.scriptResult = eContestResources8.turnOrder[eContestAI.contestantId];
gAIScriptPtr += 1;
}
-static void ContestAICmd_unk_0C(void)
+static void ContestAICmd_if_user_order_less_than(void)
{
ContestAICmd_get_user_order();
- if (eContestAI->scriptResult < gAIScriptPtr[0])
+ if (eContestAI.scriptResult < gAIScriptPtr[0])
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
else
gAIScriptPtr += 5;
}
-static void ContestAICmd_unk_0D(void)
+static void ContestAICmd_if_user_order_more_than(void)
{
ContestAICmd_get_user_order();
- if (eContestAI->scriptResult > gAIScriptPtr[0])
+ if (eContestAI.scriptResult > gAIScriptPtr[0])
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
else
gAIScriptPtr += 5;
}
-static void ContestAICmd_unk_0E(void)
+static void ContestAICmd_if_user_order_eq(void)
{
ContestAICmd_get_user_order();
- if (eContestAI->scriptResult == gAIScriptPtr[0])
+ if (eContestAI.scriptResult == gAIScriptPtr[0])
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
else
gAIScriptPtr += 5;
}
-static void ContestAICmd_unk_0F(void)
+static void ContestAICmd_if_user_order_not_eq(void)
{
ContestAICmd_get_user_order();
- if (eContestAI->scriptResult != gAIScriptPtr[0])
+ if (eContestAI.scriptResult != gAIScriptPtr[0])
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
else
gAIScriptPtr += 5;
}
-static void ContestAICmd_get_user_condition_maybe(void)
+static void ContestAICmd_get_user_condition(void)
{
- eContestAI->scriptResult = sContestantStatus[eContestAI->contestantId].condition / 10;
+ eContestAI.scriptResult = eContestantStatus[eContestAI.contestantId].condition / 10;
gAIScriptPtr += 1;
}
-static void ContestAICmd_unk_11(void)
+static void ContestAICmd_if_user_condition_less_than(void)
{
- ContestAICmd_get_user_condition_maybe();
+ ContestAICmd_get_user_condition();
- if (eContestAI->scriptResult < gAIScriptPtr[0])
+ if (eContestAI.scriptResult < gAIScriptPtr[0])
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
else
gAIScriptPtr += 5;
}
-static void ContestAICmd_unk_12(void)
+static void ContestAICmd_if_user_condition_more_than(void)
{
- ContestAICmd_get_user_condition_maybe();
+ ContestAICmd_get_user_condition();
- if (eContestAI->scriptResult > gAIScriptPtr[0])
+ if (eContestAI.scriptResult > gAIScriptPtr[0])
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
else
gAIScriptPtr += 5;
}
-static void ContestAICmd_unk_13(void)
+static void ContestAICmd_if_user_condition_eq(void)
{
- ContestAICmd_get_user_condition_maybe();
+ ContestAICmd_get_user_condition();
- if (eContestAI->scriptResult == gAIScriptPtr[0])
+ if (eContestAI.scriptResult == gAIScriptPtr[0])
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
else
gAIScriptPtr += 5;
}
-static void ContestAICmd_unk_14(void)
+static void ContestAICmd_if_user_condition_not_eq(void)
{
- ContestAICmd_get_user_condition_maybe();
+ ContestAICmd_get_user_condition();
- if (eContestAI->scriptResult != gAIScriptPtr[0])
+ if (eContestAI.scriptResult != gAIScriptPtr[0])
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
else
gAIScriptPtr += 5;
@@ -584,7 +587,7 @@ static void ContestAICmd_unk_14(void)
static void ContestAICmd_unk_15(void)
{
- eContestAI->scriptResult = sContestantStatus[eContestAI->contestantId].unk4;
+ eContestAI.scriptResult = eContestantStatus[eContestAI.contestantId].pointTotal;
gAIScriptPtr += 1;
}
@@ -592,7 +595,7 @@ static void ContestAICmd_unk_16(void)
{
ContestAICmd_unk_15();
- if (eContestAI->scriptResult < (s16)T1_READ_16(gAIScriptPtr + 0))
+ if (eContestAI.scriptResult < (s16)T1_READ_16(gAIScriptPtr + 0))
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2);
else
gAIScriptPtr += 6;
@@ -602,7 +605,7 @@ static void ContestAICmd_unk_17(void)
{
ContestAICmd_unk_15();
- if (eContestAI->scriptResult > (s16)T1_READ_16(gAIScriptPtr + 0))
+ if (eContestAI.scriptResult > (s16)T1_READ_16(gAIScriptPtr + 0))
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2);
else
gAIScriptPtr += 6;
@@ -612,7 +615,7 @@ static void ContestAICmd_unk_18(void)
{
ContestAICmd_unk_15();
- if (eContestAI->scriptResult == (s16)T1_READ_16(gAIScriptPtr + 0))
+ if (eContestAI.scriptResult == (s16)T1_READ_16(gAIScriptPtr + 0))
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2);
else
gAIScriptPtr += 6;
@@ -622,7 +625,7 @@ static void ContestAICmd_unk_19(void)
{
ContestAICmd_unk_15();
- if (eContestAI->scriptResult != (s16)T1_READ_16(gAIScriptPtr + 0))
+ if (eContestAI.scriptResult != (s16)T1_READ_16(gAIScriptPtr + 0))
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2);
else
gAIScriptPtr += 6;
@@ -630,7 +633,7 @@ static void ContestAICmd_unk_19(void)
static void ContestAICmd_unk_1A(void)
{
- eContestAI->scriptResult = gContestMonConditions[eContestAI->contestantId];
+ eContestAI.scriptResult = gContestMonConditions[eContestAI.contestantId];
gAIScriptPtr += 1;
}
@@ -638,7 +641,7 @@ static void ContestAICmd_unk_1B(void)
{
ContestAICmd_unk_1A();
- if (eContestAI->scriptResult < (s16)T1_READ_16(gAIScriptPtr + 0))
+ if (eContestAI.scriptResult < (s16)T1_READ_16(gAIScriptPtr + 0))
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2);
else
gAIScriptPtr += 6;
@@ -648,7 +651,7 @@ static void ContestAICmd_unk_1C(void)
{
ContestAICmd_unk_1A();
- if (eContestAI->scriptResult > (s16)T1_READ_16(gAIScriptPtr + 0))
+ if (eContestAI.scriptResult > (s16)T1_READ_16(gAIScriptPtr + 0))
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2);
else
gAIScriptPtr += 6;
@@ -658,7 +661,7 @@ static void ContestAICmd_unk_1D(void)
{
ContestAICmd_unk_1A();
- if (eContestAI->scriptResult == (s16)T1_READ_16(gAIScriptPtr + 0))
+ if (eContestAI.scriptResult == (s16)T1_READ_16(gAIScriptPtr + 0))
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2);
else
gAIScriptPtr += 6;
@@ -668,7 +671,7 @@ static void ContestAICmd_unk_1E(void)
{
ContestAICmd_unk_1A();
- if (eContestAI->scriptResult != (s16)T1_READ_16(gAIScriptPtr + 0))
+ if (eContestAI.scriptResult != (s16)T1_READ_16(gAIScriptPtr + 0))
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2);
else
gAIScriptPtr += 6;
@@ -676,25 +679,25 @@ static void ContestAICmd_unk_1E(void)
static void ContestAICmd_get_contest_type(void)
{
- eContestAI->scriptResult = gSpecialVar_ContestCategory;
+ eContestAI.scriptResult = gSpecialVar_ContestCategory;
gAIScriptPtr += 1;
}
-static void ContestAICmd_unk_20(void)
+static void ContestAICmd_if_contest_type_eq(void)
{
ContestAICmd_get_contest_type();
- if (eContestAI->scriptResult == gAIScriptPtr[0])
+ if (eContestAI.scriptResult == gAIScriptPtr[0])
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
else
gAIScriptPtr += 5;
}
-static void ContestAICmd_unk_21(void)
+static void ContestAICmd_if_contest_type_not_eq(void)
{
ContestAICmd_get_contest_type();
- if (eContestAI->scriptResult != gAIScriptPtr[0])
+ if (eContestAI.scriptResult != gAIScriptPtr[0])
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
else
gAIScriptPtr += 5;
@@ -702,45 +705,45 @@ static void ContestAICmd_unk_21(void)
static void ContestAICmd_get_move_excitement(void)
{
- eContestAI->scriptResult = Contest_GetMoveExcitement(gContestMons[eContestAI->contestantId].moves[eContestAI->unk4]);
+ eContestAI.scriptResult = Contest_GetMoveExcitement(gContestMons[eContestAI.contestantId].moves[eContestAI.nextMoveIndex]);
gAIScriptPtr += 1;
}
-static void ContestAICmd_unk_23(void)
+static void ContestAICmd_if_move_excitement_less_than(void)
{
ContestAICmd_get_move_excitement();
- if (eContestAI->scriptResult < (s8)gAIScriptPtr[0])
+ if (eContestAI.scriptResult < (s8)gAIScriptPtr[0])
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
else
gAIScriptPtr += 5;
}
-static void ContestAICmd_unk_24(void)
+static void ContestAICmd_if_move_excitement_greater_than(void)
{
ContestAICmd_get_move_excitement();
- if (eContestAI->scriptResult > (s8)gAIScriptPtr[0])
+ if (eContestAI.scriptResult > (s8)gAIScriptPtr[0])
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
else
gAIScriptPtr += 5;
}
-static void ContestAICmd_unk_25(void)
+static void ContestAICmd_if_move_excitement_eq(void)
{
ContestAICmd_get_move_excitement();
- if (eContestAI->scriptResult == (s8)gAIScriptPtr[0])
+ if (eContestAI.scriptResult == (s8)gAIScriptPtr[0])
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
else
gAIScriptPtr += 5;
}
-static void ContestAICmd_unk_26(void)
+static void ContestAICmd_if_move_excitement_not_eq(void)
{
ContestAICmd_get_move_excitement();
- if (eContestAI->scriptResult != (s8)gAIScriptPtr[0])
+ if (eContestAI.scriptResult != (s8)gAIScriptPtr[0])
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
else
gAIScriptPtr += 5;
@@ -748,27 +751,27 @@ static void ContestAICmd_unk_26(void)
static void ContestAICmd_get_move_effect(void)
{
- u16 move = gContestMons[eContestAI->contestantId].moves[eContestAI->unk4];
+ u16 move = gContestMons[eContestAI.contestantId].moves[eContestAI.nextMoveIndex];
- eContestAI->scriptResult = gContestMoves[move].effect;
+ eContestAI.scriptResult = gContestMoves[move].effect;
gAIScriptPtr += 1;
}
-static void ContestAICmd_unk_28(void)
+static void ContestAICmd_if_move_effect_eq(void)
{
ContestAICmd_get_move_effect();
- if (eContestAI->scriptResult == gAIScriptPtr[0])
+ if (eContestAI.scriptResult == gAIScriptPtr[0])
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
else
gAIScriptPtr += 5;
}
-static void ContestAICmd_unk_29(void)
+static void ContestAICmd_if_move_effect_not_eq(void)
{
ContestAICmd_get_move_effect();
- if (eContestAI->scriptResult != gAIScriptPtr[0])
+ if (eContestAI.scriptResult != gAIScriptPtr[0])
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
else
gAIScriptPtr += 5;
@@ -776,58 +779,58 @@ static void ContestAICmd_unk_29(void)
static void ContestAICmd_get_move_effect_type(void)
{
- u16 move = gContestMons[eContestAI->contestantId].moves[eContestAI->unk4];
+ u16 move = gContestMons[eContestAI.contestantId].moves[eContestAI.nextMoveIndex];
- eContestAI->scriptResult = gContestEffects[gContestMoves[move].effect].effectType;
+ eContestAI.scriptResult = gContestEffects[gContestMoves[move].effect].effectType;
gAIScriptPtr += 1;
}
-static void ContestAICmd_unk_2B(void)
+static void ContestAICmd_if_move_effect_type_eq(void)
{
ContestAICmd_get_move_effect_type();
- if (eContestAI->scriptResult == gAIScriptPtr[0])
+ if (eContestAI.scriptResult == gAIScriptPtr[0])
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
else
gAIScriptPtr += 5;
}
-static void ContestAICmd_unk_2C(void)
+static void ContestAICmd_if_move_effect_type_not_eq(void)
{
ContestAICmd_get_move_effect_type();
- if (eContestAI->scriptResult != gAIScriptPtr[0])
+ if (eContestAI.scriptResult != gAIScriptPtr[0])
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
else
gAIScriptPtr += 5;
}
-static void ContestAICmd_check_move_has_highest_appeal(void)
+static void ContestAICmd_check_most_appealing_move(void)
{
int i;
- u16 move = gContestMons[eContestAI->contestantId].moves[eContestAI->unk4];
+ u16 move = gContestMons[eContestAI.contestantId].moves[eContestAI.nextMoveIndex];
u8 appeal = gContestEffects[gContestMoves[move].effect].appeal;
for (i = 0; i < MAX_MON_MOVES; i++)
{
- u16 newMove = gContestMons[eContestAI->contestantId].moves[i];
+ u16 newMove = gContestMons[eContestAI.contestantId].moves[i];
if (newMove != 0 && appeal < gContestEffects[gContestMoves[newMove].effect].appeal)
break;
}
if (i == MAX_MON_MOVES)
- eContestAI->scriptResult = TRUE;
+ eContestAI.scriptResult = TRUE;
else
- eContestAI->scriptResult = FALSE;
+ eContestAI.scriptResult = FALSE;
gAIScriptPtr += 1;
}
-static void ContestAICmd_unk_2E(void)
+static void ContestAICmd_if_most_appealing_move(void)
{
- ContestAICmd_check_move_has_highest_appeal();
+ ContestAICmd_check_most_appealing_move();
- if (eContestAI->scriptResult != FALSE)
+ if (eContestAI.scriptResult != FALSE)
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0);
else
gAIScriptPtr += 4;
@@ -836,20 +839,20 @@ static void ContestAICmd_unk_2E(void)
static void ContestAICmd_unk_2F(void)
{
int i;
- u16 move = gContestMons[eContestAI->contestantId].moves[eContestAI->unk4];
+ u16 move = gContestMons[eContestAI.contestantId].moves[eContestAI.nextMoveIndex];
u8 jam = gContestEffects[gContestMoves[move].effect].jam;
for (i = 0; i < MAX_MON_MOVES; i++)
{
- u16 newMove = gContestMons[eContestAI->contestantId].moves[i];
+ u16 newMove = gContestMons[eContestAI.contestantId].moves[i];
if (newMove != 0 && jam < gContestEffects[gContestMoves[newMove].effect].jam)
break;
}
if (i == MAX_MON_MOVES)
- eContestAI->scriptResult = TRUE;
+ eContestAI.scriptResult = TRUE;
else
- eContestAI->scriptResult = FALSE;
+ eContestAI.scriptResult = FALSE;
gAIScriptPtr += 1;
}
@@ -858,7 +861,7 @@ static void ContestAICmd_unk_30(void)
{
ContestAICmd_unk_2F();
- if (eContestAI->scriptResult != FALSE)
+ if (eContestAI.scriptResult != FALSE)
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
else
gAIScriptPtr += 5;
@@ -866,9 +869,9 @@ static void ContestAICmd_unk_30(void)
static void ContestAICmd_unk_31(void)
{
- u16 move = gContestMons[eContestAI->contestantId].moves[eContestAI->unk4];
+ u16 move = gContestMons[eContestAI.contestantId].moves[eContestAI.nextMoveIndex];
- eContestAI->scriptResult = gContestEffects[gContestMoves[move].effect].appeal / 10;
+ eContestAI.scriptResult = gContestEffects[gContestMoves[move].effect].appeal / 10;
gAIScriptPtr += 1;
}
@@ -876,7 +879,7 @@ static void ContestAICmd_unk_32(void)
{
ContestAICmd_unk_31();
- if (eContestAI->scriptResult < gAIScriptPtr[0])
+ if (eContestAI.scriptResult < gAIScriptPtr[0])
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
else
gAIScriptPtr += 5;
@@ -886,7 +889,7 @@ static void ContestAICmd_unk_33(void)
{
ContestAICmd_unk_31();
- if (eContestAI->scriptResult > gAIScriptPtr[0])
+ if (eContestAI.scriptResult > gAIScriptPtr[0])
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
else
gAIScriptPtr += 5;
@@ -896,7 +899,7 @@ static void ContestAICmd_unk_34(void)
{
ContestAICmd_unk_31();
- if (eContestAI->scriptResult == gAIScriptPtr[0])
+ if (eContestAI.scriptResult == gAIScriptPtr[0])
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
else
gAIScriptPtr += 5;
@@ -906,7 +909,7 @@ static void ContestAICmd_unk_35(void)
{
ContestAICmd_unk_31();
- if (eContestAI->scriptResult != gAIScriptPtr[0])
+ if (eContestAI.scriptResult != gAIScriptPtr[0])
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
else
gAIScriptPtr += 5;
@@ -914,9 +917,9 @@ static void ContestAICmd_unk_35(void)
static void ContestAICmd_unk_36(void)
{
- u16 move = gContestMons[eContestAI->contestantId].moves[eContestAI->unk4];
+ u16 move = gContestMons[eContestAI.contestantId].moves[eContestAI.nextMoveIndex];
- eContestAI->scriptResult = gContestEffects[gContestMoves[move].effect].jam / 10;
+ eContestAI.scriptResult = gContestEffects[gContestMoves[move].effect].jam / 10;
gAIScriptPtr += 1;
}
@@ -924,7 +927,7 @@ static void ContestAICmd_unk_37(void)
{
ContestAICmd_unk_36();
- if (eContestAI->scriptResult < gAIScriptPtr[0])
+ if (eContestAI.scriptResult < gAIScriptPtr[0])
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
else
gAIScriptPtr += 5;
@@ -934,7 +937,7 @@ static void ContestAICmd_unk_38(void)
{
ContestAICmd_unk_36();
- if (eContestAI->scriptResult > gAIScriptPtr[0])
+ if (eContestAI.scriptResult > gAIScriptPtr[0])
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
else
gAIScriptPtr += 5;
@@ -944,7 +947,7 @@ static void ContestAICmd_unk_39(void)
{
ContestAICmd_unk_36();
- if (eContestAI->scriptResult == gAIScriptPtr[0])
+ if (eContestAI.scriptResult == gAIScriptPtr[0])
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
else
gAIScriptPtr += 5;
@@ -954,7 +957,7 @@ static void ContestAICmd_unk_3A(void)
{
ContestAICmd_unk_36();
- if (eContestAI->scriptResult != gAIScriptPtr[0])
+ if (eContestAI.scriptResult != gAIScriptPtr[0])
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
else
gAIScriptPtr += 5;
@@ -963,52 +966,52 @@ static void ContestAICmd_unk_3A(void)
static void ContestAICmd_get_move_used_count(void)
{
s16 result;
- u16 move = gContestMons[eContestAI->contestantId].moves[eContestAI->unk4];
+ u16 move = gContestMons[eContestAI.contestantId].moves[eContestAI.nextMoveIndex];
- if (move != sContestantStatus[eContestAI->contestantId].prevMove)
+ if (move != eContestantStatus[eContestAI.contestantId].prevMove)
result = 0; // move is unique and not reused.
else
- result = sContestantStatus[eContestAI->contestantId].moveRepeatCount + 1;
+ result = eContestantStatus[eContestAI.contestantId].moveRepeatCount + 1;
- eContestAI->scriptResult = result;
+ eContestAI.scriptResult = result;
gAIScriptPtr += 1;
}
-static void ContestAICmd_unk_3C(void)
+static void ContestAICmd_if_most_used_count_less_than(void)
{
ContestAICmd_get_move_used_count();
- if (eContestAI->scriptResult < gAIScriptPtr[0])
+ if (eContestAI.scriptResult < gAIScriptPtr[0])
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
else
gAIScriptPtr += 5;
}
-static void ContestAICmd_unk_3D(void)
+static void ContestAICmd_if_most_used_count_more_than(void)
{
ContestAICmd_get_move_used_count();
- if (eContestAI->scriptResult > gAIScriptPtr[0])
+ if (eContestAI.scriptResult > gAIScriptPtr[0])
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
else
gAIScriptPtr += 5;
}
-static void ContestAICmd_unk_3E(void)
+static void ContestAICmd_if_most_used_count_eq(void)
{
ContestAICmd_get_move_used_count();
- if (eContestAI->scriptResult == gAIScriptPtr[0])
+ if (eContestAI.scriptResult == gAIScriptPtr[0])
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
else
gAIScriptPtr += 5;
}
-static void ContestAICmd_unk_3F(void)
+static void ContestAICmd_if_most_used_count_not_eq(void)
{
ContestAICmd_get_move_used_count();
- if (eContestAI->scriptResult != gAIScriptPtr[0])
+ if (eContestAI.scriptResult != gAIScriptPtr[0])
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
else
gAIScriptPtr += 5;
@@ -1018,13 +1021,13 @@ static void ContestAICmd_check_combo_starter(void)
{
u8 result = 0;
int i;
- u16 move = gContestMons[eContestAI->contestantId].moves[eContestAI->unk4];
+ u16 move = gContestMons[eContestAI.contestantId].moves[eContestAI.nextMoveIndex];
for (i = 0; i < MAX_MON_MOVES; i++)
{
- if (gContestMons[eContestAI->contestantId].moves[i])
+ if (gContestMons[eContestAI.contestantId].moves[i])
{
- result = AreMovesContestCombo(move, gContestMons[eContestAI->contestantId].moves[i]);
+ result = AreMovesContestCombo(move, gContestMons[eContestAI.contestantId].moves[i]);
if (result)
{
result = 1;
@@ -1036,25 +1039,25 @@ static void ContestAICmd_check_combo_starter(void)
if (result)
result = 1;
- eContestAI->scriptResult = result;
+ eContestAI.scriptResult = result;
gAIScriptPtr += 1;
}
-static void ContestAICmd_unk_41(void)
+static void ContestAICmd_if_combo_starter(void)
{
ContestAICmd_check_combo_starter();
- if (eContestAI->scriptResult != 0)
+ if (eContestAI.scriptResult != 0)
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0);
else
gAIScriptPtr += 4;
}
-static void ContestAICmd_unk_42(void)
+static void ContestAICmd_if_not_combo_starter(void)
{
ContestAICmd_check_combo_starter();
- if (eContestAI->scriptResult == 0)
+ if (eContestAI.scriptResult == 0)
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0);
else
gAIScriptPtr += 4;
@@ -1064,13 +1067,13 @@ static void ContestAICmd_check_combo_finisher(void)
{
u8 result = 0;
int i;
- u16 move = gContestMons[eContestAI->contestantId].moves[eContestAI->unk4];
+ u16 move = gContestMons[eContestAI.contestantId].moves[eContestAI.nextMoveIndex];
for (i = 0; i < MAX_MON_MOVES; i++)
{
- if (gContestMons[eContestAI->contestantId].moves[i])
+ if (gContestMons[eContestAI.contestantId].moves[i])
{
- result = AreMovesContestCombo(gContestMons[eContestAI->contestantId].moves[i], move);
+ result = AreMovesContestCombo(gContestMons[eContestAI.contestantId].moves[i], move);
if (result)
{
result = 1;
@@ -1082,25 +1085,25 @@ static void ContestAICmd_check_combo_finisher(void)
if (result)
result = 1;
- eContestAI->scriptResult = result;
+ eContestAI.scriptResult = result;
gAIScriptPtr += 1;
}
-static void ContestAICmd_unk_44(void)
+static void ContestAICmd_if_combo_finisher(void)
{
ContestAICmd_check_combo_finisher();
- if (eContestAI->scriptResult != 0)
+ if (eContestAI.scriptResult != 0)
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0);
else
gAIScriptPtr += 4;
}
-static void ContestAICmd_unk_45(void)
+static void ContestAICmd_if_not_combo_finisher(void)
{
ContestAICmd_check_combo_finisher();
- if (eContestAI->scriptResult == 0)
+ if (eContestAI.scriptResult == 0)
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0);
else
gAIScriptPtr += 4;
@@ -1109,33 +1112,33 @@ static void ContestAICmd_unk_45(void)
static void ContestAICmd_check_would_finish_combo(void)
{
u8 result = 0;
- u16 move = gContestMons[eContestAI->contestantId].moves[eContestAI->unk4];
+ u16 move = gContestMons[eContestAI.contestantId].moves[eContestAI.nextMoveIndex];
- if (sContestantStatus[eContestAI->contestantId].prevMove)
- result = AreMovesContestCombo(sContestantStatus[eContestAI->contestantId].prevMove, move);
+ if (eContestantStatus[eContestAI.contestantId].prevMove)
+ result = AreMovesContestCombo(eContestantStatus[eContestAI.contestantId].prevMove, move);
if (result)
result = 1;
- eContestAI->scriptResult = result;
+ eContestAI.scriptResult = result;
gAIScriptPtr += 1;
}
-static void ContestAICmd_unk_47(void)
+static void ContestAICmd_if_would_finish_combo(void)
{
ContestAICmd_check_would_finish_combo();
- if (eContestAI->scriptResult != 0)
+ if (eContestAI.scriptResult != 0)
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0);
else
gAIScriptPtr += 4;
}
-static void ContestAICmd_unk_48(void)
+static void ContestAICmd_if_would_not_finish_combo(void)
{
ContestAICmd_check_would_finish_combo();
- if (eContestAI->scriptResult == 0)
+ if (eContestAI.scriptResult == 0)
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0);
else
gAIScriptPtr += 4;
@@ -1145,45 +1148,45 @@ static void ContestAICmd_get_condition(void)
{
int var = sub_81563B0(gAIScriptPtr[1]);
- eContestAI->scriptResult = sContestantStatus[var].condition / 10;
+ eContestAI.scriptResult = eContestantStatus[var].condition / 10;
gAIScriptPtr += 2;
}
-static void ContestAICmd_unk_4A(void)
+static void ContestAICmd_if_condition_less_than(void)
{
ContestAICmd_get_condition();
- if (eContestAI->scriptResult < gAIScriptPtr[0])
+ if (eContestAI.scriptResult < gAIScriptPtr[0])
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
else
gAIScriptPtr += 5;
}
-static void ContestAICmd_unk_4B(void)
+static void ContestAICmd_if_condition_more_than(void)
{
ContestAICmd_get_condition();
- if (eContestAI->scriptResult > gAIScriptPtr[0])
+ if (eContestAI.scriptResult > gAIScriptPtr[0])
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
else
gAIScriptPtr += 5;
}
-static void ContestAICmd_unk_4C(void)
+static void ContestAICmd_if_condition_eq(void)
{
ContestAICmd_get_condition();
- if (eContestAI->scriptResult == gAIScriptPtr[0])
+ if (eContestAI.scriptResult == gAIScriptPtr[0])
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
else
gAIScriptPtr += 5;
}
-static void ContestAICmd_unk_4D(void)
+static void ContestAICmd_if_condition_not_eq(void)
{
ContestAICmd_get_condition();
- if (eContestAI->scriptResult != gAIScriptPtr[0])
+ if (eContestAI.scriptResult != gAIScriptPtr[0])
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
else
gAIScriptPtr += 5;
@@ -1195,47 +1198,47 @@ static void ContestAICmd_get_used_combo_starter(void)
u8 var = sub_81563B0(gAIScriptPtr[1]);
if (sub_80DE1E8(var))
- result = gContestMoves[sContestantStatus[var].prevMove].comboStarterId ? 1 : 0;
+ result = gContestMoves[eContestantStatus[var].prevMove].comboStarterId ? 1 : 0;
- eContestAI->scriptResult = result;
+ eContestAI.scriptResult = result;
gAIScriptPtr += 2;
}
-static void ContestAICmd_unk_4F(void)
+static void ContestAICmd_if_used_combo_starter_less_than(void)
{
ContestAICmd_get_used_combo_starter();
- if (eContestAI->scriptResult < gAIScriptPtr[0])
+ if (eContestAI.scriptResult < gAIScriptPtr[0])
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
else
gAIScriptPtr += 5;
}
-static void ContestAICmd_unk_50(void)
+static void ContestAICmd_if_used_combo_starter_more_than(void)
{
ContestAICmd_get_used_combo_starter();
- if (eContestAI->scriptResult > gAIScriptPtr[0])
+ if (eContestAI.scriptResult > gAIScriptPtr[0])
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
else
gAIScriptPtr += 5;
}
-static void ContestAICmd_unk_51(void)
+static void ContestAICmd_if_used_combo_starter_eq(void)
{
ContestAICmd_get_used_combo_starter();
- if (eContestAI->scriptResult == gAIScriptPtr[0])
+ if (eContestAI.scriptResult == gAIScriptPtr[0])
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
else
gAIScriptPtr += 5;
}
-static void ContestAICmd_unk_52(void)
+static void ContestAICmd_if_used_combo_starter_not_eq(void)
{
ContestAICmd_get_used_combo_starter();
- if (eContestAI->scriptResult != gAIScriptPtr[0])
+ if (eContestAI.scriptResult != gAIScriptPtr[0])
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
else
gAIScriptPtr += 5;
@@ -1244,28 +1247,28 @@ static void ContestAICmd_unk_52(void)
static void ContestAICmd_check_can_participate(void)
{
if (Contest_IsMonsTurnDisabled(sub_81563B0(gAIScriptPtr[1])))
- eContestAI->scriptResult = FALSE;
+ eContestAI.scriptResult = FALSE;
else
- eContestAI->scriptResult = TRUE;
+ eContestAI.scriptResult = TRUE;
gAIScriptPtr += 2;
}
-static void ContestAICmd_unk_54(void)
+static void ContestAICmd_if_can_participate(void)
{
ContestAICmd_check_can_participate();
- if (eContestAI->scriptResult != 0)
+ if (eContestAI.scriptResult != 0)
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0);
else
gAIScriptPtr += 4;
}
-static void ContestAICmd_unk_55(void)
+static void ContestAICmd_if_cannot_participate(void)
{
ContestAICmd_check_can_participate();
- if (eContestAI->scriptResult == 0)
+ if (eContestAI.scriptResult == 0)
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0);
else
gAIScriptPtr += 4;
@@ -1275,7 +1278,7 @@ static void ContestAICmd_get_val_812A188(void)
{
u8 var = sub_81563B0(gAIScriptPtr[1]);
- eContestAI->scriptResult = sContestantStatus[var].unk15_3;
+ eContestAI.scriptResult = eContestantStatus[var].unk15_3;
gAIScriptPtr += 2;
}
@@ -1283,17 +1286,17 @@ static void ContestAICmd_unk_57(void)
{
ContestAICmd_get_val_812A188();
- if (eContestAI->scriptResult != 0)
+ if (eContestAI.scriptResult != 0)
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0);
else
gAIScriptPtr += 4;
}
-static void ContestAICmd_unk_58(void)
+static void ContestAICmd_contest_58(void)
{
ContestAICmd_get_val_812A188();
- if (eContestAI->scriptResult == 0)
+ if (eContestAI.scriptResult == 0)
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0);
else
gAIScriptPtr += 4;
@@ -1303,7 +1306,7 @@ static void ContestAICmd_unk_59(void)
{
u8 var = sub_81563B0(gAIScriptPtr[1]);
- eContestAI->scriptResult = sContestantStatus[var].unk4 - sContestantStatus[eContestAI->contestantId].unk4;
+ eContestAI.scriptResult = eContestantStatus[var].pointTotal - eContestantStatus[eContestAI.contestantId].pointTotal;
gAIScriptPtr += 2;
}
@@ -1311,7 +1314,7 @@ static void ContestAICmd_unk_5A(void)
{
ContestAICmd_unk_59();
- if (eContestAI->scriptResult < 0)
+ if (eContestAI.scriptResult < 0)
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0);
else
gAIScriptPtr += 4;
@@ -1321,7 +1324,7 @@ static void ContestAICmd_unk_5B(void)
{
ContestAICmd_unk_59();
- if (eContestAI->scriptResult > 0)
+ if (eContestAI.scriptResult > 0)
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0);
else
gAIScriptPtr += 4;
@@ -1331,7 +1334,7 @@ static void ContestAICmd_unk_5C(void)
{
ContestAICmd_unk_59();
- if (eContestAI->scriptResult == 0)
+ if (eContestAI.scriptResult == 0)
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0);
else
gAIScriptPtr += 4;
@@ -1341,7 +1344,7 @@ static void ContestAICmd_unk_5D(void)
{
ContestAICmd_unk_59();
- if (eContestAI->scriptResult != 0)
+ if (eContestAI.scriptResult != 0)
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0);
else
gAIScriptPtr += 4;
@@ -1351,7 +1354,7 @@ static void ContestAICmd_unk_5E(void)
{
u8 var = sub_81563B0(gAIScriptPtr[1]);
- eContestAI->scriptResult = gContestMonConditions[var] - gContestMonConditions[eContestAI->contestantId];
+ eContestAI.scriptResult = gContestMonConditions[var] - gContestMonConditions[eContestAI.contestantId];
gAIScriptPtr += 2;
}
@@ -1359,7 +1362,7 @@ static void ContestAICmd_unk_5F(void)
{
ContestAICmd_unk_5E();
- if (eContestAI->scriptResult < 0)
+ if (eContestAI.scriptResult < 0)
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0);
else
gAIScriptPtr += 4;
@@ -1369,7 +1372,7 @@ static void ContestAICmd_unk_60(void)
{
ContestAICmd_unk_5E();
- if (eContestAI->scriptResult > 0)
+ if (eContestAI.scriptResult > 0)
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0);
else
gAIScriptPtr += 4;
@@ -1379,7 +1382,7 @@ static void ContestAICmd_unk_61(void)
{
ContestAICmd_unk_5E();
- if (eContestAI->scriptResult == 0)
+ if (eContestAI.scriptResult == 0)
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0);
else
gAIScriptPtr += 4;
@@ -1389,7 +1392,7 @@ static void ContestAICmd_unk_62(void)
{
ContestAICmd_unk_5E();
- if (eContestAI->scriptResult != 0)
+ if (eContestAI.scriptResult != 0)
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0);
else
gAIScriptPtr += 4;
@@ -1399,9 +1402,9 @@ static void ContestAICmd_unk_63(void)
{
u8 var = sub_81563B0(gAIScriptPtr[1]);
u8 var2 = gAIScriptPtr[2];
- u16 move = sContest.unk19220[var2][var];
+ u16 move = eContest.moveHistory[var2][var];
- eContestAI->scriptResult = gContestMoves[move].effect;
+ eContestAI.scriptResult = gContestMoves[move].effect;
gAIScriptPtr += 3;
}
@@ -1409,7 +1412,7 @@ static void ContestAICmd_unk_64(void)
{
ContestAICmd_unk_63();
- if (eContestAI->scriptResult < gAIScriptPtr[0])
+ if (eContestAI.scriptResult < gAIScriptPtr[0])
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
else
gAIScriptPtr += 5;
@@ -1419,7 +1422,7 @@ static void ContestAICmd_unk_65(void)
{
ContestAICmd_unk_63();
- if (eContestAI->scriptResult > gAIScriptPtr[0])
+ if (eContestAI.scriptResult > gAIScriptPtr[0])
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
else
gAIScriptPtr += 5;
@@ -1429,7 +1432,7 @@ static void ContestAICmd_unk_66(void)
{
ContestAICmd_unk_63();
- if (eContestAI->scriptResult == gAIScriptPtr[0])
+ if (eContestAI.scriptResult == gAIScriptPtr[0])
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
else
gAIScriptPtr += 5;
@@ -1439,7 +1442,7 @@ static void ContestAICmd_unk_67(void)
{
ContestAICmd_unk_63();
- if (eContestAI->scriptResult != gAIScriptPtr[0])
+ if (eContestAI.scriptResult != gAIScriptPtr[0])
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
else
gAIScriptPtr += 5;
@@ -1449,9 +1452,9 @@ static void ContestAICmd_unk_68(void)
{
u8 var = sub_81563B0(gAIScriptPtr[1]);
u8 var2 = gAIScriptPtr[2];
- s8 result = sContest.unk19248[var2][var];
+ s8 result = eContest.excitementHistory[var2][var];
- eContestAI->scriptResult = result;
+ eContestAI.scriptResult = result;
gAIScriptPtr += 3;
}
@@ -1459,7 +1462,7 @@ static void ContestAICmd_unk_69(void)
{
ContestAICmd_unk_68();
- if (eContestAI->scriptResult < gAIScriptPtr[0])
+ if (eContestAI.scriptResult < gAIScriptPtr[0])
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
else
gAIScriptPtr += 5;
@@ -1469,7 +1472,7 @@ static void ContestAICmd_unk_6A(void)
{
ContestAICmd_unk_68();
- if (eContestAI->scriptResult > gAIScriptPtr[0])
+ if (eContestAI.scriptResult > gAIScriptPtr[0])
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
else
gAIScriptPtr += 5;
@@ -1479,7 +1482,7 @@ static void ContestAICmd_unk_6B(void)
{
ContestAICmd_unk_68();
- if (eContestAI->scriptResult == gAIScriptPtr[0])
+ if (eContestAI.scriptResult == gAIScriptPtr[0])
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
else
gAIScriptPtr += 5;
@@ -1489,7 +1492,7 @@ static void ContestAICmd_unk_6C(void)
{
ContestAICmd_unk_68();
- if (eContestAI->scriptResult != gAIScriptPtr[0])
+ if (eContestAI.scriptResult != gAIScriptPtr[0])
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
else
gAIScriptPtr += 5;
@@ -1499,9 +1502,9 @@ static void ContestAICmd_unk_6D(void)
{
u8 var = sub_81563B0(gAIScriptPtr[1]);
u8 var2 = gAIScriptPtr[2];
- u16 move = sContest.unk19220[var2][var];
+ u16 move = eContest.moveHistory[var2][var];
- eContestAI->scriptResult = gContestEffects[gContestMoves[move].effect].effectType;
+ eContestAI.scriptResult = gContestEffects[gContestMoves[move].effect].effectType;
gAIScriptPtr += 3;
}
@@ -1509,7 +1512,7 @@ static void ContestAICmd_unk_6E(void)
{
ContestAICmd_unk_6D();
- if (eContestAI->scriptResult == gAIScriptPtr[0])
+ if (eContestAI.scriptResult == gAIScriptPtr[0])
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
else
gAIScriptPtr += 5;
@@ -1519,7 +1522,7 @@ static void ContestAICmd_unk_6F(void)
{
ContestAICmd_unk_6D();
- if (eContestAI->scriptResult != gAIScriptPtr[0])
+ if (eContestAI.scriptResult != gAIScriptPtr[0])
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
else
gAIScriptPtr += 5;
@@ -1527,38 +1530,38 @@ static void ContestAICmd_unk_6F(void)
static void ContestAICmd_unk_70(void)
{
- eContestAI->scriptArr[gAIScriptPtr[1]] = eContestAI->scriptResult;
+ eContestAI.scriptArr[gAIScriptPtr[1]] = eContestAI.scriptResult;
gAIScriptPtr += 2;
}
static void ContestAICmd_unk_71(void)
{
- eContestAI->scriptArr[gAIScriptPtr[1]] = T1_READ_16(gAIScriptPtr + 2);
+ eContestAI.scriptArr[gAIScriptPtr[1]] = T1_READ_16(gAIScriptPtr + 2);
gAIScriptPtr += 4;
}
static void ContestAICmd_unk_72(void)
{
// wtf? shouldn't T1_READ_16 work here? why the signed 8 load by gAIScriptPtr[2]?
- eContestAI->scriptArr[gAIScriptPtr[1]] += ((s8)gAIScriptPtr[2] | gAIScriptPtr[3] << 8);
+ eContestAI.scriptArr[gAIScriptPtr[1]] += ((s8)gAIScriptPtr[2] | gAIScriptPtr[3] << 8);
gAIScriptPtr += 4;
}
static void ContestAICmd_unk_73(void)
{
- eContestAI->scriptArr[gAIScriptPtr[1]] += eContestAI->scriptArr[gAIScriptPtr[2]];
+ eContestAI.scriptArr[gAIScriptPtr[1]] += eContestAI.scriptArr[gAIScriptPtr[2]];
gAIScriptPtr += 3;
}
static void ContestAICmd_unk_74(void)
{
- eContestAI->scriptArr[gAIScriptPtr[1]] += eContestAI->scriptArr[gAIScriptPtr[2]];
+ eContestAI.scriptArr[gAIScriptPtr[1]] += eContestAI.scriptArr[gAIScriptPtr[2]];
gAIScriptPtr += 3;
}
static void ContestAICmd_unk_75(void)
{
- if (eContestAI->scriptArr[gAIScriptPtr[1]] < T1_READ_16(gAIScriptPtr + 2))
+ if (eContestAI.scriptArr[gAIScriptPtr[1]] < T1_READ_16(gAIScriptPtr + 2))
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 4);
else
gAIScriptPtr += 8;
@@ -1566,7 +1569,7 @@ static void ContestAICmd_unk_75(void)
static void ContestAICmd_unk_76(void)
{
- if (eContestAI->scriptArr[gAIScriptPtr[1]] > T1_READ_16(gAIScriptPtr + 2))
+ if (eContestAI.scriptArr[gAIScriptPtr[1]] > T1_READ_16(gAIScriptPtr + 2))
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 4);
else
gAIScriptPtr += 8;
@@ -1574,7 +1577,7 @@ static void ContestAICmd_unk_76(void)
static void ContestAICmd_unk_77(void)
{
- if (eContestAI->scriptArr[gAIScriptPtr[1]] == T1_READ_16(gAIScriptPtr + 2))
+ if (eContestAI.scriptArr[gAIScriptPtr[1]] == T1_READ_16(gAIScriptPtr + 2))
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 4);
else
gAIScriptPtr += 8;
@@ -1582,7 +1585,7 @@ static void ContestAICmd_unk_77(void)
static void ContestAICmd_unk_78(void)
{
- if (eContestAI->scriptArr[gAIScriptPtr[1]] != T1_READ_16(gAIScriptPtr + 2))
+ if (eContestAI.scriptArr[gAIScriptPtr[1]] != T1_READ_16(gAIScriptPtr + 2))
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 4);
else
gAIScriptPtr += 8;
@@ -1590,7 +1593,7 @@ static void ContestAICmd_unk_78(void)
static void ContestAICmd_unk_79(void)
{
- if (eContestAI->scriptArr[gAIScriptPtr[1]] < (eContestAI->scriptArr[gAIScriptPtr[2]]))
+ if (eContestAI.scriptArr[gAIScriptPtr[1]] < (eContestAI.scriptArr[gAIScriptPtr[2]]))
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 3);
else
gAIScriptPtr += 7;
@@ -1598,7 +1601,7 @@ static void ContestAICmd_unk_79(void)
static void ContestAICmd_unk_7A(void)
{
- if (eContestAI->scriptArr[gAIScriptPtr[1]] > (eContestAI->scriptArr[gAIScriptPtr[2]]))
+ if (eContestAI.scriptArr[gAIScriptPtr[1]] > (eContestAI.scriptArr[gAIScriptPtr[2]]))
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 3);
else
gAIScriptPtr += 7;
@@ -1606,7 +1609,7 @@ static void ContestAICmd_unk_7A(void)
static void ContestAICmd_unk_7B(void)
{
- if (eContestAI->scriptArr[gAIScriptPtr[1]] == (eContestAI->scriptArr[gAIScriptPtr[2]]))
+ if (eContestAI.scriptArr[gAIScriptPtr[1]] == (eContestAI.scriptArr[gAIScriptPtr[2]]))
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 3);
else
gAIScriptPtr += 7;
@@ -1614,15 +1617,15 @@ static void ContestAICmd_unk_7B(void)
static void ContestAICmd_unk_7C(void)
{
- if (eContestAI->scriptArr[gAIScriptPtr[1]] != (eContestAI->scriptArr[gAIScriptPtr[2]]))
+ if (eContestAI.scriptArr[gAIScriptPtr[1]] != (eContestAI.scriptArr[gAIScriptPtr[2]]))
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 3);
else
gAIScriptPtr += 7;
}
-static void ContestAICmd_unk_7D(void)
+static void ContestAICmd_if_random(void)
{
- if ((Random() & 0xFF) < eContestAI->scriptArr[gAIScriptPtr[1]])
+ if ((Random() & 0xFF) < eContestAI.scriptArr[gAIScriptPtr[1]])
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2);
else
gAIScriptPtr += 6;
@@ -1630,41 +1633,41 @@ static void ContestAICmd_unk_7D(void)
static void ContestAICmd_unk_7E(void)
{
- if ((Random() & 0xFF) > eContestAI->scriptArr[gAIScriptPtr[1]])
+ if ((Random() & 0xFF) > eContestAI.scriptArr[gAIScriptPtr[1]])
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2);
else
gAIScriptPtr += 6;
}
// jump
-static void ContestAICmd_unk_7F(void)
+static void ContestAICmd_jump(void)
{
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
}
-static void ContestAICmd_unk_80(void)
+static void ContestAICmd_call(void)
{
AIStackPushVar(gAIScriptPtr + 5);
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
}
-static void ContestAICmd_unk_81(void)
+static void ContestAICmd_end(void)
{
if (!AIStackPop())
- eContestAI->aiAction |= 1;
+ eContestAI.aiAction |= 1;
}
static void AIStackPushVar(const u8 *ptr)
{
- eContestAI->stack[eContestAI->stackSize++] = ptr;
+ eContestAI.stack[eContestAI.stackSize++] = ptr;
}
static bool8 AIStackPop(void)
{
- if (eContestAI->stackSize != 0)
+ if (eContestAI.stackSize != 0)
{
- --eContestAI->stackSize;
- gAIScriptPtr = eContestAI->stack[eContestAI->stackSize];
+ --eContestAI.stackSize;
+ gAIScriptPtr = eContestAI.stack[eContestAI.stackSize];
return TRUE;
}
else
@@ -1673,16 +1676,16 @@ static bool8 AIStackPop(void)
}
}
-static void ContestAICmd_check_for_exciting_move(void)
+static void ContestAICmd_check_user_has_exciting_move(void)
{
int result = 0;
int i;
for (i = 0; i < MAX_MON_MOVES; i++)
{
- if (gContestMons[eContestAI->contestantId].moves[i])
+ if (gContestMons[eContestAI.contestantId].moves[i])
{
- if (Contest_GetMoveExcitement(gContestMons[eContestAI->contestantId].moves[i]) == 1)
+ if (Contest_GetMoveExcitement(gContestMons[eContestAI.contestantId].moves[i]) == 1)
{
result = 1;
break;
@@ -1690,25 +1693,25 @@ static void ContestAICmd_check_for_exciting_move(void)
}
}
- eContestAI->scriptResult = result;
+ eContestAI.scriptResult = result;
gAIScriptPtr += 1;
}
-static void ContestAICmd_unk_83(void)
+static void ContestAICmd_if_user_has_exciting_move(void)
{
- ContestAICmd_check_for_exciting_move();
+ ContestAICmd_check_user_has_exciting_move();
- if (eContestAI->scriptResult != 0)
+ if (eContestAI.scriptResult != 0)
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0);
else
gAIScriptPtr += 4;
}
-static void ContestAICmd_unk_84(void)
+static void ContestAICmd_if_user_doesnt_have_exciting_move(void)
{
- ContestAICmd_check_for_exciting_move();
+ ContestAICmd_check_user_has_exciting_move();
- if (eContestAI->scriptResult == 0)
+ if (eContestAI.scriptResult == 0)
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0);
else
gAIScriptPtr += 4;
@@ -1722,7 +1725,7 @@ static void ContestAICmd_unk_85(void)
for (i = 0; i < MAX_MON_MOVES; i++)
{
- u16 move = gContestMons[eContestAI->contestantId].moves[i];
+ u16 move = gContestMons[eContestAI.contestantId].moves[i];
if (move == arg)
{
result = 1;
@@ -1730,7 +1733,7 @@ static void ContestAICmd_unk_85(void)
}
}
- eContestAI->scriptResult = result;
+ eContestAI.scriptResult = result;
gAIScriptPtr += 3;
}
@@ -1738,17 +1741,17 @@ static void ContestAICmd_unk_86(void)
{
ContestAICmd_unk_85();
- if (eContestAI->scriptResult != 0)
+ if (eContestAI.scriptResult != 0)
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0);
else
gAIScriptPtr += 4;
}
-static void ContestAICmd_unk_87(void)
+static void ContestAICmd_if_effect_in_user_moveset(void)
{
ContestAICmd_unk_85();
- if (eContestAI->scriptResult == 0)
+ if (eContestAI.scriptResult == 0)
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0);
else
gAIScriptPtr += 4;
diff --git a/src/contest_effect.c b/src/contest_effect.c
index 760d74d69..d6b06c3ba 100644
--- a/src/contest_effect.c
+++ b/src/contest_effect.c
@@ -82,101 +82,101 @@ static void ContestEffect_HighlyAppealing(void)
// After this move, the user is more easily startled.
static void ContestEffect_UserMoreEasilyStartled(void)
{
- sContestantStatus[shared192D0.contestant].moreEasilyStartled = TRUE;
- SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_MORE_CONSCIOUS);
+ eContestantStatus[eContestResources8.contestant].moreEasilyStartled = TRUE;
+ SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_MORE_CONSCIOUS);
}
// Makes a great appeal, but allows no more to the end.
static void ContestEffect_GreatAppealButNoMoreMoves(void)
{
- sContestantStatus[shared192D0.contestant].exploded = TRUE;
- SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_NO_APPEAL);
+ eContestantStatus[eContestResources8.contestant].exploded = TRUE;
+ SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_NO_APPEAL);
}
// Can be used repeatedly without boring the JUDGE.
static void ContestEffect_RepetitionNotBoring(void)
{
- sContestantStatus[shared192D0.contestant].usedRepeatableMove = TRUE;
- sContestantStatus[shared192D0.contestant].disappointedRepeat = FALSE;
- sContestantStatus[shared192D0.contestant].moveRepeatCount = 0;
+ eContestantStatus[eContestResources8.contestant].usedRepeatableMove = TRUE;
+ eContestantStatus[eContestResources8.contestant].disappointedRepeat = FALSE;
+ eContestantStatus[eContestResources8.contestant].moveRepeatCount = 0;
}
// Can avoid being startled by others once.
static void ContestEffect_AvoidStartleOnce(void)
{
- sContestantStatus[shared192D0.contestant].jamSafetyCount = 1;
- SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_SETTLE_DOWN);
+ eContestantStatus[eContestResources8.contestant].jamSafetyCount = 1;
+ SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_SETTLE_DOWN);
}
// Can avoid being startled by others.
static void ContestEffect_AvoidStartle(void)
{
- sContestantStatus[shared192D0.contestant].immune = TRUE;
- SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_OBLIVIOUS_TO_OTHERS);
+ eContestantStatus[eContestResources8.contestant].immune = TRUE;
+ SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_OBLIVIOUS_TO_OTHERS);
}
// Can avoid being startled by others a little.
static void ContestEffect_AvoidStartleSlightly(void)
{
- sContestantStatus[shared192D0.contestant].jamReduction = 20;
- SetContestantEffectStringID(shared192D0.contestant,CONTEST_STRING_LESS_AWARE);
+ eContestantStatus[eContestResources8.contestant].jamReduction = 20;
+ SetContestantEffectStringID(eContestResources8.contestant,CONTEST_STRING_LESS_AWARE);
}
// After this move, the user is less likely to be startled.
static void ContestEffect_UserLessEasilyStartled(void)
{
- sContestantStatus[shared192D0.contestant].resistant = TRUE;
- SetContestantEffectStringID(shared192D0.contestant,CONTEST_STRING_STOPPED_CARING);
+ eContestantStatus[eContestResources8.contestant].resistant = TRUE;
+ SetContestantEffectStringID(eContestResources8.contestant,CONTEST_STRING_STOPPED_CARING);
}
-// Slightly startles the POKéMON in front.
+// Slightly startles the POKéMON in front.
static void ContestEffect_StartleFrontMon(void)
{
u8 idx = 0;
- u8 a = shared192D0.contestant;
+ u8 a = eContestResources8.contestant;
- if (shared192D0.turnOrder[a] != 0) {
+ if (eContestResources8.turnOrder[a] != 0) {
int i;
for (i = 0; i < 4; i++)
{
- if (shared192D0.turnOrder[a] - 1 == shared192D0.turnOrder[i])
+ if (eContestResources8.turnOrder[a] - 1 == eContestResources8.turnOrder[i])
break;
}
- shared192D0.jamQueue[0] = i;
- shared192D0.jamQueue[1] = 0xFF;
+ eContestResources8.jamQueue[0] = i;
+ eContestResources8.jamQueue[1] = 0xFF;
idx = WasAtLeastOneOpponentJammed();
}
if (idx == 0)
- SetContestantEffectStringID2(shared192D0.contestant, CONTEST_STRING_MESSED_UP2);
- SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_ATTEMPT_STARTLE);
+ SetContestantEffectStringID2(eContestResources8.contestant, CONTEST_STRING_MESSED_UP2);
+ SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_ATTEMPT_STARTLE);
}
// Slightly startles those that have made appeals.
static void ContestEffect_StartlePrevMons(void)
{
u8 idx = 0;
- u8 a = shared192D0.contestant;
+ u8 a = eContestResources8.contestant;
- if (shared192D0.turnOrder[a] != 0)
+ if (eContestResources8.turnOrder[a] != 0)
{
int i, j;
for (i = 0, j = 0; i < 4; i++)
{
- if (shared192D0.turnOrder[a] > shared192D0.turnOrder[i])
- shared192D0.jamQueue[j++] = i;
+ if (eContestResources8.turnOrder[a] > eContestResources8.turnOrder[i])
+ eContestResources8.jamQueue[j++] = i;
}
- shared192D0.jamQueue[j] = 0xFF;
+ eContestResources8.jamQueue[j] = 0xFF;
idx = WasAtLeastOneOpponentJammed();
}
if (idx == 0)
- SetContestantEffectStringID2(shared192D0.contestant, CONTEST_STRING_MESSED_UP2);
- SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_ATTEMPT_STARTLE);
+ SetContestantEffectStringID2(eContestResources8.contestant, CONTEST_STRING_MESSED_UP2);
+ SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_ATTEMPT_STARTLE);
}
-// Startles the POKéMON that appealed before the user.
+// Startles the POKéMON that appealed before the user.
static void ContestEffect_StartlePrevMon2(void)
{
u8 rval = Random() % 10;
@@ -189,16 +189,16 @@ static void ContestEffect_StartlePrevMon2(void)
else
jam = 60;
- shared192D0.jam = jam;
+ eContestResources8.jam = jam;
ContestEffect_StartleFrontMon();
}
-// Startles all POKéMON that appealed before the user.
+// Startles all POKéMON that appealed before the user.
static void ContestEffect_StartlePrevMons2(void)
{
u8 numStartled = 0;
- u8 contestant = shared192D0.contestant;
- u8 turnOrder = shared192D0.turnOrder[contestant];
+ u8 contestant = eContestResources8.contestant;
+ u8 turnOrder = eContestResources8.turnOrder[contestant];
if (turnOrder != 0)
{
@@ -206,12 +206,12 @@ static void ContestEffect_StartlePrevMons2(void)
for (i = 0; i < 4; i++)
{
- if (shared192D0.turnOrder[contestant] > shared192D0.turnOrder[i])
+ if (eContestResources8.turnOrder[contestant] > eContestResources8.turnOrder[i])
{
u8 rval, jam;
- shared192D0.jamQueue[0] = i;
- shared192D0.jamQueue[1] = 0xFF;
+ eContestResources8.jamQueue[0] = i;
+ eContestResources8.jamQueue[1] = 0xFF;
rval = Random() % 10;
if (rval == 0)
@@ -227,141 +227,141 @@ static void ContestEffect_StartlePrevMons2(void)
else
jam = 60;
- shared192D0.jam = jam;
+ eContestResources8.jam = jam;
if (WasAtLeastOneOpponentJammed())
numStartled++;
}
}
}
- SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_ATTEMPT_STARTLE);
+ SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_ATTEMPT_STARTLE);
if (numStartled == 0)
- SetContestantEffectStringID2(shared192D0.contestant, CONTEST_STRING_MESSED_UP2);
+ SetContestantEffectStringID2(eContestResources8.contestant, CONTEST_STRING_MESSED_UP2);
}
-// Shifts the JUDGE’s attention from others.
+// Shifts the JUDGE's attention from others.
static void ContestEffect_ShiftJudgeAttention(void)
{
bool32 hitAny = FALSE;
- u8 contestant = shared192D0.contestant;
+ u8 contestant = eContestResources8.contestant;
- if (shared192D0.turnOrder[shared192D0.contestant] != 0)
+ if (eContestResources8.turnOrder[eContestResources8.contestant] != 0)
{
int i;
for (i = 0; i < 4; i++)
{
- if (shared192D0.turnOrder[contestant] > shared192D0.turnOrder[i] &&
- sContestantStatus[i].hasJudgesAttention &&
+ if (eContestResources8.turnOrder[contestant] > eContestResources8.turnOrder[i] &&
+ eContestantStatus[i].hasJudgesAttention &&
CanUnnerveContestant(i))
{
- sContestantStatus[i].hasJudgesAttention = FALSE;
- sContestantStatus[i].judgesAttentionWasRemoved = TRUE;
+ eContestantStatus[i].hasJudgesAttention = FALSE;
+ eContestantStatus[i].judgesAttentionWasRemoved = TRUE;
SetContestantEffectStringID(i, CONTEST_STRING_JUDGE_LOOK_AWAY2);
hitAny = TRUE;
}
}
}
- SetContestantEffectStringID(shared192D0.contestant,CONTEST_STRING_DAZZLE_ATTEMPT);
+ SetContestantEffectStringID(eContestResources8.contestant,CONTEST_STRING_DAZZLE_ATTEMPT);
if (!hitAny)
{
- SetContestantEffectStringID2(shared192D0.contestant, CONTEST_STRING_MESSED_UP2);
+ SetContestantEffectStringID2(eContestResources8.contestant, CONTEST_STRING_MESSED_UP2);
}
}
-// Startles the POKéMON that has the JUDGE’s attention.
+// Startles the POKéMON that has the JUDGE's attention.
static void ContestEffect_StartleMonWithJudgesAttention(void)
{
u8 numStartled = 0;
- u8 contestant = shared192D0.contestant;
+ u8 contestant = eContestResources8.contestant;
- if (shared192D0.turnOrder[shared192D0.contestant] != 0)
+ if (eContestResources8.turnOrder[eContestResources8.contestant] != 0)
{
int i;
for (i = 0; i < 4; i++)
{
- if (shared192D0.turnOrder[contestant] > shared192D0.turnOrder[i])
+ if (eContestResources8.turnOrder[contestant] > eContestResources8.turnOrder[i])
{
- if (sContestantStatus[i].hasJudgesAttention)
- shared192D0.jam = 50;
+ if (eContestantStatus[i].hasJudgesAttention)
+ eContestResources8.jam = 50;
else
- shared192D0.jam = 10;
- shared192D0.jamQueue[0] = i;
- shared192D0.jamQueue[1] = 0xFF;
+ eContestResources8.jam = 10;
+ eContestResources8.jamQueue[0] = i;
+ eContestResources8.jamQueue[1] = 0xFF;
if (WasAtLeastOneOpponentJammed())
numStartled++;
}
}
}
- SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_ATTEMPT_STARTLE);
+ SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_ATTEMPT_STARTLE);
if (numStartled == 0)
- SetContestantEffectStringID2(shared192D0.contestant, CONTEST_STRING_MESSED_UP2);
+ SetContestantEffectStringID2(eContestResources8.contestant, CONTEST_STRING_MESSED_UP2);
}
// Jams the others, and misses one turn of appeals.
static void ContestEffect_JamsOthersButMissOneTurn(void)
{
- sContestantStatus[shared192D0.contestant].turnSkipped = TRUE;
+ eContestantStatus[eContestResources8.contestant].turnSkipped = TRUE;
ContestEffect_StartlePrevMons();
- SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_ATTEMPT_STARTLE);
+ SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_ATTEMPT_STARTLE);
}
-// Startles POKéMON that made a same-type appeal.
+// Startles POKéMON that made a same-type appeal.
static void ContestEffect_StartleMonsSameTypeAppeal(void)
{
- u16 move = sContestantStatus[shared192D0.contestant].currMove;
+ u16 move = eContestantStatus[eContestResources8.contestant].currMove;
JamByMoveCategory(gContestMoves[move].contestCategory);
- SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_ATTEMPT_STARTLE);
+ SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_ATTEMPT_STARTLE);
}
-// Badly startles POKéMON that made COOL appeals.
+// Badly startles POKéMON that made COOL appeals.
static void ContestEffect_StartleMonsCoolAppeal(void)
{
JamByMoveCategory(CONTEST_CATEGORY_COOL);
- SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_ATTEMPT_STARTLE);
+ SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_ATTEMPT_STARTLE);
}
-// Badly startles POKéMON that made BEAUTY appeals.
+// Badly startles POKéMON that made BEAUTY appeals.
static void ContestEffect_StartleMonsBeautyAppeal(void)
{
JamByMoveCategory(CONTEST_CATEGORY_BEAUTY);
- SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_ATTEMPT_STARTLE);
+ SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_ATTEMPT_STARTLE);
}
-// Badly startles POKéMON that made CUTE appeals.
+// Badly startles POKéMON that made CUTE appeals.
static void ContestEffect_StartleMonsCuteAppeal(void)
{
JamByMoveCategory(CONTEST_CATEGORY_CUTE);
- SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_ATTEMPT_STARTLE);
+ SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_ATTEMPT_STARTLE);
}
-// Badly startles POKéMON that made SMART appeals.
+// Badly startles POKéMON that made SMART appeals.
static void ContestEffect_StartleMonsSmartAppeal(void)
{
JamByMoveCategory(CONTEST_CATEGORY_SMART);
- SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_ATTEMPT_STARTLE);
+ SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_ATTEMPT_STARTLE);
}
-// Badly startles POKéMON that made TOUGH appeals.
+// Badly startles POKéMON that made TOUGH appeals.
static void ContestEffect_StartleMonsToughAppeal(void)
{
JamByMoveCategory(CONTEST_CATEGORY_TOUGH);
- SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_ATTEMPT_STARTLE);
+ SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_ATTEMPT_STARTLE);
}
-// Makes one POKéMON after the user nervous.
+// Makes one POKéMON after the user nervous.
static void ContestEffect_MakeFollowingMonNervous(void)
{
bool32 hitAny = FALSE;
- if (shared192D0.turnOrder[shared192D0.contestant] != 3)
+ if (eContestResources8.turnOrder[eContestResources8.contestant] != 3)
{
int i;
for (i = 0; i < 4; i++)
{
- if (shared192D0.turnOrder[shared192D0.contestant] + 1 == shared192D0.turnOrder[i])
+ if (eContestResources8.turnOrder[eContestResources8.contestant] + 1 == eContestResources8.turnOrder[i])
{
if (CanUnnerveContestant(i))
{
@@ -377,12 +377,12 @@ static void ContestEffect_MakeFollowingMonNervous(void)
}
}
}
- SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_UNNERVE_ATTEMPT);
+ SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_UNNERVE_ATTEMPT);
if (!hitAny)
- SetContestantEffectStringID2(shared192D0.contestant, CONTEST_STRING_MESSED_UP2);
+ SetContestantEffectStringID2(eContestResources8.contestant, CONTEST_STRING_MESSED_UP2);
}
-// Makes all POKéMON after the user nervous.
+// Makes all POKéMON after the user nervous.
static void ContestEffect_MakeFollowingMonsNervous(void)
{
u8 numUnnerved = 0;
@@ -396,8 +396,8 @@ static void ContestEffect_MakeFollowingMonsNervous(void)
memset(contestantIds, 0xFF, ARRAY_COUNT(contestantIds));
for (i = 0, numAfter = 0; i < 4; i++)
{
- if (shared192D0.turnOrder[shared192D0.contestant] < shared192D0.turnOrder[i] &&
- !sContestantStatus[i].nervous && !Contest_IsMonsTurnDisabled(i))
+ if (eContestResources8.turnOrder[eContestResources8.contestant] < eContestResources8.turnOrder[i] &&
+ !eContestantStatus[i].nervous && !Contest_IsMonsTurnDisabled(i))
contestantIds[numAfter++] = i;
}
@@ -423,11 +423,11 @@ static void ContestEffect_MakeFollowingMonsNervous(void)
}
for (i = 0; i < 4; i++)
{
- if (sContestantStatus[i].hasJudgesAttention && sub_80DE1E8(i))
- oddsMod[i] = gComboStarterLookupTable[gContestMoves[sContestantStatus[i].prevMove].comboStarterId] * 10;
+ if (eContestantStatus[i].hasJudgesAttention && sub_80DE1E8(i))
+ oddsMod[i] = gComboStarterLookupTable[gContestMoves[eContestantStatus[i].prevMove].comboStarterId] * 10;
else
oddsMod[i] = 0;
- oddsMod[i] -= (sContestantStatus[i].condition / 10) * 10;
+ oddsMod[i] -= (eContestantStatus[i].condition / 10) * 10;
}
if (odds[0] != 0)
{
@@ -457,12 +457,12 @@ static void ContestEffect_MakeFollowingMonsNervous(void)
SetContestantEffectStringID(contestantIds[i], CONTEST_STRING_UNAFFECTED);
numUnnerved++;
}
- shared192D0.unnervedPokes[contestantIds[i]] = 1;
+ eContestResources8.unnervedPokes[contestantIds[i]] = 1;
}
}
- SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_UNNERVE_WAITING);
+ SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_UNNERVE_WAITING);
if (numUnnerved == 0)
- SetContestantEffectStringID2(shared192D0.contestant, CONTEST_STRING_MESSED_UP2);
+ SetContestantEffectStringID2(eContestResources8.contestant, CONTEST_STRING_MESSED_UP2);
}
// Worsens the condition of those that made appeals.
@@ -473,23 +473,23 @@ static void ContestEffect_WorsenConditionOfPrevMons(void)
for (i = 0; i < 4; i++)
{
- if (shared192D0.turnOrder[shared192D0.contestant] > shared192D0.turnOrder[i] &&
- sContestantStatus[i].condition > 0 &&
+ if (eContestResources8.turnOrder[eContestResources8.contestant] > eContestResources8.turnOrder[i] &&
+ eContestantStatus[i].condition > 0 &&
CanUnnerveContestant(i))
{
- sContestantStatus[i].condition = 0;
- sContestantStatus[i].conditionMod = 2;
+ eContestantStatus[i].condition = 0;
+ eContestantStatus[i].conditionMod = 2;
SetContestantEffectStringID(i, CONTEST_STRING_REGAINED_FORM);
numHit++;
}
}
- SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_TAUNT_WELL);
+ SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_TAUNT_WELL);
if (numHit == 0)
- SetContestantEffectStringID2(shared192D0.contestant, CONTEST_STRING_IGNORED);
+ SetContestantEffectStringID2(eContestResources8.contestant, CONTEST_STRING_IGNORED);
}
-// Badly startles POKéMON in good condition.
+// Badly startles POKéMON in good condition.
static void ContestEffect_BadlyStartlesMonsInGoodCondition(void)
{
u8 numHit = 0;
@@ -497,42 +497,42 @@ static void ContestEffect_BadlyStartlesMonsInGoodCondition(void)
for (i = 0; i < 4; i++)
{
- if (shared192D0.turnOrder[shared192D0.contestant] > shared192D0.turnOrder[i])
+ if (eContestResources8.turnOrder[eContestResources8.contestant] > eContestResources8.turnOrder[i])
{
- if (sContestantStatus[i].condition > 0)
- shared192D0.jam = 40;
+ if (eContestantStatus[i].condition > 0)
+ eContestResources8.jam = 40;
else
- shared192D0.jam = 10;
- shared192D0.jamQueue[0] = i;
- shared192D0.jamQueue[1] = 0xFF;
+ eContestResources8.jam = 10;
+ eContestResources8.jamQueue[0] = i;
+ eContestResources8.jamQueue[1] = 0xFF;
if (WasAtLeastOneOpponentJammed())
numHit++;
}
}
- SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_JAM_WELL);
+ SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_JAM_WELL);
if (numHit == 0)
- SetContestantEffectStringID2(shared192D0.contestant, CONTEST_STRING_IGNORED);
+ SetContestantEffectStringID2(eContestResources8.contestant, CONTEST_STRING_IGNORED);
}
// The appeal works great if performed first.
static void ContestEffect_BetterIfFirst(void)
{
- if (gUnknown_02039F26[shared192D0.contestant] == 0)
+ if (gContestantTurnOrder[eContestResources8.contestant] == 0)
{
- u16 move = sContestantStatus[shared192D0.contestant].currMove;
- sContestantStatus[shared192D0.contestant].appeal2 += 2 * gContestEffects[gContestMoves[move].effect].appeal;
- SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_HUSTLE_STANDOUT);
+ u16 move = eContestantStatus[eContestResources8.contestant].currMove;
+ eContestantStatus[eContestResources8.contestant].appeal2 += 2 * gContestEffects[gContestMoves[move].effect].appeal;
+ SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_HUSTLE_STANDOUT);
}
}
// The appeal works great if performed last.
static void ContestEffect_BetterIfLast(void)
{
- if (gUnknown_02039F26[shared192D0.contestant] == 3)
+ if (gContestantTurnOrder[eContestResources8.contestant] == 3)
{
- u16 move = sContestantStatus[shared192D0.contestant].currMove;
- sContestantStatus[shared192D0.contestant].appeal2 += 2 * gContestEffects[gContestMoves[move].effect].appeal;
- SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_WORK_HARD_UNNOTICED);
+ u16 move = eContestantStatus[eContestResources8.contestant].currMove;
+ eContestantStatus[eContestResources8.contestant].appeal2 += 2 * gContestEffects[gContestMoves[move].effect].appeal;
+ SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_WORK_HARD_UNNOTICED);
}
}
@@ -544,22 +544,22 @@ static void ContestEffect_AppealAsGoodAsPrevOnes(void)
for (i = 0, appealSum = 0; i < 4; i++)
{
- if (shared192D0.turnOrder[shared192D0.contestant] > shared192D0.turnOrder[i])
- appealSum += sContestantStatus[i].appeal2;
+ if (eContestResources8.turnOrder[eContestResources8.contestant] > eContestResources8.turnOrder[i])
+ appealSum += eContestantStatus[i].appeal2;
}
if (appealSum < 0)
appealSum = 0;
- if (shared192D0.turnOrder[shared192D0.contestant] == 0 || appealSum == 0)
+ if (eContestResources8.turnOrder[eContestResources8.contestant] == 0 || appealSum == 0)
{
- SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_NOT_WELL);
+ SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_APPEAL_NOT_WELL);
}
else
{
- sContestantStatus[shared192D0.contestant].appeal2 += appealSum / 2;
- SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_WORK_BEFORE);
+ eContestantStatus[eContestResources8.contestant].appeal2 += appealSum / 2;
+ SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_WORK_BEFORE);
}
- sContestantStatus[shared192D0.contestant].appeal2 = RoundTowardsZero(sContestantStatus[shared192D0.contestant].appeal2);
+ eContestantStatus[eContestResources8.contestant].appeal2 = RoundTowardsZero(eContestantStatus[eContestResources8.contestant].appeal2);
}
// Makes the appeal as good as the one before it.
@@ -567,45 +567,45 @@ static void ContestEffect_AppealAsGoodAsPrevOne(void)
{
s16 appeal = 0;
- if (shared192D0.turnOrder[shared192D0.contestant] != 0)
+ if (eContestResources8.turnOrder[eContestResources8.contestant] != 0)
{
int i;
for (i = 0; i < 4; i++)
{
- if (shared192D0.turnOrder[shared192D0.contestant] - 1 == shared192D0.turnOrder[i])
- appeal = sContestantStatus[i].appeal2;
+ if (eContestResources8.turnOrder[eContestResources8.contestant] - 1 == eContestResources8.turnOrder[i])
+ appeal = eContestantStatus[i].appeal2;
}
}
- if (shared192D0.turnOrder[shared192D0.contestant] == 0 || appeal <= 0)
+ if (eContestResources8.turnOrder[eContestResources8.contestant] == 0 || appeal <= 0)
{
- SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_NOT_WELL2);
+ SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_APPEAL_NOT_WELL2);
}
else
{
- sContestantStatus[shared192D0.contestant].appeal2 += appeal;
- SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_WORK_PRECEDING);
+ eContestantStatus[eContestResources8.contestant].appeal2 += appeal;
+ SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_WORK_PRECEDING);
}
}
// The appeal works better the later it is performed.
static void ContestEffect_BetterWhenLater(void)
{
- u8 whichTurn = shared192D0.turnOrder[shared192D0.contestant];
+ u8 whichTurn = eContestResources8.turnOrder[eContestResources8.contestant];
if (whichTurn == 0)
- sContestantStatus[shared192D0.contestant].appeal2 = 10;
+ eContestantStatus[eContestResources8.contestant].appeal2 = 10;
else
- sContestantStatus[shared192D0.contestant].appeal2 = 20 * whichTurn;
+ eContestantStatus[eContestResources8.contestant].appeal2 = 20 * whichTurn;
if (whichTurn == 0)
- SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_NOT_SHOWN_WELL);
+ SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_APPEAL_NOT_SHOWN_WELL);
else if (whichTurn == 1)
- SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_SLIGHTLY_WELL);
+ SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_APPEAL_SLIGHTLY_WELL);
else if (whichTurn == 2)
- SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_PRETTY_WELL);
+ SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_APPEAL_PRETTY_WELL);
else
- SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_EXCELLENTLY);
+ SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_APPEAL_EXCELLENTLY);
}
-// The appeal’s quality varies depending on its timing.
+// The appeal's quality varies depending on its timing.
static void ContestEffect_QualityDependsOnTiming(void)
{
u8 rval = Random() % 10;
@@ -614,31 +614,31 @@ static void ContestEffect_QualityDependsOnTiming(void)
if (rval < 3)
{
appeal = 10;
- SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_NOT_VERY_WELL);
+ SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_APPEAL_NOT_VERY_WELL);
} else if (rval < 6)
{
appeal = 20;
- SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_SLIGHTLY_WELL2);
+ SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_APPEAL_SLIGHTLY_WELL2);
} else if (rval < 8)
{
appeal = 40;
- SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_PRETTY_WELL2);
+ SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_APPEAL_PRETTY_WELL2);
} else if (rval < 9)
{
appeal = 60;
- SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_VERY_WELL);
+ SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_APPEAL_VERY_WELL);
}
else
{
appeal = 80;
- SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_EXCELLENTLY2);
+ SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_APPEAL_EXCELLENTLY2);
}
- sContestantStatus[shared192D0.contestant].appeal2 = appeal;
+ eContestantStatus[eContestResources8.contestant].appeal2 = appeal;
}
static void ContestEffect_BetterIfSameType(void)
{
- s8 turnOrder = shared192D0.turnOrder[shared192D0.contestant];
+ s8 turnOrder = eContestResources8.turnOrder[eContestResources8.contestant];
s8 i = turnOrder - 1, j;
u16 move;
@@ -649,10 +649,10 @@ static void ContestEffect_BetterIfSameType(void)
{
for (j = 0; j < 4; j++)
{
- if (shared192D0.turnOrder[j] == i)
+ if (eContestResources8.turnOrder[j] == i)
break;
}
- if (sContestantStatus[j].noMoreTurns || sContestantStatus[j].nervous || sContestantStatus[j].numTurnsSkipped)
+ if (eContestantStatus[j].noMoreTurns || eContestantStatus[j].nervous || eContestantStatus[j].numTurnsSkipped)
{
if (--i < 0)
return;
@@ -663,29 +663,29 @@ static void ContestEffect_BetterIfSameType(void)
}
}
- move = sContestantStatus[shared192D0.contestant].currMove;
- if (gContestMoves[move].contestCategory == gContestMoves[sContestantStatus[j].currMove].contestCategory)
+ move = eContestantStatus[eContestResources8.contestant].currMove;
+ if (gContestMoves[move].contestCategory == gContestMoves[eContestantStatus[j].currMove].contestCategory)
{
- sContestantStatus[shared192D0.contestant].appeal2 += gContestEffects[gContestMoves[move].effect].appeal * 2;
- SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_SAME_TYPE_GOOD);
+ eContestantStatus[eContestResources8.contestant].appeal2 += gContestEffects[gContestMoves[move].effect].appeal * 2;
+ SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_SAME_TYPE_GOOD);
}
}
// Works well if different in type than the one before.
static void ContestEffect_BetterIfDiffType(void)
{
- if (shared192D0.turnOrder[shared192D0.contestant] != 0)
+ if (eContestResources8.turnOrder[eContestResources8.contestant] != 0)
{
- u16 move = sContestantStatus[shared192D0.contestant].currMove;
+ u16 move = eContestantStatus[eContestResources8.contestant].currMove;
int i;
for (i = 0; i < 4; i++)
{
- if (shared192D0.turnOrder[shared192D0.contestant] - 1 == shared192D0.turnOrder[i] &&
- gContestMoves[move].contestCategory != gContestMoves[sContestantStatus[i].currMove].contestCategory)
+ if (eContestResources8.turnOrder[eContestResources8.contestant] - 1 == eContestResources8.turnOrder[i] &&
+ gContestMoves[move].contestCategory != gContestMoves[eContestantStatus[i].currMove].contestCategory)
{
- sContestantStatus[shared192D0.contestant].appeal2 += gContestEffects[gContestMoves[move].effect].appeal * 2;
- SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_DIFF_TYPE_GOOD);
+ eContestantStatus[eContestResources8.contestant].appeal2 += gContestEffects[gContestMoves[move].effect].appeal * 2;
+ SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_DIFF_TYPE_GOOD);
break;
}
}
@@ -695,52 +695,52 @@ static void ContestEffect_BetterIfDiffType(void)
// Affected by how well the appeal in front goes.
static void ContestEffect_AffectedByPrevAppeal(void)
{
- if (shared192D0.turnOrder[shared192D0.contestant] != 0)
+ if (eContestResources8.turnOrder[eContestResources8.contestant] != 0)
{
int i;
for (i = 0; i < 4; i++)
{
- if (shared192D0.turnOrder[shared192D0.contestant] - 1 == shared192D0.turnOrder[i])
+ if (eContestResources8.turnOrder[eContestResources8.contestant] - 1 == eContestResources8.turnOrder[i])
{
- if (sContestantStatus[shared192D0.contestant].appeal2 > sContestantStatus[i].appeal2)
+ if (eContestantStatus[eContestResources8.contestant].appeal2 > eContestantStatus[i].appeal2)
{
- sContestantStatus[shared192D0.contestant].appeal2 *= 2;
- SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_STOOD_OUT_AS_MUCH);
+ eContestantStatus[eContestResources8.contestant].appeal2 *= 2;
+ SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_STOOD_OUT_AS_MUCH);
}
- else if (sContestantStatus[shared192D0.contestant].appeal2 < sContestantStatus[i].appeal2)
+ else if (eContestantStatus[eContestResources8.contestant].appeal2 < eContestantStatus[i].appeal2)
{
- sContestantStatus[shared192D0.contestant].appeal2 = 0;
- SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_NOT_AS_WELL);
+ eContestantStatus[eContestResources8.contestant].appeal2 = 0;
+ SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_NOT_AS_WELL);
}
}
}
}
}
-// Ups the user’s condition. Helps prevent nervousness.
+// Ups the user's condition. Helps prevent nervousness.
static void ContestEffect_ImproveConditionPreventNervousness(void)
{
- if (sContestantStatus[shared192D0.contestant].condition < 30)
+ if (eContestantStatus[eContestResources8.contestant].condition < 30)
{
- sContestantStatus[shared192D0.contestant].condition += 10;
- sContestantStatus[shared192D0.contestant].conditionMod = 1;
- SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_CONDITION_ROSE);
+ eContestantStatus[eContestResources8.contestant].condition += 10;
+ eContestantStatus[eContestResources8.contestant].conditionMod = 1;
+ SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_CONDITION_ROSE);
}
else
{
- SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_NO_CONDITION_IMPROVE);
+ SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_NO_CONDITION_IMPROVE);
}
}
-// The appeal works well if the user’s condition is good.
+// The appeal works well if the user's condition is good.
static void ContestEffect_BetterWithGoodCondition(void)
{
- sContestantStatus[shared192D0.contestant].appealTripleCondition = TRUE;
- if (sContestantStatus[shared192D0.contestant].condition != 0)
- SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_HOT_STATUS);
+ eContestantStatus[eContestResources8.contestant].appealTripleCondition = TRUE;
+ if (eContestantStatus[eContestResources8.contestant].condition != 0)
+ SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_HOT_STATUS);
else
- SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_BAD_CONDITION_WEAK_APPEAL);
+ SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_BAD_CONDITION_WEAK_APPEAL);
}
// The next appeal can be made earlier next turn.
@@ -750,20 +750,20 @@ static void ContestEffect_NextAppealEarlier(void)
s8 j;
u8 turnOrder[4];
- if (sContest.turnNumber != 4)
+ if (eContest.turnNumber != 4)
{
for (i = 0; i < 4; i++)
- turnOrder[i] = sContestantStatus[i].nextTurnOrder;
+ turnOrder[i] = eContestantStatus[i].nextTurnOrder;
- turnOrder[shared192D0.contestant] = 0xFF;
+ turnOrder[eContestResources8.contestant] = 0xFF;
for (i = 0; i < 4; i++)
{
for (j = 0; j < 4; j++)
{
- if (j != shared192D0.contestant &&
+ if (j != eContestResources8.contestant &&
i == turnOrder[j] &&
- turnOrder[j] == sContestantStatus[j].nextTurnOrder)
+ turnOrder[j] == eContestantStatus[j].nextTurnOrder)
{
turnOrder[j]++;
break;
@@ -773,15 +773,15 @@ static void ContestEffect_NextAppealEarlier(void)
break;
}
- turnOrder[shared192D0.contestant] = 0;
- sContestantStatus[shared192D0.contestant].turnOrderMod = 1;
+ turnOrder[eContestResources8.contestant] = 0;
+ eContestantStatus[eContestResources8.contestant].turnOrderMod = 1;
for (i = 0; i < 4; i++)
{
- sContestantStatus[i].nextTurnOrder = turnOrder[i];
+ eContestantStatus[i].nextTurnOrder = turnOrder[i];
}
- sContestantStatus[shared192D0.contestant].turnOrderModAction = 1;
- SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_MOVE_UP_LINE);
+ eContestantStatus[eContestResources8.contestant].turnOrderModAction = 1;
+ SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_MOVE_UP_LINE);
}
}
@@ -792,20 +792,20 @@ static void ContestEffect_NextAppealLater(void)
s8 j;
u8 turnOrder[4];
- if (sContest.turnNumber != 4)
+ if (eContest.turnNumber != 4)
{
for (i = 0; i < 4; i++)
- turnOrder[i] = sContestantStatus[i].nextTurnOrder;
+ turnOrder[i] = eContestantStatus[i].nextTurnOrder;
- turnOrder[shared192D0.contestant] = 0xFF;
+ turnOrder[eContestResources8.contestant] = 0xFF;
for (i = 3; i > -1; i--)
{
for (j = 0; j < 4; j++)
{
- if (j != shared192D0.contestant &&
+ if (j != eContestResources8.contestant &&
i == turnOrder[j] &&
- turnOrder[j] == sContestantStatus[j].nextTurnOrder)
+ turnOrder[j] == eContestantStatus[j].nextTurnOrder)
{
turnOrder[j]--;
break;
@@ -815,19 +815,19 @@ static void ContestEffect_NextAppealLater(void)
break;
}
- turnOrder[shared192D0.contestant] = 3;
- sContestantStatus[shared192D0.contestant].turnOrderMod = 1;
+ turnOrder[eContestResources8.contestant] = 3;
+ eContestantStatus[eContestResources8.contestant].turnOrderMod = 1;
for (i = 0; i < 4; i++)
{
- sContestantStatus[i].nextTurnOrder = turnOrder[i];
+ eContestantStatus[i].nextTurnOrder = turnOrder[i];
}
- sContestantStatus[shared192D0.contestant].turnOrderModAction = 2;
- SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_MOVE_BACK_LINE);
+ eContestantStatus[eContestResources8.contestant].turnOrderModAction = 2;
+ SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_MOVE_BACK_LINE);
}
}
-// Makes the next turn’s order more easily scrambled.
+// Makes the next turn's order more easily scrambled.
static void ContestEffect_MakeScramblingTurnOrderEasier(void)
{
// dummied out?
@@ -841,11 +841,11 @@ static void ContestEffect_ScrambleNextTurnOrder(void)
u8 turnOrder[4];
u8 unselectedContestants[4];
- if (sContest.turnNumber != 4)
+ if (eContest.turnNumber != 4)
{
for (i = 0; i < 4; i++)
{
- turnOrder[i] = sContestantStatus[i].nextTurnOrder;
+ turnOrder[i] = eContestantStatus[i].nextTurnOrder;
unselectedContestants[i] = i;
}
@@ -871,24 +871,24 @@ static void ContestEffect_ScrambleNextTurnOrder(void)
for (i = 0; i < 4; i++)
{
- sContestantStatus[i].nextTurnOrder = turnOrder[i];
- sContestantStatus[i].turnOrderMod = 2;
+ eContestantStatus[i].nextTurnOrder = turnOrder[i];
+ eContestantStatus[i].turnOrderMod = 2;
}
- sContestantStatus[shared192D0.contestant].turnOrderModAction = 3;
- SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_SCRAMBLE_ORDER);
+ eContestantStatus[eContestResources8.contestant].turnOrderModAction = 3;
+ SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_SCRAMBLE_ORDER);
}
}
// An appeal that excites the audience in any CONTEST.
static void ContestEffect_ExciteAudienceInAnyContest(void)
{
- if (gContestMoves[sContestantStatus[shared192D0.contestant].currMove].contestCategory != gSpecialVar_ContestCategory)
+ if (gContestMoves[eContestantStatus[eContestResources8.contestant].currMove].contestCategory != gSpecialVar_ContestCategory)
{
- sContestantStatus[shared192D0.contestant].overrideCategoryExcitementMod = TRUE;
+ eContestantStatus[eContestResources8.contestant].overrideCategoryExcitementMod = TRUE;
}
}
-// Badly startles all POKéMON that made good appeals.
+// Badly startles all POKéMON that made good appeals.
static void ContestEffect_BadlyStartleMonsWithGoodAppeals(void)
{
int i;
@@ -896,24 +896,24 @@ static void ContestEffect_BadlyStartleMonsWithGoodAppeals(void)
for (i = 0; i < 4; i++)
{
- if (shared192D0.turnOrder[shared192D0.contestant] > shared192D0.turnOrder[i])
+ if (eContestResources8.turnOrder[eContestResources8.contestant] > eContestResources8.turnOrder[i])
{
- if (sContestantStatus[i].appeal2 > 0)
+ if (eContestantStatus[i].appeal2 > 0)
{
- shared192D0.jam = sContestantStatus[i].appeal2 / 2;
- shared192D0.jam = RoundUp(shared192D0.jam);
+ eContestResources8.jam = eContestantStatus[i].appeal2 / 2;
+ eContestResources8.jam = RoundUp(eContestResources8.jam);
}
else
- shared192D0.jam = 10;
- shared192D0.jamQueue[0] = i;
- shared192D0.jamQueue[1] = 0xFF;
+ eContestResources8.jam = 10;
+ eContestResources8.jamQueue[0] = i;
+ eContestResources8.jamQueue[1] = 0xFF;
if (WasAtLeastOneOpponentJammed())
numJammed++;
}
}
if (numJammed == 0)
- SetContestantEffectStringID2(shared192D0.contestant, CONTEST_STRING_MESSED_UP2);
- SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_ATTEMPT_STARTLE);
+ SetContestantEffectStringID2(eContestResources8.contestant, CONTEST_STRING_MESSED_UP2);
+ SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_ATTEMPT_STARTLE);
}
// The appeal works best the more the crowd is excited.
@@ -921,42 +921,42 @@ static void ContestEffect_BetterWhenAudienceExcited(void)
{
s16 appeal;
- if (sContest.applauseLevel == 0)
+ if (eContest.applauseLevel == 0)
{
appeal = 10;
- SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_NOT_VERY_WELL);
+ SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_APPEAL_NOT_VERY_WELL);
}
- else if (sContest.applauseLevel == 1)
+ else if (eContest.applauseLevel == 1)
{
appeal = 20;
- SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_SLIGHTLY_WELL2);
+ SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_APPEAL_SLIGHTLY_WELL2);
}
- else if (sContest.applauseLevel == 2)
+ else if (eContest.applauseLevel == 2)
{
appeal = 30;
- SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_PRETTY_WELL2);
+ SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_APPEAL_PRETTY_WELL2);
}
- else if (sContest.applauseLevel == 3)
+ else if (eContest.applauseLevel == 3)
{
appeal = 50;
- SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_VERY_WELL);
+ SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_APPEAL_VERY_WELL);
}
else
{
appeal = 60;
- SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_EXCELLENTLY2);
+ SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_APPEAL_EXCELLENTLY2);
}
- sContestantStatus[shared192D0.contestant].appeal2 = appeal;
+ eContestantStatus[eContestResources8.contestant].appeal2 = appeal;
}
// Temporarily stops the crowd from growing excited.
static void ContestEffect_DontExciteAudience(void)
{
- if (!shared19328.excitementFrozen)
+ if (!eContestResources10.excitementFrozen)
{
- shared19328.excitementFrozen = TRUE;
- shared19328.excitementFreezer = shared192D0.contestant;
- SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_ATTRACTED_ATTENTION);
+ eContestResources10.excitementFrozen = TRUE;
+ eContestResources10.excitementFreezer = eContestResources8.contestant;
+ SetContestantEffectStringID(eContestResources8.contestant, CONTEST_STRING_ATTRACTED_ATTENTION);
}
}
@@ -967,38 +967,38 @@ static void JamByMoveCategory(u8 category)
for (i = 0; i < 4; i++)
{
- if (shared192D0.turnOrder[shared192D0.contestant] > shared192D0.turnOrder[i])
+ if (eContestResources8.turnOrder[eContestResources8.contestant] > eContestResources8.turnOrder[i])
{
- if (category == gContestMoves[sContestantStatus[i].currMove].contestCategory)
- shared192D0.jam = 40;
+ if (category == gContestMoves[eContestantStatus[i].currMove].contestCategory)
+ eContestResources8.jam = 40;
else
- shared192D0.jam = 10;
- shared192D0.jamQueue[0] = i;
- shared192D0.jamQueue[1] = 0xFF;
+ eContestResources8.jam = 10;
+ eContestResources8.jamQueue[0] = i;
+ eContestResources8.jamQueue[1] = 0xFF;
if (WasAtLeastOneOpponentJammed())
numJammed++;
}
}
if (numJammed == 0)
- SetContestantEffectStringID2(shared192D0.contestant, CONTEST_STRING_MESSED_UP2);
+ SetContestantEffectStringID2(eContestResources8.contestant, CONTEST_STRING_MESSED_UP2);
}
static bool8 CanUnnerveContestant(u8 i)
{
- shared192D0.unnervedPokes[i] = 1;
- if (sContestantStatus[i].immune)
+ eContestResources8.unnervedPokes[i] = 1;
+ if (eContestantStatus[i].immune)
{
SetContestantEffectStringID(i, CONTEST_STRING_AVOID_SEEING);
return FALSE;
}
- else if (sContestantStatus[i].jamSafetyCount != 0)
+ else if (eContestantStatus[i].jamSafetyCount != 0)
{
- sContestantStatus[i].jamSafetyCount--;
+ eContestantStatus[i].jamSafetyCount--;
SetContestantEffectStringID(i, CONTEST_STRING_AVERT_GAZE);
return FALSE;
}
- else if (!sContestantStatus[i].noMoreTurns && sContestantStatus[i].numTurnsSkipped == 0)
+ else if (!eContestantStatus[i].noMoreTurns && eContestantStatus[i].numTurnsSkipped == 0)
{
return TRUE;
}
@@ -1013,32 +1013,32 @@ static bool8 WasAtLeastOneOpponentJammed(void)
s16 jamBuffer[4] = {0};
int i;
- for (i = 0; shared192D0.jamQueue[i] != 0xFF; i++)
+ for (i = 0; eContestResources8.jamQueue[i] != 0xFF; i++)
{
- u8 contestant = shared192D0.jamQueue[i];
+ u8 contestant = eContestResources8.jamQueue[i];
if (CanUnnerveContestant(contestant))
{
- shared192D0.jam2 = shared192D0.jam;
- if (sContestantStatus[contestant].moreEasilyStartled)
- shared192D0.jam2 *= 2;
- if (sContestantStatus[contestant].resistant)
+ eContestResources8.jam2 = eContestResources8.jam;
+ if (eContestantStatus[contestant].moreEasilyStartled)
+ eContestResources8.jam2 *= 2;
+ if (eContestantStatus[contestant].resistant)
{
- shared192D0.jam2 = 10;
+ eContestResources8.jam2 = 10;
SetContestantEffectStringID(contestant, CONTEST_STRING_LITTLE_DISTRACTED);
}
else
{
- shared192D0.jam2 -= sContestantStatus[contestant].jamReduction;
- if (shared192D0.jam2 <= 0)
+ eContestResources8.jam2 -= eContestantStatus[contestant].jamReduction;
+ if (eContestResources8.jam2 <= 0)
{
- shared192D0.jam2 = 0;
+ eContestResources8.jam2 = 0;
SetContestantEffectStringID(contestant, CONTEST_STRING_NOT_FAZED);
}
else
{
- JamContestant(contestant, shared192D0.jam2);
- SetStartledString(contestant, shared192D0.jam2);
- jamBuffer[contestant] = shared192D0.jam2;
+ JamContestant(contestant, eContestResources8.jam2);
+ SetStartledString(contestant, eContestResources8.jam2);
+ jamBuffer[contestant] = eContestResources8.jam2;
}
}
}
@@ -1054,8 +1054,8 @@ static bool8 WasAtLeastOneOpponentJammed(void)
static void JamContestant(u8 i, u8 jam)
{
- sContestantStatus[i].appeal2 -= jam;
- sContestantStatus[i].jam += jam;
+ eContestantStatus[i].appeal2 -= jam;
+ eContestantStatus[i].jam += jam;
}
static s16 RoundTowardsZero(s16 score)
diff --git a/src/contest_link_80F57C4.c b/src/contest_link_80F57C4.c
index cf0e77c3c..aa3c67050 100644
--- a/src/contest_link_80F57C4.c
+++ b/src/contest_link_80F57C4.c
@@ -309,7 +309,7 @@ void sub_80F5B00(void)
gBattle_WIN1V = 0x80A0;
CreateTask(sub_80F68B4, 20);
sub_80F7880();
- if (gIsLinkContest & 0x2)
+ if (gLinkContestFlags & LINK_CONTEST_FLAG_IS_WIRELESS)
gPaletteFade.bufferTransferDisabled = 1;
else
PlayBGM(MUS_CON_K);
@@ -351,12 +351,12 @@ static void sub_80F5CE4(u8 taskId)
{
u16 var;
- if (gIsLinkContest & 1)
+ if (gLinkContestFlags & LINK_CONTEST_FLAG_IS_LINK)
{
switch (gTasks[taskId].data[0])
{
case 0:
- sub_80DBED4();
+ SaveLinkContestResults();
if (gContestFinalStandings[gContestPlayerMonIndex] == 0)
{
IncrementGameStat(GAME_STAT_WON_LINK_CONTEST);
@@ -381,7 +381,7 @@ static void sub_80F5CE4(u8 taskId)
break;
case 1:
gTasks[taskId].data[0]++;
- if (!(gIsLinkContest & 0x2))
+ if (!(gLinkContestFlags & LINK_CONTEST_FLAG_IS_WIRELESS))
gTasks[taskId].data[0] = 100;
break;
case 2:
@@ -406,7 +406,7 @@ static void sub_80F5CE4(u8 taskId)
if (!gPaletteFade.active)
{
gTasks[taskId].data[0] = 0;
- if (gIsLinkContest & 0x1)
+ if (gLinkContestFlags & LINK_CONTEST_FLAG_IS_LINK)
{
sub_80F707C(gText_CommunicationStandby);
gTasks[taskId].func = sub_80F5ED8;
@@ -742,7 +742,7 @@ static void sub_80F66B4(u8 taskId)
if (gMain.newKeys & A_BUTTON)
{
- if (!(gIsLinkContest & 0x1))
+ if (!(gLinkContestFlags & LINK_CONTEST_FLAG_IS_LINK))
{
for (i = 0; i < 4; i++)
{
@@ -758,7 +758,7 @@ static void sub_80F66B4(u8 taskId)
static void sub_80F671C(u8 taskId)
{
- if (gIsLinkContest & 0x1)
+ if (gLinkContestFlags & LINK_CONTEST_FLAG_IS_LINK)
{
if (!gTasks[taskId].data[10])
{
@@ -777,7 +777,7 @@ static void sub_80F677C(u8 taskId)
{
if (!gReceivedRemoteLinkPlayers)
{
- if (gIsLinkContest & 0x2)
+ if (gLinkContestFlags & LINK_CONTEST_FLAG_IS_WIRELESS)
DestroyWirelessStatusIndicatorSprite();
sub_80F7144();
@@ -787,7 +787,7 @@ static void sub_80F677C(u8 taskId)
static void sub_80F67C4(u8 taskId)
{
- if (!(gIsLinkContest & 0x1))
+ if (!(gLinkContestFlags & LINK_CONTEST_FLAG_IS_LINK))
BravoTrainerPokemonProfile_BeforeInterview2(gContestFinalStandings[gContestPlayerMonIndex]);
BeginHardwarePaletteFade(0xFF, 0, 0, 16, 0);
@@ -907,9 +907,9 @@ static void sub_80F6AE8(void)
u16 sheet;
u8 spriteId;
- if (gIsLinkContest & 0x2)
+ if (gLinkContestFlags & LINK_CONTEST_FLAG_IS_WIRELESS)
{
- sub_800E0E8();
+ LoadWirelessStatusIndicatorSpriteGfx();
CreateWirelessStatusIndicatorSprite(8, 8);
gSprites[gWirelessStatusIndicatorSpriteId].subpriority = 1;
sheet = LoadSpriteSheet(&gUnknown_0858D8E0);
@@ -1392,7 +1392,7 @@ static void sub_80F71C8(void)
x = 5;
y = 1;
- if (gIsLinkContest & 0x1)
+ if (gLinkContestFlags & LINK_CONTEST_FLAG_IS_LINK)
{
CopyToBgTilemapBufferRect(2, gUnknown_08DC6498, 5, 1, 5, 2);
x = 10;
@@ -2830,7 +2830,7 @@ void sub_80F8390(void)
void sub_80F83D0(void)
{
- SetMainCallback2(sub_80D7B24);
+ SetMainCallback2(CB2_StartContest);
}
static void sub_80F83E0(u8 taskId)
@@ -2886,7 +2886,7 @@ void sub_80F84C4(u8 taskId)
static void sub_80F8508(u8 taskId)
{
- if (gIsLinkContest & 0x4)
+ if (gLinkContestFlags & LINK_CONTEST_FLAG_HAS_RS_PLAYER)
{
sub_80DA8C8(gContestMonPartyIndex);
SetTaskFuncWithFollowupFunc(taskId, sub_80FC6BC, sub_80F8568);
@@ -3069,7 +3069,7 @@ _080F8678:\n\
static void sub_80F86B8(u8 taskId)
{
- sub_80DCE58(0);
+ SortContestants(FALSE);
SetTaskFuncWithFollowupFunc(taskId, sub_80FCFD0, sub_80F8714);
}
diff --git a/src/contest_link_80FC4F4.c b/src/contest_link_80FC4F4.c
index f582626f8..d6cfea638 100644
--- a/src/contest_link_80FC4F4.c
+++ b/src/contest_link_80FC4F4.c
@@ -72,22 +72,22 @@ static void sub_80FC5DC(u8 taskId)
gContestPlayerMonIndex = GetMultiplayerId();
gNumLinkContestPlayers = GetLinkPlayerCount();
- gIsLinkContest = 1;
+ gLinkContestFlags = LINK_CONTEST_FLAG_IS_LINK;
if (gWirelessCommType == 1)
- gIsLinkContest = 3;
+ gLinkContestFlags = LINK_CONTEST_FLAG_IS_LINK | LINK_CONTEST_FLAG_IS_WIRELESS;
for (i = 0; i < gNumLinkContestPlayers && (u32)(gLinkPlayers[i].version & 0xFF) - 1 > VERSION_RUBY - 1; i++)
;
if (i < gNumLinkContestPlayers)
- gIsLinkContest |= 0x4;
+ gLinkContestFlags |= LINK_CONTEST_FLAG_HAS_RS_PLAYER;
SwitchTaskToFollowupFunc(taskId);
}
bool32 sub_80FC670(s16 *arg0)
{
- if (gIsLinkContest & 0x4)
+ if (gLinkContestFlags & LINK_CONTEST_FLAG_HAS_RS_PLAYER)
return TRUE;
switch (*arg0)
@@ -269,7 +269,7 @@ void sub_80FC9F8(u8 taskId)
case 0:
if (IsLinkTaskFinished())
{
- if (sub_80FC4F4(&gContestResources->field_4[gContestPlayerMonIndex].currMove, sizeof(gContestResources->field_4[gContestPlayerMonIndex].currMove)) == TRUE)
+ if (sub_80FC4F4(&eContestantStatus[gContestPlayerMonIndex].currMove, sizeof(eContestantStatus[gContestPlayerMonIndex].currMove)) == TRUE)
gTasks[taskId].data[0]++;
}
break;
@@ -277,7 +277,7 @@ void sub_80FC9F8(u8 taskId)
if (sub_80FC55C())
{
for (i = 0; i < gNumLinkContestPlayers; i++)
- gContestResources->field_4[i].currMove = gBlockRecvBuffer[i][0];
+ eContestantStatus[i].currMove = gBlockRecvBuffer[i][0];
gTasks[taskId].data[0]++;
}
@@ -373,14 +373,14 @@ void sub_80FCC88(u8 taskId)
case 0:
if (IsLinkTaskFinished())
{
- if (sub_80FC4F4(gContestResources->field_4, 4 * sizeof(struct ContestantStatus)) == 1)
+ if (sub_80FC4F4(eContestantStatus, 4 * sizeof(struct ContestantStatus)) == 1)
gTasks[taskId].data[0]++;
}
break;
case 1:
if (sub_80FC55C())
{
- memcpy(gContestResources->field_4, gBlockRecvBuffer[gUnknown_02039F2B], 4 * sizeof(struct ContestantStatus));
+ memcpy(eContestantStatus, gBlockRecvBuffer[gUnknown_02039F2B], 4 * sizeof(struct ContestantStatus));
gTasks[taskId].data[0]++;
}
break;
@@ -425,14 +425,14 @@ void sub_80FCC88(u8 taskId)
case 9:
if (IsLinkTaskFinished())
{
- if (sub_80FC4F4(gUnknown_02039F26, sizeof(gUnknown_02039F26)) == 1)
+ if (sub_80FC4F4(gContestantTurnOrder, sizeof(gContestantTurnOrder)) == 1)
gTasks[taskId].data[0]++;
}
break;
case 10:
if (sub_80FC55C())
{
- memcpy(gUnknown_02039F26, gBlockRecvBuffer[gUnknown_02039F2B], sizeof(gUnknown_02039F26));
+ memcpy(gContestantTurnOrder, gBlockRecvBuffer[gUnknown_02039F2B], sizeof(gContestantTurnOrder));
gTasks[taskId].data[0]++;
}
break;
@@ -528,14 +528,14 @@ void sub_80FCFD0(u8 taskId)
case 0:
if (IsLinkTaskFinished())
{
- if (sub_80FC4F4(gUnknown_02039F26, sizeof(gUnknown_02039F26)) == 1)
+ if (sub_80FC4F4(gContestantTurnOrder, sizeof(gContestantTurnOrder)) == 1)
gTasks[taskId].data[0]++;
}
break;
case 1:
if (sub_80FC55C())
{
- memcpy(gUnknown_02039F26, gBlockRecvBuffer[gUnknown_02039F2B], sizeof(gUnknown_02039F26));
+ memcpy(gContestantTurnOrder, gBlockRecvBuffer[gUnknown_02039F2B], sizeof(gContestantTurnOrder));
gTasks[taskId].data[0]++;
}
break;
diff --git a/src/contest_link_81D9DE4.c b/src/contest_link_81D9DE4.c
index 4b56c9c38..8060b6cdc 100644
--- a/src/contest_link_81D9DE4.c
+++ b/src/contest_link_81D9DE4.c
@@ -134,7 +134,7 @@ static void sub_81DA10C(u8 taskId)
static void sub_81DA138(u8 taskId)
{
- sub_80DCE58(0);
+ SortContestants(FALSE);
SetTaskFuncWithFollowupFunc(taskId, sub_80FCFD0, sub_80F8714);
}
diff --git a/src/data/contest_opponents.h b/src/data/contest_opponents.h
index ef1fdba9f..010559e3b 100644
--- a/src/data/contest_opponents.h
+++ b/src/data/contest_opponents.h
@@ -183,7 +183,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("POOCHY"),
.trainerName = _("JIMMY"),
.trainerGfxId = EVENT_OBJ_GFX_BOY_1,
- .flags = 0xC000FFF,
+ .aiChecks = 0xC000FFF,
.whichRank = CONTEST_RANK_NORMAL,
.aiPool_Cool = TRUE,
.aiPool_Beauty = FALSE,
@@ -212,7 +212,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("MUSILLE"),
.trainerName = _("EDITH"),
.trainerGfxId = EVENT_OBJ_GFX_GIRL_1,
- .flags = 0x82000FFF,
+ .aiChecks = 0x82000FFF,
.whichRank = CONTEST_RANK_NORMAL,
.aiPool_Cool = FALSE,
.aiPool_Beauty = FALSE,
@@ -241,7 +241,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("DUSTER"),
.trainerName = _("EVAN"),
.trainerGfxId = EVENT_OBJ_GFX_LITTLE_BOY,
- .flags = 0x21000FFF,
+ .aiChecks = 0x21000FFF,
.whichRank = CONTEST_RANK_NORMAL,
.aiPool_Cool = FALSE,
.aiPool_Beauty = TRUE,
@@ -270,7 +270,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("DOTS"),
.trainerName = _("KELSEY"),
.trainerGfxId = EVENT_OBJ_GFX_WOMAN_1,
- .flags = 0x20800FFF,
+ .aiChecks = 0x20800FFF,
.whichRank = CONTEST_RANK_NORMAL,
.aiPool_Cool = FALSE,
.aiPool_Beauty = FALSE,
@@ -299,7 +299,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("TATAY"),
.trainerName = _("MADISON"),
.trainerGfxId = EVENT_OBJ_GFX_POKEFAN_F,
- .flags = 0x80400FFF,
+ .aiChecks = 0x80400FFF,
.whichRank = CONTEST_RANK_NORMAL,
.aiPool_Cool = TRUE,
.aiPool_Beauty = FALSE,
@@ -328,7 +328,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("NINDA"),
.trainerName = _("RAYMOND"),
.trainerGfxId = EVENT_OBJ_GFX_BLACK_BELT,
- .flags = 0x10200FFF,
+ .aiChecks = 0x10200FFF,
.whichRank = CONTEST_RANK_NORMAL,
.aiPool_Cool = FALSE,
.aiPool_Beauty = FALSE,
@@ -357,7 +357,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("SMISH"),
.trainerName = _("GRANT"),
.trainerGfxId = EVENT_OBJ_GFX_YOUNGSTER,
- .flags = 0x20100FFF,
+ .aiChecks = 0x20100FFF,
.whichRank = CONTEST_RANK_NORMAL,
.aiPool_Cool = FALSE,
.aiPool_Beauty = FALSE,
@@ -386,7 +386,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("SLEAL"),
.trainerName = _("PAIGE"),
.trainerGfxId = EVENT_OBJ_GFX_WOMAN_4,
- .flags = 0x8080FFF,
+ .aiChecks = 0x8080FFF,
.whichRank = CONTEST_RANK_NORMAL,
.aiPool_Cool = FALSE,
.aiPool_Beauty = TRUE,
@@ -415,7 +415,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("SLOKTH"),
.trainerName = _("ALEC"),
.trainerGfxId = EVENT_OBJ_GFX_CAMPER,
- .flags = 0x40040FFF,
+ .aiChecks = 0x40040FFF,
.whichRank = CONTEST_RANK_NORMAL,
.aiPool_Cool = FALSE,
.aiPool_Beauty = TRUE,
@@ -444,7 +444,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("WHIRIS"),
.trainerName = _("SYDNEY"),
.trainerGfxId = EVENT_OBJ_GFX_LASS,
- .flags = 0x80020FFF,
+ .aiChecks = 0x80020FFF,
.whichRank = CONTEST_RANK_NORMAL,
.aiPool_Cool = TRUE,
.aiPool_Beauty = FALSE,
@@ -473,7 +473,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("MAHITA"),
.trainerName = _("MORRIS"),
.trainerGfxId = EVENT_OBJ_GFX_SCHOOL_KID_M,
- .flags = 0x8010FFF,
+ .aiChecks = 0x8010FFF,
.whichRank = CONTEST_RANK_NORMAL,
.aiPool_Cool = TRUE,
.aiPool_Beauty = FALSE,
@@ -502,7 +502,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("RONAR"),
.trainerName = _("MARIAH"),
.trainerGfxId = EVENT_OBJ_GFX_GIRL_2,
- .flags = 0x8008FFF,
+ .aiChecks = 0x8008FFF,
.whichRank = CONTEST_RANK_NORMAL,
.aiPool_Cool = TRUE,
.aiPool_Beauty = FALSE,
@@ -531,7 +531,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("BATRO"),
.trainerName = _("RUSSELL"),
.trainerGfxId = EVENT_OBJ_GFX_MAN_3,
- .flags = 0x90004FFF,
+ .aiChecks = 0x90004FFF,
.whichRank = CONTEST_RANK_NORMAL,
.aiPool_Cool = FALSE,
.aiPool_Beauty = TRUE,
@@ -560,7 +560,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("GULIN"),
.trainerName = _("MELANIE"),
.trainerGfxId = EVENT_OBJ_GFX_TWIN,
- .flags = 0x40002FFF,
+ .aiChecks = 0x40002FFF,
.whichRank = CONTEST_RANK_NORMAL,
.aiPool_Cool = FALSE,
.aiPool_Beauty = FALSE,
@@ -589,7 +589,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("RIKELEC"),
.trainerName = _("CHANCE"),
.trainerGfxId = EVENT_OBJ_GFX_RICH_BOY,
- .flags = 0x80001FFF,
+ .aiChecks = 0x80001FFF,
.whichRank = CONTEST_RANK_NORMAL,
.aiPool_Cool = TRUE,
.aiPool_Beauty = TRUE,
@@ -618,7 +618,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("BULBY"),
.trainerName = _("AGATHA"),
.trainerGfxId = EVENT_OBJ_GFX_WOMAN_2,
- .flags = 0xC000FFF,
+ .aiChecks = 0xC000FFF,
.whichRank = CONTEST_RANK_NORMAL,
.aiPool_Cool = FALSE,
.aiPool_Beauty = FALSE,
@@ -647,7 +647,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("FUTTERBE"),
.trainerName = _("BEAU"),
.trainerGfxId = EVENT_OBJ_GFX_HEX_MANIAC,
- .flags = 0x82000FFF,
+ .aiChecks = 0x82000FFF,
.whichRank = CONTEST_RANK_NORMAL,
.aiPool_Cool = FALSE,
.aiPool_Beauty = TRUE,
@@ -676,7 +676,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("PIDEOT"),
.trainerName = _("KAY"),
.trainerGfxId = EVENT_OBJ_GFX_WOMAN_5,
- .flags = 0x21000FFF,
+ .aiChecks = 0x21000FFF,
.whichRank = CONTEST_RANK_NORMAL,
.aiPool_Cool = TRUE,
.aiPool_Beauty = TRUE,
@@ -705,7 +705,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("DIGLE"),
.trainerName = _("CALE"),
.trainerGfxId = EVENT_OBJ_GFX_HIKER,
- .flags = 0x20800FFF,
+ .aiChecks = 0x20800FFF,
.whichRank = CONTEST_RANK_NORMAL,
.aiPool_Cool = FALSE,
.aiPool_Beauty = FALSE,
@@ -734,7 +734,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("WAGIL"),
.trainerName = _("CAITLIN"),
.trainerGfxId = EVENT_OBJ_GFX_TUBER_F,
- .flags = 0x80400FFF,
+ .aiChecks = 0x80400FFF,
.whichRank = CONTEST_RANK_NORMAL,
.aiPool_Cool = FALSE,
.aiPool_Beauty = TRUE,
@@ -763,7 +763,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("TOTDIL"),
.trainerName = _("COLBY"),
.trainerGfxId = EVENT_OBJ_GFX_NINJA_BOY,
- .flags = 0x10200FFF,
+ .aiChecks = 0x10200FFF,
.whichRank = CONTEST_RANK_NORMAL,
.aiPool_Cool = TRUE,
.aiPool_Beauty = TRUE,
@@ -792,7 +792,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("BALEDY"),
.trainerName = _("KYLIE"),
.trainerGfxId = EVENT_OBJ_GFX_BEAUTY,
- .flags = 0x20100FFF,
+ .aiChecks = 0x20100FFF,
.whichRank = CONTEST_RANK_NORMAL,
.aiPool_Cool = TRUE,
.aiPool_Beauty = FALSE,
@@ -821,7 +821,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("BIRDLY"),
.trainerName = _("LIAM"),
.trainerGfxId = EVENT_OBJ_GFX_MAN_5,
- .flags = 0x8080FFF,
+ .aiChecks = 0x8080FFF,
.whichRank = CONTEST_RANK_NORMAL,
.aiPool_Cool = FALSE,
.aiPool_Beauty = FALSE,
@@ -850,7 +850,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("TARVITAR"),
.trainerName = _("MILO"),
.trainerGfxId = EVENT_OBJ_GFX_MANIAC,
- .flags = 0x40040FFF,
+ .aiChecks = 0x40040FFF,
.whichRank = CONTEST_RANK_NORMAL,
.aiPool_Cool = FALSE,
.aiPool_Beauty = FALSE,
@@ -879,7 +879,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("RELIA"),
.trainerName = _("KARINA"),
.trainerGfxId = EVENT_OBJ_GFX_PICNICKER,
- .flags = 0x24000FFF,
+ .aiChecks = 0x24000FFF,
.whichRank = CONTEST_RANK_SUPER,
.aiPool_Cool = FALSE,
.aiPool_Beauty = TRUE,
@@ -908,7 +908,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("DUODO"),
.trainerName = _("BOBBY"),
.trainerGfxId = EVENT_OBJ_GFX_RUNNING_TRIATHLETE_M,
- .flags = 0x82000FFF,
+ .aiChecks = 0x82000FFF,
.whichRank = CONTEST_RANK_SUPER,
.aiPool_Cool = TRUE,
.aiPool_Beauty = TRUE,
@@ -937,7 +937,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("PINCHIN"),
.trainerName = _("CLAIRE"),
.trainerGfxId = EVENT_OBJ_GFX_GIRL_1,
- .flags = 0x81000FFF,
+ .aiChecks = 0x81000FFF,
.whichRank = CONTEST_RANK_SUPER,
.aiPool_Cool = FALSE,
.aiPool_Beauty = FALSE,
@@ -966,7 +966,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("NACAC"),
.trainerName = _("WILLIE"),
.trainerGfxId = EVENT_OBJ_GFX_LITTLE_BOY,
- .flags = 0x80800FFF,
+ .aiChecks = 0x80800FFF,
.whichRank = CONTEST_RANK_SUPER,
.aiPool_Cool = TRUE,
.aiPool_Beauty = FALSE,
@@ -995,7 +995,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("SHRAND"),
.trainerName = _("CASSIDY"),
.trainerGfxId = EVENT_OBJ_GFX_POKEFAN_F,
- .flags = 0x10400FFF,
+ .aiChecks = 0x10400FFF,
.whichRank = CONTEST_RANK_SUPER,
.aiPool_Cool = TRUE,
.aiPool_Beauty = FALSE,
@@ -1024,7 +1024,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("TOYBAL"),
.trainerName = _("MORGAN"),
.trainerGfxId = EVENT_OBJ_GFX_BLACK_BELT,
- .flags = 0x8200FFF,
+ .aiChecks = 0x8200FFF,
.whichRank = CONTEST_RANK_SUPER,
.aiPool_Cool = FALSE,
.aiPool_Beauty = TRUE,
@@ -1053,7 +1053,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("CHAMCHAM"),
.trainerName = _("SUMMER"),
.trainerGfxId = EVENT_OBJ_GFX_WOMAN_4,
- .flags = 0x10100FFF,
+ .aiChecks = 0x10100FFF,
.whichRank = CONTEST_RANK_SUPER,
.aiPool_Cool = TRUE,
.aiPool_Beauty = TRUE,
@@ -1082,7 +1082,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("SPININ"),
.trainerName = _("MILES"),
.trainerGfxId = EVENT_OBJ_GFX_CAMPER,
- .flags = 0x80080FFF,
+ .aiChecks = 0x80080FFF,
.whichRank = CONTEST_RANK_SUPER,
.aiPool_Cool = FALSE,
.aiPool_Beauty = FALSE,
@@ -1111,7 +1111,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("SWABY"),
.trainerName = _("AUDREY"),
.trainerGfxId = EVENT_OBJ_GFX_LASS,
- .flags = 0xA0040FFF,
+ .aiChecks = 0xA0040FFF,
.whichRank = CONTEST_RANK_SUPER,
.aiPool_Cool = FALSE,
.aiPool_Beauty = TRUE,
@@ -1140,7 +1140,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("POINKER"),
.trainerName = _("AVERY"),
.trainerGfxId = EVENT_OBJ_GFX_SCHOOL_KID_M,
- .flags = 0x80020FFF,
+ .aiChecks = 0x80020FFF,
.whichRank = CONTEST_RANK_SUPER,
.aiPool_Cool = FALSE,
.aiPool_Beauty = FALSE,
@@ -1169,7 +1169,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("KECON"),
.trainerName = _("ARIANA"),
.trainerGfxId = EVENT_OBJ_GFX_GIRL_2,
- .flags = 0x80010FFF,
+ .aiChecks = 0x80010FFF,
.whichRank = CONTEST_RANK_SUPER,
.aiPool_Cool = FALSE,
.aiPool_Beauty = FALSE,
@@ -1198,7 +1198,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("GOLDEN"),
.trainerName = _("ASHTON"),
.trainerGfxId = EVENT_OBJ_GFX_MAN_3,
- .flags = 0x80008FFF,
+ .aiChecks = 0x80008FFF,
.whichRank = CONTEST_RANK_SUPER,
.aiPool_Cool = TRUE,
.aiPool_Beauty = TRUE,
@@ -1227,7 +1227,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("BOBOACH"),
.trainerName = _("SANDRA"),
.trainerGfxId = EVENT_OBJ_GFX_TWIN,
- .flags = 0x80004FFF,
+ .aiChecks = 0x80004FFF,
.whichRank = CONTEST_RANK_SUPER,
.aiPool_Cool = FALSE,
.aiPool_Beauty = FALSE,
@@ -1256,7 +1256,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("CORPY"),
.trainerName = _("CARSON"),
.trainerGfxId = EVENT_OBJ_GFX_YOUNGSTER,
- .flags = 0x8002FFF,
+ .aiChecks = 0x8002FFF,
.whichRank = CONTEST_RANK_SUPER,
.aiPool_Cool = TRUE,
.aiPool_Beauty = TRUE,
@@ -1285,7 +1285,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("TADO"),
.trainerName = _("KATRINA"),
.trainerGfxId = EVENT_OBJ_GFX_WOMAN_1,
- .flags = 0x8001FFF,
+ .aiChecks = 0x8001FFF,
.whichRank = CONTEST_RANK_SUPER,
.aiPool_Cool = FALSE,
.aiPool_Beauty = TRUE,
@@ -1314,7 +1314,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("BROWLO"),
.trainerName = _("LUKE"),
.trainerGfxId = EVENT_OBJ_GFX_FAT_MAN,
- .flags = 0xC000FFF,
+ .aiChecks = 0xC000FFF,
.whichRank = CONTEST_RANK_SUPER,
.aiPool_Cool = FALSE,
.aiPool_Beauty = FALSE,
@@ -1343,7 +1343,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("FETCHIN"),
.trainerName = _("RAUL"),
.trainerGfxId = EVENT_OBJ_GFX_MAN_5,
- .flags = 0x82000FFF,
+ .aiChecks = 0x82000FFF,
.whichRank = CONTEST_RANK_SUPER,
.aiPool_Cool = TRUE,
.aiPool_Beauty = FALSE,
@@ -1372,7 +1372,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("SEELEY"),
.trainerName = _("JADA"),
.trainerGfxId = EVENT_OBJ_GFX_WOMAN_2,
- .flags = 0x21000FFF,
+ .aiChecks = 0x21000FFF,
.whichRank = CONTEST_RANK_SUPER,
.aiPool_Cool = FALSE,
.aiPool_Beauty = TRUE,
@@ -1401,7 +1401,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("DROWZIN"),
.trainerName = _("ZEEK"),
.trainerGfxId = EVENT_OBJ_GFX_PSYCHIC_M,
- .flags = 0x20800FFF,
+ .aiChecks = 0x20800FFF,
.whichRank = CONTEST_RANK_SUPER,
.aiPool_Cool = FALSE,
.aiPool_Beauty = TRUE,
@@ -1430,7 +1430,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("HITEMON"),
.trainerName = _("DIEGO"),
.trainerGfxId = EVENT_OBJ_GFX_EXPERT_M,
- .flags = 0x80400FFF,
+ .aiChecks = 0x80400FFF,
.whichRank = CONTEST_RANK_SUPER,
.aiPool_Cool = TRUE,
.aiPool_Beauty = FALSE,
@@ -1459,7 +1459,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("BLISS"),
.trainerName = _("ALIYAH"),
.trainerGfxId = EVENT_OBJ_GFX_TEALA,
- .flags = 0x10200FFF,
+ .aiChecks = 0x10200FFF,
.whichRank = CONTEST_RANK_SUPER,
.aiPool_Cool = FALSE,
.aiPool_Beauty = TRUE,
@@ -1488,7 +1488,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("KIDLEK"),
.trainerName = _("NATALIA"),
.trainerGfxId = EVENT_OBJ_GFX_POKEFAN_F,
- .flags = 0x20100FFF,
+ .aiChecks = 0x20100FFF,
.whichRank = CONTEST_RANK_SUPER,
.aiPool_Cool = TRUE,
.aiPool_Beauty = FALSE,
@@ -1517,7 +1517,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("SNUBBINS"),
.trainerName = _("DEVIN"),
.trainerGfxId = EVENT_OBJ_GFX_GENTLEMAN,
- .flags = 0x8080FFF,
+ .aiChecks = 0x8080FFF,
.whichRank = CONTEST_RANK_SUPER,
.aiPool_Cool = FALSE,
.aiPool_Beauty = FALSE,
@@ -1546,7 +1546,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("DREAVIS"),
.trainerName = _("TYLOR"),
.trainerGfxId = EVENT_OBJ_GFX_HEX_MANIAC,
- .flags = 0x40040FFF,
+ .aiChecks = 0x40040FFF,
.whichRank = CONTEST_RANK_SUPER,
.aiPool_Cool = FALSE,
.aiPool_Beauty = TRUE,
@@ -1575,7 +1575,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("LAIRN"),
.trainerName = _("RONNIE"),
.trainerGfxId = EVENT_OBJ_GFX_HIKER,
- .flags = 0x84000FFF,
+ .aiChecks = 0x84000FFF,
.whichRank = CONTEST_RANK_HYPER,
.aiPool_Cool = FALSE,
.aiPool_Beauty = FALSE,
@@ -1604,7 +1604,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("SHIFTY"),
.trainerName = _("CLAUDIA"),
.trainerGfxId = EVENT_OBJ_GFX_GIRL_1,
- .flags = 0x82000FFF,
+ .aiChecks = 0x82000FFF,
.whichRank = CONTEST_RANK_HYPER,
.aiPool_Cool = TRUE,
.aiPool_Beauty = TRUE,
@@ -1633,7 +1633,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("NINAS"),
.trainerName = _("ELIAS"),
.trainerGfxId = EVENT_OBJ_GFX_LITTLE_BOY,
- .flags = 0x81000FFF,
+ .aiChecks = 0x81000FFF,
.whichRank = CONTEST_RANK_HYPER,
.aiPool_Cool = FALSE,
.aiPool_Beauty = FALSE,
@@ -1662,7 +1662,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("WELOW"),
.trainerName = _("JADE"),
.trainerGfxId = EVENT_OBJ_GFX_POKEFAN_F,
- .flags = 0x80800FFF,
+ .aiChecks = 0x80800FFF,
.whichRank = CONTEST_RANK_HYPER,
.aiPool_Cool = TRUE,
.aiPool_Beauty = TRUE,
@@ -1691,7 +1691,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("YENA"),
.trainerName = _("FRANCIS"),
.trainerGfxId = EVENT_OBJ_GFX_BLACK_BELT,
- .flags = 0x80400FFF,
+ .aiChecks = 0x80400FFF,
.whichRank = CONTEST_RANK_HYPER,
.aiPool_Cool = FALSE,
.aiPool_Beauty = FALSE,
@@ -1720,7 +1720,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("TIFLY"),
.trainerName = _("ALISHA"),
.trainerGfxId = EVENT_OBJ_GFX_WOMAN_4,
- .flags = 0x80200FFF,
+ .aiChecks = 0x80200FFF,
.whichRank = CONTEST_RANK_HYPER,
.aiPool_Cool = FALSE,
.aiPool_Beauty = TRUE,
@@ -1749,7 +1749,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("KINGSEA"),
.trainerName = _("SAUL"),
.trainerGfxId = EVENT_OBJ_GFX_CAMPER,
- .flags = 0x80100FFF,
+ .aiChecks = 0x80100FFF,
.whichRank = CONTEST_RANK_HYPER,
.aiPool_Cool = TRUE,
.aiPool_Beauty = FALSE,
@@ -1778,7 +1778,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("CASTER"),
.trainerName = _("FELICIA"),
.trainerGfxId = EVENT_OBJ_GFX_LASS,
- .flags = 0x80080FFF,
+ .aiChecks = 0x80080FFF,
.whichRank = CONTEST_RANK_HYPER,
.aiPool_Cool = TRUE,
.aiPool_Beauty = TRUE,
@@ -1807,7 +1807,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("CHOKEM"),
.trainerName = _("EMILIO"),
.trainerGfxId = EVENT_OBJ_GFX_SCHOOL_KID_M,
- .flags = 0x80040FFF,
+ .aiChecks = 0x80040FFF,
.whichRank = CONTEST_RANK_HYPER,
.aiPool_Cool = TRUE,
.aiPool_Beauty = FALSE,
@@ -1836,7 +1836,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("LOMBE"),
.trainerName = _("KARLA"),
.trainerGfxId = EVENT_OBJ_GFX_GIRL_2,
- .flags = 0x80020FFF,
+ .aiChecks = 0x80020FFF,
.whichRank = CONTEST_RANK_HYPER,
.aiPool_Cool = FALSE,
.aiPool_Beauty = TRUE,
@@ -1865,7 +1865,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("VIPES"),
.trainerName = _("DARRYL"),
.trainerGfxId = EVENT_OBJ_GFX_MAN_3,
- .flags = 0x80010FFF,
+ .aiChecks = 0x80010FFF,
.whichRank = CONTEST_RANK_HYPER,
.aiPool_Cool = FALSE,
.aiPool_Beauty = FALSE,
@@ -1894,7 +1894,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("MERAIL"),
.trainerName = _("SELENA"),
.trainerGfxId = EVENT_OBJ_GFX_EXPERT_F,
- .flags = 0x80008FFF,
+ .aiChecks = 0x80008FFF,
.whichRank = CONTEST_RANK_HYPER,
.aiPool_Cool = FALSE,
.aiPool_Beauty = TRUE,
@@ -1923,7 +1923,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("KARPAG"),
.trainerName = _("NOEL"),
.trainerGfxId = EVENT_OBJ_GFX_YOUNGSTER,
- .flags = 0x80004FFF,
+ .aiChecks = 0x80004FFF,
.whichRank = CONTEST_RANK_HYPER,
.aiPool_Cool = FALSE,
.aiPool_Beauty = FALSE,
@@ -1952,7 +1952,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("LUNONE"),
.trainerName = _("LACEY"),
.trainerGfxId = EVENT_OBJ_GFX_WOMAN_1,
- .flags = 0x80002FFF,
+ .aiChecks = 0x80002FFF,
.whichRank = CONTEST_RANK_HYPER,
.aiPool_Cool = FALSE,
.aiPool_Beauty = TRUE,
@@ -1981,7 +1981,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("ABSO"),
.trainerName = _("CORBIN"),
.trainerGfxId = EVENT_OBJ_GFX_MANIAC,
- .flags = 0x80001FFF,
+ .aiChecks = 0x80001FFF,
.whichRank = CONTEST_RANK_HYPER,
.aiPool_Cool = TRUE,
.aiPool_Beauty = TRUE,
@@ -2010,7 +2010,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("EGGSOR"),
.trainerName = _("GRACIE"),
.trainerGfxId = EVENT_OBJ_GFX_PICNICKER,
- .flags = 0xC000FFF,
+ .aiChecks = 0xC000FFF,
.whichRank = CONTEST_RANK_HYPER,
.aiPool_Cool = FALSE,
.aiPool_Beauty = FALSE,
@@ -2039,7 +2039,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("CUBIN"),
.trainerName = _("COLTIN"),
.trainerGfxId = EVENT_OBJ_GFX_MAN_4,
- .flags = 0x82000FFF,
+ .aiChecks = 0x82000FFF,
.whichRank = CONTEST_RANK_HYPER,
.aiPool_Cool = FALSE,
.aiPool_Beauty = FALSE,
@@ -2068,7 +2068,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("HITMON"),
.trainerName = _("ELLIE"),
.trainerGfxId = EVENT_OBJ_GFX_EXPERT_F,
- .flags = 0x21000FFF,
+ .aiChecks = 0x21000FFF,
.whichRank = CONTEST_RANK_HYPER,
.aiPool_Cool = TRUE,
.aiPool_Beauty = FALSE,
@@ -2097,7 +2097,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("SURTLE"),
.trainerName = _("MARCUS"),
.trainerGfxId = EVENT_OBJ_GFX_SAILOR,
- .flags = 0x20800FFF,
+ .aiChecks = 0x20800FFF,
.whichRank = CONTEST_RANK_HYPER,
.aiPool_Cool = FALSE,
.aiPool_Beauty = FALSE,
@@ -2126,7 +2126,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("KHANKAN"),
.trainerName = _("KIARA"),
.trainerGfxId = EVENT_OBJ_GFX_GIRL_3,
- .flags = 0x80400FFF,
+ .aiChecks = 0x80400FFF,
.whichRank = CONTEST_RANK_HYPER,
.aiPool_Cool = TRUE,
.aiPool_Beauty = FALSE,
@@ -2155,7 +2155,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("PINOC"),
.trainerName = _("BRYCE"),
.trainerGfxId = EVENT_OBJ_GFX_BUG_CATCHER,
- .flags = 0x10200FFF,
+ .aiChecks = 0x10200FFF,
.whichRank = CONTEST_RANK_HYPER,
.aiPool_Cool = FALSE,
.aiPool_Beauty = TRUE,
@@ -2184,7 +2184,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("DILTOT"),
.trainerName = _("JAMIE"),
.trainerGfxId = EVENT_OBJ_GFX_WOMAN_5,
- .flags = 0x20100FFF,
+ .aiChecks = 0x20100FFF,
.whichRank = CONTEST_RANK_HYPER,
.aiPool_Cool = FALSE,
.aiPool_Beauty = FALSE,
@@ -2213,7 +2213,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("DOOMOND"),
.trainerName = _("JORGE"),
.trainerGfxId = EVENT_OBJ_GFX_GENTLEMAN,
- .flags = 0x8080FFF,
+ .aiChecks = 0x8080FFF,
.whichRank = CONTEST_RANK_HYPER,
.aiPool_Cool = TRUE,
.aiPool_Beauty = TRUE,
@@ -2242,7 +2242,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("MILKAN"),
.trainerName = _("DEVON"),
.trainerGfxId = EVENT_OBJ_GFX_POKEFAN_M,
- .flags = 0x40040FFF,
+ .aiChecks = 0x40040FFF,
.whichRank = CONTEST_RANK_HYPER,
.aiPool_Cool = FALSE,
.aiPool_Beauty = TRUE,
@@ -2271,7 +2271,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("RADOS"),
.trainerName = _("JUSTINA"),
.trainerGfxId = EVENT_OBJ_GFX_PICNICKER,
- .flags = 0x84000FFF,
+ .aiChecks = 0x84000FFF,
.whichRank = CONTEST_RANK_MASTER,
.aiPool_Cool = TRUE,
.aiPool_Beauty = TRUE,
@@ -2300,7 +2300,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("LOUDERD"),
.trainerName = _("RALPH"),
.trainerGfxId = EVENT_OBJ_GFX_EXPERT_M,
- .flags = 0x82000FFF,
+ .aiChecks = 0x82000FFF,
.whichRank = CONTEST_RANK_MASTER,
.aiPool_Cool = TRUE,
.aiPool_Beauty = FALSE,
@@ -2329,7 +2329,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("SITTY"),
.trainerName = _("ROSA"),
.trainerGfxId = EVENT_OBJ_GFX_GIRL_1,
- .flags = 0x81000FFF,
+ .aiChecks = 0x81000FFF,
.whichRank = CONTEST_RANK_MASTER,
.aiPool_Cool = FALSE,
.aiPool_Beauty = TRUE,
@@ -2358,7 +2358,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("SLING"),
.trainerName = _("KEATON"),
.trainerGfxId = EVENT_OBJ_GFX_LITTLE_BOY,
- .flags = 0x80800FFF,
+ .aiChecks = 0x80800FFF,
.whichRank = CONTEST_RANK_MASTER,
.aiPool_Cool = FALSE,
.aiPool_Beauty = FALSE,
@@ -2387,7 +2387,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("TARIA"),
.trainerName = _("MAYRA"),
.trainerGfxId = EVENT_OBJ_GFX_POKEFAN_F,
- .flags = 0x80400FFF,
+ .aiChecks = 0x80400FFF,
.whichRank = CONTEST_RANK_MASTER,
.aiPool_Cool = TRUE,
.aiPool_Beauty = TRUE,
@@ -2416,7 +2416,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("LIRKI"),
.trainerName = _("LAMAR"),
.trainerGfxId = EVENT_OBJ_GFX_RICH_BOY,
- .flags = 0x80200FFF,
+ .aiChecks = 0x80200FFF,
.whichRank = CONTEST_RANK_MASTER,
.aiPool_Cool = TRUE,
.aiPool_Beauty = FALSE,
@@ -2445,7 +2445,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("BLOSSOM"),
.trainerName = _("AUBREY"),
.trainerGfxId = EVENT_OBJ_GFX_WOMAN_4,
- .flags = 0x80100FFF,
+ .aiChecks = 0x80100FFF,
.whichRank = CONTEST_RANK_MASTER,
.aiPool_Cool = FALSE,
.aiPool_Beauty = TRUE,
@@ -2474,7 +2474,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("EYESAB"),
.trainerName = _("NIGEL"),
.trainerGfxId = EVENT_OBJ_GFX_CAMPER,
- .flags = 0x80080FFF,
+ .aiChecks = 0x80080FFF,
.whichRank = CONTEST_RANK_MASTER,
.aiPool_Cool = FALSE,
.aiPool_Beauty = FALSE,
@@ -2503,7 +2503,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("UTAN"),
.trainerName = _("CAMILLE"),
.trainerGfxId = EVENT_OBJ_GFX_LASS,
- .flags = 0x80040FFF,
+ .aiChecks = 0x80040FFF,
.whichRank = CONTEST_RANK_MASTER,
.aiPool_Cool = FALSE,
.aiPool_Beauty = FALSE,
@@ -2532,7 +2532,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("PEDOS"),
.trainerName = _("DEON"),
.trainerGfxId = EVENT_OBJ_GFX_SCHOOL_KID_M,
- .flags = 0x80020FFF,
+ .aiChecks = 0x80020FFF,
.whichRank = CONTEST_RANK_MASTER,
.aiPool_Cool = TRUE,
.aiPool_Beauty = FALSE,
@@ -2561,7 +2561,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("LUVIS"),
.trainerName = _("JANELLE"),
.trainerGfxId = EVENT_OBJ_GFX_GIRL_2,
- .flags = 0x80010FFF,
+ .aiChecks = 0x80010FFF,
.whichRank = CONTEST_RANK_MASTER,
.aiPool_Cool = FALSE,
.aiPool_Beauty = FALSE,
@@ -2590,7 +2590,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("HEROSS"),
.trainerName = _("HEATH"),
.trainerGfxId = EVENT_OBJ_GFX_MAN_3,
- .flags = 0x80008FFF,
+ .aiChecks = 0x80008FFF,
.whichRank = CONTEST_RANK_MASTER,
.aiPool_Cool = TRUE,
.aiPool_Beauty = FALSE,
@@ -2619,7 +2619,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("RODLECT"),
.trainerName = _("SASHA"),
.trainerGfxId = EVENT_OBJ_GFX_TWIN,
- .flags = 0x80004FFF,
+ .aiChecks = 0x80004FFF,
.whichRank = CONTEST_RANK_MASTER,
.aiPool_Cool = TRUE,
.aiPool_Beauty = TRUE,
@@ -2648,7 +2648,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("CHUPY"),
.trainerName = _("FRANKIE"),
.trainerGfxId = EVENT_OBJ_GFX_YOUNGSTER,
- .flags = 0x80002FFF,
+ .aiChecks = 0x80002FFF,
.whichRank = CONTEST_RANK_MASTER,
.aiPool_Cool = FALSE,
.aiPool_Beauty = TRUE,
@@ -2677,7 +2677,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("WOBET"),
.trainerName = _("HELEN"),
.trainerGfxId = EVENT_OBJ_GFX_WOMAN_1,
- .flags = 0x80001FFF,
+ .aiChecks = 0x80001FFF,
.whichRank = CONTEST_RANK_MASTER,
.aiPool_Cool = TRUE,
.aiPool_Beauty = TRUE,
@@ -2706,7 +2706,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("GAREN"),
.trainerName = _("CAMILE"),
.trainerGfxId = EVENT_OBJ_GFX_HEX_MANIAC,
- .flags = 0xC000FFF,
+ .aiChecks = 0xC000FFF,
.whichRank = CONTEST_RANK_MASTER,
.aiPool_Cool = TRUE,
.aiPool_Beauty = FALSE,
@@ -2735,7 +2735,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("GONPOR"),
.trainerName = _("MARTIN"),
.trainerGfxId = EVENT_OBJ_GFX_SCIENTIST_1,
- .flags = 0x82000FFF,
+ .aiChecks = 0x82000FFF,
.whichRank = CONTEST_RANK_MASTER,
.aiPool_Cool = TRUE,
.aiPool_Beauty = TRUE,
@@ -2764,7 +2764,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("DRITE"),
.trainerName = _("SERGIO"),
.trainerGfxId = EVENT_OBJ_GFX_BOY_1,
- .flags = 0x21000FFF,
+ .aiChecks = 0x21000FFF,
.whichRank = CONTEST_RANK_MASTER,
.aiPool_Cool = TRUE,
.aiPool_Beauty = FALSE,
@@ -2793,7 +2793,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("MEOWY"),
.trainerName = _("KAILEY"),
.trainerGfxId = EVENT_OBJ_GFX_TWIN,
- .flags = 0x20800FFF,
+ .aiChecks = 0x20800FFF,
.whichRank = CONTEST_RANK_MASTER,
.aiPool_Cool = FALSE,
.aiPool_Beauty = FALSE,
@@ -2822,7 +2822,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("NYX"),
.trainerName = _("PERLA"),
.trainerGfxId = EVENT_OBJ_GFX_BEAUTY,
- .flags = 0x80400FFF,
+ .aiChecks = 0x80400FFF,
.whichRank = CONTEST_RANK_MASTER,
.aiPool_Cool = FALSE,
.aiPool_Beauty = TRUE,
@@ -2851,7 +2851,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("GEPITO"),
.trainerName = _("CLARA"),
.trainerGfxId = EVENT_OBJ_GFX_WOMAN_2,
- .flags = 0x10200FFF,
+ .aiChecks = 0x10200FFF,
.whichRank = CONTEST_RANK_MASTER,
.aiPool_Cool = FALSE,
.aiPool_Beauty = FALSE,
@@ -2880,7 +2880,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("SPEON"),
.trainerName = _("JAKOB"),
.trainerGfxId = EVENT_OBJ_GFX_PSYCHIC_M,
- .flags = 0x20100FFF,
+ .aiChecks = 0x20100FFF,
.whichRank = CONTEST_RANK_MASTER,
.aiPool_Cool = TRUE,
.aiPool_Beauty = TRUE,
@@ -2909,7 +2909,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("SLOWGO"),
.trainerName = _("TREY"),
.trainerGfxId = EVENT_OBJ_GFX_SAILOR,
- .flags = 0x8080FFF,
+ .aiChecks = 0x8080FFF,
.whichRank = CONTEST_RANK_MASTER,
.aiPool_Cool = FALSE,
.aiPool_Beauty = FALSE,
@@ -2938,7 +2938,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("URSING"),
.trainerName = _("LANE"),
.trainerGfxId = EVENT_OBJ_GFX_BLACK_BELT,
- .flags = 0x40040FFF,
+ .aiChecks = 0x40040FFF,
.whichRank = CONTEST_RANK_MASTER,
.aiPool_Cool = TRUE,
.aiPool_Beauty = FALSE,
diff --git a/src/diploma.c b/src/diploma.c
index 2113b09ed..92c7df703 100644
--- a/src/diploma.c
+++ b/src/diploma.c
@@ -14,6 +14,7 @@
#include "overworld.h"
#include "menu.h"
#include "pokedex.h"
+#include "constants/rgb.h"
extern const u8 gText_DexNational[];
extern const u8 gText_DexHoenn[];
@@ -83,7 +84,7 @@ void CB2_ShowDiploma(void)
CopyBgTilemapBufferToVram(1);
DisplayDiplomaText();
BlendPalettes(-1, 16, 0);
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK);
EnableInterrupts(1);
SetVBlankCallback(VBlankCB);
SetMainCallback2(MainCB2);
@@ -108,7 +109,7 @@ static void Task_DiplomaWaitForKeyPress(u8 taskId)
{
if (gMain.newKeys & (A_BUTTON | B_BUTTON))
{
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK);
gTasks[taskId].func = Task_DiplomaFadeOut;
}
}
diff --git a/src/easy_chat.c b/src/easy_chat.c
index b29a05bab..93456631a 100644
--- a/src/easy_chat.c
+++ b/src/easy_chat.c
@@ -32,6 +32,7 @@
#include "constants/flags.h"
#include "constants/songs.h"
#include "constants/species.h"
+#include "constants/rgb.h"
#define EZCHAT_TASK_STATE 0
#define EZCHAT_TASK_TYPE 1
@@ -1139,20 +1140,20 @@ static void sub_811A2FC(u8 taskId)
case 0:
SetVBlankCallback(VBlankCallback_EasyChatScreen);
BlendPalettes(0xFFFFFFFF, 16, 0);
- BeginNormalPaletteFade(0xFFFFFFFF, -1, 16, 0, 0);
+ BeginNormalPaletteFade(0xFFFFFFFF, -1, 16, 0, RGB_BLACK);
data[EZCHAT_TASK_STATE] = 5;
break;
case 1:
v0 = sub_811AAAC();
if (sub_811A88C(v0))
{
- BeginNormalPaletteFade(0xFFFFFFFF, -2, 0, 16, 0);
+ BeginNormalPaletteFade(0xFFFFFFFF, -2, 0, 16, RGB_BLACK);
data[EZCHAT_TASK_STATE] = 3;
data[EZCHAT_TASK_UNK06] = v0;
}
else if (v0 == 0x18)
{
- BeginNormalPaletteFade(0xFFFFFFFF, -1, 0, 16, 0);
+ BeginNormalPaletteFade(0xFFFFFFFF, -1, 0, 16, RGB_BLACK);
data[EZCHAT_TASK_STATE] = 4;
}
else if (v0 != 0)
diff --git a/src/egg_hatch.c b/src/egg_hatch.c
index 65601d64a..605cd0366 100644
--- a/src/egg_hatch.c
+++ b/src/egg_hatch.c
@@ -35,6 +35,7 @@
#include "field_screen_effect.h"
#include "data.h"
#include "battle.h" // to get rid of later
+#include "constants/rgb.h"
struct EggHatchData
{
@@ -596,7 +597,7 @@ static void CB2_EggHatch_1(void)
switch (sEggHatchData->CB2_state)
{
case 0:
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, RGB_BLACK);
sEggHatchData->eggSpriteID = CreateSprite(&sSpriteTemplate_EggHatch, 120, 75, 5);
ShowBg(0);
ShowBg(1);
@@ -679,7 +680,7 @@ static void CB2_EggHatch_1(void)
}
break;
case 11:
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK);
sEggHatchData->CB2_state++;
break;
case 12:
@@ -789,7 +790,7 @@ static void SpriteCB_Egg_4(struct Sprite* sprite)
{
s16 i;
if (sprite->data[0] == 0)
- BeginNormalPaletteFade(0xFFFFFFFF, -1, 0, 0x10, 0xFFFF);
+ BeginNormalPaletteFade(0xFFFFFFFF, -1, 0, 0x10, RGB_WHITEALPHA);
if (sprite->data[0] < 4u)
{
for (i = 0; i <= 3; i++)
@@ -813,7 +814,7 @@ static void SpriteCB_Egg_5(struct Sprite* sprite)
StartSpriteAffineAnim(&gSprites[sEggHatchData->pokeSpriteID], 1);
}
if (sprite->data[0] == 8)
- BeginNormalPaletteFade(0xFFFFFFFF, -1, 0x10, 0, 0xFFFF);
+ BeginNormalPaletteFade(0xFFFFFFFF, -1, 0x10, 0, RGB_WHITEALPHA);
if (sprite->data[0] <= 9)
gSprites[sEggHatchData->pokeSpriteID].pos1.y -= 1;
if (sprite->data[0] > 40)
diff --git a/src/evolution_graphics.c b/src/evolution_graphics.c
index e36d47c2b..816929f8b 100644
--- a/src/evolution_graphics.c
+++ b/src/evolution_graphics.c
@@ -8,6 +8,7 @@
#include "sound.h"
#include "constants/songs.h"
#include "palette.h"
+#include "constants/rgb.h"
// this file's functions
static void EvoSparkle_DummySpriteCb(struct Sprite* sprite);
@@ -268,7 +269,7 @@ static void EvoTask_BeginPreSet1_FadeAndPlaySE(u8 taskID)
{
SetEvoSparklesMatrices();
gTasks[taskID].tFrameCounter = 0;
- BeginNormalPaletteFade(3 << gTasks[taskID].data[1], 0xA, 0, 0x10, 0x7FFF);
+ BeginNormalPaletteFade(3 << gTasks[taskID].data[1], 0xA, 0, 0x10, RGB_WHITE);
gTasks[taskID].func = EvoTask_CreatePreEvoSparkleSet1;
PlaySE(SE_W025);
}
@@ -386,7 +387,7 @@ static void EvoTask_BeginPostSparklesSet2_AndFlash(u8 taskID)
SetEvoSparklesMatrices();
gTasks[taskID].tFrameCounter = 0;
CpuSet(&gPlttBufferFaded[0x20], &gPlttBufferUnfaded[0x20], 0x30);
- BeginNormalPaletteFade(0xFFF9041C, 0, 0, 0x10, 0x7FFF); // was 0xFFF9001C in R/S
+ BeginNormalPaletteFade(0xFFF9041C, 0, 0, 0x10, RGB_WHITE); // was 0xFFF9001C in R/S
gTasks[taskID].func = EvoTask_CreatePostEvoSparklesSet2_AndFlash;
PlaySE(SE_W080);
}
@@ -407,7 +408,7 @@ static void EvoTask_CreatePostEvoSparklesSet2_AndFlash(u8 taskID)
CreatePostEvoSparkleSet2(i);
break;
case 32:
- BeginNormalPaletteFade(0xFFFF041C, 0x10, 0x10, 0, 0x7FFF); // was 0xFFF9001C in R/S
+ BeginNormalPaletteFade(0xFFFF041C, 0x10, 0x10, 0, RGB_WHITE); // was 0xFFF9001C in R/S
break;
}
gTasks[taskID].tFrameCounter++;
@@ -434,7 +435,7 @@ static void EvoTask_BeginPostSparklesSet2_AndFlash_Trade(u8 taskID)
SetEvoSparklesMatrices();
gTasks[taskID].tFrameCounter = 0;
CpuSet(&gPlttBufferFaded[0x20], &gPlttBufferUnfaded[0x20], 0x30);
- BeginNormalPaletteFade(0xFFF90400, 0, 0, 0x10, 0x7FFF); // was 0xFFFF0001 in R/S
+ BeginNormalPaletteFade(0xFFF90400, 0, 0, 0x10, RGB_WHITE); // was 0xFFFF0001 in R/S
gTasks[taskID].func = EvoTask_CreatePostEvoSparklesSet2_AndFlash_Trade;
PlaySE(SE_W080);
}
@@ -455,7 +456,7 @@ static void EvoTask_CreatePostEvoSparklesSet2_AndFlash_Trade(u8 taskID)
CreatePostEvoSparkleSet2(i);
break;
case 32:
- BeginNormalPaletteFade(0xFFFF0400, 0x10, 0x10, 0, 0x7FFF); // was 0xFFFF0001 in R/S
+ BeginNormalPaletteFade(0xFFFF0400, 0x10, 0x10, 0, RGB_WHITE); // was 0xFFFF0001 in R/S
break;
}
gTasks[taskID].tFrameCounter++;
diff --git a/src/evolution_scene.c b/src/evolution_scene.c
index 4b8223b17..1e120bc90 100644
--- a/src/evolution_scene.c
+++ b/src/evolution_scene.c
@@ -32,6 +32,7 @@
#include "constants/battle_string_ids.h"
#include "constants/species.h"
#include "constants/songs.h"
+#include "constants/rgb.h"
struct EvoInfo
{
@@ -169,7 +170,7 @@ static void Task_BeginEvolutionScene(u8 taskID)
switch (gTasks[taskID].tState)
{
case 0:
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK);
gTasks[taskID].tState++;
break;
case 1:
@@ -366,7 +367,7 @@ static void CB2_EvolutionSceneLoadGraphics(void)
SetVBlankCallback(VBlankCB_EvolutionScene);
SetMainCallback2(CB2_EvolutionSceneUpdate);
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, RGB_BLACK);
ShowBg(0);
ShowBg(1);
@@ -443,14 +444,14 @@ static void CB2_TradeEvolutionSceneLoadGraphics(void)
case 6:
if (gWirelessCommType)
{
- sub_800E0E8();
+ LoadWirelessStatusIndicatorSpriteGfx();
CreateWirelessStatusIndicatorSprite(0, 0);
}
BlendPalettes(-1,0x10, 0);
gMain.state++;
break;
case 7:
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, RGB_BLACK);
sub_807B140();
ShowBg(0);
ShowBg(1);
@@ -603,7 +604,7 @@ static void Task_EvolutionScene(u8 taskID)
switch (gTasks[taskID].tState)
{
case 0:
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, RGB_BLACK);
gSprites[sEvoStructPtr->preEvoSpriteID].invisible = FALSE;
gTasks[taskID].tState++;
ShowBg(0);
@@ -638,7 +639,7 @@ static void Task_EvolutionScene(u8 taskID)
{
PlayNewMapMusic(MUS_SHINKA);
gTasks[taskID].tState++;
- BeginNormalPaletteFade(0x1C, 4, 0, 0x10, 0);
+ BeginNormalPaletteFade(0x1C, 4, 0, 0x10, RGB_BLACK);
}
break;
case 5: // launch moving bg task, preapre evo sparkles
@@ -696,7 +697,7 @@ static void Task_EvolutionScene(u8 taskID)
m4aMPlayAllStop();
memcpy(&gPlttBufferUnfaded[0x20], sEvoStructPtr->savedPalette, 0x60);
sub_8140174();
- BeginNormalPaletteFade(0x1C, 0, 0x10, 0, 0);
+ BeginNormalPaletteFade(0x1C, 0, 0x10, 0, RGB_BLACK);
gTasks[taskID].tState++;
}
break;
@@ -751,7 +752,7 @@ static void Task_EvolutionScene(u8 taskID)
}
else // no move to learn
{
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK);
gTasks[taskID].tState++;
}
}
@@ -779,7 +780,7 @@ static void Task_EvolutionScene(u8 taskID)
if (!gTasks[sEvoGraphicsTaskID].isActive)
{
m4aMPlayAllStop();
- BeginNormalPaletteFade(0x6001C, 0, 0x10, 0, 0x7FFF);
+ BeginNormalPaletteFade(0x6001C, 0, 0x10, 0, RGB_WHITE);
gTasks[taskID].tState++;
}
break;
@@ -885,7 +886,7 @@ static void Task_EvolutionScene(u8 taskID)
{
gTasks[taskID].tLearnMoveState = gTasks[taskID].tData7;
if (gTasks[taskID].tLearnMoveState == 5)
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK);
}
}
if (gMain.newKeys & B_BUTTON)
@@ -1007,7 +1008,7 @@ static void Task_TradeEvolutionScene(u8 taskID)
{
PlayBGM(MUS_SHINKA);
gTasks[taskID].tState++;
- BeginNormalPaletteFade(0x1C, 4, 0, 0x10, 0);
+ BeginNormalPaletteFade(0x1C, 4, 0, 0x10, RGB_BLACK);
}
break;
case 4:
@@ -1128,7 +1129,7 @@ static void Task_TradeEvolutionScene(u8 taskID)
if (!gTasks[sEvoGraphicsTaskID].isActive)
{
m4aMPlayAllStop();
- BeginNormalPaletteFade((1 << (gSprites[sEvoStructPtr->preEvoSpriteID].oam.paletteNum + 16)) | (0x4001C), 0, 0x10, 0, 0x7FFF);
+ BeginNormalPaletteFade((1 << (gSprites[sEvoStructPtr->preEvoSpriteID].oam.paletteNum + 16)) | (0x4001C), 0, 0x10, 0, RGB_WHITE);
gTasks[taskID].tState++;
}
break;
@@ -1211,7 +1212,7 @@ static void Task_TradeEvolutionScene(u8 taskID)
sub_807F1A8(0, gDisplayedStringBattle, 1);
gTasks[taskID].tLearnMoveState = gTasks[taskID].tData7;
if (gTasks[taskID].tLearnMoveState == 5)
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK);
break;
case 1:
case -1:
diff --git a/src/field_region_map.c b/src/field_region_map.c
index 1d54333fb..ac1b26154 100644
--- a/src/field_region_map.c
+++ b/src/field_region_map.c
@@ -11,6 +11,7 @@
#include "text.h"
#include "text_window.h"
#include "window.h"
+#include "constants/rgb.h"
// Static type declarations
@@ -145,7 +146,7 @@ static void FieldUpdateRegionMap(void)
schedule_bg_copy_tilemap_to_vram(0);
DrawStdFrameWithCustomTileAndPalette(0, 0, 0x27, 0xd);
PrintRegionMapSecName();
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK);
sFieldRegionMapHandler->state++;
break;
case 2:
@@ -173,7 +174,7 @@ static void FieldUpdateRegionMap(void)
}
break;
case 5:
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK);
sFieldRegionMapHandler->state++;
break;
case 6:
diff --git a/src/graphics.c b/src/graphics.c
index 531d337a2..163cecf5b 100644
--- a/src/graphics.c
+++ b/src/graphics.c
@@ -446,8 +446,8 @@ const u32 gUnusedTilemap_OldContest[] = INCBIN_U32("graphics/unused/old_contest.
const u32 gUnknownTilemap_C15BC0[] = INCBIN_U32("graphics/unknown/unknown_C15BC0.bin.lz");
const u32 gUnusedGfx_OldContest2[] = INCBIN_U32("graphics/unused/old_contest_2.4bpp.lz");
-const u32 gUnknown_08C16E90[] = INCBIN_U32("graphics/unused/old_contest_2.gbapal.lz");
-const u32 gUnknown_08C16FA8[] = INCBIN_U32("graphics/unused/old_contest_2.bin.lz");
+const u32 gOldContestPalette[] = INCBIN_U32("graphics/unused/old_contest_2.gbapal.lz");
+const u32 gOldContestGfx[] = INCBIN_U32("graphics/unused/old_contest_2.bin.lz");
const u32 gUnknown_08C17170[] = INCBIN_U32("graphics/unknown/unknown_C17170.bin.lz");
diff --git a/src/hof_pc.c b/src/hof_pc.c
index d76f04372..01015ee81 100644
--- a/src/hof_pc.c
+++ b/src/hof_pc.c
@@ -6,6 +6,7 @@
#include "script.h"
#include "script_menu.h"
#include "task.h"
+#include "constants/rgb.h"
static void ReshowPCMenuAfterHallOfFamePC(void);
static void Task_WaitForPaletteFade(u8);
@@ -28,7 +29,7 @@ static void ReshowPCMenuAfterHallOfFamePC(void)
Overworld_PlaySpecialMapMusic();
ScrSpecial_CreatePCMenu();
ScriptMenu_DisplayPCStartupPrompt();
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, RGB_BLACK);
CreateTask(Task_WaitForPaletteFade, 10);
}
diff --git a/src/item_menu.c b/src/item_menu.c
index c000b9563..bfeeaacd0 100755
--- a/src/item_menu.c
+++ b/src/item_menu.c
@@ -49,6 +49,7 @@
#include "window.h"
#include "apprentice.h"
#include "battle_pike.h"
+#include "constants/rgb.h"
void GoToBagMenu(u8 bagMenuType, u8 pocketId, void ( *postExitMenuMainCallback2)());
void CB2_Bag(void);
@@ -659,7 +660,7 @@ bool8 setup_bag_menu(void)
gMain.state++;
break;
case 20:
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK);
gPaletteFade.bufferTransferDisabled = FALSE;
gMain.state++;
break;
@@ -942,7 +943,7 @@ void free_bag_item_list_buffers(void)
void unknown_ItemMenu_Confirm(u8 taskId)
{
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK);
gTasks[taskId].func = task_close_bag_menu_2;
}
diff --git a/src/link.c b/src/link.c
index 525d50d7c..bcdcb52a4 100644
--- a/src/link.c
+++ b/src/link.c
@@ -27,6 +27,7 @@
#include "battle.h"
#include "link.h"
#include "link_rfu.h"
+#include "constants/rgb.h"
extern u16 gHeldKeyCodeToSend;
@@ -444,7 +445,7 @@ static void LinkTestProcessKeyInput(void)
}
if (gMain.newKeys & L_BUTTON)
{
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 2);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB(2, 0, 0));
}
if (gMain.newKeys & START_BUTTON)
{
diff --git a/src/link_rfu.c b/src/link_rfu.c
index 7c55df783..9732e9889 100644
--- a/src/link_rfu.c
+++ b/src/link_rfu.c
@@ -2263,7 +2263,7 @@ void DestroyWirelessStatusIndicatorSprite(void)
}
}
-void sub_800E0E8(void)
+void LoadWirelessStatusIndicatorSpriteGfx(void)
{
if (GetSpriteTileStartByTag(sWirelessStatusIndicatorSpriteSheet.tag) == 0xFFFF)
{
diff --git a/src/mail.c b/src/mail.c
index 9cca4492e..0078bc4fc 100644
--- a/src/mail.c
+++ b/src/mail.c
@@ -19,6 +19,7 @@
#include "constants/species.h"
#include "alloc.h"
#include "easy_chat.h"
+#include "constants/rgb.h"
extern const u16 gMailPalette_Orange[];
extern const u16 gMailPalette_Harbor[];
@@ -417,7 +418,7 @@ static bool8 MailReadBuildGraphics(void)
ShowBg(0);
ShowBg(1);
ShowBg(2);
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK);
gPaletteFade.bufferTransferDisabled = FALSE;
sMailRead->callback2 = CB2_WaitForPaletteExitOnKeyPress;
return TRUE;
@@ -526,7 +527,7 @@ static void CB2_ExitOnKeyPress(void)
{
if (gMain.newKeys & (A_BUTTON | B_BUTTON))
{
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK);
sMailRead->callback2 = CB2_ExitMailReadFreeVars;
}
}
diff --git a/src/main_menu.c b/src/main_menu.c
index 504c1bd33..bc509c70d 100644
--- a/src/main_menu.c
+++ b/src/main_menu.c
@@ -584,9 +584,9 @@ static u32 InitMainMenu(bool8 returningFromOptionsMenu)
ResetSpriteData();
FreeAllSpritePalettes();
if (returningFromOptionsMenu)
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0x0000); // fade to black
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, RGB_BLACK); // fade to black
else
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0xFFFF); // fade to white
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, RGB_WHITEALPHA); // fade to white
ResetBgsAndClearDma3BusyFlags(0);
InitBgsFromTemplates(0, sMainMenuBgTemplates, ARRAY_COUNT(sMainMenuBgTemplates));
ChangeBgX(0, 0, 0);
@@ -1098,7 +1098,7 @@ static void Task_HandleMainMenuAPressed(u8 taskId)
SetGpuReg(REG_OFFSET_BG1VOFS, 0);
SetGpuReg(REG_OFFSET_BG0HOFS, 0);
SetGpuReg(REG_OFFSET_BG0VOFS, 0);
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK);
return;
}
FreeAllWindowBuffers();
@@ -1287,7 +1287,7 @@ static void Task_NewGameBirchSpeech_Init(u8 taskId)
FreeAllSpritePalettes();
ResetAllPicSprites();
AddBirchSpeechObjects(taskId);
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK);
gTasks[taskId].tBG1HOFS = 0;
gTasks[taskId].func = Task_NewGameBirchSpeech_WaitToShowBirch;
gTasks[taskId].tPlayerSpriteId = 0xFF;
@@ -1846,7 +1846,7 @@ static void CB2_NewGameBirchSpeech_ReturnFromNamingScreen(void)
gSprites[spriteId].invisible = FALSE;
gTasks[taskId].tPlayerSpriteId = spriteId;
SetGpuReg(REG_OFFSET_BG1HOFS, -60);
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK);
SetGpuReg(REG_OFFSET_WIN0H, 0);
SetGpuReg(REG_OFFSET_WIN0V, 0);
SetGpuReg(REG_OFFSET_WININ, 0);
diff --git a/src/mevent_801BAAC.c b/src/mevent_801BAAC.c
index 62240af98..8f5b2d636 100644
--- a/src/mevent_801BAAC.c
+++ b/src/mevent_801BAAC.c
@@ -14,6 +14,7 @@
#include "link_rfu.h"
#include "mevent.h"
#include "mystery_gift.h"
+#include "constants/rgb.h"
struct UnkStruct_8467FB8
{
@@ -186,7 +187,7 @@ s32 FadeToWonderCardMenu(void)
switch(sWonderCardData->unk_0174)
{
case 0:
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK);
break;
case 1:
if (UpdatePaletteFade())
@@ -231,7 +232,7 @@ s32 FadeToWonderCardMenu(void)
ShowBg(2);
gPaletteFade.bufferTransferDisabled = FALSE;
sub_801C4C0();
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK);
UpdatePaletteFade();
break;
default:
@@ -251,7 +252,7 @@ s32 FadeOutFromWonderCard(bool32 flag)
switch (sWonderCardData->unk_0174)
{
case 0:
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK);
break;
case 1:
if (UpdatePaletteFade())
@@ -279,7 +280,7 @@ s32 FadeOutFromWonderCard(bool32 flag)
case 5:
PrintMysteryGiftOrEReaderTopMenu(gGiftIsFromEReader, flag);
CopyBgTilemapBufferToVram(0);
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK);
break;
default:
if (UpdatePaletteFade())
@@ -575,7 +576,7 @@ s32 FadeToWonderNewsMenu(void)
switch (sWonderNewsData->unk_01C0_1)
{
case 0:
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK);
break;
case 1:
if (UpdatePaletteFade())
@@ -629,7 +630,7 @@ s32 FadeToWonderNewsMenu(void)
ShowBg(3);
gPaletteFade.bufferTransferDisabled = FALSE;
sWonderNewsData->unk_01C1 = AddScrollIndicatorArrowPair(&sWonderNewsData->unk_0394, &sWonderNewsData->unk_01C6);
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK);
UpdatePaletteFade();
break;
default:
@@ -650,7 +651,7 @@ s32 FadeOutFromWonderNews(bool32 flag)
switch (sWonderNewsData->unk_01C0_1)
{
case 0:
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK);
break;
case 1:
if (UpdatePaletteFade())
@@ -692,7 +693,7 @@ s32 FadeOutFromWonderNews(bool32 flag)
MG_DrawCheckerboardPattern(3);
CopyBgTilemapBufferToVram(0);
CopyBgTilemapBufferToVram(3);
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK);
break;
default:
if (UpdatePaletteFade())
diff --git a/src/mystery_event_menu.c b/src/mystery_event_menu.c
index 850b22d5b..c77a48615 100644
--- a/src/mystery_event_menu.c
+++ b/src/mystery_event_menu.c
@@ -18,6 +18,7 @@
#include "gpu_regs.h"
#include "text_window.h"
#include "decompress.h"
+#include "constants/rgb.h"
// this file's functions
static void CB2_MysteryEventMenu(void);
@@ -137,7 +138,7 @@ static void CB2_MysteryEventMenu(void)
PutWindowTilemap(0);
CopyWindowToVram(0, 3);
ShowBg(0);
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, RGB_BLACK);
gMain.state++;
break;
case 1:
@@ -280,7 +281,7 @@ static void CB2_MysteryEventMenu(void)
}
break;
case 15:
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK);
gMain.state++;
break;
case 16:
diff --git a/src/naming_screen.c b/src/naming_screen.c
index ee68edbd0..7da7d99b0 100644
--- a/src/naming_screen.c
+++ b/src/naming_screen.c
@@ -27,6 +27,7 @@
#include "text_window.h"
#include "overworld.h"
#include "constants/event_objects.h"
+#include "constants/rgb.h"
EWRAM_DATA static struct NamingScreenData *gNamingScreenData = NULL;
extern u16 gKeyRepeatStartDelay;
@@ -463,7 +464,7 @@ static bool8 MainState_BeginFadeIn(void)
CopyBgTilemapBufferToVram(2);
CopyBgTilemapBufferToVram(3);
BlendPalettes(-1, 16, 0);
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK);
gNamingScreenData->state++;
return FALSE;
}
@@ -517,7 +518,7 @@ static bool8 MainState_6(void)
static bool8 MainState_BeginFadeInOut(void)
{
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK);
gNamingScreenData->state++;
return FALSE;
}
diff --git a/src/new_game.c b/src/new_game.c
index 0f2903349..7a0c668a4 100644
--- a/src/new_game.c
+++ b/src/new_game.c
@@ -56,7 +56,7 @@ static void ResetMiniGamesResults(void);
// EWRAM vars
EWRAM_DATA bool8 gDifferentSaveFile = FALSE;
-EWRAM_DATA bool8 gUnknown_020322D5 = FALSE;
+EWRAM_DATA bool8 gEnableContestDebugging = FALSE;
// const rom data
static const struct ContestWinner sContestWinnerPicDummy =
diff --git a/src/option_menu.c b/src/option_menu.c
index 2fc0d6f3e..3ffb2738f 100644
--- a/src/option_menu.c
+++ b/src/option_menu.c
@@ -14,6 +14,7 @@
#include "international_string_util.h"
#include "strings.h"
#include "gba/m4a_internal.h"
+#include "constants/rgb.h"
// Task data
enum
@@ -250,7 +251,7 @@ void CB2_InitOptionMenu(void)
break;
}
case 11:
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, RGB_BLACK);
SetVBlankCallback(VBlankCB);
SetMainCallback2(MainCB2);
return;
@@ -359,7 +360,7 @@ static void Task_OptionMenuSave(u8 taskId)
gSaveBlock2Ptr->optionsButtonMode = gTasks[taskId].data[TD_BUTTONMODE];
gSaveBlock2Ptr->optionsWindowFrameType = gTasks[taskId].data[TD_FRAMETYPE];
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK);
gTasks[taskId].func = Task_OptionMenuFadeOut;
}
diff --git a/src/overworld.c b/src/overworld.c
index a4fafe7c4..4356752c1 100644
--- a/src/overworld.c
+++ b/src/overworld.c
@@ -1874,7 +1874,7 @@ static bool32 map_loading_iteration_3(u8 *state)
case 11:
if (gWirelessCommType != 0)
{
- sub_800E0E8();
+ LoadWirelessStatusIndicatorSpriteGfx();
CreateWirelessStatusIndicatorSprite(0, 0);
}
(*state)++;
@@ -2046,7 +2046,7 @@ static bool32 map_loading_iteration_2_link(u8 *state)
case 11:
if (gWirelessCommType != 0)
{
- sub_800E0E8();
+ LoadWirelessStatusIndicatorSpriteGfx();
CreateWirelessStatusIndicatorSprite(0, 0);
}
(*state)++;
diff --git a/src/pokeblock.c b/src/pokeblock.c
index 325c2d5d0..0d8469132 100644
--- a/src/pokeblock.c
+++ b/src/pokeblock.c
@@ -32,6 +32,7 @@
#include "text_window.h"
#include "constants/items.h"
#include "constants/songs.h"
+#include "constants/rgb.h"
#define POKEBLOCK_MAX_FEEL 99
#define FIELD_E75_COUNT 7
@@ -585,7 +586,7 @@ static bool8 InitPokeblockMenu(void)
gMain.state++;
break;
case 18:
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, RGB_BLACK);
gPaletteFade.bufferTransferDisabled = 0;
gMain.state++;
break;
@@ -948,7 +949,7 @@ static void sub_8136470(struct Sprite *sprite)
static void FadePaletteAndSetTaskToClosePokeblockCase(u8 taskId)
{
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK);
gTasks[taskId].func = Task_FreeDataAndExitPokeblockCase;
}
diff --git a/src/pokeblock_feed.c b/src/pokeblock_feed.c
index 972ca4285..4ad15414d 100644
--- a/src/pokeblock_feed.c
+++ b/src/pokeblock_feed.c
@@ -24,6 +24,7 @@
#include "text_window.h"
#include "trig.h"
#include "util.h"
+#include "constants/rgb.h"
struct PokeblockFeedStruct
{
@@ -590,7 +591,7 @@ static bool8 TransitionToPokeblockFeedScene(void)
gMain.state++;
break;
case 13:
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, RGB_BLACK);
gPaletteFade.bufferTransferDisabled = 0;
gMain.state++;
break;
@@ -804,7 +805,7 @@ static void Task_ReturnAfterPaletteFade(u8 taskId)
static void Task_PaletteFadeToReturn(u8 taskId)
{
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK);
gTasks[taskId].func = Task_ReturnAfterPaletteFade;
}
diff --git a/src/pokedex.c b/src/pokedex.c
index 8b18a0e73..0dae8a7b3 100644
--- a/src/pokedex.c
+++ b/src/pokedex.c
@@ -2969,7 +2969,7 @@ void sub_80BEA24(u8 taskId)
r3 = 0x14;
if (gTasks[taskId].data[1] != 0)
r3 |= (1 << (gSprites[gTasks[taskId].data[4]].oam.paletteNum + 16));
- BeginNormalPaletteFade(~r3, 0, 16, 0, 0);
+ BeginNormalPaletteFade(~r3, 0, 16, 0, RGB_BLACK);
SetVBlankCallback(gUnknown_030060B4);
gMain.state++;
}
diff --git a/src/pokemon_jump.c b/src/pokemon_jump.c
index a62c9af77..2ef81bd19 100755
--- a/src/pokemon_jump.c
+++ b/src/pokemon_jump.c
@@ -557,7 +557,7 @@ static void sub_802ACA0(u8 taskId)
if (!FuncIsActiveTask(sub_802BD84))
{
sub_802D074(&gUnknown_02022CFC->unkA4);
- sub_800E0E8();
+ LoadWirelessStatusIndicatorSpriteGfx();
CreateWirelessStatusIndicatorSprite(0, 0);
gUnknown_02022CFC->unk8++;
}
diff --git a/src/rayquaza_scene.c b/src/rayquaza_scene.c
index e2497a8dc..fc2860797 100644
--- a/src/rayquaza_scene.c
+++ b/src/rayquaza_scene.c
@@ -1563,7 +1563,7 @@ static void Task_DuoFightAnim(u8 taskId)
}
BlendPalettes(-1, 0x10, 0);
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, RGB_BLACK);
SetVBlankCallback(VBlankCB_DuoFight);
PlaySE(SE_T_OOAME);
}
@@ -1715,7 +1715,7 @@ static void sub_81D752C(u8 taskId)
static void DuoFightEnd(u8 taskId, s8 palDelay)
{
PlaySE(SE_T_OOAME_E);
- BeginNormalPaletteFade(0xFFFFFFFF, palDelay, 0, 0x10, 0);
+ BeginNormalPaletteFade(0xFFFFFFFF, palDelay, 0, 0x10, RGB_BLACK);
gTasks[taskId].func = Task_DuoFightEnd;
}
@@ -1971,7 +1971,7 @@ static void Task_HandleRayTakesFlight(u8 taskId)
case 0:
if (data[1] == 8)
{
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, RGB_BLACK);
data[2] = 0;
data[3] = 30;
data[4] = 0;
@@ -2012,7 +2012,7 @@ static void Task_HandleRayTakesFlight(u8 taskId)
if (data[1] > 295)
{
data[0]++;
- BeginNormalPaletteFade(0xFFFFFFFF, 6, 0, 0x10, 0);
+ BeginNormalPaletteFade(0xFFFFFFFF, 6, 0, 0x10, RGB_BLACK);
}
}
break;
@@ -2174,7 +2174,7 @@ static void Task_HandleRayDescends(u8 taskId)
case 0:
if (data[1] == 8)
{
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, RGB_BLACK);
data[1] = 0;
data[0]++;
}
@@ -2219,7 +2219,7 @@ static void Task_HandleRayDescends(u8 taskId)
}
break;
case 4:
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK);
gTasks[taskId].func = Task_RayDescendsEnd;
break;
}
@@ -2366,7 +2366,7 @@ static void Task_HandleRayCharges(u8 taskId)
case 0:
if (data[1] == 8)
{
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, RGB_BLACK);
data[1] = 0;
data[0]++;
}
@@ -2399,7 +2399,7 @@ static void Task_HandleRayCharges(u8 taskId)
}
break;
case 3:
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK);
gTasks[taskId].func = Task_RayChargesEnd;
break;
}
@@ -2532,7 +2532,7 @@ static void Task_HandleRayChasesAway(u8 taskId)
if (data[1] == 8)
{
sub_81D90A8(taskId);
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, RGB_BLACK);
data[1] = 0;
data[0]++;
}
@@ -2574,7 +2574,7 @@ static void Task_HandleRayChasesAway(u8 taskId)
}
break;
case 3:
- BeginNormalPaletteFade(0xFFFFFFFF, 4, 0, 0x10, 0);
+ BeginNormalPaletteFade(0xFFFFFFFF, 4, 0, 0x10, RGB_BLACK);
gTasks[taskId].func = Task_RayChasesAwayEnd;
break;
}
diff --git a/src/recorded_battle.c b/src/recorded_battle.c
index 9f2be36af..ac97dfcd6 100644
--- a/src/recorded_battle.c
+++ b/src/recorded_battle.c
@@ -17,6 +17,7 @@
#include "battle_setup.h"
#include "frontier_util.h"
#include "constants/trainers.h"
+#include "constants/rgb.h"
#define BATTLER_RECORD_SIZE 664
#define ILLEGAL_BATTLE_TYPES ((BATTLE_TYPE_LINK | BATTLE_TYPE_SAFARI | BATTLE_TYPE_FIRST_BATTLE \
@@ -220,7 +221,7 @@ u8 RecordedBattle_GetBattlerAction(u8 battlerId)
{
gSpecialVar_Result = gBattleOutcome = B_OUTCOME_PLAYER_TELEPORTED; // hah
ResetPaletteFadeControl();
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK);
SetMainCallback2(CB2_QuitRecordedBattle);
return 0xFF;
}
diff --git a/src/region_map.c b/src/region_map.c
index 25b47479d..90017a4ad 100644
--- a/src/region_map.c
+++ b/src/region_map.c
@@ -26,6 +26,7 @@
#include "heal_location.h"
#include "constants/heal_locations.h"
#include "constants/map_types.h"
+#include "constants/rgb.h"
#define MAP_WIDTH 28
#define MAP_HEIGHT 15
@@ -1941,7 +1942,7 @@ static void sub_8124D14(void)
switch (sFlyMap->unk_004)
{
case 0:
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK);
sFlyMap->unk_004++;
break;
case 1:
@@ -1988,7 +1989,7 @@ static void sub_8124E0C(void)
switch (sFlyMap->unk_004)
{
case 0:
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK);
sFlyMap->unk_004++;
break;
case 1:
diff --git a/src/reset_rtc_screen.c b/src/reset_rtc_screen.c
index 6ee757607..d675c49d1 100644
--- a/src/reset_rtc_screen.c
+++ b/src/reset_rtc_screen.c
@@ -17,6 +17,7 @@
#include "bg.h"
#include "window.h"
#include "gpu_regs.h"
+#include "constants/rgb.h"
struct ResetRtcStruct
{
@@ -552,7 +553,7 @@ static void Task_ResetRtcScreen(u8 taskId)
switch (data[0])
{
case 0:
- BeginNormalPaletteFade(0xFFFFFFFF, 1, 0x10, 0, 0xFFFF);
+ BeginNormalPaletteFade(0xFFFFFFFF, 1, 0x10, 0, RGB_WHITEALPHA);
data[0] = 1;
break;
case 1:
@@ -621,7 +622,7 @@ static void Task_ResetRtcScreen(u8 taskId)
case 5:
if (gMain.newKeys & A_BUTTON)
{
- BeginNormalPaletteFade(0xFFFFFFFF, 1, 0, 0x10, 0xFFFF);
+ BeginNormalPaletteFade(0xFFFFFFFF, 1, 0, 0x10, RGB_WHITEALPHA);
data[0] = 6;
}
else
diff --git a/src/reshow_battle_screen.c b/src/reshow_battle_screen.c
index b804d2591..46fc4cd41 100644
--- a/src/reshow_battle_screen.c
+++ b/src/reshow_battle_screen.c
@@ -152,7 +152,7 @@ static void CB2_ReshowBattleScreenAfterMenu(void)
if (gWirelessCommType != 0 && gReceivedRemoteLinkPlayers != 0)
{
- sub_800E0E8();
+ LoadWirelessStatusIndicatorSpriteGfx();
CreateWirelessStatusIndicatorSprite(0, 0);
}
}
diff --git a/src/save_failed_screen.c b/src/save_failed_screen.c
index 415907585..6d45370b8 100644
--- a/src/save_failed_screen.c
+++ b/src/save_failed_screen.c
@@ -321,7 +321,7 @@ static void CB2_FadeAndReturnToTitleScreen(void)
if (gMain.newKeys & A_BUTTON)
{
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK);
SetVBlankCallback(VBlankCB);
SetMainCallback2(CB2_ReturnToTitleScreen);
}
diff --git a/src/script_pokemon_util_80F87D8.c b/src/script_pokemon_util_80F87D8.c
index 2f32951ed..2c7a9c775 100755
--- a/src/script_pokemon_util_80F87D8.c
+++ b/src/script_pokemon_util_80F87D8.c
@@ -227,7 +227,7 @@ void sub_80F8AFC(void)
{
int i;
- if (gIsLinkContest & 1)
+ if (gLinkContestFlags & LINK_CONTEST_FLAG_IS_LINK)
{
for (i = 0; i < gNumLinkContestPlayers; i++)
{
@@ -256,7 +256,7 @@ void sub_80F8B94(void)
struct Sprite *sprite;
gReservedSpritePaletteCount = 12;
- if (gIsLinkContest & 1)
+ if (gLinkContestFlags & LINK_CONTEST_FLAG_IS_LINK)
{
for (i = 0; i < gNumLinkContestPlayers; i++)
{
@@ -339,9 +339,9 @@ void ShowContestEntryMonPic(void)
gMultiuseSpriteTemplate.paletteTag = palette->tag;
spriteId = CreateSprite(&gMultiuseSpriteTemplate, (left + 1) * 8 + 32, (top * 8) + 40, 0);
- if (gIsLinkContest & 1)
+ if (gLinkContestFlags & LINK_CONTEST_FLAG_IS_LINK)
{
- if (!(gIsLinkContest & 4))
+ if (!(gLinkContestFlags & LINK_CONTEST_FLAG_HAS_RS_PLAYER))
DoMonFrontSpriteAnimation(&gSprites[spriteId], species, FALSE, 0);
}
else
@@ -403,7 +403,7 @@ static void sub_80F8EE8(u8 taskId)
void ScriptGetMultiplayerId(void)
{
- if ((gIsLinkContest & 1) && gNumLinkContestPlayers == 4 && !(gIsLinkContest & 2))
+ if ((gLinkContestFlags & LINK_CONTEST_FLAG_IS_LINK) && gNumLinkContestPlayers == 4 && !(gLinkContestFlags & LINK_CONTEST_FLAG_IS_WIRELESS))
gSpecialVar_Result = GetMultiplayerId();
else
gSpecialVar_Result = 4;
@@ -414,7 +414,7 @@ void ScriptRandom(void)
u16 random;
u16 *scriptPtr;
- if (gIsLinkContest & 1)
+ if (gLinkContestFlags & LINK_CONTEST_FLAG_IS_LINK)
{
gContestRngValue = 1103515245 * gContestRngValue + 24691;
random = gContestRngValue >> 16;
@@ -436,7 +436,7 @@ u16 sub_80F903C(void)
u8 sub_80F905C(void)
{
- if (gIsLinkContest & 2)
+ if (gLinkContestFlags & LINK_CONTEST_FLAG_IS_WIRELESS)
{
CreateTask(sub_80F9088, 5);
return 1;
@@ -473,11 +473,11 @@ static void sub_80F9088(u8 taskId)
void sub_80F90DC(void)
{
- if (gIsLinkContest & 2)
+ if (gLinkContestFlags & LINK_CONTEST_FLAG_IS_WIRELESS)
{
if (gReceivedRemoteLinkPlayers)
{
- sub_800E0E8();
+ LoadWirelessStatusIndicatorSpriteGfx();
CreateWirelessStatusIndicatorSprite(8, 8);
}
}
@@ -485,7 +485,7 @@ void sub_80F90DC(void)
void sub_80F910C(void)
{
- if (gIsLinkContest & 2)
+ if (gLinkContestFlags & LINK_CONTEST_FLAG_IS_WIRELESS)
{
if (gReceivedRemoteLinkPlayers)
DestroyWirelessStatusIndicatorSprite();
@@ -494,7 +494,7 @@ void sub_80F910C(void)
u8 sub_80F9134(void)
{
- if (gIsLinkContest & 4)
+ if (gLinkContestFlags & LINK_CONTEST_FLAG_HAS_RS_PLAYER)
return 1;
else
return 0;
@@ -502,12 +502,12 @@ u8 sub_80F9134(void)
void sub_80F9154(void)
{
- gIsLinkContest = 0;
+ gLinkContestFlags = 0;
}
u8 sub_80F9160(void)
{
- if (gIsLinkContest & 2)
+ if (gLinkContestFlags & LINK_CONTEST_FLAG_IS_WIRELESS)
return 1;
else
return 0;
diff --git a/src/shop.c b/src/shop.c
index ab7f31c1f..c9bf4fb58 100755
--- a/src/shop.c
+++ b/src/shop.c
@@ -1154,7 +1154,7 @@ static void BuyMenuPrintItemQuantityAndPrice(u8 taskId)
static void ExitBuyMenu(u8 taskId)
{
gFieldCallback = MapPostLoadHook_ReturnToShopMenu;
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK);
gTasks[taskId].func = Task_ExitBuyMenu;
}
diff --git a/src/slot_machine.c b/src/slot_machine.c
index a2e1f1554..b853daa39 100644
--- a/src/slot_machine.c
+++ b/src/slot_machine.c
@@ -658,7 +658,7 @@ static void Task_FadeToSlotMachine(u8 taskId)
switch (gTasks[taskId].tState)
{
case 0:
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK);
gTasks[taskId].tState++;
break;
case 1:
@@ -718,7 +718,7 @@ static void CB2_SlotMachineSetup(void)
gMain.state++;
break;
case 7:
- BeginNormalPaletteFade(-1, 0, 0x10, 0, 0);
+ BeginNormalPaletteFade(-1, 0, 0x10, 0, RGB_BLACK);
ShowBg(0);
ShowBg(1);
ShowBg(2);
diff --git a/src/start_menu.c b/src/start_menu.c
index 5b527e15e..fcde176ac 100644
--- a/src/start_menu.c
+++ b/src/start_menu.c
@@ -45,6 +45,7 @@
#include "constants/songs.h"
#include "rom_8011DC0.h"
#include "union_room.h"
+#include "constants/rgb.h"
// Menu actions
enum
@@ -1237,7 +1238,7 @@ static void sub_80A0550(u8 taskId)
DrawTextBorderOuter(0, 8, 14);
PutWindowTilemap(0);
CopyWindowToVram(0, 3);
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK);
if (gWirelessCommType != 0 && InUnionRoom())
{
@@ -1270,7 +1271,7 @@ static void sub_80A0550(u8 taskId)
}
break;
case 3:
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK);
*step = 4;
break;
case 4:
diff --git a/src/starter_choose.c b/src/starter_choose.c
index c3957e403..886daa45a 100644
--- a/src/starter_choose.c
+++ b/src/starter_choose.c
@@ -22,6 +22,7 @@
#include "window.h"
#include "constants/songs.h"
#include "constants/species.h"
+#include "constants/rgb.h"
#define STARTER_MON_COUNT 3
@@ -429,7 +430,7 @@ void CB2_ChooseStarter(void)
LoadCompressedSpriteSheet(&gUnknown_085B1ED8[0]);
LoadCompressedSpriteSheet(&gUnknown_085B1EE8[0]);
LoadSpritePalettes(gUnknown_085B1EF8);
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, RGB_BLACK);
EnableInterrupts(DISPSTAT_VBLANK);
SetVBlankCallback(VblankCB_StarterChoose);
diff --git a/src/title_screen.c b/src/title_screen.c
index b9ef53000..8310ef811 100644
--- a/src/title_screen.c
+++ b/src/title_screen.c
@@ -575,7 +575,7 @@ void CB2_InitTitleScreen(void)
break;
}
case 3:
- BeginNormalPaletteFade(0xFFFFFFFF, 1, 0x10, 0, 0xFFFF);
+ BeginNormalPaletteFade(0xFFFFFFFF, 1, 0x10, 0, RGB_WHITEALPHA);
SetVBlankCallback(VBlankCB);
gMain.state = 4;
break;
@@ -725,7 +725,7 @@ static void Task_TitleScreenPhase3(u8 taskId)
if ((gMain.newKeys & A_BUTTON) || (gMain.newKeys & START_BUTTON))
{
FadeOutBGM(4);
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0xFFFF);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_WHITEALPHA);
SetMainCallback2(CB2_GoToMainMenu);
}
else if ((gMain.heldKeys & CLEAR_SAVE_BUTTON_COMBO) == CLEAR_SAVE_BUTTON_COMBO)
@@ -736,13 +736,13 @@ static void Task_TitleScreenPhase3(u8 taskId)
&& CanResetRTC() == TRUE)
{
FadeOutBGM(4);
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK);
SetMainCallback2(CB2_GoToResetRtcScreen);
}
else if ((gMain.heldKeys & BERRY_UPDATE_BUTTON_COMBO) == BERRY_UPDATE_BUTTON_COMBO)
{
FadeOutBGM(4);
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK);
SetMainCallback2(CB2_GoToBerryFixScreen);
}
else
@@ -759,7 +759,7 @@ static void Task_TitleScreenPhase3(u8 taskId)
UpdateLegendaryMarkingColor(gTasks[taskId].tCounter);
if ((gMPlayInfo_BGM.status & 0xFFFF) == 0)
{
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0xFFFF);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_WHITEALPHA);
SetMainCallback2(CB2_GoToCopyrightScreen);
}
}
diff --git a/src/trade.c b/src/trade.c
index 353ba4ce3..d97325174 100644
--- a/src/trade.c
+++ b/src/trade.c
@@ -1622,7 +1622,7 @@ static void sub_80773D0(void)
if (sub_8010500())
{
gMain.state++;
- sub_800E0E8();
+ LoadWirelessStatusIndicatorSpriteGfx();
CreateWirelessStatusIndicatorSprite(0, 0);
}
}
@@ -1816,7 +1816,7 @@ static void sub_8077B74(void)
case 5:
if (gWirelessCommType)
{
- sub_800E0E8();
+ LoadWirelessStatusIndicatorSpriteGfx();
CreateWirelessStatusIndicatorSprite(0, 0);
}
gMain.state++;
@@ -4242,7 +4242,7 @@ void sub_807AE50(void)
{
if (gWirelessCommType)
{
- sub_800E0E8();
+ LoadWirelessStatusIndicatorSpriteGfx();
CreateWirelessStatusIndicatorSprite(0, 0);
}
SetMainCallback2(sub_807EA2C);
diff --git a/src/trainer_card.c b/src/trainer_card.c
index 01839d598..52a060ae9 100755
--- a/src/trainer_card.c
+++ b/src/trainer_card.c
@@ -30,6 +30,7 @@
#include "constants/flags.h"
#include "constants/game_stat.h"
#include "constants/battle_frontier.h"
+#include "constants/rgb.h"
enum
{
@@ -381,7 +382,7 @@ static void sub_80C2760(u8 taskId)
case 7:
if (gWirelessCommType == 1 && gReceivedRemoteLinkPlayers == TRUE)
{
- sub_800E0E8();
+ LoadWirelessStatusIndicatorSpriteGfx();
CreateWirelessStatusIndicatorSprite(230, 150);
}
BlendPalettes(0xFFFFFFFF, 16, sData->var_52C);
diff --git a/src/union_room.c b/src/union_room.c
index d9bb3ca7c..6e7c0965d 100644
--- a/src/union_room.c
+++ b/src/union_room.c
@@ -1404,7 +1404,7 @@ void sub_8012780(u8 taskId)
switch (sub_80170B8(&data->textState, sub_801064C(ReadAsU16(data->field_0->arr[data->field_13].unk.field_0.unk_00.playerTrainerId), data->field_0->arr[data->field_13].unk.playerName)))
{
case 0:
- sub_800E0E8();
+ LoadWirelessStatusIndicatorSpriteGfx();
CreateWirelessStatusIndicatorSprite(0, 0);
data->field_19 = 5;
sub_8010688(5, ReadAsU16(data->field_0->arr[data->field_13].unk.field_0.unk_00.playerTrainerId), data->field_0->arr[data->field_13].unk.playerName);
@@ -2130,7 +2130,7 @@ u32 sub_8013B8C(struct UnkStruct_Group *arg0, s32 id)
void sub_8013BD8(struct UnkStruct_Group *data, s32 id)
{
data->field_F = id;
- sub_800E0E8();
+ LoadWirelessStatusIndicatorSpriteGfx();
CreateWirelessStatusIndicatorSprite(0, 0);
RedrawListMenu(data->listTaskId);
sub_8018404(gStringVar1, &data->field_0->arr[data->field_F]);
@@ -2782,7 +2782,7 @@ void sub_8014A40(u8 taskId)
switch (mevent_message_print_and_prompt_yes_no(&data->textState, &data->field_14, 0, gStringVar4))
{
case 0:
- sub_800E0E8();
+ LoadWirelessStatusIndicatorSpriteGfx();
CreateWirelessStatusIndicatorSprite(0, 0);
data->field_0->arr[data->field_13].field_1B = 0;
RedrawListMenu(data->listTaskId);
@@ -2985,7 +2985,7 @@ void sub_8014F48(u8 taskId)
if (data->field_0->arr[id].field_1A_0 == 1 && !data->field_0->arr[id].unk.field_0.unk_0a_7)
{
data->field_F = id;
- sub_800E0E8();
+ LoadWirelessStatusIndicatorSpriteGfx();
CreateWirelessStatusIndicatorSprite(0, 0);
RedrawListMenu(data->listTaskId);
sub_8018404(gStringVar1, &data->field_0->arr[data->field_F]);
@@ -3148,7 +3148,7 @@ void sub_80152F4(u8 taskId)
{
data->field_F = 0;
data->field_14 = 0;
- sub_800E0E8();
+ LoadWirelessStatusIndicatorSpriteGfx();
CreateWirelessStatusIndicatorSprite(0, 0);
sub_8011FC8(data->field_0->arr[0].unk.playerName, ReadAsU16(data->field_0->arr[0].unk.field_0.unk_00.playerTrainerId));
PlaySE(SE_PN_ON);
@@ -3905,7 +3905,7 @@ void sub_80156E0(u8 taskId)
}
break;
case 53:
- BeginNormalPaletteFade(-1, 0, 0, 0x10, 0);
+ BeginNormalPaletteFade(-1, 0, 0, 0x10, RGB_BLACK);
data->state = 54;
break;
case 54:
diff --git a/src/union_room_chat.c b/src/union_room_chat.c
index 84a0406be..4afeb99cf 100755
--- a/src/union_room_chat.c
+++ b/src/union_room_chat.c
@@ -610,7 +610,7 @@ static void c2_081284E0(void)
SetMainCallback2(sub_801DF38);
gUnknown_02022C84->unkE = CreateTask(sub_801DF54, 8);
gUnknown_02022C84->unkF = CreateTask(sub_801F2B4, 7);
- sub_800E0E8();
+ LoadWirelessStatusIndicatorSpriteGfx();
CreateWirelessStatusIndicatorSprite(232, 150);
}
break;
diff --git a/src/unk_transition.c b/src/unk_transition.c
index 99479c866..cd91af07e 100644
--- a/src/unk_transition.c
+++ b/src/unk_transition.c
@@ -8,6 +8,7 @@
#include "trig.h"
#include "bg.h"
#include "gpu_regs.h"
+#include "constants/rgb.h"
typedef bool8 (*TransitionStateFunc)(struct Task *task);
@@ -361,7 +362,7 @@ static bool8 sub_81DAB4C(struct Task *task)
{
if (task->data[3] == 31)
{
- BeginNormalPaletteFade(0xFFFFFFFF, -1, 0, 0x10, 0);
+ BeginNormalPaletteFade(0xFFFFFFFF, -1, 0, 0x10, RGB_BLACK);
task->tState++;
}
else
diff --git a/src/wallclock.c b/src/wallclock.c
index 810abb1d1..01900dc8e 100644
--- a/src/wallclock.c
+++ b/src/wallclock.c
@@ -18,6 +18,7 @@
#include "trig.h"
#include "wallclock.h"
#include "window.h"
+#include "constants/rgb.h"
#include "constants/songs.h"
// static declarations
@@ -671,7 +672,7 @@ static void LoadWallClockGraphics(void)
static void WallClockInit(void)
{
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK);
EnableInterrupts(INTR_FLAG_VBLANK);
SetVBlankCallback(WallClockVblankCallback);
SetMainCallback2(WallClockMainCallback);
@@ -864,7 +865,7 @@ static void Task_SetClock4(u8 taskId)
static void Task_SetClock5(u8 taskId)
{
RtcInitLocalTimeOffset(gTasks[taskId].tHours, gTasks[taskId].tMinutes);
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK);
gTasks[taskId].func = Task_SetClock6;
}
@@ -896,7 +897,7 @@ static void Task_ViewClock2(u8 taskId)
static void Task_ViewClock3(u8 taskId)
{
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK);
gTasks[taskId].func = Task_ViewClock4;
}