summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/battle_controller_link_opponent.c138
-rw-r--r--src/battle_controller_link_partner.c138
-rw-r--r--src/battle_controller_opponent.c140
-rw-r--r--src/battle_controller_player.c140
-rw-r--r--src/battle_controller_player_partner.c140
-rw-r--r--src/battle_controller_recorded_opponent.c138
-rw-r--r--src/battle_controller_recorded_player.c138
-rw-r--r--src/battle_controller_safari.c130
-rw-r--r--src/battle_controller_wally.c130
-rw-r--r--src/battle_controllers.c40
-rw-r--r--src/battle_setup.c2
-rw-r--r--src/field_control_avatar.c3
-rw-r--r--src/field_player_avatar.c172
-rw-r--r--src/field_screen_effect.c176
-rwxr-xr-xsrc/item_use.c14
-rw-r--r--src/safari_zone.c2
-rw-r--r--src/scrcmd.c8
17 files changed, 832 insertions, 817 deletions
diff --git a/src/battle_controller_link_opponent.c b/src/battle_controller_link_opponent.c
index 1041f6fda..269b4c1b4 100644
--- a/src/battle_controller_link_opponent.c
+++ b/src/battle_controller_link_opponent.c
@@ -69,10 +69,10 @@ static void LinkOpponentHandleTwoReturnValues(void);
static void LinkOpponentHandleChosenMonReturnValue(void);
static void LinkOpponentHandleOneReturnValue(void);
static void LinkOpponentHandleOneReturnValue_Duplicate(void);
-static void LinkOpponentHandleCmd37(void);
-static void LinkOpponentHandleCmd38(void);
-static void LinkOpponentHandleCmd39(void);
-static void LinkOpponentHandleCmd40(void);
+static void LinkOpponentHandleClearUnkVar(void);
+static void LinkOpponentHandleSetUnkVar(void);
+static void LinkOpponentHandleClearUnkFlag(void);
+static void LinkOpponentHandleToggleUnkFlag(void);
static void LinkOpponentHandleHitAnimation(void);
static void LinkOpponentHandleCmd42(void);
static void LinkOpponentHandlePlaySE(void);
@@ -104,63 +104,63 @@ static void sub_806782C(void);
static void (*const sLinkOpponentBufferCommands[CONTROLLER_CMDS_COUNT])(void) =
{
- LinkOpponentHandleGetMonData,
- LinkOpponentHandleGetRawMonData,
- LinkOpponentHandleSetMonData,
- LinkOpponentHandleSetRawMonData,
- LinkOpponentHandleLoadMonSprite,
- LinkOpponentHandleSwitchInAnim,
- LinkOpponentHandleReturnMonToBall,
- LinkOpponentHandleDrawTrainerPic,
- LinkOpponentHandleTrainerSlide,
- LinkOpponentHandleTrainerSlideBack,
- LinkOpponentHandleFaintAnimation,
- LinkOpponentHandlePaletteFade,
- LinkOpponentHandleSuccessBallThrowAnim,
- LinkOpponentHandleBallThrowAnim,
- LinkOpponentHandlePause,
- LinkOpponentHandleMoveAnimation,
- LinkOpponentHandlePrintString,
- LinkOpponentHandlePrintSelectionString,
- LinkOpponentHandleChooseAction,
- LinkOpponentHandleUnknownYesNoBox,
- LinkOpponentHandleChooseMove,
- LinkOpponentHandleChooseItem,
- LinkOpponentHandleChoosePokemon,
- LinkOpponentHandleCmd23,
- LinkOpponentHandleHealthBarUpdate,
- LinkOpponentHandleExpUpdate,
- LinkOpponentHandleStatusIconUpdate,
- LinkOpponentHandleStatusAnimation,
- LinkOpponentHandleStatusXor,
- LinkOpponentHandleDataTransfer,
- LinkOpponentHandleDMA3Transfer,
- LinkOpponentHandlePlayBGM,
- LinkOpponentHandleCmd32,
- LinkOpponentHandleTwoReturnValues,
- LinkOpponentHandleChosenMonReturnValue,
- LinkOpponentHandleOneReturnValue,
- LinkOpponentHandleOneReturnValue_Duplicate,
- LinkOpponentHandleCmd37,
- LinkOpponentHandleCmd38,
- LinkOpponentHandleCmd39,
- LinkOpponentHandleCmd40,
- LinkOpponentHandleHitAnimation,
- LinkOpponentHandleCmd42,
- LinkOpponentHandlePlaySE,
- LinkOpponentHandlePlayFanfareOrBGM,
- LinkOpponentHandleFaintingCry,
- LinkOpponentHandleIntroSlide,
- LinkOpponentHandleIntroTrainerBallThrow,
- LinkOpponentHandleDrawPartyStatusSummary,
- LinkOpponentHandleHidePartyStatusSummary,
- LinkOpponentHandleEndBounceEffect,
- LinkOpponentHandleSpriteInvisibility,
- LinkOpponentHandleBattleAnimation,
- LinkOpponentHandleLinkStandbyMsg,
- LinkOpponentHandleResetActionMoveSelection,
- LinkOpponentHandleCmd55,
- LinkOpponentCmdEnd
+ [CONTROLLER_GETMONDATA] = LinkOpponentHandleGetMonData,
+ [CONTROLLER_GETRAWMONDATA] = LinkOpponentHandleGetRawMonData,
+ [CONTROLLER_SETMONDATA] = LinkOpponentHandleSetMonData,
+ [CONTROLLER_SETRAWMONDATA] = LinkOpponentHandleSetRawMonData,
+ [CONTROLLER_LOADMONSPRITE] = LinkOpponentHandleLoadMonSprite,
+ [CONTROLLER_SWITCHINANIM] = LinkOpponentHandleSwitchInAnim,
+ [CONTROLLER_RETURNMONTOBALL] = LinkOpponentHandleReturnMonToBall,
+ [CONTROLLER_DRAWTRAINERPIC] = LinkOpponentHandleDrawTrainerPic,
+ [CONTROLLER_TRAINERSLIDE] = LinkOpponentHandleTrainerSlide,
+ [CONTROLLER_TRAINERSLIDEBACK] = LinkOpponentHandleTrainerSlideBack,
+ [CONTROLLER_FAINTANIMATION] = LinkOpponentHandleFaintAnimation,
+ [CONTROLLER_PALETTEFADE] = LinkOpponentHandlePaletteFade,
+ [CONTROLLER_SUCCESSBALLTHROWANIM] = LinkOpponentHandleSuccessBallThrowAnim,
+ [CONTROLLER_BALLTHROWANIM] = LinkOpponentHandleBallThrowAnim,
+ [CONTROLLER_PAUSE] = LinkOpponentHandlePause,
+ [CONTROLLER_MOVEANIMATION] = LinkOpponentHandleMoveAnimation,
+ [CONTROLLER_PRINTSTRING] = LinkOpponentHandlePrintString,
+ [CONTROLLER_PRINTSTRINGPLAYERONLY] = LinkOpponentHandlePrintSelectionString,
+ [CONTROLLER_CHOOSEACTION] = LinkOpponentHandleChooseAction,
+ [CONTROLLER_UNKNOWNYESNOBOX] = LinkOpponentHandleUnknownYesNoBox,
+ [CONTROLLER_CHOOSEMOVE] = LinkOpponentHandleChooseMove,
+ [CONTROLLER_OPENBAG] = LinkOpponentHandleChooseItem,
+ [CONTROLLER_CHOOSEPOKEMON] = LinkOpponentHandleChoosePokemon,
+ [CONTROLLER_23] = LinkOpponentHandleCmd23,
+ [CONTROLLER_HEALTHBARUPDATE] = LinkOpponentHandleHealthBarUpdate,
+ [CONTROLLER_EXPUPDATE] = LinkOpponentHandleExpUpdate,
+ [CONTROLLER_STATUSICONUPDATE] = LinkOpponentHandleStatusIconUpdate,
+ [CONTROLLER_STATUSANIMATION] = LinkOpponentHandleStatusAnimation,
+ [CONTROLLER_STATUSXOR] = LinkOpponentHandleStatusXor,
+ [CONTROLLER_DATATRANSFER] = LinkOpponentHandleDataTransfer,
+ [CONTROLLER_DMA3TRANSFER] = LinkOpponentHandleDMA3Transfer,
+ [CONTROLLER_PLAYBGM] = LinkOpponentHandlePlayBGM,
+ [CONTROLLER_32] = LinkOpponentHandleCmd32,
+ [CONTROLLER_TWORETURNVALUES] = LinkOpponentHandleTwoReturnValues,
+ [CONTROLLER_CHOSENMONRETURNVALUE] = LinkOpponentHandleChosenMonReturnValue,
+ [CONTROLLER_ONERETURNVALUE] = LinkOpponentHandleOneReturnValue,
+ [CONTROLLER_ONERETURNVALUE_DUPLICATE] = LinkOpponentHandleOneReturnValue_Duplicate,
+ [CONTROLLER_CLEARUNKVAR] = LinkOpponentHandleClearUnkVar,
+ [CONTROLLER_SETUNKVAR] = LinkOpponentHandleSetUnkVar,
+ [CONTROLLER_CLEARUNKFLAG] = LinkOpponentHandleClearUnkFlag,
+ [CONTROLLER_TOGGLEUNKFLAG] = LinkOpponentHandleToggleUnkFlag,
+ [CONTROLLER_HITANIMATION] = LinkOpponentHandleHitAnimation,
+ [CONTROLLER_42] = LinkOpponentHandleCmd42,
+ [CONTROLLER_PLAYSE] = LinkOpponentHandlePlaySE,
+ [CONTROLLER_PLAYFANFAREORBGM] = LinkOpponentHandlePlayFanfareOrBGM,
+ [CONTROLLER_FAINTINGCRY] = LinkOpponentHandleFaintingCry,
+ [CONTROLLER_INTROSLIDE] = LinkOpponentHandleIntroSlide,
+ [CONTROLLER_INTROTRAINERBALLTHROW] = LinkOpponentHandleIntroTrainerBallThrow,
+ [CONTROLLER_DRAWPARTYSTATUSSUMMARY] = LinkOpponentHandleDrawPartyStatusSummary,
+ [CONTROLLER_HIDEPARTYSTATUSSUMMARY] = LinkOpponentHandleHidePartyStatusSummary,
+ [CONTROLLER_ENDBOUNCE] = LinkOpponentHandleEndBounceEffect,
+ [CONTROLLER_SPRITEINVISIBILITY] = LinkOpponentHandleSpriteInvisibility,
+ [CONTROLLER_BATTLEANIMATION] = LinkOpponentHandleBattleAnimation,
+ [CONTROLLER_LINKSTANDBYMSG] = LinkOpponentHandleLinkStandbyMsg,
+ [CONTROLLER_RESETACTIONMOVESELECTION] = LinkOpponentHandleResetActionMoveSelection,
+ [CONTROLLER_55] = LinkOpponentHandleCmd55,
+ [CONTROLLER_TERMINATOR_NOP] = LinkOpponentCmdEnd
};
static void nullsub_28(void)
@@ -1604,27 +1604,27 @@ static void LinkOpponentHandleOneReturnValue_Duplicate(void)
LinkOpponentBufferExecCompleted();
}
-static void LinkOpponentHandleCmd37(void)
+static void LinkOpponentHandleClearUnkVar(void)
{
- gUnknown_02022D0C.field_0 = 0;
+ gUnusedControllerStruct.unk = 0;
LinkOpponentBufferExecCompleted();
}
-static void LinkOpponentHandleCmd38(void)
+static void LinkOpponentHandleSetUnkVar(void)
{
- gUnknown_02022D0C.field_0 = gBattleBufferA[gActiveBattler][1];
+ gUnusedControllerStruct.unk = gBattleBufferA[gActiveBattler][1];
LinkOpponentBufferExecCompleted();
}
-static void LinkOpponentHandleCmd39(void)
+static void LinkOpponentHandleClearUnkFlag(void)
{
- gUnknown_02022D0C.flag_x80 = 0;
+ gUnusedControllerStruct.flag = 0;
LinkOpponentBufferExecCompleted();
}
-static void LinkOpponentHandleCmd40(void)
+static void LinkOpponentHandleToggleUnkFlag(void)
{
- gUnknown_02022D0C.flag_x80 ^= 1;
+ gUnusedControllerStruct.flag ^= 1;
LinkOpponentBufferExecCompleted();
}
diff --git a/src/battle_controller_link_partner.c b/src/battle_controller_link_partner.c
index af81b06d5..d3037bb90 100644
--- a/src/battle_controller_link_partner.c
+++ b/src/battle_controller_link_partner.c
@@ -67,10 +67,10 @@ static void LinkPartnerHandleTwoReturnValues(void);
static void LinkPartnerHandleChosenMonReturnValue(void);
static void LinkPartnerHandleOneReturnValue(void);
static void LinkPartnerHandleOneReturnValue_Duplicate(void);
-static void LinkPartnerHandleCmd37(void);
-static void LinkPartnerHandleCmd38(void);
-static void LinkPartnerHandleCmd39(void);
-static void LinkPartnerHandleCmd40(void);
+static void LinkPartnerHandleClearUnkVar(void);
+static void LinkPartnerHandleSetUnkVar(void);
+static void LinkPartnerHandleClearUnkFlag(void);
+static void LinkPartnerHandleToggleUnkFlag(void);
static void LinkPartnerHandleHitAnimation(void);
static void LinkPartnerHandleCmd42(void);
static void LinkPartnerHandlePlaySE(void);
@@ -101,63 +101,63 @@ static void sub_814DE9C(void);
static void (*const sLinkPartnerBufferCommands[CONTROLLER_CMDS_COUNT])(void) =
{
- LinkPartnerHandleGetMonData,
- LinkPartnerHandleGetRawMonData,
- LinkPartnerHandleSetMonData,
- LinkPartnerHandleSetRawMonData,
- LinkPartnerHandleLoadMonSprite,
- LinkPartnerHandleSwitchInAnim,
- LinkPartnerHandleReturnMonToBall,
- LinkPartnerHandleDrawTrainerPic,
- LinkPartnerHandleTrainerSlide,
- LinkPartnerHandleTrainerSlideBack,
- LinkPartnerHandleFaintAnimation,
- LinkPartnerHandlePaletteFade,
- LinkPartnerHandleSuccessBallThrowAnim,
- LinkPartnerHandleBallThrowAnim,
- LinkPartnerHandlePause,
- LinkPartnerHandleMoveAnimation,
- LinkPartnerHandlePrintString,
- LinkPartnerHandlePrintSelectionString,
- LinkPartnerHandleChooseAction,
- LinkPartnerHandleUnknownYesNoBox,
- LinkPartnerHandleChooseMove,
- LinkPartnerHandleChooseItem,
- LinkPartnerHandleChoosePokemon,
- LinkPartnerHandleCmd23,
- LinkPartnerHandleHealthBarUpdate,
- LinkPartnerHandleExpUpdate,
- LinkPartnerHandleStatusIconUpdate,
- LinkPartnerHandleStatusAnimation,
- LinkPartnerHandleStatusXor,
- LinkPartnerHandleDataTransfer,
- LinkPartnerHandleDMA3Transfer,
- LinkPartnerHandlePlayBGM,
- LinkPartnerHandleCmd32,
- LinkPartnerHandleTwoReturnValues,
- LinkPartnerHandleChosenMonReturnValue,
- LinkPartnerHandleOneReturnValue,
- LinkPartnerHandleOneReturnValue_Duplicate,
- LinkPartnerHandleCmd37,
- LinkPartnerHandleCmd38,
- LinkPartnerHandleCmd39,
- LinkPartnerHandleCmd40,
- LinkPartnerHandleHitAnimation,
- LinkPartnerHandleCmd42,
- LinkPartnerHandlePlaySE,
- LinkPartnerHandlePlayFanfareOrBGM,
- LinkPartnerHandleFaintingCry,
- LinkPartnerHandleIntroSlide,
- LinkPartnerHandleIntroTrainerBallThrow,
- LinkPartnerHandleDrawPartyStatusSummary,
- LinkPartnerHandleHidePartyStatusSummary,
- LinkPartnerHandleEndBounceEffect,
- LinkPartnerHandleSpriteInvisibility,
- LinkPartnerHandleBattleAnimation,
- LinkPartnerHandleLinkStandbyMsg,
- LinkPartnerHandleResetActionMoveSelection,
- LinkPartnerHandleCmd55,
- LinkPartnerCmdEnd
+ [CONTROLLER_GETMONDATA] = LinkPartnerHandleGetMonData,
+ [CONTROLLER_GETRAWMONDATA] = LinkPartnerHandleGetRawMonData,
+ [CONTROLLER_SETMONDATA] = LinkPartnerHandleSetMonData,
+ [CONTROLLER_SETRAWMONDATA] = LinkPartnerHandleSetRawMonData,
+ [CONTROLLER_LOADMONSPRITE] = LinkPartnerHandleLoadMonSprite,
+ [CONTROLLER_SWITCHINANIM] = LinkPartnerHandleSwitchInAnim,
+ [CONTROLLER_RETURNMONTOBALL] = LinkPartnerHandleReturnMonToBall,
+ [CONTROLLER_DRAWTRAINERPIC] = LinkPartnerHandleDrawTrainerPic,
+ [CONTROLLER_TRAINERSLIDE] = LinkPartnerHandleTrainerSlide,
+ [CONTROLLER_TRAINERSLIDEBACK] = LinkPartnerHandleTrainerSlideBack,
+ [CONTROLLER_FAINTANIMATION] = LinkPartnerHandleFaintAnimation,
+ [CONTROLLER_PALETTEFADE] = LinkPartnerHandlePaletteFade,
+ [CONTROLLER_SUCCESSBALLTHROWANIM] = LinkPartnerHandleSuccessBallThrowAnim,
+ [CONTROLLER_BALLTHROWANIM] = LinkPartnerHandleBallThrowAnim,
+ [CONTROLLER_PAUSE] = LinkPartnerHandlePause,
+ [CONTROLLER_MOVEANIMATION] = LinkPartnerHandleMoveAnimation,
+ [CONTROLLER_PRINTSTRING] = LinkPartnerHandlePrintString,
+ [CONTROLLER_PRINTSTRINGPLAYERONLY] = LinkPartnerHandlePrintSelectionString,
+ [CONTROLLER_CHOOSEACTION] = LinkPartnerHandleChooseAction,
+ [CONTROLLER_UNKNOWNYESNOBOX] = LinkPartnerHandleUnknownYesNoBox,
+ [CONTROLLER_CHOOSEMOVE] = LinkPartnerHandleChooseMove,
+ [CONTROLLER_OPENBAG] = LinkPartnerHandleChooseItem,
+ [CONTROLLER_CHOOSEPOKEMON] = LinkPartnerHandleChoosePokemon,
+ [CONTROLLER_23] = LinkPartnerHandleCmd23,
+ [CONTROLLER_HEALTHBARUPDATE] = LinkPartnerHandleHealthBarUpdate,
+ [CONTROLLER_EXPUPDATE] = LinkPartnerHandleExpUpdate,
+ [CONTROLLER_STATUSICONUPDATE] = LinkPartnerHandleStatusIconUpdate,
+ [CONTROLLER_STATUSANIMATION] = LinkPartnerHandleStatusAnimation,
+ [CONTROLLER_STATUSXOR] = LinkPartnerHandleStatusXor,
+ [CONTROLLER_DATATRANSFER] = LinkPartnerHandleDataTransfer,
+ [CONTROLLER_DMA3TRANSFER] = LinkPartnerHandleDMA3Transfer,
+ [CONTROLLER_PLAYBGM] = LinkPartnerHandlePlayBGM,
+ [CONTROLLER_32] = LinkPartnerHandleCmd32,
+ [CONTROLLER_TWORETURNVALUES] = LinkPartnerHandleTwoReturnValues,
+ [CONTROLLER_CHOSENMONRETURNVALUE] = LinkPartnerHandleChosenMonReturnValue,
+ [CONTROLLER_ONERETURNVALUE] = LinkPartnerHandleOneReturnValue,
+ [CONTROLLER_ONERETURNVALUE_DUPLICATE] = LinkPartnerHandleOneReturnValue_Duplicate,
+ [CONTROLLER_CLEARUNKVAR] = LinkPartnerHandleClearUnkVar,
+ [CONTROLLER_SETUNKVAR] = LinkPartnerHandleSetUnkVar,
+ [CONTROLLER_CLEARUNKFLAG] = LinkPartnerHandleClearUnkFlag,
+ [CONTROLLER_TOGGLEUNKFLAG] = LinkPartnerHandleToggleUnkFlag,
+ [CONTROLLER_HITANIMATION] = LinkPartnerHandleHitAnimation,
+ [CONTROLLER_42] = LinkPartnerHandleCmd42,
+ [CONTROLLER_PLAYSE] = LinkPartnerHandlePlaySE,
+ [CONTROLLER_PLAYFANFAREORBGM] = LinkPartnerHandlePlayFanfareOrBGM,
+ [CONTROLLER_FAINTINGCRY] = LinkPartnerHandleFaintingCry,
+ [CONTROLLER_INTROSLIDE] = LinkPartnerHandleIntroSlide,
+ [CONTROLLER_INTROTRAINERBALLTHROW] = LinkPartnerHandleIntroTrainerBallThrow,
+ [CONTROLLER_DRAWPARTYSTATUSSUMMARY] = LinkPartnerHandleDrawPartyStatusSummary,
+ [CONTROLLER_HIDEPARTYSTATUSSUMMARY] = LinkPartnerHandleHidePartyStatusSummary,
+ [CONTROLLER_ENDBOUNCE] = LinkPartnerHandleEndBounceEffect,
+ [CONTROLLER_SPRITEINVISIBILITY] = LinkPartnerHandleSpriteInvisibility,
+ [CONTROLLER_BATTLEANIMATION] = LinkPartnerHandleBattleAnimation,
+ [CONTROLLER_LINKSTANDBYMSG] = LinkPartnerHandleLinkStandbyMsg,
+ [CONTROLLER_RESETACTIONMOVESELECTION] = LinkPartnerHandleResetActionMoveSelection,
+ [CONTROLLER_55] = LinkPartnerHandleCmd55,
+ [CONTROLLER_TERMINATOR_NOP] = LinkPartnerCmdEnd
};
static void SpriteCB_Null2(void)
@@ -1428,27 +1428,27 @@ static void LinkPartnerHandleOneReturnValue_Duplicate(void)
LinkPartnerBufferExecCompleted();
}
-static void LinkPartnerHandleCmd37(void)
+static void LinkPartnerHandleClearUnkVar(void)
{
- gUnknown_02022D0C.field_0 = 0;
+ gUnusedControllerStruct.unk = 0;
LinkPartnerBufferExecCompleted();
}
-static void LinkPartnerHandleCmd38(void)
+static void LinkPartnerHandleSetUnkVar(void)
{
- gUnknown_02022D0C.field_0 = gBattleBufferA[gActiveBattler][1];
+ gUnusedControllerStruct.unk = gBattleBufferA[gActiveBattler][1];
LinkPartnerBufferExecCompleted();
}
-static void LinkPartnerHandleCmd39(void)
+static void LinkPartnerHandleClearUnkFlag(void)
{
- gUnknown_02022D0C.flag_x80 = 0;
+ gUnusedControllerStruct.flag = 0;
LinkPartnerBufferExecCompleted();
}
-static void LinkPartnerHandleCmd40(void)
+static void LinkPartnerHandleToggleUnkFlag(void)
{
- gUnknown_02022D0C.flag_x80 ^= 1;
+ gUnusedControllerStruct.flag ^= 1;
LinkPartnerBufferExecCompleted();
}
diff --git a/src/battle_controller_opponent.c b/src/battle_controller_opponent.c
index f186bf3ff..9fe8caf63 100644
--- a/src/battle_controller_opponent.c
+++ b/src/battle_controller_opponent.c
@@ -74,10 +74,10 @@ static void OpponentHandleTwoReturnValues(void);
static void OpponentHandleChosenMonReturnValue(void);
static void OpponentHandleOneReturnValue(void);
static void OpponentHandleOneReturnValue_Duplicate(void);
-static void OpponentHandleCmd37(void);
-static void OpponentHandleCmd38(void);
-static void OpponentHandleCmd39(void);
-static void OpponentHandleCmd40(void);
+static void OpponentHandleClearUnkVar(void);
+static void OpponentHandleSetUnkVar(void);
+static void OpponentHandleClearUnkFlag(void);
+static void OpponentHandleToggleUnkFlag(void);
static void OpponentHandleHitAnimation(void);
static void OpponentHandleCmd42(void);
static void OpponentHandlePlaySE(void);
@@ -109,67 +109,67 @@ static void sub_8062A2C(void);
static void (*const sOpponentBufferCommands[CONTROLLER_CMDS_COUNT])(void) =
{
- OpponentHandleGetMonData,
- OpponentHandleGetRawMonData,
- OpponentHandleSetMonData,
- OpponentHandleSetRawMonData,
- OpponentHandleLoadMonSprite,
- OpponentHandleSwitchInAnim,
- OpponentHandleReturnMonToBall,
- OpponentHandleDrawTrainerPic,
- OpponentHandleTrainerSlide,
- OpponentHandleTrainerSlideBack,
- OpponentHandleFaintAnimation,
- OpponentHandlePaletteFade,
- OpponentHandleSuccessBallThrowAnim,
- OpponentHandleBallThrow,
- OpponentHandlePause,
- OpponentHandleMoveAnimation,
- OpponentHandlePrintString,
- OpponentHandlePrintSelectionString,
- OpponentHandleChooseAction,
- OpponentHandleUnknownYesNoBox,
- OpponentHandleChooseMove,
- OpponentHandleChooseItem,
- OpponentHandleChoosePokemon,
- OpponentHandleCmd23,
- OpponentHandleHealthBarUpdate,
- OpponentHandleExpUpdate,
- OpponentHandleStatusIconUpdate,
- OpponentHandleStatusAnimation,
- OpponentHandleStatusXor,
- OpponentHandleDataTransfer,
- OpponentHandleDMA3Transfer,
- OpponentHandlePlayBGM,
- OpponentHandleCmd32,
- OpponentHandleTwoReturnValues,
- OpponentHandleChosenMonReturnValue,
- OpponentHandleOneReturnValue,
- OpponentHandleOneReturnValue_Duplicate,
- OpponentHandleCmd37,
- OpponentHandleCmd38,
- OpponentHandleCmd39,
- OpponentHandleCmd40,
- OpponentHandleHitAnimation,
- OpponentHandleCmd42,
- OpponentHandlePlaySE,
- OpponentHandlePlayFanfareOrBGM,
- OpponentHandleFaintingCry,
- OpponentHandleIntroSlide,
- OpponentHandleIntroTrainerBallThrow,
- OpponentHandleDrawPartyStatusSummary,
- OpponentHandleHidePartyStatusSummary,
- OpponentHandleEndBounceEffect,
- OpponentHandleSpriteInvisibility,
- OpponentHandleBattleAnimation,
- OpponentHandleLinkStandbyMsg,
- OpponentHandleResetActionMoveSelection,
- OpponentHandleCmd55,
- OpponentCmdEnd
+ [CONTROLLER_GETMONDATA] = OpponentHandleGetMonData,
+ [CONTROLLER_GETRAWMONDATA] = OpponentHandleGetRawMonData,
+ [CONTROLLER_SETMONDATA] = OpponentHandleSetMonData,
+ [CONTROLLER_SETRAWMONDATA] = OpponentHandleSetRawMonData,
+ [CONTROLLER_LOADMONSPRITE] = OpponentHandleLoadMonSprite,
+ [CONTROLLER_SWITCHINANIM] = OpponentHandleSwitchInAnim,
+ [CONTROLLER_RETURNMONTOBALL] = OpponentHandleReturnMonToBall,
+ [CONTROLLER_DRAWTRAINERPIC] = OpponentHandleDrawTrainerPic,
+ [CONTROLLER_TRAINERSLIDE] = OpponentHandleTrainerSlide,
+ [CONTROLLER_TRAINERSLIDEBACK] = OpponentHandleTrainerSlideBack,
+ [CONTROLLER_FAINTANIMATION] = OpponentHandleFaintAnimation,
+ [CONTROLLER_PALETTEFADE] = OpponentHandlePaletteFade,
+ [CONTROLLER_SUCCESSBALLTHROWANIM] = OpponentHandleSuccessBallThrowAnim,
+ [CONTROLLER_BALLTHROWANIM] = OpponentHandleBallThrow,
+ [CONTROLLER_PAUSE] = OpponentHandlePause,
+ [CONTROLLER_MOVEANIMATION] = OpponentHandleMoveAnimation,
+ [CONTROLLER_PRINTSTRING] = OpponentHandlePrintString,
+ [CONTROLLER_PRINTSTRINGPLAYERONLY] = OpponentHandlePrintSelectionString,
+ [CONTROLLER_CHOOSEACTION] = OpponentHandleChooseAction,
+ [CONTROLLER_UNKNOWNYESNOBOX] = OpponentHandleUnknownYesNoBox,
+ [CONTROLLER_CHOOSEMOVE] = OpponentHandleChooseMove,
+ [CONTROLLER_OPENBAG] = OpponentHandleChooseItem,
+ [CONTROLLER_CHOOSEPOKEMON] = OpponentHandleChoosePokemon,
+ [CONTROLLER_23] = OpponentHandleCmd23,
+ [CONTROLLER_HEALTHBARUPDATE] = OpponentHandleHealthBarUpdate,
+ [CONTROLLER_EXPUPDATE] = OpponentHandleExpUpdate,
+ [CONTROLLER_STATUSICONUPDATE] = OpponentHandleStatusIconUpdate,
+ [CONTROLLER_STATUSANIMATION] = OpponentHandleStatusAnimation,
+ [CONTROLLER_STATUSXOR] = OpponentHandleStatusXor,
+ [CONTROLLER_DATATRANSFER] = OpponentHandleDataTransfer,
+ [CONTROLLER_DMA3TRANSFER] = OpponentHandleDMA3Transfer,
+ [CONTROLLER_PLAYBGM] = OpponentHandlePlayBGM,
+ [CONTROLLER_32] = OpponentHandleCmd32,
+ [CONTROLLER_TWORETURNVALUES] = OpponentHandleTwoReturnValues,
+ [CONTROLLER_CHOSENMONRETURNVALUE] = OpponentHandleChosenMonReturnValue,
+ [CONTROLLER_ONERETURNVALUE] = OpponentHandleOneReturnValue,
+ [CONTROLLER_ONERETURNVALUE_DUPLICATE] = OpponentHandleOneReturnValue_Duplicate,
+ [CONTROLLER_CLEARUNKVAR] = OpponentHandleClearUnkVar,
+ [CONTROLLER_SETUNKVAR] = OpponentHandleSetUnkVar,
+ [CONTROLLER_CLEARUNKFLAG] = OpponentHandleClearUnkFlag,
+ [CONTROLLER_TOGGLEUNKFLAG] = OpponentHandleToggleUnkFlag,
+ [CONTROLLER_HITANIMATION] = OpponentHandleHitAnimation,
+ [CONTROLLER_42] = OpponentHandleCmd42,
+ [CONTROLLER_PLAYSE] = OpponentHandlePlaySE,
+ [CONTROLLER_PLAYFANFAREORBGM] = OpponentHandlePlayFanfareOrBGM,
+ [CONTROLLER_FAINTINGCRY] = OpponentHandleFaintingCry,
+ [CONTROLLER_INTROSLIDE] = OpponentHandleIntroSlide,
+ [CONTROLLER_INTROTRAINERBALLTHROW] = OpponentHandleIntroTrainerBallThrow,
+ [CONTROLLER_DRAWPARTYSTATUSSUMMARY] = OpponentHandleDrawPartyStatusSummary,
+ [CONTROLLER_HIDEPARTYSTATUSSUMMARY] = OpponentHandleHidePartyStatusSummary,
+ [CONTROLLER_ENDBOUNCE] = OpponentHandleEndBounceEffect,
+ [CONTROLLER_SPRITEINVISIBILITY] = OpponentHandleSpriteInvisibility,
+ [CONTROLLER_BATTLEANIMATION] = OpponentHandleBattleAnimation,
+ [CONTROLLER_LINKSTANDBYMSG] = OpponentHandleLinkStandbyMsg,
+ [CONTROLLER_RESETACTIONMOVESELECTION] = OpponentHandleResetActionMoveSelection,
+ [CONTROLLER_55] = OpponentHandleCmd55,
+ [CONTROLLER_TERMINATOR_NOP] = OpponentCmdEnd
};
// unknown unused data
-static const u8 sUnknown_0831C7AC[] = {0xB0, 0xB0, 0xC8, 0x98, 0x28, 0x28, 0x28, 0x20};
+static const u8 sUnused[] = {0xB0, 0xB0, 0xC8, 0x98, 0x28, 0x28, 0x28, 0x20};
static void nullsub_26(void)
{
@@ -1769,27 +1769,27 @@ static void OpponentHandleOneReturnValue_Duplicate(void)
OpponentBufferExecCompleted();
}
-static void OpponentHandleCmd37(void)
+static void OpponentHandleClearUnkVar(void)
{
- gUnknown_02022D0C.field_0 = 0;
+ gUnusedControllerStruct.unk = 0;
OpponentBufferExecCompleted();
}
-static void OpponentHandleCmd38(void)
+static void OpponentHandleSetUnkVar(void)
{
- gUnknown_02022D0C.field_0 = gBattleBufferA[gActiveBattler][1];
+ gUnusedControllerStruct.unk = gBattleBufferA[gActiveBattler][1];
OpponentBufferExecCompleted();
}
-static void OpponentHandleCmd39(void)
+static void OpponentHandleClearUnkFlag(void)
{
- gUnknown_02022D0C.flag_x80 = 0;
+ gUnusedControllerStruct.flag = 0;
OpponentBufferExecCompleted();
}
-static void OpponentHandleCmd40(void)
+static void OpponentHandleToggleUnkFlag(void)
{
- gUnknown_02022D0C.flag_x80 ^= 1;
+ gUnusedControllerStruct.flag ^= 1;
OpponentBufferExecCompleted();
}
diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c
index 7c34efd44..c1d7fc2a4 100644
--- a/src/battle_controller_player.c
+++ b/src/battle_controller_player.c
@@ -75,10 +75,10 @@ static void PlayerHandleTwoReturnValues(void);
static void PlayerHandleChosenMonReturnValue(void);
static void PlayerHandleOneReturnValue(void);
static void PlayerHandleOneReturnValue_Duplicate(void);
-static void PlayerHandleCmd37(void);
-static void PlayerHandleCmd38(void);
-static void PlayerHandleCmd39(void);
-static void PlayerHandleCmd40(void);
+static void PlayerHandleClearUnkVar(void);
+static void PlayerHandleSetUnkVar(void);
+static void PlayerHandleClearUnkFlag(void);
+static void PlayerHandleToggleUnkFlag(void);
static void PlayerHandleHitAnimation(void);
static void PlayerHandleCmd42(void);
static void PlayerHandlePlaySE(void);
@@ -125,69 +125,69 @@ static void sub_805CE38(void);
static void (*const sPlayerBufferCommands[CONTROLLER_CMDS_COUNT])(void) =
{
- PlayerHandleGetMonData,
- PlayerHandleGetRawMonData,
- PlayerHandleSetMonData,
- PlayerHandleSetRawMonData,
- PlayerHandleLoadMonSprite,
- PlayerHandleSwitchInAnim,
- PlayerHandleReturnMonToBall,
- PlayerHandleDrawTrainerPic,
- PlayerHandleTrainerSlide,
- PlayerHandleTrainerSlideBack,
- PlayerHandleFaintAnimation,
- PlayerHandlePaletteFade,
- PlayerHandleSuccessBallThrowAnim,
- PlayerHandleBallThrowAnim,
- PlayerHandlePause,
- PlayerHandleMoveAnimation,
- PlayerHandlePrintString,
- PlayerHandlePrintSelectionString,
- PlayerHandleChooseAction,
- PlayerHandleUnknownYesNoBox,
- PlayerHandleChooseMove,
- PlayerHandleChooseItem,
- PlayerHandleChoosePokemon,
- PlayerHandleCmd23,
- PlayerHandleHealthBarUpdate,
- PlayerHandleExpUpdate,
- PlayerHandleStatusIconUpdate,
- PlayerHandleStatusAnimation,
- PlayerHandleStatusXor,
- PlayerHandleDataTransfer,
- PlayerHandleDMA3Transfer,
- PlayerHandlePlayBGM,
- PlayerHandleCmd32,
- PlayerHandleTwoReturnValues,
- PlayerHandleChosenMonReturnValue,
- PlayerHandleOneReturnValue,
- PlayerHandleOneReturnValue_Duplicate,
- PlayerHandleCmd37,
- PlayerHandleCmd38,
- PlayerHandleCmd39,
- PlayerHandleCmd40,
- PlayerHandleHitAnimation,
- PlayerHandleCmd42,
- PlayerHandlePlaySE,
- PlayerHandlePlayFanfareOrBGM,
- PlayerHandleFaintingCry,
- PlayerHandleIntroSlide,
- PlayerHandleIntroTrainerBallThrow,
- PlayerHandleDrawPartyStatusSummary,
- PlayerHandleHidePartyStatusSummary,
- PlayerHandleEndBounceEffect,
- PlayerHandleSpriteInvisibility,
- PlayerHandleBattleAnimation,
- PlayerHandleLinkStandbyMsg,
- PlayerHandleResetActionMoveSelection,
- PlayerHandleCmd55,
- PlayerCmdEnd
+ [CONTROLLER_GETMONDATA] = PlayerHandleGetMonData,
+ [CONTROLLER_GETRAWMONDATA] = PlayerHandleGetRawMonData,
+ [CONTROLLER_SETMONDATA] = PlayerHandleSetMonData,
+ [CONTROLLER_SETRAWMONDATA] = PlayerHandleSetRawMonData,
+ [CONTROLLER_LOADMONSPRITE] = PlayerHandleLoadMonSprite,
+ [CONTROLLER_SWITCHINANIM] = PlayerHandleSwitchInAnim,
+ [CONTROLLER_RETURNMONTOBALL] = PlayerHandleReturnMonToBall,
+ [CONTROLLER_DRAWTRAINERPIC] = PlayerHandleDrawTrainerPic,
+ [CONTROLLER_TRAINERSLIDE] = PlayerHandleTrainerSlide,
+ [CONTROLLER_TRAINERSLIDEBACK] = PlayerHandleTrainerSlideBack,
+ [CONTROLLER_FAINTANIMATION] = PlayerHandleFaintAnimation,
+ [CONTROLLER_PALETTEFADE] = PlayerHandlePaletteFade,
+ [CONTROLLER_SUCCESSBALLTHROWANIM] = PlayerHandleSuccessBallThrowAnim,
+ [CONTROLLER_BALLTHROWANIM] = PlayerHandleBallThrowAnim,
+ [CONTROLLER_PAUSE] = PlayerHandlePause,
+ [CONTROLLER_MOVEANIMATION] = PlayerHandleMoveAnimation,
+ [CONTROLLER_PRINTSTRING] = PlayerHandlePrintString,
+ [CONTROLLER_PRINTSTRINGPLAYERONLY] = PlayerHandlePrintSelectionString,
+ [CONTROLLER_CHOOSEACTION] = PlayerHandleChooseAction,
+ [CONTROLLER_UNKNOWNYESNOBOX] = PlayerHandleUnknownYesNoBox,
+ [CONTROLLER_CHOOSEMOVE] = PlayerHandleChooseMove,
+ [CONTROLLER_OPENBAG] = PlayerHandleChooseItem,
+ [CONTROLLER_CHOOSEPOKEMON] = PlayerHandleChoosePokemon,
+ [CONTROLLER_23] = PlayerHandleCmd23,
+ [CONTROLLER_HEALTHBARUPDATE] = PlayerHandleHealthBarUpdate,
+ [CONTROLLER_EXPUPDATE] = PlayerHandleExpUpdate,
+ [CONTROLLER_STATUSICONUPDATE] = PlayerHandleStatusIconUpdate,
+ [CONTROLLER_STATUSANIMATION] = PlayerHandleStatusAnimation,
+ [CONTROLLER_STATUSXOR] = PlayerHandleStatusXor,
+ [CONTROLLER_DATATRANSFER] = PlayerHandleDataTransfer,
+ [CONTROLLER_DMA3TRANSFER] = PlayerHandleDMA3Transfer,
+ [CONTROLLER_PLAYBGM] = PlayerHandlePlayBGM,
+ [CONTROLLER_32] = PlayerHandleCmd32,
+ [CONTROLLER_TWORETURNVALUES] = PlayerHandleTwoReturnValues,
+ [CONTROLLER_CHOSENMONRETURNVALUE] = PlayerHandleChosenMonReturnValue,
+ [CONTROLLER_ONERETURNVALUE] = PlayerHandleOneReturnValue,
+ [CONTROLLER_ONERETURNVALUE_DUPLICATE] = PlayerHandleOneReturnValue_Duplicate,
+ [CONTROLLER_CLEARUNKVAR] = PlayerHandleClearUnkVar,
+ [CONTROLLER_SETUNKVAR] = PlayerHandleSetUnkVar,
+ [CONTROLLER_CLEARUNKFLAG] = PlayerHandleClearUnkFlag,
+ [CONTROLLER_TOGGLEUNKFLAG] = PlayerHandleToggleUnkFlag,
+ [CONTROLLER_HITANIMATION] = PlayerHandleHitAnimation,
+ [CONTROLLER_42] = PlayerHandleCmd42,
+ [CONTROLLER_PLAYSE] = PlayerHandlePlaySE,
+ [CONTROLLER_PLAYFANFAREORBGM] = PlayerHandlePlayFanfareOrBGM,
+ [CONTROLLER_FAINTINGCRY] = PlayerHandleFaintingCry,
+ [CONTROLLER_INTROSLIDE] = PlayerHandleIntroSlide,
+ [CONTROLLER_INTROTRAINERBALLTHROW] = PlayerHandleIntroTrainerBallThrow,
+ [CONTROLLER_DRAWPARTYSTATUSSUMMARY] = PlayerHandleDrawPartyStatusSummary,
+ [CONTROLLER_HIDEPARTYSTATUSSUMMARY] = PlayerHandleHidePartyStatusSummary,
+ [CONTROLLER_ENDBOUNCE] = PlayerHandleEndBounceEffect,
+ [CONTROLLER_SPRITEINVISIBILITY] = PlayerHandleSpriteInvisibility,
+ [CONTROLLER_BATTLEANIMATION] = PlayerHandleBattleAnimation,
+ [CONTROLLER_LINKSTANDBYMSG] = PlayerHandleLinkStandbyMsg,
+ [CONTROLLER_RESETACTIONMOVESELECTION] = PlayerHandleResetActionMoveSelection,
+ [CONTROLLER_55] = PlayerHandleCmd55,
+ [CONTROLLER_TERMINATOR_NOP] = PlayerCmdEnd
};
static const u8 sTargetIdentities[] = {B_POSITION_PLAYER_LEFT, B_POSITION_PLAYER_RIGHT, B_POSITION_OPPONENT_RIGHT, B_POSITION_OPPONENT_LEFT};
// unknown unused data
-static const u8 sUnknown_0831C5FC[] = {0x48, 0x48, 0x20, 0x5a, 0x50, 0x50, 0x50, 0x58};
+static const u8 sUnused[] = {0x48, 0x48, 0x20, 0x5a, 0x50, 0x50, 0x50, 0x58};
void nullsub_21(void)
{
@@ -2822,27 +2822,27 @@ static void PlayerHandleOneReturnValue_Duplicate(void)
PlayerBufferExecCompleted();
}
-static void PlayerHandleCmd37(void)
+static void PlayerHandleClearUnkVar(void)
{
- gUnknown_02022D0C.field_0 = 0;
+ gUnusedControllerStruct.unk = 0;
PlayerBufferExecCompleted();
}
-static void PlayerHandleCmd38(void)
+static void PlayerHandleSetUnkVar(void)
{
- gUnknown_02022D0C.field_0 = gBattleBufferA[gActiveBattler][1];
+ gUnusedControllerStruct.unk = gBattleBufferA[gActiveBattler][1];
PlayerBufferExecCompleted();
}
-static void PlayerHandleCmd39(void)
+static void PlayerHandleClearUnkFlag(void)
{
- gUnknown_02022D0C.flag_x80 = 0;
+ gUnusedControllerStruct.flag = 0;
PlayerBufferExecCompleted();
}
-static void PlayerHandleCmd40(void)
+static void PlayerHandleToggleUnkFlag(void)
{
- gUnknown_02022D0C.flag_x80 ^= 1;
+ gUnusedControllerStruct.flag ^= 1;
PlayerBufferExecCompleted();
}
diff --git a/src/battle_controller_player_partner.c b/src/battle_controller_player_partner.c
index af6b739cc..d826d2183 100644
--- a/src/battle_controller_player_partner.c
+++ b/src/battle_controller_player_partner.c
@@ -65,10 +65,10 @@ static void PlayerPartnerHandleTwoReturnValues(void);
static void PlayerPartnerHandleChosenMonReturnValue(void);
static void PlayerPartnerHandleOneReturnValue(void);
static void PlayerPartnerHandleOneReturnValue_Duplicate(void);
-static void PlayerPartnerHandleCmd37(void);
-static void PlayerPartnerHandleCmd38(void);
-static void PlayerPartnerHandleCmd39(void);
-static void PlayerPartnerHandleCmd40(void);
+static void PlayerPartnerHandleClearUnkVar(void);
+static void PlayerPartnerHandleSetUnkVar(void);
+static void PlayerPartnerHandleClearUnkFlag(void);
+static void PlayerPartnerHandleToggleUnkFlag(void);
static void PlayerPartnerHandleHitAnimation(void);
static void PlayerPartnerHandleCmd42(void);
static void PlayerPartnerHandlePlaySE(void);
@@ -105,67 +105,67 @@ static void sub_81BE498(void);
static void (*const sPlayerPartnerBufferCommands[CONTROLLER_CMDS_COUNT])(void) =
{
- PlayerPartnerHandleGetMonData,
- PlayerPartnerHandleGetRawMonData,
- PlayerPartnerHandleSetMonData,
- PlayerPartnerHandleSetRawMonData,
- PlayerPartnerHandleLoadMonSprite,
- PlayerPartnerHandleSwitchInAnim,
- PlayerPartnerHandleReturnMonToBall,
- PlayerPartnerHandleDrawTrainerPic,
- PlayerPartnerHandleTrainerSlide,
- PlayerPartnerHandleTrainerSlideBack,
- PlayerPartnerHandleFaintAnimation,
- PlayerPartnerHandlePaletteFade,
- PlayerPartnerHandleSuccessBallThrowAnim,
- PlayerPartnerHandleBallThrowAnim,
- PlayerPartnerHandlePause,
- PlayerPartnerHandleMoveAnimation,
- PlayerPartnerHandlePrintString,
- PlayerPartnerHandlePrintSelectionString,
- PlayerPartnerHandleChooseAction,
- PlayerPartnerHandleUnknownYesNoBox,
- PlayerPartnerHandleChooseMove,
- PlayerPartnerHandleChooseItem,
- PlayerPartnerHandleChoosePokemon,
- PlayerPartnerHandleCmd23,
- PlayerPartnerHandleHealthBarUpdate,
- PlayerPartnerHandleExpUpdate,
- PlayerPartnerHandleStatusIconUpdate,
- PlayerPartnerHandleStatusAnimation,
- PlayerPartnerHandleStatusXor,
- PlayerPartnerHandleDataTransfer,
- PlayerPartnerHandleDMA3Transfer,
- PlayerPartnerHandlePlayBGM,
- PlayerPartnerHandleCmd32,
- PlayerPartnerHandleTwoReturnValues,
- PlayerPartnerHandleChosenMonReturnValue,
- PlayerPartnerHandleOneReturnValue,
- PlayerPartnerHandleOneReturnValue_Duplicate,
- PlayerPartnerHandleCmd37,
- PlayerPartnerHandleCmd38,
- PlayerPartnerHandleCmd39,
- PlayerPartnerHandleCmd40,
- PlayerPartnerHandleHitAnimation,
- PlayerPartnerHandleCmd42,
- PlayerPartnerHandlePlaySE,
- PlayerPartnerHandlePlayFanfareOrBGM,
- PlayerPartnerHandleFaintingCry,
- PlayerPartnerHandleIntroSlide,
- PlayerPartnerHandleIntroTrainerBallThrow,
- PlayerPartnerHandleDrawPartyStatusSummary,
- PlayerPartnerHandleHidePartyStatusSummary,
- PlayerPartnerHandleEndBounceEffect,
- PlayerPartnerHandleSpriteInvisibility,
- PlayerPartnerHandleBattleAnimation,
- PlayerPartnerHandleLinkStandbyMsg,
- PlayerPartnerHandleResetActionMoveSelection,
- PlayerPartnerHandleCmd55,
- PlayerPartnerCmdEnd
+ [CONTROLLER_GETMONDATA] = PlayerPartnerHandleGetMonData,
+ [CONTROLLER_GETRAWMONDATA] = PlayerPartnerHandleGetRawMonData,
+ [CONTROLLER_SETMONDATA] = PlayerPartnerHandleSetMonData,
+ [CONTROLLER_SETRAWMONDATA] = PlayerPartnerHandleSetRawMonData,
+ [CONTROLLER_LOADMONSPRITE] = PlayerPartnerHandleLoadMonSprite,
+ [CONTROLLER_SWITCHINANIM] = PlayerPartnerHandleSwitchInAnim,
+ [CONTROLLER_RETURNMONTOBALL] = PlayerPartnerHandleReturnMonToBall,
+ [CONTROLLER_DRAWTRAINERPIC] = PlayerPartnerHandleDrawTrainerPic,
+ [CONTROLLER_TRAINERSLIDE] = PlayerPartnerHandleTrainerSlide,
+ [CONTROLLER_TRAINERSLIDEBACK] = PlayerPartnerHandleTrainerSlideBack,
+ [CONTROLLER_FAINTANIMATION] = PlayerPartnerHandleFaintAnimation,
+ [CONTROLLER_PALETTEFADE] = PlayerPartnerHandlePaletteFade,
+ [CONTROLLER_SUCCESSBALLTHROWANIM] = PlayerPartnerHandleSuccessBallThrowAnim,
+ [CONTROLLER_BALLTHROWANIM] = PlayerPartnerHandleBallThrowAnim,
+ [CONTROLLER_PAUSE] = PlayerPartnerHandlePause,
+ [CONTROLLER_MOVEANIMATION] = PlayerPartnerHandleMoveAnimation,
+ [CONTROLLER_PRINTSTRING] = PlayerPartnerHandlePrintString,
+ [CONTROLLER_PRINTSTRINGPLAYERONLY] = PlayerPartnerHandlePrintSelectionString,
+ [CONTROLLER_CHOOSEACTION] = PlayerPartnerHandleChooseAction,
+ [CONTROLLER_UNKNOWNYESNOBOX] = PlayerPartnerHandleUnknownYesNoBox,
+ [CONTROLLER_CHOOSEMOVE] = PlayerPartnerHandleChooseMove,
+ [CONTROLLER_OPENBAG] = PlayerPartnerHandleChooseItem,
+ [CONTROLLER_CHOOSEPOKEMON] = PlayerPartnerHandleChoosePokemon,
+ [CONTROLLER_23] = PlayerPartnerHandleCmd23,
+ [CONTROLLER_HEALTHBARUPDATE] = PlayerPartnerHandleHealthBarUpdate,
+ [CONTROLLER_EXPUPDATE] = PlayerPartnerHandleExpUpdate,
+ [CONTROLLER_STATUSICONUPDATE] = PlayerPartnerHandleStatusIconUpdate,
+ [CONTROLLER_STATUSANIMATION] = PlayerPartnerHandleStatusAnimation,
+ [CONTROLLER_STATUSXOR] = PlayerPartnerHandleStatusXor,
+ [CONTROLLER_DATATRANSFER] = PlayerPartnerHandleDataTransfer,
+ [CONTROLLER_DMA3TRANSFER] = PlayerPartnerHandleDMA3Transfer,
+ [CONTROLLER_PLAYBGM] = PlayerPartnerHandlePlayBGM,
+ [CONTROLLER_32] = PlayerPartnerHandleCmd32,
+ [CONTROLLER_TWORETURNVALUES] = PlayerPartnerHandleTwoReturnValues,
+ [CONTROLLER_CHOSENMONRETURNVALUE] = PlayerPartnerHandleChosenMonReturnValue,
+ [CONTROLLER_ONERETURNVALUE] = PlayerPartnerHandleOneReturnValue,
+ [CONTROLLER_ONERETURNVALUE_DUPLICATE] = PlayerPartnerHandleOneReturnValue_Duplicate,
+ [CONTROLLER_CLEARUNKVAR] = PlayerPartnerHandleClearUnkVar,
+ [CONTROLLER_SETUNKVAR] = PlayerPartnerHandleSetUnkVar,
+ [CONTROLLER_CLEARUNKFLAG] = PlayerPartnerHandleClearUnkFlag,
+ [CONTROLLER_TOGGLEUNKFLAG] = PlayerPartnerHandleToggleUnkFlag,
+ [CONTROLLER_HITANIMATION] = PlayerPartnerHandleHitAnimation,
+ [CONTROLLER_42] = PlayerPartnerHandleCmd42,
+ [CONTROLLER_PLAYSE] = PlayerPartnerHandlePlaySE,
+ [CONTROLLER_PLAYFANFAREORBGM] = PlayerPartnerHandlePlayFanfareOrBGM,
+ [CONTROLLER_FAINTINGCRY] = PlayerPartnerHandleFaintingCry,
+ [CONTROLLER_INTROSLIDE] = PlayerPartnerHandleIntroSlide,
+ [CONTROLLER_INTROTRAINERBALLTHROW] = PlayerPartnerHandleIntroTrainerBallThrow,
+ [CONTROLLER_DRAWPARTYSTATUSSUMMARY] = PlayerPartnerHandleDrawPartyStatusSummary,
+ [CONTROLLER_HIDEPARTYSTATUSSUMMARY] = PlayerPartnerHandleHidePartyStatusSummary,
+ [CONTROLLER_ENDBOUNCE] = PlayerPartnerHandleEndBounceEffect,
+ [CONTROLLER_SPRITEINVISIBILITY] = PlayerPartnerHandleSpriteInvisibility,
+ [CONTROLLER_BATTLEANIMATION] = PlayerPartnerHandleBattleAnimation,
+ [CONTROLLER_LINKSTANDBYMSG] = PlayerPartnerHandleLinkStandbyMsg,
+ [CONTROLLER_RESETACTIONMOVESELECTION] = PlayerPartnerHandleResetActionMoveSelection,
+ [CONTROLLER_55] = PlayerPartnerHandleCmd55,
+ [CONTROLLER_TERMINATOR_NOP] = PlayerPartnerCmdEnd
};
// unknown unused data
-static const u8 sUnknown_08617254[] =
+static const u8 sUnused[] =
{
0x83, 0x4d, 0xf3, 0x5f, 0x6f, 0x4f, 0xeb, 0x3e,
0x67, 0x2e, 0x10, 0x46, 0x8c, 0x3d, 0x28, 0x35,
@@ -1679,27 +1679,27 @@ static void PlayerPartnerHandleOneReturnValue_Duplicate(void)
PlayerPartnerBufferExecCompleted();
}
-static void PlayerPartnerHandleCmd37(void)
+static void PlayerPartnerHandleClearUnkVar(void)
{
- gUnknown_02022D0C.field_0 = 0;
+ gUnusedControllerStruct.unk = 0;
PlayerPartnerBufferExecCompleted();
}
-static void PlayerPartnerHandleCmd38(void)
+static void PlayerPartnerHandleSetUnkVar(void)
{
- gUnknown_02022D0C.field_0 = gBattleBufferA[gActiveBattler][1];
+ gUnusedControllerStruct.unk = gBattleBufferA[gActiveBattler][1];
PlayerPartnerBufferExecCompleted();
}
-static void PlayerPartnerHandleCmd39(void)
+static void PlayerPartnerHandleClearUnkFlag(void)
{
- gUnknown_02022D0C.flag_x80 = 0;
+ gUnusedControllerStruct.flag = 0;
PlayerPartnerBufferExecCompleted();
}
-static void PlayerPartnerHandleCmd40(void)
+static void PlayerPartnerHandleToggleUnkFlag(void)
{
- gUnknown_02022D0C.flag_x80 ^= 1;
+ gUnusedControllerStruct.flag ^= 1;
PlayerPartnerBufferExecCompleted();
}
diff --git a/src/battle_controller_recorded_opponent.c b/src/battle_controller_recorded_opponent.c
index ca7cd4adc..63e1ff7a0 100644
--- a/src/battle_controller_recorded_opponent.c
+++ b/src/battle_controller_recorded_opponent.c
@@ -69,10 +69,10 @@ static void RecordedOpponentHandleTwoReturnValues(void);
static void RecordedOpponentHandleChosenMonReturnValue(void);
static void RecordedOpponentHandleOneReturnValue(void);
static void RecordedOpponentHandleOneReturnValue_Duplicate(void);
-static void RecordedOpponentHandleCmd37(void);
-static void RecordedOpponentHandleCmd38(void);
-static void RecordedOpponentHandleCmd39(void);
-static void RecordedOpponentHandleCmd40(void);
+static void RecordedOpponentHandleClearUnkVar(void);
+static void RecordedOpponentHandleSetUnkVar(void);
+static void RecordedOpponentHandleClearUnkFlag(void);
+static void RecordedOpponentHandleToggleUnkFlag(void);
static void RecordedOpponentHandleHitAnimation(void);
static void RecordedOpponentHandleCmd42(void);
static void RecordedOpponentHandlePlaySE(void);
@@ -104,63 +104,63 @@ static void sub_818975C(void);
static void (*const sRecordedOpponentBufferCommands[CONTROLLER_CMDS_COUNT])(void) =
{
- RecordedOpponentHandleGetMonData,
- RecordedOpponentHandleGetRawMonData,
- RecordedOpponentHandleSetMonData,
- RecordedOpponentHandleSetRawMonData,
- RecordedOpponentHandleLoadMonSprite,
- RecordedOpponentHandleSwitchInAnim,
- RecordedOpponentHandleReturnMonToBall,
- RecordedOpponentHandleDrawTrainerPic,
- RecordedOpponentHandleTrainerSlide,
- RecordedOpponentHandleTrainerSlideBack,
- RecordedOpponentHandleFaintAnimation,
- RecordedOpponentHandlePaletteFade,
- RecordedOpponentHandleSuccessBallThrowAnim,
- RecordedOpponentHandleBallThrowAnim,
- RecordedOpponentHandlePause,
- RecordedOpponentHandleMoveAnimation,
- RecordedOpponentHandlePrintString,
- RecordedOpponentHandlePrintSelectionString,
- RecordedOpponentHandleChooseAction,
- RecordedOpponentHandleUnknownYesNoBox,
- RecordedOpponentHandleChooseMove,
- RecordedOpponentHandleChooseItem,
- RecordedOpponentHandleChoosePokemon,
- RecordedOpponentHandleCmd23,
- RecordedOpponentHandleHealthBarUpdate,
- RecordedOpponentHandleExpUpdate,
- RecordedOpponentHandleStatusIconUpdate,
- RecordedOpponentHandleStatusAnimation,
- RecordedOpponentHandleStatusXor,
- RecordedOpponentHandleDataTransfer,
- RecordedOpponentHandleDMA3Transfer,
- RecordedOpponentHandlePlayBGM,
- RecordedOpponentHandleCmd32,
- RecordedOpponentHandleTwoReturnValues,
- RecordedOpponentHandleChosenMonReturnValue,
- RecordedOpponentHandleOneReturnValue,
- RecordedOpponentHandleOneReturnValue_Duplicate,
- RecordedOpponentHandleCmd37,
- RecordedOpponentHandleCmd38,
- RecordedOpponentHandleCmd39,
- RecordedOpponentHandleCmd40,
- RecordedOpponentHandleHitAnimation,
- RecordedOpponentHandleCmd42,
- RecordedOpponentHandlePlaySE,
- RecordedOpponentHandlePlayFanfareOrBGM,
- RecordedOpponentHandleFaintingCry,
- RecordedOpponentHandleIntroSlide,
- RecordedOpponentHandleIntroTrainerBallThrow,
- RecordedOpponentHandleDrawPartyStatusSummary,
- RecordedOpponentHandleHidePartyStatusSummary,
- RecordedOpponentHandleEndBounceEffect,
- RecordedOpponentHandleSpriteInvisibility,
- RecordedOpponentHandleBattleAnimation,
- RecordedOpponentHandleLinkStandbyMsg,
- RecordedOpponentHandleResetActionMoveSelection,
- RecordedOpponentHandleCmd55,
- RecordedOpponentCmdEnd
+ [CONTROLLER_GETMONDATA] = RecordedOpponentHandleGetMonData,
+ [CONTROLLER_GETRAWMONDATA] = RecordedOpponentHandleGetRawMonData,
+ [CONTROLLER_SETMONDATA] = RecordedOpponentHandleSetMonData,
+ [CONTROLLER_SETRAWMONDATA] = RecordedOpponentHandleSetRawMonData,
+ [CONTROLLER_LOADMONSPRITE] = RecordedOpponentHandleLoadMonSprite,
+ [CONTROLLER_SWITCHINANIM] = RecordedOpponentHandleSwitchInAnim,
+ [CONTROLLER_RETURNMONTOBALL] = RecordedOpponentHandleReturnMonToBall,
+ [CONTROLLER_DRAWTRAINERPIC] = RecordedOpponentHandleDrawTrainerPic,
+ [CONTROLLER_TRAINERSLIDE] = RecordedOpponentHandleTrainerSlide,
+ [CONTROLLER_TRAINERSLIDEBACK] = RecordedOpponentHandleTrainerSlideBack,
+ [CONTROLLER_FAINTANIMATION] = RecordedOpponentHandleFaintAnimation,
+ [CONTROLLER_PALETTEFADE] = RecordedOpponentHandlePaletteFade,
+ [CONTROLLER_SUCCESSBALLTHROWANIM] = RecordedOpponentHandleSuccessBallThrowAnim,
+ [CONTROLLER_BALLTHROWANIM] = RecordedOpponentHandleBallThrowAnim,
+ [CONTROLLER_PAUSE] = RecordedOpponentHandlePause,
+ [CONTROLLER_MOVEANIMATION] = RecordedOpponentHandleMoveAnimation,
+ [CONTROLLER_PRINTSTRING] = RecordedOpponentHandlePrintString,
+ [CONTROLLER_PRINTSTRINGPLAYERONLY] = RecordedOpponentHandlePrintSelectionString,
+ [CONTROLLER_CHOOSEACTION] = RecordedOpponentHandleChooseAction,
+ [CONTROLLER_UNKNOWNYESNOBOX] = RecordedOpponentHandleUnknownYesNoBox,
+ [CONTROLLER_CHOOSEMOVE] = RecordedOpponentHandleChooseMove,
+ [CONTROLLER_OPENBAG] = RecordedOpponentHandleChooseItem,
+ [CONTROLLER_CHOOSEPOKEMON] = RecordedOpponentHandleChoosePokemon,
+ [CONTROLLER_23] = RecordedOpponentHandleCmd23,
+ [CONTROLLER_HEALTHBARUPDATE] = RecordedOpponentHandleHealthBarUpdate,
+ [CONTROLLER_EXPUPDATE] = RecordedOpponentHandleExpUpdate,
+ [CONTROLLER_STATUSICONUPDATE] = RecordedOpponentHandleStatusIconUpdate,
+ [CONTROLLER_STATUSANIMATION] = RecordedOpponentHandleStatusAnimation,
+ [CONTROLLER_STATUSXOR] = RecordedOpponentHandleStatusXor,
+ [CONTROLLER_DATATRANSFER] = RecordedOpponentHandleDataTransfer,
+ [CONTROLLER_DMA3TRANSFER] = RecordedOpponentHandleDMA3Transfer,
+ [CONTROLLER_PLAYBGM] = RecordedOpponentHandlePlayBGM,
+ [CONTROLLER_32] = RecordedOpponentHandleCmd32,
+ [CONTROLLER_TWORETURNVALUES] = RecordedOpponentHandleTwoReturnValues,
+ [CONTROLLER_CHOSENMONRETURNVALUE] = RecordedOpponentHandleChosenMonReturnValue,
+ [CONTROLLER_ONERETURNVALUE] = RecordedOpponentHandleOneReturnValue,
+ [CONTROLLER_ONERETURNVALUE_DUPLICATE] = RecordedOpponentHandleOneReturnValue_Duplicate,
+ [CONTROLLER_CLEARUNKVAR] = RecordedOpponentHandleClearUnkVar,
+ [CONTROLLER_SETUNKVAR] = RecordedOpponentHandleSetUnkVar,
+ [CONTROLLER_CLEARUNKFLAG] = RecordedOpponentHandleClearUnkFlag,
+ [CONTROLLER_TOGGLEUNKFLAG] = RecordedOpponentHandleToggleUnkFlag,
+ [CONTROLLER_HITANIMATION] = RecordedOpponentHandleHitAnimation,
+ [CONTROLLER_42] = RecordedOpponentHandleCmd42,
+ [CONTROLLER_PLAYSE] = RecordedOpponentHandlePlaySE,
+ [CONTROLLER_PLAYFANFAREORBGM] = RecordedOpponentHandlePlayFanfareOrBGM,
+ [CONTROLLER_FAINTINGCRY] = RecordedOpponentHandleFaintingCry,
+ [CONTROLLER_INTROSLIDE] = RecordedOpponentHandleIntroSlide,
+ [CONTROLLER_INTROTRAINERBALLTHROW] = RecordedOpponentHandleIntroTrainerBallThrow,
+ [CONTROLLER_DRAWPARTYSTATUSSUMMARY] = RecordedOpponentHandleDrawPartyStatusSummary,
+ [CONTROLLER_HIDEPARTYSTATUSSUMMARY] = RecordedOpponentHandleHidePartyStatusSummary,
+ [CONTROLLER_ENDBOUNCE] = RecordedOpponentHandleEndBounceEffect,
+ [CONTROLLER_SPRITEINVISIBILITY] = RecordedOpponentHandleSpriteInvisibility,
+ [CONTROLLER_BATTLEANIMATION] = RecordedOpponentHandleBattleAnimation,
+ [CONTROLLER_LINKSTANDBYMSG] = RecordedOpponentHandleLinkStandbyMsg,
+ [CONTROLLER_RESETACTIONMOVESELECTION] = RecordedOpponentHandleResetActionMoveSelection,
+ [CONTROLLER_55] = RecordedOpponentHandleCmd55,
+ [CONTROLLER_TERMINATOR_NOP] = RecordedOpponentCmdEnd
};
static void nullsub_70(void)
@@ -1544,27 +1544,27 @@ static void RecordedOpponentHandleOneReturnValue_Duplicate(void)
RecordedOpponentBufferExecCompleted();
}
-static void RecordedOpponentHandleCmd37(void)
+static void RecordedOpponentHandleClearUnkVar(void)
{
- gUnknown_02022D0C.field_0 = 0;
+ gUnusedControllerStruct.unk = 0;
RecordedOpponentBufferExecCompleted();
}
-static void RecordedOpponentHandleCmd38(void)
+static void RecordedOpponentHandleSetUnkVar(void)
{
- gUnknown_02022D0C.field_0 = gBattleBufferA[gActiveBattler][1];
+ gUnusedControllerStruct.unk = gBattleBufferA[gActiveBattler][1];
RecordedOpponentBufferExecCompleted();
}
-static void RecordedOpponentHandleCmd39(void)
+static void RecordedOpponentHandleClearUnkFlag(void)
{
- gUnknown_02022D0C.flag_x80 = 0;
+ gUnusedControllerStruct.flag = 0;
RecordedOpponentBufferExecCompleted();
}
-static void RecordedOpponentHandleCmd40(void)
+static void RecordedOpponentHandleToggleUnkFlag(void)
{
- gUnknown_02022D0C.flag_x80 ^= 1;
+ gUnusedControllerStruct.flag ^= 1;
RecordedOpponentBufferExecCompleted();
}
diff --git a/src/battle_controller_recorded_player.c b/src/battle_controller_recorded_player.c
index 72af27d5e..3d4faf0cd 100644
--- a/src/battle_controller_recorded_player.c
+++ b/src/battle_controller_recorded_player.c
@@ -65,10 +65,10 @@ static void RecordedPlayerHandleTwoReturnValues(void);
static void RecordedPlayerHandleChosenMonReturnValue(void);
static void RecordedPlayerHandleOneReturnValue(void);
static void RecordedPlayerHandleOneReturnValue_Duplicate(void);
-static void RecordedPlayerHandleCmd37(void);
-static void RecordedPlayerHandleCmd38(void);
-static void RecordedPlayerHandleCmd39(void);
-static void RecordedPlayerHandleCmd40(void);
+static void RecordedPlayerHandleClearUnkVar(void);
+static void RecordedPlayerHandleSetUnkVar(void);
+static void RecordedPlayerHandleClearUnkFlag(void);
+static void RecordedPlayerHandleToggleUnkFlag(void);
static void RecordedPlayerHandleHitAnimation(void);
static void RecordedPlayerHandleCmd42(void);
static void RecordedPlayerHandlePlaySE(void);
@@ -99,63 +99,63 @@ static void sub_818CDF4(void);
static void (*const sRecordedPlayerBufferCommands[CONTROLLER_CMDS_COUNT])(void) =
{
- RecordedPlayerHandleGetMonData,
- RecordedPlayerHandleGetRawMonData,
- RecordedPlayerHandleSetMonData,
- RecordedPlayerHandleSetRawMonData,
- RecordedPlayerHandleLoadMonSprite,
- RecordedPlayerHandleSwitchInAnim,
- RecordedPlayerHandleReturnMonToBall,
- RecordedPlayerHandleDrawTrainerPic,
- RecordedPlayerHandleTrainerSlide,
- RecordedPlayerHandleTrainerSlideBack,
- RecordedPlayerHandleFaintAnimation,
- RecordedPlayerHandlePaletteFade,
- RecordedPlayerHandleSuccessBallThrowAnim,
- RecordedPlayerHandleBallThrowAnim,
- RecordedPlayerHandlePause,
- RecordedPlayerHandleMoveAnimation,
- RecordedPlayerHandlePrintString,
- RecordedPlayerHandlePrintSelectionString,
- RecordedPlayerHandleChooseAction,
- RecordedPlayerHandleUnknownYesNoBox,
- RecordedPlayerHandleChooseMove,
- RecordedPlayerHandleChooseItem,
- RecordedPlayerHandleChoosePokemon,
- RecordedPlayerHandleCmd23,
- RecordedPlayerHandleHealthBarUpdate,
- RecordedPlayerHandleExpUpdate,
- RecordedPlayerHandleStatusIconUpdate,
- RecordedPlayerHandleStatusAnimation,
- RecordedPlayerHandleStatusXor,
- RecordedPlayerHandleDataTransfer,
- RecordedPlayerHandleDMA3Transfer,
- RecordedPlayerHandlePlayBGM,
- RecordedPlayerHandleCmd32,
- RecordedPlayerHandleTwoReturnValues,
- RecordedPlayerHandleChosenMonReturnValue,
- RecordedPlayerHandleOneReturnValue,
- RecordedPlayerHandleOneReturnValue_Duplicate,
- RecordedPlayerHandleCmd37,
- RecordedPlayerHandleCmd38,
- RecordedPlayerHandleCmd39,
- RecordedPlayerHandleCmd40,
- RecordedPlayerHandleHitAnimation,
- RecordedPlayerHandleCmd42,
- RecordedPlayerHandlePlaySE,
- RecordedPlayerHandlePlayFanfareOrBGM,
- RecordedPlayerHandleFaintingCry,
- RecordedPlayerHandleIntroSlide,
- RecordedPlayerHandleIntroTrainerBallThrow,
- RecordedPlayerHandleDrawPartyStatusSummary,
- RecordedPlayerHandleHidePartyStatusSummary,
- RecordedPlayerHandleEndBounceEffect,
- RecordedPlayerHandleSpriteInvisibility,
- RecordedPlayerHandleBattleAnimation,
- RecordedPlayerHandleLinkStandbyMsg,
- RecordedPlayerHandleResetActionMoveSelection,
- RecordedPlayerHandleCmd55,
- RecordedPlayerCmdEnd
+ [CONTROLLER_GETMONDATA] = RecordedPlayerHandleGetMonData,
+ [CONTROLLER_GETRAWMONDATA] = RecordedPlayerHandleGetRawMonData,
+ [CONTROLLER_SETMONDATA] = RecordedPlayerHandleSetMonData,
+ [CONTROLLER_SETRAWMONDATA] = RecordedPlayerHandleSetRawMonData,
+ [CONTROLLER_LOADMONSPRITE] = RecordedPlayerHandleLoadMonSprite,
+ [CONTROLLER_SWITCHINANIM] = RecordedPlayerHandleSwitchInAnim,
+ [CONTROLLER_RETURNMONTOBALL] = RecordedPlayerHandleReturnMonToBall,
+ [CONTROLLER_DRAWTRAINERPIC] = RecordedPlayerHandleDrawTrainerPic,
+ [CONTROLLER_TRAINERSLIDE] = RecordedPlayerHandleTrainerSlide,
+ [CONTROLLER_TRAINERSLIDEBACK] = RecordedPlayerHandleTrainerSlideBack,
+ [CONTROLLER_FAINTANIMATION] = RecordedPlayerHandleFaintAnimation,
+ [CONTROLLER_PALETTEFADE] = RecordedPlayerHandlePaletteFade,
+ [CONTROLLER_SUCCESSBALLTHROWANIM] = RecordedPlayerHandleSuccessBallThrowAnim,
+ [CONTROLLER_BALLTHROWANIM] = RecordedPlayerHandleBallThrowAnim,
+ [CONTROLLER_PAUSE] = RecordedPlayerHandlePause,
+ [CONTROLLER_MOVEANIMATION] = RecordedPlayerHandleMoveAnimation,
+ [CONTROLLER_PRINTSTRING] = RecordedPlayerHandlePrintString,
+ [CONTROLLER_PRINTSTRINGPLAYERONLY] = RecordedPlayerHandlePrintSelectionString,
+ [CONTROLLER_CHOOSEACTION] = RecordedPlayerHandleChooseAction,
+ [CONTROLLER_UNKNOWNYESNOBOX] = RecordedPlayerHandleUnknownYesNoBox,
+ [CONTROLLER_CHOOSEMOVE] = RecordedPlayerHandleChooseMove,
+ [CONTROLLER_OPENBAG] = RecordedPlayerHandleChooseItem,
+ [CONTROLLER_CHOOSEPOKEMON] = RecordedPlayerHandleChoosePokemon,
+ [CONTROLLER_23] = RecordedPlayerHandleCmd23,
+ [CONTROLLER_HEALTHBARUPDATE] = RecordedPlayerHandleHealthBarUpdate,
+ [CONTROLLER_EXPUPDATE] = RecordedPlayerHandleExpUpdate,
+ [CONTROLLER_STATUSICONUPDATE] = RecordedPlayerHandleStatusIconUpdate,
+ [CONTROLLER_STATUSANIMATION] = RecordedPlayerHandleStatusAnimation,
+ [CONTROLLER_STATUSXOR] = RecordedPlayerHandleStatusXor,
+ [CONTROLLER_DATATRANSFER] = RecordedPlayerHandleDataTransfer,
+ [CONTROLLER_DMA3TRANSFER] = RecordedPlayerHandleDMA3Transfer,
+ [CONTROLLER_PLAYBGM] = RecordedPlayerHandlePlayBGM,
+ [CONTROLLER_32] = RecordedPlayerHandleCmd32,
+ [CONTROLLER_TWORETURNVALUES] = RecordedPlayerHandleTwoReturnValues,
+ [CONTROLLER_CHOSENMONRETURNVALUE] = RecordedPlayerHandleChosenMonReturnValue,
+ [CONTROLLER_ONERETURNVALUE] = RecordedPlayerHandleOneReturnValue,
+ [CONTROLLER_ONERETURNVALUE_DUPLICATE] = RecordedPlayerHandleOneReturnValue_Duplicate,
+ [CONTROLLER_CLEARUNKVAR] = RecordedPlayerHandleClearUnkVar,
+ [CONTROLLER_SETUNKVAR] = RecordedPlayerHandleSetUnkVar,
+ [CONTROLLER_CLEARUNKFLAG] = RecordedPlayerHandleClearUnkFlag,
+ [CONTROLLER_TOGGLEUNKFLAG] = RecordedPlayerHandleToggleUnkFlag,
+ [CONTROLLER_HITANIMATION] = RecordedPlayerHandleHitAnimation,
+ [CONTROLLER_42] = RecordedPlayerHandleCmd42,
+ [CONTROLLER_PLAYSE] = RecordedPlayerHandlePlaySE,
+ [CONTROLLER_PLAYFANFAREORBGM] = RecordedPlayerHandlePlayFanfareOrBGM,
+ [CONTROLLER_FAINTINGCRY] = RecordedPlayerHandleFaintingCry,
+ [CONTROLLER_INTROSLIDE] = RecordedPlayerHandleIntroSlide,
+ [CONTROLLER_INTROTRAINERBALLTHROW] = RecordedPlayerHandleIntroTrainerBallThrow,
+ [CONTROLLER_DRAWPARTYSTATUSSUMMARY] = RecordedPlayerHandleDrawPartyStatusSummary,
+ [CONTROLLER_HIDEPARTYSTATUSSUMMARY] = RecordedPlayerHandleHidePartyStatusSummary,
+ [CONTROLLER_ENDBOUNCE] = RecordedPlayerHandleEndBounceEffect,
+ [CONTROLLER_SPRITEINVISIBILITY] = RecordedPlayerHandleSpriteInvisibility,
+ [CONTROLLER_BATTLEANIMATION] = RecordedPlayerHandleBattleAnimation,
+ [CONTROLLER_LINKSTANDBYMSG] = RecordedPlayerHandleLinkStandbyMsg,
+ [CONTROLLER_RESETACTIONMOVESELECTION] = RecordedPlayerHandleResetActionMoveSelection,
+ [CONTROLLER_55] = RecordedPlayerHandleCmd55,
+ [CONTROLLER_TERMINATOR_NOP] = RecordedPlayerCmdEnd
};
static void nullsub_120(void)
@@ -1561,27 +1561,27 @@ static void RecordedPlayerHandleOneReturnValue_Duplicate(void)
RecordedPlayerBufferExecCompleted();
}
-static void RecordedPlayerHandleCmd37(void)
+static void RecordedPlayerHandleClearUnkVar(void)
{
- gUnknown_02022D0C.field_0 = 0;
+ gUnusedControllerStruct.unk = 0;
RecordedPlayerBufferExecCompleted();
}
-static void RecordedPlayerHandleCmd38(void)
+static void RecordedPlayerHandleSetUnkVar(void)
{
- gUnknown_02022D0C.field_0 = gBattleBufferA[gActiveBattler][1];
+ gUnusedControllerStruct.unk = gBattleBufferA[gActiveBattler][1];
RecordedPlayerBufferExecCompleted();
}
-static void RecordedPlayerHandleCmd39(void)
+static void RecordedPlayerHandleClearUnkFlag(void)
{
- gUnknown_02022D0C.flag_x80 = 0;
+ gUnusedControllerStruct.flag = 0;
RecordedPlayerBufferExecCompleted();
}
-static void RecordedPlayerHandleCmd40(void)
+static void RecordedPlayerHandleToggleUnkFlag(void)
{
- gUnknown_02022D0C.flag_x80 ^= 1;
+ gUnusedControllerStruct.flag ^= 1;
RecordedPlayerBufferExecCompleted();
}
diff --git a/src/battle_controller_safari.c b/src/battle_controller_safari.c
index 9cb427e12..b5a8b1bb6 100644
--- a/src/battle_controller_safari.c
+++ b/src/battle_controller_safari.c
@@ -62,10 +62,10 @@ static void SafariHandleTwoReturnValues(void);
static void SafariHandleChosenMonReturnValue(void);
static void SafariHandleOneReturnValue(void);
static void SafariHandleOneReturnValue_Duplicate(void);
-static void SafariHandleCmd37(void);
-static void SafariHandleCmd38(void);
-static void SafariHandleCmd39(void);
-static void SafariHandleCmd40(void);
+static void SafariHandleClearUnkVar(void);
+static void SafariHandleSetUnkVar(void);
+static void SafariHandleClearUnkFlag(void);
+static void SafariHandleToggleUnkFlag(void);
static void SafariHandleHitAnimation(void);
static void SafariHandleCmd42(void);
static void SafariHandlePlaySE(void);
@@ -89,63 +89,63 @@ static void CompleteWhenChosePokeblock(void);
static void (*const sSafariBufferCommands[CONTROLLER_CMDS_COUNT])(void) =
{
- SafariHandleGetMonData,
- SafariHandleGetRawMonData,
- SafariHandleSetMonData,
- SafariHandleSetRawMonData,
- SafariHandleLoadMonSprite,
- SafariHandleSwitchInAnim,
- SafariHandleReturnMonToBall,
- SafariHandleDrawTrainerPic,
- SafariHandleTrainerSlide,
- SafariHandleTrainerSlideBack,
- SafariHandleFaintAnimation,
- SafariHandlePaletteFade,
- SafariHandleSuccessBallThrowAnim,
- SafariHandleBallThrowAnim,
- SafariHandlePause,
- SafariHandleMoveAnimation,
- SafariHandlePrintString,
- SafariHandlePrintSelectionString,
- SafariHandleChooseAction,
- SafariHandleUnknownYesNoBox,
- SafariHandleChooseMove,
- SafariHandleChooseItem,
- SafariHandleChoosePokemon,
- SafariHandleCmd23,
- SafariHandleHealthBarUpdate,
- SafariHandleExpUpdate,
- SafariHandleStatusIconUpdate,
- SafariHandleStatusAnimation,
- SafariHandleStatusXor,
- SafariHandleDataTransfer,
- SafariHandleDMA3Transfer,
- SafariHandlePlayBGM,
- SafariHandleCmd32,
- SafariHandleTwoReturnValues,
- SafariHandleChosenMonReturnValue,
- SafariHandleOneReturnValue,
- SafariHandleOneReturnValue_Duplicate,
- SafariHandleCmd37,
- SafariHandleCmd38,
- SafariHandleCmd39,
- SafariHandleCmd40,
- SafariHandleHitAnimation,
- SafariHandleCmd42,
- SafariHandlePlaySE,
- SafariHandlePlayFanfareOrBGM,
- SafariHandleFaintingCry,
- SafariHandleIntroSlide,
- SafariHandleIntroTrainerBallThrow,
- SafariHandleDrawPartyStatusSummary,
- SafariHandleHidePartyStatusSummary,
- SafariHandleEndBounceEffect,
- SafariHandleSpriteInvisibility,
- SafariHandleBattleAnimation,
- SafariHandleLinkStandbyMsg,
- SafariHandleResetActionMoveSelection,
- SafariHandleCmd55,
- SafariCmdEnd
+ [CONTROLLER_GETMONDATA] = SafariHandleGetMonData,
+ [CONTROLLER_GETRAWMONDATA] = SafariHandleGetRawMonData,
+ [CONTROLLER_SETMONDATA] = SafariHandleSetMonData,
+ [CONTROLLER_SETRAWMONDATA] = SafariHandleSetRawMonData,
+ [CONTROLLER_LOADMONSPRITE] = SafariHandleLoadMonSprite,
+ [CONTROLLER_SWITCHINANIM] = SafariHandleSwitchInAnim,
+ [CONTROLLER_RETURNMONTOBALL] = SafariHandleReturnMonToBall,
+ [CONTROLLER_DRAWTRAINERPIC] = SafariHandleDrawTrainerPic,
+ [CONTROLLER_TRAINERSLIDE] = SafariHandleTrainerSlide,
+ [CONTROLLER_TRAINERSLIDEBACK] = SafariHandleTrainerSlideBack,
+ [CONTROLLER_FAINTANIMATION] = SafariHandleFaintAnimation,
+ [CONTROLLER_PALETTEFADE] = SafariHandlePaletteFade,
+ [CONTROLLER_SUCCESSBALLTHROWANIM] = SafariHandleSuccessBallThrowAnim,
+ [CONTROLLER_BALLTHROWANIM] = SafariHandleBallThrowAnim,
+ [CONTROLLER_PAUSE] = SafariHandlePause,
+ [CONTROLLER_MOVEANIMATION] = SafariHandleMoveAnimation,
+ [CONTROLLER_PRINTSTRING] = SafariHandlePrintString,
+ [CONTROLLER_PRINTSTRINGPLAYERONLY] = SafariHandlePrintSelectionString,
+ [CONTROLLER_CHOOSEACTION] = SafariHandleChooseAction,
+ [CONTROLLER_UNKNOWNYESNOBOX] = SafariHandleUnknownYesNoBox,
+ [CONTROLLER_CHOOSEMOVE] = SafariHandleChooseMove,
+ [CONTROLLER_OPENBAG] = SafariHandleChooseItem,
+ [CONTROLLER_CHOOSEPOKEMON] = SafariHandleChoosePokemon,
+ [CONTROLLER_23] = SafariHandleCmd23,
+ [CONTROLLER_HEALTHBARUPDATE] = SafariHandleHealthBarUpdate,
+ [CONTROLLER_EXPUPDATE] = SafariHandleExpUpdate,
+ [CONTROLLER_STATUSICONUPDATE] = SafariHandleStatusIconUpdate,
+ [CONTROLLER_STATUSANIMATION] = SafariHandleStatusAnimation,
+ [CONTROLLER_STATUSXOR] = SafariHandleStatusXor,
+ [CONTROLLER_DATATRANSFER] = SafariHandleDataTransfer,
+ [CONTROLLER_DMA3TRANSFER] = SafariHandleDMA3Transfer,
+ [CONTROLLER_PLAYBGM] = SafariHandlePlayBGM,
+ [CONTROLLER_32] = SafariHandleCmd32,
+ [CONTROLLER_TWORETURNVALUES] = SafariHandleTwoReturnValues,
+ [CONTROLLER_CHOSENMONRETURNVALUE] = SafariHandleChosenMonReturnValue,
+ [CONTROLLER_ONERETURNVALUE] = SafariHandleOneReturnValue,
+ [CONTROLLER_ONERETURNVALUE_DUPLICATE] = SafariHandleOneReturnValue_Duplicate,
+ [CONTROLLER_CLEARUNKVAR] = SafariHandleClearUnkVar,
+ [CONTROLLER_SETUNKVAR] = SafariHandleSetUnkVar,
+ [CONTROLLER_CLEARUNKFLAG] = SafariHandleClearUnkFlag,
+ [CONTROLLER_TOGGLEUNKFLAG] = SafariHandleToggleUnkFlag,
+ [CONTROLLER_HITANIMATION] = SafariHandleHitAnimation,
+ [CONTROLLER_42] = SafariHandleCmd42,
+ [CONTROLLER_PLAYSE] = SafariHandlePlaySE,
+ [CONTROLLER_PLAYFANFAREORBGM] = SafariHandlePlayFanfareOrBGM,
+ [CONTROLLER_FAINTINGCRY] = SafariHandleFaintingCry,
+ [CONTROLLER_INTROSLIDE] = SafariHandleIntroSlide,
+ [CONTROLLER_INTROTRAINERBALLTHROW] = SafariHandleIntroTrainerBallThrow,
+ [CONTROLLER_DRAWPARTYSTATUSSUMMARY] = SafariHandleDrawPartyStatusSummary,
+ [CONTROLLER_HIDEPARTYSTATUSSUMMARY] = SafariHandleHidePartyStatusSummary,
+ [CONTROLLER_ENDBOUNCE] = SafariHandleEndBounceEffect,
+ [CONTROLLER_SPRITEINVISIBILITY] = SafariHandleSpriteInvisibility,
+ [CONTROLLER_BATTLEANIMATION] = SafariHandleBattleAnimation,
+ [CONTROLLER_LINKSTANDBYMSG] = SafariHandleLinkStandbyMsg,
+ [CONTROLLER_RESETACTIONMOVESELECTION] = SafariHandleResetActionMoveSelection,
+ [CONTROLLER_55] = SafariHandleCmd55,
+ [CONTROLLER_TERMINATOR_NOP] = SafariCmdEnd
};
static void SpriteCB_Null4(void)
@@ -553,22 +553,22 @@ static void SafariHandleOneReturnValue_Duplicate(void)
SafariBufferExecCompleted();
}
-static void SafariHandleCmd37(void)
+static void SafariHandleClearUnkVar(void)
{
SafariBufferExecCompleted();
}
-static void SafariHandleCmd38(void)
+static void SafariHandleSetUnkVar(void)
{
SafariBufferExecCompleted();
}
-static void SafariHandleCmd39(void)
+static void SafariHandleClearUnkFlag(void)
{
SafariBufferExecCompleted();
}
-static void SafariHandleCmd40(void)
+static void SafariHandleToggleUnkFlag(void)
{
SafariBufferExecCompleted();
}
diff --git a/src/battle_controller_wally.c b/src/battle_controller_wally.c
index aa50bc159..83a977073 100644
--- a/src/battle_controller_wally.c
+++ b/src/battle_controller_wally.c
@@ -70,10 +70,10 @@ static void WallyHandleTwoReturnValues(void);
static void WallyHandleChosenMonReturnValue(void);
static void WallyHandleOneReturnValue(void);
static void WallyHandleOneReturnValue_Duplicate(void);
-static void WallyHandleCmd37(void);
-static void WallyHandleCmd38(void);
-static void WallyHandleCmd39(void);
-static void WallyHandleCmd40(void);
+static void WallyHandleClearUnkVar(void);
+static void WallyHandleSetUnkVar(void);
+static void WallyHandleClearUnkFlag(void);
+static void WallyHandleToggleUnkFlag(void);
static void WallyHandleHitAnimation(void);
static void WallyHandleCmd42(void);
static void WallyHandlePlaySE(void);
@@ -102,63 +102,63 @@ static void sub_816AC04(u8 taskId);
static void (*const sWallyBufferCommands[CONTROLLER_CMDS_COUNT])(void) =
{
- WallyHandleGetMonData,
- WallyHandleGetRawMonData,
- WallyHandleSetMonData,
- WallyHandleSetRawMonData,
- WallyHandleLoadMonSprite,
- WallyHandleSwitchInAnim,
- WallyHandleReturnMonToBall,
- WallyHandleDrawTrainerPic,
- WallyHandleTrainerSlide,
- WallyHandleTrainerSlideBack,
- WallyHandleFaintAnimation,
- WallyHandlePaletteFade,
- WallyHandleSuccessBallThrowAnim,
- WallyHandleBallThrowAnim,
- WallyHandlePause,
- WallyHandleMoveAnimation,
- WallyHandlePrintString,
- WallyHandlePrintSelectionString,
- WallyHandleChooseAction,
- WallyHandleUnknownYesNoBox,
- WallyHandleChooseMove,
- WallyHandleChooseItem,
- WallyHandleChoosePokemon,
- WallyHandleCmd23,
- WallyHandleHealthBarUpdate,
- WallyHandleExpUpdate,
- WallyHandleStatusIconUpdate,
- WallyHandleStatusAnimation,
- WallyHandleStatusXor,
- WallyHandleDataTransfer,
- WallyHandleDMA3Transfer,
- WallyHandlePlayBGM,
- WallyHandleCmd32,
- WallyHandleTwoReturnValues,
- WallyHandleChosenMonReturnValue,
- WallyHandleOneReturnValue,
- WallyHandleOneReturnValue_Duplicate,
- WallyHandleCmd37,
- WallyHandleCmd38,
- WallyHandleCmd39,
- WallyHandleCmd40,
- WallyHandleHitAnimation,
- WallyHandleCmd42,
- WallyHandlePlaySE,
- WallyHandlePlayFanfareOrBGM,
- WallyHandleFaintingCry,
- WallyHandleIntroSlide,
- WallyHandleIntroTrainerBallThrow,
- WallyHandleDrawPartyStatusSummary,
- WallyHandleHidePartyStatusSummary,
- WallyHandleEndBounceEffect,
- WallyHandleSpriteInvisibility,
- WallyHandleBattleAnimation,
- WallyHandleLinkStandbyMsg,
- WallyHandleResetActionMoveSelection,
- WallyHandleCmd55,
- WallyCmdEnd
+ [CONTROLLER_GETMONDATA] = WallyHandleGetMonData,
+ [CONTROLLER_GETRAWMONDATA] = WallyHandleGetRawMonData,
+ [CONTROLLER_SETMONDATA] = WallyHandleSetMonData,
+ [CONTROLLER_SETRAWMONDATA] = WallyHandleSetRawMonData,
+ [CONTROLLER_LOADMONSPRITE] = WallyHandleLoadMonSprite,
+ [CONTROLLER_SWITCHINANIM] = WallyHandleSwitchInAnim,
+ [CONTROLLER_RETURNMONTOBALL] = WallyHandleReturnMonToBall,
+ [CONTROLLER_DRAWTRAINERPIC] = WallyHandleDrawTrainerPic,
+ [CONTROLLER_TRAINERSLIDE] = WallyHandleTrainerSlide,
+ [CONTROLLER_TRAINERSLIDEBACK] = WallyHandleTrainerSlideBack,
+ [CONTROLLER_FAINTANIMATION] = WallyHandleFaintAnimation,
+ [CONTROLLER_PALETTEFADE] = WallyHandlePaletteFade,
+ [CONTROLLER_SUCCESSBALLTHROWANIM] = WallyHandleSuccessBallThrowAnim,
+ [CONTROLLER_BALLTHROWANIM] = WallyHandleBallThrowAnim,
+ [CONTROLLER_PAUSE] = WallyHandlePause,
+ [CONTROLLER_MOVEANIMATION] = WallyHandleMoveAnimation,
+ [CONTROLLER_PRINTSTRING] = WallyHandlePrintString,
+ [CONTROLLER_PRINTSTRINGPLAYERONLY] = WallyHandlePrintSelectionString,
+ [CONTROLLER_CHOOSEACTION] = WallyHandleChooseAction,
+ [CONTROLLER_UNKNOWNYESNOBOX] = WallyHandleUnknownYesNoBox,
+ [CONTROLLER_CHOOSEMOVE] = WallyHandleChooseMove,
+ [CONTROLLER_OPENBAG] = WallyHandleChooseItem,
+ [CONTROLLER_CHOOSEPOKEMON] = WallyHandleChoosePokemon,
+ [CONTROLLER_23] = WallyHandleCmd23,
+ [CONTROLLER_HEALTHBARUPDATE] = WallyHandleHealthBarUpdate,
+ [CONTROLLER_EXPUPDATE] = WallyHandleExpUpdate,
+ [CONTROLLER_STATUSICONUPDATE] = WallyHandleStatusIconUpdate,
+ [CONTROLLER_STATUSANIMATION] = WallyHandleStatusAnimation,
+ [CONTROLLER_STATUSXOR] = WallyHandleStatusXor,
+ [CONTROLLER_DATATRANSFER] = WallyHandleDataTransfer,
+ [CONTROLLER_DMA3TRANSFER] = WallyHandleDMA3Transfer,
+ [CONTROLLER_PLAYBGM] = WallyHandlePlayBGM,
+ [CONTROLLER_32] = WallyHandleCmd32,
+ [CONTROLLER_TWORETURNVALUES] = WallyHandleTwoReturnValues,
+ [CONTROLLER_CHOSENMONRETURNVALUE] = WallyHandleChosenMonReturnValue,
+ [CONTROLLER_ONERETURNVALUE] = WallyHandleOneReturnValue,
+ [CONTROLLER_ONERETURNVALUE_DUPLICATE] = WallyHandleOneReturnValue_Duplicate,
+ [CONTROLLER_CLEARUNKVAR] = WallyHandleClearUnkVar,
+ [CONTROLLER_SETUNKVAR] = WallyHandleSetUnkVar,
+ [CONTROLLER_CLEARUNKFLAG] = WallyHandleClearUnkFlag,
+ [CONTROLLER_TOGGLEUNKFLAG] = WallyHandleToggleUnkFlag,
+ [CONTROLLER_HITANIMATION] = WallyHandleHitAnimation,
+ [CONTROLLER_42] = WallyHandleCmd42,
+ [CONTROLLER_PLAYSE] = WallyHandlePlaySE,
+ [CONTROLLER_PLAYFANFAREORBGM] = WallyHandlePlayFanfareOrBGM,
+ [CONTROLLER_FAINTINGCRY] = WallyHandleFaintingCry,
+ [CONTROLLER_INTROSLIDE] = WallyHandleIntroSlide,
+ [CONTROLLER_INTROTRAINERBALLTHROW] = WallyHandleIntroTrainerBallThrow,
+ [CONTROLLER_DRAWPARTYSTATUSSUMMARY] = WallyHandleDrawPartyStatusSummary,
+ [CONTROLLER_HIDEPARTYSTATUSSUMMARY] = WallyHandleHidePartyStatusSummary,
+ [CONTROLLER_ENDBOUNCE] = WallyHandleEndBounceEffect,
+ [CONTROLLER_SPRITEINVISIBILITY] = WallyHandleSpriteInvisibility,
+ [CONTROLLER_BATTLEANIMATION] = WallyHandleBattleAnimation,
+ [CONTROLLER_LINKSTANDBYMSG] = WallyHandleLinkStandbyMsg,
+ [CONTROLLER_RESETACTIONMOVESELECTION] = WallyHandleResetActionMoveSelection,
+ [CONTROLLER_55] = WallyHandleCmd55,
+ [CONTROLLER_TERMINATOR_NOP] = WallyCmdEnd
};
static void SpriteCB_Null7(void)
@@ -1346,22 +1346,22 @@ static void WallyHandleOneReturnValue_Duplicate(void)
WallyBufferExecCompleted();
}
-static void WallyHandleCmd37(void)
+static void WallyHandleClearUnkVar(void)
{
WallyBufferExecCompleted();
}
-static void WallyHandleCmd38(void)
+static void WallyHandleSetUnkVar(void)
{
WallyBufferExecCompleted();
}
-static void WallyHandleCmd39(void)
+static void WallyHandleClearUnkFlag(void)
{
WallyBufferExecCompleted();
}
-static void WallyHandleCmd40(void)
+static void WallyHandleToggleUnkFlag(void)
{
WallyBufferExecCompleted();
}
diff --git a/src/battle_controllers.c b/src/battle_controllers.c
index 3ebc5d3bd..a95bb2f6a 100644
--- a/src/battle_controllers.c
+++ b/src/battle_controllers.c
@@ -17,7 +17,7 @@
static EWRAM_DATA u8 sLinkSendTaskId = 0;
static EWRAM_DATA u8 sLinkReceiveTaskId = 0;
static EWRAM_DATA u8 sUnknown_02022D0A = 0;
-EWRAM_DATA struct UnusedControllerStruct gUnknown_02022D0C = {};
+EWRAM_DATA struct UnusedControllerStruct gUnusedControllerStruct = {}; // Debug? Unused code that writes to it, never read
static EWRAM_DATA u8 sBattleBuffersTransferData[0x100] = {};
// this file's funcionts
@@ -1282,7 +1282,7 @@ void BtlController_EmitPlayBGM(u8 bufferId, u16 songId, void *unusedDumbDataPara
{
s32 i;
- sBattleBuffersTransferData[0] = CONTROLLER_31;
+ sBattleBuffersTransferData[0] = CONTROLLER_PLAYBGM;
sBattleBuffersTransferData[1] = songId;
sBattleBuffersTransferData[2] = (songId & 0xFF00) >> 8;
for (i = 0; i < songId; i++) // ????
@@ -1340,37 +1340,37 @@ void BtlController_EmitOneReturnValue_Duplicate(u8 bufferId, u16 b)
PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 4);
}
-void BtlController_EmitCmd37(u8 bufferId)
+void BtlController_EmitClearUnkVar(u8 bufferId)
{
- sBattleBuffersTransferData[0] = CONTROLLER_37;
- sBattleBuffersTransferData[1] = CONTROLLER_37;
- sBattleBuffersTransferData[2] = CONTROLLER_37;
- sBattleBuffersTransferData[3] = CONTROLLER_37;
+ sBattleBuffersTransferData[0] = CONTROLLER_CLEARUNKVAR;
+ sBattleBuffersTransferData[1] = CONTROLLER_CLEARUNKVAR;
+ sBattleBuffersTransferData[2] = CONTROLLER_CLEARUNKVAR;
+ sBattleBuffersTransferData[3] = CONTROLLER_CLEARUNKVAR;
PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 4);
}
-void BtlController_EmitCmd38(u8 bufferId, u8 b)
+void BtlController_EmitSetUnkVar(u8 bufferId, u8 b)
{
- sBattleBuffersTransferData[0] = CONTROLLER_38;
+ sBattleBuffersTransferData[0] = CONTROLLER_SETUNKVAR;
sBattleBuffersTransferData[1] = b;
PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 2);
}
-void BtlController_EmitCmd39(u8 bufferId)
+void BtlController_EmitClearUnkFlag(u8 bufferId)
{
- sBattleBuffersTransferData[0] = CONTROLLER_39;
- sBattleBuffersTransferData[1] = CONTROLLER_39;
- sBattleBuffersTransferData[2] = CONTROLLER_39;
- sBattleBuffersTransferData[3] = CONTROLLER_39;
+ sBattleBuffersTransferData[0] = CONTROLLER_CLEARUNKFLAG;
+ sBattleBuffersTransferData[1] = CONTROLLER_CLEARUNKFLAG;
+ sBattleBuffersTransferData[2] = CONTROLLER_CLEARUNKFLAG;
+ sBattleBuffersTransferData[3] = CONTROLLER_CLEARUNKFLAG;
PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 4);
}
-void BtlController_EmitCmd40(u8 bufferId)
+void BtlController_EmitToggleUnkFlag(u8 bufferId)
{
- sBattleBuffersTransferData[0] = CONTROLLER_40;
- sBattleBuffersTransferData[1] = CONTROLLER_40;
- sBattleBuffersTransferData[2] = CONTROLLER_40;
- sBattleBuffersTransferData[3] = CONTROLLER_40;
+ sBattleBuffersTransferData[0] = CONTROLLER_TOGGLEUNKFLAG;
+ sBattleBuffersTransferData[1] = CONTROLLER_TOGGLEUNKFLAG;
+ sBattleBuffersTransferData[2] = CONTROLLER_TOGGLEUNKFLAG;
+ sBattleBuffersTransferData[3] = CONTROLLER_TOGGLEUNKFLAG;
PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 4);
}
@@ -1394,7 +1394,7 @@ void BtlController_EmitCmd42(u8 bufferId)
void BtlController_EmitPlaySE(u8 bufferId, u16 songId)
{
- sBattleBuffersTransferData[0] = CONTROLLER_EFFECTIVENESSSOUND;
+ sBattleBuffersTransferData[0] = CONTROLLER_PLAYSE;
sBattleBuffersTransferData[1] = songId;
sBattleBuffersTransferData[2] = (songId & 0xFF00) >> 8;
sBattleBuffersTransferData[3] = 0;
diff --git a/src/battle_setup.c b/src/battle_setup.c
index 40b5993f0..0a5e7e8b4 100644
--- a/src/battle_setup.c
+++ b/src/battle_setup.c
@@ -607,7 +607,7 @@ static void CB2_EndWildBattle(void)
else
{
SetMainCallback2(CB2_ReturnToField);
- gFieldCallback = sub_80AF6F0;
+ gFieldCallback = FieldCB_ReturnToFieldNoScriptCheckMusic;
}
}
diff --git a/src/field_control_avatar.c b/src/field_control_avatar.c
index fab14c577..a811901a9 100644
--- a/src/field_control_avatar.c
+++ b/src/field_control_avatar.c
@@ -730,7 +730,8 @@ static bool8 TryStartWarpEventScript(struct MapPosition *position, u16 metatileB
}
if (MetatileBehavior_IsWarpOrBridge(metatileBehavior) == TRUE)
{
- sub_80B0268();
+ // Maybe unused? This MB is used by log bridges, but there's never a warp event on them
+ DoSpinExitWarp();
return TRUE;
}
if (MetatileBehavior_IsMtPyreHole(metatileBehavior) == TRUE)
diff --git a/src/field_player_avatar.c b/src/field_player_avatar.c
index f57cc9979..cc4c03c9d 100644
--- a/src/field_player_avatar.c
+++ b/src/field_player_avatar.c
@@ -31,7 +31,7 @@
#include "constants/songs.h"
#include "constants/trainer_types.h"
-static EWRAM_DATA u8 gUnknown_0203734C = 0;
+static EWRAM_DATA u8 sSpinStartFacingDir = 0;
EWRAM_DATA struct ObjectEvent gObjectEvents[OBJECT_EVENTS_COUNT] = {};
EWRAM_DATA struct PlayerAvatar gPlayerAvatar = {};
@@ -138,7 +138,7 @@ static u8 Fishing_PutRodAway(struct Task *task);
static u8 Fishing_EndNoMon(struct Task *task);
static void AlignFishingAnimationFrames(void);
-static u8 sub_808D38C(struct ObjectEvent *object, s16 *a1);
+static u8 TrySpinPlayerForWarp(struct ObjectEvent *object, s16 *a1);
// .rodata
@@ -2050,54 +2050,64 @@ static void AlignFishingAnimationFrames(void)
SetSurfBobWhileFishingState(gObjectEvents[gPlayerAvatar.objectEventId].fieldEffectSpriteId, 1, playerSprite->pos2.y);
}
-void sub_808D074(u8 a0)
+void SetSpinStartFacingDir(u8 direction)
{
- gUnknown_0203734C = a0;
+ sSpinStartFacingDir = direction;
}
-static u8 sub_808D080(void)
+static u8 GetSpinStartFacingDir(void)
{
- if (gUnknown_0203734C == 0)
- {
- return 1;
- }
- return gUnknown_0203734C;
+ if (sSpinStartFacingDir == DIR_NONE)
+ return DIR_SOUTH;
+
+ return sSpinStartFacingDir;
}
-static void sub_808D094(u8 taskId)
+// Task data for Task_DoPlayerSpinEntrance and Task_DoPlayerSpinExit
+#define tState data[0]
+#define tSpinDelayTimer data[1]
+#define tSpeed data[2]
+#define tCurY data[3]
+#define tDestY data[4]
+#define tStartDir data[5]
+#define tPriority data[6]
+#define tSubpriority data[7]
+#define tGroundTimer data[8]
+
+static void Task_DoPlayerSpinExit(u8 taskId)
{
struct ObjectEvent *object = &gObjectEvents[gPlayerAvatar.objectEventId];
struct Sprite *sprite = &gSprites[object->spriteId];
s16 *data = gTasks[taskId].data;
- switch (data[0])
+ switch (tState)
{
- case 0:
+ case 0: // Init
if (!ObjectEventClearHeldMovementIfFinished(object))
- {
return;
- }
- sub_808D074(object->facingDirection);
- data[1] = 0;
- data[2] = 1;
- data[3] = (u16)(sprite->pos1.y + sprite->pos2.y) << 4;
+ SetSpinStartFacingDir(object->facingDirection);
+ tSpinDelayTimer = 0;
+ tSpeed = 1;
+ tCurY = (u16)(sprite->pos1.y + sprite->pos2.y) << 4;
sprite->pos2.y = 0;
CameraObjectReset2();
object->fixedPriority = TRUE;
sprite->oam.priority = 0;
sprite->subpriority = 0;
sprite->subspriteMode = SUBSPRITES_OFF;
- data[0]++;
- case 1:
- sub_808D38C(object, &data[1]);
- data[3] -= data[2];
- data[2] += 3;
- sprite->pos1.y = data[3] >> 4;
+ tState++;
+ case 1: // Spin while rising
+ TrySpinPlayerForWarp(object, &tSpinDelayTimer);
+
+ // Rise and accelerate
+ tCurY -= tSpeed;
+ tSpeed += 3;
+ sprite->pos1.y = tCurY >> 4;
+
+ // Check if offscreen
if (sprite->pos1.y + (s16)gTotalCameraPixelOffsetY < -32)
- {
- data[0]++;
- }
+ tState++;
break;
case 2:
DestroyTask(taskId);
@@ -2105,84 +2115,86 @@ static void sub_808D094(u8 taskId)
}
}
-static void sub_808D1FC(u8 taskId);
+static void Task_DoPlayerSpinEntrance(u8 taskId);
-void sub_808D194(void)
+void DoPlayerSpinEntrance(void)
{
- sub_808D1FC(CreateTask(sub_808D1FC, 0));
+ Task_DoPlayerSpinEntrance(CreateTask(Task_DoPlayerSpinEntrance, 0));
}
-bool32 sub_808D1B4(void)
+bool32 IsPlayerSpinEntranceActive(void)
{
- return FuncIsActiveTask(sub_808D1FC);
+ return FuncIsActiveTask(Task_DoPlayerSpinEntrance);
}
-void sub_808D1C8(void)
+void DoPlayerSpinExit(void)
{
- sub_808D094(CreateTask(sub_808D094, 0));
+ Task_DoPlayerSpinExit(CreateTask(Task_DoPlayerSpinExit, 0));
}
-bool32 sub_808D1E8(void)
+bool32 IsPlayerSpinExitActive(void)
{
- return FuncIsActiveTask(sub_808D094);
+ return FuncIsActiveTask(Task_DoPlayerSpinExit);
}
-static const u8 gUnknown_084975BC[] = {DIR_SOUTH, DIR_WEST, DIR_EAST, DIR_NORTH, DIR_SOUTH};
+static const u8 sSpinDirections[] = {DIR_SOUTH, DIR_WEST, DIR_EAST, DIR_NORTH, DIR_SOUTH};
-static void sub_808D1FC(u8 taskId)
+static void Task_DoPlayerSpinEntrance(u8 taskId)
{
struct ObjectEvent *object = &gObjectEvents[gPlayerAvatar.objectEventId];
struct Sprite *sprite = &gSprites[object->spriteId];
s16 *data = gTasks[taskId].data;
- switch (data[0])
+ switch (tState)
{
case 0:
- data[5] = sub_808D080();
- ObjectEventForceSetHeldMovement(object, GetFaceDirectionMovementAction(gUnknown_084975BC[data[5]]));
- data[1] = 0;
- data[2] = 116;
- data[4] = sprite->pos1.y;
- data[6] = sprite->oam.priority;
- data[7] = sprite->subpriority;
- data[3] = -((u16)sprite->pos2.y + 32) * 16;
+ // Because the spin start facing direction is never set for this
+ // warp type, the player will always exit the warp facing South.
+ // This may have been intentional, unclear
+ tStartDir = GetSpinStartFacingDir();
+ ObjectEventForceSetHeldMovement(object, GetFaceDirectionMovementAction(sSpinDirections[tStartDir]));
+ tSpinDelayTimer = 0;
+ tSpeed = 116;
+ tDestY = sprite->pos1.y;
+ tPriority = sprite->oam.priority;
+ tSubpriority = sprite->subpriority;
+ tCurY = -((u16)sprite->pos2.y + 32) * 16;
sprite->pos2.y = 0;
CameraObjectReset2();
object->fixedPriority = TRUE;
sprite->oam.priority = 1;
sprite->subpriority = 0;
sprite->subspriteMode = SUBSPRITES_OFF;
- data[0]++;
- case 1:
- sub_808D38C(object, &data[1]);
- data[3] += data[2];
- data[2] -= 3;
- if (data[2] < 4)
+ tState++;
+ case 1: // Spin while descending
+ TrySpinPlayerForWarp(object, &tSpinDelayTimer);
+
+ // Fall and decelerate
+ tCurY += tSpeed;
+ tSpeed -= 3;
+ if (tSpeed < 4)
+ tSpeed = 4;
+ sprite->pos1.y = tCurY >> 4;
+
+ // Check if reached dest
+ if (sprite->pos1.y >= tDestY)
{
- data[2] = 4;
- }
- sprite->pos1.y = data[3] >> 4;
- if (sprite->pos1.y >= data[4])
- {
- sprite->pos1.y = data[4];
- data[8] = 0;
- data[0]++;
+ sprite->pos1.y = tDestY;
+ tGroundTimer = 0;
+ tState++;
}
break;
- case 2:
- sub_808D38C(object, &data[1]);
- data[8]++;
- if (data[8] > 8)
- {
- data[0]++;
- }
+ case 2: // Spin on ground
+ TrySpinPlayerForWarp(object, &tSpinDelayTimer);
+ if (++tGroundTimer > 8)
+ tState++;
break;
- case 3:
- if (data[5] == sub_808D38C(object, &data[1]))
+ case 3: // Spin until facing original direction
+ if (tStartDir == TrySpinPlayerForWarp(object, &tSpinDelayTimer))
{
object->fixedPriority = 0;
- sprite->oam.priority = data[6];
- sprite->subpriority = data[7];
+ sprite->oam.priority = tPriority;
+ sprite->subpriority = tSubpriority;
CameraObjectReset1();
DestroyTask(taskId);
}
@@ -2190,19 +2202,15 @@ static void sub_808D1FC(u8 taskId)
}
}
-static u8 sub_808D38C(struct ObjectEvent *object, s16 *a1)
+static u8 TrySpinPlayerForWarp(struct ObjectEvent *object, s16 *delayTimer)
{
- if (*a1 < 8 && ++(*a1) < 8)
- {
+ if (*delayTimer < 8 && ++(*delayTimer) < 8)
return object->facingDirection;
- }
if (!ObjectEventCheckHeldMovementStatus(object))
- {
return object->facingDirection;
- }
- ObjectEventForceSetHeldMovement(object, GetFaceDirectionMovementAction(gUnknown_084975BC[object->facingDirection]));
- *a1 = 0;
- return gUnknown_084975BC[object->facingDirection];
+ ObjectEventForceSetHeldMovement(object, GetFaceDirectionMovementAction(sSpinDirections[object->facingDirection]));
+ *delayTimer = 0;
+ return sSpinDirections[object->facingDirection];
}
diff --git a/src/field_screen_effect.c b/src/field_screen_effect.c
index 9becd2166..db82d667c 100644
--- a/src/field_screen_effect.c
+++ b/src/field_screen_effect.c
@@ -42,11 +42,14 @@ static void Task_DoContestHallWarp(u8);
static void FillPalBufferWhite(void);
static void Task_ExitDoor(u8);
static bool32 WaitForWeatherFadeIn(void);
-static void Task_TeleportTileWarpExit(u8 taskId);
+static void Task_SpinEnterWarp(u8 taskId);
static void Task_WarpAndLoadMap(u8 taskId);
static void Task_DoDoorWarp(u8 taskId);
static void Task_EnableScriptAfterMusicFade(u8 taskId);
+// data[0] is used universally by tasks in this file as a state for switches
+#define tState data[0]
+
// const
static const u16 sFlashLevelPixelRadii[] = { 200, 72, 64, 56, 48, 40, 32, 24, 0 };
const s32 gMaxFlashLevel = ARRAY_COUNT(sFlashLevelPixelRadii) - 1;
@@ -156,17 +159,17 @@ static void Task_ReturnToFieldCableLink(u8 taskId)
{
struct Task *task = &gTasks[taskId];
- switch (task->data[0])
+ switch (task->tState)
{
case 0:
task->data[1] = CreateTask_ReestablishCableClubLink();
- task->data[0]++;
+ task->tState++;
break;
case 1:
if (gTasks[task->data[1]].isActive != TRUE)
{
WarpFadeInScreen();
- task->data[0]++;
+ task->tState++;
}
break;
case 2:
@@ -191,11 +194,11 @@ static void Task_ReturnToFieldWirelessLink(u8 taskId)
{
struct Task *task = &gTasks[taskId];
- switch (task->data[0])
+ switch (task->tState)
{
case 0:
SetLinkStandbyCallback();
- task->data[0]++;
+ task->tState++;
break;
case 1:
if (!IsLinkTaskFinished())
@@ -206,7 +209,7 @@ static void Task_ReturnToFieldWirelessLink(u8 taskId)
else
{
WarpFadeInScreen();
- task->data[0]++;
+ task->tState++;
}
break;
case 2:
@@ -224,16 +227,16 @@ void Task_ReturnToFieldRecordMixing(u8 taskId)
{
struct Task *task = &gTasks[taskId];
- switch (task->data[0])
+ switch (task->tState)
{
case 0:
SetLinkStandbyCallback();
- task->data[0]++;
+ task->tState++;
break;
case 1:
if (IsLinkTaskFinished())
{
- task->data[0]++;
+ task->tState++;
}
break;
case 2:
@@ -295,12 +298,12 @@ void FieldCB_WarpExitFadeFromBlack(void)
ScriptContext2_Enable();
}
-static void FieldCB_TeleportTileWarpExit(void)
+static void FieldCB_SpinEnterWarp(void)
{
Overworld_PlaySpecialMapMusic();
WarpFadeInScreen();
PlaySE(SE_WARP_OUT);
- CreateTask(Task_TeleportTileWarpExit, 10);
+ CreateTask(Task_SpinEnterWarp, 10);
ScriptContext2_Enable();
}
@@ -320,14 +323,14 @@ static void Task_ExitDoor(u8 taskId)
s16 *x = &task->data[2];
s16 *y = &task->data[3];
- switch (task->data[0])
+ switch (task->tState)
{
case 0:
SetPlayerVisibility(FALSE);
FreezeObjectEvents();
PlayerGetDestCoords(x, y);
FieldSetDoorOpened(*x, *y);
- task->data[0] = 1;
+ task->tState = 1;
break;
case 1:
if (WaitForWeatherFadeIn())
@@ -336,7 +339,7 @@ static void Task_ExitDoor(u8 taskId)
SetPlayerVisibility(TRUE);
objEventId = GetObjectEventIdByLocalIdAndMap(OBJ_EVENT_ID_PLAYER, 0, 0);
ObjectEventSetHeldMovement(&gObjectEvents[objEventId], MOVEMENT_ACTION_WALK_NORMAL_DOWN);
- task->data[0] = 2;
+ task->tState = 2;
}
break;
case 2:
@@ -346,14 +349,14 @@ static void Task_ExitDoor(u8 taskId)
task->data[1] = FieldAnimateDoorClose(*x, *y);
objEventId = GetObjectEventIdByLocalIdAndMap(OBJ_EVENT_ID_PLAYER, 0, 0);
ObjectEventClearHeldMovementIfFinished(&gObjectEvents[objEventId]);
- task->data[0] = 3;
+ task->tState = 3;
}
break;
case 3:
if (task->data[1] < 0 || gTasks[task->data[1]].isActive != TRUE)
{
UnfreezeObjectEvents();
- task->data[0] = 4;
+ task->tState = 4;
}
break;
case 4:
@@ -369,13 +372,13 @@ static void Task_ExitNonAnimDoor(u8 taskId)
s16 *x = &task->data[2];
s16 *y = &task->data[3];
- switch (task->data[0])
+ switch (task->tState)
{
case 0:
SetPlayerVisibility(FALSE);
FreezeObjectEvents();
PlayerGetDestCoords(x, y);
- task->data[0] = 1;
+ task->tState = 1;
break;
case 1:
if (WaitForWeatherFadeIn())
@@ -384,14 +387,14 @@ static void Task_ExitNonAnimDoor(u8 taskId)
SetPlayerVisibility(TRUE);
objEventId = GetObjectEventIdByLocalIdAndMap(OBJ_EVENT_ID_PLAYER, 0, 0);
ObjectEventSetHeldMovement(&gObjectEvents[objEventId], GetWalkNormalMovementAction(GetPlayerFacingDirection()));
- task->data[0] = 2;
+ task->tState = 2;
}
break;
case 2:
if (IsPlayerStandingStill())
{
UnfreezeObjectEvents();
- task->data[0] = 3;
+ task->tState = 3;
}
break;
case 3:
@@ -403,12 +406,12 @@ static void Task_ExitNonAnimDoor(u8 taskId)
static void Task_ExitNonDoor(u8 taskId)
{
- switch (gTasks[taskId].data[0])
+ switch (gTasks[taskId].tState)
{
case 0:
FreezeObjectEvents();
ScriptContext2_Enable();
- gTasks[taskId].data[0]++;
+ gTasks[taskId].tState++;
break;
case 1:
if (WaitForWeatherFadeIn())
@@ -443,7 +446,7 @@ bool8 FieldCB_ReturnToFieldOpenStartMenu(void)
return FALSE;
}
-static void task_mpl_807E3C8(u8 taskId)
+static void Task_ReturnToFieldNoScript(u8 taskId)
{
if (WaitForWeatherFadeIn() == 1)
{
@@ -453,19 +456,19 @@ static void task_mpl_807E3C8(u8 taskId)
}
}
-void sub_80AF6D4(void)
+void FieldCB_ReturnToFieldNoScript(void)
{
ScriptContext2_Enable();
FadeInFromBlack();
- CreateTask(task_mpl_807E3C8, 10);
+ CreateTask(Task_ReturnToFieldNoScript, 10);
}
-void sub_80AF6F0(void)
+void FieldCB_ReturnToFieldNoScriptCheckMusic(void)
{
ScriptContext2_Enable();
Overworld_PlaySpecialMapMusic();
FadeInFromBlack();
- CreateTask(task_mpl_807E3C8, 10);
+ CreateTask(Task_ReturnToFieldNoScript, 10);
}
static bool32 PaletteFadeActive(void)
@@ -543,7 +546,9 @@ void DoLavaridgeGym1FWarp(void)
StartLavaridgeGym1FWarp(10);
}
-// Warp from a teleporting tile, e.g. in Aqua Hideout (For the move Teleport see FldEff_TeleportWarpOut)
+// DoSpinEnterWarp but with a fade out
+// Screen fades out to exit current map, player spins down from top to enter new map
+// Used by teleporting tiles, e.g. in Aqua Hideout (For the move Teleport see FldEff_TeleportWarpOut)
void DoTeleportTileWarp(void)
{
ScriptContext2_Enable();
@@ -551,7 +556,7 @@ void DoTeleportTileWarp(void)
WarpFadeOutScreen();
PlaySE(SE_WARP_IN);
CreateTask(Task_WarpAndLoadMap, 10);
- gFieldCallback = FieldCB_TeleportTileWarpExit;
+ gFieldCallback = FieldCB_SpinEnterWarp;
}
void DoMossdeepGymWarp(void)
@@ -574,8 +579,6 @@ void DoPortholeWarp(void)
gFieldCallback = FieldCB_ShowPortholeView;
}
-#define tState data[0]
-
static void Task_DoCableClubWarp(u8 taskId)
{
struct Task *task = &gTasks[taskId];
@@ -598,8 +601,6 @@ static void Task_DoCableClubWarp(u8 taskId)
}
}
-#undef tState
-
void DoCableClubWarp(void)
{
ScriptContext2_Enable();
@@ -613,20 +614,20 @@ static void Task_ReturnToWorldFromLinkRoom(u8 taskId)
{
s16 *data = gTasks[taskId].data;
- switch (data[0])
+ switch (tState)
{
case 0:
ClearLinkCallback_2();
FadeScreen(FADE_TO_BLACK, 0);
TryFadeOutOldMapMusic();
PlaySE(SE_EXIT);
- data[0]++;
+ tState++;
break;
case 1:
if (!PaletteFadeActive() && BGMusicStopped())
{
SetCloseLinkCallback();
- data[0]++;
+ tState++;
}
break;
case 2:
@@ -649,12 +650,12 @@ static void Task_WarpAndLoadMap(u8 taskId)
{
struct Task *task = &gTasks[taskId];
- switch (task->data[0])
+ switch (task->tState)
{
case 0:
FreezeObjectEvents();
ScriptContext2_Enable();
- task->data[0]++;
+ task->tState++;
break;
case 1:
if (!PaletteFadeActive())
@@ -665,7 +666,7 @@ static void Task_WarpAndLoadMap(u8 taskId)
task->data[1] = 1;
}
if (BGMusicStopped())
- task->data[0]++;
+ task->tState++;
}
break;
case 2:
@@ -682,14 +683,14 @@ static void Task_DoDoorWarp(u8 taskId)
s16 *x = &task->data[2];
s16 *y = &task->data[3];
- switch (task->data[0])
+ switch (task->tState)
{
case 0:
FreezeObjectEvents();
PlayerGetDestCoords(x, y);
PlaySE(GetDoorSoundEffect(*x, *y - 1));
task->data[1] = FieldAnimateDoorOpen(*x, *y - 1);
- task->data[0] = 1;
+ task->tState = 1;
break;
case 1:
if (task->data[1] < 0 || gTasks[task->data[1]].isActive != TRUE)
@@ -699,7 +700,7 @@ static void Task_DoDoorWarp(u8 taskId)
ObjectEventClearHeldMovementIfActive(&gObjectEvents[objEventId]);
objEventId = GetObjectEventIdByLocalIdAndMap(OBJ_EVENT_ID_PLAYER, 0, 0);
ObjectEventSetHeldMovement(&gObjectEvents[objEventId], MOVEMENT_ACTION_WALK_NORMAL_UP);
- task->data[0] = 2;
+ task->tState = 2;
}
break;
case 2:
@@ -710,20 +711,20 @@ static void Task_DoDoorWarp(u8 taskId)
objEventId = GetObjectEventIdByLocalIdAndMap(OBJ_EVENT_ID_PLAYER, 0, 0);
ObjectEventClearHeldMovementIfFinished(&gObjectEvents[objEventId]);
SetPlayerVisibility(FALSE);
- task->data[0] = 3;
+ task->tState = 3;
}
break;
case 3:
if (task->data[1] < 0 || gTasks[task->data[1]].isActive != TRUE)
{
- task->data[0] = 4;
+ task->tState = 4;
}
break;
case 4:
TryFadeOutOldMapMusic();
WarpFadeOutScreen();
PlayRainStoppingSoundEffect();
- task->data[0] = 0;
+ task->tState = 0;
task->func = Task_WarpAndLoadMap;
break;
}
@@ -733,17 +734,17 @@ static void Task_DoContestHallWarp(u8 taskId)
{
struct Task *task = &gTasks[taskId];
- switch (task->data[0])
+ switch (task->tState)
{
case 0:
FreezeObjectEvents();
ScriptContext2_Enable();
- task->data[0]++;
+ task->tState++;
break;
case 1:
if (!PaletteFadeActive() && BGMusicStopped())
{
- task->data[0]++;
+ task->tState++;
}
break;
case 2:
@@ -850,22 +851,22 @@ static void UpdateFlashLevelEffect(u8 taskId)
{
s16 *data = gTasks[taskId].data;
- switch (data[0])
+ switch (tState)
{
case 0:
SetFlashScanlineEffectWindowBoundaries(gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer], tFlashCenterX, tFlashCenterY, tCurFlashRadius);
- data[0] = 1;
+ tState = 1;
break;
case 1:
SetFlashScanlineEffectWindowBoundaries(gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer], tFlashCenterX, tFlashCenterY, tCurFlashRadius);
- data[0] = 0;
+ tState = 0;
tCurFlashRadius += tFlashRadiusDelta;
if (tCurFlashRadius > tDestFlashRadius)
{
if (tClearScanlineEffect == 1)
{
ScanlineEffect_Stop();
- data[0] = 2;
+ tState = 2;
}
else
{
@@ -884,22 +885,22 @@ static void UpdateOrbFlashEffect(u8 taskId)
{
s16 *data = gTasks[taskId].data;
- switch (data[0])
+ switch (tState)
{
case 0:
SetOrbFlashScanlineEffectWindowBoundaries(gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer], tFlashCenterX, tFlashCenterY, tCurFlashRadius);
- data[0] = 1;
+ tState = 1;
break;
case 1:
SetOrbFlashScanlineEffectWindowBoundaries(gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer], tFlashCenterX, tFlashCenterY, tCurFlashRadius);
- data[0] = 0;
+ tState = 0;
tCurFlashRadius += tFlashRadiusDelta;
if (tCurFlashRadius > tDestFlashRadius)
{
if (tClearScanlineEffect == 1)
{
ScanlineEffect_Stop();
- data[0] = 2;
+ tState = 2;
}
else
{
@@ -914,7 +915,7 @@ static void UpdateOrbFlashEffect(u8 taskId)
}
}
-static void sub_80AFF90(u8 taskId)
+static void Task_WaitForFlashUpdate(u8 taskId)
{
if (!FuncIsActiveTask(UpdateFlashLevelEffect))
{
@@ -923,13 +924,13 @@ static void sub_80AFF90(u8 taskId)
}
}
-static void sub_80AFFB8(void)
+static void StartWaitForFlashUpdate(void)
{
- if (!FuncIsActiveTask(sub_80AFF90))
- CreateTask(sub_80AFF90, 80);
+ if (!FuncIsActiveTask(Task_WaitForFlashUpdate))
+ CreateTask(Task_WaitForFlashUpdate, 80);
}
-static u8 sub_80AFFDC(s32 centerX, s32 centerY, s32 initialFlashRadius, s32 destFlashRadius, s32 clearScanlineEffect, u8 delta)
+static u8 StartUpdateFlashLevelEffect(s32 centerX, s32 centerY, s32 initialFlashRadius, s32 destFlashRadius, s32 clearScanlineEffect, u8 delta)
{
u8 taskId = CreateTask(UpdateFlashLevelEffect, 80);
s16 *data = gTasks[taskId].data;
@@ -948,7 +949,7 @@ static u8 sub_80AFFDC(s32 centerX, s32 centerY, s32 initialFlashRadius, s32 dest
return taskId;
}
-static u8 sub_80B003C(s32 centerX, s32 centerY, s32 initialFlashRadius, s32 destFlashRadius, s32 clearScanlineEffect, u8 delta)
+static u8 StartUpdateOrbFlashEffect(s32 centerX, s32 centerY, s32 initialFlashRadius, s32 destFlashRadius, s32 clearScanlineEffect, u8 delta)
{
u8 taskId = CreateTask(UpdateOrbFlashEffect, 80);
s16 *data = gTasks[taskId].data;
@@ -972,14 +973,15 @@ static u8 sub_80B003C(s32 centerX, s32 centerY, s32 initialFlashRadius, s32 dest
#undef tFlashRadiusDelta
#undef tClearScanlineEffect
+// A higher flashLevel value is a smaller flash radius (more darkness). 0 is full brightness
void AnimateFlash(u8 flashLevel)
{
u8 curFlashLevel = Overworld_GetFlashLevel();
- u8 value = 0;
+ bool8 fullBrightness = FALSE;
if (!flashLevel)
- value = 1;
- sub_80AFFDC(DISPLAY_WIDTH / 2, DISPLAY_HEIGHT / 2, sFlashLevelPixelRadii[curFlashLevel], sFlashLevelPixelRadii[flashLevel], value, 1);
- sub_80AFFB8();
+ fullBrightness = TRUE;
+ StartUpdateFlashLevelEffect(DISPLAY_WIDTH / 2, DISPLAY_HEIGHT / 2, sFlashLevelPixelRadii[curFlashLevel], sFlashLevelPixelRadii[flashLevel], fullBrightness, 1);
+ StartWaitForFlashUpdate();
ScriptContext2_Enable();
}
@@ -998,18 +1000,18 @@ void WriteBattlePyramidViewScanlineEffectBuffer(void)
CpuFastSet(&gScanlineEffectRegBuffers[0], &gScanlineEffectRegBuffers[1], 480);
}
-static void Task_TeleportTileWarpExit(u8 taskId)
+static void Task_SpinEnterWarp(u8 taskId)
{
- switch (gTasks[taskId].data[0])
+ switch (gTasks[taskId].tState)
{
case 0:
FreezeObjectEvents();
ScriptContext2_Enable();
- sub_808D194();
- gTasks[taskId].data[0]++;
+ DoPlayerSpinEntrance();
+ gTasks[taskId].tState++;
break;
case 1:
- if (WaitForWeatherFadeIn() && sub_808D1B4() != TRUE)
+ if (WaitForWeatherFadeIn() && IsPlayerSpinEntranceActive() != TRUE)
{
UnfreezeObjectEvents();
ScriptContext2_Disable();
@@ -1019,29 +1021,29 @@ static void Task_TeleportTileWarpExit(u8 taskId)
}
}
-static void sub_80B01BC(u8 taskId)
+static void Task_SpinExitWarp(u8 taskId)
{
struct Task *task = &gTasks[taskId];
- switch (task->data[0])
+ switch (task->tState)
{
case 0:
FreezeObjectEvents();
ScriptContext2_Enable();
PlaySE(SE_WARP_IN);
- sub_808D1C8();
- task->data[0]++;
+ DoPlayerSpinExit();
+ task->tState++;
break;
case 1:
- if (!sub_808D1E8())
+ if (!IsPlayerSpinExitActive())
{
WarpFadeOutScreen();
- task->data[0]++;
+ task->tState++;
}
break;
case 2:
if (!PaletteFadeActive() && BGMusicStopped())
- task->data[0]++;
+ task->tState++;
break;
case 3:
WarpIntoMap();
@@ -1051,18 +1053,22 @@ static void sub_80B01BC(u8 taskId)
}
}
-void sub_80B0244(void)
+// Only called by an unused function
+// DoTeleportTileWarp is used instead
+void DoSpinEnterWarp(void)
{
ScriptContext2_Enable();
CreateTask(Task_WarpAndLoadMap, 10);
- gFieldCallback = FieldCB_TeleportTileWarpExit;
+ gFieldCallback = FieldCB_SpinEnterWarp;
}
-void sub_80B0268(void)
+// Opposite of DoSpinEnterWarp / DoTeleportTileWarp
+// Player exits current map by spinning up offscreen, enters new map with a fade in
+void DoSpinExitWarp(void)
{
ScriptContext2_Enable();
gFieldCallback = FieldCB_DefaultWarpExit;
- CreateTask(sub_80B01BC, 10);
+ CreateTask(Task_SpinExitWarp, 10);
}
static void LoadOrbEffectPalette(bool8 blueOrb)
@@ -1109,7 +1115,6 @@ static bool8 sub_80B02C8(u16 shakeDir)
return FALSE;
}
-#define tState data[0]
#define tBlueOrb data[1]
#define tCenterX data[2]
#define tCenterY data[3]
@@ -1148,7 +1153,7 @@ static void Task_OrbEffect(u8 taskId)
case 1:
sub_8199DF0(0, PIXEL_FILL(1), 0, 1);
LoadOrbEffectPalette(tBlueOrb);
- sub_80B003C(tCenterX, tCenterY, 1, 160, 1, 2);
+ StartUpdateOrbFlashEffect(tCenterX, tCenterY, 1, 160, 1, 2);
tState = 2;
break;
case 2:
@@ -1243,7 +1248,6 @@ void FadeOutOrbEffect(void)
gTasks[taskId].tState = 6;
}
-#undef tState
#undef tBlueOrb
#undef tCenterX
#undef tCenterY
diff --git a/src/item_use.c b/src/item_use.c
index 9ab755a5e..df6a35bc9 100755
--- a/src/item_use.c
+++ b/src/item_use.c
@@ -53,7 +53,7 @@ static bool8 ItemfinderCheckForHiddenItems(const struct MapEvents *, u8);
static u8 GetDirectionToHiddenItem(s16 distanceX, s16 distanceY);
static void PlayerFaceHiddenItem(u8 a);
static void CheckForHiddenItemsInMapConnection(u8 taskId);
-static void sub_80FDC00(u8 taskId);
+static void Task_OpenRegisteredPokeblockCase(u8 taskId);
static void ItemUseOnFieldCB_Bike(u8 taskId);
static void ItemUseOnFieldCB_Rod(u8);
static void ItemUseOnFieldCB_Itemfinder(u8);
@@ -69,7 +69,7 @@ static void Task_StartUseRepel(u8 taskId);
static void Task_UseRepel(u8 taskId);
static void Task_CloseCantUseKeyItemMessage(u8 taskId);
static void SetDistanceOfClosestHiddenItem(u8 taskId, s16 x, s16 y);
-static void CB2_OpenPokeblockCaseOnField(void);
+static void CB2_OpenPokeblockFromBag(void);
// EWRAM variables
EWRAM_DATA static void(*sItemUseOnFieldCB)(u8 taskId) = NULL;
@@ -615,23 +615,23 @@ void ItemUseOutOfBattle_PokeblockCase(u8 taskId)
}
else if (gTasks[taskId].tUsingRegisteredKeyItem != TRUE)
{
- gBagMenu->exitCallback = CB2_OpenPokeblockCaseOnField;
+ gBagMenu->exitCallback = CB2_OpenPokeblockFromBag;
Task_FadeAndCloseBagMenu(taskId);
}
else
{
- gFieldCallback = sub_80AF6D4;
+ gFieldCallback = FieldCB_ReturnToFieldNoScript;
FadeScreen(FADE_TO_BLACK, 0);
- gTasks[taskId].func = sub_80FDC00;
+ gTasks[taskId].func = Task_OpenRegisteredPokeblockCase;
}
}
-static void CB2_OpenPokeblockCaseOnField(void)
+static void CB2_OpenPokeblockFromBag(void)
{
OpenPokeblockCase(PBLOCK_CASE_FIELD, CB2_ReturnToBagMenuPocket);
}
-static void sub_80FDC00(u8 taskId)
+static void Task_OpenRegisteredPokeblockCase(u8 taskId)
{
if (!gPaletteFade.active)
{
diff --git a/src/safari_zone.c b/src/safari_zone.c
index e8827e124..3b86bc464 100644
--- a/src/safari_zone.c
+++ b/src/safari_zone.c
@@ -107,7 +107,7 @@ void CB2_EndSafariBattle(void)
{
ScriptContext2_RunNewScript(SafariZone_EventScript_OutOfBallsMidBattle);
WarpIntoMap();
- gFieldCallback = sub_80AF6F0;
+ gFieldCallback = FieldCB_ReturnToFieldNoScriptCheckMusic;
SetMainCallback2(CB2_LoadMap);
}
else if (gBattleOutcome == B_OUTCOME_CAUGHT)
diff --git a/src/scrcmd.c b/src/scrcmd.c
index ef0b3f86b..f36a44187 100644
--- a/src/scrcmd.c
+++ b/src/scrcmd.c
@@ -2235,7 +2235,9 @@ bool8 ScrCmd_gotoram(struct ScriptContext *ctx)
return FALSE;
}
-bool8 ScrCmd_warpD1(struct ScriptContext *ctx)
+// Unused
+// For the warp used by the Aqua Hideout, see DoTeleportTileWarp
+bool8 ScrCmd_warpspinenter(struct ScriptContext *ctx)
{
u8 mapGroup = ScriptReadByte(ctx);
u8 mapNum = ScriptReadByte(ctx);
@@ -2244,8 +2246,8 @@ bool8 ScrCmd_warpD1(struct ScriptContext *ctx)
u16 y = VarGet(ScriptReadHalfword(ctx));
SetWarpDestination(mapGroup, mapNum, warpId, x, y);
- sub_808D074(GetPlayerFacingDirection());
- sub_80B0244();
+ SetSpinStartFacingDir(GetPlayerFacingDirection());
+ DoSpinEnterWarp();
ResetInitialPlayerAvatarState();
return TRUE;
}