diff options
Diffstat (limited to 'src')
152 files changed, 24774 insertions, 21740 deletions
diff --git a/src/AgbRfu_LinkManager.c b/src/AgbRfu_LinkManager.c new file mode 100644 index 000000000..e4127ee09 --- /dev/null +++ b/src/AgbRfu_LinkManager.c @@ -0,0 +1,1398 @@ +#include "global.h" +#include "librfu.h" +#include "link_rfu.h" + +#define RN_ACCEPT 0x01 +#define RN_NAME_TIMER_CLEAR 0x02 +#define RN_DISCONNECT 0x04 + +#define LINK_RECOVERY_OFF 0x00 +#define LINK_RECOVERY_START 0x01 +#define LINK_RECOVERY_EXE 0x02 +#define LINK_RECOVERY_IMPOSSIBLE 0x04 + +#define FSP_ON 0x01 +#define FSP_START 0x02 + +LINK_MANAGER lman; + +static void rfu_LMAN_clearVariables(void); +static void rfu_LMAN_settingPCSWITCH(u32 rand); +static void rfu_LMAN_REQ_callback(u16 reqCommandId, u16 reqResult); +static void rfu_LMAN_MSC_callback(u16 reqCommandId); +static void rfu_LMAN_PARENT_checkRecvChildName(void); +static void rfu_LMAN_CHILD_checkSendChildName(void); +static void rfu_LMAN_CHILD_checkSendChildName2(void); +static void rfu_LMAN_CHILD_linkRecoveryProcess(void); +static u8 rfu_LMAN_CHILD_checkEnableParentCandidate(void); +static void rfu_LMAN_occureCallback(u8 msg, u8 param_count); +static void rfu_LMAN_disconnect(u8 bmDisconnectSlot); +static void rfu_LMAN_reflectCommunicationStatus(u8 bm_disconnectedSlot); +static void rfu_LMAN_checkNICommunicateStatus(void); +static void rfu_LMAN_managerChangeAgbClockMaster(void); + +u32 rfu_LMAN_REQBN_softReset_and_checkID(void) +{ + u32 id = rfu_REQBN_softReset_and_checkID(); + if (id == RFU_ID) + lman.RFU_powerOn_flag = 1; + if (lman.state != LMAN_FORCED_STOP_AND_RFU_RESET && lman.state != LMAN_STATE_SOFT_RESET_AND_CHECK_ID) + { + lman.state = lman.next_state = LMAN_STATE_READY; + } + lman.pcswitch_flag = 0; + lman.reserveDisconnectSlot_flag = 0; + lman.acceptCount = 0; + lman.acceptSlot_flag = 0; + lman.parent_child = MODE_NEUTRAL; + rfu_LMAN_managerChangeAgbClockMaster(); + return id; +} + +void rfu_LMAN_REQ_sendData(u8 clockChangeFlag) +{ + if (gRfuLinkStatus->parentChild == MODE_CHILD) + { + if (lman.childClockSlave_flag == RFU_CHILD_CLOCK_SLAVE_ON) + clockChangeFlag = TRUE; + else + clockChangeFlag = FALSE; + } + else + lman.parentAck_flag = 0; + rfu_REQ_sendData(clockChangeFlag); +} + +u8 rfu_LMAN_initializeManager(void (*LMAN_callback_p)(u8, u8), void (*MSC_callback_p)(u16)) +{ + if (LMAN_callback_p == NULL) + { + return LMAN_ERROR_ILLEGAL_PARAMETER; + } + CpuFill16(0, &lman, sizeof(struct linkManagerTag)); + lman.parent_child = MODE_NEUTRAL; + lman.LMAN_callback = LMAN_callback_p; + lman.MSC_callback = MSC_callback_p; + rfu_setMSCCallback(rfu_LMAN_MSC_callback); + rfu_setREQCallback(rfu_LMAN_REQ_callback); + return 0; +} + +static void rfu_LMAN_endManager(void) +{ + CpuFill16(0, &lman, sizeof(struct linkManagerTag) - 8); + lman.parent_child = MODE_NEUTRAL; +} + +void rfu_LMAN_initializeRFU(INIT_PARAM *init_parameters) +{ + rfu_LMAN_clearVariables(); + lman.state = LMAN_STATE_SOFT_RESET_AND_CHECK_ID; + lman.next_state = LMAN_STATE_RESET; + lman.init_param = init_parameters; + lman.linkRecovery_enable = init_parameters->linkRecovery_enable; + lman.linkRecoveryTimer.count_max = init_parameters->linkRecovery_period; + lman.NI_failCounter_limit = init_parameters->NI_failCounter_limit; + if (init_parameters->fastSearchParent_flag) + { + lman.fastSearchParent_flag = FSP_ON; + } +} + +static void rfu_LMAN_clearVariables(void) +{ + u8 i; + + lman.state = lman.next_state = LMAN_STATE_READY; + lman.parent_child = MODE_NEUTRAL; + lman.pcswitch_flag = 0; + lman.child_slot = 0; + lman.connectSlot_flag_old = 0; + lman.nameAcceptTimer.active = 0; + lman.linkRecoveryTimer.active = 0; + for (i = 0; i < RFU_CHILD_MAX; i++) + { + lman.nameAcceptTimer.count[i] = 0; + lman.linkRecoveryTimer.count[i] = 0; + } +} + +void rfu_LMAN_powerDownRFU(void) +{ + lman.state = LMAN_STATE_STOP_MODE; +} + +u8 rfu_LMAN_establishConnection(u8 parent_child, u16 connect_period, u16 name_accept_period, u16 *acceptable_serialNo_list) +{ + u8 i; + u16 *serial_list; + + if (lman.state != LMAN_STATE_READY && (lman.state != LMAN_STATE_WAIT_RECV_CHILD_NAME || parent_child != MODE_PARENT)) + { + lman.param[0] = 1; + rfu_LMAN_occureCallback(LMAN_MSG_LMAN_API_ERROR_RETURN, 1); + return LMAN_ERROR_MANAGER_BUSY; + } + if (rfu_getMasterSlave() == AGB_CLK_SLAVE) + { + lman.param[0] = 2; + rfu_LMAN_occureCallback(LMAN_MSG_LMAN_API_ERROR_RETURN, 1); + return LMAN_ERROR_AGB_CLK_SLAVE; + } + for (i = 0, serial_list = acceptable_serialNo_list; i < 16; i++) + { + if (*serial_list++ == 0xFFFF) + { + break; + } + } + if (i == 16) + { + lman.param[0] = 4; + rfu_LMAN_occureCallback(LMAN_MSG_LMAN_API_ERROR_RETURN, 1); + return LMAN_ERROR_ILLEGAL_PARAMETER; + } + if (parent_child > MODE_PARENT) + { + lman.pcswitch_flag = PCSWITCH_1ST_SC_START; + parent_child = MODE_PARENT; + connect_period = 0; + } + else + { + lman.pcswitch_flag = 0; + } + if (parent_child != MODE_CHILD) + { + lman.state = LMAN_STATE_START_SEARCH_CHILD; + } + else + { + lman.state = LMAN_STATE_START_SEARCH_PARENT; + if (lman.fastSearchParent_flag) + { + lman.fastSearchParent_flag = FSP_START; + } + } + lman.parent_child = parent_child; + lman.connect_period = connect_period; + lman.nameAcceptTimer.count_max = name_accept_period; + lman.acceptable_serialNo_list = acceptable_serialNo_list; + return 0; +} + +u8 rfu_LMAN_CHILD_connectParent(u16 parentId, u16 connect_period) +{ + u8 i; + + if (lman.state != LMAN_STATE_READY && (lman.state < 9 || lman.state > 11)) + { + lman.param[0] = 1; + rfu_LMAN_occureCallback(LMAN_MSG_LMAN_API_ERROR_RETURN, 1); + return LMAN_ERROR_MANAGER_BUSY; + } + if (rfu_getMasterSlave() == AGB_CLK_SLAVE) + { + lman.param[0] = 2; + rfu_LMAN_occureCallback(LMAN_MSG_LMAN_API_ERROR_RETURN, 1); + return LMAN_ERROR_AGB_CLK_SLAVE; + } + for (i = 0; i < gRfuLinkStatus->findParentCount; i++) + { + if (gRfuLinkStatus->partner[i].id == parentId) + { + break; + } + } + if (gRfuLinkStatus->findParentCount == 0 || i == gRfuLinkStatus->findParentCount) + { + lman.param[0] = 3; + rfu_LMAN_occureCallback(LMAN_MSG_LMAN_API_ERROR_RETURN, 1); + return LMAN_ERROR_PID_NOT_FOUND; + } + if (lman.state == LMAN_STATE_READY || lman.state == LMAN_STATE_START_SEARCH_PARENT) + { + lman.state = LMAN_STATE_START_CONNECT_PARENT; + lman.next_state = LMAN_STATE_POLL_CONNECT_PARENT; + } + else + { + lman.state = LMAN_STATE_END_SEARCH_PARENT; + lman.next_state = LMAN_STATE_START_CONNECT_PARENT; + } + lman.work = parentId; + lman.connect_period = connect_period; + if (lman.pcswitch_flag != 0) + { + lman.pcswitch_flag = PCSWITCH_CP; + } + return 0; +} + +static void rfu_LMAN_PARENT_stopWaitLinkRecoveryAndDisconnect(u8 bm_targetSlot) +{ + u8 i; + + if ((bm_targetSlot & lman.linkRecoveryTimer.active) == 0) + return; + lman.linkRecoveryTimer.active &= ~bm_targetSlot; + for (i = 0; i < RFU_CHILD_MAX; i++) + { + if ((bm_targetSlot >> i) & 1) + { + lman.linkRecoveryTimer.count[i] = 0; + } + } + i = gRfuLinkStatus->linkLossSlotFlag & bm_targetSlot; + if (i) + { + rfu_LMAN_disconnect(i); + } + lman.param[0] = i; + rfu_LMAN_occureCallback(LMAN_MSG_LINK_RECOVERY_FAILED_AND_DISCONNECTED, i); +} + +void rfu_LMAN_stopManager(u8 forced_stop_and_RFU_reset_flag) +{ + u8 msg = 0; + lman.pcswitch_flag = 0; + if (forced_stop_and_RFU_reset_flag) + { + rfu_LMAN_clearVariables(); + lman.state = LMAN_FORCED_STOP_AND_RFU_RESET; + return; + } + switch (lman.state) + { + case LMAN_STATE_START_SEARCH_CHILD: + lman.state = LMAN_STATE_WAIT_RECV_CHILD_NAME; + lman.next_state = LMAN_STATE_READY; + msg = LMAN_MSG_SEARCH_CHILD_PERIOD_EXPIRED; + break; + case LMAN_STATE_POLL_SEARCH_CHILD: + lman.state = LMAN_STATE_END_SEARCH_CHILD; + lman.next_state = LMAN_STATE_WAIT_RECV_CHILD_NAME; + break; + case LMAN_STATE_END_SEARCH_CHILD: + lman.state = LMAN_STATE_END_SEARCH_CHILD; + lman.next_state = LMAN_STATE_WAIT_RECV_CHILD_NAME; + break; + case LMAN_STATE_WAIT_RECV_CHILD_NAME: + break; + case LMAN_STATE_START_SEARCH_PARENT: + lman.state = lman.next_state = LMAN_STATE_READY; + msg = LMAN_MSG_SEARCH_PARENT_PERIOD_EXPIRED; + break; + case LMAN_STATE_POLL_SEARCH_PARENT: + lman.state = LMAN_STATE_END_SEARCH_PARENT; + lman.next_state = LMAN_STATE_READY; + break; + case LMAN_STATE_END_SEARCH_PARENT: + lman.state = LMAN_STATE_END_SEARCH_PARENT; + lman.next_state = LMAN_STATE_READY; + break; + case LMAN_STATE_START_CONNECT_PARENT: + lman.state = lman.next_state = LMAN_STATE_READY; + msg = LMAN_MSG_CONNECT_PARENT_FAILED; + break; + case LMAN_STATE_POLL_CONNECT_PARENT: + lman.state = LMAN_STATE_END_CONNECT_PARENT; + break; + case LMAN_STATE_END_CONNECT_PARENT: + lman.state = LMAN_STATE_END_CONNECT_PARENT; + break; + case LMAN_STATE_SEND_CHILD_NAME: + break; + case LMAN_STATE_START_LINK_RECOVERY: + lman.state = lman.state_bak[0]; + lman.next_state = lman.state_bak[1]; + rfu_LMAN_disconnect(gRfuLinkStatus->linkLossSlotFlag); + lman.param[0] = gRfuLinkStatus->linkLossSlotFlag; + rfu_LMAN_occureCallback(LMAN_MSG_LINK_RECOVERY_FAILED_AND_DISCONNECTED, 1); + return; + case LMAN_STATE_POLL_LINK_RECOVERY: + lman.state = LMAN_STATE_END_LINK_RECOVERY; + break; + case LMAN_STATE_END_LINK_RECOVERY: + lman.state = LMAN_STATE_END_LINK_RECOVERY; + break; + default: + lman.state = lman.next_state = LMAN_STATE_READY; + msg = LMAN_MSG_MANAGER_STOPPED; + break; + } + if (lman.state == LMAN_STATE_READY) + { + rfu_LMAN_occureCallback(msg, 0); + } +} + +static bool8 rfu_LMAN_linkWatcher(u16 REQ_commandID) +{ + u8 i; + u8 bm_linkLossSlot; + u8 reason; + u8 bm_linkRecoverySlot; + u8 bm_disconnectSlot; + + bool8 disconnect_occure_flag = FALSE; + rfu_REQBN_watchLink(REQ_commandID, &bm_linkLossSlot, &reason, &bm_linkRecoverySlot); + if (bm_linkLossSlot) + { + lman.param[0] = bm_linkLossSlot; + lman.param[1] = reason; + if (lman.linkRecovery_enable) + { + lman.linkRecovery_start_flag = LINK_RECOVERY_START; + if (lman.parent_child == MODE_CHILD && reason == REASON_DISCONNECTED) + { + lman.linkRecovery_start_flag = LINK_RECOVERY_IMPOSSIBLE; + } + if (lman.linkRecovery_start_flag == LINK_RECOVERY_START) + { + for (i = 0; i < RFU_CHILD_MAX; i++) + { + if ((bm_linkLossSlot >> i) & 1) + { + lman.linkRecoveryTimer.active |= (1 << i); + lman.linkRecoveryTimer.count[i] = lman.linkRecoveryTimer.count_max; + } + } + rfu_LMAN_occureCallback(LMAN_MSG_LINK_LOSS_DETECTED_AND_START_RECOVERY, 1); + } + else + { + lman.linkRecovery_start_flag = 0; + rfu_LMAN_disconnect(bm_linkLossSlot); + disconnect_occure_flag = TRUE; + rfu_LMAN_occureCallback(LMAN_MSG_LINK_RECOVERY_FAILED_AND_DISCONNECTED, 1); + } + } + else + { + rfu_LMAN_disconnect(bm_linkLossSlot); + disconnect_occure_flag = TRUE; + rfu_LMAN_occureCallback(LMAN_MSG_LINK_LOSS_DETECTED_AND_DISCONNECTED, 2); + } + rfu_LMAN_managerChangeAgbClockMaster(); + } + if (gRfuLinkStatus->parentChild == MODE_PARENT) + { + if (bm_linkRecoverySlot) + { + for (i = 0; i < RFU_CHILD_MAX; i++) + { + if ((lman.linkRecoveryTimer.active >> i) & 1 && (bm_linkRecoverySlot >> i) & 1) + { + lman.linkRecoveryTimer.count[i] = 0; + } + } + lman.linkRecoveryTimer.active &= ~bm_linkRecoverySlot; + lman.param[0] = bm_linkRecoverySlot; + rfu_LMAN_occureCallback(LMAN_MSG_LINK_RECOVERY_SUCCESSED, 1); + } + if (lman.linkRecoveryTimer.active) + { + bm_disconnectSlot = 0; + for (i = 0; i < RFU_CHILD_MAX; i++) + { + if ((lman.linkRecoveryTimer.active >> i) & 1 && lman.linkRecoveryTimer.count[i] && --lman.linkRecoveryTimer.count[i] == 0) + { + lman.linkRecoveryTimer.active &= ~(1 << i); + bm_disconnectSlot |= (1 << i); + } + } + if (bm_disconnectSlot) + { + rfu_LMAN_disconnect(bm_disconnectSlot); + disconnect_occure_flag = TRUE; + lman.param[0] = bm_disconnectSlot; + rfu_LMAN_occureCallback(LMAN_MSG_LINK_RECOVERY_FAILED_AND_DISCONNECTED, 1); + } + } + if (!lman.linkRecoveryTimer.active) + { + lman.linkRecovery_start_flag = 0; + } + } + return disconnect_occure_flag; +} + +void rfu_LMAN_syncVBlank(void) +{ + if (rfu_syncVBlank()) + { + rfu_LMAN_occureCallback(LMAN_MSG_WATCH_DOG_TIMER_ERROR, 0); + rfu_LMAN_managerChangeAgbClockMaster(); + } +} + +void rfu_LMAN_manager_entity(u32 rand) +{ + u8 msg; + + if (lman.LMAN_callback == NULL && lman.state != LMAN_STATE_READY) + { + lman.state = LMAN_STATE_READY; + return; + } + if (lman.pcswitch_flag) + { + rfu_LMAN_settingPCSWITCH(rand); + } + while (1) + { + if (lman.state != LMAN_STATE_READY) + { + rfu_waitREQComplete(); + lman.active = 1; + switch (lman.state) + { + case LMAN_FORCED_STOP_AND_RFU_RESET: + if (rfu_LMAN_REQBN_softReset_and_checkID() == RFU_ID) + { + msg=LMAN_MSG_MANAGER_FORCED_STOPPED_AND_RFU_RESET; + } + else + { + msg=LMAN_MSG_RFU_FATAL_ERROR; + } + lman.state = lman.next_state = LMAN_STATE_READY; + rfu_LMAN_occureCallback(msg, 0); + break; + case LMAN_STATE_SOFT_RESET_AND_CHECK_ID: + if (rfu_LMAN_REQBN_softReset_and_checkID() == RFU_ID) + { + lman.state = lman.next_state; + lman.next_state = LMAN_STATE_CONFIG_SYSTEM; + } + else + { + lman.state = lman.next_state = LMAN_STATE_READY; + rfu_LMAN_occureCallback(LMAN_MSG_RFU_FATAL_ERROR, 0); + } + break; + case LMAN_STATE_RESET: + rfu_REQ_reset(); + break; + case LMAN_STATE_CONFIG_SYSTEM: + rfu_REQ_configSystem(lman.init_param->availSlot_flag, lman.init_param->maxMFrame, lman.init_param->MC_TimerCount); + break; + case LMAN_STATE_CONFIG_GAME_DATA: + rfu_REQ_configGameData(lman.init_param->mboot_flag, lman.init_param->serialNo, (const u8 *)lman.init_param->gameName, lman.init_param->userName); + break; + case LMAN_STATE_START_SEARCH_CHILD: + rfu_REQ_startSearchChild(); + break; + case LMAN_STATE_POLL_SEARCH_CHILD: + rfu_REQ_pollSearchChild(); + break; + case LMAN_STATE_END_SEARCH_CHILD: + rfu_REQ_endSearchChild(); + break; + case LMAN_STATE_WAIT_RECV_CHILD_NAME: + break; + case LMAN_STATE_START_SEARCH_PARENT: + rfu_REQ_startSearchParent(); + break; + case LMAN_STATE_POLL_SEARCH_PARENT: + rfu_REQ_pollSearchParent(); + break; + case LMAN_STATE_END_SEARCH_PARENT: + rfu_REQ_endSearchParent(); + break; + case LMAN_STATE_START_CONNECT_PARENT: + rfu_REQ_startConnectParent(lman.work); + break; + case LMAN_STATE_POLL_CONNECT_PARENT: + rfu_REQ_pollConnectParent(); + break; + case LMAN_STATE_END_CONNECT_PARENT: + rfu_REQ_endConnectParent(); + break; + case LMAN_STATE_SEND_CHILD_NAME: + break; + case LMAN_STATE_START_LINK_RECOVERY: + rfu_REQ_CHILD_startConnectRecovery(gRfuLinkStatus->linkLossSlotFlag); + break; + case LMAN_STATE_POLL_LINK_RECOVERY: + rfu_REQ_CHILD_pollConnectRecovery(); + break; + case LMAN_STATE_END_LINK_RECOVERY: + rfu_REQ_CHILD_endConnectRecovery(); + break; + case LMAN_STATE_MS_CHANGE: + rfu_REQ_changeMasterSlave(); + break; + case LMAN_STATE_WAIT_CLOCK_MASTER: + break; + case LMAN_STATE_STOP_MODE: + rfu_REQ_stopMode(); + break; + case LMAN_STATE_BACK_STATE: + break; + default: + break; + } + rfu_waitREQComplete(); + lman.active = 0; + } + if (lman.state == LMAN_STATE_END_LINK_RECOVERY || lman.state == LMAN_STATE_MS_CHANGE) + ; + else + break; + } + if (gRfuLinkStatus->parentChild == MODE_PARENT) + { + if (rfu_LMAN_linkWatcher(0)) + return; + } + rfu_LMAN_PARENT_checkRecvChildName(); + rfu_LMAN_CHILD_checkSendChildName(); + rfu_LMAN_CHILD_linkRecoveryProcess(); + rfu_LMAN_checkNICommunicateStatus(); +} + +static void rfu_LMAN_settingPCSWITCH(u32 rand) +{ + if (lman.pcswitch_flag == PCSWITCH_3RD_SC_START) + { + lman.parent_child = MODE_PARENT; + lman.state = LMAN_STATE_START_SEARCH_CHILD; + lman.connect_period = lman.pcswitch_period_bak; + if (lman.connect_period) + { + lman.pcswitch_flag = PCSWITCH_3RD_SC; + } + else + { + lman.pcswitch_flag = PCSWITCH_1ST_SC_START; + } + } + if (lman.pcswitch_flag == PCSWITCH_1ST_SC_START) + { + lman.parent_child = MODE_PARENT; + lman.state = LMAN_STATE_START_SEARCH_CHILD; + lman.connect_period = rand % 140; + lman.pcswitch_period_bak = 140 - lman.connect_period; + if (lman.connect_period) + { + lman.pcswitch_flag = PCSWITCH_1ST_SC; + } + else + { + lman.pcswitch_flag = PCSWITCH_2ND_SP_START; + } + } + if (lman.pcswitch_flag == PCSWITCH_2ND_SP_START) + { + lman.parent_child = MODE_CHILD; + lman.connect_period = PCSWITCH_SP_PERIOD; + lman.pcswitch_flag = PCSWITCH_2ND_SP; + lman.state = LMAN_STATE_START_SEARCH_PARENT; + } +} + +static void rfu_LMAN_REQ_callback(u16 reqCommandId, u16 reqResult) +{ + u8 status; + u8 *stwiRecvBuffer; + u8 i; + + if (lman.active != 0) + { + lman.active = 0; + switch (reqCommandId) + { + case ID_RESET_REQ: + if (reqResult == 0) + { + lman.state = lman.next_state; + lman.next_state = LMAN_STATE_CONFIG_GAME_DATA; + } + break; + case ID_SYSTEM_CONFIG_REQ: + if (reqResult == 0) + { + lman.state = lman.next_state; + lman.next_state = LMAN_STATE_READY; + } + break; + case ID_GAME_CONFIG_REQ: + if (reqResult == 0) + { + lman.state = lman.next_state = LMAN_STATE_READY; + rfu_LMAN_occureCallback(LMAN_MSG_INITIALIZE_COMPLETED, 0); + } + break; + case ID_SC_START_REQ: + if (reqResult == 0) + { + lman.state = lman.next_state = LMAN_STATE_POLL_SEARCH_CHILD; + } + break; + case ID_SC_POLL_REQ: + if (lman.connect_period && --lman.connect_period == 0) + { + lman.state = LMAN_STATE_END_SEARCH_CHILD; + lman.next_state = LMAN_STATE_WAIT_RECV_CHILD_NAME; + } + break; + case ID_SC_END_REQ: + if (reqResult == 0) + { + lman.state = lman.next_state; + lman.next_state = LMAN_STATE_READY; + if (lman.pcswitch_flag == 0) + { + rfu_LMAN_occureCallback(LMAN_MSG_SEARCH_CHILD_PERIOD_EXPIRED, 0); + } + } + break; + case ID_SP_START_REQ: + if (reqResult == 0) + { + if (lman.fastSearchParent_flag == FSP_ON) + { + if (lman.connect_period > 1) + { + lman.connect_period--; + } + } + lman.state = lman.next_state = LMAN_STATE_POLL_SEARCH_PARENT; + } + break; + case ID_SP_POLL_REQ: + if (reqResult == 0) + { + status = rfu_LMAN_CHILD_checkEnableParentCandidate(); + lman.param[0] = status; + if (status) + { + rfu_LMAN_occureCallback(LMAN_MSG_PARENT_FOUND, 1); + } + if (lman.fastSearchParent_flag && lman.connect_period != 1 && gRfuLinkStatus->findParentCount == RFU_CHILD_MAX) + { + rfu_REQ_endSearchParent(); + rfu_waitREQComplete(); + lman.state = LMAN_STATE_START_SEARCH_PARENT; + lman.fastSearchParent_flag = FSP_ON; + } + } + if (lman.connect_period && --lman.connect_period == 0) + { + lman.state = LMAN_STATE_END_SEARCH_PARENT; + lman.next_state = LMAN_STATE_READY; + } + break; + case ID_SP_END_REQ: + if (reqResult == 0) + { + lman.state = lman.next_state; + if (lman.pcswitch_flag == 0) + { + if (lman.state == LMAN_STATE_READY) + { + rfu_LMAN_occureCallback(LMAN_MSG_SEARCH_PARENT_PERIOD_EXPIRED, 0); + } + } + else if (lman.pcswitch_flag != PCSWITCH_CP) + { + lman.state = LMAN_STATE_START_SEARCH_CHILD; + lman.pcswitch_flag = PCSWITCH_3RD_SC_START; + } + } + break; + case ID_CP_START_REQ: + if (reqResult == 0) + { + lman.state = lman.next_state = LMAN_STATE_POLL_CONNECT_PARENT; + } + break; + case ID_CP_POLL_REQ: + if (reqResult == 0 && !rfu_getConnectParentStatus(&status, &lman.child_slot) && !status) + { + lman.state = LMAN_STATE_END_CONNECT_PARENT; + } + if (lman.connect_period && --lman.connect_period == 0) + { + lman.state = LMAN_STATE_END_CONNECT_PARENT; + } + break; + case ID_CP_END_REQ: + if (reqResult == 0 && !rfu_getConnectParentStatus(&status, &lman.child_slot)) + { + if (!status) + { + lman.state = LMAN_STATE_MS_CHANGE; + lman.next_state = LMAN_STATE_SEND_CHILD_NAME; + lman.work = 0x22; + lman.param[0] = lman.child_slot; + } + else + { + lman.state = lman.next_state = LMAN_STATE_READY; + lman.work = 0x23; + lman.param[0] = status; + if (lman.pcswitch_flag) + { + lman.pcswitch_flag = PCSWITCH_2ND_SP_START; + lman.state = LMAN_STATE_START_SEARCH_PARENT; + } + } + rfu_LMAN_occureCallback(lman.work, 0x01); + lman.work = 0; + } + break; + case ID_CPR_START_REQ: + if (reqResult == 0) + { + lman.param[0] = gRfuLinkStatus->linkLossSlotFlag; + lman.state = lman.next_state = LMAN_STATE_POLL_LINK_RECOVERY; + for (lman.child_slot = 0; lman.child_slot < RFU_CHILD_MAX; lman.child_slot++) + { + if ((gRfuLinkStatus->linkLossSlotFlag >> lman.child_slot) & 1) + { + break; + } + } + } + break; + case ID_CPR_POLL_REQ: + if (reqResult == 0 && !rfu_CHILD_getConnectRecoveryStatus(&status) && status < 2) + { + lman.state = LMAN_STATE_END_LINK_RECOVERY; + } + if (lman.linkRecoveryTimer.count[lman.child_slot] && --lman.linkRecoveryTimer.count[lman.child_slot] == 0) + { + lman.state = LMAN_STATE_END_LINK_RECOVERY; + } + break; + case ID_CPR_END_REQ: + if (reqResult == 0 && !rfu_CHILD_getConnectRecoveryStatus(&status)) + { + if (!status) + { + lman.state = LMAN_STATE_MS_CHANGE; + lman.next_state = LMAN_STATE_BACK_STATE; + lman.work = 0x32; + } + else + { + lman.state = lman.next_state = LMAN_STATE_READY; + rfu_LMAN_disconnect(gRfuLinkStatus->linkLossSlotFlag); + lman.work = 0x33; + } + lman.linkRecoveryTimer.count[lman.child_slot] = 0; + lman.linkRecoveryTimer.active = 0; + lman.linkRecovery_start_flag = 0; + rfu_LMAN_occureCallback(lman.work, 0x01); + lman.work = 0; + } + break; + case ID_MS_CHANGE_REQ: + if (reqResult == 0) + { + if (lman.next_state == LMAN_STATE_BACK_STATE) + { + lman.state = lman.state_bak[0]; + lman.next_state = lman.state_bak[1]; + lman.childClockSlave_flag = RFU_CHILD_CLOCK_SLAVE_ON; + rfu_LMAN_occureCallback(LMAN_MSG_CHANGE_AGB_CLOCK_SLAVE, 0); + } + else if (lman.next_state == LMAN_STATE_SEND_CHILD_NAME) + { + lman.state = lman.next_state; + lman.childClockSlave_flag = RFU_CHILD_CLOCK_SLAVE_ON; + rfu_LMAN_occureCallback(LMAN_MSG_CHANGE_AGB_CLOCK_SLAVE, 0); + lman.nameAcceptTimer.active |= 1 << lman.child_slot; + lman.nameAcceptTimer.count[lman.child_slot] = lman.nameAcceptTimer.count_max; + rfu_clearSlot(TYPE_NI_SEND, lman.child_slot); + status = rfu_NI_CHILD_setSendGameName(lman.child_slot, 0x0e); + if (status) + { + lman.state = lman.next_state = LMAN_STATE_READY; + rfu_LMAN_managerChangeAgbClockMaster(); + rfu_LMAN_disconnect(gRfuLinkStatus->connSlotFlag | gRfuLinkStatus->linkLossSlotFlag); + lman.param[0] = status; + rfu_LMAN_occureCallback(LMAN_MSG_CHILD_NAME_SEND_FAILED_AND_DISCONNECTED, 1); + } + } + } + break; + case ID_STOP_MODE_REQ: + if (reqResult == 0) + { + lman.state = lman.next_state = LMAN_STATE_READY; + rfu_LMAN_occureCallback(LMAN_MSG_RFU_POWER_DOWN, 0); + } + break; + } + lman.active = 1; + } + else if (reqResult == 3 && lman.msc_exe_flag && (reqCommandId == ID_DATA_TX_REQ || reqCommandId == ID_DATA_RX_REQ || reqCommandId == ID_MS_CHANGE_REQ)) + { + rfu_REQ_RFUStatus(); + rfu_waitREQComplete(); + rfu_getRFUStatus(&status); + if (status == 0 && gRfuLinkStatus->parentChild == MODE_CHILD) + { + stwiRecvBuffer = rfu_getSTWIRecvBuffer() + 4; + *stwiRecvBuffer++ = gRfuLinkStatus->connSlotFlag; + *stwiRecvBuffer = REASON_LINK_LOSS; + rfu_LMAN_linkWatcher(ID_DISCONNECTED_AND_CHANGE_REQ); + reqResult = 0; + } + } + switch (reqCommandId) + { + case ID_DISCONNECT_REQ: + if (reqResult == 0) + { + lman.param[0] = *(rfu_getSTWIRecvBuffer() + 8); + rfu_LMAN_reflectCommunicationStatus(lman.param[0]); + if (lman.linkRecoveryTimer.active) + { + lman.linkRecoveryTimer.active &= ~lman.param[0]; + for (i = 0; i < RFU_CHILD_MAX; i++) + { + if ((lman.param[0] >> i) & 1) + { + lman.linkRecoveryTimer.count[i] = 0; + } + } + if (lman.parent_child == MODE_CHILD) + { + lman.state = lman.next_state = LMAN_STATE_READY; + } + } + status = lman.acceptSlot_flag & lman.param[0]; + for (i = 0; i < RFU_CHILD_MAX; i++) + { + if ((status >> i) & 1 && lman.acceptCount) + { + lman.acceptCount--; + } + } + lman.acceptSlot_flag &= ~lman.param[0]; + if (lman.pcswitch_flag) + { + if (gRfuLinkStatus->parentChild == MODE_NEUTRAL) + { + if (lman.pcswitch_flag == PCSWITCH_SC_LOCK) + { + lman.connect_period = lman.pcswitch_period_bak; + lman.pcswitch_flag = PCSWITCH_3RD_SC; + lman.state = LMAN_STATE_POLL_SEARCH_CHILD; + } + else if (lman.state != LMAN_STATE_POLL_SEARCH_CHILD && lman.state != LMAN_STATE_END_SEARCH_CHILD) + { + lman.pcswitch_flag = PCSWITCH_1ST_SC_START; + lman.state = LMAN_STATE_START_SEARCH_CHILD; + } + } + } + if (gRfuLinkStatus->parentChild == MODE_NEUTRAL) + { + if (lman.state == LMAN_STATE_READY) + { + lman.parent_child = MODE_NEUTRAL; + } + } + if (lman.active == 0) + { + rfu_LMAN_occureCallback(LMAN_MSG_LINK_DISCONNECTED_BY_USER, 1); + } + } + break; + case ID_DATA_RX_REQ: + rfu_LMAN_CHILD_checkSendChildName2(); + if (gRfuLinkStatus->parentChild != MODE_NEUTRAL) + { + rfu_LMAN_occureCallback(LMAN_MSG_RECV_DATA_REQ_COMPLETED, 0); + } + break; + case ID_RESET_REQ: + case ID_STOP_MODE_REQ: + if (reqResult == 0) + { + lman.reserveDisconnectSlot_flag = 0; + lman.acceptCount = 0; + lman.acceptSlot_flag = 0;; + lman.parent_child = MODE_NEUTRAL; + rfu_LMAN_managerChangeAgbClockMaster(); + if (reqCommandId == ID_STOP_MODE_REQ) + { + rfu_LMAN_endManager(); + } + } + break; + } + if (reqResult != 0) + { + if (reqCommandId == ID_SP_START_REQ && reqResult != 0 && lman.pcswitch_flag == PCSWITCH_2ND_SP) + { + gRfuLinkStatus->parentChild = MODE_PARENT; + gRfuLinkStatus->connSlotFlag = 0xF; + rfu_LMAN_disconnect(15); + rfu_waitREQComplete(); + return; + } + else + { + lman.param[0] = reqCommandId; + lman.param[1] = reqResult; + if (lman.active) + { + lman.state = lman.next_state = LMAN_STATE_READY; + } + rfu_LMAN_occureCallback(LMAN_MSG_REQ_API_ERROR, 2); + rfu_LMAN_managerChangeAgbClockMaster(); + } + } + if (reqCommandId == ID_CLOCK_SLAVE_MS_CHANGE_ERROR_BY_DMA_REQ) + { + rfu_LMAN_occureCallback(LMAN_MSG_CLOCK_SLAVE_MS_CHANGE_ERROR_BY_DMA, 0); + rfu_LMAN_managerChangeAgbClockMaster(); + } +} + +static void rfu_LMAN_MSC_callback(u16 reqCommandId) +{ + u8 active_bak; + u8 thisAck_flag; + + active_bak = lman.active; + lman.active = 0; + lman.msc_exe_flag = 1; + if (gRfuLinkStatus->parentChild == MODE_CHILD) + { + rfu_LMAN_linkWatcher(reqCommandId); + if (lman.childClockSlave_flag != RFU_CHILD_CLOCK_SLAVE_ON) + { + rfu_LMAN_managerChangeAgbClockMaster(); + lman.msc_exe_flag = 0; + lman.active = active_bak; + return; + } + } + else + { + if (!rfu_UNI_PARENT_getDRAC_ACK(&thisAck_flag)) + { + lman.parentAck_flag |= thisAck_flag; + } + } + if (lman.MSC_callback != NULL) + { + lman.MSC_callback(reqCommandId); + rfu_waitREQComplete(); + if (lman.childClockSlave_flag == RFU_CHILD_CLOCK_SLAVE_OFF_REQ) + { + rfu_LMAN_managerChangeAgbClockMaster(); + } + } + lman.msc_exe_flag = 0; + lman.active = active_bak; +} + +static void rfu_LMAN_PARENT_checkRecvChildName(void) +{ + u8 newSlot; + u8 newAcceptSlot; + u8 i; + u8 flags; + u8 tgtSlot; + const u16 *ptr; + + if (lman.state == LMAN_STATE_START_SEARCH_CHILD || lman.state == LMAN_STATE_POLL_SEARCH_CHILD || lman.state == LMAN_STATE_END_SEARCH_CHILD || lman.state == LMAN_STATE_WAIT_RECV_CHILD_NAME) + { + newSlot = ((gRfuLinkStatus->connSlotFlag ^ lman.connectSlot_flag_old) & gRfuLinkStatus->connSlotFlag) & ~gRfuLinkStatus->getNameFlag; + lman.connectSlot_flag_old = gRfuLinkStatus->connSlotFlag; + if (newSlot) + { + lman.param[0] = newSlot; + rfu_LMAN_occureCallback(LMAN_MSG_NEW_CHILD_CONNECT_DETECTED, 1); + } + newAcceptSlot = 0x00; + for (i = 0; i < RFU_CHILD_MAX; i++) + { + tgtSlot = 1 << i; + flags = 0x00; + if (newSlot & tgtSlot) + { + lman.nameAcceptTimer.count[i] = lman.nameAcceptTimer.count_max; + lman.nameAcceptTimer.active |= tgtSlot; + } + else if (lman.nameAcceptTimer.active & tgtSlot) + { + if (gRfuSlotStatusNI[i]->recv.state == SLOT_STATE_RECV_SUCCESS) + { + if (gRfuSlotStatusNI[i]->recv.dataType == 1) + { + flags = RN_NAME_TIMER_CLEAR; + for (ptr = lman.acceptable_serialNo_list; *ptr != 0xFFFF; ptr++) + { + if (gRfuLinkStatus->partner[i].serialNo == *ptr) + { + lman.acceptSlot_flag |= tgtSlot; + lman.acceptCount++; + newAcceptSlot |= tgtSlot; + flags |= RN_ACCEPT; + break; + } + } + if (!(flags & RN_ACCEPT)) + { + flags |= RN_DISCONNECT; + } + } + } + else if (--lman.nameAcceptTimer.count[i] == 0) + { + flags = RN_NAME_TIMER_CLEAR | RN_DISCONNECT; + } + if (flags & RN_NAME_TIMER_CLEAR) + { + lman.nameAcceptTimer.active &= ~tgtSlot; + lman.nameAcceptTimer.count[i] = 0; + rfu_clearSlot(TYPE_NI_RECV, i); + } + if (flags & RN_DISCONNECT) + { + lman.reserveDisconnectSlot_flag |= tgtSlot; + } + } + } + if (newAcceptSlot) + { + lman.param[0] = newAcceptSlot; + rfu_LMAN_occureCallback(LMAN_MSG_NEW_CHILD_CONNECT_ACCEPTED, 1); + } + if (lman.reserveDisconnectSlot_flag) + { + flags = 1; + if (gRfuLinkStatus->sendSlotUNIFlag) + { + if (((lman.parentAck_flag & lman.acceptSlot_flag) != lman.acceptSlot_flag)) + { + flags = 0; + } + } + if (flags) + { + rfu_LMAN_disconnect(lman.reserveDisconnectSlot_flag); + lman.param[0] = lman.reserveDisconnectSlot_flag; + lman.reserveDisconnectSlot_flag = 0; + rfu_LMAN_occureCallback(LMAN_MSG_NEW_CHILD_CONNECT_REJECTED, 1); + } + } + if (lman.nameAcceptTimer.active == 0 && lman.state == LMAN_STATE_WAIT_RECV_CHILD_NAME) + { + if (lman.pcswitch_flag == 0) + { + lman.state = lman.next_state = LMAN_STATE_READY; + rfu_LMAN_occureCallback(LMAN_MSG_END_WAIT_CHILD_NAME, 0); + } + else + { + if (lman.pcswitch_flag == PCSWITCH_1ST_SC) + { + lman.pcswitch_flag = PCSWITCH_2ND_SP_START; + lman.state = LMAN_STATE_START_SEARCH_PARENT; + } + else + { + lman.pcswitch_flag = PCSWITCH_1ST_SC_START; + lman.state = LMAN_STATE_START_SEARCH_CHILD; + } + if (lman.acceptSlot_flag) + { + lman.connect_period = 0; + lman.pcswitch_flag = PCSWITCH_SC_LOCK; + lman.state = LMAN_STATE_START_SEARCH_CHILD; + } + } + } + } +} + +static void rfu_LMAN_CHILD_checkSendChildName(void) +{ + u16 imeBak = REG_IME; + REG_IME = 0; + if (lman.state == LMAN_STATE_SEND_CHILD_NAME) + { + if (--lman.nameAcceptTimer.count[lman.child_slot] == 0 || gRfuSlotStatusNI[lman.child_slot]->send.state == SLOT_STATE_SEND_FAILED) + { + rfu_LMAN_requestChangeAgbClockMaster(); + lman.state = LMAN_STATE_WAIT_CHANGE_CLOCK_MASTER; + rfu_clearSlot(TYPE_NI_SEND, lman.child_slot); + lman.nameAcceptTimer.active &= ~(1 << lman.child_slot); + lman.nameAcceptTimer.count[lman.child_slot] = 0; + } + } + REG_IME = imeBak; + if (lman.state == LMAN_STATE_WAIT_CHANGE_CLOCK_MASTER) + { + if (lman.childClockSlave_flag == RFU_CHILD_CLOCK_SLAVE_ON) + { + rfu_LMAN_requestChangeAgbClockMaster(); + } + if (lman.childClockSlave_flag == RFU_CHILD_CLOCK_SLAVE_OFF) + { + lman.state = lman.next_state = LMAN_STATE_READY; + rfu_LMAN_disconnect(gRfuLinkStatus->connSlotFlag | gRfuLinkStatus->linkLossSlotFlag); + lman.param[0] = 0; + rfu_LMAN_occureCallback(LMAN_MSG_CHILD_NAME_SEND_FAILED_AND_DISCONNECTED, 1); + } + } +} + +static void rfu_LMAN_CHILD_checkSendChildName2(void) +{ + if (lman.state == LMAN_STATE_SEND_CHILD_NAME && gRfuSlotStatusNI[lman.child_slot]->send.state == SLOT_STATE_SEND_SUCCESS) + { + lman.state = lman.next_state = LMAN_STATE_READY; + rfu_clearSlot(TYPE_NI_SEND, lman.child_slot); + lman.nameAcceptTimer.active &= ~(1 << lman.child_slot); + lman.nameAcceptTimer.count[lman.child_slot] = 0; + rfu_LMAN_occureCallback(LMAN_MSG_CHILD_NAME_SEND_COMPLETED, 0); + } +} + +static void rfu_LMAN_CHILD_linkRecoveryProcess(void) +{ + if (lman.parent_child == MODE_CHILD && lman.linkRecovery_start_flag == LINK_RECOVERY_START) + { + lman.state_bak[0] = lman.state; + lman.state_bak[1] = lman.next_state; + lman.state = LMAN_STATE_START_LINK_RECOVERY; + lman.next_state = LMAN_STATE_POLL_LINK_RECOVERY; + lman.linkRecovery_start_flag = LINK_RECOVERY_EXE; + } +} + +static u8 rfu_LMAN_CHILD_checkEnableParentCandidate(void) +{ + u8 i; + u16 *serialNo; + u8 flags = 0x00; + + for (i = 0; i < gRfuLinkStatus->findParentCount; i++) + { + for (serialNo = lman.acceptable_serialNo_list; *serialNo != 0xFFFF; serialNo++) + { + if (gRfuLinkStatus->partner[i].serialNo == *serialNo) + { + flags |= (1 << i); + } + } + } + return flags; +} + +static void rfu_LMAN_occureCallback(u8 msg, u8 param_count) +{ + if (lman.LMAN_callback != NULL) + { + lman.LMAN_callback(msg, param_count); + } + lman.param[0] = lman.param[1] = 0; +} + +static void rfu_LMAN_disconnect(u8 bm_disconnectedSlot) +{ + u8 active_bak = lman.active; + lman.active = 1; + rfu_REQ_disconnect(bm_disconnectedSlot); + rfu_waitREQComplete(); + lman.active = active_bak; +} + +static void rfu_LMAN_reflectCommunicationStatus(u8 bm_disconnectedSlot) +{ + u8 i; + + if (gRfuLinkStatus->sendSlotNIFlag) + { + for (i = 0; i < RFU_CHILD_MAX; i++) + { + if (gRfuSlotStatusNI[i]->send.state & SLOT_BUSY_FLAG && gRfuSlotStatusNI[i]->send.bmSlot & bm_disconnectedSlot) + { + rfu_changeSendTarget(TYPE_NI, i, gRfuSlotStatusNI[i]->send.bmSlot & ~bm_disconnectedSlot); + } + } + } + if (gRfuLinkStatus->recvSlotNIFlag) + { + for (i = 0; i < RFU_CHILD_MAX; i++) + { + if (gRfuSlotStatusNI[i]->recv.state & SLOT_BUSY_FLAG && gRfuSlotStatusNI[i]->recv.bmSlot & bm_disconnectedSlot) + { + rfu_NI_stopReceivingData(i); + } + } + } + if (gRfuLinkStatus->sendSlotUNIFlag) + { + gRfuLinkStatus->sendSlotUNIFlag &= ~bm_disconnectedSlot; + for (i = 0; i < RFU_CHILD_MAX; i++) + { + if (gRfuSlotStatusUNI[i]->send.state == SLOT_STATE_SEND_UNI && bm_disconnectedSlot & gRfuSlotStatusUNI[i]->send.bmSlot) + { + gRfuSlotStatusUNI[i]->send.bmSlot &= ~bm_disconnectedSlot; + } + } + } +} + +static void rfu_LMAN_checkNICommunicateStatus(void) +{ + u8 i; + u8 j; + u8 flags; + + if (lman.NI_failCounter_limit) + { + if (gRfuLinkStatus->sendSlotNIFlag) + { + for (i = 0; i < RFU_CHILD_MAX; i++) + { + if (gRfuSlotStatusNI[i]->send.state & SLOT_BUSY_FLAG) + { + flags = 0; + for (j = 0; j < RFU_CHILD_MAX; j++) + { + if ((gRfuSlotStatusNI[i]->send.bmSlot >> j) & 1 && gRfuSlotStatusNI[j]->send.failCounter > lman.NI_failCounter_limit) + { + flags |= (1 << j); + } + if (flags) + { + rfu_changeSendTarget(TYPE_NI, i, flags ^ gRfuSlotStatusNI[i]->send.bmSlot); + } + } + } + } + } + if (gRfuLinkStatus->recvSlotNIFlag) + { + for (i = 0; i < RFU_CHILD_MAX; i++) + { + if (gRfuSlotStatusNI[i]->recv.state & SLOT_BUSY_FLAG && gRfuSlotStatusNI[i]->recv.failCounter > lman.NI_failCounter_limit) + { + rfu_NI_stopReceivingData(i); + } + } + } + } +} + +void rfu_LMAN_setMSCCallback(void (*MSC_callback_p)(u16)) +{ + lman.MSC_callback = MSC_callback_p; + rfu_setMSCCallback(rfu_LMAN_MSC_callback); +} + +static void rfu_LMAN_setLMANCallback(void (*func)(u8, u8)) +{ + lman.LMAN_callback = func; +} + +u8 rfu_LMAN_setLinkRecovery(u8 enable_flag, u16 recovery_period) +{ + u16 imeBak; + if (lman.linkRecovery_enable && enable_flag == 0 && lman.linkRecoveryTimer.active) + { + return LMAN_ERROR_NOW_LINK_RECOVERY; + } + imeBak = REG_IME; + REG_IME = 0; + lman.linkRecovery_enable = enable_flag; + lman.linkRecoveryTimer.count_max = recovery_period; + REG_IME = imeBak; + return 0; +} + +static u8 rfu_LMAN_setNIFailCounterLimit(u16 NI_failCounter_limit) +{ + if (gRfuLinkStatus->sendSlotNIFlag | gRfuLinkStatus->recvSlotNIFlag) + { + lman.param[0] = 6; + rfu_LMAN_occureCallback(LMAN_MSG_LMAN_API_ERROR_RETURN, 1); + return LMAN_ERROR_NOW_COMMUNICATION; + } + lman.NI_failCounter_limit = NI_failCounter_limit; + return 0; +} + +static u8 rfu_LMAN_setFastSearchParent(u8 enable_flag) +{ + if (lman.state == LMAN_STATE_START_SEARCH_PARENT || lman.state == LMAN_STATE_POLL_SEARCH_PARENT || lman.state == LMAN_STATE_END_SEARCH_PARENT) + { + lman.param[0] = 7; + rfu_LMAN_occureCallback(LMAN_MSG_LMAN_API_ERROR_RETURN, 1); + return LMAN_ERROR_NOW_SEARCH_PARENT; + } + if (enable_flag) + { + lman.fastSearchParent_flag = FSP_ON; + } + else + { + lman.fastSearchParent_flag = 0; + } + return 0; +} + +static void rfu_LMAN_managerChangeAgbClockMaster(void) +{ + if (lman.childClockSlave_flag != RFU_CHILD_CLOCK_SLAVE_OFF) + { + lman.childClockSlave_flag = RFU_CHILD_CLOCK_SLAVE_OFF; + rfu_LMAN_occureCallback(LMAN_MSG_CHANGE_AGB_CLOCK_MASTER, 0); + } +} + +void rfu_LMAN_requestChangeAgbClockMaster(void) +{ + if (lman.childClockSlave_flag == RFU_CHILD_CLOCK_SLAVE_OFF) + { + rfu_LMAN_occureCallback(LMAN_MSG_CHANGE_AGB_CLOCK_MASTER, 0); + } + else if (lman.childClockSlave_flag == RFU_CHILD_CLOCK_SLAVE_ON) + { + lman.childClockSlave_flag = RFU_CHILD_CLOCK_SLAVE_OFF_REQ; + } +} + +void rfu_LMAN_forceChangeSP(void) +{ + if (lman.pcswitch_flag) + { + switch (lman.state) + { + case LMAN_STATE_START_SEARCH_CHILD: + lman.pcswitch_flag = PCSWITCH_2ND_SP_START; + lman.state = LMAN_STATE_START_SEARCH_PARENT; + break; + case LMAN_STATE_POLL_SEARCH_CHILD: + lman.pcswitch_flag = PCSWITCH_1ST_SC; + lman.connect_period = 1; + break; + case LMAN_STATE_END_SEARCH_CHILD: + case LMAN_STATE_WAIT_RECV_CHILD_NAME: + lman.pcswitch_flag = PCSWITCH_1ST_SC; + break; + case LMAN_STATE_START_SEARCH_PARENT: + case LMAN_STATE_POLL_SEARCH_PARENT: + lman.connect_period = PCSWITCH_SP_PERIOD; + break; + case LMAN_STATE_END_SEARCH_PARENT: + lman.connect_period = PCSWITCH_SP_PERIOD; + lman.state = LMAN_STATE_POLL_SEARCH_PARENT; + break; + } + } +} diff --git a/src/anim_mon_front_pics.c b/src/anim_mon_front_pics.c index d764e10ac..e36cf3492 100644 --- a/src/anim_mon_front_pics.c +++ b/src/anim_mon_front_pics.c @@ -1,6 +1,6 @@ #include "global.h" -const u32 gMonFrontPic_CircledQuestionMark[] = INCBIN_U32("graphics/pokemon/circled_question_mark/anim_front.4bpp.lz"); +const u32 gMonFrontPic_CircledQuestionMark[] = INCBIN_U32("graphics/pokemon/question_mark/circled/anim_front.4bpp.lz"); const u32 gMonFrontPic_Bulbasaur[] = INCBIN_U32("graphics/pokemon/bulbasaur/anim_front.4bpp.lz"); const u32 gMonFrontPic_Ivysaur[] = INCBIN_U32("graphics/pokemon/ivysaur/anim_front.4bpp.lz"); @@ -203,7 +203,7 @@ const u32 gMonFrontPic_Umbreon[] = INCBIN_U32("graphics/pokemon/umbreon/anim_fro const u32 gMonFrontPic_Murkrow[] = INCBIN_U32("graphics/pokemon/murkrow/anim_front.4bpp.lz"); const u32 gMonFrontPic_Slowking[] = INCBIN_U32("graphics/pokemon/slowking/anim_front.4bpp.lz"); const u32 gMonFrontPic_Misdreavus[] = INCBIN_U32("graphics/pokemon/misdreavus/anim_front.4bpp.lz"); -const u32 gMonFrontPic_UnownA[] = INCBIN_U32("graphics/pokemon/unown/anim_front_a.4bpp.lz"); +const u32 gMonFrontPic_UnownA[] = INCBIN_U32("graphics/pokemon/unown/a/anim_front.4bpp.lz"); const u32 gMonFrontPic_Wobbuffet[] = INCBIN_U32("graphics/pokemon/wobbuffet/anim_front.4bpp.lz"); const u32 gMonFrontPic_Girafarig[] = INCBIN_U32("graphics/pokemon/girafarig/anim_front.4bpp.lz"); const u32 gMonFrontPic_Pineco[] = INCBIN_U32("graphics/pokemon/pineco/anim_front.4bpp.lz"); @@ -255,7 +255,7 @@ const u32 gMonFrontPic_Lugia[] = INCBIN_U32("graphics/pokemon/lugia/anim_front.4 const u32 gMonFrontPic_HoOh[] = INCBIN_U32("graphics/pokemon/ho_oh/anim_front.4bpp.lz"); const u32 gMonFrontPic_Celebi[] = INCBIN_U32("graphics/pokemon/celebi/anim_front.4bpp.lz"); -const u32 gMonFrontPic_DoubleQuestionMark[] = INCBIN_U32("graphics/pokemon/double_question_mark/anim_front.4bpp.lz"); +const u32 gMonFrontPic_DoubleQuestionMark[] = INCBIN_U32("graphics/pokemon/question_mark/double/anim_front.4bpp.lz"); const u32 gMonFrontPic_Treecko[] = INCBIN_U32("graphics/pokemon/treecko/anim_front.4bpp.lz"); const u32 gMonFrontPic_Grovyle[] = INCBIN_U32("graphics/pokemon/grovyle/anim_front.4bpp.lz"); @@ -395,30 +395,30 @@ const u32 gMonFrontPic_Chimecho[] = INCBIN_U32("graphics/pokemon/chimecho/anim_f const u32 gMonFrontPic_Egg[] = INCBIN_U32("graphics/pokemon/egg/anim_front.4bpp.lz"); -const u32 gMonFrontPic_UnownB[] = INCBIN_U32("graphics/pokemon/unown/anim_front_b.4bpp.lz"); -const u32 gMonFrontPic_UnownC[] = INCBIN_U32("graphics/pokemon/unown/anim_front_c.4bpp.lz"); -const u32 gMonFrontPic_UnownD[] = INCBIN_U32("graphics/pokemon/unown/anim_front_d.4bpp.lz"); -const u32 gMonFrontPic_UnownE[] = INCBIN_U32("graphics/pokemon/unown/anim_front_e.4bpp.lz"); -const u32 gMonFrontPic_UnownF[] = INCBIN_U32("graphics/pokemon/unown/anim_front_f.4bpp.lz"); -const u32 gMonFrontPic_UnownG[] = INCBIN_U32("graphics/pokemon/unown/anim_front_g.4bpp.lz"); -const u32 gMonFrontPic_UnownH[] = INCBIN_U32("graphics/pokemon/unown/anim_front_h.4bpp.lz"); -const u32 gMonFrontPic_UnownI[] = INCBIN_U32("graphics/pokemon/unown/anim_front_i.4bpp.lz"); -const u32 gMonFrontPic_UnownJ[] = INCBIN_U32("graphics/pokemon/unown/anim_front_j.4bpp.lz"); -const u32 gMonFrontPic_UnownK[] = INCBIN_U32("graphics/pokemon/unown/anim_front_k.4bpp.lz"); -const u32 gMonFrontPic_UnownL[] = INCBIN_U32("graphics/pokemon/unown/anim_front_l.4bpp.lz"); -const u32 gMonFrontPic_UnownM[] = INCBIN_U32("graphics/pokemon/unown/anim_front_m.4bpp.lz"); -const u32 gMonFrontPic_UnownN[] = INCBIN_U32("graphics/pokemon/unown/anim_front_n.4bpp.lz"); -const u32 gMonFrontPic_UnownO[] = INCBIN_U32("graphics/pokemon/unown/anim_front_o.4bpp.lz"); -const u32 gMonFrontPic_UnownP[] = INCBIN_U32("graphics/pokemon/unown/anim_front_p.4bpp.lz"); -const u32 gMonFrontPic_UnownQ[] = INCBIN_U32("graphics/pokemon/unown/anim_front_q.4bpp.lz"); -const u32 gMonFrontPic_UnownR[] = INCBIN_U32("graphics/pokemon/unown/anim_front_r.4bpp.lz"); -const u32 gMonFrontPic_UnownS[] = INCBIN_U32("graphics/pokemon/unown/anim_front_s.4bpp.lz"); -const u32 gMonFrontPic_UnownT[] = INCBIN_U32("graphics/pokemon/unown/anim_front_t.4bpp.lz"); -const u32 gMonFrontPic_UnownU[] = INCBIN_U32("graphics/pokemon/unown/anim_front_u.4bpp.lz"); -const u32 gMonFrontPic_UnownV[] = INCBIN_U32("graphics/pokemon/unown/anim_front_v.4bpp.lz"); -const u32 gMonFrontPic_UnownW[] = INCBIN_U32("graphics/pokemon/unown/anim_front_w.4bpp.lz"); -const u32 gMonFrontPic_UnownX[] = INCBIN_U32("graphics/pokemon/unown/anim_front_x.4bpp.lz"); -const u32 gMonFrontPic_UnownY[] = INCBIN_U32("graphics/pokemon/unown/anim_front_y.4bpp.lz"); -const u32 gMonFrontPic_UnownZ[] = INCBIN_U32("graphics/pokemon/unown/anim_front_z.4bpp.lz"); -const u32 gMonFrontPic_UnownExclamationMark[] = INCBIN_U32("graphics/pokemon/unown/anim_front_exclamation_mark.4bpp.lz"); -const u32 gMonFrontPic_UnownQuestionMark[] = INCBIN_U32("graphics/pokemon/unown/anim_front_question_mark.4bpp.lz"); +const u32 gMonFrontPic_UnownB[] = INCBIN_U32("graphics/pokemon/unown/b/anim_front.4bpp.lz"); +const u32 gMonFrontPic_UnownC[] = INCBIN_U32("graphics/pokemon/unown/c/anim_front.4bpp.lz"); +const u32 gMonFrontPic_UnownD[] = INCBIN_U32("graphics/pokemon/unown/d/anim_front.4bpp.lz"); +const u32 gMonFrontPic_UnownE[] = INCBIN_U32("graphics/pokemon/unown/e/anim_front.4bpp.lz"); +const u32 gMonFrontPic_UnownF[] = INCBIN_U32("graphics/pokemon/unown/f/anim_front.4bpp.lz"); +const u32 gMonFrontPic_UnownG[] = INCBIN_U32("graphics/pokemon/unown/g/anim_front.4bpp.lz"); +const u32 gMonFrontPic_UnownH[] = INCBIN_U32("graphics/pokemon/unown/h/anim_front.4bpp.lz"); +const u32 gMonFrontPic_UnownI[] = INCBIN_U32("graphics/pokemon/unown/i/anim_front.4bpp.lz"); +const u32 gMonFrontPic_UnownJ[] = INCBIN_U32("graphics/pokemon/unown/j/anim_front.4bpp.lz"); +const u32 gMonFrontPic_UnownK[] = INCBIN_U32("graphics/pokemon/unown/k/anim_front.4bpp.lz"); +const u32 gMonFrontPic_UnownL[] = INCBIN_U32("graphics/pokemon/unown/l/anim_front.4bpp.lz"); +const u32 gMonFrontPic_UnownM[] = INCBIN_U32("graphics/pokemon/unown/m/anim_front.4bpp.lz"); +const u32 gMonFrontPic_UnownN[] = INCBIN_U32("graphics/pokemon/unown/n/anim_front.4bpp.lz"); +const u32 gMonFrontPic_UnownO[] = INCBIN_U32("graphics/pokemon/unown/o/anim_front.4bpp.lz"); +const u32 gMonFrontPic_UnownP[] = INCBIN_U32("graphics/pokemon/unown/p/anim_front.4bpp.lz"); +const u32 gMonFrontPic_UnownQ[] = INCBIN_U32("graphics/pokemon/unown/q/anim_front.4bpp.lz"); +const u32 gMonFrontPic_UnownR[] = INCBIN_U32("graphics/pokemon/unown/r/anim_front.4bpp.lz"); +const u32 gMonFrontPic_UnownS[] = INCBIN_U32("graphics/pokemon/unown/s/anim_front.4bpp.lz"); +const u32 gMonFrontPic_UnownT[] = INCBIN_U32("graphics/pokemon/unown/t/anim_front.4bpp.lz"); +const u32 gMonFrontPic_UnownU[] = INCBIN_U32("graphics/pokemon/unown/u/anim_front.4bpp.lz"); +const u32 gMonFrontPic_UnownV[] = INCBIN_U32("graphics/pokemon/unown/v/anim_front.4bpp.lz"); +const u32 gMonFrontPic_UnownW[] = INCBIN_U32("graphics/pokemon/unown/w/anim_front.4bpp.lz"); +const u32 gMonFrontPic_UnownX[] = INCBIN_U32("graphics/pokemon/unown/x/anim_front.4bpp.lz"); +const u32 gMonFrontPic_UnownY[] = INCBIN_U32("graphics/pokemon/unown/y/anim_front.4bpp.lz"); +const u32 gMonFrontPic_UnownZ[] = INCBIN_U32("graphics/pokemon/unown/z/anim_front.4bpp.lz"); +const u32 gMonFrontPic_UnownExclamationMark[] = INCBIN_U32("graphics/pokemon/unown/exclamation_mark/anim_front.4bpp.lz"); +const u32 gMonFrontPic_UnownQuestionMark[] = INCBIN_U32("graphics/pokemon/unown/question_mark/anim_front.4bpp.lz"); diff --git a/src/apprentice.c b/src/apprentice.c index 2c8959024..7f493a136 100644 --- a/src/apprentice.c +++ b/src/apprentice.c @@ -923,7 +923,7 @@ static void PrintApprenticeMessage(void) static void Script_PrintApprenticeMessage(void) { ScriptContext2_Enable(); - FreezeEventObjects(); + FreezeObjectEvents(); sub_808B864(); sub_808BCF4(); DrawDialogueFrame(0, 1); @@ -1215,15 +1215,15 @@ static void SaveApprentice(void) static void SetSavedApprenticeTrainerGfxId(void) { u8 i; - u8 mapObjectGfxId; + u8 objectEventGfxId; u8 class = gApprentices[gSaveBlock2Ptr->apprentices[0].id].facilityClass; for (i = 0; i < ARRAY_COUNT(gTowerMaleFacilityClasses) && gTowerMaleFacilityClasses[i] != class; i++) ; if (i != ARRAY_COUNT(gTowerMaleFacilityClasses)) { - mapObjectGfxId = gTowerMaleTrainerGfxIds[i]; - VarSet(VAR_OBJ_GFX_ID_0, mapObjectGfxId); + objectEventGfxId = gTowerMaleTrainerGfxIds[i]; + VarSet(VAR_OBJ_GFX_ID_0, objectEventGfxId); return; } @@ -1231,23 +1231,23 @@ static void SetSavedApprenticeTrainerGfxId(void) ; if (i != ARRAY_COUNT(gTowerFemaleFacilityClasses)) { - mapObjectGfxId = gTowerFemaleTrainerGfxIds[i]; - VarSet(VAR_OBJ_GFX_ID_0, mapObjectGfxId); + objectEventGfxId = gTowerFemaleTrainerGfxIds[i]; + VarSet(VAR_OBJ_GFX_ID_0, objectEventGfxId); } } static void SetPlayerApprenticeTrainerGfxId(void) { u8 i; - u8 mapObjectGfxId; + u8 objectEventGfxId; u8 class = gApprentices[PLAYER_APPRENTICE.id].facilityClass; for (i = 0; i < ARRAY_COUNT(gTowerMaleFacilityClasses) && gTowerMaleFacilityClasses[i] != class; i++) ; if (i != ARRAY_COUNT(gTowerMaleFacilityClasses)) { - mapObjectGfxId = gTowerMaleTrainerGfxIds[i]; - VarSet(VAR_OBJ_GFX_ID_0, mapObjectGfxId); + objectEventGfxId = gTowerMaleTrainerGfxIds[i]; + VarSet(VAR_OBJ_GFX_ID_0, objectEventGfxId); return; } @@ -1255,8 +1255,8 @@ static void SetPlayerApprenticeTrainerGfxId(void) ; if (i != ARRAY_COUNT(gTowerFemaleFacilityClasses)) { - mapObjectGfxId = gTowerFemaleTrainerGfxIds[i]; - VarSet(VAR_OBJ_GFX_ID_0, mapObjectGfxId); + objectEventGfxId = gTowerFemaleTrainerGfxIds[i]; + VarSet(VAR_OBJ_GFX_ID_0, objectEventGfxId); } } diff --git a/src/battle_anim.c b/src/battle_anim.c index becc12d56..32a917cb4 100644 --- a/src/battle_anim.c +++ b/src/battle_anim.c @@ -112,7 +112,7 @@ EWRAM_DATA static u16 sAnimMoveIndex = 0; // Set but unused. EWRAM_DATA u8 gBattleAnimAttacker = 0; EWRAM_DATA u8 gBattleAnimTarget = 0; EWRAM_DATA u16 gAnimBattlerSpecies[MAX_BATTLERS_COUNT] = {0}; -EWRAM_DATA u8 gUnknown_02038440 = 0; +EWRAM_DATA u8 gAnimCustomPanning = 0; const struct OamData gOamData_AffineOff_ObjNormal_8x8 = { @@ -1821,7 +1821,7 @@ void ClearBattleAnimationVars(void) sAnimMoveIndex = 0; gBattleAnimAttacker = 0; gBattleAnimTarget = 0; - gUnknown_02038440 = 0; + gAnimCustomPanning = 0; } void DoMoveAnim(u16 move) @@ -2715,7 +2715,8 @@ static void ScriptCmd_goto(void) sBattleAnimScriptPtr = T2_READ_PTR(sBattleAnimScriptPtr); } -// Uses of this function that rely on a TRUE return are expecting inBattle to not be ticked as defined in contest behavior. As a result, if misused, this function cannot reliably discern between field and contest status and could result in undefined behavior. +// Uses of this function that rely on a TRUE return are expecting inBattle to not be ticked as defined in contest behavior. +// As a result, if misused, this function cannot reliably discern between field and contest status and could result in undefined behavior. bool8 IsContest(void) { if (!gMain.inBattle) diff --git a/src/bug.c b/src/battle_anim_bug.c index 207000fb8..ea3df8098 100644 --- a/src/bug.c +++ b/src/battle_anim_bug.c @@ -4,90 +4,90 @@ #include "trig.h" #include "constants/rgb.h" -void sub_8110368(struct Sprite *); -void sub_8110438(struct Sprite *); -void AnimTranslateWebThread(struct Sprite *); -void sub_81105B4(struct Sprite *); -void sub_811067C(struct Sprite *); -void AnimTranslateStinger(struct Sprite *); -void AnimMissileArc(struct Sprite *); -void sub_8110994(struct Sprite *); -static void sub_811057C(struct Sprite *); -static void sub_8110630(struct Sprite *); -static void sub_81106A4(struct Sprite *); -static void sub_8110700(struct Sprite *); -static void AnimMissileArcStep(struct Sprite *); - -const union AffineAnimCmd gUnknown_08596938[] = +static void AnimMegahornHorn(struct Sprite *); +static void AnimLeechLifeNeedle(struct Sprite *); +static void AnimTranslateWebThread(struct Sprite *); +static void AnimTranslateWebThread_Step(struct Sprite *); +static void AnimStringWrap(struct Sprite *); +static void AnimStringWrap_Step(struct Sprite *); +static void AnimSpiderWeb(struct Sprite *); +static void AnimSpiderWeb_Step(struct Sprite *); +static void AnimSpiderWeb_End(struct Sprite *); +static void AnimTranslateStinger(struct Sprite *); +static void AnimMissileArc(struct Sprite *); +static void AnimMissileArc_Step(struct Sprite *); +static void AnimTailGlowOrb(struct Sprite *); + +static const union AffineAnimCmd sAffineAnim_MegahornHorn_0[] = { AFFINEANIMCMD_FRAME(0x100, 0x100, 30, 0), AFFINEANIMCMD_END, }; -const union AffineAnimCmd gUnknown_08596948[] = +static const union AffineAnimCmd sAffineAnim_MegahornHorn_1[] = { AFFINEANIMCMD_FRAME(0x100, 0x100, -99, 0), AFFINEANIMCMD_END, }; -const union AffineAnimCmd gUnknown_08596958[] = +static const union AffineAnimCmd sAffineAnim_MegahornHorn_2[] = { AFFINEANIMCMD_FRAME(0x100, 0x100, 94, 0), AFFINEANIMCMD_END, }; -const union AffineAnimCmd *const gUnknown_08596968[] = +static const union AffineAnimCmd *const sAffineAnims_MegahornHorn[] = { - gUnknown_08596938, - gUnknown_08596948, - gUnknown_08596958, + sAffineAnim_MegahornHorn_0, + sAffineAnim_MegahornHorn_1, + sAffineAnim_MegahornHorn_2, }; -const struct SpriteTemplate gUnknown_08596974 = +const struct SpriteTemplate gMegahornHornSpriteTemplate = { .tileTag = ANIM_TAG_HORN_HIT_2, .paletteTag = ANIM_TAG_HORN_HIT_2, .oam = &gOamData_AffineDouble_ObjNormal_32x16, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_08596968, - .callback = sub_8110368, + .affineAnims = sAffineAnims_MegahornHorn, + .callback = AnimMegahornHorn, }; -const union AffineAnimCmd gUnknown_0859698C[] = +static const union AffineAnimCmd sAffineAnim_LeechLifeNeedle_0[] = { AFFINEANIMCMD_FRAME(0x0, 0x0, -33, 1), AFFINEANIMCMD_END, }; -const union AffineAnimCmd gUnknown_0859699C[] = +static const union AffineAnimCmd sAffineAnim_LeechLifeNeedle_1[] = { AFFINEANIMCMD_FRAME(0x0, 0x0, 96, 1), AFFINEANIMCMD_END, }; -const union AffineAnimCmd gUnknown_085969AC[] = +static const union AffineAnimCmd sAffineAnim_LeechLifeNeedle_2[] = { AFFINEANIMCMD_FRAME(0x0, 0x0, -96, 1), AFFINEANIMCMD_END, }; -const union AffineAnimCmd *const gUnknown_085969BC[] = +static const union AffineAnimCmd *const sAffineAnims_LeechLifeNeedle[] = { - gUnknown_0859698C, - gUnknown_0859699C, - gUnknown_085969AC, + sAffineAnim_LeechLifeNeedle_0, + sAffineAnim_LeechLifeNeedle_1, + sAffineAnim_LeechLifeNeedle_2, }; -const struct SpriteTemplate gUnknown_085969C8 = +const struct SpriteTemplate gLeechLifeNeedleSpriteTemplate = { .tileTag = ANIM_TAG_NEEDLE, .paletteTag = ANIM_TAG_NEEDLE, .oam = &gOamData_AffineNormal_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_085969BC, - .callback = sub_8110438, + .affineAnims = sAffineAnims_LeechLifeNeedle, + .callback = AnimLeechLifeNeedle, }; const struct SpriteTemplate gWebThreadSpriteTemplate = @@ -101,7 +101,7 @@ const struct SpriteTemplate gWebThreadSpriteTemplate = .callback = AnimTranslateWebThread, }; -const struct SpriteTemplate gUnknown_085969F8 = +const struct SpriteTemplate gStringWrapSpriteTemplate = { .tileTag = ANIM_TAG_STRING, .paletteTag = ANIM_TAG_STRING, @@ -109,19 +109,19 @@ const struct SpriteTemplate gUnknown_085969F8 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_81105B4, + .callback = AnimStringWrap, }; -const union AffineAnimCmd gUnknown_08596A10[] = +static const union AffineAnimCmd sAffineAnim_SpiderWeb[] = { AFFINEANIMCMD_FRAME(0x10, 0x10, 0, 0), AFFINEANIMCMD_FRAME(0x6, 0x6, 0, 1), AFFINEANIMCMD_JUMP(1), }; -const union AffineAnimCmd *const gUnknown_08596A28[] = +static const union AffineAnimCmd *const sAffineAnims_SpiderWeb[] = { - gUnknown_08596A10, + sAffineAnim_SpiderWeb, }; const struct SpriteTemplate gSpiderWebSpriteTemplate = @@ -131,8 +131,8 @@ const struct SpriteTemplate gSpiderWebSpriteTemplate = .oam = &gOamData_AffineDouble_ObjBlend_64x64, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_08596A28, - .callback = sub_811067C, + .affineAnims = sAffineAnims_SpiderWeb, + .callback = AnimSpiderWeb, }; const struct SpriteTemplate gLinearStingerSpriteTemplate = @@ -168,7 +168,7 @@ const struct SpriteTemplate gIcicleSpearSpriteTemplate = .callback = AnimMissileArc, }; -const union AffineAnimCmd gUnknown_08596A8C[] = +static const union AffineAnimCmd sAffineAnim_TailGlowOrb[] = { AFFINEANIMCMD_FRAME(0x10, 0x10, 0, 0), AFFINEANIMCMD_FRAME(0x8, 0x8, 0, 18), @@ -179,23 +179,23 @@ const union AffineAnimCmd gUnknown_08596A8C[] = AFFINEANIMCMD_END, }; -const union AffineAnimCmd *const gUnknown_08596AC4[] = +static const union AffineAnimCmd *const sAffineAnims_TailGlowOrb[] = { - gUnknown_08596A8C, + sAffineAnim_TailGlowOrb, }; -const struct SpriteTemplate gUnknown_08596AC8 = +const struct SpriteTemplate gTailGlowOrbSpriteTemplate = { .tileTag = ANIM_TAG_CIRCLE_OF_LIGHT, .paletteTag = ANIM_TAG_CIRCLE_OF_LIGHT, .oam = &gOamData_AffineNormal_ObjBlend_64x64, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_08596AC4, - .callback = sub_8110994, + .affineAnims = sAffineAnims_TailGlowOrb, + .callback = AnimTailGlowOrb, }; -void sub_8110368(struct Sprite *sprite) +static void AnimMegahornHorn(struct Sprite *sprite) { if (IsContest()) { @@ -223,7 +223,7 @@ void sub_8110368(struct Sprite *sprite) StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); } -void sub_8110438(struct Sprite *sprite) +static void AnimLeechLifeNeedle(struct Sprite *sprite) { if (IsContest()) { @@ -254,7 +254,7 @@ void sub_8110438(struct Sprite *sprite) // arg 2: controls the left-to-right movement // arg 3: amplitude // arg 4: if targets both opponents -void AnimTranslateWebThread(struct Sprite *sprite) +static void AnimTranslateWebThread(struct Sprite *sprite) { if (IsContest()) gBattleAnimArgs[2] /= 2; @@ -276,10 +276,10 @@ void AnimTranslateWebThread(struct Sprite *sprite) sub_80A6FD4(sprite); sprite->data[5] = gBattleAnimArgs[3]; - sprite->callback = sub_811057C; + sprite->callback = AnimTranslateWebThread_Step; } -static void sub_811057C(struct Sprite *sprite) +static void AnimTranslateWebThread_Step(struct Sprite *sprite) { if (AnimTranslateLinear(sprite)) { @@ -291,7 +291,8 @@ static void sub_811057C(struct Sprite *sprite) sprite->data[6] = (sprite->data[6] + 13) & 0xFF; } -void sub_81105B4(struct Sprite *sprite) +// Second stage of String Shot +static void AnimStringWrap(struct Sprite *sprite) { SetAverageBattlerPositions(gBattleAnimTarget, 0, &sprite->pos1.x, &sprite->pos1.y); if (GetBattlerSide(gBattleAnimAttacker)) @@ -303,10 +304,10 @@ void sub_81105B4(struct Sprite *sprite) if (!GetBattlerSide(gBattleAnimTarget)) sprite->pos1.y += 8; - sprite->callback = sub_8110630; + sprite->callback = AnimStringWrap_Step; } -static void sub_8110630(struct Sprite *sprite) +static void AnimStringWrap_Step(struct Sprite *sprite) { if (++sprite->data[0] == 3) { @@ -320,16 +321,16 @@ static void sub_8110630(struct Sprite *sprite) } } -void sub_811067C(struct Sprite *sprite) +static void AnimSpiderWeb(struct Sprite *sprite) { SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT2_ALL | BLDCNT_EFFECT_BLEND); SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(16, 0)); sprite->data[0] = 16; - sprite->callback = sub_81106A4; + sprite->callback = AnimSpiderWeb_Step; } -static void sub_81106A4(struct Sprite *sprite) +static void AnimSpiderWeb_Step(struct Sprite *sprite) { if (sprite->data[2] < 20) { @@ -343,12 +344,12 @@ static void sub_81106A4(struct Sprite *sprite) if (sprite->data[0] == 0) { sprite->invisible = TRUE; - sprite->callback = sub_8110700; + sprite->callback = AnimSpiderWeb_End; } } } -static void sub_8110700(struct Sprite *sprite) +static void AnimSpiderWeb_End(struct Sprite *sprite) { SetGpuReg(REG_OFFSET_BLDCNT, 0); SetGpuReg(REG_OFFSET_BLDALPHA, 0); @@ -362,7 +363,7 @@ static void sub_8110700(struct Sprite *sprite) // arg 2: target x pixel offset // arg 3: target y pixel offset // arg 4: duration -void AnimTranslateStinger(struct Sprite *sprite) +static void AnimTranslateStinger(struct Sprite *sprite) { s16 lVarX, lVarY; u16 rot; @@ -419,7 +420,7 @@ void AnimTranslateStinger(struct Sprite *sprite) // arg 3: target y pixel offset // arg 4: duration // arg 5: wave amplitude -void AnimMissileArc(struct Sprite *sprite) +static void AnimMissileArc(struct Sprite *sprite) { InitSpritePosToAnimAttacker(sprite, 1); @@ -432,11 +433,11 @@ void AnimMissileArc(struct Sprite *sprite) sprite->data[5] = gBattleAnimArgs[5]; InitAnimArcTranslation(sprite); - sprite->callback = AnimMissileArcStep; + sprite->callback = AnimMissileArc_Step; sprite->invisible = TRUE; } -static void AnimMissileArcStep(struct Sprite *sprite) +static void AnimMissileArc_Step(struct Sprite *sprite) { sprite->invisible = FALSE; @@ -473,9 +474,9 @@ static void AnimMissileArcStep(struct Sprite *sprite) } } -void sub_8110994(struct Sprite *sprite) +static void AnimTailGlowOrb(struct Sprite *sprite) { - if (gBattleAnimArgs[0] == 0) + if (gBattleAnimArgs[0] == ANIM_ATTACKER) { sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2); sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3) + 18; diff --git a/src/dark.c b/src/battle_anim_dark.c index 63a893b67..dc3e8c83c 100644 --- a/src/dark.c +++ b/src/battle_anim_dark.c @@ -9,22 +9,23 @@ #include "util.h" #include "constants/rgb.h" -void sub_81138D4(struct Sprite *); -void sub_81139DC(struct Sprite *); -void sub_8113A90(struct Sprite *); -void sub_81144BC(struct Sprite *); -static void sub_811375C(u8); -static void sub_811381C(u8); +static void sub_81138D4(struct Sprite *); +static void AnimBite(struct Sprite *); +static void AnimTearDrop(struct Sprite *); +static void AnimClawSlash(struct Sprite *); +static void AnimTask_AttackerFadeToInvisible_Step(u8); +static void AnimTask_AttackerFadeFromInvisible_Step(u8); static void sub_8113950(struct Sprite *); -static void sub_8113A18(struct Sprite *); -static void sub_8113A58(struct Sprite *); -static void sub_8113B90(struct Sprite *); -static void sub_8113D60(u8); -static void sub_81140C8(u8); +static void AnimBite_Step1(struct Sprite *); +static void AnimBite_Step2(struct Sprite *); +static void AnimTearDrop_Step(struct Sprite *); +static void AnimTask_MoveAttackerMementoShadow_Step(u8); +static void AnimTask_MoveTargetMementoShadow_Step(u8); static void sub_8114244(struct Task *); static void sub_8114374(u8); -static void sub_8114748(u8); +static void AnimTask_MetallicShine_Step(u8); +// Unused const struct SpriteTemplate gUnknown_08596FC8 = { .tileTag = ANIM_TAG_TIED_BAG, @@ -36,120 +37,120 @@ const struct SpriteTemplate gUnknown_08596FC8 = .callback = sub_81138D4, }; -const union AffineAnimCmd gUnknown_08596FE0[] = +static const union AffineAnimCmd sAffineAnim_Bite_0[] = { AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 1), AFFINEANIMCMD_END, }; -const union AffineAnimCmd gUnknown_08596FF0[] = +static const union AffineAnimCmd sAffineAnim_Bite_1[] = { AFFINEANIMCMD_FRAME(0x0, 0x0, 32, 1), AFFINEANIMCMD_END, }; -const union AffineAnimCmd gUnknown_08597000[] = +static const union AffineAnimCmd sAffineAnim_Bite_2[] = { AFFINEANIMCMD_FRAME(0x0, 0x0, 64, 1), AFFINEANIMCMD_END, }; -const union AffineAnimCmd gUnknown_08597010[] = +static const union AffineAnimCmd sAffineAnim_Bite_3[] = { AFFINEANIMCMD_FRAME(0x0, 0x0, 96, 1), AFFINEANIMCMD_END, }; -const union AffineAnimCmd gUnknown_08597020[] = +static const union AffineAnimCmd sAffineAnim_Bite_4[] = { AFFINEANIMCMD_FRAME(0x0, 0x0, -128, 1), AFFINEANIMCMD_END, }; -const union AffineAnimCmd gUnknown_08597030[] = +static const union AffineAnimCmd sAffineAnim_Bite_5[] = { AFFINEANIMCMD_FRAME(0x0, 0x0, -96, 1), AFFINEANIMCMD_END, }; -const union AffineAnimCmd gUnknown_08597040[] = +static const union AffineAnimCmd sAffineAnim_Bite_6[] = { AFFINEANIMCMD_FRAME(0x0, 0x0, -64, 1), AFFINEANIMCMD_END, }; -const union AffineAnimCmd gUnknown_08597050[] = +static const union AffineAnimCmd sAffineAnim_Bite_7[] = { AFFINEANIMCMD_FRAME(0x0, 0x0, -32, 1), AFFINEANIMCMD_END, }; -const union AffineAnimCmd *const gUnknown_08597060[] = +const union AffineAnimCmd *const gAffineAnims_Bite[] = { - gUnknown_08596FE0, - gUnknown_08596FF0, - gUnknown_08597000, - gUnknown_08597010, - gUnknown_08597020, - gUnknown_08597030, - gUnknown_08597040, - gUnknown_08597050, + sAffineAnim_Bite_0, + sAffineAnim_Bite_1, + sAffineAnim_Bite_2, + sAffineAnim_Bite_3, + sAffineAnim_Bite_4, + sAffineAnim_Bite_5, + sAffineAnim_Bite_6, + sAffineAnim_Bite_7, }; -const struct SpriteTemplate gUnknown_08597080 = +const struct SpriteTemplate gSharpTeethSpriteTemplate = { .tileTag = ANIM_TAG_SHARP_TEETH, .paletteTag = ANIM_TAG_SHARP_TEETH, .oam = &gOamData_AffineNormal_ObjBlend_64x64, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_08597060, - .callback = sub_81139DC, + .affineAnims = gAffineAnims_Bite, + .callback = AnimBite, }; -const struct SpriteTemplate gUnknown_08597098 = +const struct SpriteTemplate gClampJawSpriteTemplate = { .tileTag = ANIM_TAG_CLAMP, .paletteTag = ANIM_TAG_CLAMP, .oam = &gOamData_AffineNormal_ObjBlend_64x64, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_08597060, - .callback = sub_81139DC, + .affineAnims = gAffineAnims_Bite, + .callback = AnimBite, }; -const union AffineAnimCmd gUnknown_085970B0[] = +static const union AffineAnimCmd sAffineAnim_TearDrop_0[] = { AFFINEANIMCMD_FRAME(0xC0, 0xC0, 80, 0), AFFINEANIMCMD_FRAME(0x0, 0x0, -2, 8), AFFINEANIMCMD_END, }; -const union AffineAnimCmd gUnknown_085970C8[] = +static const union AffineAnimCmd sAffineAnim_TearDrop_1[] = { AFFINEANIMCMD_FRAME(0xC0, 0xC0, -80, 0), AFFINEANIMCMD_FRAME(0x0, 0x0, 2, 8), AFFINEANIMCMD_END, }; -const union AffineAnimCmd *const gUnknown_085970E0[] = +static const union AffineAnimCmd *const sAffineAnims_TearDrop[] = { - gUnknown_085970B0, - gUnknown_085970C8, + sAffineAnim_TearDrop_0, + sAffineAnim_TearDrop_1, }; -const struct SpriteTemplate gUnknown_085970E8 = +const struct SpriteTemplate gTearDropSpriteTemplate = { .tileTag = ANIM_TAG_SMALL_BUBBLES, .paletteTag = ANIM_TAG_SMALL_BUBBLES, .oam = &gOamData_AffineNormal_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_085970E0, - .callback = sub_8113A90, + .affineAnims = sAffineAnims_TearDrop, + .callback = AnimTearDrop, }; -const union AnimCmd gUnknown_08597100[] = +static const union AnimCmd sAnim_ClawSlash_0[] = { ANIMCMD_FRAME(0, 4), ANIMCMD_FRAME(16, 4), @@ -159,7 +160,7 @@ const union AnimCmd gUnknown_08597100[] = ANIMCMD_END, }; -const union AnimCmd gUnknown_08597118[] = +static const union AnimCmd sAnim_ClawSlash_1[] = { ANIMCMD_FRAME(0, 4, .hFlip = TRUE), ANIMCMD_FRAME(16, 4, .hFlip = TRUE), @@ -169,24 +170,24 @@ const union AnimCmd gUnknown_08597118[] = ANIMCMD_END, }; -const union AnimCmd *const gUnknown_08597130[] = +static const union AnimCmd *const sAnims_ClawSlash[] = { - gUnknown_08597100, - gUnknown_08597118, + sAnim_ClawSlash_0, + sAnim_ClawSlash_1, }; -const struct SpriteTemplate gBattleAnimSpriteTemplate_8597138 = +const struct SpriteTemplate gClawSlashSpriteTemplate = { .tileTag = ANIM_TAG_CLAW_SLASH, .paletteTag = ANIM_TAG_CLAW_SLASH, .oam = &gOamData_AffineOff_ObjNormal_32x32, - .anims = gUnknown_08597130, + .anims = sAnims_ClawSlash, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_81144BC, + .callback = AnimClawSlash, }; -void sub_81136E8(u8 taskId) +void AnimTask_AttackerFadeToInvisible(u8 taskId) { int battler; gTasks[taskId].data[0] = gBattleAnimArgs[0]; @@ -198,10 +199,10 @@ void sub_81136E8(u8 taskId) else SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT2_ALL | BLDCNT_EFFECT_BLEND | BLDCNT_TGT1_BG2); - gTasks[taskId].func = sub_811375C; + gTasks[taskId].func = AnimTask_AttackerFadeToInvisible_Step; } -static void sub_811375C(u8 taskId) +static void AnimTask_AttackerFadeToInvisible_Step(u8 taskId) { u8 blendA = gTasks[taskId].data[1] >> 8; u8 blendB = gTasks[taskId].data[1]; @@ -214,7 +215,7 @@ static void sub_811375C(u8 taskId) gTasks[taskId].data[2] = 0; if (blendA == 16) { - gSprites[gBattlerSpriteIds[gBattleAnimAttacker]].invisible = 1; + gSprites[gBattlerSpriteIds[gBattleAnimAttacker]].invisible = TRUE; DestroyAnimVisualTask(taskId); } } @@ -224,15 +225,15 @@ static void sub_811375C(u8 taskId) } } -void sub_81137E4(u8 taskId) +void AnimTask_AttackerFadeFromInvisible(u8 taskId) { gTasks[taskId].data[0] = gBattleAnimArgs[0]; gTasks[taskId].data[1] = BLDALPHA_BLEND(0, 16); - gTasks[taskId].func = sub_811381C; + gTasks[taskId].func = AnimTask_AttackerFadeFromInvisible_Step; SetGpuReg(REG_OFFSET_BLDALPHA, gTasks[taskId].data[1]); } -static void sub_811381C(u8 taskId) +static void AnimTask_AttackerFadeFromInvisible_Step(u8 taskId) { u8 blendA = gTasks[taskId].data[1] >> 8; u8 blendB = gTasks[taskId].data[1]; @@ -256,7 +257,7 @@ static void sub_811381C(u8 taskId) } } -void sub_8113888(u8 taskId) +void AnimTask_InitAttackerFadeFromInvisible(u8 taskId) { SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(0, 16)); if (GetBattlerSpriteBGPriorityRank(gBattleAnimAttacker) == 1) @@ -267,7 +268,7 @@ void sub_8113888(u8 taskId) DestroyAnimVisualTask(taskId); } -void sub_81138D4(struct Sprite *sprite) +static void sub_81138D4(struct Sprite *sprite) { sprite->data[1] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2); sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2); @@ -310,7 +311,8 @@ static void sub_8113950(struct Sprite *sprite) DestroyAnimSprite(sprite); } -void sub_81139DC(struct Sprite *sprite) +// Move sprite inward for Bite/Crunch and Clamp +static void AnimBite(struct Sprite *sprite) { sprite->pos1.x += gBattleAnimArgs[0]; sprite->pos1.y += gBattleAnimArgs[1]; @@ -318,20 +320,20 @@ void sub_81139DC(struct Sprite *sprite) sprite->data[0] = gBattleAnimArgs[3]; sprite->data[1] = gBattleAnimArgs[4]; sprite->data[2] = gBattleAnimArgs[5]; - sprite->callback = sub_8113A18; + sprite->callback = AnimBite_Step1; } -static void sub_8113A18(struct Sprite *sprite) +static void AnimBite_Step1(struct Sprite *sprite) { sprite->data[4] += sprite->data[0]; sprite->data[5] += sprite->data[1]; sprite->pos2.x = sprite->data[4] >> 8; sprite->pos2.y = sprite->data[5] >> 8; if (++sprite->data[3] == sprite->data[2]) - sprite->callback = sub_8113A58; + sprite->callback = AnimBite_Step2; } -static void sub_8113A58(struct Sprite *sprite) +static void AnimBite_Step2(struct Sprite *sprite) { sprite->data[4] -= sprite->data[0]; sprite->data[5] -= sprite->data[1]; @@ -341,12 +343,13 @@ static void sub_8113A58(struct Sprite *sprite) DestroySpriteAndMatrix(sprite); } -void sub_8113A90(struct Sprite *sprite) +// Launches a tear drop away from the battler. Used by Fake Tears +static void AnimTearDrop(struct Sprite *sprite) { u8 battler; s8 xOffset; - if (gBattleAnimArgs[0] == 0) + if (gBattleAnimArgs[0] == ANIM_ATTACKER) battler = gBattleAnimAttacker; else battler = gBattleAnimTarget; @@ -384,16 +387,16 @@ void sub_8113A90(struct Sprite *sprite) sprite->data[5] = -12; InitAnimArcTranslation(sprite); - sprite->callback = sub_8113B90; + sprite->callback = AnimTearDrop_Step; } -static void sub_8113B90(struct Sprite *sprite) +static void AnimTearDrop_Step(struct Sprite *sprite) { if (TranslateAnimHorizontalArc(sprite)) DestroySpriteAndMatrix(sprite); } -void sub_8113BAC(u8 taskId) +void AnimTask_MoveAttackerMementoShadow(u8 taskId) { struct ScanlineEffectParams scanlineParams; struct BattleAnimBgData animBg; @@ -461,10 +464,10 @@ void sub_8113BAC(u8 taskId) gBattle_WIN0H = (task->data[14] << 8) | task->data[15]; gBattle_WIN0V = 160; - task->func = sub_8113D60; + task->func = AnimTask_MoveAttackerMementoShadow_Step; } -static void sub_8113D60(u8 taskId) +static void AnimTask_MoveAttackerMementoShadow_Step(u8 taskId) { struct Task *task = &gTasks[taskId]; @@ -522,7 +525,7 @@ static void sub_8113D60(u8 taskId) } } -void sub_8113E78(u8 taskId) +void AnimTask_MoveTargetMementoShadow(u8 taskId) { struct BattleAnimBgData animBg; struct ScanlineEffectParams scanlineParams; @@ -625,12 +628,12 @@ void sub_8113E78(u8 taskId) task->data[1] = 0; task->data[2] = 0; SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(12, 8)); - task->func = sub_81140C8; + task->func = AnimTask_MoveTargetMementoShadow_Step; break; } } -static void sub_81140C8(u8 taskId) +static void AnimTask_MoveTargetMementoShadow_Step(u8 taskId) { u8 pos; u16 i; @@ -768,16 +771,16 @@ static void sub_8114374(u8 priority) } } -void sub_81143C0(u8 taskId) +void AnimTask_InitMementoShadow(u8 taskId) { u8 toBG2 = GetBattlerSpriteBGPriorityRank(gBattleAnimAttacker) ^ 1 ? 1 : 0; MoveBattlerSpriteToBG(gBattleAnimAttacker, toBG2, TRUE); - gSprites[gBattlerSpriteIds[gBattleAnimAttacker]].invisible = 0; + gSprites[gBattlerSpriteIds[gBattleAnimAttacker]].invisible = FALSE; if (IsBattlerSpriteVisible(BATTLE_PARTNER(gBattleAnimAttacker))) { MoveBattlerSpriteToBG(gBattleAnimAttacker ^ 2, toBG2 ^ 1, TRUE); - gSprites[gBattlerSpriteIds[gBattleAnimAttacker ^ 2]].invisible = 0; + gSprites[gBattlerSpriteIds[gBattleAnimAttacker ^ 2]].invisible = FALSE; } DestroyAnimVisualTask(taskId); @@ -794,7 +797,8 @@ void sub_8114470(u8 taskId) DestroyAnimVisualTask(taskId); } -void sub_81144BC(struct Sprite *sprite) +// Animates a deep slash from a claw. Used by Metal Claw, Dragon Claw, and Crush Claw +static void AnimClawSlash(struct Sprite *sprite) { sprite->pos1.x += gBattleAnimArgs[0]; sprite->pos1.y += gBattleAnimArgs[1]; @@ -877,10 +881,10 @@ void AnimTask_MetallicShine(u8 taskId) gTasks[taskId].data[2] = gBattleAnimArgs[1]; gTasks[taskId].data[3] = gBattleAnimArgs[2]; gTasks[taskId].data[6] = priorityChanged; - gTasks[taskId].func = sub_8114748; + gTasks[taskId].func = AnimTask_MetallicShine_Step; } -static void sub_8114748(u8 taskId) +static void AnimTask_MetallicShine_Step(u8 taskId) { struct BattleAnimBgData animBg; u16 paletteNum; @@ -898,7 +902,7 @@ static void sub_8114748(u8 taskId) spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER); paletteNum = 16 + gSprites[spriteId].oam.paletteNum; if (gTasks[taskId].data[1] == 0) - SetGreyscaleOrOriginalPalette(paletteNum, 1); + SetGreyscaleOrOriginalPalette(paletteNum, TRUE); DestroySprite(&gSprites[gTasks[taskId].data[0]]); sub_80A6B30(&animBg); @@ -925,7 +929,7 @@ static void sub_8114748(u8 taskId) // Changes battler's palette to either greyscale or original. // arg0: which battler -// arg1: 0 grayscale, 1 original +// arg1: FALSE grayscale, TRUE original void AnimTask_SetGreyscaleOrOriginalPal(u8 taskId) { u8 spriteId; @@ -935,10 +939,10 @@ void AnimTask_SetGreyscaleOrOriginalPal(u8 taskId) switch (gBattleAnimArgs[0]) { - case 0: - case 1: - case 2: - case 3: + case ANIM_ATTACKER: + case ANIM_TARGET: + case ANIM_ATK_PARTNER: + case ANIM_DEF_PARTNER: spriteId = GetAnimBattlerSpriteId(gBattleAnimArgs[0]); break; case 4: @@ -977,13 +981,13 @@ void AnimTask_SetGreyscaleOrOriginalPal(u8 taskId) DestroyAnimVisualTask(taskId); } -void sub_8114960(u8 taskId) +void GetIsDoomDesireHitTurn(u8 taskId) { if (gAnimMoveTurn < 2) - gBattleAnimArgs[7] = 0; + gBattleAnimArgs[ARG_RET_ID] = FALSE; if (gAnimMoveTurn == 2) - gBattleAnimArgs[7] = 1; + gBattleAnimArgs[ARG_RET_ID] = TRUE; DestroyAnimVisualTask(taskId); } diff --git a/src/dragon.c b/src/battle_anim_dragon.c index fa91156d4..1d426cac7 100644 --- a/src/dragon.c +++ b/src/battle_anim_dragon.c @@ -5,19 +5,19 @@ #include "trig.h" #include "constants/rgb.h" -void sub_8113064(struct Sprite *); -void sub_81131B4(struct Sprite *); -void sub_8113224(struct Sprite *); -void sub_8113250(struct Sprite *); -void sub_81135EC(struct Sprite *); -static void sub_81132E0(struct Sprite *); -static void sub_81134B8(u8); +static void AnimOutrageFlame(struct Sprite *); +static void AnimDragonRageFirePlume(struct Sprite *); +static void AnimDragonFireToTarget(struct Sprite *); +static void AnimDragonDanceOrb(struct Sprite *); +static void AnimDragonDanceOrb_Step(struct Sprite *); +static void AnimOverheatFlame(struct Sprite *); +static void AnimOverheatFlame_Step(struct Sprite *); +static void AnimTask_DragonDanceWaver_Step(u8); static void sub_8113574(struct Task *); -static void sub_811369C(struct Sprite *); EWRAM_DATA static u16 gUnknown_0203A100[7] = {0}; -const union AnimCmd gUnknown_08596E60[] = +static const union AnimCmd gUnknown_08596E60[] = { ANIMCMD_FRAME(0, 4), ANIMCMD_FRAME(16, 4), @@ -27,12 +27,12 @@ const union AnimCmd gUnknown_08596E60[] = ANIMCMD_JUMP(0), }; -const union AnimCmd *const gUnknown_08596E78[] = +static const union AnimCmd *const gUnknown_08596E78[] = { gUnknown_08596E60, }; -const struct SpriteTemplate gBattleAnimSpriteTemplate_8596E7C = +const struct SpriteTemplate gOutrageFlameSpriteTemplate = { .tileTag = ANIM_TAG_SMALL_EMBER, .paletteTag = ANIM_TAG_SMALL_EMBER, @@ -40,10 +40,10 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_8596E7C = .anims = gUnknown_08596E78, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_8113064, + .callback = AnimOutrageFlame, }; -const union AnimCmd gUnknown_08596E94[] = +static const union AnimCmd sAnim_DragonBreathFire_0[] = { ANIMCMD_FRAME(16, 3), ANIMCMD_FRAME(32, 3), @@ -51,7 +51,7 @@ const union AnimCmd gUnknown_08596E94[] = ANIMCMD_JUMP(0), }; -const union AnimCmd gUnknown_08596EA4[] = +static const union AnimCmd sAnim_DragonBreathFire_1[] = { ANIMCMD_FRAME(16, 3, .vFlip = TRUE, .hFlip = TRUE), ANIMCMD_FRAME(32, 3, .vFlip = TRUE, .hFlip = TRUE), @@ -59,44 +59,44 @@ const union AnimCmd gUnknown_08596EA4[] = ANIMCMD_JUMP(0), }; -const union AnimCmd *const gUnknown_08596EB4[] = +static const union AnimCmd *const sAnims_DragonBreathFire[] = { - gUnknown_08596E94, - gUnknown_08596EA4, + sAnim_DragonBreathFire_0, + sAnim_DragonBreathFire_1, }; -const union AffineAnimCmd gUnknown_08596EBC[] = +static const union AffineAnimCmd sAffineAnim_DragonBreathFire_0[] = { AFFINEANIMCMD_FRAME(0x50, 0x50, 127, 0), AFFINEANIMCMD_FRAME(0xD, 0xD, 0, 100), AFFINEANIMCMD_END, }; -const union AffineAnimCmd gUnknown_08596ED4[] = +static const union AffineAnimCmd sAffineAnim_DragonBreathFire_1[] = { AFFINEANIMCMD_FRAME(0x50, 0x50, 0, 0), AFFINEANIMCMD_FRAME(0xD, 0xD, 0, 100), AFFINEANIMCMD_END, }; -const union AffineAnimCmd *const gUnknown_08596EEC[] = +static const union AffineAnimCmd *const sAffineAnims_DragonBreathFire[] = { - gUnknown_08596EBC, - gUnknown_08596ED4, + sAffineAnim_DragonBreathFire_0, + sAffineAnim_DragonBreathFire_1, }; -const struct SpriteTemplate gUnknown_08596EF4 = +const struct SpriteTemplate gDragonBreathFireSpriteTemplate = { .tileTag = ANIM_TAG_SMALL_EMBER, .paletteTag = ANIM_TAG_SMALL_EMBER, .oam = &gOamData_AffineDouble_ObjNormal_32x32, - .anims = gUnknown_08596EB4, + .anims = sAnims_DragonBreathFire, .images = NULL, - .affineAnims = gUnknown_08596EEC, - .callback = sub_8113224, + .affineAnims = sAffineAnims_DragonBreathFire, + .callback = AnimDragonFireToTarget, }; -const union AnimCmd gUnknown_08596F0C[] = +static const union AnimCmd sAnim_DragonRageFirePlume[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(16, 5), @@ -106,23 +106,23 @@ const union AnimCmd gUnknown_08596F0C[] = ANIMCMD_END, }; -const union AnimCmd *const gUnknown_08596F24[] = +static const union AnimCmd *const sAnims_DragonRageFirePlume[] = { - gUnknown_08596F0C, + sAnim_DragonRageFirePlume, }; -const struct SpriteTemplate gUnknown_08596F28 = +const struct SpriteTemplate gDragonRageFirePlumeSpriteTemplate = { .tileTag = ANIM_TAG_FIRE_PLUME, .paletteTag = ANIM_TAG_FIRE_PLUME, .oam = &gOamData_AffineOff_ObjNormal_32x32, - .anims = gUnknown_08596F24, + .anims = sAnims_DragonRageFirePlume, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_81131B4, + .callback = AnimDragonRageFirePlume, }; -const union AnimCmd gUnknown_08596F40[] = +static const union AnimCmd sAnim_DragonRageFire[] = { ANIMCMD_FRAME(16, 3), ANIMCMD_FRAME(32, 3), @@ -130,42 +130,42 @@ const union AnimCmd gUnknown_08596F40[] = ANIMCMD_JUMP(0), }; -const union AnimCmd *const gUnknown_08596F50[] = +static const union AnimCmd *const sAnims_DragonRageFire[] = { - gUnknown_08596F40, - gUnknown_08596F40, + sAnim_DragonRageFire, + sAnim_DragonRageFire, }; -const union AffineAnimCmd gUnknown_08596F58[] = +static const union AffineAnimCmd sAffineAnim_DragonRageFire_0[] = { AFFINEANIMCMD_FRAME(0x64, 0x64, 127, 1), AFFINEANIMCMD_END, }; -const union AffineAnimCmd gUnknown_08596F68[] = +static const union AffineAnimCmd sAffineAnim_DragonRageFire_1[] = { AFFINEANIMCMD_FRAME(0x64, 0x64, 0, 1), AFFINEANIMCMD_END, }; -const union AffineAnimCmd *const gUnknown_08596F78[] = +static const union AffineAnimCmd *const sAffineAnims_DragonRageFire[] = { - gUnknown_08596F58, - gUnknown_08596F68, + sAffineAnim_DragonRageFire_0, + sAffineAnim_DragonRageFire_1, }; -const struct SpriteTemplate gUnknown_08596F80 = +const struct SpriteTemplate gDragonRageFireSpitSpriteTemplate = { .tileTag = ANIM_TAG_SMALL_EMBER, .paletteTag = ANIM_TAG_SMALL_EMBER, .oam = &gOamData_AffineDouble_ObjNormal_32x32, - .anims = gUnknown_08596F50, + .anims = sAnims_DragonRageFire, .images = NULL, - .affineAnims = gUnknown_08596F78, - .callback = sub_8113224, + .affineAnims = sAffineAnims_DragonRageFire, + .callback = AnimDragonFireToTarget, }; -const struct SpriteTemplate gUnknown_08596F98 = +const struct SpriteTemplate gDragonDanceOrbSpriteTemplate = { .tileTag = ANIM_TAG_HOLLOW_ORB, .paletteTag = ANIM_TAG_HOLLOW_ORB, @@ -173,10 +173,10 @@ const struct SpriteTemplate gUnknown_08596F98 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_8113250, + .callback = AnimDragonDanceOrb, }; -const struct SpriteTemplate gUnknown_08596FB0 = +const struct SpriteTemplate gOverheatFlameSpriteTemplate = { .tileTag = ANIM_TAG_SMALL_EMBER, .paletteTag = ANIM_TAG_SMALL_EMBER, @@ -184,10 +184,10 @@ const struct SpriteTemplate gUnknown_08596FB0 = .anims = gUnknown_08596E78, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_81135EC, + .callback = AnimOverheatFlame, }; -void sub_8113064(struct Sprite *sprite) +static void AnimOutrageFlame(struct Sprite *sprite) { sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2); sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3); @@ -207,7 +207,7 @@ void sub_8113064(struct Sprite *sprite) sprite->data[1] = gBattleAnimArgs[3]; sprite->data[3] = gBattleAnimArgs[4]; sprite->data[5] = gBattleAnimArgs[5]; - sprite->invisible = 1; + sprite->invisible = TRUE; StoreSpriteCallbackInData6(sprite, DestroySpriteAndMatrix); sprite->callback = TranslateSpriteLinearAndFlicker; } @@ -238,7 +238,7 @@ static void sub_8113100(struct Sprite *sprite) StoreSpriteCallbackInData6(sprite, DestroySpriteAndMatrix); } -void sub_81131B4(struct Sprite *sprite) +static void AnimDragonRageFirePlume(struct Sprite *sprite) { if (gBattleAnimArgs[0] == 0) { @@ -257,7 +257,8 @@ void sub_81131B4(struct Sprite *sprite) StoreSpriteCallbackInData6(sprite, DestroySpriteAndMatrix); } -void sub_8113224(struct Sprite *sprite) +// For Dragon Breath and Dragon Rage +static void AnimDragonFireToTarget(struct Sprite *sprite) { if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) StartSpriteAffineAnim(sprite, 1); @@ -265,7 +266,7 @@ void sub_8113224(struct Sprite *sprite) sub_8113100(sprite); } -void sub_8113250(struct Sprite *sprite) +static void AnimDragonDanceOrb(struct Sprite *sprite) { u16 r5; u16 r0; @@ -282,10 +283,10 @@ void sub_8113250(struct Sprite *sprite) sprite->data[7] = r0 / 2; sprite->pos2.x = Cos(sprite->data[6], sprite->data[7]); sprite->pos2.y = Sin(sprite->data[6], sprite->data[7]); - sprite->callback = sub_81132E0; + sprite->callback = AnimDragonDanceOrb_Step; } -static void sub_81132E0(struct Sprite *sprite) +static void AnimDragonDanceOrb_Step(struct Sprite *sprite) { switch (sprite->data[0]) { @@ -323,7 +324,9 @@ static void sub_81132E0(struct Sprite *sprite) } } -void sub_81133E8(u8 taskId) +// Wavers the attacker back and forth. Progressing vertical wave of scanline shifts +// Used by Dragon Dance +void AnimTask_DragonDanceWaver(u8 taskId) { struct ScanlineEffectParams sp; struct Task *task = &gTasks[taskId]; @@ -356,10 +359,10 @@ void sub_81133E8(u8 taskId) } ScanlineEffect_SetParams(sp); - task->func = sub_81134B8; + task->func = AnimTask_DragonDanceWaver_Step; } -static void sub_81134B8(u8 taskId) +static void AnimTask_DragonDanceWaver_Step(u8 taskId) { struct Task *task = &gTasks[taskId]; switch (task->data[0]) @@ -410,7 +413,7 @@ static void sub_8113574(struct Task *task) task->data[5] = (task->data[5] + 9) & 0xFF; } -void sub_81135EC(struct Sprite *sprite) +static void AnimOverheatFlame(struct Sprite *sprite) { int r6 = (gBattleAnimArgs[2] * 3) / 5; int i; @@ -421,12 +424,12 @@ void sub_81135EC(struct Sprite *sprite) sprite->pos1.x += sprite->data[1] * gBattleAnimArgs[0]; sprite->pos1.y += sprite->data[2] * gBattleAnimArgs[0]; sprite->data[3] = gBattleAnimArgs[3]; - sprite->callback = sub_811369C; + sprite->callback = AnimOverheatFlame_Step; for (i = 0; i < 7; i++) gUnknown_0203A100[i] = sprite->data[i]; } -static void sub_811369C(struct Sprite *sprite) +static void AnimOverheatFlame_Step(struct Sprite *sprite) { sprite->data[4] += sprite->data[1]; sprite->data[5] += sprite->data[2]; diff --git a/src/battle_anim_effects_1.c b/src/battle_anim_effects_1.c index 1efb29ecd..516c58e55 100644 --- a/src/battle_anim_effects_1.c +++ b/src/battle_anim_effects_1.c @@ -18,137 +18,139 @@ EWRAM_DATA s16 gUnknown_0203A0F8[4] = {0}; -void AnimMovePowderParticle(struct Sprite *); -void AnimPowerAbsorptionOrb(struct Sprite *); -void AnimSolarbeamBigOrb(struct Sprite *); -void AnimSolarbeamSmallOrb(struct Sprite *); -void AnimAbsorptionOrb(struct Sprite *); -void AnimHyperBeamOrb(struct Sprite *); -void AnimSporeParticle(struct Sprite *); -void AnimPetalDanceBigFlower(struct Sprite *); -void AnimPetalDanceSmallFlower(struct Sprite *); -void AnimRazorLeafParticle(struct Sprite *); -void AnimLeechSeed(struct Sprite *); -void AnimTranslateLinearSingleSineWave(struct Sprite *); -void AnimMoveTwisterParticle(struct Sprite *); -void AnimConstrictBinding(struct Sprite *); -void AnimMimicOrb(struct Sprite *); -void AnimIngrainRoot(struct Sprite *); -void AnimFrenzyPlantRoot(struct Sprite *); -void AnimIngrainOrb(struct Sprite *); -void AnimPresent(struct Sprite *); -void AnimKnockOffItem(struct Sprite *); -void AnimPresentHealParticle(struct Sprite *); -void AnimItemSteal(struct Sprite *); -void AnimTrickBag(struct Sprite *); -void AnimFlyingParticle(struct Sprite *); -void AnimNeedleArmSpike(struct Sprite *); -void sub_81009F8(struct Sprite *); -void AnimWhipHit(struct Sprite *); -void sub_8100A94(struct Sprite *); -void AnimCuttingSlice(struct Sprite *); -void AnimAirCutterSlice(struct Sprite *); -void sub_8100E1C(struct Sprite *); -void AnimProtect(struct Sprite *); -void AnimMilkBottle(struct Sprite *); -void AnimGrantingStars(struct Sprite *); -void AnimSparkingStars(struct Sprite *); -void sub_8101440(struct Sprite *); -void AnimSleepLetterZ(struct Sprite *); -void AnimLockOnTarget(struct Sprite *); -void AnimLockOnMoveTarget(struct Sprite *); -void AnimBowMon(struct Sprite *); -void sub_8101B90(struct Sprite *); -void AnimSlashSlice(struct Sprite *); -void AnimFalseSwipeSlice(struct Sprite *); -void AnimFalseSwipePositionedSlice(struct Sprite *); -void AnimEndureEnergy(struct Sprite *); -void AnimSharpenSphere(struct Sprite *); -void AnimConversion(struct Sprite *); -void AnimConversion2(struct Sprite *); -void AnimMoon(struct Sprite *); -void AnimMoonlightSparkle(struct Sprite *); -void AnimHornHit(struct Sprite *); -void AnimSuperFang(struct Sprite *); -void AnimWavyMusicNotes(struct Sprite *); -void AnimFlyingMusicNotes(struct Sprite *); -void AnimBellyDrumHand(struct Sprite *); -void AnimSlowFlyingMusicNotes(struct Sprite *); -void AnimThoughtBubble(struct Sprite *); -void AnimMetronomeFinger(struct Sprite *); -void AnimFollowMeFinger(struct Sprite *); -void AnimTauntFinger(struct Sprite *); -static void AnimMovePowderParticleStep(struct Sprite *); -static void AnimSolarbeamSmallOrbStep(struct Sprite *); -static void AnimAbsorptionOrbStep(struct Sprite *); -static void AnimHyperBeamOrbStep(struct Sprite *); -static void AnimLeechSeedStep(struct Sprite *); +static void AnimMovePowderParticle(struct Sprite *); +static void AnimMovePowderParticle_Step(struct Sprite *); +static void AnimPowerAbsorptionOrb(struct Sprite *); +static void AnimSolarbeamBigOrb(struct Sprite *); +static void AnimSolarbeamSmallOrb(struct Sprite *); +static void AnimSolarbeamSmallOrb_Step(struct Sprite *); +static void AnimAbsorptionOrb(struct Sprite *); +static void AnimAbsorptionOrb_Step(struct Sprite *); +static void AnimHyperBeamOrb(struct Sprite *); +static void AnimHyperBeamOrb_Step(struct Sprite *); +static void AnimSporeParticle(struct Sprite *); +static void AnimSporeParticle_Step(struct Sprite *); +static void AnimPetalDanceBigFlower(struct Sprite *); +static void AnimPetalDanceBigFlower_Step(struct Sprite *); +static void AnimPetalDanceSmallFlower(struct Sprite *); +static void AnimPetalDanceSmallFlower_Step(struct Sprite *); +static void AnimRazorLeafParticle(struct Sprite *); +static void AnimRazorLeafParticle_Step1(struct Sprite *); +static void AnimRazorLeafParticle_Step2(struct Sprite *); +static void AnimLeechSeed(struct Sprite *); +static void AnimLeechSeed_Step(struct Sprite *); static void AnimLeechSeedSprouts(struct Sprite *); -static void AnimSporeParticleStep(struct Sprite *); -static void AnimPetalDanceBigFlowerStep(struct Sprite *); -static void AnimPetalDanceSmallFlowerStep(struct Sprite *); -static void AnimRazorLeafParticleStep1(struct Sprite *); -static void AnimRazorLeafParticleStep2(struct Sprite *); -static void AnimTranslateLinearSingleSineWaveStep(struct Sprite *); -static void AnimMoveTwisterParticleStep(struct Sprite *); -static void AnimConstrictBindingStep1(struct Sprite *); -static void AnimConstrictBindingStep2(struct Sprite *); -static void AnimTask_DuplicateAndShrinkToPosStep1(u8); -static void AnimTask_DuplicateAndShrinkToPosStep2(u8); -static void AnimItemStealStep3(struct Sprite *); +static void AnimTranslateLinearSingleSineWave(struct Sprite *); +static void AnimTranslateLinearSingleSineWave_Step(struct Sprite *); +static void AnimConstrictBinding(struct Sprite *); +static void AnimConstrictBinding_Step1(struct Sprite *); +static void AnimConstrictBinding_Step2(struct Sprite *); +static void AnimMimicOrb(struct Sprite *); +static void AnimIngrainRoot(struct Sprite *); +static void AnimFrenzyPlantRoot(struct Sprite *); static void AnimRootFlickerOut(struct Sprite *); -static void AnimTrickBagStep1(struct Sprite *); -static void AnimTrickBagStep2(struct Sprite *); -static void AnimTrickBagStep3(struct Sprite *); -static void AnimTask_LeafBladeStep(u8); -static s16 LeafBladeGetPosFactor(struct Sprite *); -static void AnimTask_LeafBladeStep2(struct Task *, u8); -static void AnimTask_LeafBladeStep2_Callback(struct Sprite *); -static void AnimFlyingParticleStep(struct Sprite *); -static void AnimNeedleArmSpikeStep(struct Sprite *); -static void AnimSliceStep(struct Sprite *); +static void AnimIngrainOrb(struct Sprite *); +static void AnimPresent(struct Sprite *); +static void AnimKnockOffItem(struct Sprite *); +static void AnimPresentHealParticle(struct Sprite *); +static void AnimItemSteal(struct Sprite *); +static void AnimItemSteal_Step1(struct Sprite *); +static void AnimItemSteal_Step2(struct Sprite *); +static void AnimItemSteal_Step3(struct Sprite *); +static void AnimTrickBag(struct Sprite *); +static void AnimTrickBag_Step1(struct Sprite *); +static void AnimTrickBag_Step2(struct Sprite *); +static void AnimTrickBag_Step3(struct Sprite *); +static void AnimFlyingParticle(struct Sprite *); +static void AnimFlyingParticle_Step(struct Sprite *); +static void AnimNeedleArmSpike(struct Sprite *); +static void AnimNeedleArmSpike_Step(struct Sprite *); +static void sub_81009F8(struct Sprite *); +static void AnimWhipHit(struct Sprite *); +static void sub_8100A94(struct Sprite *); +static void AnimCuttingSlice(struct Sprite *); +static void AnimAirCutterSlice(struct Sprite *); +static void AnimSlice_Step(struct Sprite *); +static void sub_8100E1C(struct Sprite *); static void sub_8100E80(struct Sprite *); -static void AnimProtectStep(struct Sprite *); -static void AnimMilkBottleStep1(struct Sprite *); -static void AnimMilkBottleStep2(struct Sprite *, int, int); +static void AnimProtect(struct Sprite *); +static void AnimProtect_Step(struct Sprite *); +static void AnimMilkBottle(struct Sprite *); +static void AnimMilkBottle_Step1(struct Sprite *); +static void AnimMilkBottle_Step2(struct Sprite *, int, int); +static void AnimGrantingStars(struct Sprite *); +static void AnimSparkingStars(struct Sprite *); +static void sub_8101440(struct Sprite *); static void sub_81014A0(struct Sprite *); -static void AnimSleepLetterZStep(struct Sprite *); -static void AnimLockOnTargetStep1(struct Sprite *); -static void AnimLockOnTargetStep2(struct Sprite *); -static void AnimLockOnTargetStep3(struct Sprite *); -static void AnimLockOnTargetStep4(struct Sprite *); -static void AnimLockOnTargetStep5(struct Sprite *); -static void AnimLockOnTargetStep6(struct Sprite *); -static void AnimBowMonStep1(struct Sprite *); -static void AnimBowMonStep1_Callback(struct Sprite *); -static void AnimBowMonStep2(struct Sprite *); -static void AnimBowMonStep3(struct Sprite *); -static void AnimBowMonStep4(struct Sprite *); -static void AnimBowMonStep3_Callback(struct Sprite *); +static void AnimSleepLetterZ(struct Sprite *); +static void AnimSleepLetterZ_Step(struct Sprite *); +static void AnimLockOnTarget(struct Sprite *); +static void AnimLockOnTarget_Step1(struct Sprite *); +static void AnimLockOnTarget_Step2(struct Sprite *); +static void AnimLockOnTarget_Step3(struct Sprite *); +static void AnimLockOnTarget_Step4(struct Sprite *); +static void AnimLockOnTarget_Step5(struct Sprite *); +static void AnimLockOnTarget_Step6(struct Sprite *); +static void AnimLockOnMoveTarget(struct Sprite *); +static void AnimBowMon(struct Sprite *); +static void AnimBowMon_Step1(struct Sprite *); +static void AnimBowMon_Step1_Callback(struct Sprite *); +static void AnimBowMon_Step2(struct Sprite *); +static void AnimBowMon_Step3(struct Sprite *); +static void AnimBowMon_Step4(struct Sprite *); +static void AnimBowMon_Step3_Callback(struct Sprite *); +static void sub_8101B90(struct Sprite *); static void sub_8101BA0(struct Sprite *); +static void AnimSlashSlice(struct Sprite *); +static void AnimFalseSwipeSlice(struct Sprite *); +static void AnimFalseSwipeSlice_Step1(struct Sprite *); +static void AnimFalseSwipeSlice_Step2(struct Sprite *); +static void AnimFalseSwipeSlice_Step3(struct Sprite *); +static void AnimFalseSwipePositionedSlice(struct Sprite *); +static void AnimEndureEnergy(struct Sprite *); +static void AnimEndureEnergy_Step(struct Sprite *); +static void AnimSharpenSphere(struct Sprite *); +static void AnimSharpenSphere_Step(struct Sprite *); +static void AnimConversion(struct Sprite *); +static void AnimConversion2(struct Sprite *); +static void AnimConversion2_Step(struct Sprite *); +static void AnimMoon(struct Sprite *); +static void AnimMoon_Step(struct Sprite *); +static void AnimMoonlightSparkle(struct Sprite *); +static void AnimMoonlightSparkle_Step(struct Sprite *); +static void AnimHornHit(struct Sprite *); +static void AnimHornHit_Step(struct Sprite *); +static void AnimSuperFang(struct Sprite *); +static void AnimWavyMusicNotes(struct Sprite *); +static void AnimWavyMusicNotes_Step(struct Sprite *); +static void AnimWavyMusicNotesGetNextPos(s16, s16, s16 *, s16 *, s8); +static void AnimFlyingMusicNotes(struct Sprite *); +static void AnimFlyingMusicNotes_Step(struct Sprite *); +static void AnimBellyDrumHand(struct Sprite *); +static void AnimSlowFlyingMusicNotes(struct Sprite *); +static void AnimSlowFlyingMusicNotes_Step(struct Sprite *); +static void AnimThoughtBubble(struct Sprite *); +static void AnimThoughtBubble_Step(struct Sprite *); +static void AnimMetronomeFinger(struct Sprite *); +static void AnimMetronomeFinger_Step(struct Sprite *); +static void AnimFollowMeFinger(struct Sprite *); +static void AnimFollowMeFinger_Step1(struct Sprite *); +static void AnimFollowMeFinger_Step2(struct Sprite *); +static void AnimTauntFinger(struct Sprite *); +static void AnimTauntFinger_Step1(struct Sprite *); +static void AnimTauntFinger_Step2(struct Sprite *); +static void AnimMoveTwisterParticle_Step(struct Sprite *); +static void AnimTask_MoonlightEndFade_Step(u8 taskId); +static void AnimTask_LeafBlade_Step(u8); +static void AnimTask_DuplicateAndShrinkToPos_Step1(u8); +static void AnimTask_DuplicateAndShrinkToPos_Step2(u8); +static s16 LeafBladeGetPosFactor(struct Sprite *); +static void AnimTask_LeafBlade_Step2(struct Task *, u8); +static void AnimTask_LeafBlade_Step2_Callback(struct Sprite *); static void AnimTask_SkullBashPositionSet(u8); static void AnimTask_SkullBashPositionReset(u8); -static void AnimFalseSwipeSliceStep1(struct Sprite *); -static void AnimFalseSwipeSliceStep2(struct Sprite *); -static void AnimFalseSwipeSliceStep3(struct Sprite *); -static void AnimEndureEnergyStep(struct Sprite *); -static void AnimSharpenSphereStep(struct Sprite *); -static void AnimConversion2Step(struct Sprite *); -static void AnimMoonStep(struct Sprite *); -static void AnimMoonlightSparkleStep(struct Sprite *); -static void AnimHornHitStep(struct Sprite *); -static void AnimTask_DoubleTeamStep(u8); -static void AnimTask_DoubleTeamCallback(struct Sprite *); -static void AnimWavyMusicNotesGetNextPos(s16, s16, s16 *, s16 *, s8); -static void AnimWavyMusicNotesStep(struct Sprite *); -static void AnimFlyingMusicNotesStep(struct Sprite *); -static void AnimSlowFlyingMusicNotesStep(struct Sprite *); -static void AnimThoughtBubbleStep(struct Sprite *); -static void AnimMetronomeFingerStep(struct Sprite *); -static void AnimFollowMeFingerStep1(struct Sprite *); -static void AnimFollowMeFingerStep2(struct Sprite *); -static void AnimTauntFingerStep1(struct Sprite *); -static void AnimTauntFingerStep2(struct Sprite *); +static void AnimTask_DoubleTeam_Step(u8); +static void AnimDoubleTeam(struct Sprite *); const union AnimCmd gPowderParticlesAnimCmds[] = { @@ -513,7 +515,7 @@ const struct SpriteTemplate gRazorLeafParticleSpriteTemplate = .callback = AnimRazorLeafParticle, }; -const struct SpriteTemplate gTwisterLeafParticleSpriteTemplate = +const struct SpriteTemplate gTwisterLeafSpriteTemplate = { .tileTag = ANIM_TAG_LEAF, .paletteTag = ANIM_TAG_LEAF, @@ -1328,7 +1330,7 @@ const struct SpriteTemplate gUnknown_08592AC4 = .callback = sub_8100E1C, }; -const struct SpriteTemplate gUnknown_08592ADC = +const struct SpriteTemplate gProtectSpriteTemplate = { .tileTag = ANIM_TAG_PROTECT, .paletteTag = ANIM_TAG_PROTECT, @@ -2189,7 +2191,7 @@ const struct SpriteTemplate gTauntFingerSpriteTemplate = // arg 3: vertical movement speed (sub-pixel value) // arg 4: wave amplitude // arg 5: wave speed -void AnimMovePowderParticle(struct Sprite* sprite) +static void AnimMovePowderParticle(struct Sprite* sprite) { sprite->pos1.x += gBattleAnimArgs[0]; sprite->pos1.y += gBattleAnimArgs[1]; @@ -2206,10 +2208,10 @@ void AnimMovePowderParticle(struct Sprite* sprite) } sprite->data[4] = gBattleAnimArgs[5]; - sprite->callback = AnimMovePowderParticleStep; + sprite->callback = AnimMovePowderParticle_Step; } -static void AnimMovePowderParticleStep(struct Sprite* sprite) +static void AnimMovePowderParticle_Step(struct Sprite* sprite) { if (sprite->data[0] > 0) { @@ -2229,7 +2231,7 @@ static void AnimMovePowderParticleStep(struct Sprite* sprite) // arg 0: initial x pixel offset // arg 1: initial y pixel offset // arg 2: duration -void AnimPowerAbsorptionOrb(struct Sprite* sprite) +static void AnimPowerAbsorptionOrb(struct Sprite* sprite) { InitSpritePosToAnimAttacker(sprite, TRUE); sprite->data[0] = gBattleAnimArgs[2]; @@ -2244,7 +2246,7 @@ void AnimPowerAbsorptionOrb(struct Sprite* sprite) // arg 1: initial y pixel offset // arg 2: duration // arg 3: sprite anim number -void AnimSolarbeamBigOrb(struct Sprite* sprite) +static void AnimSolarbeamBigOrb(struct Sprite* sprite) { InitSpritePosToAnimAttacker(sprite, TRUE); StartSpriteAnim(sprite, gBattleAnimArgs[3]); @@ -2261,7 +2263,7 @@ void AnimSolarbeamBigOrb(struct Sprite* sprite) // arg 1: initial y pixel offset // arg 2: duration // arg 3: initial wave offset -void AnimSolarbeamSmallOrb(struct Sprite* sprite) +static void AnimSolarbeamSmallOrb(struct Sprite* sprite) { InitSpritePosToAnimAttacker(sprite, TRUE); sprite->data[0] = gBattleAnimArgs[2]; @@ -2271,11 +2273,11 @@ void AnimSolarbeamSmallOrb(struct Sprite* sprite) sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET); InitAnimLinearTranslation(sprite); sprite->data[5] = gBattleAnimArgs[3]; - sprite->callback = AnimSolarbeamSmallOrbStep; + sprite->callback = AnimSolarbeamSmallOrb_Step; sprite->callback(sprite); } -static void AnimSolarbeamSmallOrbStep(struct Sprite* sprite) +static void AnimSolarbeamSmallOrb_Step(struct Sprite* sprite) { if (AnimTranslateLinear(sprite)) { @@ -2319,7 +2321,7 @@ void AnimTask_CreateSmallSolarbeamOrbs(u8 taskId) // arg 1: initial y pixel offset // arg 2: wave amplitude // arg 3: wave period (lower means faster wave) -void AnimAbsorptionOrb(struct Sprite* sprite) +static void AnimAbsorptionOrb(struct Sprite* sprite) { InitSpritePosToAnimTarget(sprite, TRUE); sprite->data[0] = gBattleAnimArgs[3]; @@ -2327,10 +2329,10 @@ void AnimAbsorptionOrb(struct Sprite* sprite) sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET); sprite->data[5] = gBattleAnimArgs[2]; InitAnimArcTranslation(sprite); - sprite->callback = AnimAbsorptionOrbStep; + sprite->callback = AnimAbsorptionOrb_Step; } -static void AnimAbsorptionOrbStep(struct Sprite* sprite) +static void AnimAbsorptionOrb_Step(struct Sprite* sprite) { if (TranslateAnimHorizontalArc(sprite)) DestroyAnimSprite(sprite); @@ -2338,7 +2340,7 @@ static void AnimAbsorptionOrbStep(struct Sprite* sprite) // Moves an orb in a wave-like fashion towards the target mon. The wave's // properties and the sprite anim are randomly determined. -void AnimHyperBeamOrb(struct Sprite* sprite) +static void AnimHyperBeamOrb(struct Sprite* sprite) { u16 speed; u16 animNum = Random2(); @@ -2360,11 +2362,11 @@ void AnimHyperBeamOrb(struct Sprite* sprite) InitAnimFastLinearTranslationWithSpeed(sprite); sprite->data[5] = Random2() & 0xFF; sprite->data[6] = sprite->subpriority; - sprite->callback = AnimHyperBeamOrbStep; + sprite->callback = AnimHyperBeamOrb_Step; sprite->callback(sprite); } -static void AnimHyperBeamOrbStep(struct Sprite* sprite) +static void AnimHyperBeamOrb_Step(struct Sprite* sprite) { if (AnimFastTranslateLinear(sprite)) { @@ -2391,7 +2393,7 @@ static void AnimHyperBeamOrbStep(struct Sprite* sprite) // arg 3: target y pixel offset // arg 4: duration // arg 5: wave amplitude -void AnimLeechSeed(struct Sprite* sprite) +static void AnimLeechSeed(struct Sprite* sprite) { InitSpritePosToAnimAttacker(sprite, TRUE); if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) @@ -2402,14 +2404,14 @@ void AnimLeechSeed(struct Sprite* sprite) sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y) + gBattleAnimArgs[3]; sprite->data[5] = gBattleAnimArgs[5]; InitAnimArcTranslation(sprite); - sprite->callback = AnimLeechSeedStep; + sprite->callback = AnimLeechSeed_Step; } -static void AnimLeechSeedStep(struct Sprite* sprite) +static void AnimLeechSeed_Step(struct Sprite* sprite) { if (TranslateAnimHorizontalArc(sprite)) { - sprite->invisible = 1; + sprite->invisible = TRUE; sprite->data[0] = 10; sprite->callback = WaitAnimForDuration; StoreSpriteCallbackInData6(sprite, AnimLeechSeedSprouts); @@ -2418,7 +2420,7 @@ static void AnimLeechSeedStep(struct Sprite* sprite) static void AnimLeechSeedSprouts(struct Sprite* sprite) { - sprite->invisible = 0; + sprite->invisible = FALSE; StartSpriteAnim(sprite, 1); sprite->data[0] = 60; sprite->callback = WaitAnimForDuration; @@ -2433,7 +2435,7 @@ static void AnimLeechSeedSprouts(struct Sprite* sprite) // arg 2: initial wave offset // arg 3: duration // arg 4: blend (0 = off, 1 = on) -void AnimSporeParticle(struct Sprite* sprite) +static void AnimSporeParticle(struct Sprite* sprite) { InitSpritePosToAnimTarget(sprite, TRUE); StartSpriteAnim(sprite, gBattleAnimArgs[4]); @@ -2442,11 +2444,11 @@ void AnimSporeParticle(struct Sprite* sprite) sprite->data[0] = gBattleAnimArgs[3]; sprite->data[1] = gBattleAnimArgs[2]; - sprite->callback = AnimSporeParticleStep; + sprite->callback = AnimSporeParticle_Step; sprite->callback(sprite); } -static void AnimSporeParticleStep(struct Sprite* sprite) +static void AnimSporeParticle_Step(struct Sprite* sprite) { sprite->pos2.x = Sin(sprite->data[1], 32); sprite->pos2.y = Cos(sprite->data[1], -3) + ((sprite->data[2] += 24) >> 8); @@ -2495,7 +2497,7 @@ void AnimTask_SporeDoubleBattle(u8 taskId) // arg 1: initial y pixel offset // arg 2: target y pixel offset // arg 3: duration -void AnimPetalDanceBigFlower(struct Sprite* sprite) +static void AnimPetalDanceBigFlower(struct Sprite* sprite) { InitSpritePosToAnimAttacker(sprite, FALSE); sprite->data[0] = gBattleAnimArgs[3]; @@ -2505,11 +2507,11 @@ void AnimPetalDanceBigFlower(struct Sprite* sprite) sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET) + gBattleAnimArgs[2]; InitAnimLinearTranslation(sprite); sprite->data[5] = 0x40; - sprite->callback = AnimPetalDanceBigFlowerStep; + sprite->callback = AnimPetalDanceBigFlower_Step; sprite->callback(sprite); } -static void AnimPetalDanceBigFlowerStep(struct Sprite* sprite) +static void AnimPetalDanceBigFlower_Step(struct Sprite* sprite) { if (!AnimTranslateLinear(sprite)) { @@ -2533,7 +2535,7 @@ static void AnimPetalDanceBigFlowerStep(struct Sprite* sprite) // arg 1: initial y pixel offset // arg 2: target y pixel offset // arg 3: duration -void AnimPetalDanceSmallFlower(struct Sprite* sprite) +static void AnimPetalDanceSmallFlower(struct Sprite* sprite) { InitSpritePosToAnimAttacker(sprite, TRUE); sprite->data[0] = gBattleAnimArgs[3]; @@ -2543,11 +2545,11 @@ void AnimPetalDanceSmallFlower(struct Sprite* sprite) sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimAttacker, 3) + gBattleAnimArgs[2]; InitAnimLinearTranslation(sprite); sprite->data[5] = 0x40; - sprite->callback = AnimPetalDanceSmallFlowerStep; + sprite->callback = AnimPetalDanceSmallFlower_Step; sprite->callback(sprite); } -static void AnimPetalDanceSmallFlowerStep(struct Sprite* sprite) +static void AnimPetalDanceSmallFlower_Step(struct Sprite* sprite) { if (!AnimTranslateLinear(sprite)) { @@ -2568,17 +2570,17 @@ static void AnimPetalDanceSmallFlowerStep(struct Sprite* sprite) // arg 0: upward x delta per frame // arg 1: upward y delta per frame // arg 2: upward duration -void AnimRazorLeafParticle(struct Sprite* sprite) +static void AnimRazorLeafParticle(struct Sprite* sprite) { sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2); sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET); sprite->data[0] = gBattleAnimArgs[0]; sprite->data[1] = gBattleAnimArgs[1]; sprite->data[2] = gBattleAnimArgs[2]; - sprite->callback = AnimRazorLeafParticleStep1; + sprite->callback = AnimRazorLeafParticle_Step1; } -static void AnimRazorLeafParticleStep1(struct Sprite* sprite) +static void AnimRazorLeafParticle_Step1(struct Sprite* sprite) { if (!sprite->data[2]) { @@ -2594,7 +2596,7 @@ static void AnimRazorLeafParticleStep1(struct Sprite* sprite) sprite->data[1] = 0; sprite->data[2] = 0; } - sprite->callback = AnimRazorLeafParticleStep2; + sprite->callback = AnimRazorLeafParticle_Step2; } else { @@ -2604,7 +2606,7 @@ static void AnimRazorLeafParticleStep1(struct Sprite* sprite) } } -static void AnimRazorLeafParticleStep2(struct Sprite* sprite) +static void AnimRazorLeafParticle_Step2(struct Sprite* sprite) { if (GetBattlerSide(gBattleAnimAttacker)) sprite->pos2.x = -Sin(sprite->data[0], 25); @@ -2631,7 +2633,7 @@ static void AnimRazorLeafParticleStep2(struct Sprite* sprite) // arg 4: translation duration // arg 5: wave amplitude // arg 6: target between double battle opponents (boolean) -void AnimTranslateLinearSingleSineWave(struct Sprite* sprite) +static void AnimTranslateLinearSingleSineWave(struct Sprite* sprite) { InitSpritePosToAnimAttacker(sprite, TRUE); if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) @@ -2657,10 +2659,10 @@ void AnimTranslateLinearSingleSineWave(struct Sprite* sprite) else sprite->data[0] = 0; - sprite->callback = AnimTranslateLinearSingleSineWaveStep; + sprite->callback = AnimTranslateLinearSingleSineWave_Step; } -static void AnimTranslateLinearSingleSineWaveStep(struct Sprite* sprite) +static void AnimTranslateLinearSingleSineWave_Step(struct Sprite* sprite) { bool8 destroy = FALSE; s16 a = sprite->data[0]; @@ -2709,10 +2711,10 @@ void AnimMoveTwisterParticle(struct Sprite* sprite) sprite->data[2] = gBattleAnimArgs[2]; sprite->data[3] = gBattleAnimArgs[3]; sprite->data[4] = gBattleAnimArgs[4]; - sprite->callback = AnimMoveTwisterParticleStep; + sprite->callback = AnimMoveTwisterParticle_Step; } -static void AnimMoveTwisterParticleStep(struct Sprite* sprite) +static void AnimMoveTwisterParticle_Step(struct Sprite* sprite) { if (sprite->data[1] == 0xFF) { @@ -2745,17 +2747,17 @@ static void AnimMoveTwisterParticleStep(struct Sprite* sprite) // arg 1: initial y pixel offset // arg 2: affine anim num // arg 3: num squeezes -void AnimConstrictBinding(struct Sprite* sprite) +static void AnimConstrictBinding(struct Sprite* sprite) { InitSpritePosToAnimTarget(sprite, FALSE); sprite->affineAnimPaused = 1; StartSpriteAffineAnim(sprite, gBattleAnimArgs[2]); sprite->data[6] = gBattleAnimArgs[2]; sprite->data[7] = gBattleAnimArgs[3]; - sprite->callback = AnimConstrictBindingStep1; + sprite->callback = AnimConstrictBinding_Step1; } -static void AnimConstrictBindingStep1(struct Sprite* sprite) +static void AnimConstrictBinding_Step1(struct Sprite* sprite) { u8 spriteId; @@ -2764,11 +2766,11 @@ static void AnimConstrictBindingStep1(struct Sprite* sprite) sprite->affineAnimPaused = 0; spriteId = GetAnimBattlerSpriteId(ANIM_TARGET); sprite->data[0] = 0x100; - sprite->callback = AnimConstrictBindingStep2; + sprite->callback = AnimConstrictBinding_Step2; } } -static void AnimConstrictBindingStep2(struct Sprite* sprite) +static void AnimConstrictBinding_Step2(struct Sprite* sprite) { u8 spriteId = GetAnimBattlerSpriteId(ANIM_TARGET); if (!sprite->data[2]) @@ -2791,7 +2793,7 @@ static void AnimConstrictBindingStep2(struct Sprite* sprite) } } -void sub_80FF458(u8 taskId) +void AnimTask_ShrinkTargetCopy(u8 taskId) { u8 spriteId = GetAnimBattlerSpriteId(ANIM_TARGET); if (gSprites[spriteId].invisible) @@ -2809,11 +2811,11 @@ void sub_80FF458(u8 taskId) gTasks[taskId].data[0] = gBattleAnimArgs[0]; gTasks[taskId].data[1] = gBattleAnimArgs[1]; gTasks[taskId].data[11] = 0x100; - gTasks[taskId].func = AnimTask_DuplicateAndShrinkToPosStep1; + gTasks[taskId].func = AnimTask_DuplicateAndShrinkToPos_Step1; } } -static void AnimTask_DuplicateAndShrinkToPosStep1(u8 taskId) +static void AnimTask_DuplicateAndShrinkToPos_Step1(u8 taskId) { u8 spriteId = GetAnimBattlerSpriteId(ANIM_TARGET); gTasks[taskId].data[10] += gTasks[taskId].data[0]; @@ -2827,11 +2829,11 @@ static void AnimTask_DuplicateAndShrinkToPosStep1(u8 taskId) if (--gTasks[taskId].data[1] == 0) { gTasks[taskId].data[0] = 0; - gTasks[taskId].func = AnimTask_DuplicateAndShrinkToPosStep2; + gTasks[taskId].func = AnimTask_DuplicateAndShrinkToPos_Step2; } } -static void AnimTask_DuplicateAndShrinkToPosStep2(u8 taskId) +static void AnimTask_DuplicateAndShrinkToPos_Step2(u8 taskId) { if ((u16)gBattleAnimArgs[7] == 0xFFFF) { @@ -2862,7 +2864,7 @@ static void AnimTask_DuplicateAndShrinkToPosStep2(u8 taskId) // Moves an orb from the target mon to the attacking mon. // arg 0: initial x pixel offset // arg 1: initial y pixel offset -void AnimMimicOrb(struct Sprite* sprite) +static void AnimMimicOrb(struct Sprite* sprite) { switch (sprite->data[0]) { @@ -2872,11 +2874,11 @@ void AnimMimicOrb(struct Sprite* sprite) sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X) + gBattleAnimArgs[0]; sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y) + gBattleAnimArgs[1]; - sprite->invisible = 1; + sprite->invisible = TRUE; sprite->data[0]++; break; case 1: - sprite->invisible = 0; + sprite->invisible = FALSE; if (sprite->affineAnimEnded) { ChangeSpriteAffineAnim(sprite, 1); @@ -2896,7 +2898,7 @@ void AnimMimicOrb(struct Sprite* sprite) // arg 2: sprite subpriority offset // arg 3: sprite anim num // arg 4: duration -void AnimIngrainRoot(struct Sprite* sprite) +static void AnimIngrainRoot(struct Sprite* sprite) { if (!sprite->data[0]) { @@ -2921,7 +2923,7 @@ void AnimIngrainRoot(struct Sprite* sprite) // arg 3: sprite subpriority offset // arg 4: sprite anum num // arg 5: duration -void AnimFrenzyPlantRoot(struct Sprite *sprite) +static void AnimFrenzyPlantRoot(struct Sprite *sprite) { s16 attackerX = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2); s16 attackerY = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET); @@ -2959,7 +2961,7 @@ static void AnimRootFlickerOut(struct Sprite* sprite) // arg 2: horizontal velocity // arg 3: wave amplitude // arg 4: duration -void AnimIngrainOrb(struct Sprite* sprite) +static void AnimIngrainOrb(struct Sprite* sprite) { if (!sprite->data[0]) { @@ -3018,7 +3020,7 @@ bool8 moveAlongLinearPath(struct Sprite* sprite) return FALSE; } -void AnimItemStealStep2(struct Sprite* sprite) +static void AnimItemSteal_Step2(struct Sprite* sprite) { if (sprite->data[0] == 10) StartSpriteAffineAnim(sprite, 1); @@ -3028,7 +3030,7 @@ void AnimItemStealStep2(struct Sprite* sprite) DestroyAnimSprite(sprite); } -static void AnimItemStealStep1(struct Sprite* sprite) +static void AnimItemSteal_Step1(struct Sprite* sprite) { sprite->data[0] += sprite->data[3] * 128 / sprite->data[4]; if (sprite->data[0] >= 128) @@ -3042,11 +3044,11 @@ static void AnimItemStealStep1(struct Sprite* sprite) { sprite->pos2.y = 0; sprite->data[0] = 0; - sprite->callback = AnimItemStealStep2; + sprite->callback = AnimItemSteal_Step2; } } -void AnimPresent(struct Sprite* sprite) +static void AnimPresent(struct Sprite* sprite) { s16 targetX; s16 targetY; @@ -3069,7 +3071,7 @@ void AnimPresent(struct Sprite* sprite) } sprite->data[4] = 60; - sprite->callback = AnimItemStealStep1; + sprite->callback = AnimItemSteal_Step1; } static void sub_80FFB90(struct Sprite* sprite) @@ -3092,7 +3094,7 @@ static void sub_80FFB90(struct Sprite* sprite) } } -void AnimKnockOffItem(struct Sprite* sprite) +static void AnimKnockOffItem(struct Sprite* sprite) { s16 targetY = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y); if (GetBattlerSide(gBattleAnimTarget) == B_SIDE_PLAYER) @@ -3102,7 +3104,7 @@ void AnimKnockOffItem(struct Sprite* sprite) sub_80FF9B8(sprite, 40); sprite->data[3] = 3; sprite->data[4] = 60; - sprite->callback = AnimItemStealStep1; + sprite->callback = AnimItemSteal_Step1; } else { @@ -3123,7 +3125,7 @@ void AnimKnockOffItem(struct Sprite* sprite) // arg 1: initial y pixel offset // arg 2: vertical velocity // arg 3: unused -void AnimPresentHealParticle(struct Sprite* sprite) +static void AnimPresentHealParticle(struct Sprite* sprite) { if (!sprite->data[0]) { @@ -3137,7 +3139,7 @@ void AnimPresentHealParticle(struct Sprite* sprite) DestroyAnimSprite(sprite); } -void AnimItemSteal(struct Sprite* sprite) +static void AnimItemSteal(struct Sprite* sprite) { s16 attackerX; s16 attackerY; @@ -3160,10 +3162,10 @@ void AnimItemSteal(struct Sprite* sprite) } sprite->data[4] = 60; - sprite->callback = AnimItemStealStep3; + sprite->callback = AnimItemSteal_Step3; } -static void AnimItemStealStep3(struct Sprite* sprite) +static void AnimItemSteal_Step3(struct Sprite* sprite) { int zero; sprite->data[0] += ((sprite->data[3] * 128) / sprite->data[4]); @@ -3182,7 +3184,7 @@ static void AnimItemStealStep3(struct Sprite* sprite) { sprite->pos2.y = 0; sprite->data[0] = 0; - sprite->callback = AnimItemStealStep2; + sprite->callback = AnimItemSteal_Step2; PlaySE12WithPanning(SE_W145B, BattleAnimAdjustPanning(-64)); } } @@ -3190,7 +3192,7 @@ static void AnimItemStealStep3(struct Sprite* sprite) // Moves a bag in a circular motion. // arg 0: y position // arg 1: initial wave offset -void AnimTrickBag(struct Sprite* sprite) +static void AnimTrickBag(struct Sprite* sprite) { int a; int b; @@ -3219,7 +3221,7 @@ void AnimTrickBag(struct Sprite* sprite) sprite->data[4] = 20; sprite->pos2.x = Cos(sprite->data[1], 60); sprite->pos2.y = Sin(sprite->data[1], 20); - sprite->callback = AnimTrickBagStep1; + sprite->callback = AnimTrickBag_Step1; if (sprite->data[1] > 0 && sprite->data[1] < 192) sprite->subpriority = 31; else @@ -3227,7 +3229,7 @@ void AnimTrickBag(struct Sprite* sprite) } } -static void AnimTrickBagStep1(struct Sprite* sprite) +static void AnimTrickBag_Step1(struct Sprite* sprite) { switch (sprite->data[3]) { @@ -3251,20 +3253,20 @@ static void AnimTrickBagStep1(struct Sprite* sprite) { sprite->data[0] = 0; sprite->data[2] = 0; - sprite->callback = AnimTrickBagStep2; + sprite->callback = AnimTrickBag_Step2; } break; } } -static void AnimTrickBagStep2(struct Sprite* sprite) +static void AnimTrickBag_Step2(struct Sprite* sprite) { if (sprite->data[2] == gTrickBagCoordinates[sprite->data[0]][1]) { if (gTrickBagCoordinates[sprite->data[0]][2] == 127) { sprite->data[0] = 0; - sprite->callback = AnimTrickBagStep3; + sprite->callback = AnimTrickBag_Step3; } sprite->data[2] = 0; @@ -3287,7 +3289,7 @@ static void AnimTrickBagStep2(struct Sprite* sprite) } } -static void AnimTrickBagStep3(struct Sprite* sprite) +static void AnimTrickBag_Step3(struct Sprite* sprite) { if (sprite->data[0] > 20) DestroyAnimSprite(sprite); @@ -3319,10 +3321,10 @@ void AnimTask_LeafBlade(u8 taskId) gSprites[task->data[2]].data[4] = task->data[7] + (task->data[11] / 2 + 10) * task->data[5]; gSprites[task->data[2]].data[5] = LeafBladeGetPosFactor(&gSprites[task->data[2]]); InitAnimArcTranslation(&gSprites[task->data[2]]); - task->func = AnimTask_LeafBladeStep; + task->func = AnimTask_LeafBlade_Step; } -static void AnimTask_LeafBladeStep(u8 taskId) +static void AnimTask_LeafBlade_Step(u8 taskId) { struct Task* task = &gTasks[taskId]; struct Sprite* sprite = &gSprites[task->data[2]]; @@ -3330,7 +3332,7 @@ static void AnimTask_LeafBladeStep(u8 taskId) switch (a) { case 4: - AnimTask_LeafBladeStep2(task, taskId); + AnimTask_LeafBlade_Step2(task, taskId); if (TranslateAnimHorizontalArc(sprite)) { task->data[15] = 5; @@ -3338,7 +3340,7 @@ static void AnimTask_LeafBladeStep(u8 taskId) } break; case 8: - AnimTask_LeafBladeStep2(task, taskId); + AnimTask_LeafBlade_Step2(task, taskId); if (TranslateAnimHorizontalArc(sprite)) { task->data[15] = 9; @@ -3346,7 +3348,7 @@ static void AnimTask_LeafBladeStep(u8 taskId) } break; case 0: - AnimTask_LeafBladeStep2(task, taskId); + AnimTask_LeafBlade_Step2(task, taskId); if (TranslateAnimHorizontalArc(sprite)) { task->data[15] = 1; @@ -3372,7 +3374,7 @@ static void AnimTask_LeafBladeStep(u8 taskId) task->data[0]++; break; case 2: - AnimTask_LeafBladeStep2(task, taskId); + AnimTask_LeafBlade_Step2(task, taskId); if (TranslateAnimHorizontalArc(sprite)) { task->data[15] = 3; @@ -3415,7 +3417,7 @@ static void AnimTask_LeafBladeStep(u8 taskId) task->data[0]++; break; case 6: - AnimTask_LeafBladeStep2(task, taskId); + AnimTask_LeafBlade_Step2(task, taskId); if (TranslateAnimHorizontalArc(sprite)) { task->data[15] = 7; @@ -3458,7 +3460,7 @@ static void AnimTask_LeafBladeStep(u8 taskId) task->data[0]++; break; case 10: - AnimTask_LeafBladeStep2(task, taskId); + AnimTask_LeafBlade_Step2(task, taskId); if (TranslateAnimHorizontalArc(sprite)) { task->data[15] = 11; @@ -3486,7 +3488,7 @@ static void AnimTask_LeafBladeStep(u8 taskId) break; } case 12: - AnimTask_LeafBladeStep2(task, taskId); + AnimTask_LeafBlade_Step2(task, taskId); if (TranslateAnimHorizontalArc(sprite)) { DestroySprite(sprite); @@ -3516,7 +3518,7 @@ static s16 LeafBladeGetPosFactor(struct Sprite* sprite) return var; } -static void AnimTask_LeafBladeStep2(struct Task* task, u8 taskId) +static void AnimTask_LeafBlade_Step2(struct Task* task, u8 taskId) { task->data[14]++; if (task->data[14] > 0) @@ -3537,12 +3539,12 @@ static void AnimTask_LeafBladeStep2(struct Task* task, u8 taskId) gTasks[taskId].data[13]++; StartSpriteAnim(&gSprites[spriteId], task->data[3]); gSprites[spriteId].subpriority = task->data[4]; - gSprites[spriteId].callback = AnimTask_LeafBladeStep2_Callback; + gSprites[spriteId].callback = AnimTask_LeafBlade_Step2_Callback; } } } -static void AnimTask_LeafBladeStep2_Callback(struct Sprite* sprite) +static void AnimTask_LeafBlade_Step2_Callback(struct Sprite* sprite) { sprite->data[0]++; if (sprite->data[0] > 1) @@ -3558,7 +3560,7 @@ static void AnimTask_LeafBladeStep2_Callback(struct Sprite* sprite) } } -void AnimFlyingParticle(struct Sprite* sprite) +static void AnimFlyingParticle(struct Sprite* sprite) { u8 battler; if (!gBattleAnimArgs[6]) @@ -3603,10 +3605,10 @@ void AnimFlyingParticle(struct Sprite* sprite) break; } - sprite->callback = AnimFlyingParticleStep; + sprite->callback = AnimFlyingParticle_Step; } -static void AnimFlyingParticleStep(struct Sprite* sprite) +static void AnimFlyingParticle_Step(struct Sprite* sprite) { int a = sprite->data[7]; sprite->data[7]++; @@ -3627,7 +3629,7 @@ static void AnimFlyingParticleStep(struct Sprite* sprite) DestroySpriteAndMatrix(sprite); } -void sub_81007C4(u8 taskId) +void AnimTask_CycleMagicalLeafPal(u8 taskId) { struct Task* task = &gTasks[taskId]; switch (task->data[0]) @@ -3657,7 +3659,7 @@ void sub_81007C4(u8 taskId) DestroyAnimVisualTask(taskId); } -void AnimNeedleArmSpike(struct Sprite* sprite) +static void AnimNeedleArmSpike(struct Sprite* sprite) { u8 a; u8 b; @@ -3709,11 +3711,11 @@ void AnimNeedleArmSpike(struct Sprite* sprite) c -= 0x8000; TrySetSpriteRotScale(sprite, 0, 0x100, 0x100, c); - sprite->callback = AnimNeedleArmSpikeStep; + sprite->callback = AnimNeedleArmSpike_Step; } } -static void AnimNeedleArmSpikeStep(struct Sprite* sprite) +static void AnimNeedleArmSpike_Step(struct Sprite* sprite) { if (sprite->data[0]) { @@ -3735,7 +3737,7 @@ static void sub_81009DC(struct Sprite* sprite) DestroyAnimSprite(sprite); } -void sub_81009F8(struct Sprite* sprite) +static void sub_81009F8(struct Sprite* sprite) { if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) { @@ -3752,7 +3754,7 @@ void sub_81009F8(struct Sprite* sprite) StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); } -void AnimWhipHit(struct Sprite* sprite) +static void AnimWhipHit(struct Sprite* sprite) { if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER) StartSpriteAnim(sprite, 1); @@ -3762,7 +3764,7 @@ void AnimWhipHit(struct Sprite* sprite) sprite->pos1.y += gBattleAnimArgs[1]; } -void sub_8100A94(struct Sprite* sprite) +static void sub_8100A94(struct Sprite* sprite) { sprite->pos1.x += gBattleAnimArgs[0]; sprite->pos1.y += gBattleAnimArgs[1]; @@ -3780,14 +3782,14 @@ void sub_8100A94(struct Sprite* sprite) // arg 0: initial x pixel offset // arg 1: initial y pixel offset // arg 2: slice direction; 0 = right-to-left, 1 = left-to-right -void AnimCuttingSlice(struct Sprite* sprite) +static void AnimCuttingSlice(struct Sprite* sprite) { sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, 0); sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, 1); if (GetBattlerSide(gBattleAnimTarget) == B_SIDE_PLAYER) sprite->pos1.y += 8; - sprite->callback = AnimSliceStep; + sprite->callback = AnimSlice_Step; if (gBattleAnimArgs[2] == 0) { sprite->pos1.x += gBattleAnimArgs[0]; @@ -3806,7 +3808,7 @@ void AnimCuttingSlice(struct Sprite* sprite) sprite->data[1] = -sprite->data[1]; } -void AnimAirCutterSlice(struct Sprite* sprite) +static void AnimAirCutterSlice(struct Sprite* sprite) { u8 a; u8 b; @@ -3837,7 +3839,7 @@ void AnimAirCutterSlice(struct Sprite* sprite) if (GetBattlerSide(gBattleAnimTarget) == B_SIDE_PLAYER) sprite->pos1.y += 8; - sprite->callback = AnimSliceStep; + sprite->callback = AnimSlice_Step; if (gBattleAnimArgs[2] == 0) { sprite->pos1.x += gBattleAnimArgs[0]; @@ -3856,7 +3858,7 @@ void AnimAirCutterSlice(struct Sprite* sprite) sprite->data[1] = -sprite->data[1]; } -static void AnimSliceStep(struct Sprite* sprite) +static void AnimSlice_Step(struct Sprite* sprite) { sprite->data[3] += sprite->data[1]; sprite->data[4] += sprite->data[2]; @@ -3883,15 +3885,15 @@ void unref_sub_8100D38(struct Sprite* sprite) { if (sprite->data[3] & 1) { - sprite->invisible = 0; - gSprites[sprite->data[0]].invisible = 0; - gSprites[sprite->data[1]].invisible = 0; + sprite->invisible = FALSE; + gSprites[sprite->data[0]].invisible = FALSE; + gSprites[sprite->data[1]].invisible = FALSE; } else { - sprite->invisible = 1; - gSprites[sprite->data[0]].invisible = 1; - gSprites[sprite->data[1]].invisible = 1; + sprite->invisible = TRUE; + gSprites[sprite->data[0]].invisible = TRUE; + gSprites[sprite->data[1]].invisible = TRUE; } sprite->data[2] = 0; @@ -3910,7 +3912,7 @@ void unref_sub_8100D38(struct Sprite* sprite) } } -void sub_8100E1C(struct Sprite* sprite) +static void sub_8100E1C(struct Sprite* sprite) { sprite->data[0] = gBattleAnimArgs[2]; if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) @@ -3943,7 +3945,7 @@ static void sub_8100E80(struct Sprite* sprite) DestroyAnimSprite(sprite); } -void AnimProtect(struct Sprite* sprite) +static void AnimProtect(struct Sprite* sprite) { if (IsContest()) gBattleAnimArgs[1] += 8; @@ -3960,10 +3962,10 @@ void AnimProtect(struct Sprite* sprite) sprite->data[7] = 16; SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT2_ALL | BLDCNT_EFFECT_BLEND); SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(16 - sprite->data[7], sprite->data[7])); - sprite->callback = AnimProtectStep; + sprite->callback = AnimProtect_Step; } -static void AnimProtectStep(struct Sprite *sprite) +static void AnimProtect_Step(struct Sprite *sprite) { int a; int i; @@ -4000,13 +4002,13 @@ static void AnimProtectStep(struct Sprite *sprite) SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(16 - sprite->data[7], sprite->data[7])); if (sprite->data[7] == 16) { - sprite->invisible = 1; + sprite->invisible = TRUE; sprite->callback = DestroyAnimSpriteAndDisableBlend; } } } -void AnimMilkBottle(struct Sprite* sprite) +static void AnimMilkBottle(struct Sprite* sprite) { sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, 2); sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + 0xFFE8; @@ -4019,10 +4021,10 @@ void AnimMilkBottle(struct Sprite* sprite) sprite->data[7] = 16; SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT2_ALL | BLDCNT_EFFECT_BLEND); SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(sprite->data[6], sprite->data[7])); - sprite->callback = AnimMilkBottleStep1; + sprite->callback = AnimMilkBottle_Step1; } -static void AnimMilkBottleStep1(struct Sprite* sprite) +static void AnimMilkBottle_Step1(struct Sprite* sprite) { switch (sprite->data[0]) { @@ -4055,7 +4057,7 @@ static void AnimMilkBottleStep1(struct Sprite* sprite) } break; case 2: - AnimMilkBottleStep2(sprite, 16, 4); + AnimMilkBottle_Step2(sprite, 16, 4); if (++sprite->data[1] > 2) { sprite->data[1] = 0; @@ -4084,7 +4086,7 @@ static void AnimMilkBottleStep1(struct Sprite* sprite) } break; case 3: - sprite->invisible = 1; + sprite->invisible = TRUE; sprite->data[0]++; break; case 4: @@ -4095,7 +4097,7 @@ static void AnimMilkBottleStep1(struct Sprite* sprite) } } -static void AnimMilkBottleStep2(struct Sprite* sprite, int unk1, int unk2) +static void AnimMilkBottle_Step2(struct Sprite* sprite, int unk1, int unk2) { if (sprite->data[3] <= 11) sprite->data[4] += 2; @@ -4116,7 +4118,7 @@ static void AnimMilkBottleStep2(struct Sprite* sprite, int unk1, int unk2) sprite->data[3] = 0; } -void AnimGrantingStars(struct Sprite* sprite) +static void AnimGrantingStars(struct Sprite* sprite) { if (!gBattleAnimArgs[2]) SetSpriteCoordsToAnimAttackerCoords(sprite); @@ -4130,7 +4132,7 @@ void AnimGrantingStars(struct Sprite* sprite) sprite->callback = TranslateSpriteLinearFixedPoint; } -void AnimSparkingStars(struct Sprite* sprite) +static void AnimSparkingStars(struct Sprite* sprite) { u8 battler; if (!gBattleAnimArgs[2]) @@ -4167,7 +4169,7 @@ void AnimSparkingStars(struct Sprite* sprite) sprite->callback = TranslateSpriteLinearFixedPoint; } -void sub_8101440(struct Sprite* sprite) +static void sub_8101440(struct Sprite* sprite) { SetSpriteCoordsToAnimAttackerCoords(sprite); if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER) @@ -4198,7 +4200,7 @@ static void sub_81014A0(struct Sprite* sprite) DestroyAnimSprite(sprite); } -void AnimSleepLetterZ(struct Sprite* sprite) +static void AnimSleepLetterZ(struct Sprite* sprite) { SetSpriteCoordsToAnimAttackerCoords(sprite); if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER) @@ -4215,10 +4217,10 @@ void AnimSleepLetterZ(struct Sprite* sprite) StartSpriteAffineAnim(sprite, 1); } - sprite->callback = AnimSleepLetterZStep; + sprite->callback = AnimSleepLetterZ_Step; } -static void AnimSleepLetterZStep(struct Sprite* sprite) +static void AnimSleepLetterZ_Step(struct Sprite* sprite) { sprite->pos2.y = -(sprite->data[0] / 0x28); sprite->pos2.x = sprite->data[4] / 10; @@ -4228,23 +4230,23 @@ static void AnimSleepLetterZStep(struct Sprite* sprite) DestroySpriteAndMatrix(sprite); } -void AnimLockOnTarget(struct Sprite* sprite) +static void AnimLockOnTarget(struct Sprite* sprite) { sprite->pos1.x -= 32; sprite->pos1.y -= 32; sprite->data[0] = 20; sprite->callback = WaitAnimForDuration; - StoreSpriteCallbackInData6(sprite, AnimLockOnTargetStep1); + StoreSpriteCallbackInData6(sprite, AnimLockOnTarget_Step1); } -static void AnimLockOnTargetStep1(struct Sprite* sprite) +static void AnimLockOnTarget_Step1(struct Sprite* sprite) { switch (sprite->data[5] & 1) { case 0: sprite->data[0] = 1; sprite->callback = WaitAnimForDuration; - StoreSpriteCallbackInData6(sprite, AnimLockOnTargetStep1); + StoreSpriteCallbackInData6(sprite, AnimLockOnTarget_Step1); break; case 1: sprite->pos1.x += sprite->pos2.x; @@ -4255,7 +4257,7 @@ static void AnimLockOnTargetStep1(struct Sprite* sprite) sprite->data[2] = sprite->pos1.x + gInclineMonCoordTable[sprite->data[5] >> 8][0]; sprite->data[4] = sprite->pos1.y + gInclineMonCoordTable[sprite->data[5] >> 8][1]; sprite->callback = StartAnimLinearTranslation; - StoreSpriteCallbackInData6(sprite, AnimLockOnTargetStep2); + StoreSpriteCallbackInData6(sprite, AnimLockOnTarget_Step2); sprite->data[5] += 0x100; PlaySE12WithPanning(SE_W199, BattleAnimAdjustPanning(63)); break; @@ -4264,21 +4266,21 @@ static void AnimLockOnTargetStep1(struct Sprite* sprite) sprite->data[5] ^= 1; } -static void AnimLockOnTargetStep2(struct Sprite* sprite) +static void AnimLockOnTarget_Step2(struct Sprite* sprite) { if ((sprite->data[5] >> 8) == 4) { sprite->data[0] = 10; sprite->callback = WaitAnimForDuration; - StoreSpriteCallbackInData6(sprite, AnimLockOnTargetStep3); + StoreSpriteCallbackInData6(sprite, AnimLockOnTarget_Step3); } else { - sprite->callback = AnimLockOnTargetStep1; + sprite->callback = AnimLockOnTarget_Step1; } } -static void AnimLockOnTargetStep3(struct Sprite* sprite) +static void AnimLockOnTarget_Step3(struct Sprite* sprite) { s16 a; s16 b; @@ -4288,7 +4290,7 @@ static void AnimLockOnTargetStep3(struct Sprite* sprite) sprite->data[1] = 0; sprite->data[2] = 0; sprite->callback = WaitAnimForDuration; - StoreSpriteCallbackInData6(sprite, AnimLockOnTargetStep4); + StoreSpriteCallbackInData6(sprite, AnimLockOnTarget_Step4); } else { @@ -4320,11 +4322,11 @@ static void AnimLockOnTargetStep3(struct Sprite* sprite) sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2) + a; sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + b; sprite->callback = StartAnimLinearTranslation; - StoreSpriteCallbackInData6(sprite, AnimLockOnTargetStep5); + StoreSpriteCallbackInData6(sprite, AnimLockOnTarget_Step5); } } -static void AnimLockOnTargetStep4(struct Sprite* sprite) +static void AnimLockOnTarget_Step4(struct Sprite* sprite) { if (sprite->data[2] == 0) { @@ -4347,21 +4349,21 @@ static void AnimLockOnTargetStep4(struct Sprite* sprite) } else if (sprite->data[1] == 0) { - sprite->callback = AnimLockOnTargetStep5; + sprite->callback = AnimLockOnTarget_Step5; } } -static void AnimLockOnTargetStep5(struct Sprite* sprite) +static void AnimLockOnTarget_Step5(struct Sprite* sprite) { if ((u16)gBattleAnimArgs[7] == 0xFFFF) { sprite->data[1] = 0; sprite->data[0] = 0; - sprite->callback = AnimLockOnTargetStep6; + sprite->callback = AnimLockOnTarget_Step6; } } -static void AnimLockOnTargetStep6(struct Sprite* sprite) +static void AnimLockOnTarget_Step6(struct Sprite* sprite) { if (sprite->data[0] % 3 == 0) { @@ -4374,7 +4376,7 @@ static void AnimLockOnTargetStep6(struct Sprite* sprite) DestroyAnimSprite(sprite); } -void AnimLockOnMoveTarget(struct Sprite* sprite) +static void AnimLockOnMoveTarget(struct Sprite* sprite) { sprite->oam.affineParam = gBattleAnimArgs[0]; if ((s16)sprite->oam.affineParam == 1) @@ -4406,38 +4408,38 @@ void AnimLockOnMoveTarget(struct Sprite* sprite) sprite->callback(sprite); } -void AnimBowMon(struct Sprite* sprite) +static void AnimBowMon(struct Sprite* sprite) { - sprite->invisible = 1; + sprite->invisible = TRUE; sprite->data[0] = 0; switch (gBattleAnimArgs[0]) { case 0: - sprite->callback = AnimBowMonStep1; + sprite->callback = AnimBowMon_Step1; break; case 1: - sprite->callback = AnimBowMonStep2; + sprite->callback = AnimBowMon_Step2; break; case 2: - sprite->callback = AnimBowMonStep3; + sprite->callback = AnimBowMon_Step3; break; default: - sprite->callback = AnimBowMonStep4; + sprite->callback = AnimBowMon_Step4; break; } } -static void AnimBowMonStep1(struct Sprite* sprite) +static void AnimBowMon_Step1(struct Sprite* sprite) { sprite->data[0] = 6; sprite->data[1] = (GetBattlerSide(gBattleAnimAttacker)) ? 2 : -2; sprite->data[2] = 0; sprite->data[3] = gBattlerSpriteIds[gBattleAnimAttacker]; - StoreSpriteCallbackInData6(sprite, AnimBowMonStep1_Callback); + StoreSpriteCallbackInData6(sprite, AnimBowMon_Step1_Callback); sprite->callback = TranslateMonSpriteLinear; } -static void AnimBowMonStep1_Callback(struct Sprite* sprite) +static void AnimBowMon_Step1_Callback(struct Sprite* sprite) { if (sprite->data[0] == 0) { @@ -4453,30 +4455,30 @@ static void AnimBowMonStep1_Callback(struct Sprite* sprite) if (++sprite->data[0] > 3) { sprite->data[0] = 0; - sprite->callback = AnimBowMonStep4; + sprite->callback = AnimBowMon_Step4; } } -static void AnimBowMonStep2(struct Sprite* sprite) +static void AnimBowMon_Step2(struct Sprite* sprite) { sprite->data[0] = 4; sprite->data[1] = (GetBattlerSide(gBattleAnimAttacker)) ? -3 : 3; sprite->data[2] = 0; sprite->data[3] = gBattlerSpriteIds[gBattleAnimAttacker]; - StoreSpriteCallbackInData6(sprite, AnimBowMonStep4); + StoreSpriteCallbackInData6(sprite, AnimBowMon_Step4); sprite->callback = TranslateMonSpriteLinear; } -static void AnimBowMonStep3(struct Sprite* sprite) +static void AnimBowMon_Step3(struct Sprite* sprite) { if (++sprite->data[0] > 8) { sprite->data[0] = 0; - sprite->callback = AnimBowMonStep3_Callback; + sprite->callback = AnimBowMon_Step3_Callback; } } -static void AnimBowMonStep3_Callback(struct Sprite* sprite) +static void AnimBowMon_Step3_Callback(struct Sprite* sprite) { if (sprite->data[0] == 0) { @@ -4500,16 +4502,16 @@ static void AnimBowMonStep3_Callback(struct Sprite* sprite) if (++sprite->data[0] > 2) { ResetSpriteRotScale(sprite->data[3]); - sprite->callback = AnimBowMonStep4; + sprite->callback = AnimBowMon_Step4; } } -static void AnimBowMonStep4(struct Sprite* sprite) +static void AnimBowMon_Step4(struct Sprite* sprite) { DestroyAnimSprite(sprite); } -void sub_8101B90(struct Sprite *sprite) +static void sub_8101B90(struct Sprite *sprite) { sprite->data[0] = 0; sprite->callback = sub_8101BA0; @@ -4698,7 +4700,7 @@ static void AnimTask_SkullBashPositionReset(u8 taskId) } } -void AnimSlashSlice(struct Sprite* sprite) +static void AnimSlashSlice(struct Sprite* sprite) { if (gBattleAnimArgs[0] == 0) { @@ -4713,48 +4715,48 @@ void AnimSlashSlice(struct Sprite* sprite) sprite->data[0] = 0; sprite->data[1] = 0; - StoreSpriteCallbackInData6(sprite, AnimFalseSwipeSliceStep3); + StoreSpriteCallbackInData6(sprite, AnimFalseSwipeSlice_Step3); sprite->callback = RunStoredCallbackWhenAnimEnds; } -void AnimFalseSwipeSlice(struct Sprite* sprite) +static void AnimFalseSwipeSlice(struct Sprite* sprite) { sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, 2) + 0xFFD0; sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, 3); - StoreSpriteCallbackInData6(sprite, AnimFalseSwipeSliceStep1); + StoreSpriteCallbackInData6(sprite, AnimFalseSwipeSlice_Step1); sprite->callback = RunStoredCallbackWhenAnimEnds; } -void AnimFalseSwipePositionedSlice(struct Sprite* sprite) +static void AnimFalseSwipePositionedSlice(struct Sprite* sprite) { sprite->pos1.x = sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, 2) + 0xFFD0 + gBattleAnimArgs[0]; sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, 3); StartSpriteAnim(sprite, 1); sprite->data[0] = 0; sprite->data[1] = 0; - sprite->callback = AnimFalseSwipeSliceStep3; + sprite->callback = AnimFalseSwipeSlice_Step3; } -static void AnimFalseSwipeSliceStep1(struct Sprite* sprite) +static void AnimFalseSwipeSlice_Step1(struct Sprite* sprite) { if (++sprite->data[0] > 8) { sprite->data[0] = 12; sprite->data[1] = 8; sprite->data[2] = 0; - StoreSpriteCallbackInData6(sprite, AnimFalseSwipeSliceStep2); + StoreSpriteCallbackInData6(sprite, AnimFalseSwipeSlice_Step2); sprite->callback = TranslateSpriteLinear; } } -static void AnimFalseSwipeSliceStep2(struct Sprite* sprite) +static void AnimFalseSwipeSlice_Step2(struct Sprite* sprite) { sprite->data[0] = 0; sprite->data[1] = 0; - sprite->callback = AnimFalseSwipeSliceStep3; + sprite->callback = AnimFalseSwipeSlice_Step3; } -static void AnimFalseSwipeSliceStep3(struct Sprite* sprite) +static void AnimFalseSwipeSlice_Step3(struct Sprite* sprite) { if (++sprite->data[0] > 1) { @@ -4765,7 +4767,7 @@ static void AnimFalseSwipeSliceStep3(struct Sprite* sprite) } } -void AnimEndureEnergy(struct Sprite* sprite) +static void AnimEndureEnergy(struct Sprite* sprite) { if (gBattleAnimArgs[0] == 0) { @@ -4780,10 +4782,10 @@ void AnimEndureEnergy(struct Sprite* sprite) sprite->data[0] = 0; sprite->data[1] = gBattleAnimArgs[3]; - sprite->callback = AnimEndureEnergyStep; + sprite->callback = AnimEndureEnergy_Step; } -static void AnimEndureEnergyStep(struct Sprite* sprite) +static void AnimEndureEnergy_Step(struct Sprite* sprite) { if (++sprite->data[0] > sprite->data[1]) { @@ -4796,7 +4798,7 @@ static void AnimEndureEnergyStep(struct Sprite* sprite) DestroyAnimSprite(sprite); } -void AnimSharpenSphere(struct Sprite* sprite) +static void AnimSharpenSphere(struct Sprite* sprite) { sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2); sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3) - 12; @@ -4806,10 +4808,10 @@ void AnimSharpenSphere(struct Sprite* sprite) sprite->data[3] = 0; sprite->data[4] = 0; sprite->data[5] = BattleAnimAdjustPanning(-64); - sprite->callback = AnimSharpenSphereStep; + sprite->callback = AnimSharpenSphere_Step; } -static void AnimSharpenSphereStep(struct Sprite* sprite) +static void AnimSharpenSphere_Step(struct Sprite* sprite) { if (++sprite->data[0] >= sprite->data[1]) { @@ -4833,7 +4835,7 @@ static void AnimSharpenSphereStep(struct Sprite* sprite) DestroyAnimSprite(sprite); } -void AnimConversion(struct Sprite* sprite) +static void AnimConversion(struct Sprite* sprite) { if (sprite->data[0] == 0) { @@ -4873,15 +4875,15 @@ void AnimTask_ConversionAlphaBlend(u8 taskId) } } -void AnimConversion2(struct Sprite* sprite) +static void AnimConversion2(struct Sprite* sprite) { InitSpritePosToAnimTarget(sprite, FALSE); sprite->animPaused = 1; sprite->data[0] = gBattleAnimArgs[2]; - sprite->callback = AnimConversion2Step; + sprite->callback = AnimConversion2_Step; } -static void AnimConversion2Step(struct Sprite* sprite) +static void AnimConversion2_Step(struct Sprite* sprite) { if (sprite->data[0]) { @@ -4934,7 +4936,7 @@ void unref_sub_81024A8(u8 taskId) DestroyAnimVisualTask(taskId); } -void AnimMoon(struct Sprite* sprite) +static void AnimMoon(struct Sprite* sprite) { if (IsContest()) { @@ -4950,16 +4952,16 @@ void AnimMoon(struct Sprite* sprite) sprite->oam.shape = SPRITE_SHAPE(64x64); sprite->oam.size = SPRITE_SIZE(64x64); sprite->data[0] = 0; - sprite->callback = AnimMoonStep; + sprite->callback = AnimMoon_Step; } -static void AnimMoonStep(struct Sprite* sprite) +static void AnimMoon_Step(struct Sprite* sprite) { if (sprite->data[0]) DestroyAnimSprite(sprite); } -void AnimMoonlightSparkle(struct Sprite* sprite) +static void AnimMoonlightSparkle(struct Sprite* sprite) { sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2) + gBattleAnimArgs[0]; sprite->pos1.y = gBattleAnimArgs[1]; @@ -4968,10 +4970,10 @@ void AnimMoonlightSparkle(struct Sprite* sprite) sprite->data[2] = 0; sprite->data[3] = 0; sprite->data[4] = 1; - sprite->callback = AnimMoonlightSparkleStep; + sprite->callback = AnimMoonlightSparkle_Step; } -static void AnimMoonlightSparkleStep(struct Sprite* sprite) +static void AnimMoonlightSparkle_Step(struct Sprite* sprite) { if (++sprite->data[1] > 1) { @@ -4987,10 +4989,7 @@ static void AnimMoonlightSparkleStep(struct Sprite* sprite) DestroyAnimSprite(sprite); } -void AnimTask_FadeScreenBlueStep(u8); - - -void AnimTask_FadeScreenBlue(u8 taskId) +void AnimTask_MoonlightEndFade(u8 taskId) { int a = sub_80A75AC(1, 0, 0, 0, 0, 0, 0) & 0xFFFF; int b; @@ -5013,11 +5012,11 @@ void AnimTask_FadeScreenBlue(u8 taskId) b = b | (0x10000 << IndexOfSpritePaletteTag(ANIM_TAG_MOON)); d = IndexOfSpritePaletteTag(ANIM_TAG_GREEN_SPARKLE); BeginNormalPaletteFade((0x10000 << d) | b, 0, 0, 16, RGB(27, 29, 31)); - gTasks[taskId].func = AnimTask_FadeScreenBlueStep; + gTasks[taskId].func = AnimTask_MoonlightEndFade_Step; gTasks[taskId].func(taskId); } -void AnimTask_FadeScreenBlueStep(u8 taskId) +static void AnimTask_MoonlightEndFade_Step(u8 taskId) { struct Task* task = &gTasks[taskId]; switch (task->data[0]) @@ -5095,7 +5094,7 @@ void AnimTask_FadeScreenBlueStep(u8 taskId) } } -void AnimHornHit(struct Sprite* sprite) +static void AnimHornHit(struct Sprite* sprite) { if (gBattleAnimArgs[2] < 2) gBattleAnimArgs[2] = 2; @@ -5139,10 +5138,10 @@ void AnimHornHit(struct Sprite* sprite) sprite->oam.matrixNum = (ST_OAM_HFLIP | ST_OAM_VFLIP); } - sprite->callback = AnimHornHitStep; + sprite->callback = AnimHornHit_Step; } -static void AnimHornHitStep(struct Sprite* sprite) +static void AnimHornHit_Step(struct Sprite* sprite) { sprite->data[2] += sprite->data[3]; sprite->data[4] += sprite->data[5]; @@ -5181,19 +5180,19 @@ void AnimTask_DoubleTeam(u8 taskId) gSprites[obj].data[0] = 0; gSprites[obj].data[1] = i << 7; gSprites[obj].data[2] = taskId; - gSprites[obj].callback = AnimTask_DoubleTeamCallback; + gSprites[obj].callback = AnimDoubleTeam; task->data[3]++; i++; } - task->func = AnimTask_DoubleTeamStep; + task->func = AnimTask_DoubleTeam_Step; if (GetBattlerSpriteBGPriorityRank(gBattleAnimAttacker) == 1) ClearGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_BG1_ON); else ClearGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_BG2_ON); } -static void AnimTask_DoubleTeamStep(u8 taskId) +static void AnimTask_DoubleTeam_Step(u8 taskId) { struct Task* task = &gTasks[taskId]; if (!task->data[3]) @@ -5208,7 +5207,7 @@ static void AnimTask_DoubleTeamStep(u8 taskId) } } -static void AnimTask_DoubleTeamCallback(struct Sprite* sprite) +static void AnimDoubleTeam(struct Sprite* sprite) { if (++sprite->data[3] > 1) { @@ -5230,7 +5229,7 @@ static void AnimTask_DoubleTeamCallback(struct Sprite* sprite) } } -void AnimSuperFang(struct Sprite* sprite) +static void AnimSuperFang(struct Sprite* sprite) { StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); sprite->callback = RunStoredCallbackWhenAnimEnds; @@ -5273,7 +5272,7 @@ void AnimTask_MusicNotesClearRainbowBlend(u8 taskId) DestroyAnimVisualTask(taskId); } -void AnimWavyMusicNotes(struct Sprite* sprite) +static void AnimWavyMusicNotes(struct Sprite* sprite) { u8 index; u8 a; @@ -5300,7 +5299,7 @@ void AnimWavyMusicNotes(struct Sprite* sprite) sprite->data[4] = sprite->pos1.x << 4; sprite->data[5] = sprite->pos1.y << 4; AnimWavyMusicNotesGetNextPos(a - sprite->pos1.x, b - sprite->pos1.y, &sprite->data[6], &sprite->data[7], 40); - sprite->callback = AnimWavyMusicNotesStep; + sprite->callback = AnimWavyMusicNotes_Step; } static void AnimWavyMusicNotesGetNextPos(s16 a, s16 b, s16* c, s16* d, s8 e) @@ -5319,7 +5318,7 @@ static void AnimWavyMusicNotesGetNextPos(s16 a, s16 b, s16* c, s16* d, s8 e) *d = (b << 8) / g; } -static void AnimWavyMusicNotesStep(struct Sprite* sprite) +static void AnimWavyMusicNotes_Step(struct Sprite* sprite) { s16 y, yDelta; u8 index; @@ -5352,7 +5351,7 @@ static void AnimWavyMusicNotesStep(struct Sprite* sprite) } } -void AnimFlyingMusicNotes(struct Sprite* sprite) +static void AnimFlyingMusicNotes(struct Sprite* sprite) { if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_OPPONENT) gBattleAnimArgs[1] *= -1; @@ -5366,10 +5365,10 @@ void AnimFlyingMusicNotes(struct Sprite* sprite) sprite->data[5] = sprite->pos1.y << 4; sprite->data[6] = (gBattleAnimArgs[1] << 4) / 5; sprite->data[7] = (gBattleAnimArgs[2] << 7) / 5; - sprite->callback = AnimFlyingMusicNotesStep; + sprite->callback = AnimFlyingMusicNotes_Step; } -static void AnimFlyingMusicNotesStep(struct Sprite* sprite) +static void AnimFlyingMusicNotes_Step(struct Sprite* sprite) { sprite->data[4] += sprite->data[6]; sprite->data[5] += sprite->data[7]; @@ -5388,7 +5387,7 @@ static void AnimFlyingMusicNotesStep(struct Sprite* sprite) DestroySpriteAndMatrix(sprite); } -void AnimBellyDrumHand(struct Sprite* sprite) +static void AnimBellyDrumHand(struct Sprite* sprite) { s16 a; if (gBattleAnimArgs[0] == 1) @@ -5427,10 +5426,10 @@ void AnimSlowFlyingMusicNotes(struct Sprite* sprite) sprite->data[4] = sprite->data[3] - 40; InitAnimLinearTranslation(sprite); sprite->data[5] = gBattleAnimArgs[3]; - sprite->callback = AnimSlowFlyingMusicNotesStep; + sprite->callback = AnimSlowFlyingMusicNotes_Step; } -static void AnimSlowFlyingMusicNotesStep(struct Sprite* sprite) +static void AnimSlowFlyingMusicNotes_Step(struct Sprite* sprite) { if (AnimTranslateLinear(sprite) == 0) { @@ -5459,7 +5458,7 @@ void SetSpriteNextToMonHead(u8 battler, struct Sprite* sprite) sprite->pos1.y = GetBattlerSpriteCoord(battler, 3) - (s16)GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_HEIGHT) / 4; } -void AnimThoughtBubble(struct Sprite* sprite) +static void AnimThoughtBubble(struct Sprite* sprite) { u8 a; u8 battler; @@ -5473,11 +5472,11 @@ void AnimThoughtBubble(struct Sprite* sprite) sprite->data[0] = gBattleAnimArgs[1]; sprite->data[1] = a + 2; StartSpriteAnim(sprite, a); - StoreSpriteCallbackInData6(sprite, AnimThoughtBubbleStep); + StoreSpriteCallbackInData6(sprite, AnimThoughtBubble_Step); sprite->callback = RunStoredCallbackWhenAnimEnds; } -static void AnimThoughtBubbleStep(struct Sprite* sprite) +static void AnimThoughtBubble_Step(struct Sprite* sprite) { if (--sprite->data[0] == 0) { @@ -5487,7 +5486,7 @@ static void AnimThoughtBubbleStep(struct Sprite* sprite) } } -void AnimMetronomeFinger(struct Sprite* sprite) +static void AnimMetronomeFinger(struct Sprite* sprite) { u8 battler; if (gBattleAnimArgs[0] == 0) @@ -5497,11 +5496,11 @@ void AnimMetronomeFinger(struct Sprite* sprite) SetSpriteNextToMonHead(battler, sprite); sprite->data[0] = 0; - StoreSpriteCallbackInData6(sprite, AnimMetronomeFingerStep); + StoreSpriteCallbackInData6(sprite, AnimMetronomeFinger_Step); sprite->callback = RunStoredCallbackWhenAffineAnimEnds; } -static void AnimMetronomeFingerStep(struct Sprite* sprite) +static void AnimMetronomeFinger_Step(struct Sprite* sprite) { if (++sprite->data[0] > 16) { @@ -5511,7 +5510,7 @@ static void AnimMetronomeFingerStep(struct Sprite* sprite) } } -void AnimFollowMeFinger(struct Sprite* sprite) +static void AnimFollowMeFinger(struct Sprite* sprite) { u8 battler; if (gBattleAnimArgs[0] == 0) @@ -5529,17 +5528,17 @@ void AnimFollowMeFinger(struct Sprite* sprite) sprite->data[2] = sprite->subpriority; sprite->data[3] = sprite->subpriority + 4; sprite->data[4] = 0; - StoreSpriteCallbackInData6(sprite, AnimFollowMeFingerStep1); + StoreSpriteCallbackInData6(sprite, AnimFollowMeFinger_Step1); sprite->callback = RunStoredCallbackWhenAffineAnimEnds; } -static void AnimFollowMeFingerStep1(struct Sprite* sprite) +static void AnimFollowMeFinger_Step1(struct Sprite* sprite) { if (++sprite->data[4] > 12) - sprite->callback = AnimFollowMeFingerStep2; + sprite->callback = AnimFollowMeFinger_Step2; } -static void AnimFollowMeFingerStep2(struct Sprite* sprite) +static void AnimFollowMeFinger_Step2(struct Sprite* sprite) { s16 x1, x2; @@ -5549,7 +5548,7 @@ static void AnimFollowMeFingerStep2(struct Sprite* sprite) if (--sprite->data[0] == 0) { sprite->pos2.x = 0; - sprite->callback = AnimMetronomeFingerStep; + sprite->callback = AnimMetronomeFinger_Step; return; } else @@ -5569,7 +5568,7 @@ static void AnimFollowMeFingerStep2(struct Sprite* sprite) sprite->pos2.x = (x1 >> 3) + (x2 >> 1); } -void AnimTauntFinger(struct Sprite* sprite) +static void AnimTauntFinger(struct Sprite* sprite) { u8 battler; if (gBattleAnimArgs[0] == 0) @@ -5589,21 +5588,21 @@ void AnimTauntFinger(struct Sprite* sprite) sprite->data[0] = 3; } - sprite->callback = AnimTauntFingerStep1; + sprite->callback = AnimTauntFinger_Step1; } -static void AnimTauntFingerStep1(struct Sprite* sprite) +static void AnimTauntFinger_Step1(struct Sprite* sprite) { if (++sprite->data[1] > 10) { sprite->data[1] = 0; StartSpriteAnim(sprite, sprite->data[0]); - StoreSpriteCallbackInData6(sprite, AnimTauntFingerStep2); + StoreSpriteCallbackInData6(sprite, AnimTauntFinger_Step2); sprite->callback = RunStoredCallbackWhenAnimEnds; } } -static void AnimTauntFingerStep2(struct Sprite* sprite) +static void AnimTauntFinger_Step2(struct Sprite* sprite) { if (++sprite->data[1] > 5) DestroyAnimSprite(sprite); diff --git a/src/battle_anim_effects_2.c b/src/battle_anim_effects_2.c index dcbcced39..cf85e697a 100755 --- a/src/battle_anim_effects_2.c +++ b/src/battle_anim_effects_2.c @@ -16,70 +16,43 @@ #include "constants/rgb.h" #include "constants/songs.h" -void sub_8103448(struct Sprite *); -void sub_8103498(struct Sprite *); -void sub_810358C(struct Sprite *); -void sub_8103620(struct Sprite *); -void Anim_KinesisZapEnergy(struct Sprite *); -void Anim_SwordsDanceBlade(struct Sprite *); -void AnimSonicBoomProjectile(struct Sprite *); -void AnimAirWaveProjectile(struct Sprite *); -void sub_8103FE8(struct Sprite *); -void AnimCoinThrow(struct Sprite *); -void AnimFallingCoin(struct Sprite *); -void AnimBulletSeed(struct Sprite *); -void AnimRazorWindTornado(struct Sprite *); -void AnimViceGripPincer(struct Sprite *); -void AnimGuillotinePincer(struct Sprite *); -void AnimBreathPuff(struct Sprite *); -void AnimAngerMark(struct Sprite *); -void AnimPencil(struct Sprite *); -void AnimBlendThinRing(struct Sprite *); -void AnimHyperVoiceRing(struct Sprite *); -void AnimUproarRing(struct Sprite *); -void AnimSoftBoiledEgg(struct Sprite *); -void AnimSpeedDust(struct Sprite *); -void AnimHealBellMusicNote(struct Sprite *); -void AnimMagentaHeart(struct Sprite *); -void AnimRedHeartProjectile(struct Sprite *); -void AnimParticuleBurst(struct Sprite *); -void AnimRedHeartRising(struct Sprite *); -void AnimOrbitFast(struct Sprite *); -void AnimOrbitScatter(struct Sprite *); -void AnimSpitUpOrb(struct Sprite *); -void AnimEyeSparkle(struct Sprite *); -void AnimAngel(struct Sprite *); -void AnimPinkHeart(struct Sprite *); -void AnimDevil(struct Sprite *); -void AnimFurySwipes(struct Sprite *); -void AnimMovmentWaves(struct Sprite *); -void AnimJaggedMusicNote(struct Sprite *); -void AnimPerishSongMusicNote2(struct Sprite *); -void AnimPerishSongMusicNote(struct Sprite *); -void AnimGuardRing(struct Sprite *); +static void sub_8103448(struct Sprite *); +static void sub_8103498(struct Sprite *); static void sub_81034D8(struct Sprite *); +static void sub_810358C(struct Sprite *); +static void sub_8103620(struct Sprite *); static void sub_8103658(struct Sprite *); static void sub_8103680(struct Sprite *); -static void AnimTask_WithdrawStep(u8); -static void AnimSwordsDanceBladeStep(struct Sprite *); +static void AnimKinesisZapEnergy(struct Sprite *); +static void AnimSwordsDanceBlade(struct Sprite *); +static void AnimSwordsDanceBlade_Step(struct Sprite *); +static void AnimSonicBoomProjectile(struct Sprite *); +static void AnimAirWaveProjectile(struct Sprite *); +static void AnimAirWaveProjectile_Step1(struct Sprite *sprite); +static void AnimAirWaveProjectile_Step2(struct Sprite *sprite); +static void sub_8103FE8(struct Sprite *); static void sub_8104018(struct Sprite *); +static void AnimCoinThrow(struct Sprite *); +static void AnimFallingCoin(struct Sprite *); static void AnimFallingCoin_Step(struct Sprite *); +static void AnimBulletSeed(struct Sprite *); static void AnimBulletSeed_Step1(struct Sprite *); static void AnimBulletSeed_Step2(struct Sprite *); -static void AnimViceGripPincerStep(struct Sprite *); -static void AnimGuillotinePincerStep1(struct Sprite *); -static void AnimGuillotinePincerStep2(struct Sprite *); -static void AnimGuillotinePincerStep3(struct Sprite *); -static void AnimTask_GrowAndGreyscaleStep(u8); -static void AnimTask_MinimizeStep1(u8); -static void CreateMinimizeSprite(struct Task *, u8); -static void ClonedMinizeSprite_Step(struct Sprite *); -static void AnimTask_SplashStep(u8); -static void AnimTask_GrowAndShrinkStep(u8); -static void ThrashMoveMonStep(u8); -static void ThrashMoveMon(u8); -static void AnimTask_SketchDrawMon(u8); +static void AnimRazorWindTornado(struct Sprite *); +static void AnimViceGripPincer(struct Sprite *); +static void AnimViceGripPincer_Step(struct Sprite *); +static void AnimGuillotinePincer(struct Sprite *); +static void AnimGuillotinePincer_Step1(struct Sprite *); +static void AnimGuillotinePincer_Step2(struct Sprite *); +static void AnimGuillotinePincer_Step3(struct Sprite *); +static void AnimBreathPuff(struct Sprite *); +static void AnimAngerMark(struct Sprite *); +static void AnimPencil(struct Sprite *); static void AnimPencil_Step(struct Sprite *); +static void AnimBlendThinRing(struct Sprite *); +static void AnimHyperVoiceRing(struct Sprite *); +static void AnimUproarRing(struct Sprite *); +static void AnimSoftBoiledEgg(struct Sprite *); static void AnimSoftBoiledEgg_Step1(struct Sprite *); static void AnimSoftBoiledEgg_Step2(struct Sprite *); static void AnimSoftBoiledEgg_Step3(struct Sprite *); @@ -87,23 +60,53 @@ static void AnimSoftBoiledEgg_Step3_Callback1(struct Sprite *); static void AnimSoftBoiledEgg_Step3_Callback2(struct Sprite *); static void AnimSoftBoiledEgg_Step4(struct Sprite *); static void AnimSoftBoiledEgg_Step4_Callback(struct Sprite *); -static void StretchAttacker_Step(u8); -static void ExtremeSpeedImpact_Step(u8); -static void ExtremeSpeedMonReappear_Step(u8); -static void SpeedDust_Step1(u8); -static void FakeOutStep1(u8); -static void FakeOutStep2(u8); +static void AnimSpeedDust(struct Sprite *); +static void AnimHealBellMusicNote(struct Sprite *); +static void AnimMagentaHeart(struct Sprite *); +static void AnimRedHeartProjectile(struct Sprite *); static void AnimRedHeartProjectile_Step(struct Sprite *); +static void AnimRedHeartRising(struct Sprite *); static void AnimRedHeartRising_Step(struct Sprite *); -static void HeartsBackground_Step(u8); -static void ScaryFace_Step(u8); -static void AnimOrbitFastStep(struct Sprite *); -static void AnimOrbitScatterStep(struct Sprite *); +static void AnimOrbitFast(struct Sprite *); +static void AnimOrbitFast_Step(struct Sprite *); +static void AnimOrbitScatter(struct Sprite *); +static void AnimOrbitScatter_Step(struct Sprite *); +static void AnimSpitUpOrb(struct Sprite *); +static void AnimSpitUpOrb_Step(struct Sprite *sprite); +static void AnimEyeSparkle(struct Sprite *); +static void AnimEyeSparkle_Step(struct Sprite *sprite); +static void AnimAngel(struct Sprite *); +static void AnimPinkHeart(struct Sprite *); +static void AnimDevil(struct Sprite *); +static void AnimFurySwipes(struct Sprite *); +static void AnimMovmentWaves(struct Sprite *); static void AnimMovmentWaves_Step(struct Sprite *); -static void UproarDistortion_Step(u8); +static void AnimJaggedMusicNote(struct Sprite *); static void AnimJaggedMusicNote_Step(struct Sprite *); +static void AnimPerishSongMusicNote2(struct Sprite *); +static void AnimPerishSongMusicNote(struct Sprite *); static void AnimPerishSongMusicNote_Step1(struct Sprite *); static void AnimPerishSongMusicNote_Step2(struct Sprite *); +static void AnimGuardRing(struct Sprite *); +static void AnimTask_Withdraw_Step(u8); +static void AnimTask_GrowAndGreyscale_Step(u8); +static void AnimTask_Minimize_Step(u8); +static void CreateMinimizeSprite(struct Task *, u8); +static void ClonedMinizeSprite_Step(struct Sprite *); +static void AnimTask_Splash_Step(u8); +static void AnimTask_GrowAndShrink_Step(u8); +static void AnimTask_ThrashMoveMonHorizontal_Step(u8); +static void AnimTask_ThrashMoveMonVertical_Step(u8); +static void AnimTask_SketchDrawMon_Step(u8); +static void AnimTask_AttackerStretchAndDisappear_Step(u8); +static void AnimTask_ExtremeSpeedImpact_Step(u8); +static void AnimTask_ExtremeSpeedMonReappear_Step(u8); +static void AnimTask_SpeedDust_Step(u8); +static void AnimTask_FakeOut_Step1(u8); +static void AnimTask_FakeOut_Step2(u8); +static void AnimTask_HeartsBackground_Step(u8); +static void AnimTask_ScaryFace_Step(u8); +static void AnimTask_UproarDistortion_Step(u8); // Unused const struct SpriteTemplate gUnknown_08593264 = @@ -123,6 +126,7 @@ const union AnimCmd gUnknown_0859327C[] = ANIMCMD_END, }; +// Unused const union AnimCmd *const gUnknown_08593284[] = { gUnknown_0859327C, @@ -152,7 +156,6 @@ const struct SpriteTemplate gUnknown_085932A0 = .callback = sub_810358C, }; -extern const union AffineAnimCmd *const gUnknown_08597060[]; // Unused const struct SpriteTemplate gUnknown_085932B8 = { @@ -161,7 +164,7 @@ const struct SpriteTemplate gUnknown_085932B8 = .oam = &gOamData_AffineNormal_ObjBlend_64x64, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_08597060, + .affineAnims = gAffineAnims_Bite, .callback = sub_8103620, }; @@ -229,7 +232,7 @@ const struct SpriteTemplate gKinesisZapEnergySpriteTemplate = .anims = gKinesisZapEnergyAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = Anim_KinesisZapEnergy, + .callback = AnimKinesisZapEnergy, }; const union AffineAnimCmd gSwordsDanceBladeAffineAnimCmds[] = @@ -253,7 +256,7 @@ const struct SpriteTemplate gSwordsDanceBladeSpriteTemplate = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gSwordsDanceBladeAffineAnimTable, - .callback = Anim_SwordsDanceBlade, + .callback = AnimSwordsDanceBlade, }; const struct SpriteTemplate gSonicBoomSpriteTemplate = @@ -307,7 +310,7 @@ const union AffineAnimCmd *const gWaterPulseRingAffineAnimTable[] = gWaterPulseRingAffineAnimCmds, }; -const struct SpriteTemplate gSupersonicWaveSpriteTemplate = +const struct SpriteTemplate gSupersonicRingSpriteTemplate = { .tileTag = ANIM_TAG_GOLD_RING, .paletteTag = ANIM_TAG_GOLD_RING, @@ -318,7 +321,7 @@ const struct SpriteTemplate gSupersonicWaveSpriteTemplate = .callback = TranslateAnimSpriteToTargetMonLocation, }; -const struct SpriteTemplate gScreechWaveSpriteTemplate = +const struct SpriteTemplate gScreechRingSpriteTemplate = { .tileTag = ANIM_TAG_PURPLE_RING, .paletteTag = ANIM_TAG_PURPLE_RING, @@ -632,7 +635,7 @@ const struct SpriteTemplate gSnoreZSpriteTemplate = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = AnimSnoreZ, + .callback = AnimTravelDiagonally, }; const union AnimCmd gExplosionAnimCmds[] = @@ -877,7 +880,9 @@ const struct SpriteTemplate gBellSpriteTemplate = .callback = AnimSpriteOnMonPos, }; -const u16 gMusicNotePaletteTagsTable[] = +#define NUM_MUSIC_NOTE_PAL_TAGS 3 + +static const u16 sMusicNotePaletteTagsTable[NUM_MUSIC_NOTE_PAL_TAGS] = { ANIM_TAG_MUSIC_NOTES_2, ANIM_SPRITES_START - 1, @@ -906,7 +911,7 @@ const struct SpriteTemplate gMagentaHeartSpriteTemplate = .callback = AnimMagentaHeart, }; -const union AffineAnimCmd gUnknown_08593988[] = +static const union AffineAnimCmd sAffineAnims_StretchBattlerUp[] = { AFFINEANIMCMD_FRAME(0x000A, 0xFFF3, 0x00, 0x0A), AFFINEANIMCMD_FRAME(0xFFF6, 0x000D, 0x00, 0x0A), @@ -932,7 +937,7 @@ const struct SpriteTemplate gRedHeartBurstSpriteTemplate = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = AnimParticuleBurst, + .callback = AnimParticleBurst, }; const struct SpriteTemplate gRedHeartRisingSpriteTemplate = @@ -1161,7 +1166,7 @@ const struct SpriteTemplate gMovementWavesSpriteTemplate = .callback = AnimMovmentWaves, }; -const union AffineAnimCmd gUnknown_08593B98[] = +static const union AffineAnimCmd sAffineAnims_UproarDistortion[] = { AFFINEANIMCMD_FRAME(-12, 8, 0, 4), AFFINEANIMCMD_FRAME(20, -20, 0, 4), @@ -1257,7 +1262,7 @@ const struct SpriteTemplate gGuardRingSpriteTemplate = .callback = AnimGuardRing, }; -void sub_8103448(struct Sprite *sprite) +static void sub_8103448(struct Sprite *sprite) { SetSpriteCoordsToAnimAttackerCoords(sprite); SetAnimSpriteInitialXOffset(sprite, gBattleAnimArgs[0]); @@ -1271,7 +1276,7 @@ void sub_8103448(struct Sprite *sprite) sprite->callback(sprite); } -void sub_8103498(struct Sprite *sprite) +static void sub_8103498(struct Sprite *sprite) { u8 battler; if (gBattleAnimArgs[0] == 0) @@ -1321,7 +1326,7 @@ static void sub_810353C(struct Sprite *sprite) sprite->data[0]--; } -void sub_810358C(struct Sprite *sprite) +static void sub_810358C(struct Sprite *sprite) { u8 spriteId; sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2); @@ -1337,10 +1342,10 @@ void sub_810358C(struct Sprite *sprite) sprite->data[1] = gBattleAnimArgs[3]; sprite->data[2] = spriteId; sprite->callback = sub_810353C; - sprite->invisible = 1; + sprite->invisible = TRUE; } -void sub_8103620(struct Sprite *sprite) +static void sub_8103620(struct Sprite *sprite) { InitSpritePosToAnimAttacker(sprite, TRUE); sprite->data[0] = gBattleAnimArgs[2]; @@ -1372,10 +1377,10 @@ static void sub_8103680(struct Sprite *sprite) void AnimTask_Withdraw(u8 taskId) { PrepareBattlerSpriteForRotScale(gBattlerSpriteIds[gBattleAnimAttacker], ST_OAM_OBJ_NORMAL); - gTasks[taskId].func = AnimTask_WithdrawStep; + gTasks[taskId].func = AnimTask_Withdraw_Step; } -static void AnimTask_WithdrawStep(u8 taskId) +static void AnimTask_Withdraw_Step(u8 taskId) { u8 spriteId = gBattlerSpriteIds[gBattleAnimAttacker]; s16 rotation; @@ -1424,7 +1429,7 @@ static void AnimTask_WithdrawStep(u8 taskId) // arg 0: x pixel offset // arg 1: y pixel offset // arg 2: vertical flip -void Anim_KinesisZapEnergy(struct Sprite *sprite) +static void AnimKinesisZapEnergy(struct Sprite *sprite) { SetSpriteCoordsToAnimAttackerCoords(sprite); if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) @@ -1452,14 +1457,14 @@ void Anim_KinesisZapEnergy(struct Sprite *sprite) // Animates a sword that rises into the air after a brief pause. // arg 0: x pixel offset // arg 1: y pixel offset -void Anim_SwordsDanceBlade(struct Sprite *sprite) +static void AnimSwordsDanceBlade(struct Sprite *sprite) { InitSpritePosToAnimAttacker(sprite, FALSE); sprite->callback = RunStoredCallbackWhenAffineAnimEnds; - StoreSpriteCallbackInData6(sprite, AnimSwordsDanceBladeStep); + StoreSpriteCallbackInData6(sprite, AnimSwordsDanceBlade_Step); } -static void AnimSwordsDanceBladeStep(struct Sprite *sprite) +static void AnimSwordsDanceBlade_Step(struct Sprite *sprite) { sprite->data[0] = 6; sprite->data[2] = sprite->pos1.x; @@ -1475,7 +1480,7 @@ static void AnimSwordsDanceBladeStep(struct Sprite *sprite) // arg 2: target x pixel offset // arg 3: target y pixel offset // arg 4: duration -void AnimSonicBoomProjectile(struct Sprite *sprite) +static void AnimSonicBoomProjectile(struct Sprite *sprite) { s16 targetXPos; s16 targetYPos; @@ -1550,7 +1555,7 @@ static void AnimAirWaveProjectile_Step1(struct Sprite *sprite) } } -void AnimAirWaveProjectile(struct Sprite *sprite) +static void AnimAirWaveProjectile(struct Sprite *sprite) { s16 a; s16 b; @@ -1733,7 +1738,7 @@ void AnimTask_AirCutterProjectile(u8 taskId) gTasks[taskId].func = AirCutterProjectileStep1; } -void sub_8103FE8(struct Sprite *sprite) +static void sub_8103FE8(struct Sprite *sprite) { InitSpritePosToAnimAttacker(sprite, FALSE); sprite->data[0] = 0x100 + (IndexOfSpritePaletteTag(gUnknown_085934A0.paletteTag) << 4); @@ -1760,7 +1765,7 @@ static void sub_8104018(struct Sprite *sprite) } } -void AnimCoinThrow(struct Sprite *sprite) +static void AnimCoinThrow(struct Sprite *sprite) { s16 r6; s16 r7; @@ -1783,7 +1788,7 @@ void AnimCoinThrow(struct Sprite *sprite) StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); } -void AnimFallingCoin(struct Sprite *sprite) +static void AnimFallingCoin(struct Sprite *sprite) { sprite->data[2] = -16; sprite->pos1.y += 8; @@ -1808,7 +1813,7 @@ static void AnimFallingCoin_Step(struct Sprite *sprite) } } -void AnimBulletSeed(struct Sprite *sprite) +static void AnimBulletSeed(struct Sprite *sprite) { InitSpritePosToAnimAttacker(sprite, TRUE); sprite->data[0] = 20; @@ -1867,7 +1872,7 @@ static void AnimBulletSeed_Step2(struct Sprite *sprite) // arg 4: initial wave offset // arg 5: wave period (higher means faster wave) // arg 6: duration -void AnimRazorWindTornado(struct Sprite *sprite) +static void AnimRazorWindTornado(struct Sprite *sprite) { InitSpritePosToAnimAttacker(sprite, FALSE); if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER) @@ -1885,7 +1890,7 @@ void AnimRazorWindTornado(struct Sprite *sprite) // Animates a single pincer line that extends towards the center of the target mon. // arg 0: invert -void AnimViceGripPincer(struct Sprite *sprite) +static void AnimViceGripPincer(struct Sprite *sprite) { s16 startXOffset = 32; s16 startYOffset = -32; @@ -1906,10 +1911,10 @@ void AnimViceGripPincer(struct Sprite *sprite) sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2) + endXOffset; sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET) + endYOffset; sprite->callback = StartAnimLinearTranslation; - StoreSpriteCallbackInData6(sprite, AnimViceGripPincerStep); + StoreSpriteCallbackInData6(sprite, AnimViceGripPincer_Step); } -static void AnimViceGripPincerStep(struct Sprite *sprite) +static void AnimViceGripPincer_Step(struct Sprite *sprite) { if (sprite->animEnded) DestroyAnimSprite(sprite); @@ -1917,7 +1922,7 @@ static void AnimViceGripPincerStep(struct Sprite *sprite) // Animates a single pincer line that extends towards the center of the target mon, and then back out. // arg 0: animation id -void AnimGuillotinePincer(struct Sprite *sprite) +static void AnimGuillotinePincer(struct Sprite *sprite) { s16 startXOffset = 32; s16 startYOffset = -32; @@ -1942,10 +1947,10 @@ void AnimGuillotinePincer(struct Sprite *sprite) InitAnimLinearTranslation(sprite); sprite->data[5] = gBattleAnimArgs[0]; sprite->data[6] = sprite->data[0]; - sprite->callback = AnimGuillotinePincerStep1; + sprite->callback = AnimGuillotinePincer_Step1; } -static void AnimGuillotinePincerStep1(struct Sprite *sprite) +static void AnimGuillotinePincer_Step1(struct Sprite *sprite) { if (AnimTranslateLinear(sprite) && sprite->animEnded) { @@ -1960,11 +1965,11 @@ static void AnimGuillotinePincerStep1(struct Sprite *sprite) sprite->data[2] ^= 1; sprite->data[4] = 0; sprite->data[3] = 0; - sprite->callback = AnimGuillotinePincerStep2; + sprite->callback = AnimGuillotinePincer_Step2; } } -static void AnimGuillotinePincerStep2(struct Sprite *sprite) +static void AnimGuillotinePincer_Step2(struct Sprite *sprite) { if (sprite->data[3]) { @@ -1981,11 +1986,11 @@ static void AnimGuillotinePincerStep2(struct Sprite *sprite) sprite->data[3] = 0; sprite->animPaused = 0; StartSpriteAnim(sprite, sprite->data[5] ^ 1); - sprite->callback = AnimGuillotinePincerStep3; + sprite->callback = AnimGuillotinePincer_Step3; } } -static void AnimGuillotinePincerStep3(struct Sprite *sprite) +static void AnimGuillotinePincer_Step3(struct Sprite *sprite) { if (AnimTranslateLinear(sprite)) DestroyAnimSprite(sprite); @@ -2001,10 +2006,10 @@ void AnimTask_GrowAndGreyscale(u8 taskId) SetSpriteRotScale(spriteId, 0xD0, 0xD0, 0); SetGreyscaleOrOriginalPalette(gSprites[spriteId].oam.paletteNum + 16, FALSE); gTasks[taskId].data[0] = 80; - gTasks[taskId].func = AnimTask_GrowAndGreyscaleStep; + gTasks[taskId].func = AnimTask_GrowAndGreyscale_Step; } -static void AnimTask_GrowAndGreyscaleStep(u8 taskId) +static void AnimTask_GrowAndGreyscale_Step(u8 taskId) { if (--gTasks[taskId].data[0] == -1) { @@ -2031,10 +2036,10 @@ void AnimTask_Minimize(u8 taskId) task->data[5] = 0; task->data[6] = 0; task->data[7] = GetBattlerSpriteSubpriority(gBattleAnimAttacker); - task->func = AnimTask_MinimizeStep1; + task->func = AnimTask_Minimize_Step; } -static void AnimTask_MinimizeStep1(u8 taskId) +static void AnimTask_Minimize_Step(u8 taskId) { struct Task* task = &gTasks[taskId]; switch (task->data[1]) @@ -2159,11 +2164,11 @@ void AnimTask_Splash(u8 taskId) task->data[3] = 0; task->data[4] = 0; PrepareAffineAnimInTaskData(task, spriteId, gSplashEffectAffineAnimCmds); - task->func = AnimTask_SplashStep; + task->func = AnimTask_Splash_Step; } } -static void AnimTask_SplashStep(u8 taskId) +static void AnimTask_Splash_Step(u8 taskId) { struct Task* task = &gTasks[taskId]; switch (task->data[1]) @@ -2222,10 +2227,10 @@ void AnimTask_GrowAndShrink(u8 taskId) struct Task* task = &gTasks[taskId]; u8 spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER); PrepareAffineAnimInTaskData(task, spriteId, gGrowAndShrinkAffineAnimCmds); - task->func = AnimTask_GrowAndShrinkStep; + task->func = AnimTask_GrowAndShrink_Step; } -static void AnimTask_GrowAndShrinkStep(u8 taskId) +static void AnimTask_GrowAndShrink_Step(u8 taskId) { struct Task* task = &gTasks[taskId]; if (!RunAffineAnimFromTaskData(task)) @@ -2235,7 +2240,7 @@ static void AnimTask_GrowAndShrinkStep(u8 taskId) // Animates a little puff of the mon's breath. // Used by MOVE_SWAGGER and MOVE_BULK_UP // No args. -void AnimBreathPuff(struct Sprite *sprite) +static void AnimBreathPuff(struct Sprite *sprite) { if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER) { @@ -2263,7 +2268,7 @@ void AnimBreathPuff(struct Sprite *sprite) // arg 0: target mon (0 = attacker, 1 = target) // arg 1: x pixel offset // arg 2: y pixel offset -void AnimAngerMark(struct Sprite *sprite) +static void AnimAngerMark(struct Sprite *sprite) { u8 battler; if (!gBattleAnimArgs[0]) @@ -2291,10 +2296,10 @@ void AnimTask_ThrashMoveMonHorizontal(u8 taskId) task->data[0] = spriteId; task->data[1] = 0; PrepareAffineAnimInTaskData(task, spriteId, gThrashMoveMonAffineAnimCmds); - task->func = ThrashMoveMonStep; + task->func = AnimTask_ThrashMoveMonHorizontal_Step; } -static void ThrashMoveMonStep(u8 taskId) +static void AnimTask_ThrashMoveMonHorizontal_Step(u8 taskId) { struct Task* task = &gTasks[taskId]; if (!RunAffineAnimFromTaskData(task)) @@ -2318,10 +2323,10 @@ void AnimTask_ThrashMoveMonVertical(u8 taskId) if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_OPPONENT) task->data[2] *= -1; - task->func = ThrashMoveMon; + task->func = AnimTask_ThrashMoveMonVertical_Step; } -static void ThrashMoveMon(u8 taskId) +static void AnimTask_ThrashMoveMonVertical_Step(u8 taskId) { struct Task* task = &gTasks[taskId]; if (++task->data[7] > 2) @@ -2372,7 +2377,7 @@ static void ThrashMoveMon(u8 taskId) } } -void sub_8104E74(u8 taskId) +void AnimTask_SketchDrawMon(u8 taskId) { struct Task* task = &gTasks[taskId]; struct ScanlineEffectParams params; @@ -2410,10 +2415,10 @@ void sub_8104E74(u8 taskId) params.initState = 1; params.unused9 = 0; ScanlineEffect_SetParams(params); - task->func = AnimTask_SketchDrawMon; + task->func = AnimTask_SketchDrawMon_Step; } -static void AnimTask_SketchDrawMon(u8 taskId) +static void AnimTask_SketchDrawMon_Step(u8 taskId) { struct Task* task = &gTasks[taskId]; @@ -2460,7 +2465,7 @@ static void AnimTask_SketchDrawMon(u8 taskId) } } -void AnimPencil(struct Sprite *sprite) +static void AnimPencil(struct Sprite *sprite) { sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, 0) - 16; sprite->pos1.y = GetBattlerYCoordWithElevation(gBattleAnimTarget) + 16; @@ -2486,7 +2491,7 @@ static void AnimPencil_Step(struct Sprite *sprite) } if (++sprite->data[1] > 16) { - sprite->invisible = 0; + sprite->invisible = FALSE; sprite->data[0]++; } break; @@ -2526,14 +2531,14 @@ static void AnimPencil_Step(struct Sprite *sprite) } if (++sprite->data[1] > 16) { - sprite->invisible = 0; + sprite->invisible = FALSE; DestroyAnimSprite(sprite); } break; } } -void AnimBlendThinRing(struct Sprite *sprite) +static void AnimBlendThinRing(struct Sprite *sprite) { u8 battler = 0; u16 sp0 = 0; @@ -2573,7 +2578,7 @@ void sub_8105284(struct Sprite *sprite) } } -void AnimHyperVoiceRing(struct Sprite *sprite) +static void AnimHyperVoiceRing(struct Sprite *sprite) { u16 r9 = 0; u16 r6 = 0; @@ -2658,7 +2663,7 @@ void AnimHyperVoiceRing(struct Sprite *sprite) sprite->callback(sprite); } -void AnimUproarRing(struct Sprite *sprite) +static void AnimUproarRing(struct Sprite *sprite) { u8 index = IndexOfSpritePaletteTag(ANIM_TAG_THIN_RING); if (index != 0xFF) @@ -2671,7 +2676,7 @@ void AnimUproarRing(struct Sprite *sprite) sprite->callback(sprite); } -void AnimSoftBoiledEgg(struct Sprite *sprite) +static void AnimSoftBoiledEgg(struct Sprite *sprite) { s16 r1; InitSpritePosToAnimAttacker(sprite, FALSE); @@ -2758,7 +2763,7 @@ static void AnimSoftBoiledEgg_Step4(struct Sprite *sprite) { if ((u16)gBattleAnimArgs[7] == 0xFFFF) { - sprite->invisible = 1; + sprite->invisible = TRUE; if (sprite->data[7] == 0) sprite->callback = AnimSoftBoiledEgg_Step4_Callback; else @@ -2773,22 +2778,23 @@ static void AnimSoftBoiledEgg_Step4_Callback(struct Sprite *sprite) DestroyAnimSprite(sprite); } -void AnimTask_StretchAttacker(u8 taskId) +// Used by Extremespeed +void AnimTask_AttackerStretchAndDisappear(u8 taskId) { struct Task* task = &gTasks[taskId]; u8 spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER); task->data[0] = spriteId; PrepareAffineAnimInTaskData(task, spriteId, gStretchAttackerAffineAnimCmds); - task->func = StretchAttacker_Step; + task->func = AnimTask_AttackerStretchAndDisappear_Step; } -static void StretchAttacker_Step(u8 taskId) +static void AnimTask_AttackerStretchAndDisappear_Step(u8 taskId) { struct Task* task = &gTasks[taskId]; if (!RunAffineAnimFromTaskData(task)) { gSprites[task->data[0]].pos2.y = 0; - gSprites[task->data[0]].invisible = 1; + gSprites[task->data[0]].invisible = TRUE; DestroyAnimVisualTask(taskId); } } @@ -2813,10 +2819,10 @@ void AnimTask_ExtremeSpeedImpact(u8 taskId) } task->data[15] = GetAnimBattlerSpriteId(ANIM_TARGET); - task->func = ExtremeSpeedImpact_Step; + task->func = AnimTask_ExtremeSpeedImpact_Step; } -static void ExtremeSpeedImpact_Step(u8 taskId) +static void AnimTask_ExtremeSpeedImpact_Step(u8 taskId) { struct Task* task = &gTasks[taskId]; @@ -2873,19 +2879,19 @@ void AnimTask_ExtremeSpeedMonReappear(u8 taskId) task->data[13] = 14; task->data[14] = 2; task->data[15] = GetAnimBattlerSpriteId(ANIM_ATTACKER); - task->func = ExtremeSpeedMonReappear_Step; + task->func = AnimTask_ExtremeSpeedMonReappear_Step; } -static void ExtremeSpeedMonReappear_Step(u8 taskId) +static void AnimTask_ExtremeSpeedMonReappear_Step(u8 taskId) { struct Task* task = &gTasks[taskId]; if (task->data[0] == 0 && ++task->data[1] > task->data[4]) { task->data[1] = 0; if (++task->data[2] & 1) - gSprites[task->data[15]].invisible = 0; + gSprites[task->data[15]].invisible = FALSE; else - gSprites[task->data[15]].invisible = 1; + gSprites[task->data[15]].invisible = TRUE; if (++task->data[3] >= task->data[13]) { @@ -2897,7 +2903,7 @@ static void ExtremeSpeedMonReappear_Step(u8 taskId) } else { - gSprites[task->data[15]].invisible = 0; + gSprites[task->data[15]].invisible = FALSE; DestroyAnimVisualTask(taskId); } } @@ -2919,10 +2925,10 @@ void AnimTask_SpeedDust(u8 taskId) task->data[13] = 0; task->data[14] = GetBattlerSpriteCoord(gBattleAnimAttacker, ANIM_ATTACKER); task->data[15] = GetBattlerSpriteCoord(gBattleAnimAttacker, ANIM_TARGET); - task->func = SpeedDust_Step1; + task->func = AnimTask_SpeedDust_Step; } -static void SpeedDust_Step1(u8 taskId) +static void AnimTask_SpeedDust_Step(u8 taskId) { struct Task* task = &gTasks[taskId]; switch (task->data[8]) @@ -2988,7 +2994,7 @@ static void SpeedDust_Step1(u8 taskId) } } -void AnimSpeedDust(struct Sprite *sprite) +static void AnimSpeedDust(struct Sprite *sprite) { sprite->invisible = gTasks[sprite->data[0]].data[5]; if (sprite->animEnded) @@ -2998,29 +3004,29 @@ void AnimSpeedDust(struct Sprite *sprite) } } -void sub_8105CB4(u8 taskId) +void AnimTask_LoadMusicNotesPals(u8 taskId) { int i; - u8 paletteNums[3]; + u8 paletteNums[NUM_MUSIC_NOTE_PAL_TAGS]; paletteNums[0] = IndexOfSpritePaletteTag(ANIM_TAG_MUSIC_NOTES_2); - for (i = 1; i < 3; i++) + for (i = 1; i < NUM_MUSIC_NOTE_PAL_TAGS; i++) paletteNums[i] = AllocSpritePalette(ANIM_SPRITES_START - i); - gMonSpritesGfxPtr->field_17C = AllocZeroed(0x2000); - LZDecompressWram(gBattleAnimSpritePal_MusicNotes2, gMonSpritesGfxPtr->field_17C); - for (i = 0; i < 3; i++) - LoadPalette(&gMonSpritesGfxPtr->field_17C[i * 32], (u16)((paletteNums[i] << 4) + 0x100), 32); + gMonSpritesGfxPtr->buffer = AllocZeroed(0x2000); + LZDecompressWram(gBattleAnimSpritePal_MusicNotes2, gMonSpritesGfxPtr->buffer); + for (i = 0; i < NUM_MUSIC_NOTE_PAL_TAGS; i++) + LoadPalette(&gMonSpritesGfxPtr->buffer[i * 32], (u16)((paletteNums[i] << 4) + 0x100), 32); - FREE_AND_SET_NULL(gMonSpritesGfxPtr->field_17C); + FREE_AND_SET_NULL(gMonSpritesGfxPtr->buffer); DestroyAnimVisualTask(taskId); } -void sub_8105D60(u8 taskId) +void AnimTask_FreeMusicNotesPals(u8 taskId) { int i; - for (i = 0; i < 3; i++) - FreeSpritePaletteByTag(gMusicNotePaletteTagsTable[i]); + for (i = 0; i < NUM_MUSIC_NOTE_PAL_TAGS; i++) + FreeSpritePaletteByTag(sMusicNotePaletteTagsTable[i]); DestroyAnimVisualTask(taskId); } @@ -3031,10 +3037,10 @@ static void SetMusicNotePalette(struct Sprite *sprite, u8 a, u8 b) tile = (b & 1); tile = ((-tile | tile) >> 31) & 32; sprite->oam.tileNum += tile + (a << 2); - sprite->oam.paletteNum = IndexOfSpritePaletteTag(gMusicNotePaletteTagsTable[b >> 1]); + sprite->oam.paletteNum = IndexOfSpritePaletteTag(sMusicNotePaletteTagsTable[b >> 1]); } -void AnimHealBellMusicNote(struct Sprite *sprite) +static void AnimHealBellMusicNote(struct Sprite *sprite) { InitSpritePosToAnimAttacker(sprite, FALSE); if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) @@ -3048,7 +3054,7 @@ void AnimHealBellMusicNote(struct Sprite *sprite) SetMusicNotePalette(sprite, gBattleAnimArgs[5], gBattleAnimArgs[6]); } -void AnimMagentaHeart(struct Sprite *sprite) +static void AnimMagentaHeart(struct Sprite *sprite) { if (++sprite->data[0] == 1) InitSpritePosToAnimAttacker(sprite, FALSE); @@ -3076,17 +3082,17 @@ void AnimTask_FakeOut(u8 taskId) SetGpuReg(REG_OFFSET_BLDY, 0x10); gTasks[taskId].data[0] = win0v; gTasks[taskId].data[1] = win0h; - gTasks[taskId].func = FakeOutStep1; + gTasks[taskId].func = AnimTask_FakeOut_Step1; } -static void FakeOutStep1(u8 taskId) +static void AnimTask_FakeOut_Step1(u8 taskId) { gTasks[taskId].data[0] += 13; gTasks[taskId].data[1] -= 13; if (gTasks[taskId].data[0] >= gTasks[taskId].data[1]) { gBattle_WIN0H = 0; - gTasks[taskId].func = FakeOutStep2; + gTasks[taskId].func = AnimTask_FakeOut_Step2; } else { @@ -3094,7 +3100,7 @@ static void FakeOutStep1(u8 taskId) } } -static void FakeOutStep2(u8 taskId) +static void AnimTask_FakeOut_Step2(u8 taskId) { if (++gTasks[taskId].data[10] == 5) { @@ -3114,12 +3120,12 @@ static void FakeOutStep2(u8 taskId) } } -void sub_8106020(u8 taskId) +void AnimTask_StretchTargetUp(u8 taskId) { u8 spriteId = GetAnimBattlerSpriteId(ANIM_TARGET); if (++gTasks[taskId].data[0] == 1) { - PrepareAffineAnimInTaskData(&gTasks[taskId], GetAnimBattlerSpriteId(1), gUnknown_08593988); + PrepareAffineAnimInTaskData(&gTasks[taskId], GetAnimBattlerSpriteId(ANIM_TARGET), sAffineAnims_StretchBattlerUp); gSprites[spriteId].pos2.x = 4; } else @@ -3134,12 +3140,12 @@ void sub_8106020(u8 taskId) } } -void sub_81060B0(u8 taskId) +void AnimTask_StretchAttackerUp(u8 taskId) { u8 spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER); if (++gTasks[taskId].data[0] == 1) { - PrepareAffineAnimInTaskData(&gTasks[taskId], GetAnimBattlerSpriteId(0), gUnknown_08593988); + PrepareAffineAnimInTaskData(&gTasks[taskId], GetAnimBattlerSpriteId(ANIM_ATTACKER), sAffineAnims_StretchBattlerUp); gSprites[spriteId].pos2.x = 4; } else @@ -3154,7 +3160,7 @@ void sub_81060B0(u8 taskId) } } -void AnimRedHeartProjectile(struct Sprite *sprite) +static void AnimRedHeartProjectile(struct Sprite *sprite) { InitSpritePosToAnimAttacker(sprite, TRUE); sprite->data[0] = 95; @@ -3179,7 +3185,7 @@ static void AnimRedHeartProjectile_Step(struct Sprite *sprite) } } -void AnimParticuleBurst(struct Sprite *sprite) +void AnimParticleBurst(struct Sprite *sprite) { if (sprite->data[0] == 0) { @@ -3201,7 +3207,7 @@ void AnimParticuleBurst(struct Sprite *sprite) } } -void AnimRedHeartRising(struct Sprite *sprite) +static void AnimRedHeartRising(struct Sprite *sprite) { sprite->pos1.x = gBattleAnimArgs[0]; sprite->pos1.y = 160; @@ -3243,13 +3249,13 @@ void AnimTask_HeartsBackground(u8 taskId) SetGpuReg(REG_OFFSET_BG1HOFS, gBattle_BG1_X); SetGpuReg(REG_OFFSET_BG1VOFS, gBattle_BG1_Y); sub_80A6B30(&animBg); - AnimLoadCompressedBgGfx(animBg.bgId, &gUnknown_08C232E0, animBg.tilesOffset); - sub_80A6D60(&animBg, &gUnknown_08C23D78, 0); - LoadCompressedPalette(&gUnknown_08C23D50, animBg.paletteId * 16, 32); - gTasks[taskId].func = HeartsBackground_Step; + AnimLoadCompressedBgGfx(animBg.bgId, &gBattleAnimBgImage_Attract, animBg.tilesOffset); + AnimLoadCompressedBgTilemapHandleContest(&animBg, &gBattleAnimBgTilemap_Attract, 0); + LoadCompressedPalette(&gBattleAnimBgPalette_Attract, animBg.paletteId * 16, 32); + gTasks[taskId].func = AnimTask_HeartsBackground_Step; } -static void HeartsBackground_Step(u8 taskId) +static void AnimTask_HeartsBackground_Step(u8 taskId) { struct BattleAnimBgData animBg; @@ -3322,18 +3328,18 @@ void AnimTask_ScaryFace(u8 taskId) SetGpuReg(REG_OFFSET_BG1VOFS, gBattle_BG1_Y); sub_80A6B30(&animBg); if (IsContest()) - sub_80A6D60(&animBg, &gBattleAnimBgTilemap_ScaryFaceContest, 0); + AnimLoadCompressedBgTilemapHandleContest(&animBg, &gBattleAnimBgTilemap_ScaryFaceContest, 0); else if (GetBattlerSide(gBattleAnimTarget) == B_SIDE_OPPONENT) - sub_80A6D60(&animBg, &gBattleAnimBgTilemap_ScaryFacePlayer, 0); + AnimLoadCompressedBgTilemapHandleContest(&animBg, &gBattleAnimBgTilemap_ScaryFacePlayer, 0); else - sub_80A6D60(&animBg, &gBattleAnimBgTilemap_ScaryFaceOpponent, 0); + AnimLoadCompressedBgTilemapHandleContest(&animBg, &gBattleAnimBgTilemap_ScaryFaceOpponent, 0); - AnimLoadCompressedBgGfx(animBg.bgId, gUnknown_08C249F8, animBg.tilesOffset); - LoadCompressedPalette(gUnknown_08C249D0, animBg.paletteId * 16, 32); - gTasks[taskId].func = ScaryFace_Step; + AnimLoadCompressedBgGfx(animBg.bgId, gBattleAnimBgImage_ScaryFace, animBg.tilesOffset); + LoadCompressedPalette(gBattleAnimBgPalette_ScaryFace, animBg.paletteId * 16, 32); + gTasks[taskId].func = AnimTask_ScaryFace_Step; } -static void ScaryFace_Step(u8 taskId) +static void AnimTask_ScaryFace_Step(u8 taskId) { struct BattleAnimBgData animBg; @@ -3394,7 +3400,7 @@ static void ScaryFace_Step(u8 taskId) // Used by MOVE_HIDDEN_POWER // arg 0: duration // arg 1: initial wave offset -void AnimOrbitFast(struct Sprite *sprite) +static void AnimOrbitFast(struct Sprite *sprite) { sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2); sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3); @@ -3402,11 +3408,11 @@ void AnimOrbitFast(struct Sprite *sprite) sprite->data[0] = gBattleAnimArgs[0]; sprite->data[1] = gBattleAnimArgs[1]; sprite->data[7] = GetBattlerSpriteSubpriority(gBattleAnimAttacker); - sprite->callback = AnimOrbitFastStep; + sprite->callback = AnimOrbitFast_Step; sprite->callback(sprite); } -static void AnimOrbitFastStep(struct Sprite *sprite) +static void AnimOrbitFast_Step(struct Sprite *sprite) { if (sprite->data[1] >= 64 && sprite->data[1] <= 191) sprite->subpriority = sprite->data[7] + 1; @@ -3445,16 +3451,16 @@ static void AnimOrbitFastStep(struct Sprite *sprite) // Moves orbs away from the mon, based on where they are in their orbit. // Used in MOVE_HIDDEN_POWER. // arg 0: initial wave offset -void AnimOrbitScatter(struct Sprite *sprite) +static void AnimOrbitScatter(struct Sprite *sprite) { sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2); sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3); sprite->data[0] = Sin(gBattleAnimArgs[0], 10); sprite->data[1] = Cos(gBattleAnimArgs[0], 7); - sprite->callback = AnimOrbitScatterStep; + sprite->callback = AnimOrbitScatter_Step; } -static void AnimOrbitScatterStep(struct Sprite *sprite) +static void AnimOrbitScatter_Step(struct Sprite *sprite) { sprite->pos2.x += sprite->data[0]; sprite->pos2.y += sprite->data[1]; @@ -3470,7 +3476,7 @@ static void AnimSpitUpOrb_Step(struct Sprite *sprite) DestroyAnimSprite(sprite); } -void AnimSpitUpOrb(struct Sprite *sprite) +static void AnimSpitUpOrb(struct Sprite *sprite) { sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2); sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3); @@ -3480,19 +3486,19 @@ void AnimSpitUpOrb(struct Sprite *sprite) sprite->callback = AnimSpitUpOrb_Step; } -static void sub_810699C(struct Sprite *sprite) +static void AnimEyeSparkle_Step(struct Sprite *sprite) { if (sprite->animEnded) DestroyAnimSprite(sprite); } -void AnimEyeSparkle(struct Sprite *sprite) +static void AnimEyeSparkle(struct Sprite *sprite) { InitSpritePosToAnimAttacker(sprite, TRUE); - sprite->callback = sub_810699C; + sprite->callback = AnimEyeSparkle_Step; } -void AnimAngel(struct Sprite *sprite) +static void AnimAngel(struct Sprite *sprite) { s16 var0; if (!sprite->data[0]) @@ -3530,7 +3536,7 @@ static void sub_8106A64(struct Sprite *sprite) DestroyAnimSprite(sprite); } -void AnimPinkHeart(struct Sprite *sprite) +static void AnimPinkHeart(struct Sprite *sprite) { if (sprite->data[0] == 0) { @@ -3556,7 +3562,7 @@ void AnimPinkHeart(struct Sprite *sprite) } } -void AnimDevil(struct Sprite *sprite) +static void AnimDevil(struct Sprite *sprite) { if (sprite->data[3] == 0) { @@ -3585,7 +3591,7 @@ void AnimDevil(struct Sprite *sprite) DestroyAnimSprite(sprite); } -void AnimFurySwipes(struct Sprite *sprite) +static void AnimFurySwipes(struct Sprite *sprite) { if (sprite->data[0] == 0) { @@ -3600,7 +3606,7 @@ void AnimFurySwipes(struct Sprite *sprite) } } -void AnimMovmentWaves(struct Sprite *sprite) +static void AnimMovmentWaves(struct Sprite *sprite) { if (!gBattleAnimArgs[2]) { @@ -3646,17 +3652,17 @@ void AnimTask_UproarDistortion(u8 taskId) { u8 spriteId = GetAnimBattlerSpriteId(gBattleAnimArgs[0]); - PrepareAffineAnimInTaskData(&gTasks[taskId], spriteId, gUnknown_08593B98); - gTasks[taskId].func = UproarDistortion_Step; + PrepareAffineAnimInTaskData(&gTasks[taskId], spriteId, sAffineAnims_UproarDistortion); + gTasks[taskId].func = AnimTask_UproarDistortion_Step; } -static void UproarDistortion_Step(u8 taskId) +static void AnimTask_UproarDistortion_Step(u8 taskId) { if (!RunAffineAnimFromTaskData(&gTasks[taskId])) DestroyAnimVisualTask(taskId); } -void AnimJaggedMusicNote(struct Sprite *sprite) +static void AnimJaggedMusicNote(struct Sprite *sprite) { int var1; u8 battler = !gBattleAnimArgs[0] ? gBattleAnimAttacker : gBattleAnimTarget; @@ -3694,12 +3700,12 @@ static void AnimJaggedMusicNote_Step(struct Sprite *sprite) DestroyAnimSprite(sprite); } -void AnimPerishSongMusicNote2(struct Sprite *sprite) +static void AnimPerishSongMusicNote2(struct Sprite *sprite) { if (!sprite->data[0]) { sprite->data[1] = 120 - gBattleAnimArgs[0]; - sprite->invisible = 1; + sprite->invisible = TRUE; } if (++sprite->data[0] == sprite->data[1]) @@ -3709,7 +3715,7 @@ void AnimPerishSongMusicNote2(struct Sprite *sprite) DestroyAnimSprite(sprite); } -void AnimPerishSongMusicNote(struct Sprite *sprite) +static void AnimPerishSongMusicNote(struct Sprite *sprite) { int index; int var2; @@ -3786,7 +3792,7 @@ static void AnimPerishSongMusicNote_Step2(struct Sprite *sprite) } } -void AnimGuardRing(struct Sprite *sprite) +static void AnimGuardRing(struct Sprite *sprite) { if ((gBattleTypeFlags & BATTLE_TYPE_DOUBLE) && IsBattlerSpriteVisible(BATTLE_PARTNER(gBattleAnimAttacker))) { @@ -3811,12 +3817,12 @@ void AnimGuardRing(struct Sprite *sprite) void AnimTask_IsFuryCutterHitRight(u8 taskId) { - gBattleAnimArgs[7] = gAnimDisableStructPtr->furyCutterCounter & 1; + gBattleAnimArgs[ARG_RET_ID] = gAnimDisableStructPtr->furyCutterCounter & 1; DestroyAnimVisualTask(taskId); } void AnimTask_GetFuryCutterHitCount(u8 taskId) { - gBattleAnimArgs[7] = gAnimDisableStructPtr->furyCutterCounter; + gBattleAnimArgs[ARG_RET_ID] = gAnimDisableStructPtr->furyCutterCounter; DestroyAnimVisualTask(taskId); } diff --git a/src/battle_anim_effects_3.c b/src/battle_anim_effects_3.c index 1778ce881..fd68bbd37 100755 --- a/src/battle_anim_effects_3.c +++ b/src/battle_anim_effects_3.c @@ -26,100 +26,101 @@ extern const struct SpriteTemplate gThoughtBubbleSpriteTemplate; -void AnimBlackSmoke(struct Sprite *); -void AnimWhiteHalo(struct Sprite *); -void AnimTealAlert(struct Sprite *); -void AnimMeanLookEye(struct Sprite *); -void AnimSpikes(struct Sprite *); -void AnimLeer(struct Sprite *); -void AnimLetterZ(struct Sprite *); -void AnimFang(struct Sprite *); -void AnimSpotlight(struct Sprite *); -void AnimClappingHand(struct Sprite *); -void AnimClappingHand2(struct Sprite *); -void AnimRapidSpin(struct Sprite *); -void AnimTriAttackTriangle(struct Sprite *); -void AnimBatonPassPokeball(struct Sprite *); -void AnimWishStar(struct Sprite *); -void AnimMiniTwinklingStar(struct Sprite *); -void AnimSwallowBlueOrb(struct Sprite *); -void AnimGreenStar(struct Sprite *); -void AnimWeakFrustrationAngerMark(struct Sprite *); -void AnimSweetScentPetal(struct Sprite *); -void AnimPainSplitProjectile(struct Sprite *); -void AnimFlatterConfetti(struct Sprite *); -void AnimFlatterSpotlight(struct Sprite *); -void AnimReversalOrb(struct Sprite *); -void AnimYawnCloud(struct Sprite *); -void AnimSmokeBallEscapeCloud(struct Sprite *); -void AnimFacadeSweatDrop(struct Sprite *); -void AnimRoarNoiseLine(struct Sprite *); -void AnimGlareEyeDot(struct Sprite *); -void AnimAssistPawprint(struct Sprite *); -void AnimSmellingSaltsHand(struct Sprite *); -void AnimSmellingSaltExclamation(struct Sprite *); -void AnimHelpingHandClap(struct Sprite *); -void AnimForesightMagnifyingGlass(struct Sprite *); -void AnimMeteorMashStar(struct Sprite *); -void AnimBlockX(struct Sprite *); -void sub_815FE80(struct Sprite *); -void AnimParticuleBurst(struct Sprite *); -void AnimKnockOffStrike(struct Sprite *); -void AnimRecycle(struct Sprite *); -static void AnimBlackSmokeStep(struct Sprite *); +static void AnimBlackSmoke(struct Sprite *); +static void AnimBlackSmoke_Step(struct Sprite *); +static void AnimWhiteHalo(struct Sprite *); static void AnimWhiteHalo_Step1(struct Sprite *); static void AnimWhiteHalo_Step2(struct Sprite *); +static void AnimTealAlert(struct Sprite *); +static void AnimMeanLookEye(struct Sprite *); static void AnimMeanLookEye_Step1(struct Sprite *); static void AnimMeanLookEye_Step2(struct Sprite *); static void AnimMeanLookEye_Step3(struct Sprite *); static void AnimMeanLookEye_Step4(struct Sprite *); -static void SetPsychicBackground_Step(u8); -static void FadeScreenToWhite_Step(u8); +static void AnimSpikes(struct Sprite *); static void AnimSpikes_Step1(struct Sprite *); static void AnimSpikes_Step2(struct Sprite *); +static void AnimLeer(struct Sprite *); +static void AnimLetterZ(struct Sprite *); +static void AnimFang(struct Sprite *); +static void AnimSpotlight(struct Sprite *); static void AnimSpotlight_Step1(struct Sprite *); static void AnimSpotlight_Step2(struct Sprite *); +static void AnimClappingHand(struct Sprite *); static void AnimClappingHand_Step(struct Sprite *); +static void AnimClappingHand2(struct Sprite *); +static void AnimRapidSpin(struct Sprite *); static void AnimRapidSpin_Step(struct Sprite *); -static void RapinSpinMonElevation_Step(u8); -static void TormentAttacker_Step(u8); -static void TormentAttacker_Callback(struct Sprite *); +static void AnimTriAttackTriangle(struct Sprite *); +static void AnimBatonPassPokeball(struct Sprite *); +static void AnimWishStar(struct Sprite *); static void AnimWishStar_Step(struct Sprite *); +static void AnimMiniTwinklingStar(struct Sprite *); static void AnimMiniTwinklingStar_Step(struct Sprite *); +static void AnimSwallowBlueOrb(struct Sprite *); +static void AnimGreenStar(struct Sprite *); static void AnimGreenStar_Step1(struct Sprite *); static void AnimGreenStar_Step2(struct Sprite *); static void AnimGreenStar_Callback(struct Sprite *); -static void AnimTask_RockMonBackAndForthStep(u8); -static void AnimSweetScentPetalStep(struct Sprite *); -static void AnimTask_FlailMovementStep(u8); -static void AnimFlatterConfettiStep(struct Sprite *); -static void AnimFlatterSpotlightStep(struct Sprite *); -static void AnimReversalOrbStep(struct Sprite *); -static void AnimTask_RolePlaySilhouetteStep1(u8); -static void AnimTask_RolePlaySilhouetteStep2(u8); -static void AnimTask_AcidArmorStep(u8); -static void AnimTask_DeepInhaleStep(u8); -static void AnimYawnCloudStep(struct Sprite *); -static void AnimTask_SquishAndSweatDropletsStep(u8); +static void AnimWeakFrustrationAngerMark(struct Sprite *); +static void AnimSweetScentPetal(struct Sprite *); +static void AnimSweetScentPetal_Step(struct Sprite *); +static void AnimPainSplitProjectile(struct Sprite *); +static void AnimFlatterConfetti(struct Sprite *); +static void AnimFlatterConfetti_Step(struct Sprite *); +static void AnimFlatterSpotlight(struct Sprite *); +static void AnimFlatterSpotlight_Step(struct Sprite *); +static void AnimReversalOrb(struct Sprite *); +static void AnimReversalOrb_Step(struct Sprite *); +static void AnimYawnCloud(struct Sprite *); +static void AnimYawnCloud_Step(struct Sprite *); +static void AnimSmokeBallEscapeCloud(struct Sprite *); +static void AnimFacadeSweatDrop(struct Sprite *); +static void AnimRoarNoiseLine(struct Sprite *); +static void AnimRoarNoiseLine_Step(struct Sprite *); +static void AnimGlareEyeDot(struct Sprite *); +static void AnimAssistPawprint(struct Sprite *); +static void AnimSmellingSaltsHand(struct Sprite *); +static void AnimSmellingSaltsHand_Step(struct Sprite *); +static void AnimSmellingSaltExclamation(struct Sprite *); +static void AnimSmellingSaltExclamation_Step(struct Sprite *); +static void AnimHelpingHandClap(struct Sprite *); +static void AnimHelpingHandClap_Step(struct Sprite *); +static void AnimForesightMagnifyingGlass(struct Sprite *); +static void AnimForesightMagnifyingGlass_Step(struct Sprite *); +static void AnimMeteorMashStar(struct Sprite *); +static void AnimMeteorMashStar_Step(struct Sprite *sprite); +static void AnimBlockX(struct Sprite *); +static void AnimBlockX_Step(struct Sprite *); +static void sub_815FE80(struct Sprite *); +static void AnimKnockOffStrike(struct Sprite *); +static void AnimKnockOffStrike_Step(struct Sprite *sprite); +static void AnimRecycle(struct Sprite *); +static void AnimRecycle_Step(struct Sprite *); +static void SetPsychicBackground_Step(u8); +static void FadeScreenToWhite_Step(u8); +static void RapinSpinMonElevation_Step(u8); +static void TormentAttacker_Step(u8); +static void TormentAttacker_Callback(struct Sprite *); +static void AnimTask_RockMonBackAndForth_Step(u8); +static void AnimTask_FlailMovement_Step(u8); +static void AnimTask_RolePlaySilhouette_Step1(u8); +static void AnimTask_RolePlaySilhouette_Step2(u8); +static void AnimTask_AcidArmor_Step(u8); +static void AnimTask_DeepInhale_Step(u8); +static void AnimTask_SquishAndSweatDroplets_Step(u8); static void CreateSweatDroplets(u8, bool8); -static void AnimTask_FacadeColorBlendStep(u8); -static void AnimRoarNoiseLineStep(struct Sprite *); -static void AnimTask_GlareEyeDotsStep(u8); +static void AnimTask_FacadeColorBlend_Step(u8); +static void AnimTask_GlareEyeDots_Step(u8); static void GetGlareEyeDotCoords(s16, s16, s16, s16, u8, u8, s16 *, s16 *); -static void AnimTask_BarrageBallStep(u8); -static void AnimSmellingSaltsHand_Step(struct Sprite *); -static void AnimTask_SmellingSaltsSquishStep(u8); -static void AnimSmellingSaltExclamationStep(struct Sprite *); -static void AnimHelpingHandClapStep(struct Sprite *); -static void AnimTask_HelpingHandAttackerMovementStep(u8); -static void AnimForesightMagnifyingGlassStep(struct Sprite *); +static void AnimTask_BarrageBall_Step(u8); +static void AnimTask_SmellingSaltsSquish_Step(u8); +static void AnimTask_HelpingHandAttackerMovement_Step(u8); static void AnimTask_MonToSubstituteDoll(u8); -static void AnimBlockXStep(struct Sprite *); static void AnimTask_OdorSleuthMovementWaitFinish(u8); static void MoveOdorSleuthClone(struct Sprite *); -static void AnimTask_TeeterDanceMovementStep(u8); -static void AnimRecycleStep(struct Sprite *); -static void AnimTask_SlackOffSquishStep(u8); +static void AnimTask_TeeterDanceMovement_Step(u8); +static void AnimTask_SlackOffSquish_Step(u8); const union AnimCmd gScratchAnimCmds[] = { @@ -1079,7 +1080,7 @@ const struct SpriteTemplate gUnknown_085CE8F4 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = AnimParticuleBurst, + .callback = AnimParticleBurst, }; const struct SpriteTemplate gBlockXSpriteTemplate = @@ -1179,7 +1180,7 @@ const union AffineAnimCmd gSlackOffSquishAffineAnimCmds[] = AFFINEANIMCMD_END, }; -void AnimBlackSmoke(struct Sprite *sprite) +static void AnimBlackSmoke(struct Sprite *sprite) { sprite->pos1.x += gBattleAnimArgs[0]; sprite->pos1.y += gBattleAnimArgs[1]; @@ -1190,10 +1191,10 @@ void AnimBlackSmoke(struct Sprite *sprite) sprite->data[0] = -gBattleAnimArgs[2]; sprite->data[1] = gBattleAnimArgs[4]; - sprite->callback = AnimBlackSmokeStep; + sprite->callback = AnimBlackSmoke_Step; } -static void AnimBlackSmokeStep(struct Sprite *sprite) +static void AnimBlackSmoke_Step(struct Sprite *sprite) { if (sprite->data[1] > 0) { @@ -1217,7 +1218,7 @@ void AnimTask_SmokescreenImpact(u8 taskId) DestroyAnimVisualTask(taskId); } -void AnimWhiteHalo(struct Sprite *sprite) +static void AnimWhiteHalo(struct Sprite *sprite) { sprite->data[0] = 90; sprite->callback = WaitAnimForDuration; @@ -1232,7 +1233,7 @@ static void AnimWhiteHalo_Step1(struct Sprite *sprite) SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(sprite->data[1], 16 - sprite->data[1])); if (--sprite->data[1] < 0) { - sprite->invisible = 1; + sprite->invisible = TRUE; sprite->callback = AnimWhiteHalo_Step2; } } @@ -1244,7 +1245,7 @@ static void AnimWhiteHalo_Step2(struct Sprite *sprite) DestroyAnimSprite(sprite); } -void AnimTealAlert(struct Sprite *sprite) +static void AnimTealAlert(struct Sprite *sprite) { u16 rotation; u8 x = GetBattlerSpriteCoord(gBattleAnimTarget, 2); @@ -1266,7 +1267,7 @@ void AnimTealAlert(struct Sprite *sprite) StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); } -void AnimMeanLookEye(struct Sprite *sprite) +static void AnimMeanLookEye(struct Sprite *sprite) { SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT2_ALL | BLDCNT_EFFECT_BLEND); SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(0, 16)); @@ -1292,7 +1293,7 @@ static void AnimMeanLookEye_Step1(struct Sprite *sprite) SetGpuReg(REG_OFFSET_BLDALPHA, 0); StartSpriteAffineAnim(sprite, 1); sprite->data[2] = 0; - sprite->invisible = 1; + sprite->invisible = TRUE; sprite->affineAnimPaused = 1; sprite->callback = AnimMeanLookEye_Step2; } @@ -1302,7 +1303,7 @@ static void AnimMeanLookEye_Step2(struct Sprite *sprite) { if (sprite->data[2]++ > 9) { - sprite->invisible = 0; + sprite->invisible = FALSE; sprite->affineAnimPaused = 0; if (sprite->affineAnimEnded) sprite->callback = AnimMeanLookEye_Step3; @@ -1359,7 +1360,7 @@ static void AnimMeanLookEye_Step4(struct Sprite *sprite) } if (sprite->data[0] == 0) - sprite->invisible = 1; + sprite->invisible = TRUE; if (sprite->data[0] < 0) { @@ -1426,7 +1427,7 @@ static void FadeScreenToWhite_Step(u8 taskId) DestroyTask(taskId); } -void AnimSpikes(struct Sprite *sprite) +static void AnimSpikes(struct Sprite *sprite) { u16 x; u16 y; @@ -1466,7 +1467,7 @@ static void AnimSpikes_Step2(struct Sprite *sprite) DestroyAnimSprite(sprite); } -void AnimLeer(struct Sprite *sprite) +static void AnimLeer(struct Sprite *sprite) { SetSpriteCoordsToAnimAttackerCoords(sprite); SetAnimSpriteInitialXOffset(sprite, gBattleAnimArgs[0]); @@ -1475,7 +1476,7 @@ void AnimLeer(struct Sprite *sprite) StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); } -void AnimLetterZ(struct Sprite *sprite) +static void AnimLetterZ(struct Sprite *sprite) { int var0; if (sprite->data[0] == 0) @@ -1513,7 +1514,7 @@ void AnimLetterZ(struct Sprite *sprite) DestroyAnimSprite(sprite); } -void AnimFang(struct Sprite *sprite) +static void AnimFang(struct Sprite *sprite) { if (sprite->animEnded) DestroyAnimSprite(sprite); @@ -1522,9 +1523,9 @@ void AnimFang(struct Sprite *sprite) void AnimTask_IsTargetPlayerSide(u8 taskId) { if (GetBattlerSide(gBattleAnimTarget) == B_SIDE_OPPONENT) - gBattleAnimArgs[7] = 0; + gBattleAnimArgs[ARG_RET_ID] = FALSE; else - gBattleAnimArgs[7] = 1; + gBattleAnimArgs[ARG_RET_ID] = TRUE; DestroyAnimVisualTask(taskId); } @@ -1532,14 +1533,14 @@ void AnimTask_IsTargetPlayerSide(u8 taskId) void AnimTask_IsHealingMove(u8 taskId) { if (gAnimMoveDmg > 0) - gBattleAnimArgs[7] = 0; + gBattleAnimArgs[ARG_RET_ID] = FALSE; else - gBattleAnimArgs[7] = 1; + gBattleAnimArgs[ARG_RET_ID] = TRUE; DestroyAnimVisualTask(taskId); } -void AnimSpotlight(struct Sprite *sprite) +static void AnimSpotlight(struct Sprite *sprite) { SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WIN01_BG_ALL | WINOUT_WIN01_OBJ | WINOUT_WIN01_CLR | WINOUT_WINOBJ_BG_ALL | WINOUT_WINOBJ_OBJ); SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_OBJWIN_ON); @@ -1551,7 +1552,7 @@ void AnimSpotlight(struct Sprite *sprite) InitSpritePosToAnimTarget(sprite, FALSE); sprite->oam.objMode = ST_OAM_OBJ_WINDOW; - sprite->invisible = 1; + sprite->invisible = TRUE; sprite->callback = AnimSpotlight_Step1; } @@ -1560,7 +1561,7 @@ static void AnimSpotlight_Step1(struct Sprite *sprite) switch (sprite->data[0]) { case 0: - sprite->invisible = 0; + sprite->invisible = FALSE; if (sprite->affineAnimEnded) sprite->data[0]++; break; @@ -1590,7 +1591,7 @@ static void AnimSpotlight_Step1(struct Sprite *sprite) case 5: if (sprite->affineAnimEnded) { - sprite->invisible = 1; + sprite->invisible = TRUE; sprite->callback = AnimSpotlight_Step2; } break; @@ -1604,7 +1605,7 @@ static void AnimSpotlight_Step2(struct Sprite *sprite) DestroyAnimSprite(sprite); } -void AnimClappingHand(struct Sprite *sprite) +static void AnimClappingHand(struct Sprite *sprite) { if (gBattleAnimArgs[3] == 0) { @@ -1665,7 +1666,7 @@ static void AnimClappingHand_Step(struct Sprite *sprite) DestroyAnimSprite(sprite); } -void AnimClappingHand2(struct Sprite *sprite) +static void AnimClappingHand2(struct Sprite *sprite) { sprite->oam.objMode = ST_OAM_OBJ_WINDOW; sprite->data[3] = 255; @@ -1706,7 +1707,7 @@ void AnimTask_RemoveSpotlight(u8 taskId) DestroyAnimVisualTask(taskId); } -void AnimRapidSpin(struct Sprite *sprite) +static void AnimRapidSpin(struct Sprite *sprite) { if (gBattleAnimArgs[0] == 0) { @@ -2013,7 +2014,7 @@ static void TormentAttacker_Callback(struct Sprite *sprite) } } -void AnimTriAttackTriangle(struct Sprite *sprite) +static void AnimTriAttackTriangle(struct Sprite *sprite) { if (sprite->data[0] == 0) InitSpritePosToAnimAttacker(sprite, FALSE); @@ -2022,13 +2023,13 @@ void AnimTriAttackTriangle(struct Sprite *sprite) { u16 var = sprite->data[0]; if ((var & 1) == 0) - sprite->invisible = 1; + sprite->invisible = TRUE; else - sprite->invisible = 0; + sprite->invisible = FALSE; } if (sprite->data[0] > 30) - sprite->invisible = 0; + sprite->invisible = FALSE; if (sprite->data[0] == 61) { @@ -2059,7 +2060,7 @@ void AnimTask_DefenseCurlDeformMon(u8 taskId) } } -void AnimBatonPassPokeball(struct Sprite *sprite) +static void AnimBatonPassPokeball(struct Sprite *sprite) { u8 spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER); @@ -2089,7 +2090,7 @@ void AnimBatonPassPokeball(struct Sprite *sprite) if (++sprite->data[3] == 9) { sprite->data[3] = 0; - gSprites[spriteId].invisible = 1; + gSprites[spriteId].invisible = TRUE; ResetSpriteRotScale(spriteId); sprite->data[0]++; } @@ -2102,7 +2103,7 @@ void AnimBatonPassPokeball(struct Sprite *sprite) } } -void AnimWishStar(struct Sprite *sprite) +static void AnimWishStar(struct Sprite *sprite) { if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) sprite->pos1.x = -16; @@ -2140,7 +2141,7 @@ static void AnimWishStar_Step(struct Sprite *sprite) DestroyAnimSprite(sprite); } -void AnimMiniTwinklingStar(struct Sprite *sprite) +static void AnimMiniTwinklingStar(struct Sprite *sprite) { u8 rand; s8 y; @@ -2172,11 +2173,11 @@ static void AnimMiniTwinklingStar_Step(struct Sprite *sprite) else { if (sprite->data[1] == 2) - sprite->invisible = 0; + sprite->invisible = FALSE; if (sprite->data[1] == 3) { - sprite->invisible = 1; + sprite->invisible = TRUE; sprite->data[1] = -1; } @@ -2215,7 +2216,7 @@ void AnimTask_SpitUpDeformMon(u8 taskId) } } -void AnimSwallowBlueOrb(struct Sprite *sprite) +static void AnimSwallowBlueOrb(struct Sprite *sprite) { switch (sprite->data[0]) { @@ -2363,11 +2364,11 @@ void AnimTask_TransformMon(u8 taskId) void AnimTask_IsMonInvisible(u8 taskId) { - gBattleAnimArgs[7] = gSprites[gBattlerSpriteIds[gBattleAnimAttacker]].invisible; + gBattleAnimArgs[ARG_RET_ID] = gSprites[gBattlerSpriteIds[gBattleAnimAttacker]].invisible; DestroyAnimVisualTask(taskId); } -void AnimTask_CastformGfxChange(u8 taskId) +void AnimTask_CastformGfxDataChange(u8 taskId) { HandleSpeciesGfxDataChange(gBattleAnimAttacker, gBattleAnimTarget, TRUE); DestroyAnimVisualTask(taskId); @@ -2388,7 +2389,7 @@ void AnimTask_MorningSunLightBeam(u8 taskId) SetAnimBgAttribute(1, BG_ANIM_CHAR_BASE_BLOCK, 1); sub_80A6B30(&animBg); - sub_80A6D60(&animBg, &gUnknown_08C2A6EC, 0); + AnimLoadCompressedBgTilemapHandleContest(&animBg, &gBattleAnimMaskTilemap_LightBeam, 0); if (IsContest()) { gBattle_BG1_X = -56; @@ -2404,8 +2405,8 @@ void AnimTask_MorningSunLightBeam(u8 taskId) gBattle_BG1_Y = 0; } - AnimLoadCompressedBgGfx(animBg.bgId, gUnknown_08C2A634, animBg.tilesOffset); - LoadCompressedPalette(gUnknown_08C2A6D4, animBg.paletteId * 16, 32); + AnimLoadCompressedBgGfx(animBg.bgId, gBattleAnimMaskImage_LightBeam, animBg.tilesOffset); + LoadCompressedPalette(gBattleAnimMaskPalette_LightBeam, animBg.paletteId * 16, 32); gTasks[taskId].data[10] = gBattle_BG1_X; gTasks[taskId].data[11] = gBattle_BG1_Y; @@ -2465,7 +2466,7 @@ void AnimTask_MorningSunLightBeam(u8 taskId) } } -void AnimGreenStar(struct Sprite *sprite) +static void AnimGreenStar(struct Sprite *sprite) { s16 xOffset; u8 spriteId1; @@ -2492,8 +2493,8 @@ void AnimGreenStar(struct Sprite *sprite) gSprites[spriteId2].data[2] = gBattleAnimArgs[1]; gSprites[spriteId1].data[7] = -1; gSprites[spriteId2].data[7] = -1; - gSprites[spriteId1].invisible = 1; - gSprites[spriteId2].invisible = 1; + gSprites[spriteId1].invisible = TRUE; + gSprites[spriteId2].invisible = TRUE; gSprites[spriteId1].callback = AnimGreenStar_Callback; gSprites[spriteId2].callback = AnimGreenStar_Callback; @@ -2510,19 +2511,19 @@ static void AnimGreenStar_Step1(struct Sprite *sprite) sprite->data[3] &= 0xFF; if (sprite->data[4] == 0 && sprite->pos2.y < -8) { - gSprites[sprite->data[6]].invisible = 0; + gSprites[sprite->data[6]].invisible = FALSE; sprite->data[4]++; } if (sprite->data[4] == 1 && sprite->pos2.y < -16) { - gSprites[sprite->data[7]].invisible = 0; + gSprites[sprite->data[7]].invisible = FALSE; sprite->data[4]++; } if (--sprite->data[1] == -1) { - sprite->invisible = 1; + sprite->invisible = TRUE; sprite->callback = AnimGreenStar_Step2; } } @@ -2548,7 +2549,7 @@ static void AnimGreenStar_Callback(struct Sprite *sprite) sprite->data[3] &= 0xFF; if (--sprite->data[1] == -1) { - sprite->invisible = 1; + sprite->invisible = TRUE; sprite->callback = SpriteCallbackDummy; } } @@ -2569,7 +2570,7 @@ void AnimTask_DoomDesireLightBeam(u8 taskId) SetAnimBgAttribute(1, BG_ANIM_CHAR_BASE_BLOCK, 1); sub_80A6B30(&animBg); - sub_80A6D60(&animBg, &gUnknown_08C2A6EC, 0); + AnimLoadCompressedBgTilemapHandleContest(&animBg, &gBattleAnimMaskTilemap_LightBeam, 0); if (IsContest()) { gBattle_BG1_X = -56; @@ -2600,8 +2601,8 @@ void AnimTask_DoomDesireLightBeam(u8 taskId) gBattle_BG1_Y = 0; } - AnimLoadCompressedBgGfx(animBg.bgId, gUnknown_08C2A634, animBg.tilesOffset); - LoadCompressedPalette(gUnknown_08C2A6D4, animBg.paletteId * 16, 32); + AnimLoadCompressedBgGfx(animBg.bgId, gBattleAnimMaskImage_LightBeam, animBg.tilesOffset); + LoadCompressedPalette(gBattleAnimMaskPalette_LightBeam, animBg.paletteId * 16, 32); gTasks[taskId].data[10] = gBattle_BG1_X; gTasks[taskId].data[11] = gBattle_BG1_Y; gTasks[taskId].data[0]++; @@ -2673,7 +2674,7 @@ void AnimTask_StrongFrustrationGrowAndShrink(u8 taskId) // Animates an anger mark near the mon's head. // arg 0: initial x pixel offset // arg 1: initial y pixel offset -void AnimWeakFrustrationAngerMark(struct Sprite *sprite) +static void AnimWeakFrustrationAngerMark(struct Sprite *sprite) { if (sprite->data[0] == 0) { @@ -2737,10 +2738,10 @@ void AnimTask_RockMonBackAndForth(u8 taskId) } PrepareBattlerSpriteForRotScale(task->data[15], ST_OAM_OBJ_NORMAL); - task->func = AnimTask_RockMonBackAndForthStep; + task->func = AnimTask_RockMonBackAndForth_Step; } -static void AnimTask_RockMonBackAndForthStep(u8 taskId) +static void AnimTask_RockMonBackAndForth_Step(u8 taskId) { struct Task *task = &gTasks[taskId]; @@ -2798,7 +2799,7 @@ static void AnimTask_RockMonBackAndForthStep(u8 taskId) // arg 0: initial y pixel offset // arg 1: sprite anim num // arg 2: unused -void AnimSweetScentPetal(struct Sprite *sprite) +static void AnimSweetScentPetal(struct Sprite *sprite) { if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER) { @@ -2813,10 +2814,10 @@ void AnimSweetScentPetal(struct Sprite *sprite) sprite->data[2] = gBattleAnimArgs[2]; StartSpriteAnim(sprite, gBattleAnimArgs[1]); - sprite->callback = AnimSweetScentPetalStep; + sprite->callback = AnimSweetScentPetal_Step; } -static void AnimSweetScentPetalStep(struct Sprite *sprite) +static void AnimSweetScentPetal_Step(struct Sprite *sprite) { sprite->data[0] += 3; if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER) @@ -2857,10 +2858,10 @@ void AnimTask_FlailMovement(u8 taskId) task->data[15] = GetAnimBattlerSpriteId(gBattleAnimArgs[0]); PrepareBattlerSpriteForRotScale(task->data[15], ST_OAM_OBJ_NORMAL); - task->func = AnimTask_FlailMovementStep; + task->func = AnimTask_FlailMovement_Step; } -static void AnimTask_FlailMovementStep(u8 taskId) +static void AnimTask_FlailMovement_Step(u8 taskId) { int temp; struct Task *task = &gTasks[taskId]; @@ -2935,7 +2936,7 @@ static void AnimTask_FlailMovementStep(u8 taskId) // arg 0: initial x pixel offset // arg 1: initial y pixel offset // arg 2: which battler -void AnimPainSplitProjectile(struct Sprite *sprite) +static void AnimPainSplitProjectile(struct Sprite *sprite) { if (!sprite->data[0]) { @@ -3031,7 +3032,7 @@ void AnimTask_PainSplitMovement(u8 taskId) // Move a piece of confetti in a slightly-random speed across the screen. // arg 0: which battler the confetti starts from -void AnimFlatterConfetti(struct Sprite *sprite) +static void AnimFlatterConfetti(struct Sprite *sprite) { u8 tileOffset; int rand1; @@ -3059,10 +3060,10 @@ void AnimFlatterConfetti(struct Sprite *sprite) sprite->pos1.x = 248; sprite->pos1.y = 104; - sprite->callback = AnimFlatterConfettiStep; + sprite->callback = AnimFlatterConfetti_Step; } -static void AnimFlatterConfettiStep(struct Sprite *sprite) +static void AnimFlatterConfetti_Step(struct Sprite *sprite) { if (sprite->data[2] == 0) { @@ -3088,7 +3089,7 @@ static void AnimFlatterConfettiStep(struct Sprite *sprite) // arg 0: initial x pixel offset // arg 1: initial y pixel offset // arg 2: duration of fully-opened spotlight -void AnimFlatterSpotlight(struct Sprite *sprite) +static void AnimFlatterSpotlight(struct Sprite *sprite) { SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WIN01_BG_ALL | WINOUT_WIN01_OBJ | WINOUT_WIN01_CLR | WINOUT_WINOBJ_BG_ALL | WINOUT_WINOBJ_OBJ); SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_OBJWIN_ON); @@ -3100,16 +3101,16 @@ void AnimFlatterSpotlight(struct Sprite *sprite) sprite->data[0] = gBattleAnimArgs[2]; InitSpritePosToAnimTarget(sprite, FALSE); sprite->oam.objMode = ST_OAM_OBJ_WINDOW; - sprite->invisible = 1; - sprite->callback = AnimFlatterSpotlightStep; + sprite->invisible = TRUE; + sprite->callback = AnimFlatterSpotlight_Step; } -static void AnimFlatterSpotlightStep(struct Sprite *sprite) +static void AnimFlatterSpotlight_Step(struct Sprite *sprite) { switch (sprite->data[1]) { case 0: - sprite->invisible = 0; + sprite->invisible = FALSE; if (sprite->affineAnimEnded) sprite->data[1]++; break; @@ -3123,7 +3124,7 @@ static void AnimFlatterSpotlightStep(struct Sprite *sprite) case 2: if (sprite->affineAnimEnded) { - sprite->invisible = 1; + sprite->invisible = TRUE; sprite->data[1]++; } break; @@ -3138,17 +3139,17 @@ static void AnimFlatterSpotlightStep(struct Sprite *sprite) // Spins an orb around the attacking mon, while its path radius grows and shrinks. // arg 0: duration // arg 1: initial wave offset -void AnimReversalOrb(struct Sprite *sprite) +static void AnimReversalOrb(struct Sprite *sprite) { sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2); sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET); sprite->data[0] = gBattleAnimArgs[0]; sprite->data[1] = gBattleAnimArgs[1]; - sprite->callback = AnimReversalOrbStep; + sprite->callback = AnimReversalOrb_Step; sprite->callback(sprite); } -static void AnimReversalOrbStep(struct Sprite *sprite) +static void AnimReversalOrb_Step(struct Sprite *sprite) { sprite->pos2.x = Sin(sprite->data[1], sprite->data[2] >> 8); sprite->pos2.y = Cos(sprite->data[1], sprite->data[3] >> 8); @@ -3258,10 +3259,10 @@ void AnimTask_RolePlaySilhouette(u8 taskId) SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(gTasks[taskId].data[1], 16 - gTasks[taskId].data[1])); gTasks[taskId].data[0] = spriteId; - gTasks[taskId].func = AnimTask_RolePlaySilhouetteStep1; + gTasks[taskId].func = AnimTask_RolePlaySilhouette_Step1; } -static void AnimTask_RolePlaySilhouetteStep1(u8 taskId) +static void AnimTask_RolePlaySilhouette_Step1(u8 taskId) { if (gTasks[taskId].data[10]++ > 1) { @@ -3272,12 +3273,12 @@ static void AnimTask_RolePlaySilhouetteStep1(u8 taskId) { gTasks[taskId].data[10] = 256; gTasks[taskId].data[11] = 256; - gTasks[taskId].func = AnimTask_RolePlaySilhouetteStep2; + gTasks[taskId].func = AnimTask_RolePlaySilhouette_Step2; } } } -static void AnimTask_RolePlaySilhouetteStep2(u8 taskId) +static void AnimTask_RolePlaySilhouette_Step2(u8 taskId) { u8 spriteId = gTasks[taskId].data[0]; gTasks[taskId].data[10] -= 16; @@ -3353,10 +3354,10 @@ void AnimTask_AcidArmor(u8 taskId) scanlineParams.initState = 1; scanlineParams.unused9 = 0; ScanlineEffect_SetParams(scanlineParams); - task->func = AnimTask_AcidArmorStep; + task->func = AnimTask_AcidArmor_Step; } -static void AnimTask_AcidArmorStep(u8 taskId) +static void AnimTask_AcidArmor_Step(u8 taskId) { struct Task *task; s16 var1; @@ -3478,10 +3479,10 @@ void AnimTask_DeepInhale(u8 taskId) task->data[0] = 0; task->data[15] = GetAnimBattlerSpriteId(gBattleAnimArgs[0]); PrepareAffineAnimInTaskData(&gTasks[taskId], task->data[15], gDeepInhaleAffineAnimCmds); - task->func = AnimTask_DeepInhaleStep; + task->func = AnimTask_DeepInhale_Step; } -static void AnimTask_DeepInhaleStep(u8 taskId) +static void AnimTask_DeepInhale_Step(u8 taskId) { u16 var0; @@ -3530,7 +3531,7 @@ static void UpdateYawnCloudPosition(struct Sprite *sprite) // Drifts a cloud in a wavy path towards the target mon. // arg 0: which affine anim -void AnimYawnCloud(struct Sprite *sprite) +static void AnimYawnCloud(struct Sprite *sprite) { s16 destX = sprite->pos1.x; s16 destY = sprite->pos1.y; @@ -3539,10 +3540,10 @@ void AnimYawnCloud(struct Sprite *sprite) StartSpriteAffineAnim(sprite, gBattleAnimArgs[0]); InitYawnCloudPosition(sprite, sprite->pos1.x, sprite->pos1.y, destX, destY, 64); sprite->data[0] = 0; - sprite->callback = AnimYawnCloudStep; + sprite->callback = AnimYawnCloud_Step; } -static void AnimYawnCloudStep(struct Sprite *sprite) +static void AnimYawnCloud_Step(struct Sprite *sprite) { int index; @@ -3567,8 +3568,8 @@ static void AnimYawnCloudStep(struct Sprite *sprite) // arg 0: ? // arg 1: initial x pixel offset // arg 2: initial y pixel offset -// arg 3: ? -void AnimSmokeBallEscapeCloud(struct Sprite *sprite) +// arg 3: time until destroyed +static void AnimSmokeBallEscapeCloud(struct Sprite *sprite) { sprite->data[0] = gBattleAnimArgs[3]; StartSpriteAffineAnim(sprite, gBattleAnimArgs[0]); @@ -3577,7 +3578,7 @@ void AnimSmokeBallEscapeCloud(struct Sprite *sprite) sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2) + gBattleAnimArgs[1]; sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET) + gBattleAnimArgs[2]; - sprite->callback = sub_810E2C8; + sprite->callback = DestroyAnimSpriteAfterTimer; } static void sub_815D8D8(u8 taskId) @@ -3683,7 +3684,7 @@ static void sub_815DA20(u8 taskId) } } -void sub_815DB90(u8 taskId) +void AnimTask_SlideMonForFocusBand(u8 taskId) { gTasks[taskId].data[15] = gBattlerSpriteIds[gBattleAnimAttacker]; gTasks[taskId].data[14] = gBattleAnimArgs[0]; @@ -3742,10 +3743,10 @@ void AnimTask_SquishAndSweatDroplets(u8 taskId) task->data[6] = GetBattlerSpriteSubpriority(battler); task->data[15] = GetAnimBattlerSpriteId(gBattleAnimArgs[0]); PrepareAffineAnimInTaskData(task, task->data[15], gFacadeSquishAffineAnimCmds); - task->func = AnimTask_SquishAndSweatDropletsStep; + task->func = AnimTask_SquishAndSweatDroplets_Step; } -static void AnimTask_SquishAndSweatDropletsStep(u8 taskId) +static void AnimTask_SquishAndSweatDroplets_Step(u8 taskId) { struct Task *task = &gTasks[taskId]; @@ -3821,7 +3822,7 @@ static void CreateSweatDroplets(u8 taskId, bool8 arg1) } } -void AnimFacadeSweatDrop(struct Sprite *sprite) +static void AnimFacadeSweatDrop(struct Sprite *sprite) { sprite->pos1.x += sprite->data[1]; sprite->pos1.y += sprite->data[2]; @@ -3843,10 +3844,10 @@ void AnimTask_FacadeColorBlend(u8 taskId) gTasks[taskId].data[1] = gBattleAnimArgs[1]; spriteId = GetAnimBattlerSpriteId(gBattleAnimArgs[0]); gTasks[taskId].data[2] = 0x100 + gSprites[spriteId].oam.paletteNum * 16; - gTasks[taskId].func = AnimTask_FacadeColorBlendStep; + gTasks[taskId].func = AnimTask_FacadeColorBlend_Step; } -static void AnimTask_FacadeColorBlendStep(u8 taskId) +static void AnimTask_FacadeColorBlend_Step(u8 taskId) { if (gTasks[taskId].data[1]) { @@ -3863,7 +3864,8 @@ static void AnimTask_FacadeColorBlendStep(u8 taskId) } } -void sub_815DFCC(u8 taskId) +// The sliding circle effect used by Refresh and Aromatherapy +void AnimTask_StatusClearedEffect(u8 taskId) { sub_8117854( taskId, @@ -3883,7 +3885,7 @@ void sub_815DFCC(u8 taskId) // arg 0: initial x pixel offset // arg 1: initial y pixel offset // arg 2: which direction (0 = upward, 1 = downward, 2 = horizontal) -void AnimRoarNoiseLine(struct Sprite *sprite) +static void AnimRoarNoiseLine(struct Sprite *sprite) { if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_OPPONENT) gBattleAnimArgs[0] = -gBattleAnimArgs[0]; @@ -3913,10 +3915,10 @@ void AnimRoarNoiseLine(struct Sprite *sprite) sprite->hFlip = 1; } - sprite->callback = AnimRoarNoiseLineStep; + sprite->callback = AnimRoarNoiseLine_Step; } -static void AnimRoarNoiseLineStep(struct Sprite *sprite) +static void AnimRoarNoiseLine_Step(struct Sprite *sprite) { sprite->data[6] += sprite->data[0]; sprite->data[7] += sprite->data[1]; @@ -3953,10 +3955,10 @@ void AnimTask_GlareEyeDots(u8 taskId) task->data[12] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET) - GetBattlerSpriteCoordAttr(gBattleAnimAttacker, BATTLER_COORD_ATTR_HEIGHT) / 4; task->data[13] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2); task->data[14] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET); - task->func = AnimTask_GlareEyeDotsStep; + task->func = AnimTask_GlareEyeDots_Step; } -static void AnimTask_GlareEyeDotsStep(u8 taskId) +static void AnimTask_GlareEyeDots_Step(u8 taskId) { u8 i; s16 x, y; @@ -4050,7 +4052,7 @@ static void GetGlareEyeDotCoords(s16 arg0, s16 arg1, s16 arg2, s16 arg3, u8 arg4 *y = y2 >> 8; } -void AnimGlareEyeDot(struct Sprite *sprite) +static void AnimGlareEyeDot(struct Sprite *sprite) { if (++sprite->data[0] > 36) { @@ -4065,7 +4067,7 @@ void AnimGlareEyeDot(struct Sprite *sprite) // arg 2: destination x position // arg 3: destination y position // arg 4: duration -void AnimAssistPawprint(struct Sprite *sprite) +static void AnimAssistPawprint(struct Sprite *sprite) { sprite->pos1.x = gBattleAnimArgs[0]; sprite->pos1.y = gBattleAnimArgs[1]; @@ -4097,7 +4099,7 @@ void AnimTask_BarrageBall(u8 taskId) if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_OPPONENT) StartSpriteAffineAnim(&gSprites[task->data[15]], 1); - task->func = AnimTask_BarrageBallStep; + task->func = AnimTask_BarrageBall_Step; } else { @@ -4105,7 +4107,7 @@ void AnimTask_BarrageBall(u8 taskId) } } -static void AnimTask_BarrageBallStep(u8 taskId) +static void AnimTask_BarrageBall_Step(u8 taskId) { struct Task *task = &gTasks[taskId]; @@ -4152,7 +4154,7 @@ static void AnimTask_BarrageBallStep(u8 taskId) // arg 0: which battler // arg 1: horizontal flip // arg 2: num squishes -void AnimSmellingSaltsHand(struct Sprite *sprite) +static void AnimSmellingSaltsHand(struct Sprite *sprite) { u8 battler; @@ -4238,11 +4240,11 @@ void AnimTask_SmellingSaltsSquish(u8 taskId) gTasks[taskId].data[0] = gBattleAnimArgs[1]; gTasks[taskId].data[15] = GetAnimBattlerSpriteId(gBattleAnimArgs[0]); PrepareAffineAnimInTaskData(&gTasks[taskId], gTasks[taskId].data[15], gSmellingSaltsSquishAffineAnimCmds); - gTasks[taskId].func = AnimTask_SmellingSaltsSquishStep; + gTasks[taskId].func = AnimTask_SmellingSaltsSquish_Step; } } -static void AnimTask_SmellingSaltsSquishStep(u8 taskId) +static void AnimTask_SmellingSaltsSquish_Step(u8 taskId) { struct Task *task = &gTasks[taskId]; @@ -4275,7 +4277,7 @@ static void AnimTask_SmellingSaltsSquishStep(u8 taskId) // arg 0: which mon // arg 1: blink delay // arg 2: number of blinks -void AnimSmellingSaltExclamation(struct Sprite *sprite) +static void AnimSmellingSaltExclamation(struct Sprite *sprite) { if (gBattleAnimArgs[0] == ANIM_ATTACKER) { @@ -4295,10 +4297,10 @@ void AnimSmellingSaltExclamation(struct Sprite *sprite) sprite->data[1] = gBattleAnimArgs[1]; sprite->data[2] = 0; sprite->data[3] = gBattleAnimArgs[2]; - sprite->callback = AnimSmellingSaltExclamationStep; + sprite->callback = AnimSmellingSaltExclamation_Step; } -static void AnimSmellingSaltExclamationStep(struct Sprite *sprite) +static void AnimSmellingSaltExclamation_Step(struct Sprite *sprite) { if (++sprite->data[0] >= sprite->data[1]) { @@ -4313,7 +4315,7 @@ static void AnimSmellingSaltExclamationStep(struct Sprite *sprite) // Claps a hand several times. // arg 0: which hand // arg 1: -void AnimHelpingHandClap(struct Sprite *sprite) +static void AnimHelpingHandClap(struct Sprite *sprite) { if (gBattleAnimArgs[0] == 0) { @@ -4328,10 +4330,10 @@ void AnimHelpingHandClap(struct Sprite *sprite) } sprite->pos1.y = 56; - sprite->callback = AnimHelpingHandClapStep; + sprite->callback = AnimHelpingHandClap_Step; } -static void AnimHelpingHandClapStep(struct Sprite *sprite) +static void AnimHelpingHandClap_Step(struct Sprite *sprite) { switch (sprite->data[0]) { @@ -4445,10 +4447,10 @@ void AnimTask_HelpingHandAttackerMovement(u8 taskId) task->data[14] = 1; } - task->func = AnimTask_HelpingHandAttackerMovementStep; + task->func = AnimTask_HelpingHandAttackerMovement_Step; } -static void AnimTask_HelpingHandAttackerMovementStep(u8 taskId) +static void AnimTask_HelpingHandAttackerMovement_Step(u8 taskId) { struct Task *task = &gTasks[taskId]; @@ -4532,7 +4534,7 @@ static void AnimTask_HelpingHandAttackerMovementStep(u8 taskId) // Moves a magnifying glass around in straight lines. // arg 0: magnifying glass target mon -void AnimForesightMagnifyingGlass(struct Sprite *sprite) +static void AnimForesightMagnifyingGlass(struct Sprite *sprite) { if (gBattleAnimArgs[0] == ANIM_ATTACKER) { @@ -4549,10 +4551,10 @@ void AnimForesightMagnifyingGlass(struct Sprite *sprite) sprite->oam.priority = GetBattlerSpriteBGPriority(sprite->data[7]); sprite->oam.objMode = ST_OAM_OBJ_BLEND; - sprite->callback = AnimForesightMagnifyingGlassStep; + sprite->callback = AnimForesightMagnifyingGlass_Step; } -static void AnimForesightMagnifyingGlassStep(struct Sprite *sprite) +static void AnimForesightMagnifyingGlass_Step(struct Sprite *sprite) { u16 x, y; @@ -4644,7 +4646,7 @@ static void AnimForesightMagnifyingGlassStep(struct Sprite *sprite) SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(sprite->data[1], sprite->data[2])); if (++sprite->data[0] == 32) { - sprite->invisible = 1; + sprite->invisible = TRUE; sprite->data[5]++; } break; @@ -4654,7 +4656,7 @@ static void AnimForesightMagnifyingGlassStep(struct Sprite *sprite) } } -static void AnimMeteorMashStarStep(struct Sprite *sprite) +static void AnimMeteorMashStar_Step(struct Sprite *sprite) { sprite->pos2.x = ((sprite->data[2] - sprite->data[0]) * sprite->data[5]) / sprite->data[4]; sprite->pos2.y = ((sprite->data[3] - sprite->data[1]) * sprite->data[5]) / sprite->data[4]; @@ -4678,7 +4680,7 @@ static void AnimMeteorMashStarStep(struct Sprite *sprite) // arg 2: destination x pixel offset // arg 3: destination y pixel offset // arg 4: duration -void AnimMeteorMashStar(struct Sprite *sprite) +static void AnimMeteorMashStar(struct Sprite *sprite) { s16 y = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2); // unused local variable s16 x = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET); // unused local variable @@ -4699,7 +4701,7 @@ void AnimMeteorMashStar(struct Sprite *sprite) sprite->data[4] = gBattleAnimArgs[4]; sprite->pos1.x = sprite->data[0]; sprite->pos1.y = sprite->data[1]; - sprite->callback = AnimMeteorMashStarStep; + sprite->callback = AnimMeteorMashStar_Step; } void AnimTask_MonToSubstitute(u8 taskId) @@ -4723,7 +4725,7 @@ void AnimTask_MonToSubstitute(u8 taskId) { gTasks[taskId].data[3] = 0; ResetSpriteRotScale(spriteId); - gSprites[spriteId].invisible = 1; + gSprites[spriteId].invisible = TRUE; gTasks[taskId].data[0]++; } } @@ -4752,7 +4754,7 @@ static void AnimTask_MonToSubstituteDoll(u8 taskId) case 0: gSprites[spriteId].pos2.y = -200; gSprites[spriteId].pos2.x = 200; - gSprites[spriteId].invisible = 0; + gSprites[spriteId].invisible = FALSE; gTasks[taskId].data[10] = 0; gTasks[taskId].data[0]++; break; @@ -4798,7 +4800,7 @@ static void AnimTask_MonToSubstituteDoll(u8 taskId) // Moves down an X that flickers and disappears. // No args. -void AnimBlockX(struct Sprite *sprite) +static void AnimBlockX(struct Sprite *sprite) { s16 y; @@ -4815,10 +4817,10 @@ void AnimBlockX(struct Sprite *sprite) sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, 3); sprite->pos2.y = y; - sprite->callback = AnimBlockXStep; + sprite->callback = AnimBlockX_Step; } -static void AnimBlockXStep(struct Sprite *sprite) +static void AnimBlockX_Step(struct Sprite *sprite) { switch (sprite->data[0]) { @@ -4922,13 +4924,13 @@ void AnimTask_OdorSleuthMovement(u8 taskId) if (!gBattleSpritesDataPtr->battlerData[gBattleAnimTarget].invisible) { - gSprites[spriteId2].invisible = 0; - gSprites[spriteId1].invisible = 1; + gSprites[spriteId2].invisible = FALSE; + gSprites[spriteId1].invisible = TRUE; } else { - gSprites[spriteId2].invisible = 1; - gSprites[spriteId1].invisible = 1; + gSprites[spriteId2].invisible = TRUE; + gSprites[spriteId1].invisible = TRUE; } gSprites[spriteId2].oam.objMode = ST_OAM_OBJ_NORMAL; @@ -4983,15 +4985,15 @@ static void MoveOdorSleuthClone(struct Sprite *sprite) void AnimTask_GetReturnPowerLevel(u8 taskId) { - gBattleAnimArgs[7] = 0; + gBattleAnimArgs[ARG_RET_ID] = 0; if (gAnimFriendship < 60) - gBattleAnimArgs[7] = 0; + gBattleAnimArgs[ARG_RET_ID] = 0; if (gAnimFriendship > 60 && gAnimFriendship < 92) - gBattleAnimArgs[7] = 1; + gBattleAnimArgs[ARG_RET_ID] = 1; if (gAnimFriendship > 91 && gAnimFriendship < 201) - gBattleAnimArgs[7] = 2; + gBattleAnimArgs[ARG_RET_ID] = 2; if (gAnimFriendship > 200) - gBattleAnimArgs[7] = 3; + gBattleAnimArgs[ARG_RET_ID] = 3; DestroyAnimVisualTask(taskId); } @@ -5143,7 +5145,7 @@ void AnimTask_SnatchOpposingMonMove(u8 taskId) } } -void sub_815FE80(struct Sprite *sprite) +static void sub_815FE80(struct Sprite *sprite) { switch (sprite->data[7]) { @@ -5154,13 +5156,13 @@ void sub_815FE80(struct Sprite *sprite) sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y) + 16; sprite->data[0] = -32; sprite->data[7]++; - sprite->invisible = 0; + sprite->invisible = FALSE; if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_OPPONENT && !IsContest()) sprite->subpriority = gSprites[GetAnimBattlerSpriteId(ANIM_TARGET)].subpriority - 1; } else { - sprite->invisible = 1; + sprite->invisible = TRUE; } break; case 1: @@ -5260,10 +5262,10 @@ void AnimTask_TeeterDanceMovement(u8 taskId) task->data[11] = 0; task->data[10] = 1; task->data[12] = 0; - task->func = AnimTask_TeeterDanceMovementStep; + task->func = AnimTask_TeeterDanceMovement_Step; } -static void AnimTask_TeeterDanceMovementStep(u8 taskId) +static void AnimTask_TeeterDanceMovement_Step(u8 taskId) { struct Task *task = &gTasks[taskId]; switch (task->data[0]) @@ -5297,7 +5299,7 @@ static void AnimTask_TeeterDanceMovementStep(u8 taskId) } } -static void AnimKnockOffStrikeStep(struct Sprite *sprite) +static void AnimKnockOffStrike_Step(struct Sprite *sprite) { // These two cases are identical. if (GetBattlerSide(gBattleAnimTarget) == B_SIDE_PLAYER) @@ -5322,7 +5324,7 @@ static void AnimKnockOffStrikeStep(struct Sprite *sprite) // Animates a strike that swipes downard at the target mon. // arg 0: initial x pixel offset // arg 1: initial y pixel offset -void AnimKnockOffStrike(struct Sprite *sprite) +static void AnimKnockOffStrike(struct Sprite *sprite) { if (GetBattlerSide(gBattleAnimTarget) == B_SIDE_PLAYER) { @@ -5340,12 +5342,12 @@ void AnimKnockOffStrike(struct Sprite *sprite) sprite->pos1.y += gBattleAnimArgs[1]; } - sprite->callback = AnimKnockOffStrikeStep; + sprite->callback = AnimKnockOffStrike_Step; } // Gradually fades a rotating recyle arrow sprite in and back out. // No args. -void AnimRecycle(struct Sprite *sprite) +static void AnimRecycle(struct Sprite *sprite) { sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2); sprite->pos1.y = GetBattlerSpriteCoordAttr(gBattleAnimAttacker, BATTLER_COORD_ATTR_TOP); @@ -5354,11 +5356,11 @@ void AnimRecycle(struct Sprite *sprite) sprite->data[6] = 0; sprite->data[7] = 16; - sprite->callback = AnimRecycleStep; + sprite->callback = AnimRecycle_Step; SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(sprite->data[6], sprite->data[7])); } -static void AnimRecycleStep(struct Sprite *sprite) +static void AnimRecycle_Step(struct Sprite *sprite) { switch (sprite->data[2]) { @@ -5420,15 +5422,15 @@ static void AnimRecycleStep(struct Sprite *sprite) void AnimTask_GetWeather(u8 taskId) { - gBattleAnimArgs[7] = ANIM_WEATHER_NONE; + gBattleAnimArgs[ARG_RET_ID] = ANIM_WEATHER_NONE; if (gWeatherMoveAnim & WEATHER_SUN_ANY) - gBattleAnimArgs[7] = ANIM_WEATHER_SUN; + gBattleAnimArgs[ARG_RET_ID] = ANIM_WEATHER_SUN; else if (gWeatherMoveAnim & WEATHER_RAIN_ANY) - gBattleAnimArgs[7] = ANIM_WEATHER_RAIN; + gBattleAnimArgs[ARG_RET_ID] = ANIM_WEATHER_RAIN; else if (gWeatherMoveAnim & WEATHER_SANDSTORM_ANY) - gBattleAnimArgs[7] = ANIM_WEATHER_SANDSTORM; + gBattleAnimArgs[ARG_RET_ID] = ANIM_WEATHER_SANDSTORM; else if (gWeatherMoveAnim & WEATHER_HAIL_ANY) - gBattleAnimArgs[7] = ANIM_WEATHER_HAIL; + gBattleAnimArgs[ARG_RET_ID] = ANIM_WEATHER_HAIL; DestroyAnimVisualTask(taskId); } @@ -5441,10 +5443,10 @@ void AnimTask_SlackOffSquish(u8 taskId) task->data[0] = 0; task->data[15] = GetAnimBattlerSpriteId(gBattleAnimArgs[0]); PrepareAffineAnimInTaskData(task, task->data[15], gSlackOffSquishAffineAnimCmds); - task->func = AnimTask_SlackOffSquishStep; + task->func = AnimTask_SlackOffSquish_Step; } -static void AnimTask_SlackOffSquishStep(u8 taskId) +static void AnimTask_SlackOffSquish_Step(u8 taskId) { struct Task *task = &gTasks[taskId]; diff --git a/src/electric.c b/src/battle_anim_electric.c index 3344db7bf..c153dbc10 100644 --- a/src/electric.c +++ b/src/battle_anim_electric.c @@ -5,39 +5,39 @@ #include "constants/songs.h" #include "sound.h" -static void sub_810A1A8(struct Sprite *); -static void sub_810A1F8(struct Sprite *); +static void AnimLightning(struct Sprite *); +static void AnimLightning_Step(struct Sprite *); static void sub_810A214(struct Sprite *); static void sub_810A258(struct Sprite *); static void sub_810A274(struct Sprite *); -static void sub_810A308(struct Sprite *); -static void sub_810A46C(struct Sprite *); -static void sub_810A4F4(struct Sprite *); -static void sub_810A56C(struct Sprite *); -static void sub_810A5BC(struct Sprite *); -static void sub_810A628(struct Sprite *); -static void sub_810A6EC(struct Sprite *); -static void sub_810A75C(struct Sprite *); -static void sub_810A834(u8 taskId); -static void sub_810A9DC(struct Sprite *); -static void sub_810AA2C(struct Sprite *); -static void sub_810AAB0(struct Sprite *); -static void sub_810AB78(u8 taskId); -static void sub_810AC8C(struct Sprite *); -static void sub_810ACC0(struct Sprite *); -static void sub_810ACD8(struct Sprite *); -static void sub_810AD30(struct Sprite *); -static void sub_810AD98(struct Sprite *); -static void sub_810ADF8(struct Sprite *); +static void AnimSparkElectricity(struct Sprite *); +static void AnimZapCannonSpark(struct Sprite *); +static void AnimZapCannonSpark_Step(struct Sprite *); +static void AnimThunderboltOrb(struct Sprite *); +static void AnimThunderboltOrb_Step(struct Sprite *); +static void AnimSparkElectricityFlashing(struct Sprite *); +static void AnimSparkElectricityFlashing_Step(struct Sprite *); +static void AnimElectricity(struct Sprite *); +static void AnimTask_ElectricBolt_Step(u8 taskId); +static void AnimElectricBoltSegment(struct Sprite *); +static void AnimThunderWave(struct Sprite *); +static void AnimThunderWave_Step(struct Sprite *); +static void AnimTask_ElectricChargingParticles_Step(u8 taskId); +static void AnimElectricChargingParticles(struct Sprite *); +static void AnimElectricChargingParticles_Step(struct Sprite *); +static void AnimGrowingChargeOrb(struct Sprite *); +static void AnimElectricPuff(struct Sprite *); +static void AnimVoltTackleOrbSlide(struct Sprite *); +static void AnimVoltTackleOrbSlide_Step(struct Sprite *); static bool8 sub_810B154(struct Task *task, u8 taskId); -static void sub_810B1F0(struct Sprite *); -static void sub_810B23C(struct Sprite *); +static void AnimVoltTackleBolt(struct Sprite *); +static void AnimGrowingShockWaveOrb(struct Sprite *); static bool8 sub_810B430(struct Task *task, u8 taskId); -static void sub_810B51C(struct Sprite *); +static void AnimShockWaveProgressingBolt(struct Sprite *); static bool8 sub_810B614(struct Task *task, u8 taskId); static void sub_810B684(struct Sprite *sprite); -const union AnimCmd gUnknown_085956A4[] = +static const union AnimCmd sAnim_Lightning[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(16, 5), @@ -47,23 +47,23 @@ const union AnimCmd gUnknown_085956A4[] = ANIMCMD_END, }; -const union AnimCmd *const gUnknown_085956BC[] = +static const union AnimCmd *const sAnims_Lightning[] = { - gUnknown_085956A4, + sAnim_Lightning, }; -const struct SpriteTemplate gUnknown_085956C0 = +const struct SpriteTemplate gLightningSpriteTemplate = { .tileTag = ANIM_TAG_LIGHTNING, .paletteTag = ANIM_TAG_LIGHTNING, .oam = &gOamData_AffineOff_ObjNormal_32x32, - .anims = gUnknown_085956BC, + .anims = sAnims_Lightning, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_810A1A8, + .callback = AnimLightning, }; -const union AffineAnimCmd gUnknown_085956D8[] = +static const union AffineAnimCmd gUnknown_085956D8[] = { AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0), AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 20), @@ -71,11 +71,12 @@ const union AffineAnimCmd gUnknown_085956D8[] = AFFINEANIMCMD_END, }; -const union AffineAnimCmd *const gUnknown_085956F8[] = +static const union AffineAnimCmd *const gUnknown_085956F8[] = { gUnknown_085956D8, }; +// Unused const struct SpriteTemplate gUnknown_085956FC = { .tileTag = ANIM_TAG_HANDS_AND_FEET, @@ -87,7 +88,7 @@ const struct SpriteTemplate gUnknown_085956FC = .callback = sub_810A214, }; -const union AnimCmd gUnknown_08595714[] = +static const union AnimCmd gUnknown_08595714[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(16, 5), @@ -98,11 +99,12 @@ const union AnimCmd gUnknown_08595714[] = ANIMCMD_JUMP(0), }; -const union AnimCmd *const gUnknown_08595730[] = +static const union AnimCmd *const gUnknown_08595730[] = { gUnknown_08595714, }; +// Unused const struct SpriteTemplate gUnknown_08595734 = { .tileTag = ANIM_TAG_SHOCK, @@ -114,7 +116,7 @@ const struct SpriteTemplate gUnknown_08595734 = .callback = sub_810A274, }; -const struct SpriteTemplate gBattleAnimSpriteTemplate_859574C = +const struct SpriteTemplate gSparkElectricitySpriteTemplate = { .tileTag = ANIM_TAG_SPARK_2, .paletteTag = ANIM_TAG_SPARK_2, @@ -122,10 +124,10 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_859574C = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_810A308, + .callback = AnimSparkElectricity, }; -const struct SpriteTemplate gUnknown_08595764 = +const struct SpriteTemplate gZapCannonBallSpriteTemplate = { .tileTag = ANIM_TAG_BLACK_BALL_2, .paletteTag = ANIM_TAG_BLACK_BALL_2, @@ -136,29 +138,29 @@ const struct SpriteTemplate gUnknown_08595764 = .callback = TranslateAnimSpriteToTargetMonLocation, }; -const union AffineAnimCmd gUnknown_0859577C[] = +static const union AffineAnimCmd sAffineAnim_FlashingSpark[] = { AFFINEANIMCMD_FRAME(0x0, 0x0, 20, 1), AFFINEANIMCMD_JUMP(0), }; -const union AffineAnimCmd *const gUnknown_0859578C[] = +static const union AffineAnimCmd *const sAffineAnims_FlashingSpark[] = { - gUnknown_0859577C, + sAffineAnim_FlashingSpark, }; -const struct SpriteTemplate gUnknown_08595790 = +const struct SpriteTemplate gZapCannonSparkSpriteTemplate = { .tileTag = ANIM_TAG_SPARK_2, .paletteTag = ANIM_TAG_SPARK_2, .oam = &gOamData_AffineNormal_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_0859578C, - .callback = sub_810A46C, + .affineAnims = sAffineAnims_FlashingSpark, + .callback = AnimZapCannonSpark, }; -const union AnimCmd gUnknown_085957A8[] = +static const union AnimCmd sAnim_ThunderboltOrb[] = { ANIMCMD_FRAME(0, 6), ANIMCMD_FRAME(16, 6), @@ -166,12 +168,12 @@ const union AnimCmd gUnknown_085957A8[] = ANIMCMD_JUMP(0), }; -const union AnimCmd *const gUnknown_085957B8[] = +static const union AnimCmd *const sAnims_ThunderboltOrb[] = { - gUnknown_085957A8, + sAnim_ThunderboltOrb, }; -const union AffineAnimCmd gUnknown_085957BC[] = +static const union AffineAnimCmd sAffineAnim_ThunderboltOrb[] = { AFFINEANIMCMD_FRAME(0xE8, 0xE8, 0, 0), AFFINEANIMCMD_FRAME(0xFFF8, 0xFFF8, 0, 10), @@ -179,31 +181,31 @@ const union AffineAnimCmd gUnknown_085957BC[] = AFFINEANIMCMD_JUMP(1), }; -const union AffineAnimCmd *const gUnknown_085957DC[] = +static const union AffineAnimCmd *const sAffineAnims_ThunderboltOrb[] = { - gUnknown_085957BC, + sAffineAnim_ThunderboltOrb, }; -const struct SpriteTemplate gBattleAnimSpriteTemplate_85957E0 = +const struct SpriteTemplate gThunderboltOrbSpriteTemplate = { .tileTag = ANIM_TAG_SHOCK_3, .paletteTag = ANIM_TAG_SHOCK_3, .oam = &gOamData_AffineNormal_ObjNormal_32x32, - .anims = gUnknown_085957B8, + .anims = sAnims_ThunderboltOrb, .images = NULL, - .affineAnims = gUnknown_085957DC, - .callback = sub_810A5BC, + .affineAnims = sAffineAnims_ThunderboltOrb, + .callback = AnimThunderboltOrb, }; -const struct SpriteTemplate gBattleAnimSpriteTemplate_85957F8 = +const struct SpriteTemplate gSparkElectricityFlashingSpriteTemplate = { .tileTag = ANIM_TAG_SPARK_2, .paletteTag = ANIM_TAG_SPARK_2, .oam = &gOamData_AffineNormal_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_0859578C, - .callback = sub_810A628, + .affineAnims = sAffineAnims_FlashingSpark, + .callback = AnimSparkElectricityFlashing, }; const struct SpriteTemplate gElectricitySpriteTemplate = @@ -214,10 +216,10 @@ const struct SpriteTemplate gElectricitySpriteTemplate = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_810A75C, + .callback = AnimElectricity, }; -const struct SpriteTemplate gUnknown_08595828 = +const struct SpriteTemplate gElectricBoltSegmentSpriteTemplate = { .tileTag = ANIM_TAG_SPARK, .paletteTag = ANIM_TAG_SPARK, @@ -225,10 +227,10 @@ const struct SpriteTemplate gUnknown_08595828 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_810A9DC, + .callback = AnimElectricBoltSegment, }; -const struct SpriteTemplate gUnknown_08595840 = +const struct SpriteTemplate gThunderWaveSpriteTemplate = { .tileTag = ANIM_TAG_SPARK_H, .paletteTag = ANIM_TAG_SPARK_H, @@ -236,10 +238,10 @@ const struct SpriteTemplate gUnknown_08595840 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_810AA2C, + .callback = AnimThunderWave, }; -const s8 gUnknown_08595858[][2] = +static const s8 sElectricChargingParticleCoordOffsets[][2] = { { 58, -60}, {-56, -36}, @@ -259,7 +261,7 @@ const s8 gUnknown_08595858[][2] = { 48, 48}, }; -const union AnimCmd gUnknown_08595878[] = +static const union AnimCmd sAnim_ElectricChargingParticles_0[] = { ANIMCMD_FRAME(3, 1), ANIMCMD_FRAME(2, 1), @@ -268,7 +270,7 @@ const union AnimCmd gUnknown_08595878[] = ANIMCMD_END, }; -const union AnimCmd gUnknown_0859588C[] = +static const union AnimCmd sAnim_ElectricChargingParticles_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 5), @@ -277,24 +279,24 @@ const union AnimCmd gUnknown_0859588C[] = ANIMCMD_END, }; -const union AnimCmd *const gUnknown_085958A0[] = +static const union AnimCmd *const sAnims_ElectricChargingParticles[] = { - gUnknown_08595878, - gUnknown_0859588C, + sAnim_ElectricChargingParticles_0, + sAnim_ElectricChargingParticles_1, }; -const struct SpriteTemplate gUnknown_085958A8 = +const struct SpriteTemplate gElectricChargingParticlesSpriteTemplate = { .tileTag = ANIM_TAG_ELECTRIC_ORBS, .paletteTag = ANIM_TAG_ELECTRIC_ORBS, .oam = &gOamData_AffineOff_ObjNormal_8x8, - .anims = gUnknown_085958A0, + .anims = sAnims_ElectricChargingParticles, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = SpriteCallbackDummy, }; -const union AffineAnimCmd gUnknown_085958C0[] = +static const union AffineAnimCmd sAffineAnim_GrowingElectricOrb_0[] = { AFFINEANIMCMD_FRAME(0x10, 0x10, 0, 0), AFFINEANIMCMD_FRAME(0x4, 0x4, 0, 60), @@ -306,7 +308,7 @@ const union AffineAnimCmd gUnknown_085958C0[] = AFFINEANIMCMD_END, }; -const union AffineAnimCmd gUnknown_08595900[] = +static const union AffineAnimCmd sAffineAnim_GrowingElectricOrb_1[] = { AFFINEANIMCMD_FRAME(0x10, 0x10, 0, 0), AFFINEANIMCMD_FRAME(0x8, 0x8, 0, 30), @@ -316,7 +318,7 @@ const union AffineAnimCmd gUnknown_08595900[] = AFFINEANIMCMD_JUMP(3), }; -const union AffineAnimCmd gUnknown_08595930[] = +static const union AffineAnimCmd sAffineAnim_GrowingElectricOrb_2[] = { AFFINEANIMCMD_FRAME(0x10, 0x10, 0, 0), AFFINEANIMCMD_FRAME(0x8, 0x8, 0, 30), @@ -324,25 +326,25 @@ const union AffineAnimCmd gUnknown_08595930[] = AFFINEANIMCMD_END, }; -const union AffineAnimCmd *const gUnknown_08595950[] = +static const union AffineAnimCmd *const sAffineAnims_GrowingElectricOrb[] = { - gUnknown_085958C0, - gUnknown_08595900, - gUnknown_08595930, + sAffineAnim_GrowingElectricOrb_0, + sAffineAnim_GrowingElectricOrb_1, + sAffineAnim_GrowingElectricOrb_2, }; -const struct SpriteTemplate gUnknown_0859595C = +const struct SpriteTemplate gGrowingChargeOrbSpriteTemplate = { .tileTag = ANIM_TAG_CIRCLE_OF_LIGHT, .paletteTag = ANIM_TAG_CIRCLE_OF_LIGHT, .oam = &gOamData_AffineNormal_ObjBlend_64x64, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_08595950, - .callback = sub_810ACD8, + .affineAnims = sAffineAnims_GrowingElectricOrb, + .callback = AnimGrowingChargeOrb, }; -const union AnimCmd gUnknown_08595974[] = +static const union AnimCmd sAnim_ElectricPuff[] = { ANIMCMD_FRAME(0, 3), ANIMCMD_FRAME(16, 3), @@ -351,99 +353,99 @@ const union AnimCmd gUnknown_08595974[] = ANIMCMD_END, }; -const union AnimCmd *const gUnknown_08595988[] = +static const union AnimCmd *const sAnims_ElectricPuff[] = { - gUnknown_08595974, + sAnim_ElectricPuff, }; -const struct SpriteTemplate gUnknown_0859598C = +const struct SpriteTemplate gElectricPuffSpriteTemplate = { .tileTag = ANIM_TAG_ELECTRICITY, .paletteTag = ANIM_TAG_ELECTRICITY, .oam = &gOamData_AffineOff_ObjNormal_32x32, - .anims = gUnknown_08595988, + .anims = sAnims_ElectricPuff, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_810AD30, + .callback = AnimElectricPuff, }; -const struct SpriteTemplate gUnknown_085959A4 = +const struct SpriteTemplate gVoltTackleOrbSlideSpriteTemplate = { .tileTag = ANIM_TAG_CIRCLE_OF_LIGHT, .paletteTag = ANIM_TAG_CIRCLE_OF_LIGHT, .oam = &gOamData_AffineNormal_ObjBlend_64x64, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_08595950, - .callback = sub_810AD98, + .affineAnims = sAffineAnims_GrowingElectricOrb, + .callback = AnimVoltTackleOrbSlide, }; -const union AnimCmd gUnknown_085959BC[] = +static const union AnimCmd sAnim_VoltTackleBolt_0[] = { ANIMCMD_FRAME(0, 3), ANIMCMD_END, }; -const union AnimCmd gUnknown_085959C4[] = +static const union AnimCmd sAnim_VoltTackleBolt_1[] = { ANIMCMD_FRAME(2, 3), ANIMCMD_END, }; -const union AnimCmd gUnknown_085959CC[] = +static const union AnimCmd sAnim_VoltTackleBolt_2[] = { ANIMCMD_FRAME(4, 3), ANIMCMD_END, }; -const union AnimCmd gUnknown_085959D4[] = +static const union AnimCmd sAnim_VoltTackleBolt_3[] = { ANIMCMD_FRAME(6, 3), ANIMCMD_END, }; -const union AnimCmd *const gUnknown_085959DC[] = +static const union AnimCmd *const sAnims_VoltTackleBolt[] = { - gUnknown_085959BC, - gUnknown_085959C4, - gUnknown_085959CC, - gUnknown_085959D4, + sAnim_VoltTackleBolt_0, + sAnim_VoltTackleBolt_1, + sAnim_VoltTackleBolt_2, + sAnim_VoltTackleBolt_3, }; -const union AffineAnimCmd gUnknown_085959EC[] = +static const union AffineAnimCmd sAffineAnim_VoltTackleBolt[] = { AFFINEANIMCMD_FRAME(0x100, 0x100, 64, 0), AFFINEANIMCMD_END, }; -const union AffineAnimCmd *const gUnknown_085959FC[] = +static const union AffineAnimCmd *const sAffineAnims_VoltTackleBolt[] = { - gUnknown_085959EC, + sAffineAnim_VoltTackleBolt, }; -const struct SpriteTemplate gUnknown_08595A00 = +const struct SpriteTemplate gVoltTackleBoltSpriteTemplate = { .tileTag = ANIM_TAG_SPARK, .paletteTag = ANIM_TAG_SPARK, .oam = &gOamData_AffineDouble_ObjNormal_8x16, - .anims = gUnknown_085959DC, + .anims = sAnims_VoltTackleBolt, .images = NULL, - .affineAnims = gUnknown_085959FC, - .callback = sub_810B1F0, + .affineAnims = sAffineAnims_VoltTackleBolt, + .callback = AnimVoltTackleBolt, }; -const struct SpriteTemplate gUnknown_08595A18 = +const struct SpriteTemplate gGrowingShockWaveOrbSpriteTemplate = { .tileTag = ANIM_TAG_CIRCLE_OF_LIGHT, .paletteTag = ANIM_TAG_CIRCLE_OF_LIGHT, .oam = &gOamData_AffineNormal_ObjBlend_64x64, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_08595950, - .callback = sub_810B23C, + .affineAnims = sAffineAnims_GrowingElectricOrb, + .callback = AnimGrowingShockWaveOrb, }; -const struct SpriteTemplate gUnknown_08595A30 = +const struct SpriteTemplate gShockWaveProgressingBoltSpriteTemplate = { .tileTag = ANIM_TAG_SPARK, .paletteTag = ANIM_TAG_SPARK, @@ -451,10 +453,10 @@ const struct SpriteTemplate gUnknown_08595A30 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_810B51C, + .callback = AnimShockWaveProgressingBolt, }; -static void sub_810A1A8(struct Sprite *sprite) +static void AnimLightning(struct Sprite *sprite) { if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) sprite->pos1.x -= gBattleAnimArgs[0]; @@ -462,10 +464,10 @@ static void sub_810A1A8(struct Sprite *sprite) sprite->pos1.x += gBattleAnimArgs[0]; sprite->pos1.y += gBattleAnimArgs[1]; - sprite->callback = sub_810A1F8; + sprite->callback = AnimLightning_Step; } -static void sub_810A1F8(struct Sprite *sprite) +static void AnimLightning_Step(struct Sprite *sprite) { if (sprite->animEnded) DestroyAnimSprite(sprite); @@ -510,7 +512,7 @@ static void sub_810A274(struct Sprite *sprite) sprite->callback = TranslateSpriteInCircleOverDuration; } -static void sub_810A308(struct Sprite *sprite) +static void AnimSparkElectricity(struct Sprite *sprite) { u8 battler; u32 matrixNum; @@ -518,20 +520,20 @@ static void sub_810A308(struct Sprite *sprite) switch (gBattleAnimArgs[4]) { - case 0: + case ANIM_ATTACKER: battler = gBattleAnimAttacker; break; - case 1: + case ANIM_TARGET: default: battler = gBattleAnimTarget; break; - case 2: + case ANIM_ATK_PARTNER: if (!IsBattlerSpriteVisible(BATTLE_PARTNER(gBattleAnimAttacker))) battler = gBattleAnimAttacker; else battler = BATTLE_PARTNER(gBattleAnimAttacker); break; - case 3: + case ANIM_DEF_PARTNER: if (IsBattlerSpriteVisible(BATTLE_PARTNER(gBattleAnimAttacker))) battler = BATTLE_PARTNER(gBattleAnimTarget); else @@ -564,10 +566,10 @@ static void sub_810A308(struct Sprite *sprite) gOamMatrices[matrixNum].c = -sineVal; sprite->data[0] = gBattleAnimArgs[3]; - sprite->callback = sub_810E2C8; + sprite->callback = DestroyAnimSpriteAfterTimer; } -static void sub_810A46C(struct Sprite *sprite) +static void AnimZapCannonSpark(struct Sprite *sprite) { InitSpritePosToAnimAttacker(sprite, 1); sprite->data[0] = gBattleAnimArgs[3]; @@ -580,11 +582,11 @@ static void sub_810A46C(struct Sprite *sprite) sprite->data[6] = gBattleAnimArgs[5]; sprite->data[7] = gBattleAnimArgs[4]; sprite->oam.tileNum += gBattleAnimArgs[6] * 4; - sprite->callback = sub_810A4F4; - sub_810A4F4(sprite); + sprite->callback = AnimZapCannonSpark_Step; + AnimZapCannonSpark_Step(sprite); } -static void sub_810A4F4(struct Sprite *sprite) +static void AnimZapCannonSpark_Step(struct Sprite *sprite) { if (!AnimTranslateLinear(sprite)) { @@ -598,7 +600,7 @@ static void sub_810A4F4(struct Sprite *sprite) DestroyAnimSprite(sprite); } -static void sub_810A56C(struct Sprite *sprite) +static void AnimThunderboltOrb_Step(struct Sprite *sprite) { if (--sprite->data[5] == -1) { @@ -609,7 +611,7 @@ static void sub_810A56C(struct Sprite *sprite) DestroyAnimSprite(sprite); } -static void sub_810A5BC(struct Sprite *sprite) +static void AnimThunderboltOrb(struct Sprite *sprite) { if (IsContest() || GetBattlerSide(gBattleAnimTarget) == B_SIDE_PLAYER) gBattleAnimArgs[1] = -gBattleAnimArgs[1]; @@ -619,10 +621,10 @@ static void sub_810A5BC(struct Sprite *sprite) sprite->data[3] = gBattleAnimArgs[0]; sprite->data[4] = gBattleAnimArgs[3]; sprite->data[5] = gBattleAnimArgs[3]; - sprite->callback = sub_810A56C; + sprite->callback = AnimThunderboltOrb_Step; } -static void sub_810A628(struct Sprite *sprite) +static void AnimSparkElectricityFlashing(struct Sprite *sprite) { u8 battler; @@ -644,24 +646,25 @@ static void sub_810A628(struct Sprite *sprite) sprite->data[7] = gBattleAnimArgs[4]; sprite->oam.tileNum += gBattleAnimArgs[6] * 4; - sprite->callback = sub_810A6EC; + sprite->callback = AnimSparkElectricityFlashing_Step; sprite->callback(sprite); } -static void sub_810A6EC(struct Sprite *sprite) +static void AnimSparkElectricityFlashing_Step(struct Sprite *sprite) { sprite->pos2.x = Sin(sprite->data[7], sprite->data[5]); sprite->pos2.y = Cos(sprite->data[7], sprite->data[5]); sprite->data[7] = (sprite->data[7] + sprite->data[6]) & 0xFF; if (sprite->data[7] % sprite->data[4] == 0) - sprite->invisible ^= 1; + sprite->invisible ^= TRUE; if (sprite->data[0]-- <= 0) DestroyAnimSprite(sprite); } -static void sub_810A75C(struct Sprite *sprite) +// Electricity arcs around the target. Used for Paralysis and various electric move hits +static void AnimElectricity(struct Sprite *sprite) { InitSpritePosToAnimTarget(sprite, FALSE); sprite->oam.tileNum += gBattleAnimArgs[3] * 4; @@ -676,15 +679,16 @@ static void sub_810A75C(struct Sprite *sprite) StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); } -void sub_810A7DC(u8 taskId) +// The vertical falling thunder bolt used in Thunder Wave/Shock/Bolt +void AnimTask_ElectricBolt(u8 taskId) { gTasks[taskId].data[0] = GetBattlerSpriteCoord(gBattleAnimTarget, 0) + gBattleAnimArgs[0]; gTasks[taskId].data[1] = GetBattlerSpriteCoord(gBattleAnimTarget, 1) + gBattleAnimArgs[1]; gTasks[taskId].data[2] = gBattleAnimArgs[2]; - gTasks[taskId].func = sub_810A834; + gTasks[taskId].func = AnimTask_ElectricBolt_Step; } -static void sub_810A834(u8 taskId) +static void AnimTask_ElectricBolt_Step(u8 taskId) { u16 r8; u16 r2; @@ -712,30 +716,30 @@ static void sub_810A834(u8 taskId) { case 0: r12 *= 1; - spriteId = CreateSprite(&gUnknown_08595828, x, y + r12, 2); + spriteId = CreateSprite(&gElectricBoltSegmentSpriteTemplate, x, y + r12, 2); r7++; break; case 2: r12 *= 2; r8 += r2; - spriteId = CreateSprite(&gUnknown_08595828, x, y + r12, 2); + spriteId = CreateSprite(&gElectricBoltSegmentSpriteTemplate, x, y + r12, 2); r7++; break; case 4: r12 *= 3; r8 += r2 * 2; - spriteId = CreateSprite(&gUnknown_08595828, x, y + r12, 2); + spriteId = CreateSprite(&gElectricBoltSegmentSpriteTemplate, x, y + r12, 2); r7++; break; case 6: r12 *= 4; r8 += r2 * 3; - spriteId = CreateSprite(&gUnknown_08595828, x, y + r12, 2); + spriteId = CreateSprite(&gElectricBoltSegmentSpriteTemplate, x, y + r12, 2); r7++; break; case 8: r12 *= 5; - spriteId = CreateSprite(&gUnknown_08595828, x, y + r12, 2); + spriteId = CreateSprite(&gElectricBoltSegmentSpriteTemplate, x, y + r12, 2); r7++; break; case 10: @@ -753,7 +757,7 @@ static void sub_810A834(u8 taskId) gTasks[taskId].data[10]++; } -static void sub_810A9DC(struct Sprite *sprite) +static void AnimElectricBoltSegment(struct Sprite *sprite) { if (!sprite->data[0]) { @@ -769,20 +773,21 @@ static void sub_810A9DC(struct Sprite *sprite) DestroySprite(sprite); } -static void sub_810AA2C(struct Sprite *sprite) +// The horizontal bands of electricity used in Thunder Wave +static void AnimThunderWave(struct Sprite *sprite) { u8 spriteId; sprite->pos1.x += gBattleAnimArgs[0]; sprite->pos1.y += gBattleAnimArgs[1]; - spriteId = CreateSprite(&gUnknown_08595840, sprite->pos1.x + 32, sprite->pos1.y, sprite->subpriority); + spriteId = CreateSprite(&gThunderWaveSpriteTemplate, sprite->pos1.x + 32, sprite->pos1.y, sprite->subpriority); gSprites[spriteId].oam.tileNum += 8; gAnimVisualTaskCount++; - gSprites[spriteId].callback = sub_810AAB0; - sprite->callback = sub_810AAB0; + gSprites[spriteId].callback = AnimThunderWave_Step; + sprite->callback = AnimThunderWave_Step; } -static void sub_810AAB0(struct Sprite *sprite) +static void AnimThunderWave_Step(struct Sprite *sprite) { if (++sprite->data[0] == 3) { @@ -794,11 +799,12 @@ static void sub_810AAB0(struct Sprite *sprite) DestroyAnimSprite(sprite); } -void sub_810AAFC(u8 taskId) +// Animates small electric orbs moving from around the battler inward. For Charge/Shock Wave +void AnimTask_ElectricChargingParticles(u8 taskId) { struct Task *task = &gTasks[taskId]; - if (!gBattleAnimArgs[0]) + if (gBattleAnimArgs[0] == ANIM_ATTACKER) { task->data[14] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2); task->data[15] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET); @@ -817,10 +823,10 @@ void sub_810AAFC(u8 taskId) task->data[11] = gBattleAnimArgs[3]; task->data[12] = 0; task->data[13] = gBattleAnimArgs[2]; - task->func = sub_810AB78; + task->func = AnimTask_ElectricChargingParticles_Step; } -void sub_810AB78(u8 taskId) +static void AnimTask_ElectricChargingParticles_Step(u8 taskId) { struct Task *task = &gTasks[taskId]; @@ -830,12 +836,12 @@ void sub_810AB78(u8 taskId) { u8 spriteId; task->data[12] = 0; - spriteId = CreateSprite(&gUnknown_085958A8, task->data[14], task->data[15], 2); + spriteId = CreateSprite(&gElectricChargingParticlesSpriteTemplate, task->data[14], task->data[15], 2); if (spriteId != MAX_SPRITES) { struct Sprite *sprite = &gSprites[spriteId]; - sprite->pos1.x += gUnknown_08595858[task->data[9]][0]; - sprite->pos1.y += gUnknown_08595858[task->data[9]][1]; + sprite->pos1.x += sElectricChargingParticleCoordOffsets[task->data[9]][0]; + sprite->pos1.y += sElectricChargingParticleCoordOffsets[task->data[9]][1]; sprite->data[0] = 40 - task->data[8] * 5; sprite->data[1] = sprite->pos1.x; @@ -845,7 +851,7 @@ void sub_810AB78(u8 taskId) sprite->data[5] = taskId; InitAnimLinearTranslation(sprite); - StoreSpriteCallbackInData6(sprite, sub_810ACC0); + StoreSpriteCallbackInData6(sprite, AnimElectricChargingParticles); sprite->callback = RunStoredCallbackWhenAnimEnds; if (++task->data[9] > 15) @@ -867,7 +873,7 @@ void sub_810AB78(u8 taskId) DestroyAnimVisualTask(taskId); } -static void sub_810AC8C(struct Sprite *sprite) +static void AnimElectricChargingParticles_Step(struct Sprite *sprite) { if (AnimTranslateLinear(sprite)) { @@ -876,15 +882,15 @@ static void sub_810AC8C(struct Sprite *sprite) } } -static void sub_810ACC0(struct Sprite *sprite) +static void AnimElectricChargingParticles(struct Sprite *sprite) { StartSpriteAnim(sprite, 1); - sprite->callback = sub_810AC8C; + sprite->callback = AnimElectricChargingParticles_Step; } -static void sub_810ACD8(struct Sprite *sprite) +static void AnimGrowingChargeOrb(struct Sprite *sprite) { - if (!gBattleAnimArgs[0]) + if (gBattleAnimArgs[0] == ANIM_ATTACKER) { sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2); sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET); @@ -899,9 +905,10 @@ static void sub_810ACD8(struct Sprite *sprite) sprite->callback = RunStoredCallbackWhenAffineAnimEnds; } -static void sub_810AD30(struct Sprite *sprite) +// The quick electric burst at the end of Charge / during the Volt Tackle hit +static void AnimElectricPuff(struct Sprite *sprite) { - if (!gBattleAnimArgs[0]) + if (gBattleAnimArgs[0] == ANIM_ATTACKER) { sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2); sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET); @@ -918,21 +925,22 @@ static void sub_810AD30(struct Sprite *sprite) sprite->callback = RunStoredCallbackWhenAnimEnds; } -static void sub_810AD98(struct Sprite *sprite) +// Creates an orb of electricity that grows then slides off-screen. The attacker slides with it +static void AnimVoltTackleOrbSlide(struct Sprite *sprite) { StartSpriteAffineAnim(sprite, 1); sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2); sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET); - sprite->data[6] = GetAnimBattlerSpriteId(0); + sprite->data[6] = GetAnimBattlerSpriteId(ANIM_ATTACKER); sprite->data[7] = 16; if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_OPPONENT) sprite->data[7] *= -1; - sprite->callback = sub_810ADF8; + sprite->callback = AnimVoltTackleOrbSlide_Step; } -static void sub_810ADF8(struct Sprite *sprite) +static void AnimVoltTackleOrbSlide_Step(struct Sprite *sprite) { switch (sprite->data[0]) { @@ -948,14 +956,14 @@ static void sub_810ADF8(struct Sprite *sprite) } } -void sub_810AE5C(u8 taskId) +void AnimTask_VoltTackleAttackerReappear(u8 taskId) { struct Task *task = &gTasks[taskId]; switch (task->data[0]) { case 0: - task->data[15] = GetAnimBattlerSpriteId(0); + task->data[15] = GetAnimBattlerSpriteId(ANIM_ATTACKER); task->data[14] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2); if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER) { @@ -998,12 +1006,13 @@ void sub_810AE5C(u8 taskId) } break; case 3: - gSprites[task->data[15]].invisible = 0; + gSprites[task->data[15]].invisible = FALSE; DestroyAnimVisualTask(taskId); } } -void sub_810AFCC(u8 taskId) +// The horizontal bolts of electricity for Volt Tackle +void AnimTask_VoltTackleBolt(u8 taskId) { struct Task *task = &gTasks[taskId]; @@ -1079,7 +1088,7 @@ void sub_810AFCC(u8 taskId) static bool8 sub_810B154(struct Task *task, u8 taskId) { - u8 spriteId = CreateSprite(&gUnknown_08595A00, task->data[3], task->data[5], 35); + u8 spriteId = CreateSprite(&gVoltTackleBoltSpriteTemplate, task->data[3], task->data[5], 35); if (spriteId != MAX_SPRITES) { gSprites[spriteId].data[6] = taskId; @@ -1107,7 +1116,7 @@ static bool8 sub_810B154(struct Task *task, u8 taskId) } } -static void sub_810B1F0(struct Sprite *sprite) +static void AnimVoltTackleBolt(struct Sprite *sprite) { if (++sprite->data[0] > 12) { @@ -1117,7 +1126,7 @@ static void sub_810B1F0(struct Sprite *sprite) } } -static void sub_810B23C(struct Sprite *sprite) +static void AnimGrowingShockWaveOrb(struct Sprite *sprite) { switch (sprite->data[0]) { @@ -1134,7 +1143,8 @@ static void sub_810B23C(struct Sprite *sprite) } } -void sub_810B29C(u8 taskId) +// Thin bolt of electricity that moves up and down toward the target. Used by Shock Wave +void AnimTask_ShockWaveProgressingBolt(u8 taskId) { struct Task *task = &gTasks[taskId]; @@ -1214,7 +1224,7 @@ void sub_810B29C(u8 taskId) static bool8 sub_810B430(struct Task *task, u8 taskId) { - u8 spriteId = CreateSprite(&gUnknown_08595A30, task->data[6], task->data[7], 35); + u8 spriteId = CreateSprite(&gShockWaveProgressingBoltSpriteTemplate, task->data[6], task->data[7], 35); if (spriteId != MAX_SPRITES) { gSprites[spriteId].oam.tileNum += task->data[4]; @@ -1249,7 +1259,8 @@ static bool8 sub_810B430(struct Task *task, u8 taskId) } } -static void sub_810B51C(struct Sprite *sprite) +// Just runs timer for sprite. See AnimTask_ShockWaveProgressingBolt +static void AnimShockWaveProgressingBolt(struct Sprite *sprite) { if (++sprite->data[0] > 12) { @@ -1258,7 +1269,7 @@ static void sub_810B51C(struct Sprite *sprite) } } -void sub_810B55C(u8 taskId) +void AnimTask_ShockWaveLightning(u8 taskId) { struct Task *task = &gTasks[taskId]; @@ -1293,7 +1304,7 @@ void sub_810B55C(u8 taskId) bool8 sub_810B614(struct Task *task, u8 taskId) { - u8 spriteId = CreateSprite(&gUnknown_085956C0, task->data[13], task->data[14], task->data[12]); + u8 spriteId = CreateSprite(&gLightningSpriteTemplate, task->data[13], task->data[14], task->data[12]); if (spriteId != MAX_SPRITES) { diff --git a/src/fight.c b/src/battle_anim_fight.c index 0c4b5a3fa..5211860e0 100644 --- a/src/fight.c +++ b/src/battle_anim_fight.c @@ -6,38 +6,40 @@ #include "trig.h" #include "constants/rgb.h" -void unc_080B08A0(struct Sprite *); -void sub_810CE68(struct Sprite *); -void sub_810CEB4(struct Sprite *); -void AnimBasicFistOrFoot(struct Sprite *); -void sub_810CF30(struct Sprite *); -void sub_810D10C(struct Sprite *); -void sub_810D1B4(struct Sprite *); -void AnimSpinningKickOrPunch(struct Sprite *); -void AnimStompFoot(struct Sprite *); -void sub_810D37C(struct Sprite *); -void sub_810D40C(struct Sprite *); -void sub_810D4F4(struct Sprite *); -void sub_810D608(struct Sprite *); -void sub_810D714(struct Sprite *); -void sub_810D874(struct Sprite *); -void sub_810D984(struct Sprite *); -void sub_810DA10(struct Sprite *); -void sub_810DA7C(struct Sprite *); -static void sub_810D0B8(struct Sprite *); -static void sub_810D164(struct Sprite *); -static void sub_810D240(struct Sprite *); +static void unc_080B08A0(struct Sprite *); +static void AnimSlideHandOrFootToTarget(struct Sprite *); +static void AnimJumpKick(struct Sprite *); +static void AnimBasicFistOrFoot(struct Sprite *); +static void AnimFistOrFootRandomPos(struct Sprite *); +static void AnimFistOrFootRandomPos_Step(struct Sprite *); +static void AnimCrossChopHand(struct Sprite *); +static void AnimCrossChopHand_Step(struct Sprite *); +static void AnimSlidingKick(struct Sprite *); +static void AnimSlidingKick_Step(struct Sprite *); +static void AnimSpinningKickOrPunch(struct Sprite *); +static void AnimStompFoot(struct Sprite *); +static void AnimStompFoot_Step(struct Sprite *); +static void AnimStompFoot_End(struct Sprite *); +static void AnimDizzyPunchDuck(struct Sprite *); +static void AnimBrickBreakWall(struct Sprite *); +static void AnimBrickBreakWall_Step(struct Sprite *); +static void AnimBrickBreakWallShard(struct Sprite *); +static void AnimBrickBreakWallShard_Step(struct Sprite *); +static void AnimSuperpowerOrb(struct Sprite *); +static void AnimSuperpowerOrb_Step(struct Sprite *); +static void AnimSuperpowerRock(struct Sprite *); +static void AnimSuperpowerRock_Step1(struct Sprite *); +static void AnimSuperpowerRock_Step2(struct Sprite *); +static void AnimSuperpowerFireball(struct Sprite *); +static void AnimArmThrustHit(struct Sprite *); +static void AnimArmThrustHit_Step(struct Sprite *sprite); +static void AnimRevengeScratch(struct Sprite *); +static void AnimFocusPunchFist(struct Sprite *); static void AnimSpinningKickOrPunchFinish(struct Sprite *); -static void AnimStompFootStep(struct Sprite *); -static void AnimStompFootEnd(struct Sprite *); -static void sub_810D47C(struct Sprite *); -static void sub_810D5DC(struct Sprite *); -static void sub_810D6A8(struct Sprite *); -static void sub_810D770(struct Sprite *); -static void sub_810D830(struct Sprite *); extern struct SpriteTemplate gBasicHitSplatSpriteTemplate; +// Unused const struct SpriteTemplate gUnknown_08595E14 = { .tileTag = ANIM_TAG_HUMANOID_FOOT, @@ -49,73 +51,73 @@ const struct SpriteTemplate gUnknown_08595E14 = .callback = unc_080B08A0, }; -const union AnimCmd gUnknown_08595E2C[] = +static const union AnimCmd sAnim_HandOrFoot[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_08595E34[] = +static const union AnimCmd sAnim_SlidingKick_0[] = { ANIMCMD_FRAME(16, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_08595E3C[] = +static const union AnimCmd sAnim_SlidingKick_1[] = { ANIMCMD_FRAME(32, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_08595E44[] = +static const union AnimCmd sAnim_CrossChopHand_0[] = { ANIMCMD_FRAME(48, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_08595E4C[] = +static const union AnimCmd sAnim_CrossChopHand_1[] = { ANIMCMD_FRAME(48, 1, .hFlip = TRUE), ANIMCMD_END, }; -const union AnimCmd *const gUnknown_08595E54[] = +static const union AnimCmd *const sAnims_HandOrFoot[] = { - gUnknown_08595E2C, + sAnim_HandOrFoot, }; -const union AnimCmd *const gUnknown_08595E58[] = +static const union AnimCmd *const sAnims_SlidingKick[] = { - gUnknown_08595E34, - gUnknown_08595E3C, + sAnim_SlidingKick_0, + sAnim_SlidingKick_1, }; -const union AnimCmd *const gUnknown_08595E60[] = +static const union AnimCmd *const sAnims_CrossChopHand[] = { - gUnknown_08595E44, - gUnknown_08595E4C, + sAnim_CrossChopHand_0, + sAnim_CrossChopHand_1, }; -const struct SpriteTemplate gUnknown_08595E68 = +const struct SpriteTemplate gKarateChopSpriteTemplate = { .tileTag = ANIM_TAG_HANDS_AND_FEET, .paletteTag = ANIM_TAG_HANDS_AND_FEET, .oam = &gOamData_AffineOff_ObjNormal_32x32, - .anims = gUnknown_08595E54, + .anims = sAnims_HandOrFoot, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_810CE68, + .callback = AnimSlideHandOrFootToTarget, }; -const struct SpriteTemplate gUnknown_08595E80 = +const struct SpriteTemplate gJumpKickSpriteTemplate = { .tileTag = ANIM_TAG_HANDS_AND_FEET, .paletteTag = ANIM_TAG_HANDS_AND_FEET, .oam = &gOamData_AffineOff_ObjNormal_32x32, - .anims = gUnknown_08595E54, + .anims = sAnims_HandOrFoot, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_810CEB4, + .callback = AnimJumpKick, }; const struct SpriteTemplate gFistFootSpriteTemplate = @@ -123,78 +125,79 @@ const struct SpriteTemplate gFistFootSpriteTemplate = .tileTag = ANIM_TAG_HANDS_AND_FEET, .paletteTag = ANIM_TAG_HANDS_AND_FEET, .oam = &gOamData_AffineOff_ObjNormal_32x32, - .anims = gUnknown_08595E54, + .anims = sAnims_HandOrFoot, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimBasicFistOrFoot, }; -const struct SpriteTemplate gUnknown_08595EB0 = +const struct SpriteTemplate gFistFootRandomPosSpriteTemplate = { .tileTag = ANIM_TAG_HANDS_AND_FEET, .paletteTag = ANIM_TAG_HANDS_AND_FEET, .oam = &gOamData_AffineOff_ObjNormal_32x32, - .anims = gUnknown_08595E54, + .anims = sAnims_HandOrFoot, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_810CF30, + .callback = AnimFistOrFootRandomPos, }; -const struct SpriteTemplate gUnknown_08595EC8 = +const struct SpriteTemplate gCrossChopHandSpriteTemplate = { .tileTag = ANIM_TAG_HANDS_AND_FEET, .paletteTag = ANIM_TAG_HANDS_AND_FEET, .oam = &gOamData_AffineOff_ObjNormal_32x32, - .anims = gUnknown_08595E60, + .anims = sAnims_CrossChopHand, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_810D10C, + .callback = AnimCrossChopHand, }; -const struct SpriteTemplate gUnknown_08595EE0 = +const struct SpriteTemplate gSlidingKickSpriteTemplate = { .tileTag = ANIM_TAG_HANDS_AND_FEET, .paletteTag = ANIM_TAG_HANDS_AND_FEET, .oam = &gOamData_AffineOff_ObjNormal_32x32, - .anims = gUnknown_08595E58, + .anims = sAnims_SlidingKick, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_810D1B4, + .callback = AnimSlidingKick, }; -const union AffineAnimCmd gUnknown_08595EF8[] = +static const union AffineAnimCmd sAffineAnim_SpinningHandOrFoot[] = { AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0), AFFINEANIMCMD_FRAME(0xFFF8, 0xFFF8, 20, 1), AFFINEANIMCMD_JUMP(1), }; -const union AffineAnimCmd *const gUnknown_08595F10[] = +static const union AffineAnimCmd *const sAffineAnims_SpinningHandOrFoot[] = { - gUnknown_08595EF8, + sAffineAnim_SpinningHandOrFoot, }; -const struct SpriteTemplate gUnknown_08595F14 = +// Blaze Kick / Meteor Mash +const struct SpriteTemplate gSpinningHandOrFootSpriteTemplate = { .tileTag = ANIM_TAG_HANDS_AND_FEET, .paletteTag = ANIM_TAG_HANDS_AND_FEET, .oam = &gOamData_AffineDouble_ObjNormal_32x32, - .anims = gUnknown_08595E54, + .anims = sAnims_HandOrFoot, .images = NULL, - .affineAnims = gUnknown_08595F10, + .affineAnims = sAffineAnims_SpinningHandOrFoot, .callback = AnimSpinningKickOrPunch, }; -const union AffineAnimCmd gUnknown_08595F2C[] = +static const union AffineAnimCmd sAffineAnim_MegaPunchKick[] = { AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0), AFFINEANIMCMD_FRAME(0xFFFC, 0xFFFC, 20, 1), AFFINEANIMCMD_JUMP(1), }; -const union AffineAnimCmd *const gUnknown_08595F44[] = +static const union AffineAnimCmd *const sAffineAnims_MegaPunchKick[] = { - gUnknown_08595F2C, + sAffineAnim_MegaPunchKick, }; const struct SpriteTemplate gMegaPunchKickSpriteTemplate = @@ -202,24 +205,24 @@ const struct SpriteTemplate gMegaPunchKickSpriteTemplate = .tileTag = ANIM_TAG_HANDS_AND_FEET, .paletteTag = ANIM_TAG_HANDS_AND_FEET, .oam = &gOamData_AffineDouble_ObjNormal_32x32, - .anims = gUnknown_08595E54, + .anims = sAnims_HandOrFoot, .images = NULL, - .affineAnims = gUnknown_08595F44, + .affineAnims = sAffineAnims_MegaPunchKick, .callback = AnimSpinningKickOrPunch, }; -const struct SpriteTemplate gUnknown_08595F60 = +const struct SpriteTemplate gStompFootSpriteTemplate = { .tileTag = ANIM_TAG_HANDS_AND_FEET, .paletteTag = ANIM_TAG_HANDS_AND_FEET, .oam = &gOamData_AffineOff_ObjNormal_32x32, - .anims = gUnknown_08595E58, + .anims = sAnims_SlidingKick, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimStompFoot, }; -const struct SpriteTemplate gUnknown_08595F78 = +const struct SpriteTemplate gDizzyPunchDuckSpriteTemplate = { .tileTag = ANIM_TAG_DUCK, .paletteTag = ANIM_TAG_DUCK, @@ -227,10 +230,10 @@ const struct SpriteTemplate gUnknown_08595F78 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_810D37C, + .callback = AnimDizzyPunchDuck, }; -const struct SpriteTemplate gUnknown_08595F90 = +const struct SpriteTemplate gBrickBreakWallSpriteTemplate = { .tileTag = ANIM_TAG_BLUE_LIGHT_WALL, .paletteTag = ANIM_TAG_BLUE_LIGHT_WALL, @@ -238,10 +241,10 @@ const struct SpriteTemplate gUnknown_08595F90 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_810D40C, + .callback = AnimBrickBreakWall, }; -const struct SpriteTemplate gUnknown_08595FA8 = +const struct SpriteTemplate gBrickBreakWallShardSpriteTemplate = { .tileTag = ANIM_TAG_TORN_METAL, .paletteTag = ANIM_TAG_TORN_METAL, @@ -249,10 +252,10 @@ const struct SpriteTemplate gUnknown_08595FA8 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_810D4F4, + .callback = AnimBrickBreakWallShard, }; -const union AffineAnimCmd gUnknown_08595FC0[] = +static const union AffineAnimCmd sAffineAnim_SuperpowerOrb[] = { AFFINEANIMCMD_FRAME(0x20, 0x20, 0, 0), AFFINEANIMCMD_FRAME(0x4, 0x4, 0, 64), @@ -261,23 +264,23 @@ const union AffineAnimCmd gUnknown_08595FC0[] = AFFINEANIMCMD_JUMP(2), }; -const union AffineAnimCmd *const gUnknown_08595FE8[] = +static const union AffineAnimCmd *const sAffineAnims_SuperpowerOrb[] = { - gUnknown_08595FC0, + sAffineAnim_SuperpowerOrb, }; -const struct SpriteTemplate gUnknown_08595FEC = +const struct SpriteTemplate gSuperpowerOrbSpriteTemplate = { .tileTag = ANIM_TAG_CIRCLE_OF_LIGHT, .paletteTag = ANIM_TAG_CIRCLE_OF_LIGHT, .oam = &gOamData_AffineDouble_ObjBlend_64x64, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_08595FE8, - .callback = sub_810D608, + .affineAnims = sAffineAnims_SuperpowerOrb, + .callback = AnimSuperpowerOrb, }; -const struct SpriteTemplate gUnknown_08596004 = +const struct SpriteTemplate gSuperpowerRockSpriteTemplate = { .tileTag = ANIM_TAG_FLAT_ROCK, .paletteTag = ANIM_TAG_FLAT_ROCK, @@ -285,10 +288,10 @@ const struct SpriteTemplate gUnknown_08596004 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_810D714, + .callback = AnimSuperpowerRock, }; -const struct SpriteTemplate gUnknown_0859601C = +const struct SpriteTemplate gSuperpowerFireballSpriteTemplate = { .tileTag = ANIM_TAG_METEOR, .paletteTag = ANIM_TAG_METEOR, @@ -296,21 +299,21 @@ const struct SpriteTemplate gUnknown_0859601C = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_810D874, + .callback = AnimSuperpowerFireball, }; -const struct SpriteTemplate gUnknown_08596034 = +const struct SpriteTemplate gArmThrustHandSpriteTemplate = { .tileTag = ANIM_TAG_HANDS_AND_FEET, .paletteTag = ANIM_TAG_HANDS_AND_FEET, .oam = &gOamData_AffineOff_ObjNormal_32x32, - .anims = gUnknown_08595E54, + .anims = sAnims_HandOrFoot, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_810D984, + .callback = AnimArmThrustHit, }; -const union AnimCmd gUnknown_0859604C[] = +static const union AnimCmd sAnim_RevengeSmallScratch_0[] = { ANIMCMD_FRAME(0, 4), ANIMCMD_FRAME(16, 4), @@ -318,7 +321,7 @@ const union AnimCmd gUnknown_0859604C[] = ANIMCMD_END, }; -const union AnimCmd gUnknown_0859605C[] = +static const union AnimCmd sAnim_RevengeSmallScratch_1[] = { ANIMCMD_FRAME(0, 4, .vFlip = TRUE), ANIMCMD_FRAME(16, 4, .vFlip = TRUE), @@ -326,7 +329,7 @@ const union AnimCmd gUnknown_0859605C[] = ANIMCMD_END, }; -const union AnimCmd gUnknown_0859606C[] = +static const union AnimCmd sAnim_RevengeSmallScratch_2[] = { ANIMCMD_FRAME(0, 4, .hFlip = TRUE), ANIMCMD_FRAME(16, 4, .hFlip = TRUE), @@ -334,87 +337,87 @@ const union AnimCmd gUnknown_0859606C[] = ANIMCMD_END, }; -const union AnimCmd *const gUnknown_0859607C[] = +static const union AnimCmd *const sAnims_RevengeSmallScratch[] = { - gUnknown_0859604C, - gUnknown_0859605C, - gUnknown_0859606C, + sAnim_RevengeSmallScratch_0, + sAnim_RevengeSmallScratch_1, + sAnim_RevengeSmallScratch_2, }; -const struct SpriteTemplate gUnknown_08596088 = +const struct SpriteTemplate gRevengeSmallScratchSpriteTemplate = { .tileTag = ANIM_TAG_PURPLE_SCRATCH, .paletteTag = ANIM_TAG_PURPLE_SCRATCH, .oam = &gOamData_AffineOff_ObjNormal_32x32, - .anims = gUnknown_0859607C, + .anims = sAnims_RevengeSmallScratch, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_810DA10, + .callback = AnimRevengeScratch, }; -const union AnimCmd gUnknown_085960A0[] = +static const union AnimCmd sAnim_RevengeBigScratch_0[] = { ANIMCMD_FRAME(0, 6), ANIMCMD_FRAME(64, 6), ANIMCMD_END, }; -const union AnimCmd gUnknown_085960AC[] = +static const union AnimCmd sAnim_RevengeBigScratch_1[] = { ANIMCMD_FRAME(0, 6, .vFlip = TRUE, .hFlip = TRUE), ANIMCMD_FRAME(64, 6, .vFlip = TRUE, .hFlip = TRUE), ANIMCMD_END, }; -const union AnimCmd gUnknown_085960B8[] = +static const union AnimCmd sAnim_RevengeBigScratch_2[] = { ANIMCMD_FRAME(0, 6, .hFlip = TRUE), ANIMCMD_FRAME(64, 6, .hFlip = TRUE), ANIMCMD_END, }; -const union AnimCmd *const gUnknown_085960C4[] = +static const union AnimCmd *const sAnims_RevengeBigScratch[] = { - gUnknown_085960A0, - gUnknown_085960AC, - gUnknown_085960B8, + sAnim_RevengeBigScratch_0, + sAnim_RevengeBigScratch_1, + sAnim_RevengeBigScratch_2, }; -const struct SpriteTemplate gUnknown_085960D0 = +const struct SpriteTemplate gRevengeBigScratchSpriteTemplate = { .tileTag = ANIM_TAG_PURPLE_SWIPE, .paletteTag = ANIM_TAG_PURPLE_SWIPE, .oam = &gOamData_AffineOff_ObjNormal_64x64, - .anims = gUnknown_085960C4, + .anims = sAnims_RevengeBigScratch, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_810DA10, + .callback = AnimRevengeScratch, }; -const union AffineAnimCmd gUnknown_085960E8[] = +static const union AffineAnimCmd sAffineAnim_FocusPunchFist[] = { AFFINEANIMCMD_FRAME(0x200, 0x200, 0, 0), AFFINEANIMCMD_FRAME(0xFFE0, 0xFFE0, 0, 8), AFFINEANIMCMD_END, }; -const union AffineAnimCmd *const gUnknown_08596100[] = +static const union AffineAnimCmd *const sAffineAnims_FocusPunchFist[] = { - gUnknown_085960E8, + sAffineAnim_FocusPunchFist, }; -const struct SpriteTemplate gUnknown_08596104 = +const struct SpriteTemplate gFocusPunchFistSpriteTemplate = { .tileTag = ANIM_TAG_HANDS_AND_FEET, .paletteTag = ANIM_TAG_HANDS_AND_FEET, .oam = &gOamData_AffineDouble_ObjNormal_32x32, - .anims = gUnknown_08595E54, + .anims = sAnims_HandOrFoot, .images = NULL, - .affineAnims = gUnknown_08596100, - .callback = sub_810DA7C, + .affineAnims = sAffineAnims_FocusPunchFist, + .callback = AnimFocusPunchFist, }; -void unc_080B08A0(struct Sprite *sprite) +static void unc_080B08A0(struct Sprite *sprite) { SetAnimSpriteInitialXOffset(sprite, gBattleAnimArgs[0]); sprite->pos1.y += gBattleAnimArgs[1]; @@ -423,7 +426,7 @@ void unc_080B08A0(struct Sprite *sprite) StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); } -void sub_810CE68(struct Sprite *sprite) +static void AnimSlideHandOrFootToTarget(struct Sprite *sprite) { if (gBattleAnimArgs[7] == 1 && GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) { @@ -433,10 +436,10 @@ void sub_810CE68(struct Sprite *sprite) StartSpriteAnim(sprite, gBattleAnimArgs[6]); gBattleAnimArgs[6] = 0; - AnimSnoreZ(sprite); + AnimTravelDiagonally(sprite); } -void sub_810CEB4(struct Sprite *sprite) +static void AnimJumpKick(struct Sprite *sprite) { if (IsContest()) { @@ -444,7 +447,7 @@ void sub_810CEB4(struct Sprite *sprite) gBattleAnimArgs[3] = -gBattleAnimArgs[3]; } - sub_810CE68(sprite); + AnimSlideHandOrFootToTarget(sprite); } // Displays a basic fist or foot sprite for a given duration. @@ -454,7 +457,7 @@ void sub_810CEB4(struct Sprite *sprite) // arg 2: duration // arg 3: ? (todo: related to initial pixel offsets) // arg 4: anim num -void AnimBasicFistOrFoot(struct Sprite *sprite) +static void AnimBasicFistOrFoot(struct Sprite *sprite) { StartSpriteAnim(sprite, gBattleAnimArgs[4]); @@ -468,7 +471,7 @@ void AnimBasicFistOrFoot(struct Sprite *sprite) StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); } -void sub_810CF30(struct Sprite *sprite) +static void AnimFistOrFootRandomPos(struct Sprite *sprite) { u8 battler; s16 xMod, yMod; @@ -511,10 +514,10 @@ void sub_810CF30(struct Sprite *sprite) gSprites[sprite->data[7]].callback = SpriteCallbackDummy; } - sprite->callback = sub_810D0B8; + sprite->callback = AnimFistOrFootRandomPos_Step; } -static void sub_810D0B8(struct Sprite *sprite) +static void AnimFistOrFootRandomPos_Step(struct Sprite *sprite) { if (sprite->data[0] == 0) { @@ -532,7 +535,7 @@ static void sub_810D0B8(struct Sprite *sprite) } } -void sub_810D10C(struct Sprite *sprite) +static void AnimCrossChopHand(struct Sprite *sprite) { InitSpritePosToAnimTarget(sprite, TRUE); sprite->data[0] = 30; @@ -549,10 +552,10 @@ void sub_810D10C(struct Sprite *sprite) sprite->data[4] = sprite->pos1.y - 20; sprite->callback = StartAnimLinearTranslation; - StoreSpriteCallbackInData6(sprite, sub_810D164); + StoreSpriteCallbackInData6(sprite, AnimCrossChopHand_Step); } -static void sub_810D164(struct Sprite *sprite) +static void AnimCrossChopHand_Step(struct Sprite *sprite) { if (++sprite->data[5] == 11) { @@ -569,7 +572,8 @@ static void sub_810D164(struct Sprite *sprite) } } -void sub_810D1B4(struct Sprite *sprite) +// Rolling Kick / Low Kick +static void AnimSlidingKick(struct Sprite *sprite) { if (BATTLE_PARTNER(gBattleAnimAttacker) == gBattleAnimTarget && GetBattlerPosition(gBattleAnimTarget) < B_POSITION_PLAYER_RIGHT) gBattleAnimArgs[0] *= -1; @@ -591,10 +595,10 @@ void sub_810D1B4(struct Sprite *sprite) sprite->data[6] = gBattleAnimArgs[4]; sprite->data[7] = 0; - sprite->callback = sub_810D240; + sprite->callback = AnimSlidingKick_Step; } -static void sub_810D240(struct Sprite *sprite) +static void AnimSlidingKick_Step(struct Sprite *sprite) { if (!AnimTranslateLinear(sprite)) { @@ -613,7 +617,7 @@ static void sub_810D240(struct Sprite *sprite) // arg 1: initial y pixel offset // arg 2: anim num // arg 3: spin duration -void AnimSpinningKickOrPunch(struct Sprite *sprite) +static void AnimSpinningKickOrPunch(struct Sprite *sprite) { InitSpritePosToAnimTarget(sprite, TRUE); StartSpriteAnim(sprite, gBattleAnimArgs[2]); @@ -637,15 +641,15 @@ static void AnimSpinningKickOrPunchFinish(struct Sprite *sprite) // arg 0: initial x pixel offset // arg 1: initial y pixel offset // arg 2: initial wait duration -void AnimStompFoot(struct Sprite *sprite) +static void AnimStompFoot(struct Sprite *sprite) { InitSpritePosToAnimTarget(sprite, TRUE); sprite->data[0] = gBattleAnimArgs[2]; - sprite->callback = AnimStompFootStep; + sprite->callback = AnimStompFoot_Step; } -static void AnimStompFootStep(struct Sprite *sprite) +static void AnimStompFoot_Step(struct Sprite *sprite) { if (--sprite->data[0] == -1) { @@ -654,11 +658,11 @@ static void AnimStompFootStep(struct Sprite *sprite) sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3); sprite->callback = StartAnimLinearTranslation; - StoreSpriteCallbackInData6(sprite, AnimStompFootEnd); + StoreSpriteCallbackInData6(sprite, AnimStompFoot_End); } } -static void AnimStompFootEnd(struct Sprite *sprite) +static void AnimStompFoot_End(struct Sprite *sprite) { sprite->data[0] = 15; @@ -666,7 +670,7 @@ static void AnimStompFootEnd(struct Sprite *sprite) StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); } -void sub_810D37C(struct Sprite *sprite) +static void AnimDizzyPunchDuck(struct Sprite *sprite) { if (sprite->data[0] == 0) { @@ -690,9 +694,10 @@ void sub_810D37C(struct Sprite *sprite) } } -void sub_810D40C(struct Sprite *sprite) +// The wall that appears when Brick Break is going to shatter the target's defensive wall +static void AnimBrickBreakWall(struct Sprite *sprite) { - if (gBattleAnimArgs[0] == 0) + if (gBattleAnimArgs[0] == ANIM_ATTACKER) { sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 0); sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 1); @@ -710,10 +715,10 @@ void sub_810D40C(struct Sprite *sprite) sprite->data[1] = gBattleAnimArgs[3]; sprite->data[2] = gBattleAnimArgs[4]; sprite->data[3] = 0; - sprite->callback = sub_810D47C; + sprite->callback = AnimBrickBreakWall_Step; } -static void sub_810D47C(struct Sprite *sprite) +static void AnimBrickBreakWall_Step(struct Sprite *sprite) { switch (sprite->data[0]) { @@ -743,9 +748,10 @@ static void sub_810D47C(struct Sprite *sprite) } } -void sub_810D4F4(struct Sprite *sprite) +// Piece of shattered defensive wall flies off. Used by Brick Break when the target has a defensive wall +static void AnimBrickBreakWallShard(struct Sprite *sprite) { - if (gBattleAnimArgs[0] == 0) + if (gBattleAnimArgs[0] == ANIM_ATTACKER) { sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 0) + gBattleAnimArgs[2]; sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 1) + gBattleAnimArgs[3]; @@ -782,10 +788,10 @@ void sub_810D4F4(struct Sprite *sprite) return; } - sprite->callback = sub_810D5DC; + sprite->callback = AnimBrickBreakWallShard_Step; } -static void sub_810D5DC(struct Sprite *sprite) +static void AnimBrickBreakWallShard_Step(struct Sprite *sprite) { sprite->pos1.x += sprite->data[6]; sprite->pos1.y += sprite->data[7]; @@ -794,9 +800,9 @@ static void sub_810D5DC(struct Sprite *sprite) DestroyAnimSprite(sprite); } -void sub_810D608(struct Sprite *sprite) +static void AnimSuperpowerOrb(struct Sprite *sprite) { - if (gBattleAnimArgs[0] == 0) + if (gBattleAnimArgs[0] == ANIM_ATTACKER) { sprite->pos1.x = GetBattlerSpriteCoord(gBattlerAttacker, 2); sprite->pos1.y = GetBattlerSpriteCoord(gBattlerAttacker, 3); @@ -812,10 +818,10 @@ void sub_810D608(struct Sprite *sprite) sprite->data[0] = 0; sprite->data[1] = 12; sprite->data[2] = 8; - sprite->callback = sub_810D6A8; + sprite->callback = AnimSuperpowerOrb_Step; } -static void sub_810D6A8(struct Sprite *sprite) +static void AnimSuperpowerOrb_Step(struct Sprite *sprite) { if (++sprite->data[0] == 180) { @@ -833,7 +839,8 @@ static void sub_810D6A8(struct Sprite *sprite) } } -void sub_810D714(struct Sprite *sprite) +// Floating rock that flies off to hit the target. Used by Superpower +static void AnimSuperpowerRock(struct Sprite *sprite) { sprite->pos1.x = gBattleAnimArgs[0]; sprite->pos1.y = 120; @@ -844,10 +851,10 @@ void sub_810D714(struct Sprite *sprite) sprite->data[6] = gBattleAnimArgs[1]; sprite->oam.tileNum += gBattleAnimArgs[2] * 4; - sprite->callback = sub_810D770; + sprite->callback = AnimSuperpowerRock_Step1; } -static void sub_810D770(struct Sprite *sprite) +static void AnimSuperpowerRock_Step1(struct Sprite *sprite) { void *var0; @@ -876,11 +883,11 @@ static void sub_810D770(struct Sprite *sprite) sprite->data[2] = sprite->pos1.x << 4; sprite->data[3] = sprite->pos1.y << 4; - sprite->callback = sub_810D830; + sprite->callback = AnimSuperpowerRock_Step2; } } -static void sub_810D830(struct Sprite *sprite) +static void AnimSuperpowerRock_Step2(struct Sprite *sprite) { u16 edgeX; @@ -894,11 +901,11 @@ static void sub_810D830(struct Sprite *sprite) DestroyAnimSprite(sprite); } -void sub_810D874(struct Sprite *sprite) +static void AnimSuperpowerFireball(struct Sprite *sprite) { u8 battler; - if (gBattleAnimArgs[0] == 0) + if (gBattleAnimArgs[0] == ANIM_ATTACKER) { sprite->pos1.x = GetBattlerSpriteCoord(gBattlerAttacker, 2); sprite->pos1.y = GetBattlerSpriteCoord(gBattlerAttacker, 3); @@ -927,7 +934,7 @@ void sub_810D874(struct Sprite *sprite) sprite->callback = sub_80A6F98; } -static void sub_810D960(struct Sprite *sprite) +static void AnimArmThrustHit_Step(struct Sprite *sprite) { if (sprite->data[0] == sprite->data[4]) DestroyAnimSprite(sprite); @@ -935,7 +942,7 @@ static void sub_810D960(struct Sprite *sprite) sprite->data[0]++; } -void sub_810D984(struct Sprite *sprite) +static void AnimArmThrustHit(struct Sprite *sprite) { u8 turn; @@ -959,12 +966,12 @@ void sub_810D984(struct Sprite *sprite) StartSpriteAnim(sprite, sprite->data[1]); sprite->pos2.x = sprite->data[2]; sprite->pos2.y = sprite->data[3]; - sprite->callback = sub_810D960; + sprite->callback = AnimArmThrustHit_Step; } -void sub_810DA10(struct Sprite *sprite) +static void AnimRevengeScratch(struct Sprite *sprite) { - if (gBattleAnimArgs[2] == 0) + if (gBattleAnimArgs[2] == ANIM_ATTACKER) InitSpritePosToAnimAttacker(sprite, 0); else InitSpritePosToAnimTarget(sprite, FALSE); @@ -982,7 +989,8 @@ void sub_810DA10(struct Sprite *sprite) StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); } -void sub_810DA7C(struct Sprite *sprite) +// Fist shrinks toward target and shakes +static void AnimFocusPunchFist(struct Sprite *sprite) { if (sprite->affineAnimEnded) { @@ -993,7 +1001,7 @@ void sub_810DA7C(struct Sprite *sprite) } } -void sub_810DABC(u8 taskId) +void AnimTask_MoveSkyUppercutBg(u8 taskId) { struct Task *task = &gTasks[taskId]; diff --git a/src/fire.c b/src/battle_anim_fire.c index 2a12c26cc..f02ecae19 100644 --- a/src/fire.c +++ b/src/battle_anim_fire.c @@ -7,39 +7,39 @@ #include "task.h" #include "trig.h" -static void sub_8108EC8(struct Sprite *); -static void sub_8108F08(struct Sprite *); -static void sub_8108F4C(struct Sprite *); -static void sub_8108FBC(struct Sprite *); +static void AnimFireSpiralInward(struct Sprite *); +static void AnimFireSpread(struct Sprite *); +static void AnimFirePlume(struct Sprite *); +static void AnimLargeFlame(struct Sprite *); static void sub_8109028(struct Sprite *); static void sub_8109064(struct Sprite *); static void sub_81090D8(struct Sprite *); -static void sub_810916C(struct Sprite *); +static void AnimSunlight(struct Sprite *); static void AnimEmberFlare(struct Sprite *); -static void sub_8109200(struct Sprite *); +static void AnimBurnFlame(struct Sprite *); static void AnimFireRing(struct Sprite *); -static void AnimFireRingStep1(struct Sprite *); -static void AnimFireRingStep2(struct Sprite *); -static void AnimFireRingStep3(struct Sprite *); +static void AnimFireRing_Step1(struct Sprite *); +static void AnimFireRing_Step2(struct Sprite *); +static void AnimFireRing_Step3(struct Sprite *); static void UpdateFireRingCircleOffset(struct Sprite *); static void AnimFireCross(struct Sprite *); -static void sub_81093A4(struct Sprite *); -static void sub_81093E4(struct Sprite *); -static void sub_810940C(struct Sprite *); -static void sub_81094D0(u8 taskId); -static void sub_81097B4(u8 spriteId, u8 taskId, u8 a3); -static void sub_81098EC(struct Sprite *); -static u16 sub_8109930(u8 spriteId); -static void sub_8109984(struct Sprite *sprite, s16 x, s16 y); -static void sub_81099A0(struct Sprite *); -static void sub_8109A10(struct Sprite *); -static void sub_8109A64(struct Sprite *); -static void sub_8109AFC(struct Sprite *); -static void sub_8109C4C(struct Sprite *); -static void sub_8109CB0(struct Sprite *); -static void sub_8109E2C(u8 taskId); - -const union AnimCmd gUnknown_08595340[] = +static void AnimFireSpiralOutward(struct Sprite *); +static void AnimFireSpiralOutward_Step1(struct Sprite *); +static void AnimFireSpiralOutward_Step2(struct Sprite *); +static void AnimTask_EruptionLaunchRocks_Step(u8 taskId); +static void CreateEruptionLaunchRocks(u8 spriteId, u8 taskId, u8 a3); +static void AnimEruptionLaunchRock(struct Sprite *); +static u16 GetEruptionLaunchRockInitialYPos(u8 spriteId); +static void InitEruptionLaunchRockCoordData(struct Sprite *sprite, s16 x, s16 y); +static void UpdateEruptionLaunchRockPos(struct Sprite *); +static void AnimEruptionFallingRock(struct Sprite *); +static void AnimEruptionFallingRock_Step(struct Sprite *); +static void AnimWillOWispOrb(struct Sprite *); +static void AnimWillOWispOrb_Step(struct Sprite *); +static void AnimWillOWispFire(struct Sprite *); +static void AnimTask_MoveHeatWaveTargets_Step(u8 taskId); + +static const union AnimCmd sAnim_FireSpiralSpread_0[] = { ANIMCMD_FRAME(16, 4), ANIMCMD_FRAME(32, 4), @@ -47,7 +47,7 @@ const union AnimCmd gUnknown_08595340[] = ANIMCMD_JUMP(0), }; -const union AnimCmd gUnknown_08595350[] = +static const union AnimCmd sAnim_FireSpiralSpread_1[] = { ANIMCMD_FRAME(16, 4, .vFlip = TRUE, .hFlip = TRUE), ANIMCMD_FRAME(32, 4, .vFlip = TRUE, .hFlip = TRUE), @@ -55,35 +55,35 @@ const union AnimCmd gUnknown_08595350[] = ANIMCMD_JUMP(0), }; -const union AnimCmd *const gUnknown_08595360[] = +static const union AnimCmd *const sAnims_FireSpiralSpread[] = { - gUnknown_08595340, - gUnknown_08595350, + sAnim_FireSpiralSpread_0, + sAnim_FireSpiralSpread_1, }; -const struct SpriteTemplate gUnknown_08595368 = +const struct SpriteTemplate gFireSpiralInwardSpriteTemplate = { .tileTag = ANIM_TAG_SMALL_EMBER, .paletteTag = ANIM_TAG_SMALL_EMBER, .oam = &gOamData_AffineOff_ObjNormal_32x32, - .anims = gUnknown_08595360, + .anims = sAnims_FireSpiralSpread, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_8108EC8, + .callback = AnimFireSpiralInward, }; -const struct SpriteTemplate gUnknown_08595380 = +const struct SpriteTemplate gFireSpreadSpriteTemplate = { .tileTag = ANIM_TAG_SMALL_EMBER, .paletteTag = ANIM_TAG_SMALL_EMBER, .oam = &gOamData_AffineOff_ObjNormal_32x32, - .anims = gUnknown_08595360, + .anims = sAnims_FireSpiralSpread, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_8108F08, + .callback = AnimFireSpread, }; -const union AnimCmd gUnknown_08595398[] = +static const union AnimCmd sAnim_LargeFlame[] = { ANIMCMD_FRAME(0, 3), ANIMCMD_FRAME(16, 3), @@ -96,12 +96,12 @@ const union AnimCmd gUnknown_08595398[] = ANIMCMD_JUMP(0), }; -const union AnimCmd *const gUnknown_085953BC[] = +static const union AnimCmd *const sAnims_LargeFlame[] = { - gUnknown_08595398, + sAnim_LargeFlame, }; -const union AnimCmd gUnknown_085953C0[] = +static const union AnimCmd sAnim_FirePlume[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(16, 5), @@ -111,68 +111,69 @@ const union AnimCmd gUnknown_085953C0[] = ANIMCMD_JUMP(0), }; -const union AnimCmd *const gUnknown_085953D8[] = +static const union AnimCmd *const sAnims_FirePlume[] = { - gUnknown_085953C0, + sAnim_FirePlume, }; -const union AffineAnimCmd gUnknown_085953DC[] = +static const union AffineAnimCmd sAffineAnim_LargeFlame[] = { AFFINEANIMCMD_FRAME(0x32, 0x100, 0, 0), AFFINEANIMCMD_FRAME(0x20, 0x0, 0, 7), AFFINEANIMCMD_END, }; -const union AffineAnimCmd *const gUnknown_085953F4[] = +static const union AffineAnimCmd *const sAffineAnims_LargeFlame[] = { - gUnknown_085953DC, + sAffineAnim_LargeFlame, }; -const struct SpriteTemplate gUnknown_085953F8 = +const struct SpriteTemplate gLargeFlameSpriteTemplate = { .tileTag = ANIM_TAG_FIRE, .paletteTag = ANIM_TAG_FIRE, .oam = &gOamData_AffineNormal_ObjNormal_32x32, - .anims = gUnknown_085953BC, + .anims = sAnims_LargeFlame, .images = NULL, - .affineAnims = gUnknown_085953F4, - .callback = sub_8108FBC, + .affineAnims = sAffineAnims_LargeFlame, + .callback = AnimLargeFlame, }; -const struct SpriteTemplate gUnknown_08595410 = +const struct SpriteTemplate gLargeFlameScatterSpriteTemplate = { .tileTag = ANIM_TAG_FIRE, .paletteTag = ANIM_TAG_FIRE, .oam = &gOamData_AffineOff_ObjNormal_32x32, - .anims = gUnknown_085953BC, + .anims = sAnims_LargeFlame, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_8108FBC, + .callback = AnimLargeFlame, }; -const struct SpriteTemplate gUnknown_08595428 = +const struct SpriteTemplate gFirePlumeSpriteTemplate = { .tileTag = ANIM_TAG_FIRE_PLUME, .paletteTag = ANIM_TAG_FIRE_PLUME, .oam = &gOamData_AffineOff_ObjNormal_32x32, - .anims = gUnknown_085953D8, + .anims = sAnims_FirePlume, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_8108F4C, + .callback = AnimFirePlume, }; +// Unused const struct SpriteTemplate gUnknown_08595440 = { .tileTag = ANIM_TAG_SMALL_EMBER, .paletteTag = ANIM_TAG_SMALL_EMBER, .oam = &gOamData_AffineOff_ObjNormal_32x32, - .anims = gUnknown_085953D8, + .anims = sAnims_FirePlume, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_8108F4C, + .callback = AnimFirePlume, }; -const union AnimCmd gUnknown_08595458[] = +static const union AnimCmd gUnknown_08595458[] = { ANIMCMD_FRAME(16, 6), ANIMCMD_FRAME(32, 6), @@ -180,11 +181,12 @@ const union AnimCmd gUnknown_08595458[] = ANIMCMD_JUMP(0), }; -const union AnimCmd *const gUnknown_08595468[] = +static const union AnimCmd *const gUnknown_08595468[] = { gUnknown_08595458, }; +// Unused const struct SpriteTemplate gUnknown_0859546C = { .tileTag = ANIM_TAG_SMALL_EMBER, @@ -196,30 +198,30 @@ const struct SpriteTemplate gUnknown_0859546C = .callback = sub_8109064, }; -const union AffineAnimCmd gUnknown_08595484[] = +static const union AffineAnimCmd sAffineAnim_SunlightRay[] = { AFFINEANIMCMD_FRAME(0x50, 0x50, 0, 0), AFFINEANIMCMD_FRAME(0x2, 0x2, 10, 1), AFFINEANIMCMD_JUMP(1), }; -const union AffineAnimCmd *const gUnknown_0859549C[] = +static const union AffineAnimCmd *const sAffineAnims_SunlightRay[] = { - gUnknown_08595484, + sAffineAnim_SunlightRay, }; -const struct SpriteTemplate gUnknown_085954A0 = +const struct SpriteTemplate gSunlightRaySpriteTemplate = { .tileTag = ANIM_TAG_SUNLIGHT, .paletteTag = ANIM_TAG_SUNLIGHT, .oam = &gOamData_AffineNormal_ObjBlend_32x32, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_0859549C, - .callback = sub_810916C, + .affineAnims = sAffineAnims_SunlightRay, + .callback = AnimSunlight, }; -const union AnimCmd gUnknown_085954B8[] = +static const union AnimCmd sAnim_BasicFire[] = { ANIMCMD_FRAME(0, 4), ANIMCMD_FRAME(16, 4), @@ -229,9 +231,9 @@ const union AnimCmd gUnknown_085954B8[] = ANIMCMD_JUMP(0), }; -const union AnimCmd *const gUnknown_085954D0[] = +const union AnimCmd *const gAnims_BasicFire[] = { - gUnknown_085954B8, + sAnim_BasicFire, }; const struct SpriteTemplate gEmberSpriteTemplate = @@ -250,98 +252,99 @@ const struct SpriteTemplate gEmberFlareSpriteTemplate = .tileTag = ANIM_TAG_SMALL_EMBER, .paletteTag = ANIM_TAG_SMALL_EMBER, .oam = &gOamData_AffineOff_ObjNormal_32x32, - .anims = gUnknown_085954D0, + .anims = gAnims_BasicFire, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimEmberFlare, }; -const struct SpriteTemplate gUnknown_08595504 = +const struct SpriteTemplate gBurnFlameSpriteTemplate = { .tileTag = ANIM_TAG_SMALL_EMBER, .paletteTag = ANIM_TAG_SMALL_EMBER, .oam = &gOamData_AffineOff_ObjNormal_32x32, - .anims = gUnknown_085954D0, + .anims = gAnims_BasicFire, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_8109200, + .callback = AnimBurnFlame, }; -const struct SpriteTemplate gUnknown_0859551C = +const struct SpriteTemplate gFireBlastRingSpriteTemplate = { .tileTag = ANIM_TAG_SMALL_EMBER, .paletteTag = ANIM_TAG_SMALL_EMBER, .oam = &gOamData_AffineOff_ObjNormal_32x32, - .anims = gUnknown_085954D0, + .anims = gAnims_BasicFire, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimFireRing, }; -const union AnimCmd gUnknown_08595534[] = +static const union AnimCmd sAnim_FireBlastCross[] = { ANIMCMD_FRAME(32, 6), ANIMCMD_FRAME(48, 6), ANIMCMD_JUMP(0), }; -const union AnimCmd *const gUnknown_08595540[] = +static const union AnimCmd *const sAnims_FireBlastCross[] = { - gUnknown_08595534, + sAnim_FireBlastCross, }; -const union AffineAnimCmd gUnknown_08595544[] = +static const union AffineAnimCmd gUnknown_08595544[] = { AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 1), AFFINEANIMCMD_END, }; -const union AffineAnimCmd gUnknown_08595554[] = +static const union AffineAnimCmd gUnknown_08595554[] = { AFFINEANIMCMD_FRAME(0xA0, 0xA0, 0, 0), AFFINEANIMCMD_END, }; -const union AffineAnimCmd *const gUnknown_08595564[] = +// Unused +static const union AffineAnimCmd *const gUnknown_08595564[] = { gUnknown_08595544, gUnknown_08595554, }; -const struct SpriteTemplate gUnknown_0859556C = +const struct SpriteTemplate gFireBlastCrossSpriteTemplate = { .tileTag = ANIM_TAG_SMALL_EMBER, .paletteTag = ANIM_TAG_SMALL_EMBER, .oam = &gOamData_AffineOff_ObjNormal_32x32, - .anims = gUnknown_08595540, + .anims = sAnims_FireBlastCross, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimFireCross, }; -const struct SpriteTemplate gBattleAnimSpriteTemplate_8595584 = +const struct SpriteTemplate gFireSpiralOutwardSpriteTemplate = { .tileTag = ANIM_TAG_SMALL_EMBER, .paletteTag = ANIM_TAG_SMALL_EMBER, .oam = &gOamData_AffineOff_ObjNormal_32x32, - .anims = gUnknown_085954D0, + .anims = gAnims_BasicFire, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_81093A4, + .callback = AnimFireSpiralOutward, }; -const struct SpriteTemplate gUnknown_0859559C = +const struct SpriteTemplate gWeatherBallFireDownSpriteTemplate = { .tileTag = ANIM_TAG_SMALL_EMBER, .paletteTag = ANIM_TAG_SMALL_EMBER, .oam = &gOamData_AffineOff_ObjNormal_32x32, - .anims = gUnknown_085954D0, + .anims = gAnims_BasicFire, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80A8EE4, + .callback = AnimWeatherBallDown, }; -const struct SpriteTemplate gUnknown_085955B4 = +const struct SpriteTemplate gEruptionLaunchRockSpriteTemplate = { .tileTag = ANIM_TAG_WARM_ROCK, .paletteTag = ANIM_TAG_WARM_ROCK, @@ -349,11 +352,10 @@ const struct SpriteTemplate gUnknown_085955B4 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_81098EC, + .callback = AnimEruptionLaunchRock, }; -// gHeatedRockCoords -const s16 gUnknown_085955CC[][2] = +static const s16 sEruptionLaunchRockCoords[][2] = { {-2, -5}, {-1, -1}, @@ -364,7 +366,7 @@ const s16 gUnknown_085955CC[][2] = { 4, -7}, }; -const struct SpriteTemplate gUnknown_085955E8 = +const struct SpriteTemplate gEruptionFallingRockSpriteTemplate = { .tileTag = ANIM_TAG_WARM_ROCK, .paletteTag = ANIM_TAG_WARM_ROCK, @@ -372,10 +374,10 @@ const struct SpriteTemplate gUnknown_085955E8 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_8109A10, + .callback = AnimEruptionFallingRock, }; -const union AnimCmd gUnknown_08595600[] = +static const union AnimCmd sAnim_WillOWispOrb_0[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(4, 5), @@ -384,44 +386,44 @@ const union AnimCmd gUnknown_08595600[] = ANIMCMD_JUMP(0), }; -const union AnimCmd gUnknown_08595614[] = +static const union AnimCmd sAnim_WillOWispOrb_1[] = { ANIMCMD_FRAME(16, 5), ANIMCMD_END, }; -const union AnimCmd gUnknown_0859561C[] = +static const union AnimCmd sAnim_WillOWispOrb_2[] = { ANIMCMD_FRAME(20, 5), ANIMCMD_END, }; -const union AnimCmd gUnknown_08595624[] = +static const union AnimCmd sAnim_WillOWispOrb_3[] = { ANIMCMD_FRAME(20, 5), ANIMCMD_END, }; -const union AnimCmd *const gUnknown_0859562C[] = +static const union AnimCmd *const sAnims_WillOWispOrb[] = { - gUnknown_08595600, - gUnknown_08595614, - gUnknown_0859561C, - gUnknown_08595624, + sAnim_WillOWispOrb_0, + sAnim_WillOWispOrb_1, + sAnim_WillOWispOrb_2, + sAnim_WillOWispOrb_3, }; -const struct SpriteTemplate gUnknown_0859563C = +const struct SpriteTemplate gWillOWispOrbSpriteTemplate = { .tileTag = ANIM_TAG_WISP_ORB, .paletteTag = ANIM_TAG_WISP_ORB, .oam = &gOamData_AffineOff_ObjNormal_16x16, - .anims = gUnknown_0859562C, + .anims = sAnims_WillOWispOrb, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_8109AFC, + .callback = AnimWillOWispOrb, }; -const union AnimCmd gUnknown_08595654[] = +static const union AnimCmd sAnim_WillOWispFire[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(16, 5), @@ -430,33 +432,37 @@ const union AnimCmd gUnknown_08595654[] = ANIMCMD_JUMP(0), }; -const union AnimCmd *const gUnknown_08595668[] = +static const union AnimCmd *const sAnims_WillOWispFire[] = { - gUnknown_08595654, + sAnim_WillOWispFire, }; -const struct SpriteTemplate gUnknown_0859566C = +const struct SpriteTemplate gWillOWispFireSpriteTemplate = { .tileTag = ANIM_TAG_WISP_FIRE, .paletteTag = ANIM_TAG_WISP_FIRE, .oam = &gOamData_AffineOff_ObjNormal_32x32, - .anims = gUnknown_08595668, + .anims = sAnims_WillOWispFire, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_8109CB0, + .callback = AnimWillOWispFire, }; -const s8 gUnknown_08595684[16] = +// Directions for shaking up/down or left/right in AnimTask_ShakeTargetInPattern +// Only first 10 values are ever accessed. +// First pattern results in larger shakes, second results in faster oscillation +static const s8 sShakeDirsPattern0[16] = { -1, -1, 0, 1, 1, 0, 0, -1, -1, 1, 1, 0, 0, -1, 0, 1, }; -const s8 gUnknown_08595694[16] = +static const s8 sShakeDirsPattern1[16] = { -1, 0, 1, 0, -1, 1, 0, -1, 0, 1, 0, -1, 0, 1, 0, 1, }; -static void sub_8108EC8(struct Sprite *sprite) +// For the first stage of Fire Punch +static void AnimFireSpiralInward(struct Sprite *sprite) { sprite->data[0] = gBattleAnimArgs[0]; sprite->data[1] = 0x3C; @@ -470,7 +476,8 @@ static void sub_8108EC8(struct Sprite *sprite) sprite->callback(sprite); } -static void sub_8108F08(struct Sprite *sprite) +// For the impact spread of fire sprites for moves like Blaze Kick or Fire Punch +static void AnimFireSpread(struct Sprite *sprite) { SetAnimSpriteInitialXOffset(sprite, gBattleAnimArgs[0]); @@ -483,7 +490,7 @@ static void sub_8108F08(struct Sprite *sprite) StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); } -static void sub_8108F4C(struct Sprite *sprite) +static void AnimFirePlume(struct Sprite *sprite) { SetSpriteCoordsToAnimAttackerCoords(sprite); @@ -507,7 +514,7 @@ static void sub_8108F4C(struct Sprite *sprite) sprite->callback = sub_8109028; } -static void sub_8108FBC(struct Sprite *sprite) +static void AnimLargeFlame(struct Sprite *sprite) { if (GetBattlerSide(gBattleAnimAttacker)) { @@ -592,8 +599,8 @@ static void sub_81090D8(struct Sprite *sprite) } } -//sunlight -static void sub_810916C(struct Sprite *sprite) +// Sunlight from Sunny Day / sunny weather +static void AnimSunlight(struct Sprite *sprite) { sprite->pos1.x = 0; sprite->pos1.y = 0; @@ -622,16 +629,16 @@ static void AnimEmberFlare(struct Sprite *sprite) || gBattleAnimAttacker == GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT))) gBattleAnimArgs[2] = -gBattleAnimArgs[2]; - sprite->callback = AnimSnoreZ; + sprite->callback = AnimTravelDiagonally; sprite->callback(sprite); } -static void sub_8109200(struct Sprite *sprite) +static void AnimBurnFlame(struct Sprite *sprite) { gBattleAnimArgs[0] = -gBattleAnimArgs[0]; gBattleAnimArgs[2] = -gBattleAnimArgs[2]; - sprite->callback = AnimSnoreZ; + sprite->callback = AnimTravelDiagonally; } // Animates the a fire sprite in the first-half of the MOVE_FIRE_BLAST @@ -649,10 +656,10 @@ void AnimFireRing(struct Sprite *sprite) sprite->data[7] = gBattleAnimArgs[2]; sprite->data[0] = 0; - sprite->callback = AnimFireRingStep1; + sprite->callback = AnimFireRing_Step1; } -static void AnimFireRingStep1(struct Sprite *sprite) +static void AnimFireRing_Step1(struct Sprite *sprite) { UpdateFireRingCircleOffset(sprite); @@ -666,11 +673,11 @@ static void AnimFireRingStep1(struct Sprite *sprite) InitAnimLinearTranslation(sprite); - sprite->callback = AnimFireRingStep2; + sprite->callback = AnimFireRing_Step2; } } -static void AnimFireRingStep2(struct Sprite *sprite) +static void AnimFireRing_Step2(struct Sprite *sprite) { if (AnimTranslateLinear(sprite)) { @@ -681,7 +688,7 @@ static void AnimFireRingStep2(struct Sprite *sprite) sprite->pos2.y = 0; sprite->pos2.x = 0; - sprite->callback = AnimFireRingStep3; + sprite->callback = AnimFireRing_Step3; sprite->callback(sprite); } else @@ -693,7 +700,7 @@ static void AnimFireRingStep2(struct Sprite *sprite) } } -static void AnimFireRingStep3(struct Sprite *sprite) +static void AnimFireRing_Step3(struct Sprite *sprite) { UpdateFireRingCircleOffset(sprite); @@ -729,7 +736,7 @@ static void AnimFireCross(struct Sprite *sprite) sprite->callback = TranslateSpriteLinear; } -static void sub_81093A4(struct Sprite *sprite) +static void AnimFireSpiralOutward(struct Sprite *sprite) { InitSpritePosToAnimAttacker(sprite, 1); @@ -739,21 +746,21 @@ static void sub_81093A4(struct Sprite *sprite) sprite->invisible = TRUE; sprite->callback = WaitAnimForDuration; - StoreSpriteCallbackInData6(sprite, sub_81093E4); + StoreSpriteCallbackInData6(sprite, AnimFireSpiralOutward_Step1); } -static void sub_81093E4(struct Sprite *sprite) +static void AnimFireSpiralOutward_Step1(struct Sprite *sprite) { sprite->invisible = FALSE; sprite->data[0] = sprite->data[1]; sprite->data[1] = 0; - sprite->callback = sub_810940C; + sprite->callback = AnimFireSpiralOutward_Step2; sprite->callback(sprite); } -static void sub_810940C(struct Sprite *sprite) +static void AnimFireSpiralOutward_Step2(struct Sprite *sprite) { sprite->pos2.x = Sin(sprite->data[1], sprite->data[2] >> 8); sprite->pos2.y = Cos(sprite->data[1], sprite->data[2] >> 8); @@ -765,11 +772,12 @@ static void sub_810940C(struct Sprite *sprite) DestroyAnimSprite(sprite); } -void sub_8109460(u8 taskId) // initialize animation task for Move_ERUPTION? +// Animates first stage of Eruption where the attacker squishes and launches rocks away from themself +void AnimTask_EruptionLaunchRocks(u8 taskId) { struct Task *task = &gTasks[taskId]; - task->data[15] = GetAnimBattlerSpriteId(0); + task->data[15] = GetAnimBattlerSpriteId(ANIM_ATTACKER); task->data[0] = 0; task->data[1] = 0; @@ -781,10 +789,10 @@ void sub_8109460(u8 taskId) // initialize animation task for Move_ERUPTION? PrepareBattlerSpriteForRotScale(task->data[15], ST_OAM_OBJ_NORMAL); - task->func = sub_81094D0; + task->func = AnimTask_EruptionLaunchRocks_Step; } -static void sub_81094D0(u8 taskId) // animate Move_ERUPTION? +static void AnimTask_EruptionLaunchRocks_Step(u8 taskId) // animate Move_ERUPTION? { struct Task *task = &gTasks[taskId]; @@ -840,7 +848,7 @@ static void sub_81094D0(u8 taskId) // animate Move_ERUPTION? case 3: if (!sub_80A80C8(task)) { - sub_81097B4(task->data[15], taskId, 6); + CreateEruptionLaunchRocks(task->data[15], taskId, 6); task->data[0]++; } @@ -895,12 +903,12 @@ static void sub_81094D0(u8 taskId) // animate Move_ERUPTION? } } -static void sub_81097B4(u8 spriteId, u8 taskId, u8 a3) +static void CreateEruptionLaunchRocks(u8 spriteId, u8 taskId, u8 a3) { u16 i, j; s8 sign; - u16 y = sub_8109930(spriteId); + u16 y = GetEruptionLaunchRockInitialYPos(spriteId); u16 x = gSprites[spriteId].pos1.x; if(!GetBattlerSide(gBattleAnimAttacker)) @@ -916,7 +924,7 @@ static void sub_81097B4(u8 spriteId, u8 taskId, u8 a3) for (i = 0, j = 0; i <= 6; i++) { - u8 spriteId = CreateSprite(&gUnknown_085955B4, x, y, 2); + u8 spriteId = CreateSprite(&gEruptionLaunchRockSpriteTemplate, x, y, 2); if (spriteId != 0x40) { @@ -924,8 +932,8 @@ static void sub_81097B4(u8 spriteId, u8 taskId, u8 a3) if (++j >= 5) j = 0; - //gHeatedRockCoords - sub_8109984(&gSprites[spriteId], gUnknown_085955CC[i][0] * sign, gUnknown_085955CC[i][1]); + + InitEruptionLaunchRockCoordData(&gSprites[spriteId], sEruptionLaunchRockCoords[i][0] * sign, sEruptionLaunchRockCoords[i][1]); gSprites[spriteId].data[6] = taskId; gSprites[spriteId].data[7] = a3; @@ -934,9 +942,9 @@ static void sub_81097B4(u8 spriteId, u8 taskId, u8 a3) } } -static void sub_81098EC(struct Sprite *sprite) +static void AnimEruptionLaunchRock(struct Sprite *sprite) { - sub_81099A0(sprite); + UpdateEruptionLaunchRockPos(sprite); if (sprite->invisible) { @@ -945,23 +953,23 @@ static void sub_81098EC(struct Sprite *sprite) } } -static u16 sub_8109930(u8 spriteId) +static u16 GetEruptionLaunchRockInitialYPos(u8 spriteId) { - u16 var1 = gSprites[spriteId].pos1.y + gSprites[spriteId].pos2.y + gSprites[spriteId].centerToCornerVecY; + u16 y = gSprites[spriteId].pos1.y + gSprites[spriteId].pos2.y + gSprites[spriteId].centerToCornerVecY; if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER) { - var1 = ((var1 << 16) + 0x4A0000) >> 16; + y = ((y << 16) + 0x4A0000) >> 16; } else { - var1 = ((var1 << 16) + 0x2C0000) >> 16; + y = ((y << 16) + 0x2C0000) >> 16; } - return var1; + return y; } -static void sub_8109984(struct Sprite *sprite, s16 x, s16 y) +static void InitEruptionLaunchRockCoordData(struct Sprite *sprite, s16 x, s16 y) { sprite->data[0] = 0; sprite->data[1] = 0; @@ -971,7 +979,7 @@ static void sub_8109984(struct Sprite *sprite, s16 x, s16 y) sprite->data[5] = y * 8; } -static void sub_81099A0(struct Sprite *sprite) +static void UpdateEruptionLaunchRockPos(struct Sprite *sprite) { int var1; if (++sprite->data[0] > 2) @@ -991,7 +999,7 @@ static void sub_81099A0(struct Sprite *sprite) sprite->invisible = TRUE; } -static void sub_8109A10(struct Sprite *sprite) +static void AnimEruptionFallingRock(struct Sprite *sprite) { sprite->pos1.x = gBattleAnimArgs[0]; sprite->pos1.y = gBattleAnimArgs[1]; @@ -1003,10 +1011,10 @@ static void sub_8109A10(struct Sprite *sprite) sprite->data[7] = gBattleAnimArgs[3]; sprite->oam.tileNum += gBattleAnimArgs[4] * 16; - sprite->callback = sub_8109A64; + sprite->callback = AnimEruptionFallingRock_Step; } -static void sub_8109A64(struct Sprite *sprite) +static void AnimEruptionFallingRock_Step(struct Sprite *sprite) { switch (sprite->data[0]) { @@ -1049,8 +1057,7 @@ static void sub_8109A64(struct Sprite *sprite) } } -//wisp orb -static void sub_8109AFC(struct Sprite *sprite) +static void AnimWillOWispOrb(struct Sprite *sprite) { switch (sprite->data[0]) { @@ -1109,13 +1116,13 @@ static void sub_8109AFC(struct Sprite *sprite) sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3); sub_80A6FD4(sprite); - sprite->callback = sub_8109C4C; + sprite->callback = AnimWillOWispOrb_Step; } break; } } -static void sub_8109C4C(struct Sprite *sprite) +static void AnimWillOWispOrb_Step(struct Sprite *sprite) { s16 initialData5; s16 newData5; @@ -1129,7 +1136,7 @@ static void sub_8109C4C(struct Sprite *sprite) if ((initialData5 == 0 || initialData5 > 196) && newData5 > 0 && sprite->data[7] == 0) { - PlaySE12WithPanning(SE_W172, gUnknown_02038440); + PlaySE12WithPanning(SE_W172, gAnimCustomPanning); } } else @@ -1138,8 +1145,7 @@ static void sub_8109C4C(struct Sprite *sprite) } } -//wisp fire -void sub_8109CB0(struct Sprite *sprite) +static void AnimWillOWispFire(struct Sprite *sprite) { if (!sprite->data[0]) { @@ -1177,19 +1183,19 @@ void sub_8109CB0(struct Sprite *sprite) DestroyAnimSprite(sprite); } -void sub_8109DBC(u8 taskId) +void AnimTask_MoveHeatWaveTargets(u8 taskId) { struct Task *task = &gTasks[taskId]; task->data[12] = !GetBattlerSide(gBattleAnimAttacker) ? 1 : -1; task->data[13] = IsBattlerSpriteVisible(gBattleAnimTarget ^ 2) + 1; - task->data[14] = GetAnimBattlerSpriteId(1); - task->data[15] = GetAnimBattlerSpriteId(3); + task->data[14] = GetAnimBattlerSpriteId(ANIM_TARGET); + task->data[15] = GetAnimBattlerSpriteId(ANIM_DEF_PARTNER); - task->func = sub_8109E2C; + task->func = AnimTask_MoveHeatWaveTargets_Step; } -static void sub_8109E2C(u8 taskId) +static void AnimTask_MoveHeatWaveTargets_Step(u8 taskId) { struct Task *task = &gTasks[taskId]; @@ -1287,33 +1293,40 @@ void AnimTask_BlendBackground(u8 taskId) DestroyAnimVisualTask(taskId); } -void sub_810A094(u8 taskId) +#define tShakeNum data[0] +#define tMaxShakes data[1] +#define tShakeOffset data[2] // Never read, gBattleAnimArgs[1] is used directly instead +#define tVertical data[3] +#define tPatternId data[4] + +// Shakes target horizontally or vertically tMaxShakes times, following a set pattern of alternations +void AnimTask_ShakeTargetInPattern(u8 taskId) { - s8 unk; + s8 dir; u8 spriteId; - if (gTasks[taskId].data[0] == 0) + if (gTasks[taskId].tShakeNum == 0) { - gTasks[taskId].data[1] = gBattleAnimArgs[0]; - gTasks[taskId].data[2] = gBattleAnimArgs[1]; - gTasks[taskId].data[3] = gBattleAnimArgs[2]; - gTasks[taskId].data[4] = gBattleAnimArgs[3]; + gTasks[taskId].tMaxShakes = gBattleAnimArgs[0]; + gTasks[taskId].tShakeOffset = gBattleAnimArgs[1]; + gTasks[taskId].tVertical = gBattleAnimArgs[2]; + gTasks[taskId].tPatternId = gBattleAnimArgs[3]; } - gTasks[taskId].data[0]++; + gTasks[taskId].tShakeNum++; spriteId = gBattlerSpriteIds[gBattleAnimTarget]; - if (!gTasks[taskId].data[4]) - unk = gUnknown_08595684[gTasks[taskId].data[0] % 10]; + if (gTasks[taskId].tPatternId == 0) + dir = sShakeDirsPattern0[gTasks[taskId].tShakeNum % 10]; else - unk = gUnknown_08595694[gTasks[taskId].data[0] % 10]; + dir = sShakeDirsPattern1[gTasks[taskId].tShakeNum % 10]; - if (gTasks[taskId].data[3] == 1) - gSprites[spriteId].pos2.y = gBattleAnimArgs[1] * unk < 0 ? -(gBattleAnimArgs[1] * unk) : gBattleAnimArgs[1] * unk; + if (gTasks[taskId].tVertical == TRUE) + gSprites[spriteId].pos2.y = gBattleAnimArgs[1] * dir < 0 ? -(gBattleAnimArgs[1] * dir) : gBattleAnimArgs[1] * dir; else - gSprites[spriteId].pos2.x = gBattleAnimArgs[1] * unk; + gSprites[spriteId].pos2.x = gBattleAnimArgs[1] * dir; - if (gTasks[taskId].data[0] == gTasks[taskId].data[1]) + if (gTasks[taskId].tShakeNum == gTasks[taskId].tMaxShakes) { gSprites[spriteId].pos2.x = 0; gSprites[spriteId].pos2.y = 0; diff --git a/src/flying.c b/src/battle_anim_flying.c index 774018f0f..5179c1364 100644 --- a/src/flying.c +++ b/src/battle_anim_flying.c @@ -6,39 +6,38 @@ #include "constants/rgb.h" #include "random.h" -extern const struct SpriteTemplate gUnknown_085973E8; - -void sub_810DE70(struct Sprite *); -void sub_810DFA8(struct Sprite *); -void sub_810E044(struct Sprite *); -void sub_810E13C(struct Sprite *); -void sub_810E1C8(struct Sprite *); -void sub_810E314(struct Sprite *); -void sub_810E520(struct Sprite *); -void sub_810EB40(struct Sprite *); -void sub_810EA4C(struct Sprite *); -void sub_810EAA0(struct Sprite *); -void sub_810EC34(struct Sprite *); -void sub_810EC94(struct Sprite *); -void sub_810ED28(struct Sprite *); -void sub_810ED70(struct Sprite *); -void sub_810EDD0(struct Sprite *); -void sub_810EE14(struct Sprite *); -void sub_810EEF8(struct Sprite *); -void sub_810EFA8(struct Sprite *); -void sub_810F004(struct Sprite *); -void sub_810F018(struct Sprite *); -void sub_810F084(struct Sprite *); -void sub_810F140(struct Sprite *); - -static void sub_810DE98(struct Sprite *); -static void sub_810DF18(u8); -static void sub_810E028(struct Sprite *); -static void sub_810E184(struct Sprite *); -static void sub_810E24C(struct Sprite *); - - -const struct SpriteTemplate gUnknown_08596270 = +extern const struct SpriteTemplate gFlashingHitSplatSpriteTemplate; + +static void AnimEllipticalGust(struct Sprite *); +static void AnimEllipticalGust_Step(struct Sprite *); +static void AnimGustToTarget(struct Sprite *); +static void AnimGustToTarget_Step(struct Sprite *); +static void AnimAirWaveCrescent(struct Sprite *); +static void AnimFlyBallUp(struct Sprite *); +static void AnimFlyBallUp_Step(struct Sprite *); +static void AnimFlyBallAttack(struct Sprite *); +static void AnimFlyBallAttack_Step(struct Sprite *); +static void AnimFallingFeather(struct Sprite *); +static void sub_810E520(struct Sprite *); +static void sub_810EB40(struct Sprite *); +static void sub_810EA4C(struct Sprite *); +static void AnimWhirlwindLine(struct Sprite *); +static void AnimBounceBallShrink(struct Sprite *); +static void AnimBounceBallLand(struct Sprite *); +static void AnimDiveBall(struct Sprite *); +static void AnimDiveBall_Step1(struct Sprite *); +static void AnimDiveBall_Step2(struct Sprite *); +static void AnimDiveWaterSplash(struct Sprite *); +static void AnimSprayWaterDroplet(struct Sprite *); +static void AnimSprayWaterDroplet_Step(struct Sprite *); +static void sub_810F004(struct Sprite *); +static void sub_810F018(struct Sprite *); +static void AnimSkyAttackBird(struct Sprite *); +static void AnimSkyAttackBird_Step(struct Sprite *); +static void AnimTask_AnimateGustTornadoPalette_Step(u8); + + +const struct SpriteTemplate gEllipticalGustSpriteTemplate = { .tileTag = ANIM_TAG_GUST, .paletteTag = ANIM_TAG_GUST, @@ -46,33 +45,33 @@ const struct SpriteTemplate gUnknown_08596270 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_810DE70, + .callback = AnimEllipticalGust, }; -const union AffineAnimCmd gUnknown_08596288[] = +static const union AffineAnimCmd sAffineAnim_GustToTarget[] = { AFFINEANIMCMD_FRAME(0x10, 0x100, 0, 0), AFFINEANIMCMD_FRAME(0xA, 0x0, 0, 24), AFFINEANIMCMD_END, }; -const union AffineAnimCmd *const gUnknown_085962A0[] = +static const union AffineAnimCmd *const sAffineAnims_GustToTarget[] = { - gUnknown_08596288, + sAffineAnim_GustToTarget, }; -const struct SpriteTemplate gBattleAnimSpriteTemplate_85962A4 = +const struct SpriteTemplate gGustToTargetSpriteTemplate = { .tileTag = ANIM_TAG_GUST, .paletteTag = ANIM_TAG_GUST, .oam = &gOamData_AffineNormal_ObjNormal_32x64, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_085962A0, - .callback = sub_810DFA8, + .affineAnims = sAffineAnims_GustToTarget, + .callback = AnimGustToTarget, }; -const union AnimCmd gUnknown_085962BC[] = +static const union AnimCmd sAffineAnim_AirWaveCrescent[] = { ANIMCMD_FRAME(0, 3), ANIMCMD_FRAME(0, 3, .hFlip = TRUE), @@ -81,23 +80,23 @@ const union AnimCmd gUnknown_085962BC[] = ANIMCMD_JUMP(0), }; -const union AnimCmd *const gUnknown_085962D0[] = +static const union AnimCmd *const sAffineAnims_AirWaveCrescent[] = { - gUnknown_085962BC, + sAffineAnim_AirWaveCrescent, }; -const struct SpriteTemplate gUnknown_085962D4 = +const struct SpriteTemplate gAirWaveCrescentSpriteTemplate = { .tileTag = ANIM_TAG_AIR_WAVE_2, .paletteTag = ANIM_TAG_AIR_WAVE_2, .oam = &gOamData_AffineOff_ObjNormal_32x16, - .anims = gUnknown_085962D0, + .anims = sAffineAnims_AirWaveCrescent, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_810E044, + .callback = AnimAirWaveCrescent, }; -const union AffineAnimCmd gUnknown_085962EC[] = +static const union AffineAnimCmd sAffineAnim_FlyBallUp[] = { AFFINEANIMCMD_FRAME(0x10, 0x100, 0, 0), AFFINEANIMCMD_FRAME(0x28, 0x0, 0, 6), @@ -106,78 +105,78 @@ const union AffineAnimCmd gUnknown_085962EC[] = AFFINEANIMCMD_END, }; -const union AffineAnimCmd *const gUnknown_08596314[] = +static const union AffineAnimCmd *const sAffineAnims_FlyBallUp[] = { - gUnknown_085962EC, + sAffineAnim_FlyBallUp, }; -const union AffineAnimCmd gUnknown_08596318[] = +static const union AffineAnimCmd sAffineAnim_FlyBallAttack_0[] = { AFFINEANIMCMD_FRAME(0x0, 0x0, 50, 1), AFFINEANIMCMD_END, }; -const union AffineAnimCmd gUnknown_08596328[] = +static const union AffineAnimCmd sAffineAnim_FlyBallAttack_1[] = { AFFINEANIMCMD_FRAME(0x0, 0x0, -40, 1), AFFINEANIMCMD_END, }; -const union AffineAnimCmd *const gUnknown_08596338[] = +static const union AffineAnimCmd *const sAffineAnims_FlyBallAttack[] = { - gUnknown_08596318, - gUnknown_08596328, + sAffineAnim_FlyBallAttack_0, + sAffineAnim_FlyBallAttack_1, }; -const struct SpriteTemplate gUnknown_08596340 = +const struct SpriteTemplate gFlyBallUpSpriteTemplate = { .tileTag = ANIM_TAG_ROUND_SHADOW, .paletteTag = ANIM_TAG_ROUND_SHADOW, .oam = &gOamData_AffineDouble_ObjNormal_64x64, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_08596314, - .callback = sub_810E13C, + .affineAnims = sAffineAnims_FlyBallUp, + .callback = AnimFlyBallUp, }; -const struct SpriteTemplate gUnknown_08596358 = +const struct SpriteTemplate gFlyBallAttackSpriteTemplate = { .tileTag = ANIM_TAG_ROUND_SHADOW, .paletteTag = ANIM_TAG_ROUND_SHADOW, .oam = &gOamData_AffineNormal_ObjNormal_64x64, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_08596338, - .callback = sub_810E1C8, + .affineAnims = sAffineAnims_FlyBallAttack, + .callback = AnimFlyBallAttack, }; -const union AnimCmd gUnknown_08596370[] = +static const union AnimCmd sAnim_FallingFeather_0[] = { ANIMCMD_FRAME(0, 0), ANIMCMD_END, }; -const union AnimCmd gUnknown_08596378[] = +static const union AnimCmd sAnim_FallingFeather_1[] = { ANIMCMD_FRAME(16, 0, .hFlip = TRUE), ANIMCMD_END, }; -const union AnimCmd *const gUnknown_08596380[] = +static const union AnimCmd *const sAnims_FallingFeather[] = { - gUnknown_08596370, - gUnknown_08596378, + sAnim_FallingFeather_0, + sAnim_FallingFeather_1, }; -const struct SpriteTemplate gUnknown_08596388 = +const struct SpriteTemplate gFallingFeatherSpriteTemplate = { .tileTag = ANIM_TAG_WHITE_FEATHER, .paletteTag = ANIM_TAG_WHITE_FEATHER, .oam = &gOamData_AffineNormal_ObjNormal_32x32, - .anims = gUnknown_08596380, + .anims = sAnims_FallingFeather, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_810E314, + .callback = AnimFallingFeather, }; const struct SpriteTemplate gUnknown_085963A0 = @@ -191,7 +190,7 @@ const struct SpriteTemplate gUnknown_085963A0 = .callback = sub_810EA4C, }; -const union AnimCmd gUnknown_085963B8[] = +static const union AnimCmd sAnim_WhirlwindLines[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_FRAME(8, 1), @@ -201,23 +200,23 @@ const union AnimCmd gUnknown_085963B8[] = ANIMCMD_END, }; -const union AnimCmd *const gUnknown_085963D0[] = +static const union AnimCmd *const sAnims_WhirlwindLines[] = { - gUnknown_085963B8, + sAnim_WhirlwindLines, }; -const struct SpriteTemplate gUnknown_085963D4 = +const struct SpriteTemplate gWhirlwindLineSpriteTemplate = { .tileTag = ANIM_TAG_WHIRLWIND_LINES, .paletteTag = ANIM_TAG_WHIRLWIND_LINES, .oam = &gOamData_AffineOff_ObjNormal_32x16, - .anims = gUnknown_085963D0, + .anims = sAnims_WhirlwindLines, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_810EAA0, + .callback = AnimWhirlwindLine, }; -const union AffineAnimCmd gUnknown_085963EC[] = +static const union AffineAnimCmd sAffineAnim_BounceBallShrink[] = { AFFINEANIMCMD_FRAME(0x10, 0x100, 0, 0), AFFINEANIMCMD_FRAME(0x28, 0x0, 0, 6), @@ -227,45 +226,45 @@ const union AffineAnimCmd gUnknown_085963EC[] = AFFINEANIMCMD_END, }; -const union AffineAnimCmd *const gUnknown_0859641C[] = +static const union AffineAnimCmd *const sAffineAnims_BounceBallShrink[] = { - gUnknown_085963EC, + sAffineAnim_BounceBallShrink, }; -const struct SpriteTemplate gUnknown_08596420 = +const struct SpriteTemplate gBounceBallShrinkSpriteTemplate = { .tileTag = ANIM_TAG_ROUND_SHADOW, .paletteTag = ANIM_TAG_ROUND_SHADOW, .oam = &gOamData_AffineDouble_ObjNormal_64x64, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_0859641C, - .callback = sub_810EC34, + .affineAnims = sAffineAnims_BounceBallShrink, + .callback = AnimBounceBallShrink, }; -const union AffineAnimCmd gUnknown_08596438[] = +static const union AffineAnimCmd sAffineAnim_BounceBallLand[] = { AFFINEANIMCMD_FRAME(0xA0, 0x100, 0, 0), AFFINEANIMCMD_END, }; -const union AffineAnimCmd *const gUnknown_08596448[] = +static const union AffineAnimCmd *const sAffineAnims_BounceBallLand[] = { - gUnknown_08596438, + sAffineAnim_BounceBallLand, }; -const struct SpriteTemplate gUnknown_0859644C = +const struct SpriteTemplate gBounceBallLandSpriteTemplate = { .tileTag = ANIM_TAG_ROUND_SHADOW, .paletteTag = ANIM_TAG_ROUND_SHADOW, .oam = &gOamData_AffineDouble_ObjNormal_64x64, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_08596448, - .callback = sub_810EC94, + .affineAnims = sAffineAnims_BounceBallLand, + .callback = AnimBounceBallLand, }; -const union AffineAnimCmd gUnknown_08596464[] = +static const union AffineAnimCmd sAffineAnim_DiveBall[] = { AFFINEANIMCMD_FRAME(0x10, 0x100, 0, 0), AFFINEANIMCMD_FRAME(0x28, 0x0, 0, 6), @@ -274,23 +273,23 @@ const union AffineAnimCmd gUnknown_08596464[] = AFFINEANIMCMD_END, }; -const union AffineAnimCmd *const gUnknown_0859648C[] = +static const union AffineAnimCmd *const sAffineAnims_DiveBall[] = { - gUnknown_08596464, + sAffineAnim_DiveBall, }; -const struct SpriteTemplate gUnknown_08596490 = +const struct SpriteTemplate gDiveBallSpriteTemplate = { .tileTag = ANIM_TAG_ROUND_SHADOW, .paletteTag = ANIM_TAG_ROUND_SHADOW, .oam = &gOamData_AffineDouble_ObjNormal_64x64, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_0859648C, - .callback = sub_810ED28, + .affineAnims = sAffineAnims_DiveBall, + .callback = AnimDiveBall, }; -const union AffineAnimCmd gUnknown_085964A8[] = +static const union AffineAnimCmd gUnknown_085964A8[] = { AFFINEANIMCMD_FRAME(0x100, 0x0, 0, 0), AFFINEANIMCMD_FRAME(0x0, 0x20, 0, 12), @@ -298,12 +297,13 @@ const union AffineAnimCmd gUnknown_085964A8[] = AFFINEANIMCMD_END, }; -const union AffineAnimCmd *const gUnknown_085964C8[] = +// Unused +static const union AffineAnimCmd *const gUnknown_085964C8[] = { gUnknown_085964A8, }; -const struct SpriteTemplate gUnknown_085964CC = +const struct SpriteTemplate gDiveWaterSplashSpriteTemplate = { .tileTag = ANIM_TAG_SPLASH, .paletteTag = ANIM_TAG_SPLASH, @@ -311,10 +311,10 @@ const struct SpriteTemplate gUnknown_085964CC = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_810EE14, + .callback = AnimDiveWaterSplash, }; -const struct SpriteTemplate gUnknown_085964E4 = +const struct SpriteTemplate gSprayWaterDropletSpriteTemplate = { .tileTag = ANIM_TAG_SWEAT_BEAD, .paletteTag = ANIM_TAG_SWEAT_BEAD, @@ -322,7 +322,7 @@ const struct SpriteTemplate gUnknown_085964E4 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_810EEF8, + .callback = AnimSprayWaterDroplet, }; const struct SpriteTemplate gUnknown_085964FC = @@ -336,7 +336,7 @@ const struct SpriteTemplate gUnknown_085964FC = .callback = sub_810F004, }; -const struct SpriteTemplate gUnknown_08596514 = +const struct SpriteTemplate gSkyAttackBirdSpriteTemplate = { .tileTag = ANIM_TAG_BIRD, .paletteTag = ANIM_TAG_BIRD, @@ -344,20 +344,20 @@ const struct SpriteTemplate gUnknown_08596514 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_810F084, + .callback = AnimSkyAttackBird, }; -void sub_810DE70(struct Sprite *sprite) +static void AnimEllipticalGust(struct Sprite *sprite) { InitSpritePosToAnimTarget(sprite, FALSE); sprite->pos1.y += 20; sprite->data[1] = 191; - sprite->callback = sub_810DE98; + sprite->callback = AnimEllipticalGust_Step; sprite->callback(sprite); } -static void sub_810DE98(struct Sprite *sprite) +static void AnimEllipticalGust_Step(struct Sprite *sprite) { sprite->pos2.x = Sin(sprite->data[1], 32); sprite->pos2.y = Cos(sprite->data[1], 8); @@ -367,15 +367,16 @@ static void sub_810DE98(struct Sprite *sprite) DestroyAnimSprite(sprite); } -void sub_810DED8(u8 taskId) +// Animates the palette on the gust tornado to make it look like its spinning +void AnimTask_AnimateGustTornadoPalette(u8 taskId) { gTasks[taskId].data[0] = gBattleAnimArgs[1]; gTasks[taskId].data[1] = gBattleAnimArgs[0]; gTasks[taskId].data[2] = IndexOfSpritePaletteTag(ANIM_TAG_GUST); - gTasks[taskId].func = sub_810DF18; + gTasks[taskId].func = AnimTask_AnimateGustTornadoPalette_Step; } -static void sub_810DF18(u8 taskId) +static void AnimTask_AnimateGustTornadoPalette_Step(u8 taskId) { u8 data2; u16 temp; @@ -402,7 +403,7 @@ static void sub_810DF18(u8 taskId) DestroyAnimVisualTask(taskId); } -void sub_810DFA8(struct Sprite *sprite) +static void AnimGustToTarget(struct Sprite *sprite) { InitSpritePosToAnimAttacker(sprite, TRUE); if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) @@ -415,16 +416,16 @@ void sub_810DFA8(struct Sprite *sprite) sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET) + gBattleAnimArgs[3]; InitAnimLinearTranslation(sprite); sprite->callback = RunStoredCallbackWhenAffineAnimEnds; - StoreSpriteCallbackInData6(sprite, sub_810E028); + StoreSpriteCallbackInData6(sprite, AnimGustToTarget_Step); } -static void sub_810E028(struct Sprite *sprite) +static void AnimGustToTarget_Step(struct Sprite *sprite) { if (AnimTranslateLinear(sprite)) DestroyAnimSprite(sprite); } -void sub_810E044(struct Sprite *sprite) +static void AnimAirWaveCrescent(struct Sprite *sprite) { if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) { @@ -464,16 +465,16 @@ void sub_810E044(struct Sprite *sprite) SeekSpriteAnim(sprite, gBattleAnimArgs[5]); } -void sub_810E13C(struct Sprite *sprite) +static void AnimFlyBallUp(struct Sprite *sprite) { InitSpritePosToAnimAttacker(sprite, TRUE); sprite->data[0] = gBattleAnimArgs[2]; sprite->data[1] = gBattleAnimArgs[3]; - sprite->callback = sub_810E184; - gSprites[GetAnimBattlerSpriteId(ANIM_ATTACKER)].invisible = 1; + sprite->callback = AnimFlyBallUp_Step; + gSprites[GetAnimBattlerSpriteId(ANIM_ATTACKER)].invisible = TRUE; } -static void sub_810E184(struct Sprite *sprite) +static void AnimFlyBallUp_Step(struct Sprite *sprite) { if (sprite->data[0] > 0) { @@ -489,7 +490,7 @@ static void sub_810E184(struct Sprite *sprite) DestroyAnimSprite(sprite); } -void sub_810E1C8(struct Sprite *sprite) +static void AnimFlyBallAttack(struct Sprite *sprite) { if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) { @@ -510,10 +511,10 @@ void sub_810E1C8(struct Sprite *sprite) sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET); InitAnimLinearTranslation(sprite); - sprite->callback = sub_810E24C; + sprite->callback = AnimFlyBallAttack_Step; } -static void sub_810E24C(struct Sprite *sprite) +static void AnimFlyBallAttack_Step(struct Sprite *sprite) { sprite->data[0] = 1; AnimTranslateLinear(sprite); @@ -528,12 +529,12 @@ static void sub_810E24C(struct Sprite *sprite) || sprite->pos1.x + sprite->pos2.x > 272 || sprite->pos1.y + sprite->pos2.y > 160) { - gSprites[GetAnimBattlerSpriteId(ANIM_ATTACKER)].invisible = 0; + gSprites[GetAnimBattlerSpriteId(ANIM_ATTACKER)].invisible = FALSE; DestroyAnimSprite(sprite); } } -void sub_810E2C8(struct Sprite *sprite) +void DestroyAnimSpriteAfterTimer(struct Sprite *sprite) { if (sprite->data[0]-- <= 0) { @@ -566,7 +567,7 @@ struct FeatherDanceData u16 unkE_1:15; }; -void sub_810E314(struct Sprite *sprite) +static void AnimFallingFeather(struct Sprite *sprite) { u8 battler, matrixNum, sinIndex; s16 spriteCoord, sinVal; @@ -652,7 +653,7 @@ void sub_810E314(struct Sprite *sprite) sprite->callback = sub_810E520; } -void sub_810E520(struct Sprite *sprite) +static void sub_810E520(struct Sprite *sprite) { u8 matrixNum, sinIndex; s16 sinVal = 0; @@ -898,12 +899,12 @@ void sub_810E520(struct Sprite *sprite) if (sprite->pos1.y + sprite->pos2.y >= data->unkE_1) { sprite->data[0] = 0; - sprite->callback = sub_810E2C8; + sprite->callback = DestroyAnimSpriteAfterTimer; } } } -void sub_810EA4C(struct Sprite *sprite) +static void sub_810EA4C(struct Sprite *sprite) { sprite->oam.priority = GetBattlerSpriteBGPriority(gBattleAnimTarget); sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2); @@ -911,18 +912,18 @@ void sub_810EA4C(struct Sprite *sprite) sprite->callback = TranslateAnimSpriteToTargetMonLocation; } -void sub_810EAA0(struct Sprite * sprite) +static void AnimWhirlwindLine(struct Sprite * sprite) { u16 arg; u8 mult; - if (!gBattleAnimArgs[2]) + if (gBattleAnimArgs[2] == ANIM_ATTACKER) InitSpritePosToAnimAttacker(sprite, 0); else InitSpritePosToAnimTarget(sprite, FALSE); - if ((!gBattleAnimArgs[2] && !GetBattlerSide(gBattleAnimAttacker)) - || (gBattleAnimArgs[2] == 1 && !GetBattlerSide(gBattleAnimTarget))) + if ((gBattleAnimArgs[2] == ANIM_ATTACKER && !GetBattlerSide(gBattleAnimAttacker)) + || (gBattleAnimArgs[2] == ANIM_TARGET && !GetBattlerSide(gBattleAnimTarget))) { sprite->pos1.x += 8; } @@ -939,7 +940,7 @@ void sub_810EAA0(struct Sprite * sprite) sprite->callback = sub_810EB40; } -void sub_810EB40(struct Sprite *sprite) +static void sub_810EB40(struct Sprite *sprite) { sprite->pos2.x += sprite->data[1] >> 8; @@ -954,7 +955,7 @@ void sub_810EB40(struct Sprite *sprite) DestroyAnimSprite(sprite); } -void sub_810EB88(u8 task) +void AnimTask_DrillPeckHitSplats(u8 task) { if (!(gTasks[task].data[0] % 32)) { @@ -965,7 +966,7 @@ void sub_810EB88(u8 task) gBattleAnimArgs[2] = 1; gBattleAnimArgs[3] = 3; - CreateSpriteAndAnimate(&gUnknown_085973E8, + CreateSpriteAndAnimate(&gFlashingHitSplatSpriteTemplate, GetBattlerSpriteCoord(gBattleAnimTarget, 2), GetBattlerSpriteCoord(gBattleAnimTarget, 3), 3); @@ -977,13 +978,13 @@ void sub_810EB88(u8 task) DestroyAnimVisualTask(task); } -void sub_810EC34(struct Sprite *sprite) +static void AnimBounceBallShrink(struct Sprite *sprite) { switch (sprite->data[0]) { case 0: InitSpritePosToAnimAttacker(sprite, 1); - gSprites[GetAnimBattlerSpriteId(0)].invisible = 1; + gSprites[GetAnimBattlerSpriteId(ANIM_ATTACKER)].invisible = TRUE; ++sprite->data[0]; break; case 1: @@ -993,7 +994,7 @@ void sub_810EC34(struct Sprite *sprite) } } -void sub_810EC94(struct Sprite *sprite) +static void AnimBounceBallLand(struct Sprite *sprite) { switch (sprite->data[0]) { @@ -1011,23 +1012,23 @@ void sub_810EC94(struct Sprite *sprite) sprite->pos2.y -= 10; if (sprite->pos1.y + sprite->pos2.y < -32) { - gSprites[GetAnimBattlerSpriteId(0)].invisible = 0; + gSprites[GetAnimBattlerSpriteId(ANIM_ATTACKER)].invisible = FALSE; DestroyAnimSprite(sprite); } break; } } -void sub_810ED28(struct Sprite *sprite) +static void AnimDiveBall(struct Sprite *sprite) { InitSpritePosToAnimAttacker(sprite, 1); sprite->data[0] = gBattleAnimArgs[2]; sprite->data[1] = gBattleAnimArgs[3]; - sprite->callback = sub_810ED70; - gSprites[GetAnimBattlerSpriteId(0)].invisible = 1; + sprite->callback = AnimDiveBall_Step1; + gSprites[GetAnimBattlerSpriteId(ANIM_ATTACKER)].invisible = TRUE; } -void sub_810ED70(struct Sprite *sprite) +void AnimDiveBall_Step1(struct Sprite *sprite) { if (sprite->data[0] > 0) { @@ -1040,24 +1041,24 @@ void sub_810ED70(struct Sprite *sprite) } else { - sprite->invisible = 1; + sprite->invisible = TRUE; if (sprite->data[3]++ > 20) - sprite->callback = sub_810EDD0; + sprite->callback = AnimDiveBall_Step2; } } -void sub_810EDD0(struct Sprite *sprite) +static void AnimDiveBall_Step2(struct Sprite *sprite) { sprite->pos2.y += sprite->data[2] >> 8; if (sprite->pos1.y + sprite->pos2.y > -32) - sprite->invisible = 0; + sprite->invisible = FALSE; if (sprite->pos2.y > 0) DestroyAnimSprite(sprite); } -void sub_810EE14(struct Sprite *sprite) +static void AnimDiveWaterSplash(struct Sprite *sprite) { u32 matrixNum; int t1, t2; @@ -1111,7 +1112,8 @@ void sub_810EE14(struct Sprite *sprite) } } -void sub_810EEF8(struct Sprite *sprite) +// Launches a water droplet away from the specified battler. Used by Astonish and Dive +static void AnimSprayWaterDroplet(struct Sprite *sprite) { int v1 = 0x1ff & Random2(); int v2 = 0x7f & Random2(); @@ -1142,10 +1144,10 @@ void sub_810EEF8(struct Sprite *sprite) sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, 1) + 32; } - sprite->callback = sub_810EFA8; + sprite->callback = AnimSprayWaterDroplet_Step; } -void sub_810EFA8(struct Sprite *sprite) +static void AnimSprayWaterDroplet_Step(struct Sprite *sprite) { if (sprite->data[2] == 0) { @@ -1168,14 +1170,14 @@ void sub_810EFA8(struct Sprite *sprite) DestroyAnimSprite(sprite); } -void sub_810F004(struct Sprite *sprite) +static void sub_810F004(struct Sprite *sprite) { sprite->data[6] = 0; sprite->data[7] = 64; sprite->callback = sub_810F018; } -void sub_810F018(struct Sprite *sprite) +static void sub_810F018(struct Sprite *sprite) { switch (sprite->data[0]) { @@ -1194,7 +1196,7 @@ void sub_810F018(struct Sprite *sprite) } } -void sub_810F084(struct Sprite *sprite) +static void AnimSkyAttackBird(struct Sprite *sprite) { u16 rotation; s16 posx = sprite->pos1.x; @@ -1214,10 +1216,10 @@ void sub_810F084(struct Sprite *sprite) TrySetSpriteRotScale(sprite, 1, 0x100, 0x100, rotation); - sprite->callback = sub_810F140; + sprite->callback = AnimSkyAttackBird_Step; } -void sub_810F140(struct Sprite *sprite) +void AnimSkyAttackBird_Step(struct Sprite *sprite) { sprite->data[4] += sprite->data[6]; sprite->data[5] += sprite->data[7]; @@ -1234,13 +1236,13 @@ void unref_sub_810F184(u8 taskId) { if (gBattleAnimArgs[0] == 0) { - u8 spriteId = GetAnimBattlerSpriteId(0); - gSprites[spriteId].invisible = 1; + u8 spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER); + gSprites[spriteId].invisible = TRUE; } else { - u8 spriteId = GetAnimBattlerSpriteId(0); - gSprites[spriteId].invisible = 0; + u8 spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER); + gSprites[spriteId].invisible = FALSE; } DestroyAnimVisualTask(taskId); } diff --git a/src/ghost.c b/src/battle_anim_ghost.c index 93c442b92..b8de6b0e1 100644 --- a/src/ghost.c +++ b/src/battle_anim_ghost.c @@ -10,62 +10,62 @@ #include "trig.h" #include "util.h" -static void sub_811160C(struct Sprite *); -static void sub_8111674(struct Sprite *); -static void sub_81116E8(struct Sprite *); +static void AnimConfuseRayBallBounce(struct Sprite *); +static void AnimConfuseRayBallBounce_Step1(struct Sprite *); +static void AnimConfuseRayBallBounce_Step2(struct Sprite *); static void sub_8111764(struct Sprite *); -static void sub_81117F4(struct Sprite *); -static void sub_8111814(struct Sprite *); -static void sub_8111914(u8 taskId); -static void sub_811196C(u8 taskId); -static void InitAnimShadowBall(struct Sprite *); -static void AnimShadowBallStep(struct Sprite *); -static void sub_8111B9C(struct Sprite *); -static void sub_8111BB4(struct Sprite *); -static void sub_8111D78(u8 taskId); -static void sub_8111E78(u8 taskId); -static void sub_81120DC(u8 taskId); -static void sub_8112170(u8 taskId); -static void sub_8112264(struct Sprite *); -static void sub_8112384(struct Sprite *); -static void sub_81125E0(u8 taskId); -static void sub_811280C(u8 taskId); -static void sub_8112994(u8 taskId); -static void sub_81129F0(struct Sprite *); -static void sub_8112A4C(struct Sprite *); -static void sub_8112ACC(struct Sprite *); -static void sub_8112B44(struct Sprite *); -static void sub_8112B78(struct Sprite *); -static void sub_8112C4C(struct Sprite *); -static void sub_8112D10(u8 taskId); -static void sub_8112E9C(struct Sprite *); +static void AnimConfuseRayBallSpiral(struct Sprite *); +static void AnimConfuseRayBallSpiral_Step(struct Sprite *); +static void AnimTask_NightShadeClone_Step1(u8 taskId); +static void AnimTask_NightShadeClone_Step2(u8 taskId); +static void AnimShadowBall(struct Sprite *); +static void AnimShadowBall_Step(struct Sprite *); +static void AnimLick(struct Sprite *); +static void AnimLick_Step(struct Sprite *); +static void AnimTask_NightmareClone_Step(u8 taskId); +static void AnimTask_SpiteTargetShadow_Step1(u8 taskId); +static void AnimTask_SpiteTargetShadow_Step2(u8 taskId); +static void AnimTask_SpiteTargetShadow_Step3(u8 taskId); +static void AnimDestinyBondWhiteShadow(struct Sprite *); +static void AnimDestinyBondWhiteShadow_Step(struct Sprite *); +static void AnimTask_DestinyBondWhiteShadow_Step(u8 taskId); +static void AnimTask_CurseStretchingBlackBg_Step1(u8 taskId); +static void AnimTask_CurseStretchingBlackBg_Step2(u8 taskId); +static void AnimCurseNail(struct Sprite *); +static void AnimCurseNail_Step1(struct Sprite *); +static void AnimCurseNail_Step2(struct Sprite *); +static void AnimCurseNail_End(struct Sprite *); +static void AnimGhostStatusSprite(struct Sprite *); +static void AnimGhostStatusSprite_Step(struct Sprite *); +static void AnimTask_GrudgeFlames_Step(u8 taskId); +static void AnimGrudgeFlame(struct Sprite *); static void sub_8112F60(struct Sprite *); static void sub_8112FB8(struct Sprite *); -const union AffineAnimCmd gUnknown_08596CF8[] = +static const union AffineAnimCmd sAffineAnim_ConfuseRayBallBounce[] = { AFFINEANIMCMD_FRAME(0x1E, 0x1E, 10, 5), AFFINEANIMCMD_FRAME(0xFFE2, 0xFFE2, 10, 5), AFFINEANIMCMD_JUMP(0), }; -const union AffineAnimCmd *const gUnknown_08596D10[] = +static const union AffineAnimCmd *const sAffineAnims_ConfuseRayBallBounce[] = { - gUnknown_08596CF8, + sAffineAnim_ConfuseRayBallBounce, }; -const struct SpriteTemplate gUnknown_08596D14 = +const struct SpriteTemplate gConfuseRayBallBounceSpriteTemplate = { .tileTag = ANIM_TAG_YELLOW_BALL, .paletteTag = ANIM_TAG_YELLOW_BALL, .oam = &gOamData_AffineDouble_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_08596D10, - .callback = sub_811160C, + .affineAnims = sAffineAnims_ConfuseRayBallBounce, + .callback = AnimConfuseRayBallBounce, }; -const struct SpriteTemplate gUnknown_08596D2C = +const struct SpriteTemplate gConfuseRayBallSpiralSpriteTemplate = { .tileTag = ANIM_TAG_YELLOW_BALL, .paletteTag = ANIM_TAG_YELLOW_BALL, @@ -73,18 +73,18 @@ const struct SpriteTemplate gUnknown_08596D2C = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_81117F4, + .callback = AnimConfuseRayBallSpiral, }; -const union AffineAnimCmd gUnknown_08596D44[] = +static const union AffineAnimCmd sAffineAnim_ShadowBall[] = { AFFINEANIMCMD_FRAME(0x0, 0x0, 10, 1), AFFINEANIMCMD_JUMP(0), }; -const union AffineAnimCmd *const gUnknown_08596D54[] = +static const union AffineAnimCmd *const sAffineAnims_ShadowBall[] = { - gUnknown_08596D44, + sAffineAnim_ShadowBall, }; const struct SpriteTemplate gShadowBallSpriteTemplate = @@ -94,11 +94,11 @@ const struct SpriteTemplate gShadowBallSpriteTemplate = .oam = &gOamData_AffineNormal_ObjNormal_32x32, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_08596D54, - .callback = InitAnimShadowBall, + .affineAnims = sAffineAnims_ShadowBall, + .callback = AnimShadowBall, }; -const union AnimCmd gUnknown_08596D70[] = +static const union AnimCmd sAnim_Lick[] = { ANIMCMD_FRAME(0, 2), ANIMCMD_FRAME(8, 2), @@ -108,34 +108,35 @@ const union AnimCmd gUnknown_08596D70[] = ANIMCMD_END, }; -const union AnimCmd *const gUnknown_08596D88[] = +static const union AnimCmd *const sAnims_Lick[] = { - gUnknown_08596D70, + sAnim_Lick, }; -const struct SpriteTemplate gUnknown_08596D8C = +const struct SpriteTemplate gLickSpriteTemplate = { .tileTag = ANIM_TAG_LICK, .paletteTag = ANIM_TAG_LICK, .oam = &gOamData_AffineOff_ObjNormal_16x32, - .anims = gUnknown_08596D88, + .anims = sAnims_Lick, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_8111B9C, + .callback = AnimLick, }; -const union AffineAnimCmd gUnknown_08596DA4[] = +static const union AffineAnimCmd gUnknown_08596DA4[] = { AFFINEANIMCMD_FRAME(0x200, 0x200, 0, 0), AFFINEANIMCMD_END, }; -const union AffineAnimCmd *const gUnknown_08596DB4[] = +// Unused +static const union AffineAnimCmd *const gUnknown_08596DB4[] = { gUnknown_08596DA4, }; -const struct SpriteTemplate gUnknown_08596DB8 = +const struct SpriteTemplate gDestinyBondWhiteShadowSpriteTemplate = { .tileTag = ANIM_TAG_WHITE_SHADOW, .paletteTag = ANIM_TAG_WHITE_SHADOW, @@ -143,10 +144,10 @@ const struct SpriteTemplate gUnknown_08596DB8 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_8112264, + .callback = AnimDestinyBondWhiteShadow, }; -const struct SpriteTemplate gUnknown_08596DD0 = +const struct SpriteTemplate gCurseNailSpriteTemplate = { .tileTag = ANIM_TAG_NAIL, .paletteTag = ANIM_TAG_NAIL, @@ -154,10 +155,10 @@ const struct SpriteTemplate gUnknown_08596DD0 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_81129F0, + .callback = AnimCurseNail, }; -const struct SpriteTemplate gBattleAnimSpriteTemplate_8596DE8 = +const struct SpriteTemplate gCurseGhostSpriteTemplate = { .tileTag = ANIM_TAG_GHOSTLY_SPIRIT, .paletteTag = ANIM_TAG_GHOSTLY_SPIRIT, @@ -165,10 +166,10 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_8596DE8 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_8112B78, + .callback = AnimGhostStatusSprite, }; -const struct SpriteTemplate gBattleAnimSpriteTemplate_8596E00 = +const struct SpriteTemplate gNightmareDevilSpriteTemplate = { .tileTag = ANIM_TAG_DEVIL, .paletteTag = ANIM_TAG_DEVIL, @@ -176,10 +177,10 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_8596E00 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_8112B78, + .callback = AnimGhostStatusSprite, }; -const union AnimCmd gUnknown_08596E18[] = +static const union AnimCmd sAnim_GrudgeFlame[] = { ANIMCMD_FRAME(0, 4), ANIMCMD_FRAME(8, 4), @@ -188,22 +189,23 @@ const union AnimCmd gUnknown_08596E18[] = ANIMCMD_JUMP(0), }; -const union AnimCmd *const gUnknown_08596E2C[] = +static const union AnimCmd *const sAnims_GrudgeFlame[] = { - gUnknown_08596E18, + sAnim_GrudgeFlame, }; -const struct SpriteTemplate gUnknown_08596E30 = +const struct SpriteTemplate gGrudgeFlameSpriteTemplate = { .tileTag = ANIM_TAG_PURPLE_FLAME, .paletteTag = ANIM_TAG_PURPLE_FLAME, .oam = &gOamData_AffineOff_ObjBlend_16x32, - .anims = gUnknown_08596E2C, + .anims = sAnims_GrudgeFlame, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_8112E9C, + .callback = AnimGrudgeFlame, }; +// Unused const struct SpriteTemplate gUnknown_08596E48 = { .tileTag = 0, @@ -215,7 +217,7 @@ const struct SpriteTemplate gUnknown_08596E48 = .callback = sub_8112F60, }; -static void sub_811160C(struct Sprite *sprite) +static void AnimConfuseRayBallBounce(struct Sprite *sprite) { InitSpritePosToAnimAttacker(sprite, 1); sprite->data[0] = gBattleAnimArgs[2]; @@ -224,20 +226,20 @@ static void sub_811160C(struct Sprite *sprite) sprite->data[3] = sprite->pos1.y; sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3); sub_80A6FD4(sprite); - sprite->callback = sub_8111674; + sprite->callback = AnimConfuseRayBallBounce_Step1; sprite->data[6] = 16; SetGpuReg(REG_OFFSET_BLDCNT, (BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_ALL)); SetGpuReg(REG_OFFSET_BLDALPHA, sprite->data[6]); } -static void sub_8111674(struct Sprite *sprite) +static void AnimConfuseRayBallBounce_Step1(struct Sprite *sprite) { s16 r0; s16 r2; sub_8111764(sprite); if (AnimTranslateLinear(sprite)) { - sprite->callback = sub_81116E8; + sprite->callback = AnimConfuseRayBallBounce_Step2; return; } @@ -250,10 +252,10 @@ static void sub_8111674(struct Sprite *sprite) return; if (r0 <= 0) return; - PlaySE12WithPanning(SE_W109, gUnknown_02038440); + PlaySE12WithPanning(SE_W109, gAnimCustomPanning); } -static void sub_81116E8(struct Sprite *sprite) +static void AnimConfuseRayBallBounce_Step2(struct Sprite *sprite) { s16 r2; s16 r0; @@ -311,14 +313,14 @@ static void sub_8111764(struct Sprite *sprite) } } -static void sub_81117F4(struct Sprite *sprite) +static void AnimConfuseRayBallSpiral(struct Sprite *sprite) { InitSpritePosToAnimTarget(sprite, TRUE); - sprite->callback = sub_8111814; + sprite->callback = AnimConfuseRayBallSpiral_Step; sprite->callback(sprite); } -static void sub_8111814(struct Sprite *sprite) +static void AnimConfuseRayBallSpiral_Step(struct Sprite *sprite) { u16 temp1; sprite->pos2.x = Sin(sprite->data[0], 32); @@ -336,12 +338,13 @@ static void sub_8111814(struct Sprite *sprite) DestroyAnimSprite(sprite); } -void sub_811188C(u8 taskId) +// Creates a large transparent clone of the attacker centered on their position which shrinks to original size +void AnimTask_NightShadeClone(u8 taskId) { u8 spriteId; SetGpuReg(REG_OFFSET_BLDCNT, (BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_ALL)); SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(0, 0x10)); - spriteId = GetAnimBattlerSpriteId(0); + spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER); PrepareBattlerSpriteForRotScale(spriteId, ST_OAM_OBJ_BLEND); SetSpriteRotScale(spriteId, 128, 128, 0); gSprites[spriteId].invisible = FALSE; @@ -349,10 +352,10 @@ void sub_811188C(u8 taskId) gTasks[taskId].data[1] = *gBattleAnimArgs; gTasks[taskId].data[2] = 0; gTasks[taskId].data[3] = 16; - gTasks[taskId].func = sub_8111914; + gTasks[taskId].func = AnimTask_NightShadeClone_Step1; } -static void sub_8111914(u8 taskId) +static void AnimTask_NightShadeClone_Step1(u8 taskId) { gTasks[taskId].data[10] += 1; if (gTasks[taskId].data[10] == 3) @@ -364,11 +367,11 @@ static void sub_8111914(u8 taskId) if (gTasks[taskId].data[2] != 9) return; - gTasks[taskId].func = sub_811196C; + gTasks[taskId].func = AnimTask_NightShadeClone_Step2; } } -static void sub_811196C(u8 taskId) +static void AnimTask_NightShadeClone_Step2(u8 taskId) { u8 spriteId; if (gTasks[taskId].data[1] > 0) @@ -377,7 +380,7 @@ static void sub_811196C(u8 taskId) return; } - spriteId = GetAnimBattlerSpriteId(0); + spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER); gTasks[taskId].data[0] += 8; if (gTasks[taskId].data[0] <= 0xFF) { @@ -397,7 +400,7 @@ static void sub_811196C(u8 taskId) // arg 0: duration step 1 (attacker -> center) // arg 1: duration step 2 (spin center) // arg 2: duration step 3 (center -> target) -static void InitAnimShadowBall(struct Sprite *sprite) +static void AnimShadowBall(struct Sprite *sprite) { s16 oldPosX = sprite->pos1.x; s16 oldPosY = sprite->pos1.y; @@ -412,10 +415,10 @@ static void InitAnimShadowBall(struct Sprite *sprite) sprite->data[5] = sprite->pos1.y << 4; sprite->data[6] = ((oldPosX - sprite->pos1.x) << 4) / (gBattleAnimArgs[0] << 1); sprite->data[7] = ((oldPosY - sprite->pos1.y) << 4) / (gBattleAnimArgs[0] << 1); - sprite->callback = AnimShadowBallStep; + sprite->callback = AnimShadowBall_Step; } -static void AnimShadowBallStep(struct Sprite *sprite) +static void AnimShadowBall_Step(struct Sprite *sprite) { switch (sprite->data[0]) { @@ -459,13 +462,13 @@ static void AnimShadowBallStep(struct Sprite *sprite) } } -static void sub_8111B9C(struct Sprite *sprite) +static void AnimLick(struct Sprite *sprite) { InitSpritePosToAnimTarget(sprite, TRUE); - sprite->callback = sub_8111BB4; + sprite->callback = AnimLick_Step; } -static void sub_8111BB4(struct Sprite *sprite) +static void AnimLick_Step(struct Sprite *sprite) { bool8 r5 = FALSE; bool8 r6 = FALSE; @@ -512,12 +515,13 @@ static void sub_8111BB4(struct Sprite *sprite) } } -void sub_8111C50(u8 taskId) +// Creates a transparent clone of the target which drifts up and away to the side +void AnimTask_NightmareClone(u8 taskId) { struct Task *task; task = &gTasks[taskId]; - task->data[0] = CloneBattlerSpriteWithBlend(1); + task->data[0] = CloneBattlerSpriteWithBlend(ANIM_TARGET); if (task->data[0] < 0) { DestroyAnimVisualTask(taskId); @@ -544,10 +548,10 @@ void sub_8111C50(u8 taskId) gSprites[task->data[0]].data[4] = 0; StoreSpriteCallbackInData6(&gSprites[task->data[0]], SpriteCallbackDummy); gSprites[task->data[0]].callback = TranslateSpriteLinearFixedPoint; - task->func = sub_8111D78; + task->func = AnimTask_NightmareClone_Step; } -static void sub_8111D78(u8 taskId) +static void AnimTask_NightmareClone_Step(u8 taskId) { struct Task *task; @@ -584,17 +588,18 @@ static void sub_8111D78(u8 taskId) } } -void sub_8111E50(u8 taskId) +// Creates a blended copy of the target that wavers in front of them +void AnimTask_SpiteTargetShadow(u8 taskId) { struct Task *task; task = &gTasks[taskId]; task->data[15] = 0; - task->func = sub_8111E78; + task->func = AnimTask_SpiteTargetShadow_Step1; task->func(taskId); } -static void sub_8111E78(u8 taskId) +static void AnimTask_SpiteTargetShadow_Step1(u8 taskId) { s16 startLine; struct Task *task = &gTasks[taskId]; @@ -610,7 +615,7 @@ static void sub_8111E78(u8 taskId) } else { - task->data[0] = CloneBattlerSpriteWithBlend(1); + task->data[0] = CloneBattlerSpriteWithBlend(ANIM_TARGET); if (task->data[0] < 0) { FreeSpritePaletteByTag(ANIM_TAG_BENT_SPOON); @@ -626,7 +631,7 @@ static void sub_8111E78(u8 taskId) task->data[1] = 0; task->data[2] = 0; task->data[3] = 16; - task->data[13] = GetAnimBattlerSpriteId(1); + task->data[13] = GetAnimBattlerSpriteId(ANIM_TARGET); task->data[4] = (gSprites[task->data[13]].oam.paletteNum + 16) * 16; if (position == 1) { u16 mask = DISPCNT_BG1_ON; @@ -674,7 +679,7 @@ static void sub_8111E78(u8 taskId) else SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_BG2_ON); - task->func = sub_81120DC; + task->func = AnimTask_SpiteTargetShadow_Step2; task->data[15]++; break; default: @@ -683,7 +688,7 @@ static void sub_8111E78(u8 taskId) } } -static void sub_81120DC(u8 taskId) +static void AnimTask_SpiteTargetShadow_Step2(u8 taskId) { struct Task *task = &gTasks[taskId]; task->data[1]++; @@ -698,12 +703,12 @@ static void sub_81120DC(u8 taskId) if (task->data[1] == 128) { task->data[15] = 0; - task->func = sub_8112170; + task->func = AnimTask_SpiteTargetShadow_Step3; task->func(taskId); } } -static void sub_8112170(u8 taskId) +static void AnimTask_SpiteTargetShadow_Step3(u8 taskId) { struct Task *task = &gTasks[taskId]; u8 rank = GetBattlerSpriteBGPriorityRank(gBattleAnimTarget); @@ -712,7 +717,7 @@ static void sub_8112170(u8 taskId) { case 0: gScanlineEffect.state = 3; - task->data[14] = GetAnimBattlerSpriteId(1); + task->data[14] = GetAnimBattlerSpriteId(ANIM_TARGET); if (rank == 1) ClearGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_BG1_ON); else @@ -739,7 +744,7 @@ static void sub_8112170(u8 taskId) task->data[15]++; } -static void sub_8112264(struct Sprite *sprite) +static void AnimDestinyBondWhiteShadow(struct Sprite *sprite) { s16 battler1X, battler1Y; s16 battler2X, battler2Y; @@ -772,11 +777,11 @@ static void sub_8112264(struct Sprite *sprite) sprite->oam.priority = 2; sprite->pos1.x = battler1X; sprite->pos1.y = battler1Y; - sprite->callback = sub_8112384; - sprite->invisible = 1; + sprite->callback = AnimDestinyBondWhiteShadow_Step; + sprite->invisible = TRUE; } -static void sub_8112384(struct Sprite *sprite) +static void AnimDestinyBondWhiteShadow_Step(struct Sprite *sprite) { if (sprite->data[4]) { @@ -789,7 +794,7 @@ static void sub_8112384(struct Sprite *sprite) } } -void sub_81123C4(u8 taskId) +void AnimTask_DestinyBondWhiteShadow(u8 taskId) { struct Task *task; s16 battler; @@ -811,13 +816,13 @@ void sub_81123C4(u8 taskId) baseY = GetBattlerSpriteCoordAttr(gBattleAnimAttacker, BATTLER_COORD_ATTR_BOTTOM); if (!IsContest()) { - for (battler = 0; battler < 4; battler++) + for (battler = 0; battler < MAX_BATTLERS_COUNT; battler++) { if (battler != gBattleAnimAttacker && battler != (gBattleAnimAttacker ^ 2) && IsBattlerSpriteVisible(battler)) { - spriteId = CreateSprite(&gUnknown_08596DB8, baseX, baseY, 55); + spriteId = CreateSprite(&gDestinyBondWhiteShadowSpriteTemplate, baseX, baseY, 55); if (spriteId != MAX_SPRITES) { x = GetBattlerSpriteCoord(battler, 2); @@ -829,7 +834,7 @@ void sub_81123C4(u8 taskId) gSprites[spriteId].data[4] = gBattleAnimArgs[1]; gSprites[spriteId].data[5] = x; gSprites[spriteId].data[6] = y; - gSprites[spriteId].callback = sub_8112384; + gSprites[spriteId].callback = AnimDestinyBondWhiteShadow_Step; task->data[task->data[12] + 13] = spriteId; task->data[12]++; @@ -839,7 +844,7 @@ void sub_81123C4(u8 taskId) } else { - spriteId = CreateSprite(&gUnknown_08596DB8, baseX, baseY, 55); + spriteId = CreateSprite(&gDestinyBondWhiteShadowSpriteTemplate, baseX, baseY, 55); if (spriteId != MAX_SPRITES) { x = 48; @@ -851,17 +856,17 @@ void sub_81123C4(u8 taskId) gSprites[spriteId].data[4] = gBattleAnimArgs[1]; gSprites[spriteId].data[5] = x; gSprites[spriteId].data[6] = y; - gSprites[spriteId].callback = sub_8112384; + gSprites[spriteId].callback = AnimDestinyBondWhiteShadow_Step; task->data[13] = spriteId; task->data[12] = 1; } } - task->func = sub_81125E0; + task->func = AnimTask_DestinyBondWhiteShadow_Step; } -static void sub_81125E0(u8 taskId) +static void AnimTask_DestinyBondWhiteShadow_Step(u8 taskId) { u16 i; struct Task *task = &gTasks[taskId]; @@ -938,7 +943,7 @@ static void sub_81125E0(u8 taskId) } } -void sub_8112758(u8 taskId) +void AnimTask_CurseStretchingBlackBg(u8 taskId) { s16 startX, startY; s16 leftDistance, topDistance, bottomDistance, rightDistance; @@ -971,10 +976,10 @@ void sub_8112758(u8 taskId) gTasks[taskId].data[4] = bottomDistance; gTasks[taskId].data[5] = startX; gTasks[taskId].data[6] = startY; - gTasks[taskId].func = sub_811280C; + gTasks[taskId].func = AnimTask_CurseStretchingBlackBg_Step1; } -static void sub_811280C(u8 taskId) +static void AnimTask_CurseStretchingBlackBg_Step1(u8 taskId) { s16 step; s16 leftDistance, rightDistance, topDistance, bottomDistance; @@ -1006,14 +1011,14 @@ static void sub_811280C(u8 taskId) bottom = 112; selectedPalettes = sub_80A75AC(1, 0, 0, 0, 0, 0, 0); BeginNormalPaletteFade(selectedPalettes, 0, 16, 16, RGB(0, 0, 0)); - gTasks[taskId].func = sub_8112994; + gTasks[taskId].func = AnimTask_CurseStretchingBlackBg_Step2; } gBattle_WIN0H = (left << 8) | right; gBattle_WIN0V = (top << 8) | bottom; } -static void sub_8112994(u8 taskId) +static void AnimTask_CurseStretchingBlackBg_Step2(u8 taskId) { if (!gPaletteFade.active) { @@ -1029,7 +1034,7 @@ static void sub_8112994(u8 taskId) } } -static void sub_81129F0(struct Sprite *sprite) +static void AnimCurseNail(struct Sprite *sprite) { s16 xDelta; s16 xDelta2; @@ -1050,10 +1055,10 @@ static void sub_81129F0(struct Sprite *sprite) sprite->pos1.x += xDelta; sprite->data[1] = xDelta2; sprite->data[0] = 60; - sprite->callback = sub_8112A4C; + sprite->callback = AnimCurseNail_Step1; } -static void sub_8112A4C(struct Sprite *sprite) +static void AnimCurseNail_Step1(struct Sprite *sprite) { u16 var0; @@ -1074,7 +1079,7 @@ static void sub_8112A4C(struct Sprite *sprite) { sprite->data[0] = 30; sprite->callback = WaitAnimForDuration; - StoreSpriteCallbackInData6(sprite, sub_8112ACC); + StoreSpriteCallbackInData6(sprite, AnimCurseNail_Step2); } else { @@ -1084,7 +1089,7 @@ static void sub_8112A4C(struct Sprite *sprite) } } -static void sub_8112ACC(struct Sprite *sprite) +static void AnimCurseNail_Step2(struct Sprite *sprite) { if (sprite->data[0] == 0) { @@ -1105,13 +1110,13 @@ static void sub_8112ACC(struct Sprite *sprite) SetGpuReg(REG_OFFSET_BLDALPHA, (16 - sprite->data[2]) | (sprite->data[2] << 8)); if (sprite->data[2] == 16) { - sprite->invisible = 1; - sprite->callback = sub_8112B44; + sprite->invisible = TRUE; + sprite->callback = AnimCurseNail_End; } } } -static void sub_8112B44(struct Sprite *sprite) +static void AnimCurseNail_End(struct Sprite *sprite) { SetGpuReg(REG_OFFSET_BLDCNT, 0); SetGpuReg(REG_OFFSET_BLDALPHA, 0); @@ -1120,7 +1125,7 @@ static void sub_8112B44(struct Sprite *sprite) DestroyAnimSprite(sprite); } -static void sub_8112B78(struct Sprite *sprite) +static void AnimGhostStatusSprite(struct Sprite *sprite) { u16 coeffB; u16 coeffA; @@ -1156,20 +1161,20 @@ static void sub_8112B78(struct Sprite *sprite) sprite->data[6] = BLDALPHA_BLEND(coeffA, coeffB); if (coeffB == 16 && coeffA == 0) { - sprite->invisible = 1; - sprite->callback = sub_8112C4C; + sprite->invisible = TRUE; + sprite->callback = AnimGhostStatusSprite_Step; } } } -static void sub_8112C4C(struct Sprite *sprite) +static void AnimGhostStatusSprite_Step(struct Sprite *sprite) { SetGpuReg(REG_OFFSET_BLDCNT, 0); SetGpuReg(REG_OFFSET_BLDALPHA, 0); DestroyAnimSprite(sprite); } -void sub_8112C6C(u8 taskId) +void AnimTask_GrudgeFlames(u8 taskId) { struct Task *task = &gTasks[taskId]; @@ -1186,10 +1191,10 @@ void sub_8112C6C(u8 taskId) SetGpuReg(REG_OFFSET_BLDCNT, (BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_ALL)); SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(0, 0x10)); task->data[8] = 0; - task->func = sub_8112D10; + task->func = AnimTask_GrudgeFlames_Step; } -static void sub_8112D10(u8 taskId) +static void AnimTask_GrudgeFlames_Step(u8 taskId) { u16 i; u8 spriteId; @@ -1200,7 +1205,7 @@ static void sub_8112D10(u8 taskId) case 0: for (i = 0; i < 6; i++) { - spriteId = CreateSprite(&gUnknown_08596E30, task->data[9], task->data[10], task->data[6]); + spriteId = CreateSprite(&gGrudgeFlameSpriteTemplate, task->data[9], task->data[10], task->data[6]); if (spriteId != MAX_SPRITES) { gSprites[spriteId].data[0] = taskId; @@ -1274,7 +1279,7 @@ static void sub_8112D10(u8 taskId) } } -static void sub_8112E9C(struct Sprite *sprite) +static void AnimGrudgeFlame(struct Sprite *sprite) { u16 index; @@ -1304,7 +1309,7 @@ static void sub_8112E9C(struct Sprite *sprite) static void sub_8112F60(struct Sprite *sprite) { - sprite->invisible = 1; + sprite->invisible = TRUE; sprite->data[5] = gBattlerSpriteIds[gBattleAnimAttacker]; sprite->data[0] = 128; sprite->data[1] = 10; diff --git a/src/ground.c b/src/battle_anim_ground.c index 36dbd31f3..875ecbd75 100644 --- a/src/ground.c +++ b/src/battle_anim_ground.c @@ -6,72 +6,72 @@ #include "trig.h" #include "constants/rgb.h" -void AnimBonemerangProjectile(struct Sprite *); -void AnimBoneHitProjectile(struct Sprite *); -void AnimDirtScatter(struct Sprite *); -void AnimMudSportDirt(struct Sprite *); -void AnimFissureDirtPlumeParticle(struct Sprite *); -void AnimDigDirtMound(struct Sprite *); -static void AnimBonemerangProjectileStep(struct Sprite *); -static void AnimBonemerangProjectileEnd(struct Sprite *); +static void AnimBonemerangProjectile(struct Sprite *); +static void AnimBoneHitProjectile(struct Sprite *); +static void AnimDirtScatter(struct Sprite *); +static void AnimMudSportDirt(struct Sprite *); +static void AnimDirtPlumeParticle(struct Sprite *); +static void AnimDirtPlumeParticle_Step(struct Sprite *); +static void AnimDigDirtMound(struct Sprite *); +static void AnimBonemerangProjectile_Step(struct Sprite *); +static void AnimBonemerangProjectile_End(struct Sprite *); static void AnimMudSportDirtRising(struct Sprite *); static void AnimMudSportDirtFalling(struct Sprite *); -static void sub_8114CFC(u8); -static void sub_8114EB4(u8); -static void sub_8114F54(u8); -static void sub_8114FD8(u8); +static void AnimTask_DigBounceMovement(u8); +static void AnimTask_DigEndBounceMovementSetInvisible(u8); +static void AnimTask_DigSetVisibleUnderground(u8); +static void AnimTask_DigRiseUpFromHole(u8); static void sub_81150E0(u8, s16, s16); -static void AnimFissureDirtPlumeParticleStep(struct Sprite *); -static void sub_81153AC(u8); -static void sub_81154A4(u8); -static void sub_8115588(struct Task *); +static void AnimTask_ShakeTerrain(u8); +static void AnimTask_ShakeBattlers(u8); +static void SetBattlersXOffsetForShake(struct Task *); static void sub_81156D0(u8); -const union AffineAnimCmd gUnknown_08597150[] = +static const union AffineAnimCmd sAffineAnim_Bonemerang[] = { AFFINEANIMCMD_FRAME(0x0, 0x0, 15, 1), AFFINEANIMCMD_JUMP(0), }; -const union AffineAnimCmd gUnknown_08597160[] = +static const union AffineAnimCmd sAffineAnim_SpinningBone[] = { AFFINEANIMCMD_FRAME(0x0, 0x0, 20, 1), AFFINEANIMCMD_JUMP(0), }; -const union AffineAnimCmd *const gUnknown_08597170[] = +static const union AffineAnimCmd *const sAffineAnims_Bonemerang[] = { - gUnknown_08597150, + sAffineAnim_Bonemerang, }; -const union AffineAnimCmd *const gUnknown_08597174[] = +static const union AffineAnimCmd *const sAffineAnims_SpinningBone[] = { - gUnknown_08597160, + sAffineAnim_SpinningBone, }; -const struct SpriteTemplate gUnknown_08597178 = +const struct SpriteTemplate gBonemerangSpriteTemplate = { .tileTag = ANIM_TAG_BONE, .paletteTag = ANIM_TAG_BONE, .oam = &gOamData_AffineNormal_ObjNormal_32x32, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_08597170, + .affineAnims = sAffineAnims_Bonemerang, .callback = AnimBonemerangProjectile, }; -const struct SpriteTemplate gUnknown_08597190 = +const struct SpriteTemplate gSpinningBoneSpriteTemplate = { .tileTag = ANIM_TAG_BONE, .paletteTag = ANIM_TAG_BONE, .oam = &gOamData_AffineNormal_ObjNormal_32x32, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_08597174, + .affineAnims = sAffineAnims_SpinningBone, .callback = AnimBoneHitProjectile, }; -const struct SpriteTemplate gUnknown_085971A8 = +const struct SpriteTemplate gSandAttackDirtSpriteTemplate = { .tileTag = ANIM_TAG_MUD_SAND, .paletteTag = ANIM_TAG_MUD_SAND, @@ -82,29 +82,29 @@ const struct SpriteTemplate gUnknown_085971A8 = .callback = AnimDirtScatter, }; -const union AnimCmd gUnknown_085971C0[] = +static const union AnimCmd sAnim_MudSlapMud[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -const union AnimCmd *const gUnknown_085971C8[] = +static const union AnimCmd *const sAnims_MudSlapMud[] = { - gUnknown_085971C0, + sAnim_MudSlapMud, }; -const struct SpriteTemplate gUnknown_085971CC = +const struct SpriteTemplate gMudSlapMudSpriteTemplate = { .tileTag = ANIM_TAG_MUD_SAND, .paletteTag = ANIM_TAG_MUD_SAND, .oam = &gOamData_AffineOff_ObjNormal_16x16, - .anims = gUnknown_085971C8, + .anims = sAnims_MudSlapMud, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimDirtScatter, }; -const struct SpriteTemplate gUnknown_085971E4 = +const struct SpriteTemplate gMudsportMudSpriteTemplate = { .tileTag = ANIM_TAG_MUD_SAND, .paletteTag = ANIM_TAG_MUD_SAND, @@ -115,7 +115,7 @@ const struct SpriteTemplate gUnknown_085971E4 = .callback = AnimMudSportDirt, }; -const struct SpriteTemplate gUnknown_085971FC = +const struct SpriteTemplate gDirtPlumeSpriteTemplate = { .tileTag = ANIM_TAG_MUD_SAND, .paletteTag = ANIM_TAG_MUD_SAND, @@ -123,10 +123,10 @@ const struct SpriteTemplate gUnknown_085971FC = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = AnimFissureDirtPlumeParticle, + .callback = AnimDirtPlumeParticle, }; -const struct SpriteTemplate gUnknown_08597214 = +const struct SpriteTemplate gDirtMoundSpriteTemplate = { .tileTag = ANIM_TAG_DIRT_MOUND, .paletteTag = ANIM_TAG_DIRT_MOUND, @@ -139,7 +139,7 @@ const struct SpriteTemplate gUnknown_08597214 = // Moves a bone projectile towards the target mon, which moves like // a boomerang. After hitting the target mon, it comes back to the user. -void AnimBonemerangProjectile(struct Sprite *sprite) +static void AnimBonemerangProjectile(struct Sprite *sprite) { sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2); sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3); @@ -148,10 +148,10 @@ void AnimBonemerangProjectile(struct Sprite *sprite) sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3); sprite->data[5] = -40; InitAnimArcTranslation(sprite); - sprite->callback = AnimBonemerangProjectileStep; + sprite->callback = AnimBonemerangProjectile_Step; } -static void AnimBonemerangProjectileStep(struct Sprite *sprite) +static void AnimBonemerangProjectile_Step(struct Sprite *sprite) { if (TranslateAnimHorizontalArc(sprite)) { @@ -164,11 +164,11 @@ static void AnimBonemerangProjectileStep(struct Sprite *sprite) sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimAttacker, 3); sprite->data[5] = 40; InitAnimArcTranslation(sprite); - sprite->callback = AnimBonemerangProjectileEnd; + sprite->callback = AnimBonemerangProjectile_End; } } -static void AnimBonemerangProjectileEnd(struct Sprite *sprite) +static void AnimBonemerangProjectile_End(struct Sprite *sprite) { if (TranslateAnimHorizontalArc(sprite)) DestroyAnimSprite(sprite); @@ -181,7 +181,7 @@ static void AnimBonemerangProjectileEnd(struct Sprite *sprite) // arg 2: target x pixel offset // arg 3: target y pixel offset // arg 4: duration -void AnimBoneHitProjectile(struct Sprite *sprite) +static void AnimBoneHitProjectile(struct Sprite *sprite) { InitSpritePosToAnimTarget(sprite, TRUE); if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) @@ -200,7 +200,7 @@ void AnimBoneHitProjectile(struct Sprite *sprite) // arg 2: duration // arg 3: target x pixel offset // arg 4: target y pixel offset -void AnimDirtScatter(struct Sprite *sprite) +static void AnimDirtScatter(struct Sprite *sprite) { u8 targetXPos, targetYPos; s16 xOffset, yOffset; @@ -229,7 +229,7 @@ void AnimDirtScatter(struct Sprite *sprite) // arg 0: 0 = dirt is rising into the air, 1 = dirt is falling down // arg 1: initial x pixel offset // arg 2: initial y pixel offset -void AnimMudSportDirt(struct Sprite *sprite) +static void AnimMudSportDirt(struct Sprite *sprite) { sprite->oam.tileNum++; if (gBattleAnimArgs[0] == 0) @@ -285,19 +285,19 @@ static void AnimMudSportDirtFalling(struct Sprite *sprite) } } -void sub_8114CBC(u8 taskId) +void AnimTask_DigDownMovement(u8 taskId) { struct Task *task = &gTasks[taskId]; - if (gBattleAnimArgs[0] == 0) - task->func = sub_8114CFC; + if (gBattleAnimArgs[0] == FALSE) + task->func = AnimTask_DigBounceMovement; else - task->func = sub_8114EB4; + task->func = AnimTask_DigEndBounceMovementSetInvisible; task->func(taskId); } -static void sub_8114CFC(u8 taskId) +static void AnimTask_DigBounceMovement(u8 taskId) { u8 var0; struct Task *task = &gTasks[taskId]; @@ -305,7 +305,7 @@ static void sub_8114CFC(u8 taskId) switch (task->data[0]) { case 0: - task->data[10] = GetAnimBattlerSpriteId(0); + task->data[10] = GetAnimBattlerSpriteId(ANIM_ATTACKER); task->data[11] = GetBattlerSpriteBGPriorityRank(gBattleAnimAttacker); if (task->data[11] == 1) { @@ -324,7 +324,7 @@ static void sub_8114CFC(u8 taskId) if (task->data[14] < 0) task->data[14] = 0; - gSprites[task->data[10]].invisible = 1; + gSprites[task->data[10]].invisible = TRUE; task->data[0]++; break; case 1: @@ -363,15 +363,15 @@ static void sub_8114CFC(u8 taskId) break; case 4: DestroyAnimVisualTask(taskId); - gSprites[task->data[10]].invisible = 1; + gSprites[task->data[10]].invisible = TRUE; break; } } -static void sub_8114EB4(u8 taskId) +static void AnimTask_DigEndBounceMovementSetInvisible(u8 taskId) { - u8 spriteId = GetAnimBattlerSpriteId(0); - gSprites[spriteId].invisible = 1; + u8 spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER); + gSprites[spriteId].invisible = TRUE; gSprites[spriteId].pos2.x = 0; gSprites[spriteId].pos2.y = 0; @@ -383,27 +383,27 @@ static void sub_8114EB4(u8 taskId) DestroyAnimVisualTask(taskId); } -void sub_8114F14(u8 taskId) +void AnimTask_DigUpMovement(u8 taskId) { struct Task *task = &gTasks[taskId]; - if (gBattleAnimArgs[0] == 0) - task->func = sub_8114F54; + if (gBattleAnimArgs[0] == FALSE) + task->func = AnimTask_DigSetVisibleUnderground; else - task->func = sub_8114FD8; + task->func = AnimTask_DigRiseUpFromHole; task->func(taskId); } -static void sub_8114F54(u8 taskId) +static void AnimTask_DigSetVisibleUnderground(u8 taskId) { struct Task *task = &gTasks[taskId]; switch (task->data[0]) { case 0: - task->data[10] = GetAnimBattlerSpriteId(0); - gSprites[task->data[10]].invisible = 0; + task->data[10] = GetAnimBattlerSpriteId(ANIM_ATTACKER); + gSprites[task->data[10]].invisible = FALSE; gSprites[task->data[10]].pos2.x = 0; gSprites[task->data[10]].pos2.y = 160 - gSprites[task->data[10]].pos1.y; task->data[0]++; @@ -413,7 +413,7 @@ static void sub_8114F54(u8 taskId) } } -static void sub_8114FD8(u8 taskId) +static void AnimTask_DigRiseUpFromHole(u8 taskId) { u8 var0; struct Task *task = &gTasks[taskId]; @@ -421,7 +421,7 @@ static void sub_8114FD8(u8 taskId) switch (task->data[0]) { case 0: - task->data[10] = GetAnimBattlerSpriteId(0); + task->data[10] = GetAnimBattlerSpriteId(ANIM_ATTACKER); task->data[11] = GetBattlerSpriteBGPriorityRank(gBattleAnimAttacker); if (task->data[11] == 1) task->data[12] = gBattle_BG1_X; @@ -501,7 +501,7 @@ static void sub_81150E0(u8 useBG1, s16 y, s16 endY) // arg 3: target y offset // arg 4: wave amplitude // arg 5: duration -void AnimFissureDirtPlumeParticle(struct Sprite *sprite) +void AnimDirtPlumeParticle(struct Sprite *sprite) { s8 battler; s16 xOffset; @@ -525,10 +525,10 @@ void AnimFissureDirtPlumeParticle(struct Sprite *sprite) sprite->data[4] = sprite->pos1.y + gBattleAnimArgs[3]; sprite->data[5] = gBattleAnimArgs[4]; InitAnimArcTranslation(sprite); - sprite->callback = AnimFissureDirtPlumeParticleStep; + sprite->callback = AnimDirtPlumeParticle_Step; } -static void AnimFissureDirtPlumeParticleStep(struct Sprite *sprite) +static void AnimDirtPlumeParticle_Step(struct Sprite *sprite) { if (TranslateAnimHorizontalArc(sprite)) DestroyAnimSprite(sprite); @@ -540,7 +540,7 @@ static void AnimFissureDirtPlumeParticleStep(struct Sprite *sprite) // arg 0: which mon (0 = attacker, 1 = target) // arg 1: oam tile num (0 = left half of image, 1 = right half of image) // arg 2: duration -void AnimDigDirtMound(struct Sprite *sprite) +static void AnimDigDirtMound(struct Sprite *sprite) { s8 battler; @@ -557,168 +557,192 @@ void AnimDigDirtMound(struct Sprite *sprite) sprite->callback = WaitAnimForDuration; } -void sub_81152DC(u8 taskId) + +#define tState data[0] +#define tDelay data[1] +#define tTimer data[2] +#define tMaxTime data[3] +#define tbattlerSpriteIds(i) data[9 + (i)] +#define tNumBattlers data[13] // AnimTask_ShakeBattlers +#define tInitialX data[13] // AnimTask_ShakeTerrain +#define tHorizOffset data[14] +#define tInitHorizOffset data[15] + +// Shakes battler(s) or the battle terrain back and forth horizontally. Used by e.g. Earthquake, Eruption +// arg0: What to shake. 0-3 for any specific battler, MAX_BATTLERS_COUNT for all battlers, MAX_BATTLERS_COUNT + 1 for the terrain +// arg1: Shake intensity, used to calculate horizontal pixel offset (if 0, use move power instead) +// arg2: Length of time to shake for +void AnimTask_HorizontalShake(u8 taskId) { u16 i; struct Task *task = &gTasks[taskId]; - if (gBattleAnimArgs[1]) - task->data[14] = task->data[15] = gBattleAnimArgs[1] + 3; + if (gBattleAnimArgs[1] != 0) + task->tHorizOffset = task->tInitHorizOffset = gBattleAnimArgs[1] + 3; else - task->data[14] = task->data[15] = (gAnimMovePower / 10) + 3; + task->tHorizOffset = task->tInitHorizOffset = (gAnimMovePower / 10) + 3; - task->data[3] = gBattleAnimArgs[2]; + task->tMaxTime = gBattleAnimArgs[2]; switch (gBattleAnimArgs[0]) { - case 5: - task->data[13] = gBattle_BG3_X; - task->func = sub_81153AC; + case MAX_BATTLERS_COUNT + 1: // Shake terrain + task->tInitialX = gBattle_BG3_X; + task->func = AnimTask_ShakeTerrain; break; - case 4: - task->data[13] = 0; + case MAX_BATTLERS_COUNT: // Shake all battlers + task->tNumBattlers = 0; for (i = 0; i < MAX_BATTLERS_COUNT; i++) { if (IsBattlerSpriteVisible(i)) { - task->data[task->data[13] + 9] = gBattlerSpriteIds[i]; - task->data[13]++; + task->tbattlerSpriteIds(task->tNumBattlers) = gBattlerSpriteIds[i]; + task->tNumBattlers++; } } - task->func = sub_81154A4; + task->func = AnimTask_ShakeBattlers; break; - default: - task->data[9] = GetAnimBattlerSpriteId(gBattleAnimArgs[0]); - if (task->data[9] == 0xFF) + default: // Shake specific battler + task->tbattlerSpriteIds(0) = GetAnimBattlerSpriteId(gBattleAnimArgs[0]); + if (task->tbattlerSpriteIds(0) == 0xFF) { DestroyAnimVisualTask(taskId); } else { - task->data[13] = 1; - task->func = sub_81154A4; + task->tNumBattlers = 1; + task->func = AnimTask_ShakeBattlers; } - break; } } -static void sub_81153AC(u8 taskId) +static void AnimTask_ShakeTerrain(u8 taskId) { struct Task *task = &gTasks[taskId]; - switch (task->data[0]) + switch (task->tState) { case 0: - if (++task->data[1] > 1) + if (++task->tDelay > 1) { - task->data[1] = 0; - if ((task->data[2] & 1) == 0) - gBattle_BG3_X = task->data[13] + task->data[15]; + task->tDelay = 0; + if ((task->tTimer & 1) == 0) + gBattle_BG3_X = task->tInitialX + task->tInitHorizOffset; else - gBattle_BG3_X = task->data[13] - task->data[15]; + gBattle_BG3_X = task->tInitialX - task->tInitHorizOffset; - if (++task->data[2] == task->data[3]) + if (++task->tTimer == task->tMaxTime) { - task->data[2] = 0; - task->data[14]--; - task->data[0]++; + task->tTimer = 0; + task->tHorizOffset--; + task->tState++; } } break; case 1: - if (++task->data[1] > 1) + if (++task->tDelay > 1) { - task->data[1] = 0; - if ((task->data[2] & 1) == 0) - gBattle_BG3_X = task->data[13] + task->data[14]; + task->tDelay = 0; + if ((task->tTimer & 1) == 0) + gBattle_BG3_X = task->tInitialX + task->tHorizOffset; else - gBattle_BG3_X = task->data[13] - task->data[14]; + gBattle_BG3_X = task->tInitialX - task->tHorizOffset; - if (++task->data[2] == 4) + if (++task->tTimer == 4) { - task->data[2] = 0; - if (--task->data[14] == 0) - task->data[0]++; + task->tTimer = 0; + if (--task->tHorizOffset == 0) + task->tState++; } } break; case 2: - gBattle_BG3_X = task->data[13]; + gBattle_BG3_X = task->tInitialX; DestroyAnimVisualTask(taskId); break; } } -static void sub_81154A4(u8 taskId) +static void AnimTask_ShakeBattlers(u8 taskId) { u16 i; struct Task *task = &gTasks[taskId]; - switch (task->data[0]) + switch (task->tState) { case 0: - if (++task->data[1] > 1) + if (++task->tDelay > 1) { - task->data[1] = 0; - sub_8115588(task); - if (++task->data[2] == task->data[3]) + task->tDelay = 0; + SetBattlersXOffsetForShake(task); + if (++task->tTimer == task->tMaxTime) { - task->data[2] = 0; - task->data[14]--; - task->data[0]++; + task->tTimer = 0; + task->tHorizOffset--; + task->tState++; } } break; case 1: - if (++task->data[1] > 1) + if (++task->tDelay > 1) { - task->data[1] = 0; - sub_8115588(task); - if (++task->data[2] == 4) + task->tDelay = 0; + SetBattlersXOffsetForShake(task); + if (++task->tTimer == 4) { - task->data[2] = 0; - if (--task->data[14] == 0) - task->data[0]++; + task->tTimer = 0; + if (--task->tHorizOffset == 0) + task->tState++; } } break; case 2: - for (i = 0; i < task->data[13]; i++) - gSprites[task->data[9 + i]].pos2.x = 0; + for (i = 0; i < task->tNumBattlers; i++) + gSprites[task->tbattlerSpriteIds(i)].pos2.x = 0; DestroyAnimVisualTask(taskId); break; } } -static void sub_8115588(struct Task *task) +static void SetBattlersXOffsetForShake(struct Task *task) { u16 i; u16 xOffset; - if ((task->data[2] & 1) == 0) - xOffset = (task->data[14] / 2) + (task->data[14] & 1); + if ((task->tTimer & 1) == 0) + xOffset = (task->tHorizOffset / 2) + (task->tHorizOffset & 1); else - xOffset = -(task->data[14] / 2); + xOffset = -(task->tHorizOffset / 2); - for (i = 0; i < task->data[13]; i++) + for (i = 0; i < task->tNumBattlers; i++) { - gSprites[task->data[9 + i]].pos2.x = xOffset; + gSprites[task->tbattlerSpriteIds(i)].pos2.x = xOffset; } } +#undef tState +#undef tDelay +#undef tTimer +#undef tMaxTime +#undef tbattlerSpriteIds +#undef tNumBattlers +#undef tInitialX +#undef tHorizOffset +#undef tInitHorizOffset + void AnimTask_IsPowerOver99(u8 taskId) { gBattleAnimArgs[15] = gAnimMovePower > 99; DestroyAnimVisualTask(taskId); } -void sub_8115628(u8 taskId) +void AnimTask_PositionFissureBgOnBattler(u8 taskId) { struct Task *newTask; - u8 battler = (gBattleAnimArgs[0] & 1) ? gBattleAnimTarget : gBattleAnimAttacker; + u8 battler = (gBattleAnimArgs[0] & ANIM_TARGET) ? gBattleAnimTarget : gBattleAnimAttacker; - if (gBattleAnimArgs[0] > 1) + if (gBattleAnimArgs[0] > ANIM_TARGET) battler ^= 2; newTask = &gTasks[CreateTask(sub_81156D0, gBattleAnimArgs[1])]; diff --git a/src/ice.c b/src/battle_anim_ice.c index cc8b1d333..24ddf3b32 100644 --- a/src/ice.c +++ b/src/battle_anim_ice.c @@ -14,54 +14,54 @@ #include "constants/rgb.h" struct HailStruct { - s32 unk0:10; - s32 unk1:10; - s32 unk2:8; + s32 x:10; + s32 y:10; + s32 bPosition:8; s32 unk3:4; }; static void sub_810B6C4(struct Sprite *); -void sub_810B848(struct Sprite *); -void AnimIcePunchSwirlingParticle(struct Sprite *); -void AnimIceBeamParticle(struct Sprite *); -void AnimIceEffectParticle(struct Sprite *); -void AnimFlickerIceEffectParticle(struct Sprite *); -void AnimSwirlingSnowball_Step1(struct Sprite *); -void AnimSwirlingSnowball_Step2(struct Sprite *); -void AnimSwirlingSnowball_Step3(struct Sprite *); -void AnimSwirlingSnowball_End(struct Sprite *); -void AnimMoveParticleBeyondTarget(struct Sprite *); -void AnimWiggleParticleTowardsTarget(struct Sprite *); -void AnimWaveFromCenterOfTarget(struct Sprite *); -void InitSwirlingFogAnim(struct Sprite *); -void AnimSwirlingFogAnim(struct Sprite *); -void AnimThrowMistBall(struct Sprite *); -void InitPoisonGasCloudAnim(struct Sprite *); -void MovePoisonGasCloud(struct Sprite *); -void AnimHailBegin(struct Sprite *); -void AnimHailContinue(struct Sprite *); -void InitIceBallAnim(struct Sprite *); -void AnimThrowIceBall(struct Sprite *); -void InitIceBallParticle(struct Sprite *); -void AnimIceBallParticle(struct Sprite *); -void AnimTask_Haze2(u8); -void AnimTask_OverlayFogTiles(u8); -void AnimTask_Hail2(u8); -bool8 GenerateHailParticle(u8 hailStructId, u8 affineAnimNum, u8 taskId, u8 c); - -const union AnimCmd gUnknown_08595A48[] = +static void sub_810B848(struct Sprite *); +static void AnimIcePunchSwirlingParticle(struct Sprite *); +static void AnimIceBeamParticle(struct Sprite *); +static void AnimIceEffectParticle(struct Sprite *); +static void AnimFlickerIceEffectParticle(struct Sprite *); +static void AnimSwirlingSnowball(struct Sprite *); +static void AnimSwirlingSnowball_Step1(struct Sprite *); +static void AnimSwirlingSnowball_Step2(struct Sprite *); +static void AnimSwirlingSnowball_End(struct Sprite *); +static void AnimMoveParticleBeyondTarget(struct Sprite *); +static void AnimWiggleParticleTowardsTarget(struct Sprite *); +static void AnimWaveFromCenterOfTarget(struct Sprite *); +static void InitSwirlingFogAnim(struct Sprite *); +static void AnimSwirlingFogAnim(struct Sprite *); +static void AnimThrowMistBall(struct Sprite *); +static void InitPoisonGasCloudAnim(struct Sprite *); +static void MovePoisonGasCloud(struct Sprite *); +static void AnimHailBegin(struct Sprite *); +static void AnimHailContinue(struct Sprite *); +static void InitIceBallAnim(struct Sprite *); +static void AnimThrowIceBall(struct Sprite *); +static void InitIceBallParticle(struct Sprite *); +static void AnimIceBallParticle(struct Sprite *); +static void AnimTask_Haze2(u8); +static void AnimTask_OverlayFogTiles(u8); +static void AnimTask_Hail2(u8); +static bool8 GenerateHailParticle(u8 hailStructId, u8 affineAnimNum, u8 taskId, u8 c); + +static const union AnimCmd gUnknown_08595A48[] = { ANIMCMD_FRAME(0, 5, .hFlip = TRUE), ANIMCMD_FRAME(1, 5, .hFlip = TRUE), ANIMCMD_JUMP(0), }; -const union AnimCmd *const gUnknown_08595A54[] = +static const union AnimCmd *const gUnknown_08595A54[] = { gUnknown_08595A48, }; -// unknown sprite template +// Unused const struct SpriteTemplate gUnknown_08595A58 = { .tileTag = ANIM_TAG_ICE_CRYSTALS, @@ -73,140 +73,141 @@ const struct SpriteTemplate gUnknown_08595A58 = .callback = sub_810B6C4, }; -const union AnimCmd gUnknown_08595A70[] = +static const union AnimCmd gUnknown_08595A70[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_08595A78[] = +static const union AnimCmd sAnim_IceCrystalLarge[] = { ANIMCMD_FRAME(4, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_08595A80[] = +static const union AnimCmd sAnim_IceCrystalSmall[] = { ANIMCMD_FRAME(6, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_08595A88[] = +static const union AnimCmd sAnim_Snowball[] = { ANIMCMD_FRAME(7, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_08595A90[] = +static const union AnimCmd sAnim_BlizzardIceCrystal[] = { ANIMCMD_FRAME(8, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_08595A98[] = +static const union AnimCmd sAnim_SmallBubblePair[] = { ANIMCMD_FRAME(12, 6), ANIMCMD_FRAME(13, 6), ANIMCMD_JUMP(0), }; -const union AnimCmd *const gUnknown_08595AA4[] = +// Unused +static const union AnimCmd *const gUnknown_08595AA4[] = { gUnknown_08595A70, }; -const union AnimCmd *const gUnknown_08595AA8[] = +static const union AnimCmd *const sAnims_IceCrystalLarge[] = { - gUnknown_08595A78, + sAnim_IceCrystalLarge, }; -const union AnimCmd *const gUnknown_08595AAC[] = +static const union AnimCmd *const sAnims_IceCrystalSmall[] = { - gUnknown_08595A80, + sAnim_IceCrystalSmall, }; -const union AnimCmd *const gUnknown_08595AB0[] = +static const union AnimCmd *const sAnims_Snowball[] = { - gUnknown_08595A88, + sAnim_Snowball, }; -const union AnimCmd *const gUnknown_08595AB4[] = +static const union AnimCmd *const sAnims_BlizzardIceCrystal[] = { - gUnknown_08595A90, + sAnim_BlizzardIceCrystal, }; -const union AnimCmd *const gUnknown_08595AB8[] = +const union AnimCmd *const gAnims_SmallBubblePair[] = { - gUnknown_08595A98, + sAnim_SmallBubblePair, }; -const union AffineAnimCmd gUnknown_08595ABC[] = +static const union AffineAnimCmd sAffineAnim_IceCrystalSpiralInwardLarge[] = { AFFINEANIMCMD_FRAME(0x0, 0x0, 40, 1), AFFINEANIMCMD_JUMP(0), }; -const union AffineAnimCmd *const gUnknown_08595ACC[] = +static const union AffineAnimCmd *const sAffineAnims_IceCrystalSpiralInwardLarge[] = { - gUnknown_08595ABC, + sAffineAnim_IceCrystalSpiralInwardLarge, }; -const struct SpriteTemplate gUnknown_08595AD0 = +const struct SpriteTemplate gIceCrystalSpiralInwardLarge = { .tileTag = ANIM_TAG_ICE_CRYSTALS, .paletteTag = ANIM_TAG_ICE_CRYSTALS, .oam = &gOamData_AffineDouble_ObjBlend_8x16, - .anims = gUnknown_08595AA8, + .anims = sAnims_IceCrystalLarge, .images = NULL, - .affineAnims = gUnknown_08595ACC, + .affineAnims = sAffineAnims_IceCrystalSpiralInwardLarge, .callback = AnimIcePunchSwirlingParticle, }; -const struct SpriteTemplate gUnknown_08595AE8 = +const struct SpriteTemplate gIceCrystalSpiralInwardSmall = { .tileTag = ANIM_TAG_ICE_CRYSTALS, .paletteTag = ANIM_TAG_ICE_CRYSTALS, .oam = &gOamData_AffineOff_ObjBlend_8x8, - .anims = gUnknown_08595AAC, + .anims = sAnims_IceCrystalSmall, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimIcePunchSwirlingParticle, }; -const union AffineAnimCmd gUnknown_08595B00[] = +static const union AffineAnimCmd sAffineAnim_IceBeamInnerCrystal[] = { AFFINEANIMCMD_FRAME(0x0, 0x0, 10, 1), AFFINEANIMCMD_JUMP(0), }; -const union AffineAnimCmd *const gUnknown_08595B10[] = +static const union AffineAnimCmd *const sAffineAnims_IceBeamInnerCrystal[] = { - gUnknown_08595B00, + sAffineAnim_IceBeamInnerCrystal, }; -const struct SpriteTemplate gUnknown_08595B14 = +const struct SpriteTemplate gIceBeamInnerCrystalSpriteTemplate = { .tileTag = ANIM_TAG_ICE_CRYSTALS, .paletteTag = ANIM_TAG_ICE_CRYSTALS, .oam = &gOamData_AffineNormal_ObjBlend_8x16, - .anims = gUnknown_08595AA8, + .anims = sAnims_IceCrystalLarge, .images = NULL, - .affineAnims = gUnknown_08595B10, + .affineAnims = sAffineAnims_IceBeamInnerCrystal, .callback = AnimIceBeamParticle, }; -const struct SpriteTemplate gUnknown_08595B2C = +const struct SpriteTemplate gIceBeamOuterCrystalSpriteTemplate = { .tileTag = ANIM_TAG_ICE_CRYSTALS, .paletteTag = ANIM_TAG_ICE_CRYSTALS, .oam = &gOamData_AffineOff_ObjBlend_8x8, - .anims = gUnknown_08595AAC, + .anims = sAnims_IceCrystalSmall, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimIceBeamParticle, }; -const union AffineAnimCmd gUnknown_08595B44[] = +static const union AffineAnimCmd sAffineAnim_IceCrystalHit[] = { AFFINEANIMCMD_FRAME(0xCE, 0xCE, 0, 0), AFFINEANIMCMD_FRAME(0x5, 0x5, 0, 10), @@ -214,67 +215,67 @@ const union AffineAnimCmd gUnknown_08595B44[] = AFFINEANIMCMD_END, }; -const union AffineAnimCmd *const gUnknown_08595B64[] = +static const union AffineAnimCmd *const sAffineAnims_IceCrystalHit[] = { - gUnknown_08595B44, + sAffineAnim_IceCrystalHit, }; -const struct SpriteTemplate gUnknown_08595B68 = +const struct SpriteTemplate gIceCrystalHitLargeSpriteTemplate = { .tileTag = ANIM_TAG_ICE_CRYSTALS, .paletteTag = ANIM_TAG_ICE_CRYSTALS, .oam = &gOamData_AffineNormal_ObjBlend_8x16, - .anims = gUnknown_08595AA8, + .anims = sAnims_IceCrystalLarge, .images = NULL, - .affineAnims = gUnknown_08595B64, + .affineAnims = sAffineAnims_IceCrystalHit, .callback = AnimIceEffectParticle, }; -const struct SpriteTemplate gUnknown_08595B80 = +const struct SpriteTemplate gIceCrystalHitSmallSpriteTemplate = { .tileTag = ANIM_TAG_ICE_CRYSTALS, .paletteTag = ANIM_TAG_ICE_CRYSTALS, .oam = &gOamData_AffineNormal_ObjBlend_8x8, - .anims = gUnknown_08595AAC, + .anims = sAnims_IceCrystalSmall, .images = NULL, - .affineAnims = gUnknown_08595B64, + .affineAnims = sAffineAnims_IceCrystalHit, .callback = AnimIceEffectParticle, }; -const struct SpriteTemplate gUnknown_08595B98 = +const struct SpriteTemplate gSwirlingSnowballSpriteTemplate = { .tileTag = ANIM_TAG_ICE_CRYSTALS, .paletteTag = ANIM_TAG_ICE_CRYSTALS, .oam = &gOamData_AffineOff_ObjNormal_8x8, - .anims = gUnknown_08595AB0, + .anims = sAnims_Snowball, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = AnimSwirlingSnowball_Step1, + .callback = AnimSwirlingSnowball, }; -const struct SpriteTemplate gUnknown_08595BB0 = +const struct SpriteTemplate gBlizzardIceCrystalSpriteTemplate = { .tileTag = ANIM_TAG_ICE_CRYSTALS, .paletteTag = ANIM_TAG_ICE_CRYSTALS, .oam = &gOamData_AffineOff_ObjNormal_16x16, - .anims = gUnknown_08595AB4, + .anims = sAnims_BlizzardIceCrystal, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimMoveParticleBeyondTarget, }; -const struct SpriteTemplate gUnknown_08595BC8 = +const struct SpriteTemplate gPowderSnowSnowballSpriteTemplate = { .tileTag = ANIM_TAG_ICE_CRYSTALS, .paletteTag = ANIM_TAG_ICE_CRYSTALS, .oam = &gOamData_AffineOff_ObjNormal_8x8, - .anims = gUnknown_08595AB0, + .anims = sAnims_Snowball, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimMoveParticleBeyondTarget, }; -const union AnimCmd gUnknown_08595BE0[] = +static const union AnimCmd sAnim_IceGroundSpike[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(2, 5), @@ -286,62 +287,62 @@ const union AnimCmd gUnknown_08595BE0[] = ANIMCMD_END, }; -const union AnimCmd *const gUnknown_08595C00[] = +static const union AnimCmd *const sAnims_IceGroundSpike[] = { - gUnknown_08595BE0, + sAnim_IceGroundSpike, }; -const struct SpriteTemplate gUnknown_08595C04 = +const struct SpriteTemplate gIceGroundSpikeSpriteTemplate = { .tileTag = ANIM_TAG_ICE_SPIKES, .paletteTag = ANIM_TAG_ICE_SPIKES, .oam = &gOamData_AffineOff_ObjBlend_8x16, - .anims = gUnknown_08595C00, + .anims = sAnims_IceGroundSpike, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimWaveFromCenterOfTarget, }; -const union AnimCmd gUnknown_08595C1C[] = +static const union AnimCmd sAnim_Cloud[] = { ANIMCMD_FRAME(0, 8), ANIMCMD_FRAME(8, 8), ANIMCMD_JUMP(0), }; -const union AnimCmd *const gUnknown_08595C28[] = +static const union AnimCmd *const sAnims_Cloud[] = { - gUnknown_08595C1C, + sAnim_Cloud, }; -const struct SpriteTemplate gUnknown_08595C2C = +const struct SpriteTemplate gMistCloudSpriteTemplate = { .tileTag = ANIM_TAG_MIST_CLOUD, .paletteTag = ANIM_TAG_MIST_CLOUD, .oam = &gOamData_AffineOff_ObjBlend_32x16, - .anims = gUnknown_08595C28, + .anims = sAnims_Cloud, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = InitSwirlingFogAnim, }; -const struct SpriteTemplate gUnknown_08595C44 = +const struct SpriteTemplate gSmogCloudSpriteTemplate = { .tileTag = ANIM_TAG_PURPLE_GAS_CLOUD, .paletteTag = ANIM_TAG_PURPLE_GAS_CLOUD, .oam = &gOamData_AffineOff_ObjBlend_32x16, - .anims = gUnknown_08595C28, + .anims = sAnims_Cloud, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = InitSwirlingFogAnim, }; -const u8 gUnknown_08595C5C[] = +static const u8 sUnknown_08595C5C[] = { 0, 1, 2, 2, 2, 2, 3, 4, 4, 4, 5, 6, 6, 6, 6, 7, 8, 8, 8, 9, }; -const struct SpriteTemplate gUnknown_08595C70 = +const struct SpriteTemplate gMistBallSpriteTemplate = { .tileTag = ANIM_TAG_SMALL_BUBBLES, .paletteTag = ANIM_TAG_SMALL_BUBBLES, @@ -352,101 +353,101 @@ const struct SpriteTemplate gUnknown_08595C70 = .callback = AnimThrowMistBall, }; -const u8 gUnknown_08595C88[] = +static const u8 sUnknown_08595C88[] = { 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 5, }; -const struct SpriteTemplate gUnknown_08595C9C = +const struct SpriteTemplate gPoisonGasCloudSpriteTemplate = { .tileTag = ANIM_TAG_PURPLE_GAS_CLOUD, .paletteTag = ANIM_TAG_PURPLE_GAS_CLOUD, .oam = &gOamData_AffineOff_ObjBlend_32x16, - .anims = gUnknown_08595C28, + .anims = sAnims_Cloud, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = InitPoisonGasCloudAnim, }; -const struct HailStruct gUnknown_08595CB4[] = -{ - {100, 120, 0, 2}, - {85, 120, 0, 0}, - {242, 120, 1, 1}, - {66, 120, 2, 1}, - {182, 120, 3, 0}, - {60, 120, 0, 2}, - {214, 120, 1, 0}, - {113, 120, 0, 1}, - {210, 120, 3, 1}, - {38, 120, 2, 0}, +static const struct HailStruct sHailCoordData[] = +{ + {.x = 100, .y = 120, .bPosition = B_POSITION_PLAYER_LEFT, .unk3 = 2}, + {.x = 85, .y = 120, .bPosition = B_POSITION_PLAYER_LEFT, .unk3 = 0}, + {.x = 242, .y = 120, .bPosition = B_POSITION_OPPONENT_LEFT, .unk3 = 1}, + {.x = 66, .y = 120, .bPosition = B_POSITION_PLAYER_RIGHT, .unk3 = 1}, + {.x = 182, .y = 120, .bPosition = B_POSITION_OPPONENT_RIGHT, .unk3 = 0}, + {.x = 60, .y = 120, .bPosition = B_POSITION_PLAYER_LEFT, .unk3 = 2}, + {.x = 214, .y = 120, .bPosition = B_POSITION_OPPONENT_LEFT, .unk3 = 0}, + {.x = 113, .y = 120, .bPosition = B_POSITION_PLAYER_LEFT, .unk3 = 1}, + {.x = 210, .y = 120, .bPosition = B_POSITION_OPPONENT_RIGHT, .unk3 = 1}, + {.x = 38, .y = 120, .bPosition = B_POSITION_PLAYER_RIGHT, .unk3 = 0}, }; -const union AffineAnimCmd gUnknown_08595CDC[] = +static const union AffineAnimCmd sAffineAnim_HailParticle_0[] = { AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0), AFFINEANIMCMD_END, }; -const union AffineAnimCmd gUnknown_08595CEC[] = +static const union AffineAnimCmd sAffineAnim_HailParticle_1[] = { AFFINEANIMCMD_FRAME(0xF0, 0xF0, 0, 0), AFFINEANIMCMD_END, }; -const union AffineAnimCmd gUnknown_08595CFC[] = +static const union AffineAnimCmd sAffineAnim_HailParticle_2[] = { AFFINEANIMCMD_FRAME(0xE0, 0xE0, 0, 0), AFFINEANIMCMD_END, }; -const union AffineAnimCmd gUnknown_08595D0C[] = +static const union AffineAnimCmd sAffineAnim_WeatherBallIceDown[] = { AFFINEANIMCMD_FRAME(0x150, 0x150, 0, 0), AFFINEANIMCMD_END, }; -const union AffineAnimCmd *const gUnknown_08595D1C[] = +static const union AffineAnimCmd *const sAffineAnims_HailParticle[] = { - gUnknown_08595CDC, - gUnknown_08595CEC, - gUnknown_08595CFC, + sAffineAnim_HailParticle_0, + sAffineAnim_HailParticle_1, + sAffineAnim_HailParticle_2, }; -const union AffineAnimCmd *const gUnknown_08595D28[] = +static const union AffineAnimCmd *const sAffineAnims_WeatherBallIceDown[] = { - gUnknown_08595D0C, + sAffineAnim_WeatherBallIceDown, }; -const struct SpriteTemplate gUnknown_08595D2C = +const struct SpriteTemplate gHailParticleSpriteTemplate = { .tileTag = ANIM_TAG_HAIL, .paletteTag = ANIM_TAG_HAIL, .oam = &gOamData_AffineNormal_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_08595D1C, + .affineAnims = sAffineAnims_HailParticle, .callback = AnimHailBegin, }; -const struct SpriteTemplate gUnknown_08595D44 = +const struct SpriteTemplate gWeatherBallIceDownSpriteTemplate = { .tileTag = ANIM_TAG_HAIL, .paletteTag = ANIM_TAG_HAIL, .oam = &gOamData_AffineNormal_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_08595D28, - .callback = sub_80A8EE4, + .affineAnims = sAffineAnims_WeatherBallIceDown, + .callback = AnimWeatherBallDown, }; -const union AnimCmd gUnknown_08595D5C[] = +static const union AnimCmd sAnim_IceBallChunk_0[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_08595D64[] = +static const union AnimCmd sAnim_IceBallChunk_1[] = { ANIMCMD_FRAME(16, 4), ANIMCMD_FRAME(32, 4), @@ -455,74 +456,74 @@ const union AnimCmd gUnknown_08595D64[] = ANIMCMD_END, }; -const union AnimCmd *const gUnknown_08595D78[] = +static const union AnimCmd *const sAnims_IceBallChunk[] = { - gUnknown_08595D5C, - gUnknown_08595D64, + sAnim_IceBallChunk_0, + sAnim_IceBallChunk_1, }; -const union AffineAnimCmd gUnknown_08595D80[] = +static const union AffineAnimCmd sAffineAnim_IceBallChunk_0[] = { AFFINEANIMCMD_FRAME(0xE0, 0xE0, 0, 0), AFFINEANIMCMD_END, }; -const union AffineAnimCmd gUnknown_08595D90[] = +static const union AffineAnimCmd sAffineAnim_IceBallChunk_1[] = { AFFINEANIMCMD_FRAME(0x118, 0x118, 0, 0), AFFINEANIMCMD_END, }; -const union AffineAnimCmd gUnknown_08595DA0[] = +static const union AffineAnimCmd sAffineAnim_IceBallChunk_2[] = { AFFINEANIMCMD_FRAME(0x150, 0x150, 0, 0), AFFINEANIMCMD_END, }; -const union AffineAnimCmd gUnknown_08595DB0[] = +static const union AffineAnimCmd sAffineAnim_IceBallChunk_3[] = { AFFINEANIMCMD_FRAME(0x180, 0x180, 0, 0), AFFINEANIMCMD_END, }; -const union AffineAnimCmd gUnknown_08595DC0[] = +static const union AffineAnimCmd sAffineAnim_IceBallChunk_4[] = { AFFINEANIMCMD_FRAME(0x1C0, 0x1C0, 0, 0), AFFINEANIMCMD_END, }; -const union AffineAnimCmd *const gUnknown_08595DD0[] = +static const union AffineAnimCmd *const sAffineAnims_IceBallChunk[] = { - gUnknown_08595D80, - gUnknown_08595D90, - gUnknown_08595DA0, - gUnknown_08595DB0, - gUnknown_08595DC0, + sAffineAnim_IceBallChunk_0, + sAffineAnim_IceBallChunk_1, + sAffineAnim_IceBallChunk_2, + sAffineAnim_IceBallChunk_3, + sAffineAnim_IceBallChunk_4, }; -const struct SpriteTemplate gUnknown_08595DE4 = +const struct SpriteTemplate gIceBallChunkSpriteTemplate = { .tileTag = ANIM_TAG_ICE_CHUNK, .paletteTag = ANIM_TAG_ICE_CHUNK, .oam = &gOamData_AffineDouble_ObjNormal_32x32, - .anims = gUnknown_08595D78, + .anims = sAnims_IceBallChunk, .images = NULL, - .affineAnims = gUnknown_08595DD0, + .affineAnims = sAffineAnims_IceBallChunk, .callback = InitIceBallAnim, }; -const struct SpriteTemplate gUnknown_08595DFC = +const struct SpriteTemplate gIceBallImpactShardSpriteTemplate = { .tileTag = ANIM_TAG_ICE_CRYSTALS, .paletteTag = ANIM_TAG_ICE_CRYSTALS, .oam = &gOamData_AffineOff_ObjNormal_8x8, - .anims = gUnknown_08595AAC, + .anims = sAnims_IceCrystalSmall, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = InitIceBallParticle, }; -// probably unused +// Unused static void sub_810B6C4(struct Sprite *sprite) { s16 targetX, targetY, attackerX, attackerY; @@ -562,7 +563,7 @@ static void sub_810B6C4(struct Sprite *sprite) sprite->callback = sub_810B848; } -void sub_810B848(struct Sprite *sprite) +static void sub_810B848(struct Sprite *sprite) { if (sprite->data[0] != 0) { @@ -583,7 +584,7 @@ void sub_810B848(struct Sprite *sprite) // Animates the swirling ice crystals in Ice Punch. // arg 0: initial position angle around circle (0-256) -void AnimIcePunchSwirlingParticle(struct Sprite *sprite) +static void AnimIcePunchSwirlingParticle(struct Sprite *sprite) { sprite->data[0] = gBattleAnimArgs[0]; sprite->data[1] = 60; @@ -601,7 +602,7 @@ void AnimIcePunchSwirlingParticle(struct Sprite *sprite) // arg 2: target x offset // arg 3: target y offset // arg 4: duration -void AnimIceBeamParticle(struct Sprite *sprite) +static void AnimIceBeamParticle(struct Sprite *sprite) { InitSpritePosToAnimAttacker(sprite, TRUE); sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2); @@ -622,7 +623,7 @@ void AnimIceBeamParticle(struct Sprite *sprite) // arg 0: target x offset // arg 1: target y offset // arg 2: ??? unknown boolean -void AnimIceEffectParticle(struct Sprite *sprite) +static void AnimIceEffectParticle(struct Sprite *sprite) { if (gBattleAnimArgs[2] == 0) { @@ -642,7 +643,7 @@ void AnimIceEffectParticle(struct Sprite *sprite) sprite->callback = RunStoredCallbackWhenAffineAnimEnds; } -void AnimFlickerIceEffectParticle(struct Sprite *sprite) +static void AnimFlickerIceEffectParticle(struct Sprite *sprite) { sprite->invisible ^= 1; sprite->data[0] += 1; @@ -657,7 +658,7 @@ void AnimFlickerIceEffectParticle(struct Sprite *sprite) // arg 3: target y offset // arg 4: particle speed // arg 5: multiple targets? (boolean) -void AnimSwirlingSnowball_Step1(struct Sprite *sprite) +static void AnimSwirlingSnowball(struct Sprite *sprite) { int i; s16 tempDataHolder[8]; @@ -710,10 +711,10 @@ void AnimSwirlingSnowball_Step1(struct Sprite *sprite) sprite->data[i] = tempDataHolder[i]; sprite->callback = sub_80A718C; - StoreSpriteCallbackInData6(sprite, AnimSwirlingSnowball_Step2); + StoreSpriteCallbackInData6(sprite, AnimSwirlingSnowball_Step1); } -void AnimSwirlingSnowball_Step2(struct Sprite *sprite) +static void AnimSwirlingSnowball_Step1(struct Sprite *sprite) { s16 tempVar; @@ -728,11 +729,11 @@ void AnimSwirlingSnowball_Step2(struct Sprite *sprite) sprite->data[3] = Sin(sprite->data[0], tempVar); sprite->data[4] = Cos(sprite->data[0], 0xF); sprite->data[5] = 0; - sprite->callback = AnimSwirlingSnowball_Step3; + sprite->callback = AnimSwirlingSnowball_Step2; sprite->callback(sprite); } -void AnimSwirlingSnowball_Step3(struct Sprite *sprite) +static void AnimSwirlingSnowball_Step2(struct Sprite *sprite) { s16 tempVar; tempVar = GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER ? 20 : -20; @@ -756,7 +757,7 @@ void AnimSwirlingSnowball_Step3(struct Sprite *sprite) } } -void AnimSwirlingSnowball_End(struct Sprite *sprite) +static void AnimSwirlingSnowball_End(struct Sprite *sprite) { sprite->data[0] = 1; AnimFastTranslateLinear(sprite); @@ -777,7 +778,7 @@ void AnimSwirlingSnowball_End(struct Sprite *sprite) // arg 5: wave amplitude // arg 6: wave frequency // arg 7: multiple targets? (boolean) -void AnimMoveParticleBeyondTarget(struct Sprite *sprite) +static void AnimMoveParticleBeyondTarget(struct Sprite *sprite) { int i; s16 tempDataHolder[8]; @@ -835,7 +836,7 @@ void AnimMoveParticleBeyondTarget(struct Sprite *sprite) } // Moves particles in a sine wave towards the target. -void AnimWiggleParticleTowardsTarget(struct Sprite *sprite) +static void AnimWiggleParticleTowardsTarget(struct Sprite *sprite) { AnimFastTranslateLinear(sprite); if (sprite->data[0] == 0) @@ -856,7 +857,7 @@ void AnimWiggleParticleTowardsTarget(struct Sprite *sprite) // arg 0: initial x pixel offset // arg 1: initial y pixel offset // arg 2: ??? unknown boolean -void AnimWaveFromCenterOfTarget(struct Sprite *sprite) +static void AnimWaveFromCenterOfTarget(struct Sprite *sprite) { if (sprite->data[0] == 0) { @@ -891,7 +892,7 @@ void AnimWaveFromCenterOfTarget(struct Sprite *sprite) // arg 3: duration // arg 4: animate on opponent? (boolean) // arg 5: ??? unknown boolean -void InitSwirlingFogAnim(struct Sprite *sprite) +static void InitSwirlingFogAnim(struct Sprite *sprite) { s16 tempVar; u8 battler; @@ -959,7 +960,7 @@ void InitSwirlingFogAnim(struct Sprite *sprite) } // Animates swirling fog initialized by InitSwirlingFogAnim. -void AnimSwirlingFogAnim(struct Sprite *sprite) +static void AnimSwirlingFogAnim(struct Sprite *sprite) { if (!AnimTranslateLinear(sprite)) { @@ -979,8 +980,8 @@ void AnimSwirlingFogAnim(struct Sprite *sprite) } } -// Fades mons to black and places foggy overlay in Haze. -void AnimTask_Haze1(u8 taskId) +// Adds moving foggy overlay. Used by Haze. +void AnimTask_HazeScrollingFog(u8 taskId) { struct BattleAnimBgData animBg; @@ -999,13 +1000,13 @@ void AnimTask_Haze1(u8 taskId) sub_80A6B30(&animBg); LoadBgTiles(animBg.bgId, gWeatherFogHorizontalTiles, 0x800, animBg.tilesOffset); - sub_80A6D60(&animBg, gBattleAnimFogTilemap, 0); + AnimLoadCompressedBgTilemapHandleContest(&animBg, gBattleAnimFogTilemap, 0); LoadPalette(&gUnknown_083970E8, animBg.paletteId * 16, 32); gTasks[taskId].func = AnimTask_Haze2; } -void AnimTask_Haze2(u8 taskId) +static void AnimTask_Haze2(u8 taskId) { struct BattleAnimBgData animBg; @@ -1019,7 +1020,7 @@ void AnimTask_Haze2(u8 taskId) { gTasks[taskId].data[10] = 0; gTasks[taskId].data[9]++; - gTasks[taskId].data[11] = gUnknown_08595C5C[gTasks[taskId].data[9]]; + gTasks[taskId].data[11] = sUnknown_08595C5C[gTasks[taskId].data[9]]; SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(gTasks[taskId].data[11], 16 - gTasks[taskId].data[11])); if (gTasks[taskId].data[11] == 9) @@ -1079,7 +1080,7 @@ void AnimTask_Haze2(u8 taskId) // arg 3: target y offset // arg 4: duration // arg 5: ??? unknown (seems to vibrate target mon somehow) -void AnimThrowMistBall(struct Sprite *sprite) +static void AnimThrowMistBall(struct Sprite *sprite) { sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2); sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET); @@ -1106,14 +1107,14 @@ void AnimTask_LoadMistTiles(u8 taskId) sub_80A6B30(&animBg); LoadBgTiles(animBg.bgId, gWeatherFogHorizontalTiles, 0x800, animBg.tilesOffset); - sub_80A6D60(&animBg, gBattleAnimFogTilemap, 0); + AnimLoadCompressedBgTilemapHandleContest(&animBg, gBattleAnimFogTilemap, 0); LoadPalette(&gUnknown_083970E8, animBg.paletteId * 16, 32); gTasks[taskId].data[15] = -1; gTasks[taskId].func = AnimTask_OverlayFogTiles; } -void AnimTask_OverlayFogTiles(u8 taskId) +static void AnimTask_OverlayFogTiles(u8 taskId) { struct BattleAnimBgData animBg; @@ -1124,7 +1125,7 @@ void AnimTask_OverlayFogTiles(u8 taskId) { case 0: gTasks[taskId].data[9] += 1; - gTasks[taskId].data[11] = gUnknown_08595C88[gTasks[taskId].data[9]]; + gTasks[taskId].data[11] = sUnknown_08595C88[gTasks[taskId].data[9]]; SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(gTasks[taskId].data[11], 17 - gTasks[taskId].data[11])); if (gTasks[taskId].data[11] == 5) { @@ -1183,7 +1184,7 @@ void AnimTask_OverlayFogTiles(u8 taskId) // arg 5: ??? unknown // arg 6: ??? unknown // arg 7: ??? unknown boolean -void InitPoisonGasCloudAnim(struct Sprite *sprite) +static void InitPoisonGasCloudAnim(struct Sprite *sprite) { sprite->data[0] = gBattleAnimArgs[0]; @@ -1230,7 +1231,7 @@ void InitPoisonGasCloudAnim(struct Sprite *sprite) sprite->callback = MovePoisonGasCloud; } -void MovePoisonGasCloud(struct Sprite *sprite) +static void MovePoisonGasCloud(struct Sprite *sprite) { int value; @@ -1329,15 +1330,14 @@ void MovePoisonGasCloud(struct Sprite *sprite) } } -// Creates Hail. -void AnimTask_Hail1(u8 taskId) +void AnimTask_Hail(u8 taskId) { struct Task *task = &gTasks[taskId]; task->func = AnimTask_Hail2; } -void AnimTask_Hail2(u8 taskId) +static void AnimTask_Hail2(u8 taskId) { struct Task *task = &gTasks[taskId]; switch (task->data[0]) @@ -1382,17 +1382,17 @@ void AnimTask_Hail2(u8 taskId) } } -bool8 GenerateHailParticle(u8 hailStructId, u8 affineAnimNum, u8 taskId, u8 c) +static bool8 GenerateHailParticle(u8 hailStructId, u8 affineAnimNum, u8 taskId, u8 c) { u8 id; s16 battlerX, battlerY; s16 spriteX; bool8 possibleBool = FALSE; - s8 unk = gUnknown_08595CB4[hailStructId].unk3; + s8 unk = sHailCoordData[hailStructId].unk3; if (unk != 2) { - id = GetBattlerAtPosition(gUnknown_08595CB4[hailStructId].unk2); + id = GetBattlerAtPosition(sHailCoordData[hailStructId].bPosition); if (IsBattlerSpriteVisible(id)) { possibleBool = TRUE; @@ -1412,17 +1412,17 @@ bool8 GenerateHailParticle(u8 hailStructId, u8 affineAnimNum, u8 taskId, u8 c) } else { - battlerX = (gUnknown_08595CB4[hailStructId].unk0); - battlerY = (gUnknown_08595CB4[hailStructId].unk1); + battlerX = (sHailCoordData[hailStructId].x); + battlerY = (sHailCoordData[hailStructId].y); } } else { - battlerX = (gUnknown_08595CB4[hailStructId].unk0); - battlerY = (gUnknown_08595CB4[hailStructId].unk1); + battlerX = (sHailCoordData[hailStructId].x); + battlerY = (sHailCoordData[hailStructId].y); } spriteX = battlerX - ((battlerY + 8) / 2); - id = CreateSprite(&gUnknown_08595D2C, spriteX, -8, 18); + id = CreateSprite(&gHailParticleSpriteTemplate, spriteX, -8, 18); if (id == MAX_SPRITES) { return FALSE; @@ -1440,7 +1440,7 @@ bool8 GenerateHailParticle(u8 hailStructId, u8 affineAnimNum, u8 taskId, u8 c) } } -void AnimHailBegin(struct Sprite *sprite) +static void AnimHailBegin(struct Sprite *sprite) { u8 spriteId; @@ -1452,7 +1452,7 @@ void AnimHailBegin(struct Sprite *sprite) if (sprite->data[0] == 1 && sprite->data[5] == 0) { - spriteId = CreateSprite(&gUnknown_08595B68, + spriteId = CreateSprite(&gIceCrystalHitLargeSpriteTemplate, sprite->data[3], sprite->data[4], sprite->subpriority); sprite->data[0] = spriteId; @@ -1474,7 +1474,7 @@ void AnimHailBegin(struct Sprite *sprite) } } -void AnimHailContinue(struct Sprite *sprite) +static void AnimHailContinue(struct Sprite *sprite) { if (++sprite->data[0] == 20) { @@ -1491,7 +1491,7 @@ void AnimHailContinue(struct Sprite *sprite) // arg 3: target y offset // arg 4: duration // arg 5: arc height (negative) -void InitIceBallAnim(struct Sprite *sprite) +static void InitIceBallAnim(struct Sprite *sprite) { u8 animNum = gAnimDisableStructPtr->rolloutTimerStartValue - gAnimDisableStructPtr->rolloutTimer - 1; @@ -1516,7 +1516,7 @@ void InitIceBallAnim(struct Sprite *sprite) } // Throws the ball of ice in Ice Ball. -void AnimThrowIceBall(struct Sprite *sprite) +static void AnimThrowIceBall(struct Sprite *sprite) { if (!TranslateAnimHorizontalArc(sprite)) return; @@ -1527,7 +1527,7 @@ void AnimThrowIceBall(struct Sprite *sprite) } // Initializes the particles that scatter at the end of the Ice Ball animation. -void InitIceBallParticle(struct Sprite *sprite) +static void InitIceBallParticle(struct Sprite *sprite) { s16 randA, randB; @@ -1546,7 +1546,7 @@ void InitIceBallParticle(struct Sprite *sprite) } // Animates the particles created by InitIceBallParticle. -void AnimIceBallParticle(struct Sprite *sprite) +static void AnimIceBallParticle(struct Sprite *sprite) { sprite->data[3] += sprite->data[1]; sprite->data[4] += sprite->data[2]; @@ -1562,8 +1562,7 @@ void AnimIceBallParticle(struct Sprite *sprite) DestroyAnimSprite(sprite); } -// Counter for Ice Ball. -void AnimTask_GetRolloutCounter(u8 taskId) +void AnimTask_GetIceBallCounter(u8 taskId) { u8 arg = gBattleAnimArgs[0]; diff --git a/src/battle_anim_mon_movement.c b/src/battle_anim_mon_movement.c index 250a0459f..e789e4680 100644 --- a/src/battle_anim_mon_movement.c +++ b/src/battle_anim_mon_movement.c @@ -6,27 +6,27 @@ #include "trig.h" // This file's functions. -void AnimTask_ShakeMonStep(u8 taskId); -void AnimTask_ShakeMon2Step(u8 taskId); -void AnimTask_ShakeMonInPlaceStep(u8 taskId); -void AnimTask_ShakeAndSinkMonStep(u8 taskId); -void sub_80D57B8(u8 taskId); +static void AnimTask_ShakeMon_Step(u8 taskId); +static void AnimTask_ShakeMon2_Step(u8 taskId); +static void AnimTask_ShakeMonInPlace_Step(u8 taskId); +static void AnimTask_ShakeAndSinkMon_Step(u8 taskId); +static void AnimTask_TranslateMonElliptical_Step(u8 taskId); static void DoHorizontalLunge(struct Sprite *sprite); static void ReverseHorizontalLungeDirection(struct Sprite *sprite); static void DoVerticalDip(struct Sprite *sprite); static void ReverseVerticalDipDirection(struct Sprite* sprite); static void SlideMonToOriginalPos(struct Sprite *sprite); -static void SlideMonToOriginalPosStep(struct Sprite *sprite); +static void SlideMonToOriginalPos_Step(struct Sprite *sprite); static void SlideMonToOffset(struct Sprite *sprite); -static void sub_80D5B48(struct Sprite *sprite); -static void sub_80D5C20(struct Sprite *sprite); -void AnimTask_WindUpLungePart1(u8 taskId); -void AnimTask_WindUpLungePart2(u8 taskId); -void AnimTask_SwayMonStep(u8 taskId); -void AnimTask_ScaleMonAndRestoreStep(u8 taskId); -void sub_80D6308(u8 taskId); -void sub_80D646C(u8 taskId); -void sub_80A8B3C(u8 taskId); +static void SlideMonToOffsetAndBack(struct Sprite *sprite); +static void SlideMonToOffsetAndBack_End(struct Sprite *sprite); +static void AnimTask_WindUpLunge_Step1(u8 taskId); +static void AnimTask_WindUpLunge_Step2(u8 taskId); +static void AnimTask_SwayMonStep(u8 taskId); +static void AnimTask_ScaleMonAndRestore_Step(u8 taskId); +static void AnimTask_RotateMonSpriteToSide_Step(u8 taskId); +static void AnimTask_ShakeTargetBasedOnMovePowerOrDmg_Step(u8 taskId); +static void AnimTask_SlideOffScreen_Step(u8 taskId); const struct SpriteTemplate gHorizontalLungeSpriteTemplate = { @@ -72,7 +72,7 @@ const struct SpriteTemplate gSlideMonToOffsetSpriteTemplate = .callback = SlideMonToOffset, }; -const struct SpriteTemplate gUnknown_0857FE88 = +const struct SpriteTemplate gSlideMonToOffsetAndBackSpriteTemplate = { .tileTag = 0, .paletteTag = 0, @@ -80,7 +80,7 @@ const struct SpriteTemplate gUnknown_0857FE88 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80D5B48, + .callback = SlideMonToOffsetAndBack, }; // Task to facilitate simple shaking of a pokemon's picture in battle. @@ -107,11 +107,11 @@ void AnimTask_ShakeMon(u8 taskId) gTasks[taskId].data[3] = gBattleAnimArgs[4]; gTasks[taskId].data[4] = gBattleAnimArgs[1]; gTasks[taskId].data[5] = gBattleAnimArgs[2]; - gTasks[taskId].func = AnimTask_ShakeMonStep; - AnimTask_ShakeMonStep(taskId); + gTasks[taskId].func = AnimTask_ShakeMon_Step; + AnimTask_ShakeMon_Step(taskId); } -void AnimTask_ShakeMonStep(u8 taskId) +static void AnimTask_ShakeMon_Step(u8 taskId) { if (gTasks[taskId].data[3] == 0) { @@ -159,7 +159,7 @@ void AnimTask_ShakeMon2(u8 taskId) bool8 destroy = FALSE; u8 battlerId; - if (gBattleAnimArgs[0] < 4) + if (gBattleAnimArgs[0] < MAX_BATTLERS_COUNT) { spriteId = GetAnimBattlerSpriteId(gBattleAnimArgs[0]); if (spriteId == 0xff) @@ -211,11 +211,11 @@ void AnimTask_ShakeMon2(u8 taskId) gTasks[taskId].data[3] = gBattleAnimArgs[4]; gTasks[taskId].data[4] = gBattleAnimArgs[1]; gTasks[taskId].data[5] = gBattleAnimArgs[2]; - gTasks[taskId].func = AnimTask_ShakeMon2Step; + gTasks[taskId].func = AnimTask_ShakeMon2_Step; gTasks[taskId].func(taskId); } -void AnimTask_ShakeMon2Step(u8 taskId) +static void AnimTask_ShakeMon2_Step(u8 taskId) { if (gTasks[taskId].data[3] == 0) { @@ -270,11 +270,11 @@ void AnimTask_ShakeMonInPlace(u8 taskId) gTasks[taskId].data[4] = gBattleAnimArgs[4]; gTasks[taskId].data[5] = gBattleAnimArgs[1] * 2; gTasks[taskId].data[6] = gBattleAnimArgs[2] * 2; - gTasks[taskId].func = AnimTask_ShakeMonInPlaceStep; + gTasks[taskId].func = AnimTask_ShakeMonInPlace_Step; gTasks[taskId].func(taskId); } -void AnimTask_ShakeMonInPlaceStep(u8 taskId) +static void AnimTask_ShakeMonInPlace_Step(u8 taskId) { if (gTasks[taskId].data[3] == 0) { @@ -326,11 +326,11 @@ void AnimTask_ShakeAndSinkMon(u8 taskId) gTasks[taskId].data[2] = gBattleAnimArgs[2]; gTasks[taskId].data[3] = gBattleAnimArgs[3]; gTasks[taskId].data[4] = gBattleAnimArgs[4]; - gTasks[taskId].func = AnimTask_ShakeAndSinkMonStep; + gTasks[taskId].func = AnimTask_ShakeAndSinkMon_Step; gTasks[taskId].func(taskId); } -void AnimTask_ShakeAndSinkMonStep(u8 taskId) +static void AnimTask_ShakeAndSinkMon_Step(u8 taskId) { s16 x; u8 spriteId; @@ -383,11 +383,11 @@ void AnimTask_TranslateMonElliptical(u8 taskId) gTasks[taskId].data[2] = gBattleAnimArgs[2]; gTasks[taskId].data[3] = gBattleAnimArgs[3]; gTasks[taskId].data[4] = wavePeriod; - gTasks[taskId].func = sub_80D57B8; + gTasks[taskId].func = AnimTask_TranslateMonElliptical_Step; gTasks[taskId].func(taskId); } -void sub_80D57B8(u8 taskId) +static void AnimTask_TranslateMonElliptical_Step(u8 taskId) { u8 spriteId = gTasks[taskId].data[0]; gSprites[spriteId].pos2.x = Sin(gTasks[taskId].data[5], gTasks[taskId].data[1]); @@ -511,10 +511,10 @@ static void SlideMonToOriginalPos(struct Sprite *sprite) sprite->data[7] = gBattleAnimArgs[1]; sprite->data[7] |= monSpriteId << 8; - sprite->callback = SlideMonToOriginalPosStep; + sprite->callback = SlideMonToOriginalPos_Step; } -static void SlideMonToOriginalPosStep(struct Sprite *sprite) +static void SlideMonToOriginalPos_Step(struct Sprite *sprite) { s8 monSpriteId; u8 lo; @@ -584,19 +584,17 @@ static void SlideMonToOffset(struct Sprite *sprite) sprite->callback = TranslateMonSpriteLinearFixedPoint; } -static void sub_80D5B48(struct Sprite *sprite) +static void SlideMonToOffsetAndBack(struct Sprite *sprite) { u8 spriteId; u8 battlerId; sprite->invisible = TRUE; - if (!gBattleAnimArgs[0]) - { + + if (gBattleAnimArgs[0] == ANIM_ATTACKER) battlerId = gBattleAnimAttacker; - } else - { battlerId = gBattleAnimTarget; - } + spriteId = gBattlerSpriteIds[battlerId]; if (GetBattlerSide(battlerId)) { @@ -622,13 +620,13 @@ static void sub_80D5B48(struct Sprite *sprite) } else { - StoreSpriteCallbackInData6(sprite, sub_80D5C20); + StoreSpriteCallbackInData6(sprite, SlideMonToOffsetAndBack_End); } sprite->callback = TranslateMonSpriteLinearFixedPoint; } -static void sub_80D5C20(struct Sprite *sprite) +static void SlideMonToOffsetAndBack_End(struct Sprite *sprite) { gSprites[sprite->data[5]].pos2.x = 0; gSprites[sprite->data[5]].pos2.y = 0; @@ -661,10 +659,10 @@ void AnimTask_WindUpLunge(u8 taskId) gTasks[taskId].data[5] = (gBattleAnimArgs[5] << 8) / gBattleAnimArgs[6]; gTasks[taskId].data[6] = gBattleAnimArgs[6]; gTasks[taskId].data[7] = wavePeriod; - gTasks[taskId].func = AnimTask_WindUpLungePart1; + gTasks[taskId].func = AnimTask_WindUpLunge_Step1; } -void AnimTask_WindUpLungePart1(u8 taskId) +static void AnimTask_WindUpLunge_Step1(u8 taskId) { u8 spriteId; spriteId = gTasks[taskId].data[0]; @@ -674,11 +672,11 @@ void AnimTask_WindUpLungePart1(u8 taskId) gTasks[taskId].data[10] += gTasks[taskId].data[7]; if (--gTasks[taskId].data[3] == 0) { - gTasks[taskId].func = AnimTask_WindUpLungePart2; + gTasks[taskId].func = AnimTask_WindUpLunge_Step2; } } -void AnimTask_WindUpLungePart2(u8 taskId) +static void AnimTask_WindUpLunge_Step2(u8 taskId) { u8 spriteId; if (gTasks[taskId].data[4] > 0) @@ -698,16 +696,17 @@ void AnimTask_WindUpLungePart2(u8 taskId) } } -void sub_80D5DB0(u8 taskId) +// To move a mon off-screen when pushed out by Roar/Whirlwind +void AnimTask_SlideOffScreen(u8 taskId) { u8 spriteId; switch (gBattleAnimArgs[0]) { - case 0: - case 1: + case ANIM_ATTACKER: + case ANIM_TARGET: spriteId = GetAnimBattlerSpriteId(gBattleAnimArgs[0]); break; - case 2: + case ANIM_ATK_PARTNER: if (!IsBattlerSpriteVisible(BATTLE_PARTNER(gBattleAnimAttacker))) { DestroyAnimVisualTask(taskId); @@ -715,7 +714,7 @@ void sub_80D5DB0(u8 taskId) } spriteId = gBattlerSpriteIds[BATTLE_PARTNER(gBattleAnimAttacker)]; break; - case 3: + case ANIM_DEF_PARTNER: if (!IsBattlerSpriteVisible(BATTLE_PARTNER(gBattleAnimTarget))) { DestroyAnimVisualTask(taskId); @@ -736,10 +735,10 @@ void sub_80D5DB0(u8 taskId) { gTasks[taskId].data[1] = -gBattleAnimArgs[1]; } - gTasks[taskId].func = sub_80A8B3C; + gTasks[taskId].func = AnimTask_SlideOffScreen_Step; } -void sub_80A8B3C(u8 taskId) +static void AnimTask_SlideOffScreen_Step(u8 taskId) { u8 spriteId = gTasks[taskId].data[0]; gSprites[spriteId].pos2.x += gTasks[taskId].data[1]; @@ -780,7 +779,7 @@ void AnimTask_SwayMon(u8 taskId) gTasks[taskId].func = AnimTask_SwayMonStep; } -void AnimTask_SwayMonStep(u8 taskId) +static void AnimTask_SwayMonStep(u8 taskId) { s16 sineValue; u8 spriteId; @@ -842,10 +841,10 @@ void AnimTask_ScaleMonAndRestore(u8 taskId) gTasks[taskId].data[4] = spriteId; gTasks[taskId].data[10] = 0x100; gTasks[taskId].data[11] = 0x100; - gTasks[taskId].func = AnimTask_ScaleMonAndRestoreStep; + gTasks[taskId].func = AnimTask_ScaleMonAndRestore_Step; } -void AnimTask_ScaleMonAndRestoreStep(u8 taskId) +static void AnimTask_ScaleMonAndRestore_Step(u8 taskId) { u8 spriteId; gTasks[taskId].data[10] += gTasks[taskId].data[0]; @@ -870,7 +869,7 @@ void AnimTask_ScaleMonAndRestoreStep(u8 taskId) } } -void sub_80D6134(u8 taskId) +void AnimTask_RotateMonSpriteToSide(u8 taskId) { u8 spriteId; spriteId = GetAnimBattlerSpriteId(gBattleAnimArgs[2]); @@ -911,17 +910,18 @@ void sub_80D6134(u8 taskId) gTasks[taskId].data[4] *= -1; } } - gTasks[taskId].func = sub_80D6308; + gTasks[taskId].func = AnimTask_RotateMonSpriteToSide_Step; } -void sub_80D622C(u8 taskId) +// Rotates mon to side and back to original position. For Peck and when a held item activates +void AnimTask_RotateMonToSideAndRestore(u8 taskId) { u8 spriteId; spriteId = GetAnimBattlerSpriteId(gBattleAnimArgs[2]); PrepareBattlerSpriteForRotScale(spriteId, ST_OAM_OBJ_NORMAL); gTasks[taskId].data[1] = 0; gTasks[taskId].data[2] = gBattleAnimArgs[0]; - if (gBattleAnimArgs[2] == 0) + if (gBattleAnimArgs[2] == ANIM_ATTACKER) { if (GetBattlerSide(gBattleAnimAttacker)) { @@ -949,10 +949,10 @@ void sub_80D622C(u8 taskId) gTasks[taskId].data[7] = 1; gTasks[taskId].data[3] *= -1; gTasks[taskId].data[4] *= -1; - gTasks[taskId].func = sub_80D6308; + gTasks[taskId].func = AnimTask_RotateMonSpriteToSide_Step; } -void sub_80D6308(u8 taskId) +static void AnimTask_RotateMonSpriteToSide_Step(u8 taskId) { gTasks[taskId].data[3] += gTasks[taskId].data[4]; SetSpriteRotScale(gTasks[taskId].data[5], 0x100, 0x100, gTasks[taskId].data[3]); @@ -979,7 +979,7 @@ void sub_80D6308(u8 taskId) } } -void sub_80D6388(u8 taskId) +void AnimTask_ShakeTargetBasedOnMovePowerOrDmg(u8 taskId) { if (!gBattleAnimArgs[0]) { @@ -1010,16 +1010,16 @@ void sub_80D6388(u8 taskId) gTasks[taskId].data[12] = 0; gTasks[taskId].data[10] = gBattleAnimArgs[3]; gTasks[taskId].data[11] = gBattleAnimArgs[4]; - gTasks[taskId].data[7] = GetAnimBattlerSpriteId(1); + gTasks[taskId].data[7] = GetAnimBattlerSpriteId(ANIM_TARGET); gTasks[taskId].data[8] = gSprites[gTasks[taskId].data[7]].pos2.x; gTasks[taskId].data[9] = gSprites[gTasks[taskId].data[7]].pos2.y; gTasks[taskId].data[0] = 0; gTasks[taskId].data[1] = gBattleAnimArgs[1]; gTasks[taskId].data[2] = gBattleAnimArgs[2]; - gTasks[taskId].func = sub_80D646C; + gTasks[taskId].func = AnimTask_ShakeTargetBasedOnMovePowerOrDmg_Step; } -void sub_80D646C(u8 taskId) +static void AnimTask_ShakeTargetBasedOnMovePowerOrDmg_Step(u8 taskId) { struct Task *task = &gTasks[taskId]; if (++task->data[0] > task->data[1]) diff --git a/src/battle_anim_mons.c b/src/battle_anim_mons.c index b356d57e0..861c5f6ca 100644 --- a/src/battle_anim_mons.c +++ b/src/battle_anim_mons.c @@ -34,7 +34,7 @@ static void AnimThrowProjectile_Step(struct Sprite *sprite); static void sub_80A8DFC(struct Sprite *sprite); static void sub_80A8E88(struct Sprite *sprite); static u16 GetBattlerYDeltaFromSpriteId(u8 spriteId); -static void AnimTask_BlendMonInAndOutSetup(struct Task *task); +static void AnimTask_BlendPalInAndOutSetup(struct Task *task); static void sub_80A7AFC(u8 taskId); static void sub_80A8CAC(u8 taskId); static void AnimTask_BlendMonInAndOutStep(u8 taskId); @@ -958,7 +958,7 @@ void AnimLoadCompressedBgTilemap(u32 bgId, const void *src) CopyBgTilemapBufferToVram(bgId); } -void sub_80A6D60(struct BattleAnimBgData *unk, const void *src, u32 arg2) +void AnimLoadCompressedBgTilemapHandleContest(struct BattleAnimBgData *unk, const void *src, u32 arg2) { InitAnimBgTilemapBuffer(unk->bgId, src); if (IsContest() == TRUE) @@ -1532,7 +1532,7 @@ static void AnimThrowProjectile_Step(struct Sprite *sprite) DestroyAnimSprite(sprite); } -void AnimSnoreZ(struct Sprite *sprite) +void AnimTravelDiagonally(struct Sprite *sprite) { bool8 r4; u8 battlerId, coordType; @@ -1547,7 +1547,7 @@ void AnimSnoreZ(struct Sprite *sprite) r4 = FALSE; coordType = BATTLER_COORD_Y; } - if (!gBattleAnimArgs[5]) + if (gBattleAnimArgs[5] == ANIM_ATTACKER) { InitSpritePosToAnimAttacker(sprite, r4); battlerId = gBattleAnimAttacker; @@ -1594,7 +1594,8 @@ void obj_delete_but_dont_free_vram(struct Sprite *sprite) DestroySprite(sprite); } -void sub_80A7A74(u8 taskId) +// Only used to fade Moonlight moon sprite in +void AnimTask_AlphaFadeIn(u8 taskId) { s16 v1 = 0; s16 v2 = 0; @@ -1663,10 +1664,10 @@ void AnimTask_BlendMonInAndOut(u8 task) return; } gTasks[task].data[0] = (gSprites[spriteId].oam.paletteNum * 0x10) + 0x101; - AnimTask_BlendMonInAndOutSetup(&gTasks[task]); + AnimTask_BlendPalInAndOutSetup(&gTasks[task]); } -static void AnimTask_BlendMonInAndOutSetup(struct Task *task) +static void AnimTask_BlendPalInAndOutSetup(struct Task *task) { task->data[1] = gBattleAnimArgs[1]; task->data[2] = 0; @@ -1713,7 +1714,8 @@ static void AnimTask_BlendMonInAndOutStep(u8 taskId) } } -void sub_80A7CB4(u8 task) +// See AnimTask_BlendMonInAndOut. Same, but ANIM_TAG_* instead of mon +void AnimTask_BlendPalInAndOutByTag(u8 task) { u8 palette = IndexOfSpritePaletteTag(gBattleAnimArgs[0]); @@ -1723,7 +1725,7 @@ void sub_80A7CB4(u8 task) return; } gTasks[task].data[0] = (palette * 0x10) + 0x101; - AnimTask_BlendMonInAndOutSetup(&gTasks[task]); + AnimTask_BlendPalInAndOutSetup(&gTasks[task]); } void PrepareAffineAnimInTaskData(struct Task *task, u8 spriteId, const union AffineAnimCmd *affineAnimCmds) @@ -1944,7 +1946,7 @@ void AnimTask_GetFrustrationPowerLevel(u8 taskId) powerLevel = 2; else powerLevel = 3; - gBattleAnimArgs[7] = powerLevel; + gBattleAnimArgs[ARG_RET_ID] = powerLevel; DestroyAnimVisualTask(taskId); } @@ -2033,20 +2035,20 @@ u8 sub_80A8394(u16 species, bool8 isBackpic, u8 a3, s16 x, s16 y, u8 subpriority u16 sheet = LoadSpriteSheet(&sUnknown_08525FC0[a3]); u16 palette = AllocSpritePalette(sUnknown_08525F90[a3].paletteTag); - if (gMonSpritesGfxPtr != NULL && gMonSpritesGfxPtr->field_17C == NULL) - gMonSpritesGfxPtr->field_17C = AllocZeroed(0x2000); + if (gMonSpritesGfxPtr != NULL && gMonSpritesGfxPtr->buffer == NULL) + gMonSpritesGfxPtr->buffer = AllocZeroed(0x2000); if (!isBackpic) { LoadCompressedPalette(GetMonSpritePalFromSpeciesAndPersonality(species, trainerId, personality), (palette * 0x10) + 0x100, 0x20); if (a10 == 1 || sub_80688F8(5, battlerId) == 1 || gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies != 0) LoadSpecialPokePic_DontHandleDeoxys(&gMonFrontPicTable[species], - gMonSpritesGfxPtr->field_17C, + gMonSpritesGfxPtr->buffer, species, personality, TRUE); else LoadSpecialPokePic_2(&gMonFrontPicTable[species], - gMonSpritesGfxPtr->field_17C, + gMonSpritesGfxPtr->buffer, species, personality, TRUE); @@ -2056,20 +2058,20 @@ u8 sub_80A8394(u16 species, bool8 isBackpic, u8 a3, s16 x, s16 y, u8 subpriority LoadCompressedPalette(GetMonSpritePalFromSpeciesAndPersonality(species, trainerId, personality), (palette * 0x10) + 0x100, 0x20); if (a10 == 1 || sub_80688F8(5, battlerId) == 1 || gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies != 0) LoadSpecialPokePic_DontHandleDeoxys(&gMonBackPicTable[species], - gMonSpritesGfxPtr->field_17C, + gMonSpritesGfxPtr->buffer, species, personality, FALSE); else LoadSpecialPokePic_2(&gMonBackPicTable[species], - gMonSpritesGfxPtr->field_17C, + gMonSpritesGfxPtr->buffer, species, personality, FALSE); } - RequestDma3Copy(gMonSpritesGfxPtr->field_17C, (void *)(OBJ_VRAM0 + (sheet * 0x20)), 0x800, 1); - FREE_AND_SET_NULL(gMonSpritesGfxPtr->field_17C); + RequestDma3Copy(gMonSpritesGfxPtr->buffer, (void *)(OBJ_VRAM0 + (sheet * 0x20)), 0x800, 1); + FREE_AND_SET_NULL(gMonSpritesGfxPtr->buffer); if (!isBackpic) spriteId = CreateSprite(&sUnknown_08525F90[a3], x, y + gMonFrontPicCoords[species].y_offset, subpriority); @@ -2316,7 +2318,8 @@ void sub_80A8AEC(struct Sprite *sprite) sprite->callback = TranslateSpriteLinearAndFlicker; } -void sub_80A8B64(struct Sprite *sprite) +// Used by Detect/Disable +void AnimSpinningSparkle(struct Sprite *sprite) { SetSpriteCoordsToAnimAttackerCoords(sprite); if (GetBattlerSide(gBattleAnimAttacker)) @@ -2328,7 +2331,10 @@ void sub_80A8B64(struct Sprite *sprite) StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); } -void sub_80A8BC4(u8 taskId) +// Slides attacker to right and back with a cloned trace of the specified color +// arg0: Trace palette blend color +// arg1: Trace palette blend coeff +void AnimTask_AttackerPunchWithTrace(u8 taskId) { u16 src; u16 dest; @@ -2412,7 +2418,7 @@ static void sub_80A8DFC(struct Sprite *sprite) } } -void sub_80A8E30(struct Sprite *sprite) +void AnimWeatherBallUp(struct Sprite *sprite) { sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2); sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET); @@ -2436,7 +2442,7 @@ static void sub_80A8E88(struct Sprite *sprite) DestroyAnimSprite(sprite); } -void sub_80A8EE4(struct Sprite *sprite) +void AnimWeatherBallDown(struct Sprite *sprite) { int x; sprite->data[0] = gBattleAnimArgs[2]; diff --git a/src/normal.c b/src/battle_anim_normal.c index 7864dd9a3..f7df9a4a9 100644 --- a/src/normal.c +++ b/src/battle_anim_normal.c @@ -6,37 +6,36 @@ #include "trig.h" #include "constants/rgb.h" -void AnimConfusionDuck(struct Sprite *); -void AnimSimplePaletteBlend(struct Sprite *); -u32 UnpackSelectedBattleAnimPalettes(s16); -void sub_81158A4(struct Sprite *); -void sub_81159B4(struct Sprite *); -void sub_81160A4(struct Sprite *); -void sub_8116388(struct Sprite *); -void sub_8116420(struct Sprite *); -void sub_8116458(struct Sprite *); -void sub_81164F0(struct Sprite *); -void sub_8116560(struct Sprite *); -void sub_81165A8(struct Sprite *); -static void AnimConfusionDuckStep(struct Sprite *); -static void AnimSimplePaletteBlendStep(struct Sprite *); -static void sub_81158F8(struct Sprite *); -static void sub_8115984(struct Sprite *); -static void sub_8115A54(u8, u8, u8); -static void sub_8115AA4(u8); -static void sub_8115BC8(u8, u8, u8); -static void sub_8115C18(u8); -static void sub_8115CD0(u8, u8, u8); -static void sub_8115D2C(u8); -static void sub_8115E00(u8); -static void sub_8115EB8(u8); -static void sub_8116148(struct Sprite *); -static void sub_81161F4(void); -static void sub_81162F8(u8); -static void sub_81163D0(struct Sprite *); -static void sub_81165E4(struct Sprite *); - -const union AnimCmd gUnknown_0859722C[] = +static void AnimConfusionDuck(struct Sprite *); +static void AnimSimplePaletteBlend(struct Sprite *); +static void AnimSimplePaletteBlend_Step(struct Sprite *); +static void AnimComplexPaletteBlend(struct Sprite *); +static void AnimComplexPaletteBlend_Step1(struct Sprite *); +static void AnimComplexPaletteBlend_Step2(struct Sprite *); +static void sub_81159B4(struct Sprite *); +static void AnimShakeMonOrBattleTerrain(struct Sprite *); +static void AnimShakeMonOrBattleTerrain_Step(struct Sprite *); +static void AnimShakeMonOrBattleTerrain_UpdateCoordOffsetEnabled(void); +static void AnimHitSplatBasic(struct Sprite *); +static void AnimHitSplatPersistent(struct Sprite *); +static void AnimHitSplatHandleInvert(struct Sprite *); +static void AnimHitSplatRandom(struct Sprite *); +static void AnimHitSplatOnMonEdge(struct Sprite *); +static void AnimCrossImpact(struct Sprite *); +static void AnimFlashingHitSplat(struct Sprite *); +static void AnimFlashingHitSplat_Step(struct Sprite *); +static void AnimConfusionDuck_Step(struct Sprite *); +static void BlendColorCycle(u8, u8, u8); +static void AnimTask_BlendColorCycleLoop(u8); +static void BlendColorCycleExclude(u8, u8, u8); +static void AnimTask_BlendColorCycleExcludeLoop(u8); +static void BlendColorCycleByTag(u8, u8, u8); +static void AnimTask_BlendColorCycleByTagLoop(u8); +static void AnimTask_FlashAnimTagWithColor_Step1(u8); +static void AnimTask_FlashAnimTagWithColor_Step2(u8); +static void AnimTask_ShakeBattleTerrain_Step(u8); + +static const union AnimCmd sAnim_ConfusionDuck_0[] = { ANIMCMD_FRAME(0, 8), ANIMCMD_FRAME(4, 8), @@ -45,7 +44,7 @@ const union AnimCmd gUnknown_0859722C[] = ANIMCMD_JUMP(0), }; -const union AnimCmd gUnknown_08597240[] = +static const union AnimCmd sAnim_ConfusionDuck_1[] = { ANIMCMD_FRAME(0, 8, .hFlip = TRUE), ANIMCMD_FRAME(4, 8), @@ -54,10 +53,10 @@ const union AnimCmd gUnknown_08597240[] = ANIMCMD_JUMP(0), }; -const union AnimCmd *const gUnknown_08597254[] = +static const union AnimCmd *const sAnims_ConfusionDuck[] = { - gUnknown_0859722C, - gUnknown_08597240, + sAnim_ConfusionDuck_0, + sAnim_ConfusionDuck_1, }; const struct SpriteTemplate gConfusionDuckSpriteTemplate = @@ -65,7 +64,7 @@ const struct SpriteTemplate gConfusionDuckSpriteTemplate = .tileTag = ANIM_TAG_DUCK, .paletteTag = ANIM_TAG_DUCK, .oam = &gOamData_AffineOff_ObjNormal_16x16, - .anims = gUnknown_08597254, + .anims = sAnims_ConfusionDuck, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimConfusionDuck, @@ -90,10 +89,10 @@ const struct SpriteTemplate gComplexPaletteBlendSpriteTemplate = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_81158A4, + .callback = AnimComplexPaletteBlend, }; -const union AnimCmd gUnknown_085972A4[] = +static const union AnimCmd gUnknown_085972A4[] = { ANIMCMD_FRAME(0, 3), ANIMCMD_FRAME(16, 3), @@ -103,11 +102,12 @@ const union AnimCmd gUnknown_085972A4[] = ANIMCMD_JUMP(0), }; -const union AnimCmd *const gUnknown_085972BC[] = +static const union AnimCmd *const gUnknown_085972BC[] = { gUnknown_085972A4, }; +// Unused const struct SpriteTemplate gUnknown_085972C0 = { .tileTag = ANIM_TAG_SPARKLE_4, @@ -119,7 +119,7 @@ const struct SpriteTemplate gUnknown_085972C0 = .callback = sub_81159B4, }; -const struct SpriteTemplate gBattleAnimSpriteTemplate_85972D8 = +const struct SpriteTemplate gShakeMonOrTerrainSpriteTemplate = { .tileTag = 0, .paletteTag = 0, @@ -127,42 +127,42 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_85972D8 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_81160A4, + .callback = AnimShakeMonOrBattleTerrain, }; -const union AffineAnimCmd gUnknown_085972F0[] = +static const union AffineAnimCmd sAffineAnim_HitSplat_0[] = { AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 8), AFFINEANIMCMD_END, }; -const union AffineAnimCmd gUnknown_08597300[] = +static const union AffineAnimCmd sAffineAnim_HitSplat_1[] = { AFFINEANIMCMD_FRAME(0xD8, 0xD8, 0, 0), AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 8), AFFINEANIMCMD_END, }; -const union AffineAnimCmd gUnknown_08597318[] = +static const union AffineAnimCmd sAffineAnim_HitSplat_2[] = { AFFINEANIMCMD_FRAME(0xB0, 0xB0, 0, 0), AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 8), AFFINEANIMCMD_END, }; -const union AffineAnimCmd gUnknown_08597330[] = +static const union AffineAnimCmd sAffineAnim_HitSplat_3[] = { AFFINEANIMCMD_FRAME(0x80, 0x80, 0, 0), AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 8), AFFINEANIMCMD_END, }; -const union AffineAnimCmd *const gUnknown_08597348[] = +static const union AffineAnimCmd *const sAffineAnims_HitSplat[] = { - gUnknown_085972F0, - gUnknown_08597300, - gUnknown_08597318, - gUnknown_08597330, + sAffineAnim_HitSplat_0, + sAffineAnim_HitSplat_1, + sAffineAnim_HitSplat_2, + sAffineAnim_HitSplat_3, }; const struct SpriteTemplate gBasicHitSplatSpriteTemplate = @@ -172,55 +172,55 @@ const struct SpriteTemplate gBasicHitSplatSpriteTemplate = .oam = &gOamData_AffineNormal_ObjBlend_32x32, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_08597348, - .callback = sub_8116388, + .affineAnims = sAffineAnims_HitSplat, + .callback = AnimHitSplatBasic, }; -const struct SpriteTemplate gBattleAnimSpriteTemplate_8597370 = +const struct SpriteTemplate gHandleInvertHitSplatSpriteTemplate = { .tileTag = ANIM_TAG_IMPACT, .paletteTag = ANIM_TAG_IMPACT, .oam = &gOamData_AffineNormal_ObjBlend_32x32, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_08597348, - .callback = sub_8116420, + .affineAnims = sAffineAnims_HitSplat, + .callback = AnimHitSplatHandleInvert, }; -const struct SpriteTemplate gUnknown_08597388 = +const struct SpriteTemplate gWaterHitSplatSpriteTemplate = { .tileTag = ANIM_TAG_WATER_IMPACT, .paletteTag = ANIM_TAG_WATER_IMPACT, .oam = &gOamData_AffineNormal_ObjBlend_32x32, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_08597348, - .callback = sub_8116388, + .affineAnims = sAffineAnims_HitSplat, + .callback = AnimHitSplatBasic, }; -const struct SpriteTemplate gUnknown_085973A0 = +const struct SpriteTemplate gRandomPosHitSplatSpriteTemplate = { .tileTag = ANIM_TAG_IMPACT, .paletteTag = ANIM_TAG_IMPACT, .oam = &gOamData_AffineNormal_ObjBlend_32x32, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_08597348, - .callback = sub_8116458, + .affineAnims = sAffineAnims_HitSplat, + .callback = AnimHitSplatRandom, }; -const struct SpriteTemplate gBattleAnimSpriteTemplate_85973B8 = +const struct SpriteTemplate gMonEdgeHitSplatSpriteTemplate = { .tileTag = ANIM_TAG_IMPACT, .paletteTag = ANIM_TAG_IMPACT, .oam = &gOamData_AffineNormal_ObjBlend_32x32, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_08597348, - .callback = sub_81164F0, + .affineAnims = sAffineAnims_HitSplat, + .callback = AnimHitSplatOnMonEdge, }; -const struct SpriteTemplate gUnknown_085973D0 = +const struct SpriteTemplate gCrossImpactSpriteTemplate = { .tileTag = ANIM_TAG_CROSS_IMPACT, .paletteTag = ANIM_TAG_CROSS_IMPACT, @@ -228,29 +228,29 @@ const struct SpriteTemplate gUnknown_085973D0 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_8116560, + .callback = AnimCrossImpact, }; -const struct SpriteTemplate gUnknown_085973E8 = +const struct SpriteTemplate gFlashingHitSplatSpriteTemplate = { .tileTag = ANIM_TAG_IMPACT, .paletteTag = ANIM_TAG_IMPACT, .oam = &gOamData_AffineNormal_ObjNormal_32x32, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_08597348, - .callback = sub_81165A8, + .affineAnims = sAffineAnims_HitSplat, + .callback = AnimFlashingHitSplat, }; -const struct SpriteTemplate gUnknown_08597400 = +const struct SpriteTemplate gPersistHitSplatSpriteTemplate = { .tileTag = ANIM_TAG_IMPACT, .paletteTag = ANIM_TAG_IMPACT, .oam = &gOamData_AffineNormal_ObjBlend_32x32, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_08597348, - .callback = sub_81163D0, + .affineAnims = sAffineAnims_HitSplat, + .callback = AnimHitSplatPersistent, }; // Moves a spinning duck around the mon's head. @@ -259,7 +259,7 @@ const struct SpriteTemplate gUnknown_08597400 = // arg 2: initial wave offset // arg 3: wave period (higher means faster wave) // arg 4: duration -void AnimConfusionDuck(struct Sprite *sprite) +static void AnimConfusionDuck(struct Sprite *sprite) { sprite->pos1.x += gBattleAnimArgs[0]; sprite->pos1.y += gBattleAnimArgs[1]; @@ -277,11 +277,11 @@ void AnimConfusionDuck(struct Sprite *sprite) } sprite->data[3] = gBattleAnimArgs[4]; - sprite->callback = AnimConfusionDuckStep; + sprite->callback = AnimConfusionDuck_Step; sprite->callback(sprite); } -static void AnimConfusionDuckStep(struct Sprite *sprite) +static void AnimConfusionDuck_Step(struct Sprite *sprite) { sprite->pos2.x = Cos(sprite->data[0], 30); sprite->pos2.y = Sin(sprite->data[0], 10); @@ -302,12 +302,12 @@ static void AnimConfusionDuckStep(struct Sprite *sprite) // arg 2: start blend amount // arg 3: end blend amount // arg 4: blend color -void AnimSimplePaletteBlend(struct Sprite *sprite) +static void AnimSimplePaletteBlend(struct Sprite *sprite) { u32 selectedPalettes = UnpackSelectedBattleAnimPalettes(gBattleAnimArgs[0]); BeginNormalPaletteFade(selectedPalettes, gBattleAnimArgs[1], gBattleAnimArgs[2], gBattleAnimArgs[3], gBattleAnimArgs[4]); - sprite->invisible = 1; - sprite->callback = AnimSimplePaletteBlendStep; + sprite->invisible = TRUE; + sprite->callback = AnimSimplePaletteBlend_Step; } // Unpacks a bitfield and returns a bitmask of its selected palettes. @@ -331,13 +331,13 @@ u32 UnpackSelectedBattleAnimPalettes(s16 selector) return sub_80A75AC(battleBackground, attacker, target, attackerPartner, targetPartner, arg5, arg6); } -static void AnimSimplePaletteBlendStep(struct Sprite *sprite) +static void AnimSimplePaletteBlend_Step(struct Sprite *sprite) { if (!gPaletteFade.active) DestroyAnimSprite(sprite); } -void sub_81158A4(struct Sprite *sprite) +static void AnimComplexPaletteBlend(struct Sprite *sprite) { u32 selectedPalettes; @@ -352,11 +352,11 @@ void sub_81158A4(struct Sprite *sprite) selectedPalettes = UnpackSelectedBattleAnimPalettes(sprite->data[7]); BlendPalettes(selectedPalettes, gBattleAnimArgs[4], gBattleAnimArgs[3]); - sprite->invisible = 1; - sprite->callback = sub_81158F8; + sprite->invisible = TRUE; + sprite->callback = AnimComplexPaletteBlend_Step1; } -static void sub_81158F8(struct Sprite *sprite) +static void AnimComplexPaletteBlend_Step1(struct Sprite *sprite) { u32 selectedPalettes; @@ -371,7 +371,7 @@ static void sub_81158F8(struct Sprite *sprite) if (sprite->data[2] == 0) { - sprite->callback = sub_8115984; + sprite->callback = AnimComplexPaletteBlend_Step2; return; } @@ -386,7 +386,7 @@ static void sub_81158F8(struct Sprite *sprite) sprite->data[2]--; } -static void sub_8115984(struct Sprite *sprite) +static void AnimComplexPaletteBlend_Step2(struct Sprite *sprite) { u32 selectedPalettes; @@ -398,7 +398,7 @@ static void sub_8115984(struct Sprite *sprite) } } -void sub_81159B4(struct Sprite *sprite) +static void sub_81159B4(struct Sprite *sprite) { sprite->pos1.x += gBattleAnimArgs[0]; sprite->pos1.y += gBattleAnimArgs[1]; @@ -413,55 +413,71 @@ void sub_81159B4(struct Sprite *sprite) sprite->callback(sprite); } -void sub_8115A04(u8 taskId) -{ - gTasks[taskId].data[0] = gBattleAnimArgs[0]; - gTasks[taskId].data[1] = gBattleAnimArgs[1]; - gTasks[taskId].data[2] = gBattleAnimArgs[2]; - gTasks[taskId].data[3] = gBattleAnimArgs[3]; - gTasks[taskId].data[4] = gBattleAnimArgs[4]; - gTasks[taskId].data[5] = gBattleAnimArgs[5]; - gTasks[taskId].data[8] = 0; - sub_8115A54(taskId, 0, gTasks[taskId].data[4]); - gTasks[taskId].func = sub_8115AA4; -} - -static void sub_8115A54(u8 taskId, u8 initialBlendAmount, u8 targetBlendAmount) -{ - u32 selectedPalettes = UnpackSelectedBattleAnimPalettes(gTasks[taskId].data[0]); +// Task data for AnimTask_BlendColorCycle, AnimTask_BlendColorCycleExclude, and AnimTask_BlendColorCycleByTag +#define tPalSelector data[0] // AnimTask_BlendColorCycle +#define tPalTag data[0] // AnimTask_BlendColorCycleByTag +#define tDelay data[1] +#define tNumBlends data[2] +#define tInitialBlendY data[3] +#define tTargetBlendY data[4] +#define tBlendColor data[5] +#define tRestoreBlend data[8] +#define tPalSelectorHi data[9] +#define tPalSelectorLo data[10] + +// Blends mon/screen to designated color or back alternately tNumBlends times +// Many uses of this task only set a tNumBlends of 2, which has the effect of blending to a color and back once +void AnimTask_BlendColorCycle(u8 taskId) +{ + gTasks[taskId].tPalSelector = gBattleAnimArgs[0]; + gTasks[taskId].tDelay = gBattleAnimArgs[1]; + gTasks[taskId].tNumBlends = gBattleAnimArgs[2]; + gTasks[taskId].tInitialBlendY = gBattleAnimArgs[3]; + gTasks[taskId].tTargetBlendY = gBattleAnimArgs[4]; + gTasks[taskId].tBlendColor = gBattleAnimArgs[5]; + gTasks[taskId].tRestoreBlend = FALSE; + BlendColorCycle(taskId, 0, gTasks[taskId].tTargetBlendY); + gTasks[taskId].func = AnimTask_BlendColorCycleLoop; +} + +static void BlendColorCycle(u8 taskId, u8 startBlendAmount, u8 targetBlendAmount) +{ + u32 selectedPalettes = UnpackSelectedBattleAnimPalettes(gTasks[taskId].tPalSelector); BeginNormalPaletteFade( selectedPalettes, - gTasks[taskId].data[1], - initialBlendAmount, + gTasks[taskId].tDelay, + startBlendAmount, targetBlendAmount, - gTasks[taskId].data[5]); + gTasks[taskId].tBlendColor); - gTasks[taskId].data[2]--; - gTasks[taskId].data[8] ^= 1; + gTasks[taskId].tNumBlends--; + gTasks[taskId].tRestoreBlend ^= 1; } -static void sub_8115AA4(u8 taskId) +static void AnimTask_BlendColorCycleLoop(u8 taskId) { - u8 initialBlendAmount, targetBlendAmount; + u8 startBlendAmount, targetBlendAmount; if (!gPaletteFade.active) { - if (gTasks[taskId].data[2] > 0) + if (gTasks[taskId].tNumBlends > 0) { - if (gTasks[taskId].data[8] == 0) + if (!gTasks[taskId].tRestoreBlend) { - initialBlendAmount = gTasks[taskId].data[3]; - targetBlendAmount = gTasks[taskId].data[4]; + // Blend to designated color + startBlendAmount = gTasks[taskId].tInitialBlendY; + targetBlendAmount = gTasks[taskId].tTargetBlendY; } else { - initialBlendAmount = gTasks[taskId].data[4]; - targetBlendAmount = gTasks[taskId].data[3]; + // Blend back to original color + startBlendAmount = gTasks[taskId].tTargetBlendY; + targetBlendAmount = gTasks[taskId].tInitialBlendY; } - if (gTasks[taskId].data[2] == 1) + if (gTasks[taskId].tNumBlends == 1) targetBlendAmount = 0; - sub_8115A54(taskId, initialBlendAmount, targetBlendAmount); + BlendColorCycle(taskId, startBlendAmount, targetBlendAmount); } else { @@ -470,18 +486,19 @@ static void sub_8115AA4(u8 taskId) } } -void sub_8115B0C(u8 taskId) +// See AnimTask_BlendColorCycle. Same, but excludes Attacker and Target +void AnimTask_BlendColorCycleExclude(u8 taskId) { int battler; u32 selectedPalettes = 0; gTasks[taskId].data[0] = gBattleAnimArgs[0]; - gTasks[taskId].data[1] = gBattleAnimArgs[1]; - gTasks[taskId].data[2] = gBattleAnimArgs[2]; - gTasks[taskId].data[3] = gBattleAnimArgs[3]; - gTasks[taskId].data[4] = gBattleAnimArgs[4]; - gTasks[taskId].data[5] = gBattleAnimArgs[5]; - gTasks[taskId].data[8] = 0; + gTasks[taskId].tDelay = gBattleAnimArgs[1]; + gTasks[taskId].tNumBlends = gBattleAnimArgs[2]; + gTasks[taskId].tInitialBlendY = gBattleAnimArgs[3]; + gTasks[taskId].tTargetBlendY = gBattleAnimArgs[4]; + gTasks[taskId].tBlendColor = gBattleAnimArgs[5]; + gTasks[taskId].tRestoreBlend = 0; for (battler = 0; battler < gBattlersCount; battler++) { @@ -492,48 +509,50 @@ void sub_8115B0C(u8 taskId) if (gBattleAnimArgs[0] == 1) selectedPalettes |= 0xE; - gTasks[taskId].data[9] = selectedPalettes >> 16; - gTasks[taskId].data[10] = selectedPalettes & 0xFF; - sub_8115BC8(taskId, 0, gTasks[taskId].data[4]); - gTasks[taskId].func = sub_8115C18; + gTasks[taskId].tPalSelectorHi = selectedPalettes >> 16; + gTasks[taskId].tPalSelectorLo = selectedPalettes & 0xFF; + BlendColorCycleExclude(taskId, 0, gTasks[taskId].tTargetBlendY); + gTasks[taskId].func = AnimTask_BlendColorCycleExcludeLoop; } -static void sub_8115BC8(u8 taskId, u8 initialBlendAmount, u8 targetBlendAmount) +static void BlendColorCycleExclude(u8 taskId, u8 startBlendAmount, u8 targetBlendAmount) { - u32 selectedPalettes = ((u16)gTasks[taskId].data[9] << 16) | (u16)gTasks[taskId].data[10]; + u32 selectedPalettes = ((u16)gTasks[taskId].tPalSelectorHi << 16) | (u16)gTasks[taskId].tPalSelectorLo; BeginNormalPaletteFade( selectedPalettes, - gTasks[taskId].data[1], - initialBlendAmount, + gTasks[taskId].tDelay, + startBlendAmount, targetBlendAmount, - gTasks[taskId].data[5]); + gTasks[taskId].tBlendColor); - gTasks[taskId].data[2]--; - gTasks[taskId].data[8] ^= 1; + gTasks[taskId].tNumBlends--; + gTasks[taskId].tRestoreBlend ^= 1; } -static void sub_8115C18(u8 taskId) +static void AnimTask_BlendColorCycleExcludeLoop(u8 taskId) { - u8 initialBlendAmount, targetBlendAmount; + u8 startBlendAmount, targetBlendAmount; if (!gPaletteFade.active) { - if (gTasks[taskId].data[2] > 0) + if (gTasks[taskId].tNumBlends > 0) { - if (gTasks[taskId].data[8] == 0) + if (!gTasks[taskId].tRestoreBlend) { - initialBlendAmount = gTasks[taskId].data[3]; - targetBlendAmount = gTasks[taskId].data[4]; + // Blend to designated color + startBlendAmount = gTasks[taskId].tInitialBlendY; + targetBlendAmount = gTasks[taskId].tTargetBlendY; } else { - initialBlendAmount = gTasks[taskId].data[4]; - targetBlendAmount = gTasks[taskId].data[3]; + // Blend back to original color + startBlendAmount = gTasks[taskId].tTargetBlendY; + targetBlendAmount = gTasks[taskId].tInitialBlendY; } - if (gTasks[taskId].data[2] == 1) + if (gTasks[taskId].tNumBlends == 1) targetBlendAmount = 0; - sub_8115BC8(taskId, initialBlendAmount, targetBlendAmount); + BlendColorCycleExclude(taskId, startBlendAmount, targetBlendAmount); } else { @@ -542,58 +561,61 @@ static void sub_8115C18(u8 taskId) } } -void sub_8115C80(u8 taskId) +// See AnimTask_BlendColorCycle. Same, but selects palette by ANIM_TAG_* +void AnimTask_BlendColorCycleByTag(u8 taskId) { u8 paletteIndex; - gTasks[taskId].data[0] = gBattleAnimArgs[0]; - gTasks[taskId].data[1] = gBattleAnimArgs[1]; - gTasks[taskId].data[2] = gBattleAnimArgs[2]; - gTasks[taskId].data[3] = gBattleAnimArgs[3]; - gTasks[taskId].data[4] = gBattleAnimArgs[4]; - gTasks[taskId].data[5] = gBattleAnimArgs[5]; - gTasks[taskId].data[8] = 0; + gTasks[taskId].tPalTag = gBattleAnimArgs[0]; + gTasks[taskId].tDelay = gBattleAnimArgs[1]; + gTasks[taskId].tNumBlends = gBattleAnimArgs[2]; + gTasks[taskId].tInitialBlendY = gBattleAnimArgs[3]; + gTasks[taskId].tTargetBlendY = gBattleAnimArgs[4]; + gTasks[taskId].tBlendColor = gBattleAnimArgs[5]; + gTasks[taskId].tRestoreBlend = FALSE; - sub_8115CD0(taskId, 0, gTasks[taskId].data[4]); - gTasks[taskId].func = sub_8115D2C; + BlendColorCycleByTag(taskId, 0, gTasks[taskId].tTargetBlendY); + gTasks[taskId].func = AnimTask_BlendColorCycleByTagLoop; } -static void sub_8115CD0(u8 taskId, u8 initialBlendAmount, u8 targetBlendAmount) +static void BlendColorCycleByTag(u8 taskId, u8 startBlendAmount, u8 targetBlendAmount) { - u8 paletteIndex = IndexOfSpritePaletteTag(gTasks[taskId].data[0]); + u8 paletteIndex = IndexOfSpritePaletteTag(gTasks[taskId].tPalTag); BeginNormalPaletteFade( 1 << (paletteIndex + 16), - gTasks[taskId].data[1], - initialBlendAmount, + gTasks[taskId].tDelay, + startBlendAmount, targetBlendAmount, - gTasks[taskId].data[5]); + gTasks[taskId].tBlendColor); - gTasks[taskId].data[2]--; - gTasks[taskId].data[8] ^= 1; + gTasks[taskId].tNumBlends--; + gTasks[taskId].tRestoreBlend ^= 1; } -static void sub_8115D2C(u8 taskId) +static void AnimTask_BlendColorCycleByTagLoop(u8 taskId) { - u8 initialBlendAmount, targetBlendAmount; + u8 startBlendAmount, targetBlendAmount; if (!gPaletteFade.active) { - if (gTasks[taskId].data[2] > 0) + if (gTasks[taskId].tNumBlends > 0) { - if (gTasks[taskId].data[8] == 0) + if (!gTasks[taskId].tRestoreBlend) { - initialBlendAmount = gTasks[taskId].data[3]; - targetBlendAmount = gTasks[taskId].data[4]; + // Blend to designated color + startBlendAmount = gTasks[taskId].tInitialBlendY; + targetBlendAmount = gTasks[taskId].tTargetBlendY; } else { - initialBlendAmount = gTasks[taskId].data[4]; - targetBlendAmount = gTasks[taskId].data[3]; + // Blend back to original color + startBlendAmount = gTasks[taskId].tTargetBlendY; + targetBlendAmount = gTasks[taskId].tInitialBlendY; } - if (gTasks[taskId].data[2] == 1) + if (gTasks[taskId].tNumBlends == 1) targetBlendAmount = 0; - sub_8115CD0(taskId, initialBlendAmount, targetBlendAmount); + BlendColorCycleByTag(taskId, startBlendAmount, targetBlendAmount); } else { @@ -602,7 +624,19 @@ static void sub_8115D2C(u8 taskId) } } -void sub_8115D94(u8 taskId) +#undef tPalSelector +#undef tPalTag +#undef tDelay +#undef tNumBlends +#undef tInitialBlendY +#undef tTargetBlendY +#undef tBlendColor +#undef tRestoreBlend +#undef tPalSelectorHi +#undef tPalSelectorLo + +// Flashes the specified anim tag with given color. Used e.g. to flash the particles red in Hyper Beam +void AnimTask_FlashAnimTagWithColor(u8 taskId) { u8 paletteIndex; @@ -623,10 +657,10 @@ void sub_8115D94(u8 taskId) gBattleAnimArgs[4], gBattleAnimArgs[3]); - gTasks[taskId].func = sub_8115E00; + gTasks[taskId].func = AnimTask_FlashAnimTagWithColor_Step1; } -static void sub_8115E00(u8 taskId) +static void AnimTask_FlashAnimTagWithColor_Step1(u8 taskId) { u32 selectedPalettes; @@ -641,7 +675,7 @@ static void sub_8115E00(u8 taskId) if (gTasks[taskId].data[2] == 0) { - gTasks[taskId].func = sub_8115EB8; + gTasks[taskId].func = AnimTask_FlashAnimTagWithColor_Step2; return; } @@ -670,7 +704,7 @@ static void sub_8115E00(u8 taskId) gTasks[taskId].data[2]--; } -static void sub_8115EB8(u8 taskId) +static void AnimTask_FlashAnimTagWithColor_Step2(u8 taskId) { u32 selectedPalettes; @@ -682,7 +716,7 @@ static void sub_8115EB8(u8 taskId) } } -void sub_8115F10(u8 taskId) +void AnimTask_InvertScreenColor(u8 taskId) { u32 selectedPalettes = 0; u8 attackerBattler = gBattleAnimAttacker; @@ -746,11 +780,11 @@ void sub_8115F94(u8 taskId) } } -void sub_81160A4(struct Sprite *sprite) +static void AnimShakeMonOrBattleTerrain(struct Sprite *sprite) { u16 var0; - sprite->invisible = 1; + sprite->invisible = TRUE; sprite->data[0] = -gBattleAnimArgs[0]; sprite->data[1] = gBattleAnimArgs[1]; sprite->data[2] = gBattleAnimArgs[1]; @@ -776,12 +810,12 @@ void sub_81160A4(struct Sprite *sprite) sprite->data[5] = gBattleAnimArgs[3]; var0 = sprite->data[5] - 2; if (var0 < 2) - sub_81161F4(); + AnimShakeMonOrBattleTerrain_UpdateCoordOffsetEnabled(); - sprite->callback = sub_8116148; + sprite->callback = AnimShakeMonOrBattleTerrain_Step; } -static void sub_8116148(struct Sprite *sprite) +static void AnimShakeMonOrBattleTerrain_Step(struct Sprite *sprite) { u8 i; u16 var0; @@ -807,61 +841,73 @@ static void sub_8116148(struct Sprite *sprite) if (var0 < 2) { for (i = 0; i < gBattlersCount; i++) - gSprites[gBattlerSpriteIds[i]].coordOffsetEnabled = 0; + gSprites[gBattlerSpriteIds[i]].coordOffsetEnabled = FALSE; } DestroyAnimSprite(sprite); } } -static void sub_81161F4(void) +static void AnimShakeMonOrBattleTerrain_UpdateCoordOffsetEnabled(void) { - gSprites[gBattlerSpriteIds[gBattleAnimAttacker]].coordOffsetEnabled = 0; - gSprites[gBattlerSpriteIds[gBattleAnimTarget]].coordOffsetEnabled = 0; + gSprites[gBattlerSpriteIds[gBattleAnimAttacker]].coordOffsetEnabled = FALSE; + gSprites[gBattlerSpriteIds[gBattleAnimTarget]].coordOffsetEnabled = FALSE; if (gBattleAnimArgs[4] == 2) { - gSprites[gBattlerSpriteIds[gBattleAnimAttacker]].coordOffsetEnabled = 1; - gSprites[gBattlerSpriteIds[gBattleAnimTarget]].coordOffsetEnabled = 1; + gSprites[gBattlerSpriteIds[gBattleAnimAttacker]].coordOffsetEnabled = TRUE; + gSprites[gBattlerSpriteIds[gBattleAnimTarget]].coordOffsetEnabled = TRUE; } else { if (gBattleAnimArgs[4] == 0) - gSprites[gBattlerSpriteIds[gBattleAnimAttacker]].coordOffsetEnabled = 1; + gSprites[gBattlerSpriteIds[gBattleAnimAttacker]].coordOffsetEnabled = TRUE; else - gSprites[gBattlerSpriteIds[gBattleAnimTarget]].coordOffsetEnabled = 1; + gSprites[gBattlerSpriteIds[gBattleAnimTarget]].coordOffsetEnabled = TRUE; } } -void sub_81162A4(u8 taskId) -{ - gTasks[taskId].data[0] = gBattleAnimArgs[0]; - gTasks[taskId].data[1] = gBattleAnimArgs[1]; - gTasks[taskId].data[2] = gBattleAnimArgs[2]; - gTasks[taskId].data[3] = gBattleAnimArgs[3]; - gTasks[taskId].data[8] = gBattleAnimArgs[3]; +// Task data for AnimTask_ShakeBattleTerrain +#define tXOffset data[0] +#define tYOffset data[1] +#define tNumShakes data[2] +#define tTimer data[3] +#define tShakeDelay data[8] + +// Can shake battle terrain back and forth on the X or down and back to original pos on Y (cant shake up from orig pos) +// arg0: x offset of shake +// arg1: y offset of shake +// arg2: number of shakes +// arg3: time between shakes +void AnimTask_ShakeBattleTerrain(u8 taskId) +{ + gTasks[taskId].tXOffset = gBattleAnimArgs[0]; + gTasks[taskId].tYOffset = gBattleAnimArgs[1]; + gTasks[taskId].tNumShakes = gBattleAnimArgs[2]; + gTasks[taskId].tTimer = gBattleAnimArgs[3]; + gTasks[taskId].tShakeDelay = gBattleAnimArgs[3]; gBattle_BG3_X = gBattleAnimArgs[0]; gBattle_BG3_Y = gBattleAnimArgs[1]; - gTasks[taskId].func = sub_81162F8; + gTasks[taskId].func = AnimTask_ShakeBattleTerrain_Step; gTasks[taskId].func(taskId); } -static void sub_81162F8(u8 taskId) +static void AnimTask_ShakeBattleTerrain_Step(u8 taskId) { - if (gTasks[taskId].data[3] == 0) + if (gTasks[taskId].tTimer == 0) { - if (gBattle_BG3_X == gTasks[taskId].data[0]) - gBattle_BG3_X = -gTasks[taskId].data[0]; + if (gBattle_BG3_X == gTasks[taskId].tXOffset) + gBattle_BG3_X = -gTasks[taskId].tXOffset; else - gBattle_BG3_X = gTasks[taskId].data[0]; + gBattle_BG3_X = gTasks[taskId].tXOffset; - if (gBattle_BG3_Y == -gTasks[taskId].data[1]) + if (gBattle_BG3_Y == -gTasks[taskId].tYOffset) gBattle_BG3_Y = 0; else - gBattle_BG3_Y = -gTasks[taskId].data[1]; + gBattle_BG3_Y = -gTasks[taskId].tYOffset; - gTasks[taskId].data[3] = gTasks[taskId].data[8]; - if (--gTasks[taskId].data[2] == 0) + gTasks[taskId].tTimer = gTasks[taskId].tShakeDelay; + if (--gTasks[taskId].tNumShakes == 0) { gBattle_BG3_X = 0; gBattle_BG3_Y = 0; @@ -870,14 +916,20 @@ static void sub_81162F8(u8 taskId) } else { - gTasks[taskId].data[3]--; + gTasks[taskId].tTimer--; } } -void sub_8116388(struct Sprite *sprite) +#undef tXOffset +#undef tYOffset +#undef tNumShakes +#undef tTimer +#undef tShakeDelay + +static void AnimHitSplatBasic(struct Sprite *sprite) { StartSpriteAffineAnim(sprite, gBattleAnimArgs[3]); - if (gBattleAnimArgs[2] == 0) + if (gBattleAnimArgs[2] == ANIM_ATTACKER) InitSpritePosToAnimAttacker(sprite, 1); else InitSpritePosToAnimTarget(sprite, TRUE); @@ -886,34 +938,37 @@ void sub_8116388(struct Sprite *sprite) StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); } -static void sub_81163D0(struct Sprite *sprite) +// Same as basic hit splat but takes a length of time to persist for (arg4) +static void AnimHitSplatPersistent(struct Sprite *sprite) { StartSpriteAffineAnim(sprite, gBattleAnimArgs[3]); - if (gBattleAnimArgs[2] == 0) + if (gBattleAnimArgs[2] == ANIM_ATTACKER) InitSpritePosToAnimAttacker(sprite, 1); else InitSpritePosToAnimTarget(sprite, TRUE); sprite->data[0] = gBattleAnimArgs[4]; sprite->callback = RunStoredCallbackWhenAffineAnimEnds; - StoreSpriteCallbackInData6(sprite, sub_810E2C8); + StoreSpriteCallbackInData6(sprite, DestroyAnimSpriteAfterTimer); } -void sub_8116420(struct Sprite *sprite) +// For paired hit splats whose position is inverted when used by the opponent on the player. +// Used by Twineedle and Spike Cannon +static void AnimHitSplatHandleInvert(struct Sprite *sprite) { if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER && !IsContest()) gBattleAnimArgs[1] = -gBattleAnimArgs[1]; - sub_8116388(sprite); + AnimHitSplatBasic(sprite); } -void sub_8116458(struct Sprite *sprite) +static void AnimHitSplatRandom(struct Sprite *sprite) { if (gBattleAnimArgs[1] == -1) gBattleAnimArgs[1] = Random2() & 3; StartSpriteAffineAnim(sprite, gBattleAnimArgs[1]); - if (gBattleAnimArgs[0] == 0) + if (gBattleAnimArgs[0] == ANIM_ATTACKER) InitSpritePosToAnimAttacker(sprite, 0); else InitSpritePosToAnimTarget(sprite, FALSE); @@ -925,7 +980,7 @@ void sub_8116458(struct Sprite *sprite) sprite->callback = RunStoredCallbackWhenAffineAnimEnds; } -void sub_81164F0(struct Sprite *sprite) +static void AnimHitSplatOnMonEdge(struct Sprite *sprite) { sprite->data[0] = GetAnimBattlerSpriteId(gBattleAnimArgs[0]); sprite->pos1.x = gSprites[sprite->data[0]].pos1.x + gSprites[sprite->data[0]].pos2.x; @@ -937,9 +992,9 @@ void sub_81164F0(struct Sprite *sprite) sprite->callback = RunStoredCallbackWhenAffineAnimEnds; } -void sub_8116560(struct Sprite *sprite) +static void AnimCrossImpact(struct Sprite *sprite) { - if (gBattleAnimArgs[2] == 0) + if (gBattleAnimArgs[2] == ANIM_ATTACKER) InitSpritePosToAnimAttacker(sprite, 1); else InitSpritePosToAnimTarget(sprite, TRUE); @@ -949,18 +1004,18 @@ void sub_8116560(struct Sprite *sprite) sprite->callback = WaitAnimForDuration; } -void sub_81165A8(struct Sprite *sprite) +static void AnimFlashingHitSplat(struct Sprite *sprite) { StartSpriteAffineAnim(sprite, gBattleAnimArgs[3]); - if (gBattleAnimArgs[2] == 0) + if (gBattleAnimArgs[2] == ANIM_ATTACKER) InitSpritePosToAnimAttacker(sprite, 1); else InitSpritePosToAnimTarget(sprite, TRUE); - sprite->callback = sub_81165E4; + sprite->callback = AnimFlashingHitSplat_Step; } -static void sub_81165E4(struct Sprite *sprite) +static void AnimFlashingHitSplat_Step(struct Sprite *sprite) { sprite->invisible ^= 1; if (sprite->data[0]++ > 12) diff --git a/src/poison.c b/src/battle_anim_poison.c index 42e7d6a58..bc5624249 100644 --- a/src/poison.c +++ b/src/battle_anim_poison.c @@ -3,19 +3,17 @@ #include "trig.h" #include "constants/rgb.h" -void sub_810DBAC(struct Sprite *); -void sub_810DC2C(struct Sprite *); -void sub_810DCD0(struct Sprite *); -void sub_810DD50(struct Sprite *); -void AnimBubbleEffect(struct Sprite *); -static void sub_810DC10(struct Sprite *); -static void sub_810DCB4(struct Sprite *); -static void sub_810DD24(struct Sprite *); -static void AnimBubbleEffectStep(struct Sprite *); - -extern const union AnimCmd *const gUnknown_08595200[]; - -const union AnimCmd gUnknown_0859611C[] = +static void AnimSludgeProjectile(struct Sprite *); +static void AnimSludgeProjectile_Step(struct Sprite *); +static void AnimAcidPoisonBubble(struct Sprite *); +static void AnimAcidPoisonBubble_Step(struct Sprite *); +static void AnimSludgeBombHitParticle(struct Sprite *); +static void AnimSludgeBombHitParticle_Step(struct Sprite *); +static void AnimAcidPoisonDroplet(struct Sprite *); +static void AnimBubbleEffect(struct Sprite *); +static void AnimBubbleEffect_Step(struct Sprite *); + +static const union AnimCmd sAnim_ToxicBubble[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(8, 5), @@ -24,56 +22,56 @@ const union AnimCmd gUnknown_0859611C[] = ANIMCMD_END, }; -const union AnimCmd *const gUnknown_08596130[] = +static const union AnimCmd *const sAnims_ToxicBubble[] = { - gUnknown_0859611C, + sAnim_ToxicBubble, }; -const struct SpriteTemplate gUnknown_08596134 = +const struct SpriteTemplate gToxicBubbleSpriteTemplate = { .tileTag = ANIM_TAG_TOXIC_BUBBLE, .paletteTag = ANIM_TAG_TOXIC_BUBBLE, .oam = &gOamData_AffineOff_ObjNormal_16x32, - .anims = gUnknown_08596130, + .anims = sAnims_ToxicBubble, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimSpriteOnMonPos, }; -const union AnimCmd gUnknown_0859614C[] = +static const union AnimCmd sAnim_PoisonProjectile[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_08596154[] = +static const union AnimCmd sAnim_AcidPoisonDroplet[] = { ANIMCMD_FRAME(4, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_0859615C[] = +static const union AnimCmd sAnim_SludgeBombHit[] = { ANIMCMD_FRAME(8, 1), ANIMCMD_END, }; -const union AnimCmd *const gUnknown_08596164[] = +static const union AnimCmd *const sAnims_PoisonProjectile[] = { - gUnknown_0859614C, + sAnim_PoisonProjectile, }; -const union AnimCmd *const gUnknown_08596168[] = +static const union AnimCmd *const sAnims_AcidPoisonDroplet[] = { - gUnknown_08596154, + sAnim_AcidPoisonDroplet, }; -const union AnimCmd *const gUnknown_0859616C[] = +static const union AnimCmd *const sAnims_SludgeBombHit[] = { - gUnknown_0859615C, + sAnim_SludgeBombHit, }; -const union AffineAnimCmd gUnknown_08596170[] = +static const union AffineAnimCmd sAffineAnim_PoisonProjectile[] = { AFFINEANIMCMD_FRAME(0x160, 0x160, 0, 0), AFFINEANIMCMD_FRAME(0xFFF6, 0xFFF6, 0, 10), @@ -81,88 +79,88 @@ const union AffineAnimCmd gUnknown_08596170[] = AFFINEANIMCMD_JUMP(0), }; -const union AffineAnimCmd gUnknown_08596190[] = +static const union AffineAnimCmd sAffineAnim_SludgeBombHit[] = { AFFINEANIMCMD_FRAME(0xEC, 0xEC, 0, 0), AFFINEANIMCMD_END, }; -const union AffineAnimCmd *const gUnknown_085961A0[] = +static const union AffineAnimCmd *const sAffineAnims_PoisonProjectile[] = { - gUnknown_08596170, + sAffineAnim_PoisonProjectile, }; -const union AffineAnimCmd *const gUnknown_085961A4[] = +static const union AffineAnimCmd *const sAffineAnims_SludgeBombHit[] = { - gUnknown_08596190, + sAffineAnim_SludgeBombHit, }; -const struct SpriteTemplate gUnknown_085961A8 = +const struct SpriteTemplate gSludgeProjectileSpriteTemplate = { .tileTag = ANIM_TAG_POISON_BUBBLE, .paletteTag = ANIM_TAG_POISON_BUBBLE, .oam = &gOamData_AffineDouble_ObjNormal_16x16, - .anims = gUnknown_08596164, + .anims = sAnims_PoisonProjectile, .images = NULL, - .affineAnims = gUnknown_085961A0, - .callback = sub_810DBAC, + .affineAnims = sAffineAnims_PoisonProjectile, + .callback = AnimSludgeProjectile, }; -const struct SpriteTemplate gUnknown_085961C0 = +const struct SpriteTemplate gAcidPoisonBubbleSpriteTemplate = { .tileTag = ANIM_TAG_POISON_BUBBLE, .paletteTag = ANIM_TAG_POISON_BUBBLE, .oam = &gOamData_AffineDouble_ObjNormal_16x16, - .anims = gUnknown_08596164, + .anims = sAnims_PoisonProjectile, .images = NULL, - .affineAnims = gUnknown_085961A0, - .callback = sub_810DC2C, + .affineAnims = sAffineAnims_PoisonProjectile, + .callback = AnimAcidPoisonBubble, }; -const struct SpriteTemplate gUnknown_085961D8 = +const struct SpriteTemplate gSludgeBombHitParticleSpriteTemplate = { .tileTag = ANIM_TAG_POISON_BUBBLE, .paletteTag = ANIM_TAG_POISON_BUBBLE, .oam = &gOamData_AffineNormal_ObjNormal_16x16, - .anims = gUnknown_0859616C, + .anims = sAnims_SludgeBombHit, .images = NULL, - .affineAnims = gUnknown_085961A4, - .callback = sub_810DCD0, + .affineAnims = sAffineAnims_SludgeBombHit, + .callback = AnimSludgeBombHitParticle, }; -const union AffineAnimCmd gUnknown_085961F0[] = +static const union AffineAnimCmd sAffineAnim_AcidPoisonDroplet[] = { AFFINEANIMCMD_FRAME(0xFFF0, 0x10, 0, 6), AFFINEANIMCMD_FRAME(0x10, 0xFFF0, 0, 6), AFFINEANIMCMD_JUMP(0), }; -const union AffineAnimCmd *const gUnknown_08596208[] = +const union AffineAnimCmd *const gAffineAnims_Droplet[] = { - gUnknown_085961F0, + sAffineAnim_AcidPoisonDroplet, }; -const struct SpriteTemplate gUnknown_0859620C = +const struct SpriteTemplate gAcidPoisonDropletSpriteTemplate = { .tileTag = ANIM_TAG_POISON_BUBBLE, .paletteTag = ANIM_TAG_POISON_BUBBLE, .oam = &gOamData_AffineDouble_ObjNormal_16x16, - .anims = gUnknown_08596168, + .anims = sAnims_AcidPoisonDroplet, .images = NULL, - .affineAnims = gUnknown_08596208, - .callback = sub_810DD50, + .affineAnims = gAffineAnims_Droplet, + .callback = AnimAcidPoisonDroplet, }; -const union AffineAnimCmd gUnknown_08596224[] = +static const union AffineAnimCmd sAffineAnim_Bubble[] = { AFFINEANIMCMD_FRAME(0x9C, 0x9C, 0, 0), AFFINEANIMCMD_FRAME(0x5, 0x5, 0, 20), AFFINEANIMCMD_END, }; -const union AffineAnimCmd *const gUnknown_0859623C[] = +static const union AffineAnimCmd *const sAffineAnims_Bubble[] = { - gUnknown_08596224, + sAffineAnim_Bubble, }; const struct SpriteTemplate gPoisonBubbleSpriteTemplate = @@ -170,9 +168,9 @@ const struct SpriteTemplate gPoisonBubbleSpriteTemplate = .tileTag = ANIM_TAG_POISON_BUBBLE, .paletteTag = ANIM_TAG_POISON_BUBBLE, .oam = &gOamData_AffineNormal_ObjNormal_16x16, - .anims = gUnknown_08596164, + .anims = sAnims_PoisonProjectile, .images = NULL, - .affineAnims = gUnknown_0859623C, + .affineAnims = sAffineAnims_Bubble, .callback = AnimBubbleEffect, }; @@ -181,13 +179,13 @@ const struct SpriteTemplate gWaterBubbleSpriteTemplate = .tileTag = ANIM_TAG_SMALL_BUBBLES, .paletteTag = ANIM_TAG_SMALL_BUBBLES, .oam = &gOamData_AffineNormal_ObjBlend_16x16, - .anims = gUnknown_08595200, + .anims = gAnims_WaterBubble, .images = NULL, - .affineAnims = gUnknown_0859623C, + .affineAnims = sAffineAnims_Bubble, .callback = AnimBubbleEffect, }; -void sub_810DBAC(struct Sprite *sprite) +static void AnimSludgeProjectile(struct Sprite *sprite) { if (!gBattleAnimArgs[3]) StartSpriteAnim(sprite, 2); @@ -201,16 +199,16 @@ void sub_810DBAC(struct Sprite *sprite) InitAnimArcTranslation(sprite); - sprite->callback = sub_810DC10; + sprite->callback = AnimSludgeProjectile_Step; } -static void sub_810DC10(struct Sprite *sprite) +static void AnimSludgeProjectile_Step(struct Sprite *sprite) { if (TranslateAnimHorizontalArc(sprite)) DestroyAnimSprite(sprite); } -void sub_810DC2C(struct Sprite *sprite) +static void AnimAcidPoisonBubble(struct Sprite *sprite) { s16 l1, l2; if (!gBattleAnimArgs[3]) @@ -229,16 +227,16 @@ void sub_810DC2C(struct Sprite *sprite) InitAnimArcTranslation(sprite); - sprite->callback = sub_810DCB4; + sprite->callback = AnimAcidPoisonBubble_Step; } -static void sub_810DCB4(struct Sprite *sprite) +static void AnimAcidPoisonBubble_Step(struct Sprite *sprite) { if (TranslateAnimHorizontalArc(sprite)) DestroyAnimSprite(sprite); } -void sub_810DCD0(struct Sprite *sprite) +static void AnimSludgeBombHitParticle(struct Sprite *sprite) { sprite->data[0] = gBattleAnimArgs[2]; sprite->data[1] = sprite->pos1.x; @@ -251,10 +249,10 @@ void sub_810DCD0(struct Sprite *sprite) sprite->data[5] = sprite->data[1] / gBattleAnimArgs[2]; sprite->data[6] = sprite->data[2] / gBattleAnimArgs[2]; - sprite->callback = sub_810DD24; + sprite->callback = AnimSludgeBombHitParticle_Step; } -static void sub_810DD24(struct Sprite *sprite) +static void AnimSludgeBombHitParticle_Step(struct Sprite *sprite) { TranslateSpriteLinearFixedPoint(sprite); @@ -265,7 +263,7 @@ static void sub_810DD24(struct Sprite *sprite) DestroyAnimSprite(sprite); } -void sub_810DD50(struct Sprite *sprite) +static void AnimAcidPoisonDroplet(struct Sprite *sprite) { SetAverageBattlerPositions(gBattleAnimTarget, TRUE, &sprite->pos1.x, &sprite->pos1.y); @@ -289,7 +287,7 @@ void sub_810DD50(struct Sprite *sprite) // arg 0: initial x pixel offset // arg 1: initial y pixel offset // arg 2: 0 = single-target, 1 = multi-target -void AnimBubbleEffect(struct Sprite *sprite) +static void AnimBubbleEffect(struct Sprite *sprite) { if (!gBattleAnimArgs[2]) { @@ -306,10 +304,10 @@ void AnimBubbleEffect(struct Sprite *sprite) sprite->pos1.y += gBattleAnimArgs[1]; } - sprite->callback = AnimBubbleEffectStep; + sprite->callback = AnimBubbleEffect_Step; } -static void AnimBubbleEffectStep(struct Sprite *sprite) +static void AnimBubbleEffect_Step(struct Sprite *sprite) { sprite->data[0] = (sprite->data[0] + 0xB) & 0xFF; sprite->pos2.x = Sin(sprite->data[0], 4); diff --git a/src/psychic.c b/src/battle_anim_psychic.c index 656608740..7918698fc 100644 --- a/src/psychic.c +++ b/src/battle_anim_psychic.c @@ -8,51 +8,51 @@ #include "constants/rgb.h" #include "constants/songs.h" -void sub_810F1EC(struct Sprite *); -void sub_810F58C(struct Sprite *); -void sub_810F634(struct Sprite *); -void sub_810F6B0(struct Sprite *); -void sub_810FBA8(struct Sprite *); -void sub_810FDF0(struct Sprite *); -void sub_8110240(struct Sprite *); -static void sub_810F340(struct Sprite *); -static void sub_810F3C8(struct Sprite *); -static void sub_810F400(struct Sprite *); -static void sub_810F46C(struct Sprite *); -static void sub_810F524(struct Sprite *); -static void sub_810F740(struct Sprite *); -static void sub_810F774(struct Sprite *); -static void sub_810F810(u8); -static void sub_810F898(u8); -static void sub_810F9D4(u8); -static void sub_810FD3C(u8); -static void sub_810FF34(u8); -static void sub_8110134(u8); - -const union AffineAnimCmd gUnknown_0859652C[] = +static void AnimDefensiveWall(struct Sprite *); +static void AnimDefensiveWall_Step1(struct Sprite *); +static void AnimDefensiveWall_Step2(struct Sprite *); +static void AnimDefensiveWall_Step3(struct Sprite *); +static void AnimDefensiveWall_Step4(struct Sprite *); +static void AnimDefensiveWall_Step5(struct Sprite *); +static void AnimWallSparkle(struct Sprite *); +static void AnimBentSpoon(struct Sprite *); +static void AnimQuestionMark(struct Sprite *); +static void AnimQuestionMark_Step1(struct Sprite *); +static void AnimQuestionMark_Step2(struct Sprite *); +static void AnimRedX(struct Sprite *); +static void AnimSkillSwapOrb(struct Sprite *); +static void AnimPsychoBoost(struct Sprite *); +static void AnimTask_MeditateStretchAttacker_Step(u8); +static void AnimTask_Teleport_Step(u8); +static void AnimTask_ImprisonOrbs_Step(u8); +static void AnimTask_SkillSwap_Step(u8); +static void AnimTask_ExtrasensoryDistortion_Step(u8); +static void AnimTask_TransparentCloneGrowAndShrink_Step(u8); + +static const union AffineAnimCmd sAffineAnim_PsychUpSpiral[] = { AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0), AFFINEANIMCMD_FRAME(0xFFFE, 0xFFFE, -10, 120), AFFINEANIMCMD_END, }; -const union AffineAnimCmd *const gUnknown_08596544[] = +static const union AffineAnimCmd *const sAffineAnims_PsychUpSpiral[] = { - gUnknown_0859652C, + sAffineAnim_PsychUpSpiral, }; -const struct SpriteTemplate gUnknown_08596548 = +const struct SpriteTemplate gPsychUpSpiralSpriteTemplate = { .tileTag = ANIM_TAG_SPIRAL, .paletteTag = ANIM_TAG_SPIRAL, .oam = &gOamData_AffineNormal_ObjBlend_64x64, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_08596544, + .affineAnims = sAffineAnims_PsychUpSpiral, .callback = AnimSpriteOnMonPos, }; -const struct SpriteTemplate gUnknown_08596560 = +const struct SpriteTemplate gLightScreenWallSpriteTemplate = { .tileTag = ANIM_TAG_GREEN_LIGHT_WALL, .paletteTag = ANIM_TAG_GREEN_LIGHT_WALL, @@ -60,10 +60,10 @@ const struct SpriteTemplate gUnknown_08596560 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_810F1EC, + .callback = AnimDefensiveWall, }; -const struct SpriteTemplate gUnknown_08596578 = +const struct SpriteTemplate gReflectWallSpriteTemplate = { .tileTag = ANIM_TAG_BLUE_LIGHT_WALL, .paletteTag = ANIM_TAG_BLUE_LIGHT_WALL, @@ -71,10 +71,10 @@ const struct SpriteTemplate gUnknown_08596578 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_810F1EC, + .callback = AnimDefensiveWall, }; -const struct SpriteTemplate gUnknown_08596590 = +const struct SpriteTemplate gMirrorCoatWallSpriteTemplate = { .tileTag = ANIM_TAG_RED_LIGHT_WALL, .paletteTag = ANIM_TAG_RED_LIGHT_WALL, @@ -82,10 +82,10 @@ const struct SpriteTemplate gUnknown_08596590 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_810F1EC, + .callback = AnimDefensiveWall, }; -const struct SpriteTemplate gUnknown_085965A8 = +const struct SpriteTemplate gBarrierWallSpriteTemplate = { .tileTag = ANIM_TAG_GRAY_LIGHT_WALL, .paletteTag = ANIM_TAG_GRAY_LIGHT_WALL, @@ -93,10 +93,10 @@ const struct SpriteTemplate gUnknown_085965A8 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_810F1EC, + .callback = AnimDefensiveWall, }; -const struct SpriteTemplate gUnknown_085965C0 = +const struct SpriteTemplate gMagicCoatWallSpriteTemplate = { .tileTag = ANIM_TAG_ORANGE_LIGHT_WALL, .paletteTag = ANIM_TAG_ORANGE_LIGHT_WALL, @@ -104,10 +104,10 @@ const struct SpriteTemplate gUnknown_085965C0 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_810F1EC, + .callback = AnimDefensiveWall, }; -const union AnimCmd gUnknown_085965D8[] = +static const union AnimCmd sAnim_ReflectSparkle[] = { ANIMCMD_FRAME(0, 3), ANIMCMD_FRAME(16, 3), @@ -117,23 +117,23 @@ const union AnimCmd gUnknown_085965D8[] = ANIMCMD_END, }; -const union AnimCmd *const gUnknown_085965F0[] = +static const union AnimCmd *const sAnims_ReflectSparkle[] = { - gUnknown_085965D8, + sAnim_ReflectSparkle, }; -const struct SpriteTemplate gUnknown_085965F4 = +const struct SpriteTemplate gReflectSparkleSpriteTemplate = { .tileTag = ANIM_TAG_SPARKLE_4, .paletteTag = ANIM_TAG_SPARKLE_4, .oam = &gOamData_AffineOff_ObjNormal_32x32, - .anims = gUnknown_085965F0, + .anims = sAnims_ReflectSparkle, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_810F58C, + .callback = AnimWallSparkle, }; -const union AnimCmd gUnknown_0859660C[] = +static const union AnimCmd sAnim_SpecialScreenSparkle[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(4, 5), @@ -142,23 +142,23 @@ const union AnimCmd gUnknown_0859660C[] = ANIMCMD_END, }; -const union AnimCmd *const gUnknown_08596620[] = +static const union AnimCmd *const sAnims_SpecialScreenSparkle[] = { - gUnknown_0859660C, + sAnim_SpecialScreenSparkle, }; -const struct SpriteTemplate gUnknown_08596624 = +const struct SpriteTemplate gSpecialScreenSparkleSpriteTemplate = { .tileTag = ANIM_TAG_SPARKLE_3, .paletteTag = ANIM_TAG_SPARKLE_3, .oam = &gOamData_AffineOff_ObjNormal_16x16, - .anims = gUnknown_08596620, + .anims = sAnims_SpecialScreenSparkle, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_810F58C, + .callback = AnimWallSparkle, }; -const struct SpriteTemplate gUnknown_0859663C = +const struct SpriteTemplate gGoldRingSpriteTemplate = { .tileTag = ANIM_TAG_GOLD_RING, .paletteTag = ANIM_TAG_GOLD_RING, @@ -169,7 +169,7 @@ const struct SpriteTemplate gUnknown_0859663C = .callback = TranslateAnimSpriteToTargetMonLocation, }; -const union AnimCmd gUnknown_08596654[] = +static const union AnimCmd sAnim_BentSpoon_0[] = { ANIMCMD_FRAME(8, 60, .hFlip = TRUE), ANIMCMD_FRAME(16, 5, .hFlip = TRUE), @@ -189,7 +189,7 @@ const union AnimCmd gUnknown_08596654[] = ANIMCMD_END, }; -const union AnimCmd gUnknown_08596694[] = +static const union AnimCmd sAnim_BentSpoon_1[] = { ANIMCMD_FRAME(8, 60), ANIMCMD_FRAME(16, 5), @@ -209,24 +209,24 @@ const union AnimCmd gUnknown_08596694[] = ANIMCMD_END, }; -const union AnimCmd *const gUnknown_085966D4[] = +static const union AnimCmd *const sAnims_BentSpoon[] = { - gUnknown_08596654, - gUnknown_08596694, + sAnim_BentSpoon_0, + sAnim_BentSpoon_1, }; -const struct SpriteTemplate gUnknown_085966DC = +const struct SpriteTemplate gBentSpoonSpriteTemplate = { .tileTag = ANIM_TAG_BENT_SPOON, .paletteTag = ANIM_TAG_BENT_SPOON, .oam = &gOamData_AffineOff_ObjNormal_16x32, - .anims = gUnknown_085966D4, + .anims = sAnims_BentSpoon, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_810F634, + .callback = AnimBentSpoon, }; -const union AnimCmd gUnknown_085966F4[] = +static const union AnimCmd sAnim_QuestionMark[] = { ANIMCMD_FRAME(0, 6), ANIMCMD_FRAME(16, 6), @@ -238,12 +238,12 @@ const union AnimCmd gUnknown_085966F4[] = ANIMCMD_END, }; -const union AnimCmd *const gUnknown_08596714[] = +static const union AnimCmd *const sAnims_QuestionMark[] = { - gUnknown_085966F4, + sAnim_QuestionMark, }; -const union AffineAnimCmd gUnknown_08596718[] = +static const union AffineAnimCmd sAffineAnim_QuestionMark[] = { AFFINEANIMCMD_FRAME(0, 0, 4, 4), AFFINEANIMCMD_FRAME(0, 0, -4, 8), @@ -252,23 +252,23 @@ const union AffineAnimCmd gUnknown_08596718[] = AFFINEANIMCMD_END, }; -const union AffineAnimCmd *const gUnknown_08596740[] = +static const union AffineAnimCmd *const sAffineAnims_QuestionMark[] = { - gUnknown_08596718, + sAffineAnim_QuestionMark, }; -const struct SpriteTemplate gUnknown_08596744 = +const struct SpriteTemplate gQuestionMarkSpriteTemplate = { .tileTag = ANIM_TAG_AMNESIA, .paletteTag = ANIM_TAG_AMNESIA, .oam = &gOamData_AffineOff_ObjNormal_32x32, - .anims = gUnknown_08596714, + .anims = sAnims_QuestionMark, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_810F6B0, + .callback = AnimQuestionMark, }; -const union AffineAnimCmd gUnknown_0859675C[] = +static const union AffineAnimCmd sAffineAnim_MeditateStretchAttacker[] = { AFFINEANIMCMD_FRAME(-8, 10, 0, 16), AFFINEANIMCMD_FRAME(18, -18, 0, 16), @@ -276,14 +276,14 @@ const union AffineAnimCmd gUnknown_0859675C[] = AFFINEANIMCMD_END, }; -const union AffineAnimCmd gUnknown_0859677C[] = +static const union AffineAnimCmd sAffineAnim_Teleport[] = { AFFINEANIMCMD_FRAME(64, -4, 0, 20), AFFINEANIMCMD_FRAME(0, 0, 0, -56), AFFINEANIMCMD_END, }; -const struct SpriteTemplate gUnknown_08596794 = +const struct SpriteTemplate gImprisonOrbSpriteTemplate = { .tileTag = ANIM_TAG_HOLLOW_ORB, .paletteTag = ANIM_TAG_HOLLOW_ORB, @@ -294,25 +294,25 @@ const struct SpriteTemplate gUnknown_08596794 = .callback = SpriteCallbackDummy, }; -const struct SpriteTemplate gUnknown_085967AC = +const struct SpriteTemplate gRedXSpriteTemplate = { - .tileTag = 10250, - .paletteTag = 10250, + .tileTag = ANIM_TAG_X_SIGN, + .paletteTag = ANIM_TAG_X_SIGN, .oam = &gOamData_AffineOff_ObjNormal_64x64, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_810FBA8, + .callback = AnimRedX, }; -const union AffineAnimCmd gUnknown_085967C4[] = +static const union AffineAnimCmd sAffineAnim_SkillSwapOrb_0[] = { AFFINEANIMCMD_FRAME(0xFFF8, 0xFFF8, 0, 8), AFFINEANIMCMD_FRAME(0x8, 0x8, 0, 8), AFFINEANIMCMD_JUMP(0), }; -const union AffineAnimCmd gUnknown_085967DC[] = +static const union AffineAnimCmd sAffineAnim_SkillSwapOrb_1[] = { AFFINEANIMCMD_FRAME(0xF0, 0xF0, 0, 0), AFFINEANIMCMD_FRAME(0xFFF8, 0xFFF8, 0, 6), @@ -321,7 +321,7 @@ const union AffineAnimCmd gUnknown_085967DC[] = AFFINEANIMCMD_JUMP(1), }; -const union AffineAnimCmd gUnknown_08596804[] = +static const union AffineAnimCmd sAffineAnim_SkillSwapOrb_2[] = { AFFINEANIMCMD_FRAME(0xD0, 0xD0, 0, 0), AFFINEANIMCMD_FRAME(0xFFF8, 0xFFF8, 0, 4), @@ -330,7 +330,7 @@ const union AffineAnimCmd gUnknown_08596804[] = AFFINEANIMCMD_JUMP(1), }; -const union AffineAnimCmd gUnknown_0859682C[] = +static const union AffineAnimCmd sAffineAnim_SkillSwapOrb_3[] = { AFFINEANIMCMD_FRAME(0xB0, 0xB0, 0, 0), AFFINEANIMCMD_FRAME(0xFFF8, 0xFFF8, 0, 2), @@ -339,49 +339,49 @@ const union AffineAnimCmd gUnknown_0859682C[] = AFFINEANIMCMD_JUMP(1), }; -const union AffineAnimCmd *const gUnknown_08596854[] = +static const union AffineAnimCmd *const sAffineAnims_SkillSwapOrb[] = { - gUnknown_085967C4, - gUnknown_085967DC, - gUnknown_08596804, - gUnknown_0859682C, + sAffineAnim_SkillSwapOrb_0, + sAffineAnim_SkillSwapOrb_1, + sAffineAnim_SkillSwapOrb_2, + sAffineAnim_SkillSwapOrb_3, }; -const struct SpriteTemplate gUnknown_08596864 = +const struct SpriteTemplate gSkillSwapOrbSpriteTemplate = { .tileTag = ANIM_TAG_BLUEGREEN_ORB, .paletteTag = ANIM_TAG_BLUEGREEN_ORB, .oam = &gOamData_AffineNormal_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_08596854, - .callback = sub_810FDF0, + .affineAnims = sAffineAnims_SkillSwapOrb, + .callback = AnimSkillSwapOrb, }; -const union AffineAnimCmd gUnknown_0859687C[] = +static const union AffineAnimCmd sAffineAnim_LusterPurgeCircle[] = { AFFINEANIMCMD_FRAME(0x20, 0x20, 0, 0), AFFINEANIMCMD_FRAME(0x4, 0x4, 0, 120), AFFINEANIMCMD_END_ALT(1), }; -const union AffineAnimCmd *const gUnknown_08596894[] = +static const union AffineAnimCmd *const sAffineAnims_LusterPurgeCircle[] = { - gUnknown_0859687C, + sAffineAnim_LusterPurgeCircle, }; -const struct SpriteTemplate gUnknown_08596898 = +const struct SpriteTemplate gLusterPurgeCircleSpriteTemplate = { .tileTag = ANIM_TAG_WHITE_CIRCLE_OF_LIGHT, .paletteTag = ANIM_TAG_WHITE_CIRCLE_OF_LIGHT, .oam = &gOamData_AffineDouble_ObjBlend_64x64, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_08596894, + .affineAnims = sAffineAnims_LusterPurgeCircle, .callback = AnimSpriteOnMonPos, }; -const union AffineAnimCmd gUnknown_085968B0[] = +static const union AffineAnimCmd sAffineAnim_PsychoBoostOrb_0[] = { AFFINEANIMCMD_FRAME(0x20, 0x20, 0, 0), AFFINEANIMCMD_FRAME(0x10, 0x10, 0, 17), @@ -396,30 +396,31 @@ const union AffineAnimCmd gUnknown_085968B0[] = AFFINEANIMCMD_END, }; -const union AffineAnimCmd gUnknown_08596908[] = +static const union AffineAnimCmd sAffineAnim_PsychoBoostOrb_1[] = { AFFINEANIMCMD_FRAME(0xFFEC, 0x18, 0, 15), AFFINEANIMCMD_END, }; -const union AffineAnimCmd *const gUnknown_08596918[] = +static const union AffineAnimCmd *const sAffineAnims_PsychoBoostOrb[] = { - gUnknown_085968B0, - gUnknown_08596908, + sAffineAnim_PsychoBoostOrb_0, + sAffineAnim_PsychoBoostOrb_1, }; -const struct SpriteTemplate gUnknown_08596920 = +const struct SpriteTemplate gPsychoBoostOrbSpriteTemplate = { .tileTag = ANIM_TAG_CIRCLE_OF_LIGHT, .paletteTag = ANIM_TAG_CIRCLE_OF_LIGHT, .oam = &gOamData_AffineDouble_ObjBlend_64x64, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_08596918, - .callback = sub_8110240, + .affineAnims = sAffineAnims_PsychoBoostOrb, + .callback = AnimPsychoBoost, }; -void sub_810F1EC(struct Sprite *sprite) +// For the rectangular wall sprite used by Reflect, Mirror Coat, etc +static void AnimDefensiveWall(struct Sprite *sprite) { u8 isContest = IsContest(); @@ -472,16 +473,16 @@ void sub_810F1EC(struct Sprite *sprite) if (isContest) { sprite->pos1.y += 9; - sprite->callback = sub_810F3C8; + sprite->callback = AnimDefensiveWall_Step2; sprite->callback(sprite); } else { - sprite->callback = sub_810F340; + sprite->callback = AnimDefensiveWall_Step1; } } -static void sub_810F340(struct Sprite *sprite) +static void AnimDefensiveWall_Step1(struct Sprite *sprite) { u8 battler = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); if (!sprite->data[7]) @@ -491,26 +492,26 @@ static void sub_810F340(struct Sprite *sprite) } if (IsBattlerSpriteVisible(battler)) - gSprites[gBattlerSpriteIds[battler]].invisible = 1; + gSprites[gBattlerSpriteIds[battler]].invisible = TRUE; battler = BATTLE_PARTNER(battler); if (IsBattlerSpriteVisible(battler)) - gSprites[gBattlerSpriteIds[battler]].invisible = 1; + gSprites[gBattlerSpriteIds[battler]].invisible = TRUE; - sprite->callback = sub_810F3C8; + sprite->callback = AnimDefensiveWall_Step2; sprite->callback(sprite); } -static void sub_810F3C8(struct Sprite *sprite) +static void AnimDefensiveWall_Step2(struct Sprite *sprite) { SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(sprite->data[3], 16 - sprite->data[3])); if (sprite->data[3] == 13) - sprite->callback = sub_810F400; + sprite->callback = AnimDefensiveWall_Step3; else sprite->data[3]++; } -static void sub_810F400(struct Sprite *sprite) +static void AnimDefensiveWall_Step3(struct Sprite *sprite) { u16 color; u16 startOffset; @@ -528,11 +529,11 @@ static void sub_810F400(struct Sprite *sprite) gPlttBufferFaded[startOffset + 1] = color; if (++sprite->data[2] == 16) - sprite->callback = sub_810F46C; + sprite->callback = AnimDefensiveWall_Step4; } } -static void sub_810F46C(struct Sprite *sprite) +static void AnimDefensiveWall_Step4(struct Sprite *sprite) { SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(sprite->data[3], 16 - sprite->data[3])); @@ -544,19 +545,19 @@ static void sub_810F46C(struct Sprite *sprite) u8 battler = battlerCopy = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); if (IsBattlerSpriteVisible(battler)) - gSprites[gBattlerSpriteIds[battler]].invisible = 0; + gSprites[gBattlerSpriteIds[battler]].invisible = FALSE; battler = BATTLE_PARTNER(battlerCopy); if (IsBattlerSpriteVisible(battler)) - gSprites[gBattlerSpriteIds[battler]].invisible = 0; + gSprites[gBattlerSpriteIds[battler]].invisible = FALSE; } - sprite->invisible = 1; - sprite->callback = sub_810F524; + sprite->invisible = TRUE; + sprite->callback = AnimDefensiveWall_Step5; } } -static void sub_810F524(struct Sprite *sprite) +static void AnimDefensiveWall_Step5(struct Sprite *sprite) { if (!IsContest()) { @@ -577,7 +578,8 @@ static void sub_810F524(struct Sprite *sprite) sprite->callback = DestroyAnimSprite; } -void sub_810F58C(struct Sprite *sprite) +// Animates the sparkle that appears during Reflect or Light Screen/Mirror Coat +static void AnimWallSparkle(struct Sprite *sprite) { if (sprite->data[0] == 0) { @@ -601,7 +603,7 @@ void sub_810F58C(struct Sprite *sprite) } else { - if (gBattleAnimArgs[2] == 0) + if (gBattleAnimArgs[2] == ANIM_ATTACKER) InitSpritePosToAnimAttacker(sprite, respectMonPicOffsets); else InitSpritePosToAnimTarget(sprite, respectMonPicOffsets); @@ -616,7 +618,7 @@ void sub_810F58C(struct Sprite *sprite) } } -void sub_810F634(struct Sprite *sprite) +static void AnimBentSpoon(struct Sprite *sprite) { sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2); sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET); @@ -639,7 +641,8 @@ void sub_810F634(struct Sprite *sprite) sprite->callback = RunStoredCallbackWhenAnimEnds; } -void sub_810F6B0(struct Sprite *sprite) +// Used by Amnesia +static void AnimQuestionMark(struct Sprite *sprite) { s16 x = GetBattlerSpriteCoordAttr(gBattleAnimAttacker, BATTLER_COORD_ATTR_WIDTH) / 2; s16 y = GetBattlerSpriteCoordAttr(gBattleAnimAttacker, BATTLER_COORD_ATTR_HEIGHT) / -2; @@ -653,20 +656,20 @@ void sub_810F6B0(struct Sprite *sprite) if (sprite->pos1.y < 16) sprite->pos1.y = 16; - StoreSpriteCallbackInData6(sprite, sub_810F740); + StoreSpriteCallbackInData6(sprite, AnimQuestionMark_Step1); sprite->callback = RunStoredCallbackWhenAnimEnds; } -static void sub_810F740(struct Sprite *sprite) +static void AnimQuestionMark_Step1(struct Sprite *sprite) { sprite->oam.affineMode = ST_OAM_AFFINE_NORMAL; - sprite->affineAnims = gUnknown_08596740; + sprite->affineAnims = sAffineAnims_QuestionMark; sprite->data[0] = 0; InitSpriteAffineAnim(sprite); - sprite->callback = sub_810F774; + sprite->callback = AnimQuestionMark_Step2; } -static void sub_810F774(struct Sprite *sprite) +static void AnimQuestionMark_Step2(struct Sprite *sprite) { switch (sprite->data[0]) { @@ -686,22 +689,22 @@ static void sub_810F774(struct Sprite *sprite) } } -void sub_810F7D4(u8 taskId) +void AnimTask_MeditateStretchAttacker(u8 taskId) { struct Task *task = &gTasks[taskId]; u8 spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER); task->data[0] = spriteId; - PrepareAffineAnimInTaskData(task, spriteId, gUnknown_0859675C); - task->func = sub_810F810; + PrepareAffineAnimInTaskData(task, spriteId, sAffineAnim_MeditateStretchAttacker); + task->func = AnimTask_MeditateStretchAttacker_Step; } -static void sub_810F810(u8 taskId) +static void AnimTask_MeditateStretchAttacker_Step(u8 taskId) { if (!RunAffineAnimFromTaskData(&gTasks[taskId])) DestroyAnimVisualTask(taskId); } -void sub_810F83C(u8 taskId) +void AnimTask_Teleport(u8 taskId) { struct Task *task = &gTasks[taskId]; u8 spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER); @@ -710,11 +713,11 @@ void sub_810F83C(u8 taskId) task->data[2] = 0; task->data[3] = GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER ? 4 : 8; - PrepareAffineAnimInTaskData(task, task->data[0], gUnknown_0859677C); - task->func = sub_810F898; + PrepareAffineAnimInTaskData(task, task->data[0], sAffineAnim_Teleport); + task->func = AnimTask_Teleport_Step; } -static void sub_810F898(u8 taskId) +static void AnimTask_Teleport_Step(u8 taskId) { struct Task *task = &gTasks[taskId]; @@ -733,7 +736,7 @@ static void sub_810F898(u8 taskId) } else { - gSprites[task->data[0]].invisible = 1; + gSprites[task->data[0]].invisible = TRUE; gSprites[task->data[0]].pos1.x = 272; ResetSpriteRotScale(task->data[0]); DestroyAnimVisualTask(taskId); @@ -742,7 +745,7 @@ static void sub_810F898(u8 taskId) } } -void sub_810F940(u8 taskId) +void AnimTask_ImprisonOrbs(u8 taskId) { u16 var0, var1; @@ -760,10 +763,10 @@ void sub_810F940(u8 taskId) SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT2_ALL | BLDCNT_EFFECT_BLEND); SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(16, 0)); - task->func = sub_810F9D4; + task->func = AnimTask_ImprisonOrbs_Step; } -static void sub_810F9D4(u8 taskId) +static void AnimTask_ImprisonOrbs_Step(u8 taskId) { u16 i; u8 spriteId; @@ -775,7 +778,7 @@ static void sub_810F9D4(u8 taskId) if (++task->data[1] > 8) { task->data[1] = 0; - spriteId = CreateSprite(&gUnknown_08596794, task->data[13], task->data[14], 0); + spriteId = CreateSprite(&gImprisonOrbSpriteTemplate, task->data[13], task->data[14], 0); task->data[task->data[2] + 8] = spriteId; if (spriteId != MAX_SPRITES) { @@ -844,9 +847,9 @@ static void sub_810FB60(struct Sprite *sprite) sprite->data[1]++; } -void sub_810FBA8(struct Sprite *sprite) +static void AnimRedX(struct Sprite *sprite) { - if (gBattleAnimArgs[0] == 0) + if (gBattleAnimArgs[0] == ANIM_ATTACKER) { sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2); sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET); @@ -856,13 +859,13 @@ void sub_810FBA8(struct Sprite *sprite) sprite->callback = sub_810FB60; } -void sub_810FBF0(u8 taskId) +void AnimTask_SkillSwap(u8 taskId) { struct Task *task = &gTasks[taskId]; if (IsContest()) { - if (gBattleAnimArgs[0] == 1) + if (gBattleAnimArgs[0] == ANIM_TARGET) { task->data[10] = -10; task->data[11] = GetBattlerSpriteCoordAttr(gBattleAnimTarget, BATTLER_COORD_ATTR_RIGHT) - 8; @@ -900,10 +903,10 @@ void sub_810FBF0(u8 taskId) } task->data[1] = 6; - task->func = sub_810FD3C; + task->func = AnimTask_SkillSwap_Step; } -static void sub_810FD3C(u8 taskId) +static void AnimTask_SkillSwap_Step(u8 taskId) { u8 spriteId; struct Task *task = &gTasks[taskId]; @@ -914,7 +917,7 @@ static void sub_810FD3C(u8 taskId) if (++task->data[1] > 6) { task->data[1] = 0; - spriteId = CreateSprite(&gUnknown_08596864, task->data[11], task->data[12], 0); + spriteId = CreateSprite(&gSkillSwapOrbSpriteTemplate, task->data[11], task->data[12], 0); if (spriteId != 64) { gSprites[spriteId].data[0] = 16; @@ -937,7 +940,7 @@ static void sub_810FD3C(u8 taskId) } } -void sub_810FDF0(struct Sprite *sprite) +static void AnimSkillSwapOrb(struct Sprite *sprite) { if (TranslateAnimHorizontalArc(sprite)) { @@ -946,7 +949,9 @@ void sub_810FDF0(struct Sprite *sprite) } } -void sub_810FE14(u8 taskId) +// The scanline effect that distorts the target during Extrasensory by segmenting the mon vertically and shifting the slices +// arg0: Stage. Stage 0 is a slight right distortion, 1 is a medium left distortion, and 2 is a severe right distortion +void AnimTask_ExtrasensoryDistortion(u8 taskId) { s16 i; u8 yOffset; @@ -1004,10 +1009,10 @@ void sub_810FE14(u8 taskId) scanlineParams.initState = 1; scanlineParams.unused9 = 0; ScanlineEffect_SetParams(scanlineParams); - task->func = sub_810FF34; + task->func = AnimTask_ExtrasensoryDistortion_Step; } -static void sub_810FF34(u8 taskId) +static void AnimTask_ExtrasensoryDistortion_Step(u8 taskId) { s16 sineIndex, i; struct Task *task = &gTasks[taskId]; @@ -1044,7 +1049,9 @@ static void sub_810FF34(u8 taskId) } } -void sub_8110034(u8 taskId) +// Creates a cloned transparent sprite of the battler that grows and then shrinks back to original size. Used by Extrasensory +// arg0: battler +void AnimTask_TransparentCloneGrowAndShrink(u8 taskId) { s16 spriteId; s16 matrixNum; @@ -1075,10 +1082,10 @@ void sub_8110034(u8 taskId) task->data[13] = GetAnimBattlerSpriteId(gBattleAnimArgs[0]); task->data[14] = matrixNum; task->data[15] = spriteId; - task->func = sub_8110134; + task->func = AnimTask_TransparentCloneGrowAndShrink_Step; } -static void sub_8110134(u8 taskId) +static void AnimTask_TransparentCloneGrowAndShrink_Step(u8 taskId) { struct Task *task = &gTasks[taskId]; @@ -1111,7 +1118,7 @@ static void sub_8110134(u8 taskId) } } -void sub_8110240(struct Sprite *sprite) +static void AnimPsychoBoost(struct Sprite *sprite) { switch (sprite->data[0]) { @@ -1144,7 +1151,7 @@ void sub_8110240(struct Sprite *sprite) if (sprite->data[1] == 0) { sprite->data[0]++; - sprite->invisible = 1; + sprite->invisible = TRUE; } } diff --git a/src/rock.c b/src/battle_anim_rock.c index 28566f1b7..1f22d2976 100644 --- a/src/rock.c +++ b/src/battle_anim_rock.c @@ -9,75 +9,72 @@ #include "constants/rgb.h" #include "constants/songs.h" -extern const union AnimCmd *const gUnknown_085950E0[]; -extern const union AnimCmd *const gUnknown_085954D0[]; - -void sub_81109F0(struct Sprite *); -void sub_8110AB4(struct Sprite *); -void AnimDirtParticleAcrossScreen(struct Sprite *); -void AnimRaiseSprite(struct Sprite *); -void sub_81110A4(u8 taskId); -void sub_811131C(struct Sprite *); -void sub_8111388(struct Sprite *); -void sub_8111418(struct Sprite *); -void sub_8111444(struct Sprite *); -void sub_8110B38(struct Sprite *); -static void sub_8110A70(struct Sprite *); -static void sub_8110B80(struct Sprite *sprite); -static void sub_8110CB0(u8 taskId); +static void AnimFallingRock(struct Sprite *); +static void AnimFallingRock_Step(struct Sprite *); +static void AnimRockFragment(struct Sprite *); +static void AnimFlyingSandCrescent(struct Sprite *); +static void AnimRaiseSprite(struct Sprite *); +static void AnimTask_Rollout_Step(u8 taskId); +static void AnimRolloutParticle(struct Sprite *); +static void AnimRockTomb(struct Sprite *); +static void AnimRockTomb_Step(struct Sprite *sprite); +static void AnimRockBlastRock(struct Sprite *); +static void AnimRockScatter(struct Sprite *); +static void AnimRockScatter_Step(struct Sprite *sprite); +static void AnimParticleInVortex(struct Sprite *); +static void AnimParticleInVortex_Step(struct Sprite *sprite); +static void AnimTask_LoadSandstormBackground_Step(u8 taskId); static void sub_8111214(struct Task *task); -static u8 sub_811135C(void); -static void sub_81113C8(struct Sprite *sprite); -static void sub_811149C(struct Sprite *sprite); +static u8 GetRolloutCounter(void); -const union AnimCmd gUnknown_08596AE0[] = +static const union AnimCmd sAnim_FlyingRock_0[] = { ANIMCMD_FRAME(32, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_08596AE8[] = +static const union AnimCmd sAnim_FlyingRock_1[] = { ANIMCMD_FRAME(48, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_08596AF0[] = +static const union AnimCmd sAnim_FlyingRock_2[] = { ANIMCMD_FRAME(64, 1), ANIMCMD_END, }; -const union AnimCmd *const gUnknown_08596AF8[] = +static const union AnimCmd *const sAnims_FlyingRock[] = { - gUnknown_08596AE0, - gUnknown_08596AE8, - gUnknown_08596AF0, + sAnim_FlyingRock_0, + sAnim_FlyingRock_1, + sAnim_FlyingRock_2, }; -const struct SpriteTemplate gUnknown_08596B04 = +const struct SpriteTemplate gFallingRockSpriteTemplate = { .tileTag = ANIM_TAG_ROCKS, .paletteTag = ANIM_TAG_ROCKS, .oam = &gOamData_AffineOff_ObjNormal_32x32, - .anims = gUnknown_08596AF8, + .anims = sAnims_FlyingRock, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_81109F0, + .callback = AnimFallingRock, }; -const struct SpriteTemplate gUnknown_08596B1C = +const struct SpriteTemplate gRockFragmentSpriteTemplate = { .tileTag = ANIM_TAG_ROCKS, .paletteTag = ANIM_TAG_ROCKS, .oam = &gOamData_AffineOff_ObjNormal_32x32, - .anims = gUnknown_08596AF8, + .anims = sAnims_FlyingRock, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_8110AB4, + .callback = AnimRockFragment, }; -const struct SpriteTemplate gUnknown_08596B34 = +const struct SpriteTemplate gSwirlingDirtSpriteTemplate = { .tileTag = ANIM_TAG_MUD_SAND, .paletteTag = ANIM_TAG_MUD_SAND, @@ -85,10 +82,10 @@ const struct SpriteTemplate gUnknown_08596B34 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_8110B38, + .callback = AnimParticleInVortex, }; -const union AffineAnimCmd gUnknown_08596B4C[] = +static const union AffineAnimCmd sAffineAnim_Whirlpool[] = { AFFINEANIMCMD_FRAME(0xC0, 0xC0, 0, 0), AFFINEANIMCMD_FRAME(0x2, 0xFFFD, 0, 5), @@ -96,34 +93,34 @@ const union AffineAnimCmd gUnknown_08596B4C[] = AFFINEANIMCMD_JUMP(1), }; -const union AffineAnimCmd *const gUnknown_08596B6C[] = +static const union AffineAnimCmd *const sAffineAnims_Whirlpool[] = { - gUnknown_08596B4C, + sAffineAnim_Whirlpool, }; -const struct SpriteTemplate gUnknown_08596B70 = +const struct SpriteTemplate gWhirlpoolSpriteTemplate = { .tileTag = ANIM_TAG_WATER_ORB, .paletteTag = ANIM_TAG_WATER_ORB, .oam = &gOamData_AffineNormal_ObjBlend_16x16, - .anims = gUnknown_085950E0, + .anims = gAnims_WaterMudOrb, .images = NULL, - .affineAnims = gUnknown_08596B6C, - .callback = sub_8110B38, + .affineAnims = sAffineAnims_Whirlpool, + .callback = AnimParticleInVortex, }; -const struct SpriteTemplate gUnknown_08596B88 = +const struct SpriteTemplate gFireSpinSpriteTemplate = { .tileTag = ANIM_TAG_SMALL_EMBER, .paletteTag = ANIM_TAG_SMALL_EMBER, .oam = &gOamData_AffineOff_ObjNormal_32x32, - .anims = gUnknown_085954D0, + .anims = gAnims_BasicFire, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_8110B38, + .callback = AnimParticleInVortex, }; -const struct SpriteTemplate gBattleAnimSpriteTemplate_8596BA0 = +const struct SpriteTemplate gFlyingSandCrescentSpriteTemplate = { .tileTag = ANIM_TAG_FLYING_DIRT, .paletteTag = ANIM_TAG_FLYING_DIRT, @@ -131,86 +128,86 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_8596BA0 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = AnimDirtParticleAcrossScreen, + .callback = AnimFlyingSandCrescent, }; -const struct Subsprite gUnknown_08596BB8[] = +static const struct Subsprite sFlyingSandSubsprites[] = { {.x = -16, .y = 0, .shape = SPRITE_SHAPE(32x16), .size = SPRITE_SIZE(32x16), .tileOffset = 0, .priority = 1}, {.x = 16, .y = 0, .shape = SPRITE_SHAPE(32x16), .size = SPRITE_SIZE(32x16), .tileOffset = 8, .priority = 1}, }; -const struct SubspriteTable gUnknown_08596BC0[] = +static const struct SubspriteTable sFlyingSandSubspriteTable[] = { - {ARRAY_COUNT(gUnknown_08596BB8), gUnknown_08596BB8}, + {ARRAY_COUNT(sFlyingSandSubsprites), sFlyingSandSubsprites}, }; -const union AnimCmd gUnknown_08596BC8[] = +static const union AnimCmd sAnim_BasicRock_0[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_08596BD0[] = +static const union AnimCmd sAnim_BasicRock_1[] = { ANIMCMD_FRAME(16, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_08596BD8[] = +static const union AnimCmd sAnim_WeatherBallRockDown_0[] = { ANIMCMD_FRAME(32, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_08596BE0[] = +static const union AnimCmd sAnim_WeatherBallRockDown_1[] = { ANIMCMD_FRAME(48, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_08596BE8[] = +static const union AnimCmd sAnim_TwisterRock_0[] = { ANIMCMD_FRAME(64, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_08596BF0[] = +static const union AnimCmd sAnim_TwisterRock_1[] = { ANIMCMD_FRAME(80, 1), ANIMCMD_END, }; -const union AnimCmd *const gUnknown_08596BF8[] = +static const union AnimCmd *const sAnims_BasicRock[] = { - gUnknown_08596BC8, - gUnknown_08596BD0, + sAnim_BasicRock_0, + sAnim_BasicRock_1, }; -const union AnimCmd *const gUnknown_08596C00[] = +static const union AnimCmd *const sAnims_WeatherBallRockDown[] = { - gUnknown_08596BD8, - gUnknown_08596BE0, + sAnim_WeatherBallRockDown_0, + sAnim_WeatherBallRockDown_1, }; -const union AnimCmd *const gUnknown_08596C08[] = +static const union AnimCmd *const sAnims_TwisterRock[] = { - gUnknown_08596BE8, - gUnknown_08596BF0, + sAnim_TwisterRock_0, + sAnim_TwisterRock_1, }; -const struct SpriteTemplate gUnknown_08596C10 = +const struct SpriteTemplate gAncientPowerRockSpriteTemplate = { .tileTag = ANIM_TAG_ROCKS, .paletteTag = ANIM_TAG_ROCKS, .oam = &gOamData_AffineOff_ObjNormal_32x32, - .anims = gUnknown_08596BF8, + .anims = sAnims_BasicRock, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimRaiseSprite, }; -const struct SpriteTemplate gUnknown_08596C28 = +const struct SpriteTemplate gRolloutMudSpriteTemplate = { .tileTag = ANIM_TAG_MUD_SAND, .paletteTag = ANIM_TAG_MUD_SAND, @@ -218,10 +215,10 @@ const struct SpriteTemplate gUnknown_08596C28 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_811131C, + .callback = AnimRolloutParticle, }; -const struct SpriteTemplate gUnknown_08596C40 = +const struct SpriteTemplate gRolloutRockSpriteTemplate = { .tileTag = ANIM_TAG_ROCKS, .paletteTag = ANIM_TAG_ROCKS, @@ -229,83 +226,83 @@ const struct SpriteTemplate gUnknown_08596C40 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_811131C, + .callback = AnimRolloutParticle, }; -const struct SpriteTemplate gUnknown_08596C58 = +const struct SpriteTemplate gRockTombRockSpriteTemplate = { .tileTag = ANIM_TAG_ROCKS, .paletteTag = ANIM_TAG_ROCKS, .oam = &gOamData_AffineOff_ObjNormal_32x32, - .anims = gUnknown_08596BF8, + .anims = sAnims_BasicRock, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_8111388, + .callback = AnimRockTomb, }; -const union AffineAnimCmd gUnknown_08596C70[] = +static const union AffineAnimCmd sAffineAnim_BasicRock_0[] = { AFFINEANIMCMD_FRAME(0x0, 0x0, -5, 5), AFFINEANIMCMD_JUMP(0), }; -const union AffineAnimCmd gUnknown_08596C80[] = +static const union AffineAnimCmd sAffineAnim_BasicRock_1[] = { AFFINEANIMCMD_FRAME(0x0, 0x0, 5, 5), AFFINEANIMCMD_JUMP(0), }; -const union AffineAnimCmd *const gUnknown_08596C90[] = +static const union AffineAnimCmd *const sAffineAnims_BasicRock[] = { - gUnknown_08596C70, - gUnknown_08596C80, + sAffineAnim_BasicRock_0, + sAffineAnim_BasicRock_1, }; -const struct SpriteTemplate gUnknown_08596C98 = +const struct SpriteTemplate gRockBlastRockSpriteTemplate = { .tileTag = ANIM_TAG_ROCKS, .paletteTag = ANIM_TAG_ROCKS, .oam = &gOamData_AffineNormal_ObjNormal_32x32, - .anims = gUnknown_08596BF8, + .anims = sAnims_BasicRock, .images = NULL, - .affineAnims = gUnknown_08596C90, - .callback = sub_8111418, + .affineAnims = sAffineAnims_BasicRock, + .callback = AnimRockBlastRock, }; -const struct SpriteTemplate gUnknown_08596CB0 = +const struct SpriteTemplate gRockScatterSpriteTemplate = { .tileTag = ANIM_TAG_ROCKS, .paletteTag = ANIM_TAG_ROCKS, .oam = &gOamData_AffineNormal_ObjNormal_32x32, - .anims = gUnknown_08596BF8, + .anims = sAnims_BasicRock, .images = NULL, - .affineAnims = gUnknown_08596C90, - .callback = sub_8111444, + .affineAnims = sAffineAnims_BasicRock, + .callback = AnimRockScatter, }; -const struct SpriteTemplate gUnknown_08596CC8 = +const struct SpriteTemplate gTwisterRockSpriteTemplate = { .tileTag = ANIM_TAG_ROCKS, .paletteTag = ANIM_TAG_ROCKS, .oam = &gOamData_AffineOff_ObjNormal_32x32, - .anims = gUnknown_08596C08, + .anims = sAnims_TwisterRock, .images = NULL, - .affineAnims = gUnknown_08596C90, + .affineAnims = sAffineAnims_BasicRock, .callback = AnimMoveTwisterParticle, }; -const struct SpriteTemplate gUnknown_08596CE0 = +const struct SpriteTemplate gWeatherBallRockDownSpriteTemplate = { .tileTag = ANIM_TAG_ROCKS, .paletteTag = ANIM_TAG_ROCKS, .oam = &gOamData_AffineNormal_ObjNormal_32x32, - .anims = gUnknown_08596C00, + .anims = sAnims_WeatherBallRockDown, .images = NULL, - .affineAnims = gUnknown_08596C90, - .callback = sub_80A8EE4, + .affineAnims = sAffineAnims_BasicRock, + .callback = AnimWeatherBallDown, }; -void sub_81109F0(struct Sprite *sprite) +static void AnimFallingRock(struct Sprite *sprite) { if (gBattleAnimArgs[3] != 0) SetAverageBattlerPositions(gBattleAnimTarget, 0, &sprite->pos1.x, &sprite->pos1.y); @@ -323,12 +320,12 @@ void sub_81109F0(struct Sprite *sprite) sprite->data[4] = -70; sprite->data[5] = gBattleAnimArgs[2]; - StoreSpriteCallbackInData6(sprite, sub_8110A70); + StoreSpriteCallbackInData6(sprite, AnimFallingRock_Step); sprite->callback = TranslateSpriteInEllipseOverDuration; sprite->callback(sprite); } -static void sub_8110A70(struct Sprite *sprite) +static void AnimFallingRock_Step(struct Sprite *sprite) { sprite->pos1.x += sprite->data[5]; @@ -343,7 +340,8 @@ static void sub_8110A70(struct Sprite *sprite) sprite->callback(sprite); } -void sub_8110AB4(struct Sprite *sprite) +// Animates the rock particles that are shown on the impact for Rock Blast / Rock Smash +static void AnimRockFragment(struct Sprite *sprite) { StartSpriteAnim(sprite, gBattleAnimArgs[5]); AnimateSprite(sprite); @@ -369,9 +367,10 @@ void sub_8110AB4(struct Sprite *sprite) StoreSpriteCallbackInData6(sprite, DestroySpriteAndMatrix); } -void sub_8110B38(struct Sprite *sprite) +// Swirls particle in vortex. Used for moves like Fire Spin or Sand Tomb +static void AnimParticleInVortex(struct Sprite *sprite) { - if (gBattleAnimArgs[6] == 0) + if (gBattleAnimArgs[6] == ANIM_ATTACKER) InitSpritePosToAnimAttacker(sprite, 0); else InitSpritePosToAnimTarget(sprite, FALSE); @@ -381,10 +380,10 @@ void sub_8110B38(struct Sprite *sprite) sprite->data[2] = gBattleAnimArgs[4]; sprite->data[3] = gBattleAnimArgs[5]; - sprite->callback = sub_8110B80; + sprite->callback = AnimParticleInVortex_Step; } -static void sub_8110B80(struct Sprite *sprite) +static void AnimParticleInVortex_Step(struct Sprite *sprite) { sprite->data[4] += sprite->data[1]; sprite->pos2.y = -(sprite->data[4] >> 8); @@ -417,18 +416,18 @@ void AnimTask_LoadSandstormBackground(u8 taskId) SetGpuReg(REG_OFFSET_BG1VOFS, gBattle_BG1_Y); sub_80A6B30(&animBg); - AnimLoadCompressedBgGfx(animBg.bgId, gUnknown_08D8D58C, animBg.tilesOffset); - sub_80A6D60(&animBg, gUnknown_08D8D410, 0); + AnimLoadCompressedBgGfx(animBg.bgId, gBattleAnimBgImage_Sandstorm, animBg.tilesOffset); + AnimLoadCompressedBgTilemapHandleContest(&animBg, gBattleAnimBgTilemap_Sandstorm, 0); LoadCompressedPalette(gBattleAnimSpritePal_FlyingDirt, animBg.paletteId * 16, 32); if (gBattleAnimArgs[0] && GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) var0 = 1; gTasks[taskId].data[0] = var0; - gTasks[taskId].func = sub_8110CB0; + gTasks[taskId].func = AnimTask_LoadSandstormBackground_Step; } -static void sub_8110CB0(u8 taskId) +static void AnimTask_LoadSandstormBackground_Step(u8 taskId) { struct BattleAnimBgData animBg; @@ -499,7 +498,7 @@ static void sub_8110CB0(u8 taskId) // arg 1: projectile speed // arg 2: y pixel drop // arg 3: ??? unknown (possibly a color bit) -void AnimDirtParticleAcrossScreen(struct Sprite *sprite) +static void AnimFlyingSandCrescent(struct Sprite *sprite) { if (sprite->data[0] == 0) { @@ -516,7 +515,7 @@ void AnimDirtParticleAcrossScreen(struct Sprite *sprite) } sprite->pos1.y = gBattleAnimArgs[0]; - SetSubspriteTables(sprite, gUnknown_08596BC0); + SetSubspriteTables(sprite, sFlyingSandSubspriteTable); sprite->data[1] = gBattleAnimArgs[1]; sprite->data[2] = gBattleAnimArgs[2]; sprite->data[0]++; @@ -550,7 +549,7 @@ void AnimDirtParticleAcrossScreen(struct Sprite *sprite) // arg 2: terminal y offset // arg 3: duration // arg 4: sprite size [1,5] -void AnimRaiseSprite(struct Sprite *sprite) +static void AnimRaiseSprite(struct Sprite *sprite) { StartSpriteAnim(sprite, gBattleAnimArgs[4]); InitSpritePosToAnimAttacker(sprite, 0); @@ -563,10 +562,10 @@ void AnimRaiseSprite(struct Sprite *sprite) StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); } -void sub_8110F74(u8 taskId) +void AnimTask_Rollout(u8 taskId) { u16 var0, var1, var2, var3; - u8 var4; + u8 rolloutCounter; int var5; s16 pan1, pan2; struct Task *task; @@ -581,11 +580,11 @@ void sub_8110F74(u8 taskId) if (BATTLE_PARTNER(gBattleAnimAttacker) == gBattleAnimTarget) var3 = var1; - var4 = sub_811135C(); - if (var4 == 1) + rolloutCounter = GetRolloutCounter(); + if (rolloutCounter == 1) task->data[8] = 32; else - task->data[8] = 48 - (var4 * 8); + task->data[8] = 48 - (rolloutCounter * 8); task->data[0] = 0; task->data[11] = 0; @@ -610,13 +609,13 @@ void sub_8110F74(u8 taskId) task->data[13] = pan1; task->data[14] = (pan2 - pan1) / task->data[8]; - task->data[1] = var4; - task->data[15] = GetAnimBattlerSpriteId(0); + task->data[1] = rolloutCounter; + task->data[15] = GetAnimBattlerSpriteId(ANIM_ATTACKER); - task->func = sub_81110A4; + task->func = AnimTask_Rollout_Step; } -void sub_81110A4(u8 taskId) +static void AnimTask_Rollout_Step(u8 taskId) { struct Task *task; @@ -684,28 +683,28 @@ void sub_81110A4(u8 taskId) static void sub_8111214(struct Task *task) { const struct SpriteTemplate *spriteTemplate; - int var0; + int tileOffset; u16 x, y; u8 spriteId; switch (task->data[1]) { case 1: - spriteTemplate = &gUnknown_08596C28; - var0 = 0; + spriteTemplate = &gRolloutMudSpriteTemplate; + tileOffset = 0; break; case 2: case 3: - spriteTemplate = &gUnknown_08596C40; - var0 = 80; + spriteTemplate = &gRolloutRockSpriteTemplate; + tileOffset = 80; break; case 4: - spriteTemplate = &gUnknown_08596C40; - var0 = 64; + spriteTemplate = &gRolloutRockSpriteTemplate; + tileOffset = 64; break; case 5: - spriteTemplate = &gUnknown_08596C40; - var0 = 48; + spriteTemplate = &gRolloutRockSpriteTemplate; + tileOffset = 48; break; default: return; @@ -722,7 +721,7 @@ static void sub_8111214(struct Task *task) gSprites[spriteId].data[2] = ((task->data[12] * 20) + x) + (task->data[1] * 3); gSprites[spriteId].data[4] = y; gSprites[spriteId].data[5] = -16 - (task->data[1] * 2); - gSprites[spriteId].oam.tileNum += var0; + gSprites[spriteId].oam.tileNum += tileOffset; InitAnimArcTranslation(&gSprites[spriteId]); task->data[11]++; @@ -731,11 +730,11 @@ static void sub_8111214(struct Task *task) task->data[12] *= -1; } -void sub_811131C(struct Sprite *sprite) +static void AnimRolloutParticle(struct Sprite *sprite) { if (TranslateAnimHorizontalArc(sprite)) { - u8 taskId = FindTaskIdByFunc(sub_81110A4); + u8 taskId = FindTaskIdByFunc(AnimTask_Rollout_Step); if (taskId != 0xFF) gTasks[taskId].data[11]--; @@ -743,7 +742,7 @@ void sub_811131C(struct Sprite *sprite) } } -static u8 sub_811135C(void) +static u8 GetRolloutCounter(void) { u8 retVal = gAnimDisableStructPtr->rolloutTimerStartValue - gAnimDisableStructPtr->rolloutTimer; u8 var0 = retVal - 1; @@ -753,7 +752,7 @@ static u8 sub_811135C(void) return retVal; } -void sub_8111388(struct Sprite *sprite) +static void AnimRockTomb(struct Sprite *sprite) { StartSpriteAnim(sprite, gBattleAnimArgs[4]); @@ -762,13 +761,13 @@ void sub_8111388(struct Sprite *sprite) sprite->data[3] -= gBattleAnimArgs[2]; sprite->data[0] = 3; sprite->data[1] = gBattleAnimArgs[3]; - sprite->callback = sub_81113C8; - sprite->invisible = 1; + sprite->callback = AnimRockTomb_Step; + sprite->invisible = TRUE; } -static void sub_81113C8(struct Sprite *sprite) +static void AnimRockTomb_Step(struct Sprite *sprite) { - sprite->invisible = 0; + sprite->invisible = FALSE; if (sprite->data[3] != 0) { sprite->pos2.y = sprite->data[2] + sprite->data[3]; @@ -786,7 +785,7 @@ static void sub_81113C8(struct Sprite *sprite) } } -void sub_8111418(struct Sprite *sprite) +static void AnimRockBlastRock(struct Sprite *sprite) { if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_OPPONENT) StartSpriteAffineAnim(sprite, 1); @@ -794,7 +793,7 @@ void sub_8111418(struct Sprite *sprite) TranslateAnimSpriteToTargetMonLocation(sprite); } -void sub_8111444(struct Sprite *sprite) +static void AnimRockScatter(struct Sprite *sprite) { sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, 0); sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, 1); @@ -806,10 +805,10 @@ void sub_8111444(struct Sprite *sprite) sprite->data[5] = gBattleAnimArgs[2]; StartSpriteAnim(sprite, gBattleAnimArgs[3]); - sprite->callback = sub_811149C; + sprite->callback = AnimRockScatter_Step; } -static void sub_811149C(struct Sprite *sprite) +static void AnimRockScatter_Step(struct Sprite *sprite) { sprite->data[0] += 8; sprite->data[3] += sprite->data[1]; @@ -825,20 +824,20 @@ static void sub_811149C(struct Sprite *sprite) void AnimTask_GetSeismicTossDamageLevel(u8 taskId) { if (gAnimMoveDmg < 33) - gBattleAnimArgs[7] = 0; + gBattleAnimArgs[ARG_RET_ID] = 0; if ((u32)gAnimMoveDmg - 33 < 33) - gBattleAnimArgs[7] = 1; + gBattleAnimArgs[ARG_RET_ID] = 1; if (gAnimMoveDmg > 65) - gBattleAnimArgs[7] = 2; + gBattleAnimArgs[ARG_RET_ID] = 2; DestroyAnimVisualTask(taskId); } -void sub_811152C(u8 taskId) +void AnimTask_MoveSeismicTossBg(u8 taskId) { if (gTasks[taskId].data[0] == 0) { - sub_80A6DAC(0); + sub_80A6DAC(FALSE); gTasks[taskId].data[1] = 200; } @@ -847,18 +846,18 @@ void sub_811152C(u8 taskId) if (gTasks[taskId].data[0] == 120) { - sub_80A6DAC(1); + sub_80A6DAC(TRUE); DestroyAnimVisualTask(taskId); } gTasks[taskId].data[0]++; } -void sub_8111590(u8 taskId) +void AnimTask_SeismicTossBgAccelerateDownAtEnd(u8 taskId) { if (gTasks[taskId].data[0] == 0) { - sub_80A6DAC(0); + sub_80A6DAC(FALSE); gTasks[taskId].data[0]++; gTasks[taskId].data[2] = gBattle_BG3_Y; } @@ -870,7 +869,7 @@ void sub_8111590(u8 taskId) if (gBattleAnimArgs[7] == 0xFFF) { gBattle_BG3_Y = 0; - sub_80A6DAC(1); + sub_80A6DAC(TRUE); DestroyAnimVisualTask(taskId); } } diff --git a/src/battle_anim_smokescreen.c b/src/battle_anim_smokescreen.c new file mode 100644 index 000000000..a8c043e67 --- /dev/null +++ b/src/battle_anim_smokescreen.c @@ -0,0 +1,217 @@ +#include "global.h" +#include "battle_gfx_sfx_util.h" +#include "data.h" +#include "decompress.h" +#include "graphics.h" +#include "sprite.h" +#include "util.h" +#include "constants/pokemon.h" + +static void SmokescreenImpact_Callback(struct Sprite *); +static void SpriteCB_DestroySprite(struct Sprite *sprite); + +// The below data for smokescreen starts and ends with some data that belongs to battle_gfx_sfx_util.c + +const u8 gUnknown_0831C604[] = +{ + [NATURE_HARDY] = 0, + [NATURE_LONELY] = 0, + [NATURE_BRAVE] = 1, + [NATURE_ADAMANT] = 0, + [NATURE_NAUGHTY] = 1, + [NATURE_BOLD] = 1, + [NATURE_DOCILE] = 2, + [NATURE_RELAXED] = 0, + [NATURE_IMPISH] = 0, + [NATURE_LAX] = 0, + [NATURE_TIMID] = 1, + [NATURE_HASTY] = 1, + [NATURE_SERIOUS] = 1, + [NATURE_JOLLY] = 0, + [NATURE_NAIVE] = 2, + [NATURE_MODEST] = 1, + [NATURE_MILD] = 0, + [NATURE_QUIET] = 1, + [NATURE_BASHFUL] = 1, + [NATURE_RASH] = 0, + [NATURE_CALM] = 0, + [NATURE_GENTLE] = 0, + [NATURE_SASSY] = 1, + [NATURE_CAREFUL] = 1, + [NATURE_QUIRKY] = 0, +}; + +static const struct CompressedSpriteSheet sSmokescreenImpactSpriteSheet = +{ + .data = gSmokescreenImpactTiles, .size = 0x180, .tag = 55019 +}; + +static const struct CompressedSpritePalette sSmokescreenImpactSpritePalette = +{ + .data = gSmokescreenImpactPalette, .tag = 55019 +}; + +static const struct OamData sOamData_SmokescreenImpact = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .mosaic = 0, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(16x16), + .x = 0, + .matrixNum = 0, + .size = SPRITE_SIZE(16x16), + .tileNum = 0, + .priority = 1, + .paletteNum = 0, + .affineParam = 0 +}; + +static const union AnimCmd sAnim_SmokescreenImpact_0[] = +{ + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(4, 4), + ANIMCMD_FRAME(8, 4), + ANIMCMD_END +}; + +static const union AnimCmd sAnim_SmokescreenImpact_1[] = +{ + ANIMCMD_FRAME(0, 4, .hFlip = TRUE), + ANIMCMD_FRAME(4, 4, .hFlip = TRUE), + ANIMCMD_FRAME(8, 4, .hFlip = TRUE), + ANIMCMD_END +}; + +static const union AnimCmd sAnim_SmokescreenImpact_2[] = +{ + ANIMCMD_FRAME(0, 4, .vFlip = TRUE), + ANIMCMD_FRAME(4, 4, .vFlip = TRUE), + ANIMCMD_FRAME(8, 4, .vFlip = TRUE), + ANIMCMD_END +}; + +static const union AnimCmd sAnim_SmokescreenImpact_3[] = +{ + ANIMCMD_FRAME(0, 4, .hFlip = TRUE, .vFlip = TRUE), + ANIMCMD_FRAME(4, 4, .hFlip = TRUE, .vFlip = TRUE), + ANIMCMD_FRAME(8, 4, .hFlip = TRUE, .vFlip = TRUE), + ANIMCMD_END +}; + +static const union AnimCmd *const sAnims_SmokescreenImpact[] = +{ + sAnim_SmokescreenImpact_0, + sAnim_SmokescreenImpact_1, + sAnim_SmokescreenImpact_2, + sAnim_SmokescreenImpact_3, +}; + +static const struct SpriteTemplate sSmokescreenImpactSpriteTemplate = +{ + .tileTag = 55019, + .paletteTag = 55019, + .oam = &sOamData_SmokescreenImpact, + .anims = sAnims_SmokescreenImpact, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCB_DestroySprite +}; + +const struct CompressedSpriteSheet gSpriteSheet_EnemyShadow = +{ + .data = gEnemyMonShadow_Gfx, .size = 0x80, .tag = 55129 +}; + +static const struct OamData gUnknown_0831C6A8 = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .mosaic = 0, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(32x8), + .x = 0, + .matrixNum = 0, + .size = SPRITE_SIZE(32x8), + .tileNum = 0, + .priority = 3, + .paletteNum = 0, + .affineParam = 0 +}; + +const struct SpriteTemplate gSpriteTemplate_EnemyShadow = +{ + .tileTag = 55129, + .paletteTag = 55039, + .oam = &gUnknown_0831C6A8, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCB_SetInvisible +}; + +u8 SmokescreenImpact(s16 x, s16 y, u8 a3) +{ + u8 mainSpriteId; + u8 spriteId1, spriteId2, spriteId3, spriteId4; + struct Sprite *mainSprite; + + if (GetSpriteTileStartByTag(sSmokescreenImpactSpriteSheet.tag) == 0xFFFF) + { + LoadCompressedSpriteSheetUsingHeap(&sSmokescreenImpactSpriteSheet); + LoadCompressedSpritePaletteUsingHeap(&sSmokescreenImpactSpritePalette); + } + + mainSpriteId = CreateInvisibleSpriteWithCallback(SmokescreenImpact_Callback); + mainSprite = &gSprites[mainSpriteId]; + mainSprite->data[1] = a3; + + spriteId1 = CreateSprite(&sSmokescreenImpactSpriteTemplate, x - 16, y - 16, 2); + gSprites[spriteId1].data[0] = mainSpriteId; + mainSprite->data[0]++; + AnimateSprite(&gSprites[spriteId1]); + + spriteId2 = CreateSprite(&sSmokescreenImpactSpriteTemplate, x, y - 16, 2); + gSprites[spriteId2].data[0] = mainSpriteId; + mainSprite->data[0]++; + StartSpriteAnim(&gSprites[spriteId2], 1); + AnimateSprite(&gSprites[spriteId2]); + + spriteId3 = CreateSprite(&sSmokescreenImpactSpriteTemplate, x - 16, y, 2); + gSprites[spriteId3].data[0] = mainSpriteId; + mainSprite->data[0]++; + StartSpriteAnim(&gSprites[spriteId3], 2); + AnimateSprite(&gSprites[spriteId3]); + + spriteId4 = CreateSprite(&sSmokescreenImpactSpriteTemplate, x, y, 2); + gSprites[spriteId4].data[0] = mainSpriteId; + mainSprite->data[0]++; + StartSpriteAnim(&gSprites[spriteId4], 3); + AnimateSprite(&gSprites[spriteId4]); + + return mainSpriteId; +} + +static void SmokescreenImpact_Callback(struct Sprite *sprite) +{ + if (!sprite->data[0]) + { + FreeSpriteTilesByTag(sSmokescreenImpactSpriteSheet.tag); + FreeSpritePaletteByTag(sSmokescreenImpactSpritePalette.tag); + if (!sprite->data[1]) + DestroySprite(sprite); + else + sprite->callback = SpriteCallbackDummy; + } +} + +static void SpriteCB_DestroySprite(struct Sprite *sprite) +{ + if (sprite->animEnded) + { + gSprites[sprite->data[0]].data[0]--; + DestroySprite(sprite); + } +} diff --git a/src/battle_anim_sound_tasks.c b/src/battle_anim_sound_tasks.c index 573feb41c..8efc987b8 100644 --- a/src/battle_anim_sound_tasks.c +++ b/src/battle_anim_sound_tasks.c @@ -10,10 +10,10 @@ // this file's functions static void sub_8158B98(u8 taskId); static void sub_8158C04(u8 taskId); -static void sub_8158D08(u8 taskId); -static void sub_8158FF4(u8 taskId); -static void sub_815913C(u8 taskId); -static void sub_8159308(u8 taskId); +static void SoundTask_LoopSEAdjustPanning_Step(u8 taskId); +static void SoundTask_PlayDoubleCry_Step(u8 taskId); +static void SoundTask_PlayCryWithEcho_Step(u8 taskId); +static void SoundTask_AdjustPanningVar_Step(u8 taskId); // task start void sub_8158B30(u8 taskId) @@ -73,7 +73,7 @@ static void sub_8158C04(u8 taskId) // task end // task start -void sub_8158C58(u8 taskId) +void SoundTask_LoopSEAdjustPanning(u8 taskId) { u16 songId = gBattleAnimArgs[0]; s8 targetPan = gBattleAnimArgs[2]; @@ -97,11 +97,11 @@ void sub_8158C58(u8 taskId) gTasks[taskId].data[11] = sourcePan; gTasks[taskId].data[12] = r9; - gTasks[taskId].func = sub_8158D08; - sub_8158D08(taskId); + gTasks[taskId].func = SoundTask_LoopSEAdjustPanning_Step; + SoundTask_LoopSEAdjustPanning_Step(taskId); } -static void sub_8158D08(u8 taskId) +static void SoundTask_LoopSEAdjustPanning_Step(u8 taskId) { if (gTasks[taskId].data[12]++ == gTasks[taskId].data[6]) { @@ -119,7 +119,7 @@ static void sub_8158D08(u8 taskId) u16 dPan, oldPan; gTasks[taskId].data[10] = 0; dPan = gTasks[taskId].data[3]; - oldPan = gTasks[taskId].data[11] ; + oldPan = gTasks[taskId].data[11]; gTasks[taskId].data[11] = dPan + oldPan; gTasks[taskId].data[11] = KeepPanInRange(gTasks[taskId].data[11], oldPan); } @@ -127,7 +127,7 @@ static void sub_8158D08(u8 taskId) // task end // task start -void sub_8158D8C(u8 taskId) +void SoundTask_PlayCryHighPitch(u8 taskId) { u16 species = 0; s8 pan = BattleAnimAdjustPanning(SOUND_PAN_ATTACKER); @@ -173,7 +173,7 @@ void sub_8158D8C(u8 taskId) // task end // task start -void sub_8158E9C(u8 taskId) +void SoundTask_PlayDoubleCry(u8 taskId) { u16 species = 0; s8 pan = BattleAnimAdjustPanning(SOUND_PAN_ATTACKER); @@ -222,7 +222,7 @@ void sub_8158E9C(u8 taskId) else PlayCry3(species, pan, 7); - gTasks[taskId].func = sub_8158FF4; + gTasks[taskId].func = SoundTask_PlayDoubleCry_Step; } else { @@ -230,7 +230,7 @@ void sub_8158E9C(u8 taskId) } } -static void sub_8158FF4(u8 taskId) +static void SoundTask_PlayDoubleCry_Step(u8 taskId) { u16 species = gTasks[taskId].data[1]; s8 pan = gTasks[taskId].data[2]; @@ -261,7 +261,7 @@ static void sub_8158FF4(u8 taskId) } // task end -void sub_8159078(u8 taskId) +void SoundTask_WaitForCry(u8 taskId) { if (gTasks[taskId].data[9] < 2) { @@ -275,7 +275,7 @@ void sub_8159078(u8 taskId) } // task start -void sub_81590B8(u8 taskId) +void SoundTask_PlayCryWithEcho(u8 taskId) { u16 species; s8 pan; @@ -292,12 +292,12 @@ void sub_81590B8(u8 taskId) gTasks[taskId].data[2] = pan; if (species != SPECIES_NONE) - gTasks[taskId].func = sub_815913C; + gTasks[taskId].func = SoundTask_PlayCryWithEcho_Step; else DestroyAnimVisualTask(taskId); } -static void sub_815913C(u8 taskId) +static void SoundTask_PlayCryWithEcho_Step(u8 taskId) { u16 species = gTasks[taskId].data[1]; s8 pan = gTasks[taskId].data[2]; @@ -332,7 +332,7 @@ static void sub_815913C(u8 taskId) } // task end -void sub_8159210(u8 taskId) +void SoundTask_PlaySE1WithPanning(u8 taskId) { u16 songId = gBattleAnimArgs[0]; s8 pan = BattleAnimAdjustPanning(gBattleAnimArgs[1]); @@ -341,7 +341,7 @@ void sub_8159210(u8 taskId) DestroyAnimVisualTask(taskId); } -void sub_8159244(u8 taskId) +void SoundTask_PlaySE2WithPanning(u8 taskId) { u16 songId = gBattleAnimArgs[0]; s8 pan = BattleAnimAdjustPanning(gBattleAnimArgs[1]); @@ -350,7 +350,9 @@ void sub_8159244(u8 taskId) DestroyAnimVisualTask(taskId); } -void sub_8159278(u8 taskId) +// Adjusts panning and assigns it to gAnimCustomPanning. Doesnt play sound. +// Used by Confuse Ray and Will-O-Wisp (see uses of gAnimCustomPanning) +void SoundTask_AdjustPanningVar(u8 taskId) { s8 targetPan = gBattleAnimArgs[1]; s8 panIncrement = gBattleAnimArgs[2]; @@ -367,11 +369,11 @@ void sub_8159278(u8 taskId) gTasks[taskId].data[10] = 0; gTasks[taskId].data[11] = sourcePan; - gTasks[taskId].func = sub_8159308; - sub_8159308(taskId); + gTasks[taskId].func = SoundTask_AdjustPanningVar_Step; + SoundTask_AdjustPanningVar_Step(taskId); } -void sub_8159308(u8 taskId) +static void SoundTask_AdjustPanningVar_Step(u8 taskId) { u16 panIncrement = gTasks[taskId].data[3]; @@ -384,7 +386,7 @@ void sub_8159308(u8 taskId) gTasks[taskId].data[11] = KeepPanInRange(gTasks[taskId].data[11], oldPan); } - gUnknown_02038440 = gTasks[taskId].data[11]; + gAnimCustomPanning = gTasks[taskId].data[11]; if (gTasks[taskId].data[11] == gTasks[taskId].data[2]) DestroyAnimVisualTask(taskId); } diff --git a/src/battle_anim_special.c b/src/battle_anim_special.c index 6ff5ee893..bf0d1d438 100755 --- a/src/battle_anim_special.c +++ b/src/battle_anim_special.c @@ -514,7 +514,7 @@ static void sub_8170660(u8 taskId) } } -static void sub_8170834(u8 *paletteId1, u8 *paletteId2, u8 battler) +static void LoadHealthboxPalsForLevelUp(u8 *paletteId1, u8 *paletteId2, u8 battler) { u8 healthBoxSpriteId; u8 spriteId1, spriteId2; @@ -536,14 +536,14 @@ static void sub_8170834(u8 *paletteId1, u8 *paletteId2, u8 battler) gSprites[spriteId2].oam.paletteNum = *paletteId2; } -void sub_8170920(u8 taskId) +void AnimTask_LoadHealthboxPalsForLevelUp(u8 taskId) { u8 paletteId1, paletteId2; - sub_8170834(&paletteId1, &paletteId2, gBattleAnimAttacker); + LoadHealthboxPalsForLevelUp(&paletteId1, &paletteId2, gBattleAnimAttacker); DestroyAnimVisualTask(taskId); } -static void sub_817094C(u8 battler) +static void FreeHealthboxPalsForLevelUp(u8 battler) { u8 healthBoxSpriteId; u8 spriteId1, spriteId2; @@ -562,13 +562,13 @@ static void sub_817094C(u8 battler) gSprites[spriteId2].oam.paletteNum = paletteId2; } -void sub_81709EC(u8 taskId) +void AnimTask_FreeHealthboxPalsForLevelUp(u8 taskId) { - sub_817094C(gBattleAnimAttacker); + FreeHealthboxPalsForLevelUp(gBattleAnimAttacker); DestroyAnimVisualTask(taskId); } -void sub_8170A0C(u8 taskId) +void AnimTask_FlashHealthboxOnLevelUp(u8 taskId) { gTasks[taskId].data[10] = gBattleAnimArgs[0]; gTasks[taskId].data[11] = gBattleAnimArgs[1]; @@ -612,7 +612,7 @@ static void sub_8170A38(u8 taskId) } } -void sub_8170B04(u8 taskId) +void AnimTask_SwitchOutShrinkMon(u8 taskId) { u8 spriteId; @@ -633,13 +633,13 @@ void sub_8170B04(u8 taskId) break; case 2: ResetSpriteRotScale(spriteId); - gSprites[spriteId].invisible = 1; + gSprites[spriteId].invisible = TRUE; DestroyAnimVisualTask(taskId); break; } } -void sub_8170BB0(u8 taskId) +void AnimTask_SwitchOutBallEffect(u8 taskId) { u8 spriteId; u16 ball; @@ -674,14 +674,14 @@ void sub_8170BB0(u8 taskId) } } -void sub_8170CFC(u8 taskId) +void AnimTask_LoadBallGfx(u8 taskId) { u8 ballId = ItemIdToBallId(gLastUsedItem); LoadBallGfx(ballId); DestroyAnimVisualTask(taskId); } -void sub_8170D24(u8 taskId) +void AnimTask_FreeBallGfx(u8 taskId) { u8 ballId = ItemIdToBallId(gLastUsedItem); FreeBallGfx(ballId); @@ -730,7 +730,7 @@ u8 ItemIdToBallId(u16 ballItem) } } -void sub_8170E04(u8 taskId) +void AnimTask_ThrowBall(u8 taskId) { u8 ballId; u8 spriteId; @@ -753,7 +753,8 @@ static void sub_8170EF0(u8 taskId) DestroyAnimVisualTask(taskId); } -void sub_8170F2C(u8 taskId) +// Safari Ball / Wally's ball throw +void AnimTask_ThrowBallSpecial(u8 taskId) { int x, y; u8 ballId; @@ -895,7 +896,7 @@ static void sub_8171240(struct Sprite *sprite) break; case 2: ResetSpriteRotScale(spriteId); - gSprites[spriteId].invisible = 1; + gSprites[spriteId].invisible = TRUE; gTasks[taskId].data[0]++; break; default: @@ -1228,7 +1229,7 @@ static void sub_81718D8(struct Sprite *sprite) } break; case 2: - sprite->invisible = 1; + sprite->invisible = TRUE; sprite->data[0]++; break; default: @@ -1312,7 +1313,7 @@ static void sub_8171AE4(struct Sprite *sprite) break; } - gSprites[gBattlerSpriteIds[gBattleAnimTarget]].invisible = 0; + gSprites[gBattlerSpriteIds[gBattleAnimTarget]].invisible = FALSE; StartSpriteAffineAnim(&gSprites[gBattlerSpriteIds[gBattleAnimTarget]], 1); AnimateSprite(&gSprites[gBattlerSpriteIds[gBattleAnimTarget]]); gSprites[gBattlerSpriteIds[gBattleAnimTarget]].data[1] = 0x1000; @@ -1323,7 +1324,7 @@ static void sub_8171BAC(struct Sprite *sprite) int next = FALSE; if (sprite->animEnded) - sprite->invisible = 1; + sprite->invisible = TRUE; if (gSprites[gBattlerSpriteIds[gBattleAnimTarget]].affineAnimEnded) { @@ -1910,7 +1911,8 @@ static void sub_8172B90(u8 taskId) } } -void sub_8172BF0(u8 taskId) +// arg0: TRUE to swap to mon, FALSE to swap to substitute +void AnimTask_SwapMonSpriteToFromSubstitute(u8 taskId) { u8 spriteId; u32 x; @@ -1968,7 +1970,7 @@ void sub_8172BF0(u8 taskId) } } -void sub_8172D98(u8 taskId) +void AnimTask_SubstituteFadeToInvisible(u8 taskId) { u8 spriteId; @@ -2008,7 +2010,7 @@ void AnimTask_IsAttackerBehindSubstitute(u8 taskId) DestroyAnimVisualTask(taskId); } -void AnimTask_TargetToEffectBattler(u8 taskId) +void AnimTask_SetTargetToEffectBattler(u8 taskId) { gBattleAnimTarget = gEffectBattler; DestroyAnimVisualTask(taskId); @@ -2103,7 +2105,7 @@ static void sub_8172FEC(u8 taskId) gSprites[spriteId].callback = sub_8173250; gSprites[spriteId].pos2.x = -32; gSprites[spriteId].pos2.y = 32; - gSprites[spriteId].invisible = 1; + gSprites[spriteId].invisible = TRUE; if (gTasks[taskId].data[11] == 0) { if (GetBattlerSide(battler) == B_SIDE_PLAYER) @@ -2161,7 +2163,7 @@ static void sub_8173250(struct Sprite *sprite) } else { - sprite->invisible = 0; + sprite->invisible = FALSE; sprite->pos2.x += 5; sprite->pos2.y -= 5; if (sprite->pos2.x > 32) @@ -2213,7 +2215,7 @@ static void sub_81733D4(struct Sprite *sprite) if (TranslateAnimHorizontalArc(sprite)) { sprite->data[0] = 0; - sprite->invisible = 1; + sprite->invisible = TRUE; sprite->callback = sub_8173400; } } @@ -2230,7 +2232,7 @@ static void sub_8173400(struct Sprite *sprite) } } -void sub_817345C(u8 taskId) +void AnimTask_SetAttackerTargetLeftPos(u8 taskId) { switch (gBattleAnimArgs[0]) { diff --git a/src/battle_anim_status_effects.c b/src/battle_anim_status_effects.c index 003b6d2ef..56a8afa53 100644 --- a/src/battle_anim_status_effects.c +++ b/src/battle_anim_status_effects.c @@ -19,10 +19,10 @@ extern const struct OamData gOamData_AffineOff_ObjBlend_64x64; // This file's functions. static void sub_80A9DB4(u8 taskId); -static void sub_80A9FD0(u8 taskId); -static void sub_80AA020(u8 taskId); -static void sub_80AA0D0(u8 taskId); -static void sub_80AA124(u8 taskId); +static void AnimTask_FrozenIceCube_Step1(u8 taskId); +static void AnimTask_FrozenIceCube_Step2(u8 taskId); +static void AnimTask_FrozenIceCube_Step3(u8 taskId); +static void AnimTask_FrozenIceCube_Step4(u8 taskId); static void Task_DoStatusAnimation(u8 taskId); static void sub_80A9E44(struct Sprite *sprite); static void sub_80A9E78(struct Sprite *sprite); @@ -42,6 +42,7 @@ static const union AnimCmd *const sSpriteAnimTable_853EDF8[] = sSpriteAnim_853EDE4 }; +// Unused const struct SpriteTemplate gUnknown_0853EDFC = { .tileTag = ANIM_TAG_ORB, @@ -53,6 +54,7 @@ const struct SpriteTemplate gUnknown_0853EDFC = .callback = sub_80A8AEC, }; +// Unused const struct SpriteTemplate gUnknown_0853EE14 = { .tileTag = ANIM_TAG_ORB, @@ -64,37 +66,37 @@ const struct SpriteTemplate gUnknown_0853EE14 = .callback = sub_80A8A6C, }; -static const union AnimCmd sSpriteAnim_853EE2C[] = +static const union AnimCmd sAnim_WeatherBallNormal[] = { ANIMCMD_FRAME(0, 3), ANIMCMD_JUMP(0) }; -static const union AnimCmd *const sSpriteAnimTable_853EE34[] = +static const union AnimCmd *const sAnims_WeatherBallNormal[] = { - sSpriteAnim_853EE2C + sAnim_WeatherBallNormal }; -const struct SpriteTemplate gUnknown_0853EE38 = +const struct SpriteTemplate gWeatherBallUpSpriteTemplate = { .tileTag = ANIM_TAG_WEATHER_BALL, .paletteTag = ANIM_TAG_WEATHER_BALL, .oam = &gOamData_AffineOff_ObjNormal_32x32, - .anims = sSpriteAnimTable_853EE34, + .anims = sAnims_WeatherBallNormal, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80A8E30, + .callback = AnimWeatherBallUp, }; -const struct SpriteTemplate gUnknown_0853EE50 = +const struct SpriteTemplate gWeatherBallNormalDownSpriteTemplate = { .tileTag = ANIM_TAG_WEATHER_BALL, .paletteTag = ANIM_TAG_WEATHER_BALL, .oam = &gOamData_AffineOff_ObjNormal_32x32, - .anims = sSpriteAnimTable_853EE34, + .anims = sAnims_WeatherBallNormal, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80A8EE4, + .callback = AnimWeatherBallDown, }; static const union AnimCmd sSpriteAnim_853EE68[] = @@ -112,7 +114,7 @@ static const union AnimCmd *const sSpriteAnimTable_853EE80[] = sSpriteAnim_853EE68 }; -const struct SpriteTemplate gUnknown_0853EE84 = +const struct SpriteTemplate gSpinningSparkleSpriteTemplate = { .tileTag = ANIM_TAG_SPARKLE_4, .paletteTag = ANIM_TAG_SPARKLE_4, @@ -120,9 +122,10 @@ const struct SpriteTemplate gUnknown_0853EE84 = .anims = sSpriteAnimTable_853EE80, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80A8B64, + .callback = AnimSpinningSparkle, }; +// Unused const struct SpriteTemplate gUnknown_0853EE9C = { .tileTag = ANIM_TAG_MONSTER_FOOT, @@ -159,6 +162,7 @@ static const union AnimCmd *const sSpriteAnimTable_853EECC[] = sSpriteAnim_853EEC4 }; +// Unused const struct SpriteTemplate gUnknown_0853EED8 = { .tileTag = ANIM_TAG_IMPACT, @@ -204,7 +208,7 @@ const struct SpriteTemplate gUnknown_0853EF18 = .callback = sub_80A8A6C, }; -static const struct Subsprite gUnknown_0853EF30[] = +static const struct Subsprite sFrozenIceCubeSubsprites[] = { { .x = -16, @@ -240,12 +244,12 @@ static const struct Subsprite gUnknown_0853EF30[] = }, }; -static const struct SubspriteTable gUnknown_0853EF40[] = +static const struct SubspriteTable sFrozenIceCubeSubspriteTable[] = { - {ARRAY_COUNT(gUnknown_0853EF30), gUnknown_0853EF30}, + {ARRAY_COUNT(sFrozenIceCubeSubsprites), sFrozenIceCubeSubsprites}, }; -static const struct SpriteTemplate gUnknown_0853EF48 = +static const struct SpriteTemplate gFrozenIceCubeSpriteTemplate = { .tileTag = ANIM_TAG_ICE_CUBE, .paletteTag = ANIM_TAG_ICE_CUBE, @@ -267,7 +271,7 @@ static const struct SpriteTemplate gUnknown_0853EF60 = .callback = sub_80A9E44, }; -// code +// Unused u8 sub_80A9C70(u8 battlerId, bool8 b) { u8 battlerSpriteId = gBattlerSpriteIds[battlerId]; @@ -376,7 +380,7 @@ static void sub_80A9E78(struct Sprite *sprite) } } -void sub_80A9EF4(u8 taskId) +void AnimTask_FrozenIceCube(u8 taskId) { s16 x = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2) - 32; s16 y = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET) - 36; @@ -386,20 +390,20 @@ void sub_80A9EF4(u8 taskId) x -= 6; SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_ALL); SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(0, 16)); - spriteId = CreateSprite(&gUnknown_0853EF48, x, y, 4); + spriteId = CreateSprite(&gFrozenIceCubeSpriteTemplate, x, y, 4); if (GetSpriteTileStartByTag(ANIM_TAG_ICE_CUBE) == 0xFFFF) gSprites[spriteId].invisible = TRUE; - SetSubspriteTables(&gSprites[spriteId], gUnknown_0853EF40); + SetSubspriteTables(&gSprites[spriteId], sFrozenIceCubeSubspriteTable); gTasks[taskId].data[15] = spriteId; - gTasks[taskId].func = sub_80A9FD0; + gTasks[taskId].func = AnimTask_FrozenIceCube_Step1; } -static void sub_80A9FD0(u8 taskId) +static void AnimTask_FrozenIceCube_Step1(u8 taskId) { gTasks[taskId].data[1]++; if (gTasks[taskId].data[1] == 10) { - gTasks[taskId].func = sub_80AA020; + gTasks[taskId].func = AnimTask_FrozenIceCube_Step2; gTasks[taskId].data[1] = 0; } else @@ -410,7 +414,7 @@ static void sub_80A9FD0(u8 taskId) } } -static void sub_80AA020(u8 taskId) +static void AnimTask_FrozenIceCube_Step2(u8 taskId) { u8 palIndex = IndexOfSpritePaletteTag(ANIM_TAG_ICE_CUBE); @@ -436,19 +440,19 @@ static void sub_80AA020(u8 taskId) if (gTasks[taskId].data[4] == 2) { gTasks[taskId].data[1] = 9; - gTasks[taskId].func = sub_80AA0D0; + gTasks[taskId].func = AnimTask_FrozenIceCube_Step3; } } } } } -static void sub_80AA0D0(u8 taskId) +static void AnimTask_FrozenIceCube_Step3(u8 taskId) { gTasks[taskId].data[1]--; if (gTasks[taskId].data[1] == -1) { - gTasks[taskId].func = sub_80AA124; + gTasks[taskId].func = AnimTask_FrozenIceCube_Step4; gTasks[taskId].data[1] = 0; } else @@ -459,7 +463,7 @@ static void sub_80AA0D0(u8 taskId) } } -static void sub_80AA124(u8 taskId) +static void AnimTask_FrozenIceCube_Step4(u8 taskId) { gTasks[taskId].data[1]++; if (gTasks[taskId].data[1] == 37) diff --git a/src/battle_anim_utility_funcs.c b/src/battle_anim_utility_funcs.c index eff2bc3c7..dcef7d483 100644 --- a/src/battle_anim_utility_funcs.c +++ b/src/battle_anim_utility_funcs.c @@ -25,18 +25,18 @@ static EWRAM_DATA struct AnimStatsChangeData *sAnimStatsChangeData = {0}; static void StartBlendAnimSpriteColor(u8, u32); static void AnimTask_BlendSpriteColor_Step2(u8); -static void sub_81169A0(u8); -static void sub_81169F8(u8); -static void sub_8116AD0(struct Sprite*); -static void sub_8116D64(u8); +static void AnimTask_HardwarePaletteFade_Step(u8); +static void AnimTask_TraceMonBlended_Step(u8); +static void AnimMonTrace(struct Sprite*); +static void AnimTask_DrawFallingWhiteLinesOnAttacker_Step(u8); static void sub_8116F04(u8); static void sub_81170EC(u8); static void sub_81172EC(u8); -static void sub_8117500(u8); +static void AnimTask_Flash_Step(u8); static void sub_81175C4(u32, u16); -static void sub_81176D8(u8); +static void AnimTask_UpdateSlidingBg(u8); static void sub_8117A60(u8); -static void ExtremSpeedMoveTarget_Step(u8); +static void AnimTask_WaitAndRestoreVisibility(u8); const u16 gUnknown_08597418 = RGB(31, 31, 31); @@ -45,7 +45,7 @@ const u16 gUnknown_08597418 = RGB(31, 31, 31); const u8 gUnknown_0859741A[] = {REG_OFFSET_BG0CNT, REG_OFFSET_BG1CNT, REG_OFFSET_BG2CNT, REG_OFFSET_BG3CNT}; const u8 gUnknown_0859741E[] = {REG_OFFSET_BG0CNT, REG_OFFSET_BG1CNT, REG_OFFSET_BG2CNT, REG_OFFSET_BG3CNT}; -void sub_8116620(u8 taskId) +void AnimTask_BlendBattleAnimPal(u8 taskId) { u32 selectedPalettes = UnpackSelectedBattleAnimPalettes(gBattleAnimArgs[0]); selectedPalettes |= sub_80A76C4((gBattleAnimArgs[0] >> 7) & 1, @@ -55,7 +55,7 @@ void sub_8116620(u8 taskId) StartBlendAnimSpriteColor(taskId, selectedPalettes); } -void sub_8116664(u8 taskId) +void AnimTask_BlendBattleAnimPalExclude(u8 taskId) { u8 battler; u32 selectedPalettes; @@ -68,13 +68,13 @@ void sub_8116664(u8 taskId) case 2: selectedPalettes = 0; // fall through - case 0: + case ANIM_ATTACKER: animBattlers[0] = gBattleAnimAttacker; break; case 3: selectedPalettes = 0; // fall through - case 1: + case ANIM_TARGET: animBattlers[0] = gBattleAnimTarget; break; case 4: @@ -193,7 +193,7 @@ static void AnimTask_BlendSpriteColor_Step2(u8 taskId) } } -void sub_8116960(u8 taskId) +void AnimTask_HardwarePaletteFade(u8 taskId) { BeginHardwarePaletteFade( gBattleAnimArgs[0], @@ -202,16 +202,17 @@ void sub_8116960(u8 taskId) gBattleAnimArgs[3], gBattleAnimArgs[4]); - gTasks[taskId].func = sub_81169A0; + gTasks[taskId].func = AnimTask_HardwarePaletteFade_Step; } -static void sub_81169A0(u8 taskId) +static void AnimTask_HardwarePaletteFade_Step(u8 taskId) { if (!gPaletteFade.active) DestroyAnimVisualTask(taskId); } -void sub_81169C0(u8 taskId) +// Used to leave blended traces of a mon, usually to imply speed as in Agility or Aerial Ace +void AnimTask_TraceMonBlended(u8 taskId) { struct Task *task = &gTasks[taskId]; @@ -221,10 +222,10 @@ void sub_81169C0(u8 taskId) task->data[3] = gBattleAnimArgs[2]; task->data[4] = gBattleAnimArgs[3]; task->data[5] = 0; - task->func = sub_81169F8; + task->func = AnimTask_TraceMonBlended_Step; } -static void sub_81169F8(u8 taskId) +static void AnimTask_TraceMonBlended_Step(u8 taskId) { struct Task *task = &gTasks[taskId]; @@ -243,7 +244,7 @@ static void sub_81169F8(u8 taskId) gSprites[task->data[6]].data[0] = task->data[3]; gSprites[task->data[6]].data[1] = taskId; gSprites[task->data[6]].data[2] = 5; - gSprites[task->data[6]].callback = sub_8116AD0; + gSprites[task->data[6]].callback = AnimMonTrace; task->data[5]++; } @@ -257,7 +258,7 @@ static void sub_81169F8(u8 taskId) } } -static void sub_8116AD0(struct Sprite *sprite) +static void AnimMonTrace(struct Sprite *sprite) { if (sprite->data[0]) { @@ -270,7 +271,8 @@ static void sub_8116AD0(struct Sprite *sprite) } } -void sub_8116B14(u8 taskId) +// Only used by Curse for non-Ghost mons +void AnimTask_DrawFallingWhiteLinesOnAttacker(u8 taskId) { u16 species; int spriteId, newSpriteId; @@ -326,10 +328,10 @@ void sub_8116B14(u8 taskId) species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gBattleAnimAttacker]], MON_DATA_SPECIES); } - spriteId = GetAnimBattlerSpriteId(0); + spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER); newSpriteId = sub_80A89C8(gBattleAnimAttacker, spriteId, species); sub_80A6B30(&unknownStruct); - sub_80A6D60(&unknownStruct, gUnknown_08C20684, 0); + AnimLoadCompressedBgTilemapHandleContest(&unknownStruct, gUnknown_08C20684, 0); AnimLoadCompressedBgGfx(unknownStruct.bgId, gUnknown_08C20668, unknownStruct.tilesOffset); LoadPalette(&gUnknown_08597418, unknownStruct.paletteId * 16 + 1, 2); @@ -337,10 +339,10 @@ void sub_8116B14(u8 taskId) gBattle_BG1_Y = -gSprites[spriteId].pos1.y + 32; gTasks[taskId].data[0] = newSpriteId; gTasks[taskId].data[6] = var0; - gTasks[taskId].func = sub_8116D64; + gTasks[taskId].func = AnimTask_DrawFallingWhiteLinesOnAttacker_Step; } -static void sub_8116D64(u8 taskId) +static void AnimTask_DrawFallingWhiteLinesOnAttacker_Step(u8 taskId) { struct BattleAnimBgData unknownStruct; struct Sprite *sprite; @@ -468,9 +470,9 @@ static void sub_81170EC(u8 taskId) sub_80A6B30(&unknownStruct); if (sAnimStatsChangeData->data[0] == 0) - sub_80A6D60(&unknownStruct, gBattleStatMask1_Tilemap, 0); + AnimLoadCompressedBgTilemapHandleContest(&unknownStruct, gBattleStatMask1_Tilemap, 0); else - sub_80A6D60(&unknownStruct, gBattleStatMask2_Tilemap, 0); + AnimLoadCompressedBgTilemapHandleContest(&unknownStruct, gBattleStatMask2_Tilemap, 0); AnimLoadCompressedBgGfx(unknownStruct.bgId, gBattleStatMask_Gfx, unknownStruct.tilesOffset); switch (sAnimStatsChangeData->data[1]) @@ -599,7 +601,7 @@ static void sub_81172EC(u8 taskId) } } -void sub_8117494(u8 taskId) +void AnimTask_Flash(u8 taskId) { u32 selectedPalettes = sub_80A76C4(1, 1, 1, 1); sub_81175C4(selectedPalettes, 0); @@ -611,10 +613,10 @@ void sub_8117494(u8 taskId) gTasks[taskId].data[0] = 0; gTasks[taskId].data[1] = 0; - gTasks[taskId].func = sub_8117500; + gTasks[taskId].func = AnimTask_Flash_Step; } -static void sub_8117500(u8 taskId) +static void AnimTask_Flash_Step(u8 taskId) { u16 i; struct Task *task = &gTasks[taskId]; @@ -681,7 +683,7 @@ static void sub_81175C4(u32 selectedPalettes, u16 color) } } -void sub_8117610(u8 taskId) +void AnimTask_BlendNonAttackerPalettes(u8 taskId) { u32 battler; int j; @@ -699,12 +701,12 @@ void sub_8117610(u8 taskId) StartBlendAnimSpriteColor(taskId, selectedPalettes); } -void sub_8117660(u8 taskId) +void AnimTask_StartSlidingBg(u8 taskId) { u8 newTaskId; sub_80A6DAC(0); - newTaskId = CreateTask(sub_81176D8, 5); + newTaskId = CreateTask(AnimTask_UpdateSlidingBg, 5); if (gBattleAnimArgs[2] && GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) { gBattleAnimArgs[0] = -gBattleAnimArgs[0]; @@ -718,7 +720,7 @@ void sub_8117660(u8 taskId) DestroyAnimVisualTask(taskId); } -static void sub_81176D8(u8 taskId) +static void AnimTask_UpdateSlidingBg(u8 taskId) { gTasks[taskId].data[10] += gTasks[taskId].data[1]; gTasks[taskId].data[11] += gTasks[taskId].data[2]; @@ -738,35 +740,39 @@ static void sub_81176D8(u8 taskId) void AnimTask_GetAttackerSide(u8 taskId) { - gBattleAnimArgs[7] = GetBattlerSide(gBattleAnimAttacker); + gBattleAnimArgs[ARG_RET_ID] = GetBattlerSide(gBattleAnimAttacker); DestroyAnimVisualTask(taskId); } void AnimTask_GetTargetSide(u8 taskId) { - gBattleAnimArgs[7] = GetBattlerSide(gBattleAnimTarget); + gBattleAnimArgs[ARG_RET_ID] = GetBattlerSide(gBattleAnimTarget); DestroyAnimVisualTask(taskId); } void AnimTask_GetTargetIsAttackerPartner(u8 taskId) { - gBattleAnimArgs[7] = BATTLE_PARTNER(gBattleAnimAttacker) == gBattleAnimTarget; + gBattleAnimArgs[ARG_RET_ID] = BATTLE_PARTNER(gBattleAnimAttacker) == gBattleAnimTarget; DestroyAnimVisualTask(taskId); } -void sub_81177E4(u8 taskId) +#define tInvisible gBattleAnimArgs[0]; + +// For hiding or subsequently revealing all other battlers +void AnimTask_SetAllNonAttackersInvisiblity(u8 taskId) { u16 battler; for (battler = 0; battler < MAX_BATTLERS_COUNT; battler++) { if (battler != gBattleAnimAttacker && IsBattlerSpriteVisible(battler)) - gSprites[gBattlerSpriteIds[battler]].invisible = gBattleAnimArgs[0]; + gSprites[gBattlerSpriteIds[battler]].invisible = tInvisible; } DestroyAnimVisualTask(taskId); } +#undef tInvisible void sub_8117854(u8 taskId, int unused, u16 arg2, u8 battler1, u8 arg4, u8 arg5, u8 arg6, u8 arg7, const u32 *gfx, const u32 *tilemap, const u32 *palette) { @@ -819,7 +825,7 @@ void sub_8117854(u8 taskId, int unused, u16 arg2, u8 battler1, u8 arg4, u8 arg5, spriteId2 = sub_80A89C8(battler2, gBattlerSpriteIds[battler2], species); sub_80A6B30(&unknownStruct); - sub_80A6D60(&unknownStruct, tilemap, 0); + AnimLoadCompressedBgTilemapHandleContest(&unknownStruct, tilemap, 0); AnimLoadCompressedBgGfx(unknownStruct.bgId, gfx, unknownStruct.tilesOffset); LoadCompressedPalette(palette, unknownStruct.paletteId * 16, 32); @@ -902,20 +908,19 @@ void AnimTask_GetBattleTerrain(u8 taskId) DestroyAnimVisualTask(taskId); } -void sub_8117C44(u8 taskId) +void AnimTask_AllocBackupPalBuffer(u8 taskId) { - gMonSpritesGfxPtr->field_17C = AllocZeroed(0x2000); + gMonSpritesGfxPtr->buffer = AllocZeroed(0x2000); DestroyAnimVisualTask(taskId); } -void sub_8117C70(u8 taskId) +void AnimTask_FreeBackupPalBuffer(u8 taskId) { - Free(gMonSpritesGfxPtr->field_17C); - gMonSpritesGfxPtr->field_17C = NULL; + FREE_AND_SET_NULL(gMonSpritesGfxPtr->buffer); DestroyAnimVisualTask(taskId); } -void sub_8117CA0(u8 taskId) +void AnimTask_CopyPalUnfadedToBackup(u8 taskId) { u32 selectedPalettes; int paletteIndex = 0; @@ -938,11 +943,11 @@ void sub_8117CA0(u8 taskId) paletteIndex = gBattleAnimTarget + 16; } - memcpy(&gMonSpritesGfxPtr->field_17C[gBattleAnimArgs[1] * 16], &gPlttBufferUnfaded[paletteIndex * 16], 32); + memcpy(&gMonSpritesGfxPtr->buffer[gBattleAnimArgs[1] * 16], &gPlttBufferUnfaded[paletteIndex * 16], 32); DestroyAnimVisualTask(taskId); } -void sub_8117D3C(u8 taskId) +void AnimTask_CopyPalUnfadedFromBackup(u8 taskId) { u32 selectedPalettes; int paletteIndex = 0; @@ -965,11 +970,11 @@ void sub_8117D3C(u8 taskId) paletteIndex = gBattleAnimTarget + 16; } - memcpy(&gPlttBufferUnfaded[paletteIndex * 16], &gMonSpritesGfxPtr->field_17C[gBattleAnimArgs[1] * 16], 32); + memcpy(&gPlttBufferUnfaded[paletteIndex * 16], &gMonSpritesGfxPtr->buffer[gBattleAnimArgs[1] * 16], 32); DestroyAnimVisualTask(taskId); } -void sub_8117DD8(u8 taskId) +void AnimTask_CopyPalFadedToUnfaded(u8 taskId) { u32 selectedPalettes; int paletteIndex = 0; @@ -999,14 +1004,14 @@ void sub_8117DD8(u8 taskId) void AnimTask_IsContest(u8 taskId) { if (IsContest()) - gBattleAnimArgs[7] = 1; + gBattleAnimArgs[ARG_RET_ID] = TRUE; else - gBattleAnimArgs[7] = 0; + gBattleAnimArgs[ARG_RET_ID] = FALSE; DestroyAnimVisualTask(taskId); } -void sub_8117E94(u8 taskId) +void AnimTask_SetAnimAttackerAndTargetForEffectTgt(u8 taskId) { gBattleAnimAttacker = gBattlerTarget; gBattleAnimTarget = gEffectBattler; @@ -1016,27 +1021,27 @@ void sub_8117E94(u8 taskId) void AnimTask_IsTargetSameSide(u8 taskId) { if (GetBattlerSide(gBattleAnimAttacker) == GetBattlerSide(gBattleAnimTarget)) - gBattleAnimArgs[7] = 1; + gBattleAnimArgs[ARG_RET_ID] = TRUE; else - gBattleAnimArgs[7] = 0; + gBattleAnimArgs[ARG_RET_ID] = FALSE; DestroyAnimVisualTask(taskId); } -void sub_8117F10(u8 taskId) +void AnimTask_SetAnimTargetToBattlerTarget(u8 taskId) { gBattleAnimTarget = gBattlerTarget; DestroyAnimVisualTask(taskId); } -void sub_8117F30(u8 taskId) +void AnimTask_SetAnimAttackerAndTargetForEffectAtk(u8 taskId) { gBattleAnimAttacker = gBattlerAttacker; gBattleAnimTarget = gEffectBattler; DestroyAnimVisualTask(taskId); } -void AnimTask_ExtremeSpeedMoveTarget(u8 taskId) +void AnimTask_SetAttackerInvisibleWaitForSignal(u8 taskId) { if (IsContest()) { @@ -1045,13 +1050,13 @@ void AnimTask_ExtremeSpeedMoveTarget(u8 taskId) else { gTasks[taskId].data[0] = gBattleSpritesDataPtr->battlerData[gBattleAnimAttacker].invisible; - gBattleSpritesDataPtr->battlerData[gBattleAnimAttacker].invisible = 1; - gTasks[taskId].func = ExtremSpeedMoveTarget_Step; + gBattleSpritesDataPtr->battlerData[gBattleAnimAttacker].invisible = TRUE; + gTasks[taskId].func = AnimTask_WaitAndRestoreVisibility; gAnimVisualTaskCount--; } } -static void ExtremSpeedMoveTarget_Step(u8 taskId) +static void AnimTask_WaitAndRestoreVisibility(u8 taskId) { if (gBattleAnimArgs[7] == 0x1000) { diff --git a/src/water.c b/src/battle_anim_water.c index a2fe4c56f..5810b6bdc 100644 --- a/src/water.c +++ b/src/battle_anim_water.c @@ -13,56 +13,52 @@ #include "constants/battle.h" #include "constants/rgb.h" -void sub_810721C(struct Sprite *); -void sub_8107228(struct Sprite *); -void sub_8107260(struct Sprite *); -void sub_8107380(struct Sprite *); -void sub_8107408(struct Sprite *); -void sub_8107430(struct Sprite *); -void sub_810744C(struct Sprite *); -void sub_81074E4(struct Sprite *); -void sub_81075EC(struct Sprite *); -void sub_8107674(struct Sprite *); -void sub_8107730(struct Sprite *); -void sub_81077A4(struct Sprite *); -void sub_81077C0(struct Sprite *); -void sub_8107894(struct Sprite *); -void sub_81078D0(struct Sprite *); -void sub_810790C(struct Sprite *); -void sub_8108034(struct Sprite *); -void sub_8108098(struct Sprite *); -void sub_810851C(struct Sprite *); -void sub_81087C0(struct Sprite *); -void sub_810886C(struct Sprite *); -void sub_8108B2C(struct Sprite *); -void sub_8108B94(struct Sprite *); -void sub_8108BE0(struct Sprite *); -void sub_8108C08(struct Sprite *); -void sub_8108C54(struct Sprite *); -void AnimWaterPulseRing_Step(struct Sprite *); -void sub_810756C(u8); -void sub_81076F4(u8); -void sub_8107B84(u8); -void sub_8107CC4(u8); -void sub_8107D58(u8); -void sub_8108140(u8); -void sub_810862C(u8); -void sub_8108978(u8); -u8 sub_8108384(void); -void sub_8108408(struct Task*, u8); -void sub_810871C(struct Task*, u8); -void sub_8108AC0(struct Task*); -void sub_8108D54(struct Sprite*, int, int); - -extern const union AffineAnimCmd *const gGrowingRingAffineAnimTable[]; -extern const union AffineAnimCmd *const gUnknown_08596208[]; -extern const union AnimCmd *const gUnknown_08595AB8[]; - -// what is this? +static void AnimRainDrop(struct Sprite *); +static void AnimRainDrop_Step(struct Sprite *); +static void AnimWaterBubbleProjectile(struct Sprite *); +static void AnimWaterBubbleProjectile_Step1(struct Sprite *); +static void AnimWaterBubbleProjectile_Step2(struct Sprite *); +static void AnimWaterBubbleProjectile_Step3(struct Sprite *); +static void AnimAuroraBeamRings(struct Sprite *); +static void AnimAuroraBeamRings_Step(struct Sprite *); +static void AnimToTargetInSinWave(struct Sprite *); +static void AnimToTargetInSinWave_Step(struct Sprite *); +static void AnimHydroCannonCharge(struct Sprite *); +static void AnimHydroCannonCharge_Step(struct Sprite *); +static void AnimHydroCannonBeam(struct Sprite *); +static void AnimWaterGunDroplet(struct Sprite *); +static void AnimSmallBubblePair(struct Sprite *); +static void AnimSmallBubblePair_Step(struct Sprite *); +static void AnimSmallDriftingBubbles(struct Sprite *); +static void AnimSmallDriftingBubbles_Step(struct Sprite *); +static void AnimSmallWaterOrb(struct Sprite *); +static void AnimWaterSpoutRain(struct Sprite *); +static void AnimWaterSpoutRainHit(struct Sprite *); +static void AnimWaterSportDroplet(struct Sprite *); +static void AnimWaterSportDroplet_Step(struct Sprite *); +static void AnimWaterPulseBubble(struct Sprite *); +static void AnimWaterPulseBubble_Step(struct Sprite *); +static void AnimWaterPulseRingBubble(struct Sprite *); +static void AnimWaterPulseRing_Step(struct Sprite *); +static void AnimTask_RotateAuroraRingColors_Step(u8); +static void AnimTask_RunSinAnimTimer(u8); +static void AnimTask_CreateSurfWave_Step1(u8); +static void AnimTask_CreateSurfWave_Step2(u8); +static void AnimTask_SurfWaveScanlineEffect(u8); +static void AnimTask_WaterSpoutLaunch_Step(u8); +static void AnimTask_WaterSpoutRain_Step(u8); +static u8 GetWaterSpoutPowerForAnim(void); +static void CreateWaterSpoutLaunchDroplets(struct Task*, u8); +static void CreateWaterSpoutRainDroplet(struct Task*, u8); +static void AnimTask_WaterSport_Step(u8); +static void CreateWaterSportDroplet(struct Task*); +static void CreateWaterPulseRingBubbles(struct Sprite*, int, int); + +// Both unused const u8 gUnknown_8593C80[] = INCBIN_U8("graphics/unknown/unknown_593C80.4bpp"); const u8 gUnknown_8593FFC[] = INCBIN_U8("graphics/unknown/unknown_593FFC.bin"); -const union AnimCmd gUnknown_08594FFC[] = +static const union AnimCmd sAnim_RainDrop[] = { ANIMCMD_FRAME(0, 2), ANIMCMD_FRAME(8, 2), @@ -74,35 +70,35 @@ const union AnimCmd gUnknown_08594FFC[] = ANIMCMD_END, }; -const union AnimCmd *const gUnknown_0859501C[] = +static const union AnimCmd *const sAnims_RainDrop[] = { - gUnknown_08594FFC, + sAnim_RainDrop, }; -const struct SpriteTemplate gUnknown_08595020 = +const struct SpriteTemplate gRainDropSpriteTemplate = { .tileTag = ANIM_TAG_RAIN_DROPS, .paletteTag = ANIM_TAG_RAIN_DROPS, .oam = &gOamData_AffineOff_ObjNormal_16x32, - .anims = gUnknown_0859501C, + .anims = sAnims_RainDrop, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_810721C, + .callback = AnimRainDrop, }; -const union AffineAnimCmd gUnknown_08595038[] = +static const union AffineAnimCmd sAffineAnim_WaterBubbleProjectile[] = { AFFINEANIMCMD_FRAME(0xFFFB, 0xFFFB, 0, 10), AFFINEANIMCMD_FRAME(0x5, 0x5, 0, 10), AFFINEANIMCMD_JUMP(0), }; -const union AffineAnimCmd *const gUnknown_08595050[] = +static const union AffineAnimCmd *const sAffineAnims_WaterBubbleProjectile[] = { - gUnknown_08595038, + sAffineAnim_WaterBubbleProjectile, }; -const union AnimCmd gUnknown_08595054[] = +static const union AnimCmd sAnim_WaterBubbleProjectile[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_FRAME(4, 5), @@ -110,65 +106,64 @@ const union AnimCmd gUnknown_08595054[] = ANIMCMD_END, }; -const union AnimCmd *const gUnknown_08595064[] = +static const union AnimCmd *const sAnims_WaterBubbleProjectile[] = { - gUnknown_08595054, + sAnim_WaterBubbleProjectile, }; -const struct SpriteTemplate gBattleAnimSpriteTemplate_8595068 = +const struct SpriteTemplate gWaterBubbleProjectileSpriteTemplate = { .tileTag = ANIM_TAG_BUBBLE, .paletteTag = ANIM_TAG_BUBBLE, .oam = &gOamData_AffineNormal_ObjBlend_16x16, - .anims = gUnknown_08595064, + .anims = sAnims_WaterBubbleProjectile, .images = NULL, - .affineAnims = gUnknown_08595050, - .callback = sub_8107260, + .affineAnims = sAffineAnims_WaterBubbleProjectile, + .callback = AnimWaterBubbleProjectile, }; -const union AnimCmd gUnknown_08595080[] = +static const union AnimCmd sAnim_AuroraBeamRing_0[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_08595088[] = +static const union AnimCmd sAnim_AuroraBeamRing_1[] = { ANIMCMD_FRAME(4, 1), ANIMCMD_END, }; -const union AnimCmd *const gUnknown_08595090[] = +static const union AnimCmd *const sAnims_AuroraBeamRing[] = { - gUnknown_08595080, - gUnknown_08595088, + sAnim_AuroraBeamRing_0, + sAnim_AuroraBeamRing_1, }; -const union AffineAnimCmd gUnknown_08595098[] = +static const union AffineAnimCmd sAffineAnim_AuroraBeamRing[] = { AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 1), AFFINEANIMCMD_FRAME(0x60, 0x60, 0, 1), AFFINEANIMCMD_END, }; -const union AffineAnimCmd *const gUnknown_085950B0[] = +static const union AffineAnimCmd *const sAffineAnims_AuroraBeamRing[] = { - gUnknown_08595098, + sAffineAnim_AuroraBeamRing, }; -// Multi-colored rings used in Aurora Beam. -const struct SpriteTemplate gUnknown_085950B4 = +const struct SpriteTemplate gAuroraBeamRingSpriteTemplate = { .tileTag = ANIM_TAG_RAINBOW_RINGS, .paletteTag = ANIM_TAG_RAINBOW_RINGS, .oam = &gOamData_AffineDouble_ObjNormal_8x16, - .anims = gUnknown_08595090, + .anims = sAnims_AuroraBeamRing, .images = NULL, - .affineAnims = gUnknown_085950B0, - .callback = sub_810744C, + .affineAnims = sAffineAnims_AuroraBeamRing, + .callback = AnimAuroraBeamRings, }; -const union AnimCmd gUnknown_085950CC[] = +static const union AnimCmd sAnim_WaterMudOrb[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_FRAME(4, 1), @@ -177,34 +172,34 @@ const union AnimCmd gUnknown_085950CC[] = ANIMCMD_JUMP(0), }; -const union AnimCmd *const gUnknown_085950E0[] = +const union AnimCmd *const gAnims_WaterMudOrb[] = { - gUnknown_085950CC, + sAnim_WaterMudOrb, }; -const struct SpriteTemplate gUnknown_085950E4 = +const struct SpriteTemplate gHydroPumpOrbSpriteTemplate = { .tileTag = ANIM_TAG_WATER_ORB, .paletteTag = ANIM_TAG_WATER_ORB, .oam = &gOamData_AffineOff_ObjBlend_16x16, - .anims = gUnknown_085950E0, + .anims = gAnims_WaterMudOrb, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_81075EC, + .callback = AnimToTargetInSinWave, }; -const struct SpriteTemplate gUnknown_085950FC = +const struct SpriteTemplate gMudShotOrbSpriteTemplate = { .tileTag = ANIM_TAG_BROWN_ORB, .paletteTag = ANIM_TAG_BROWN_ORB, .oam = &gOamData_AffineOff_ObjBlend_16x16, - .anims = gUnknown_085950E0, + .anims = gAnims_WaterMudOrb, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_81075EC, + .callback = AnimToTargetInSinWave, }; -const struct SpriteTemplate gUnknown_08595114 = +const struct SpriteTemplate gSignalBeamRedOrbSpriteTemplate = { .tileTag = ANIM_TAG_GLOWY_RED_ORB, .paletteTag = ANIM_TAG_GLOWY_RED_ORB, @@ -212,10 +207,10 @@ const struct SpriteTemplate gUnknown_08595114 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_81075EC, + .callback = AnimToTargetInSinWave, }; -const struct SpriteTemplate gUnknown_0859512C = +const struct SpriteTemplate gSignalBeamGreenOrbSpriteTemplate = { .tileTag = ANIM_TAG_GLOWY_GREEN_ORB, .paletteTag = ANIM_TAG_GLOWY_GREEN_ORB, @@ -223,10 +218,10 @@ const struct SpriteTemplate gUnknown_0859512C = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_81075EC, + .callback = AnimToTargetInSinWave, }; -const union AnimCmd gUnknown_08595144[] = +static const union AnimCmd sAnim_FlamethrowerFlame[] = { ANIMCMD_FRAME(16, 2), ANIMCMD_FRAME(32, 2), @@ -234,23 +229,23 @@ const union AnimCmd gUnknown_08595144[] = ANIMCMD_JUMP(0), }; -const union AnimCmd *const gUnknown_08595154[] = +static const union AnimCmd *const sAnims_FlamethrowerFlame[] = { - gUnknown_08595144, + sAnim_FlamethrowerFlame, }; -const struct SpriteTemplate gUnknown_08595158 = +const struct SpriteTemplate gFlamethrowerFlameSpriteTemplate = { .tileTag = ANIM_TAG_SMALL_EMBER, .paletteTag = ANIM_TAG_SMALL_EMBER, .oam = &gOamData_AffineOff_ObjNormal_32x32, - .anims = gUnknown_08595154, + .anims = sAnims_FlamethrowerFlame, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_81075EC, + .callback = AnimToTargetInSinWave, }; -const struct SpriteTemplate gUnknown_08595170 = +const struct SpriteTemplate gPsywaveRingSpriteTemplate = { .tileTag = ANIM_TAG_BLUE_RING, .paletteTag = ANIM_TAG_BLUE_RING, @@ -258,10 +253,10 @@ const struct SpriteTemplate gUnknown_08595170 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gGrowingRingAffineAnimTable, - .callback = sub_81075EC, + .callback = AnimToTargetInSinWave, }; -const union AffineAnimCmd gUnknown_08595188[] = +static const union AffineAnimCmd sAffineAnim_HydroCannonCharge[] = { AFFINEANIMCMD_FRAME(0x3, 0x3, 10, 50), AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 10), @@ -269,100 +264,100 @@ const union AffineAnimCmd gUnknown_08595188[] = AFFINEANIMCMD_END, }; -const union AffineAnimCmd gUnknown_085951A8[] = +static const union AffineAnimCmd sAffineAnim_HydroCannonBeam[] = { AFFINEANIMCMD_FRAME(0x150, 0x150, 0, 0), AFFINEANIMCMD_END, }; -const union AffineAnimCmd *const gUnknown_085951B8[] = +static const union AffineAnimCmd *const sAffineAnims_HydroCannonCharge[] = { - gUnknown_08595188, + sAffineAnim_HydroCannonCharge, }; -const union AffineAnimCmd *const gUnknown_085951BC[] = +static const union AffineAnimCmd *const sAffineAnims_HydroCannonBeam[] = { - gUnknown_085951A8, + sAffineAnim_HydroCannonBeam, }; -const struct SpriteTemplate gUnknown_085951C0 = +const struct SpriteTemplate gHydroCannonChargeSpriteTemplate = { .tileTag = ANIM_TAG_WATER_ORB, .paletteTag = ANIM_TAG_WATER_ORB, .oam = &gOamData_AffineDouble_ObjBlend_16x16, - .anims = gUnknown_085950E0, + .anims = gAnims_WaterMudOrb, .images = NULL, - .affineAnims = gUnknown_085951B8, - .callback = sub_8107730, + .affineAnims = sAffineAnims_HydroCannonCharge, + .callback = AnimHydroCannonCharge, }; -const struct SpriteTemplate gUnknown_085951D8 = +const struct SpriteTemplate gHydroCannonBeamSpriteTemplate = { .tileTag = ANIM_TAG_WATER_ORB, .paletteTag = ANIM_TAG_WATER_ORB, .oam = &gOamData_AffineDouble_ObjBlend_16x16, - .anims = gUnknown_085950E0, + .anims = gAnims_WaterMudOrb, .images = NULL, - .affineAnims = gUnknown_085951BC, - .callback = sub_81077C0, + .affineAnims = sAffineAnims_HydroCannonBeam, + .callback = AnimHydroCannonBeam, }; -const union AnimCmd gUnknown_085951F0[] = +static const union AnimCmd sAnim_WaterBubble[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_085951F8[] = +static const union AnimCmd sAnim_WaterGunDroplet[] = { ANIMCMD_FRAME(4, 1), ANIMCMD_END, }; -const union AnimCmd *const gUnknown_08595200[] = +const union AnimCmd *const gAnims_WaterBubble[] = { - gUnknown_085951F0, + sAnim_WaterBubble, }; -const union AnimCmd *const gUnknown_08595204[] = +static const union AnimCmd *const sAnims_WaterGunDroplet[] = { - gUnknown_085951F8, + sAnim_WaterGunDroplet, }; -const struct SpriteTemplate gUnknown_08595208 = +const struct SpriteTemplate gWaterGunProjectileSpriteTemplate = { .tileTag = ANIM_TAG_SMALL_BUBBLES, .paletteTag = ANIM_TAG_SMALL_BUBBLES, .oam = &gOamData_AffineOff_ObjBlend_16x16, - .anims = gUnknown_08595200, + .anims = gAnims_WaterBubble, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimThrowProjectile, }; -const struct SpriteTemplate gUnknown_08595220 = +const struct SpriteTemplate gWaterGunDropletSpriteTemplate = { .tileTag = ANIM_TAG_SMALL_BUBBLES, .paletteTag = ANIM_TAG_SMALL_BUBBLES, .oam = &gOamData_AffineDouble_ObjBlend_16x16, - .anims = gUnknown_08595204, + .anims = sAnims_WaterGunDroplet, .images = NULL, - .affineAnims = gUnknown_08596208, - .callback = sub_8107894, + .affineAnims = gAffineAnims_Droplet, + .callback = AnimWaterGunDroplet, }; -const struct SpriteTemplate gUnknown_08595238 = +const struct SpriteTemplate gSmallBubblePairSpriteTemplate = { - .tileTag = ANIM_TAG_ICE_CRYSTALS, + .tileTag = ANIM_TAG_ICE_CRYSTALS, // ice_crystals_4, which are bubbles .paletteTag = ANIM_TAG_ICE_CRYSTALS, .oam = &gOamData_AffineOff_ObjNormal_8x8, - .anims = gUnknown_08595AB8, + .anims = gAnims_SmallBubblePair, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_81078D0, + .callback = AnimSmallBubblePair, }; -const struct SpriteTemplate gUnknown_08595250 = +const struct SpriteTemplate gSmallDriftingBubblesSpriteTemplate = { .tileTag = ANIM_TAG_SMALL_BUBBLES, .paletteTag = ANIM_TAG_SMALL_BUBBLES, @@ -370,10 +365,11 @@ const struct SpriteTemplate gUnknown_08595250 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_8108034, + .callback = AnimSmallDriftingBubbles, }; -const struct SpriteTemplate gUnknown_08595268 = +// Used by Water Spout / Water Sport +const struct SpriteTemplate gSmallWaterOrbSpriteTemplate = { .tileTag = ANIM_TAG_GLOWY_BLUE_ORB, .paletteTag = ANIM_TAG_GLOWY_BLUE_ORB, @@ -381,105 +377,103 @@ const struct SpriteTemplate gUnknown_08595268 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_810851C, + .callback = AnimSmallWaterOrb, }; -const union AnimCmd gUnknown_08595280[] = +static const union AnimCmd sAnim_WaterPulseBubble_0[] = { ANIMCMD_FRAME(8, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_08595288[] = +static const union AnimCmd sAnim_WaterPulseBubble_1[] = { ANIMCMD_FRAME(9, 1), ANIMCMD_END, }; -const union AnimCmd gUnknown_08595290[] = +static const union AnimCmd sAnim_WeatherBallWaterDown[] = { ANIMCMD_FRAME(4, 1), ANIMCMD_END, }; -const union AnimCmd *const gUnknown_08595298[] = +static const union AnimCmd *const sAnims_WaterPulseBubble[] = { - gUnknown_08595280, - gUnknown_08595288, + sAnim_WaterPulseBubble_0, + sAnim_WaterPulseBubble_1, }; -const union AnimCmd *const gUnknown_085952A0[] = +static const union AnimCmd *const sAnims_WeatherBallWaterDown[] = { - gUnknown_08595290, + sAnim_WeatherBallWaterDown, }; -const union AffineAnimCmd gUnknown_085952A4[] = +static const union AffineAnimCmd sAffineAnim_WaterPulseRingBubble_0[] = { AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0), AFFINEANIMCMD_FRAME(0xFFF6, 0xFFF6, 0, 15), AFFINEANIMCMD_END, }; -const union AffineAnimCmd gUnknown_085952BC[] = +static const union AffineAnimCmd sAffineAnim_WaterPulseRingBubble_1[] = { AFFINEANIMCMD_FRAME(0xE0, 0xE0, 0, 0), AFFINEANIMCMD_FRAME(0xFFF8, 0xFFF8, 0, 15), AFFINEANIMCMD_END, }; -const union AffineAnimCmd gUnknown_085952D4[] = +static const union AffineAnimCmd sAffineAnim_WeatherBallWaterDown[] = { AFFINEANIMCMD_FRAME(0x150, 0x150, 0, 0), AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 15), AFFINEANIMCMD_END, }; -const union AffineAnimCmd *const gUnknown_085952EC[] = +static const union AffineAnimCmd *const sAffineAnims_WaterPulseRingBubble[] = { - gUnknown_085952A4, - gUnknown_085952BC, + sAffineAnim_WaterPulseRingBubble_0, + sAffineAnim_WaterPulseRingBubble_1, }; -const union AffineAnimCmd *const gUnknown_085952F4[] = +static const union AffineAnimCmd *const sAffineAnims_WeatherBallWaterDown[] = { - gUnknown_085952D4, + sAffineAnim_WeatherBallWaterDown, }; -const struct SpriteTemplate gUnknown_085952F8 = +const struct SpriteTemplate gWaterPulseBubbleSpriteTemplate = { .tileTag = ANIM_TAG_SMALL_BUBBLES, .paletteTag = ANIM_TAG_SMALL_BUBBLES, .oam = &gOamData_AffineOff_ObjNormal_8x8, - .anims = gUnknown_08595298, + .anims = sAnims_WaterPulseBubble, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_8108BE0, + .callback = AnimWaterPulseBubble, }; -const struct SpriteTemplate gUnknown_08595310 = +const struct SpriteTemplate gWaterPulseRingBubbleSpriteTemplate = { .tileTag = ANIM_TAG_SMALL_BUBBLES, .paletteTag = ANIM_TAG_SMALL_BUBBLES, .oam = &gOamData_AffineNormal_ObjNormal_8x8, - .anims = gUnknown_08595298, + .anims = sAnims_WaterPulseBubble, .images = NULL, - .affineAnims = gUnknown_085952EC, - .callback = sub_8108C54, + .affineAnims = sAffineAnims_WaterPulseRingBubble, + .callback = AnimWaterPulseRingBubble, }; -const struct SpriteTemplate gUnknown_08595328 = +const struct SpriteTemplate gWeatherBallWaterDownSpriteTemplate = { .tileTag = ANIM_TAG_SMALL_BUBBLES, .paletteTag = ANIM_TAG_SMALL_BUBBLES, .oam = &gOamData_AffineNormal_ObjNormal_16x16, - .anims = gUnknown_085952A0, + .anims = sAnims_WeatherBallWaterDown, .images = NULL, - .affineAnims = gUnknown_085952F4, - .callback = sub_80A8EE4, + .affineAnims = sAffineAnims_WeatherBallWaterDown, + .callback = AnimWeatherBallDown, }; -extern const struct SpriteTemplate gUnknown_08597388; - void AnimTask_CreateRaindrops(u8 taskId) { u8 x, y; @@ -495,18 +489,18 @@ void AnimTask_CreateRaindrops(u8 taskId) { x = Random2() % 240; y = Random2() % 80; - CreateSprite(&gUnknown_08595020, x, y, 4); + CreateSprite(&gRainDropSpriteTemplate, x, y, 4); } if (gTasks[taskId].data[0] == gTasks[taskId].data[3]) DestroyAnimVisualTask(taskId); } -void sub_810721C(struct Sprite *sprite) +static void AnimRainDrop(struct Sprite *sprite) { - sprite->callback = sub_8107228; + sprite->callback = AnimRainDrop_Step; } -void sub_8107228(struct Sprite *sprite) +static void AnimRainDrop_Step(struct Sprite *sprite) { if (++sprite->data[0] <= 13) { @@ -517,7 +511,8 @@ void sub_8107228(struct Sprite *sprite) DestroySprite(sprite); } -void sub_8107260(struct Sprite *sprite) +// For water bubbles that move to a dest, as in Bubble/Bubblebeam +static void AnimWaterBubbleProjectile(struct Sprite *sprite) { u8 spriteId; @@ -550,11 +545,11 @@ void sub_8107260(struct Sprite *sprite) gSprites[spriteId].data[2] = gBattleAnimArgs[5]; gSprites[spriteId].data[3] = (u8)gBattleAnimArgs[4] * 256; gSprites[spriteId].data[4] = gBattleAnimArgs[6]; - sprite->callback = sub_8107380; + sprite->callback = AnimWaterBubbleProjectile_Step1; sprite->callback(sprite); } -void sub_8107380(struct Sprite *sprite) +static void AnimWaterBubbleProjectile_Step1(struct Sprite *sprite) { u8 otherSpriteId = sprite->data[5]; u8 timer = gSprites[otherSpriteId].data[4]; @@ -571,26 +566,26 @@ void sub_8107380(struct Sprite *sprite) } else { - sprite->callback = sub_8107408; + sprite->callback = AnimWaterBubbleProjectile_Step2; DestroySprite(&gSprites[otherSpriteId]); } } -void sub_8107408(struct Sprite *sprite) +static void AnimWaterBubbleProjectile_Step2(struct Sprite *sprite) { sprite->animPaused = FALSE; sprite->callback = RunStoredCallbackWhenAnimEnds; - StoreSpriteCallbackInData6(sprite, sub_8107430); + StoreSpriteCallbackInData6(sprite, AnimWaterBubbleProjectile_Step3); } -void sub_8107430(struct Sprite *sprite) +static void AnimWaterBubbleProjectile_Step3(struct Sprite *sprite) { sprite->data[0] = 10; sprite->callback = WaitAnimForDuration; StoreSpriteCallbackInData6(sprite, DestroySpriteAndMatrix); } -void sub_810744C(struct Sprite *sprite) +static void AnimAuroraBeamRings(struct Sprite *sprite) { s16 unkArg; @@ -605,14 +600,14 @@ void sub_810744C(struct Sprite *sprite) sprite->data[3] = sprite->pos1.y; sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + gBattleAnimArgs[3]; InitAnimLinearTranslation(sprite); - sprite->callback = sub_81074E4; + sprite->callback = AnimAuroraBeamRings_Step; sprite->affineAnimPaused = TRUE; sprite->callback(sprite); } -void sub_81074E4(struct Sprite *sprite) +static void AnimAuroraBeamRings_Step(struct Sprite *sprite) { - if ((u16)gBattleAnimArgs[ARG_RET_ID] == 0xFFFF) + if ((u16)gBattleAnimArgs[7] == 0xFFFF) { StartSpriteAnim(sprite, 1); sprite->affineAnimPaused = FALSE; @@ -621,15 +616,16 @@ void sub_81074E4(struct Sprite *sprite) DestroyAnimSprite(sprite); } -void sub_8107528(u8 taskId) +// Updates the palette on the rainbow rings used in Aurora Beam to make them appear to be rotating counterclockwise +void AnimTask_RotateAuroraRingColors(u8 taskId) { gTasks[taskId].data[0] = gBattleAnimArgs[0]; gTasks[taskId].data[2] = IndexOfSpritePaletteTag(ANIM_TAG_RAINBOW_RINGS) * 16 + 256; - gTasks[taskId].func = sub_810756C; + gTasks[taskId].func = AnimTask_RotateAuroraRingColors_Step; } #ifdef NONMATCHING -void sub_810756C(u8 taskId) +static void AnimTask_RotateAuroraRingColors_Step(u8 taskId) { int i; u16 palIndex; @@ -653,7 +649,7 @@ void sub_810756C(u8 taskId) } #else NAKED -void sub_810756C(u8 taskId) +static void AnimTask_RotateAuroraRingColors_Step(u8 taskId) { asm_unified("push {r4-r7,lr}\n\ lsls r0, 24\n\ @@ -721,7 +717,8 @@ _081075DE:\n\ } #endif -void sub_81075EC(struct Sprite *sprite) +// For animating undulating beam attacks (e.g. Flamethrower, Hydro Pump, Signal Beam) +static void AnimToTargetInSinWave(struct Sprite *sprite) { u16 retArg; @@ -734,8 +731,8 @@ void sub_81075EC(struct Sprite *sprite) InitAnimLinearTranslation(sprite); sprite->data[5] = 0xD200 / sprite->data[0]; sprite->data[7] = gBattleAnimArgs[3]; - retArg = gBattleAnimArgs[ARG_RET_ID]; - if (gBattleAnimArgs[ARG_RET_ID] > 127) + retArg = gBattleAnimArgs[7]; + if (gBattleAnimArgs[7] > 127) { sprite->data[6] = (retArg - 127) * 256; sprite->data[7] = -sprite->data[7]; @@ -744,11 +741,11 @@ void sub_81075EC(struct Sprite *sprite) { sprite->data[6] = retArg * 256; } - sprite->callback = sub_8107674; + sprite->callback = AnimToTargetInSinWave_Step; sprite->callback(sprite); } -void sub_8107674(struct Sprite *sprite) +static void AnimToTargetInSinWave_Step(struct Sprite *sprite) { if (AnimTranslateLinear(sprite)) DestroyAnimSprite(sprite); @@ -764,21 +761,22 @@ void sub_8107674(struct Sprite *sprite) } } -void sub_81076C8(u8 taskId) +void AnimTask_StartSinAnimTimer(u8 taskId) { gTasks[taskId].data[0] = gBattleAnimArgs[0]; - gBattleAnimArgs[ARG_RET_ID] = 0; - gTasks[taskId].func = sub_81076F4; + gBattleAnimArgs[7] = 0; + gTasks[taskId].func = AnimTask_RunSinAnimTimer; } -void sub_81076F4(u8 taskId) +static void AnimTask_RunSinAnimTimer(u8 taskId) { - gBattleAnimArgs[ARG_RET_ID] = (gBattleAnimArgs[ARG_RET_ID] + 3) & 0xFF; + gBattleAnimArgs[7] = (gBattleAnimArgs[7] + 3) & 0xFF; if (--gTasks[taskId].data[0] == 0) DestroyAnimVisualTask(taskId); } -void sub_8107730(struct Sprite *sprite) +// Flashing blue orbs grow in size near the attacker. First stage of Hydro Cannon +static void AnimHydroCannonCharge(struct Sprite *sprite) { u8 priority; @@ -804,16 +802,17 @@ void sub_8107730(struct Sprite *sprite) sprite->pos2.x = -10; sprite->subpriority = priority + 2; } - sprite->callback = sub_81077A4; + sprite->callback = AnimHydroCannonCharge_Step; } -void sub_81077A4(struct Sprite *sprite) +static void AnimHydroCannonCharge_Step(struct Sprite *sprite) { if (sprite->affineAnimEnded) DestroyAnimSprite(sprite); } -void sub_81077C0(struct Sprite *sprite) +// Flashing blue orbs move from the attacker to the target. Second stage of Hydro Cannon +static void AnimHydroCannonBeam(struct Sprite *sprite) { bool8 animType; u8 coordType; @@ -841,7 +840,8 @@ void sub_81077C0(struct Sprite *sprite) StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); } -void sub_8107894(struct Sprite *sprite) +// Water droplet appears and drips down. Used by Water Gun on impact +static void AnimWaterGunDroplet(struct Sprite *sprite) { InitSpritePosToAnimTarget(sprite, TRUE); sprite->data[0] = gBattleAnimArgs[4]; @@ -851,17 +851,17 @@ void sub_8107894(struct Sprite *sprite) StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); } -void sub_81078D0(struct Sprite *sprite) +static void AnimSmallBubblePair(struct Sprite *sprite) { - if (gBattleAnimArgs[3]) + if (gBattleAnimArgs[3] != ANIM_ATTACKER) InitSpritePosToAnimTarget(sprite, TRUE); else InitSpritePosToAnimAttacker(sprite, TRUE); sprite->data[7] = gBattleAnimArgs[2]; - sprite->callback = sub_810790C; + sprite->callback = AnimSmallBubblePair_Step; } -void sub_810790C(struct Sprite *sprite) +static void AnimSmallBubblePair_Step(struct Sprite *sprite) { sprite->data[0] = (sprite->data[0] + 11) & 0xFF; sprite->pos2.x = Sin(sprite->data[0], 4); @@ -886,20 +886,20 @@ void AnimTask_CreateSurfWave(u8 taskId) { SetAnimBgAttribute(1, BG_ANIM_CHAR_BASE_BLOCK, 1); if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_OPPONENT) - AnimLoadCompressedBgTilemap(animBg.bgId, gUnknown_08D95E00); + AnimLoadCompressedBgTilemap(animBg.bgId, gBattleAnimBgTilemap_SurfOpponent); else - AnimLoadCompressedBgTilemap(animBg.bgId, gUnknown_08D960D0); + AnimLoadCompressedBgTilemap(animBg.bgId, gBattleAnimBgTilemap_SurfPlayer); } else { - sub_80A6D60(&animBg, gUnknown_08D963A4, 1); + AnimLoadCompressedBgTilemapHandleContest(&animBg, gBattleAnimBgTilemap_SurfContest, 1); } AnimLoadCompressedBgGfx(animBg.bgId, gBattleAnimBgImage_Surf, animBg.tilesOffset); if (gBattleAnimArgs[0] == 0) LoadCompressedPalette(gBattleAnimBgPalette_Surf, animBg.paletteId * 16, 32); else LoadCompressedPalette(gBattleAnimBackgroundImageMuddyWater_Pal, animBg.paletteId * 16, 32); - taskId2 = CreateTask(sub_8107D58, gTasks[taskId].priority + 1); + taskId2 = CreateTask(AnimTask_SurfWaveScanlineEffect, gTasks[taskId].priority + 1); gTasks[taskId].data[15] = taskId2; gTasks[taskId2].data[0] = 0; gTasks[taskId2].data[1] = 0x1000; @@ -941,7 +941,7 @@ void AnimTask_CreateSurfWave(u8 taskId) gTasks[taskId2].data[5] = 0; } gTasks[taskId].data[6] = 1; - gTasks[taskId].func = sub_8107B84; + gTasks[taskId].func = AnimTask_CreateSurfWave_Step1; } #else NAKED @@ -990,22 +990,22 @@ void AnimTask_CreateSurfWave(u8 taskId) bne _081079D0\n\ mov r0, sp\n\ ldrb r0, [r0, 0x9]\n\ - ldr r1, =gUnknown_08D95E00\n\ + ldr r1, =gBattleAnimBgTilemap_SurfOpponent\n\ bl AnimLoadCompressedBgTilemap\n\ b _081079EA\n\ .pool\n\ _081079D0:\n\ mov r0, sp\n\ ldrb r0, [r0, 0x9]\n\ - ldr r1, =gUnknown_08D960D0\n\ + ldr r1, =gBattleAnimBgTilemap_SurfPlayer\n\ bl AnimLoadCompressedBgTilemap\n\ b _081079EA\n\ .pool\n\ _081079E0:\n\ - ldr r1, =gUnknown_08D963A4\n\ + ldr r1, =gBattleAnimBgTilemap_SurfContest\n\ mov r0, sp\n\ movs r2, 0x1\n\ - bl sub_80A6D60\n\ + bl AnimLoadCompressedBgTilemapHandleContest\n\ _081079EA:\n\ mov r0, sp\n\ ldrb r0, [r0, 0x9]\n\ @@ -1034,7 +1034,7 @@ _08107A24:\n\ movs r2, 0x20\n\ bl LoadCompressedPalette\n\ _08107A32:\n\ - ldr r0, =sub_8107D58\n\ + ldr r0, =AnimTask_SurfWaveScanlineEffect\n\ ldr r4, =gTasks\n\ mov r2, r10\n\ lsls r5, r2, 2\n\ @@ -1157,7 +1157,7 @@ _08107B58:\n\ adds r0, r1\n\ movs r1, 0x1\n\ strh r1, [r0, 0x14]\n\ - ldr r1, =sub_8107B84\n\ + ldr r1, =AnimTask_CreateSurfWave_Step1\n\ str r1, [r0]\n\ add sp, 0x10\n\ pop {r3-r5}\n\ @@ -1172,7 +1172,7 @@ _08107B58:\n\ #endif #ifdef NONMATCHING -void sub_8107B84(u8 taskId) +static void AnimTask_CreateSurfWave_Step1(u8 taskId) { struct BattleAnimBgData animBg; u8 i; @@ -1217,12 +1217,12 @@ void sub_8107B84(u8 taskId) if (!(gTasks[gTasks[taskId].data[15]].data[1] & 0x1F)) { gTasks[taskId].data[0] = gTasks[gTasks[taskId].data[15]].data[1] & 0x1F; - gTasks[taskId].func = sub_8107CC4; + gTasks[taskId].func = AnimTask_CreateSurfWave_Step2; } } #else NAKED -void sub_8107B84(u8 taskId) +static void AnimTask_CreateSurfWave_Step1(u8 taskId) { asm_unified("push {r4-r7,lr}\n\ sub sp, 0x10\n\ @@ -1371,7 +1371,7 @@ _08107C86:\n\ cmp r3, 0\n\ bne _08107CA8\n\ strh r3, [r2, 0x8]\n\ - ldr r0, =sub_8107CC4\n\ + ldr r0, =AnimTask_CreateSurfWave_Step2\n\ str r0, [r2]\n\ _08107CA8:\n\ add sp, 0x10\n\ @@ -1382,7 +1382,7 @@ _08107CA8:\n\ } #endif -void sub_8107CC4(u8 taskId) +static void AnimTask_CreateSurfWave_Step2(u8 taskId) { u16 *BGptrX = &gBattle_BG1_X; u16 *BGptrY = &gBattle_BG1_Y; @@ -1405,7 +1405,7 @@ void sub_8107CC4(u8 taskId) } } -void sub_8107D58(u8 taskId) +static void AnimTask_SurfWaveScanlineEffect(u8 taskId) { s16 i; struct ScanlineEffectParams params; @@ -1471,7 +1471,7 @@ void sub_8107D58(u8 taskId) } } -void sub_8108034(struct Sprite *sprite) +static void AnimSmallDriftingBubbles(struct Sprite *sprite) { s16 randData; s16 randData2; @@ -1484,10 +1484,10 @@ void sub_8108034(struct Sprite *sprite) randData2 = 256 - randData2; sprite->data[1] = randData; sprite->data[2] = randData2; - sprite->callback = sub_8108098; + sprite->callback = AnimSmallDriftingBubbles_Step; } -void sub_8108098(struct Sprite *sprite) +static void AnimSmallDriftingBubbles_Step(struct Sprite *sprite) { sprite->data[3] += sprite->data[1]; sprite->data[4] += sprite->data[2]; @@ -1500,18 +1500,18 @@ void sub_8108098(struct Sprite *sprite) DestroyAnimSprite(sprite); } -void sub_81080E4(u8 taskId) +void AnimTask_WaterSpoutLaunch(u8 taskId) { struct Task *task = &gTasks[taskId]; task->data[15] = GetAnimBattlerSpriteId(ANIM_ATTACKER); task->data[5] = gSprites[task->data[15]].pos1.y; - task->data[1] = sub_8108384(); + task->data[1] = GetWaterSpoutPowerForAnim(); PrepareBattlerSpriteForRotScale(task->data[15], ST_OAM_OBJ_NORMAL); - task->func = sub_8108140; + task->func = AnimTask_WaterSpoutLaunch_Step; } -void sub_8108140(u8 taskId) +static void AnimTask_WaterSpoutLaunch_Step(u8 taskId) { struct Task *task = &gTasks[taskId]; @@ -1560,7 +1560,7 @@ void sub_8108140(u8 taskId) } break; case 4: - sub_8108408(task, taskId); + CreateWaterSpoutLaunchDroplets(task, taskId); task->data[0]++; case 5: if (++task->data[3] > 1) @@ -1596,7 +1596,9 @@ void sub_8108140(u8 taskId) } } -u8 sub_8108384(void) +// Returns a value 0-3 relative to which quarter HP the attacker is in +// A higher number results in more water sprites during the Water Spout animation +static u8 GetWaterSpoutPowerForAnim(void) { u8 i; u16 hp; @@ -1628,7 +1630,7 @@ u8 sub_8108384(void) return 3; } -void sub_8108408(struct Task *task, u8 taskId) +static void CreateWaterSpoutLaunchDroplets(struct Task *task, u8 taskId) { s16 i; s16 attackerCoordX = GetBattlerSpriteCoord(gBattleAnimAttacker, 2); @@ -1642,7 +1644,7 @@ void sub_8108408(struct Task *task, u8 taskId) increment = 1; for (i = 0; i < 20; i += increment) { - spriteId = CreateSprite(&gUnknown_08595268, attackerCoordX, attackerCoordY, subpriority); + spriteId = CreateSprite(&gSmallWaterOrbSpriteTemplate, attackerCoordX, attackerCoordY, subpriority); if (spriteId != MAX_SPRITES) { gSprites[spriteId].data[1] = i; @@ -1653,7 +1655,7 @@ void sub_8108408(struct Task *task, u8 taskId) gSprites[spriteId].data[6] = taskId; gSprites[spriteId].data[7] = 2; if (task->data[2] & 1) - sub_810851C(&gSprites[spriteId]); + AnimSmallWaterOrb(&gSprites[spriteId]); task->data[2]++; } trigIndex = (trigIndex + increment * 2); @@ -1661,7 +1663,7 @@ void sub_8108408(struct Task *task, u8 taskId) } } -void sub_810851C(struct Sprite *sprite) +static void AnimSmallWaterOrb(struct Sprite *sprite) { switch (sprite->data[0]) { @@ -1683,11 +1685,11 @@ void sub_810851C(struct Sprite *sprite) } } -void sub_81085C8(u8 taskId) +void AnimTask_WaterSpoutRain(u8 taskId) { struct Task *task = &gTasks[taskId]; - task->data[1] = sub_8108384(); + task->data[1] = GetWaterSpoutPowerForAnim(); if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER) { task->data[4] = 136; @@ -1701,10 +1703,10 @@ void sub_81085C8(u8 taskId) task->data[5] = 98; task->data[7] = task->data[4] + 49; task->data[12] = task->data[1] * 5 + 5; - task->func = sub_810862C; + task->func = AnimTask_WaterSpoutRain_Step; } -void sub_810862C(u8 taskId) +static void AnimTask_WaterSpoutRain_Step(u8 taskId) { struct Task *task = &gTasks[taskId]; u8 taskId2; @@ -1715,21 +1717,21 @@ void sub_810862C(u8 taskId) if (++task->data[2] > 2) { task->data[2] = 0; - sub_810871C(task, taskId); + CreateWaterSpoutRainDroplet(task, taskId); } if (task->data[10] != 0 && task->data[13] == 0) { - gBattleAnimArgs[0] = 1; + gBattleAnimArgs[0] = ANIM_TARGET; gBattleAnimArgs[1] = 0; gBattleAnimArgs[2] = 12; - taskId2 = CreateTask(sub_81152DC, 80); + taskId2 = CreateTask(AnimTask_HorizontalShake, 80); if (taskId2 != 0xFF) { gTasks[taskId2].func(taskId2); gAnimVisualTaskCount++; } - gBattleAnimArgs[0] = 3; - taskId2 = CreateTask(sub_81152DC, 80); + gBattleAnimArgs[0] = ANIM_DEF_PARTNER; + taskId2 = CreateTask(AnimTask_HorizontalShake, 80); if (taskId2 != 0xFF) { gTasks[taskId2].func(taskId2); @@ -1747,14 +1749,14 @@ void sub_810862C(u8 taskId) } } -void sub_810871C(struct Task *task, u8 taskId) +static void CreateWaterSpoutRainDroplet(struct Task *task, u8 taskId) { u16 yPosArg = ((gSineTable[task->data[8]] + 3) >> 4) + task->data[6]; - u8 spriteId = CreateSprite(&gUnknown_08595268, task->data[7], 0, 0); + u8 spriteId = CreateSprite(&gSmallWaterOrbSpriteTemplate, task->data[7], 0, 0); if (spriteId != MAX_SPRITES) { - gSprites[spriteId].callback = sub_81087C0; + gSprites[spriteId].callback = AnimWaterSpoutRain; gSprites[spriteId].data[5] = yPosArg; gSprites[spriteId].data[6] = taskId; gSprites[spriteId].data[7] = 9; @@ -1762,10 +1764,10 @@ void sub_810871C(struct Task *task, u8 taskId) } task->data[11]++; task->data[8] = (task->data[8] + 39) & 0xFF; - task->data[7] = ((task->data[7] * 0x41c64e6d + 0x3039) % task->data[5]) + task->data[4]; + task->data[7] = (ISO_RANDOMIZE2(task->data[7]) % task->data[5]) + task->data[4]; } -void sub_81087C0(struct Sprite *sprite) +static void AnimWaterSpoutRain(struct Sprite *sprite) { if (sprite->data[0] == 0) { @@ -1773,20 +1775,20 @@ void sub_81087C0(struct Sprite *sprite) if (sprite->pos1.y >= sprite->data[5]) { gTasks[sprite->data[6]].data[10] = 1; - sprite->data[1] = CreateSprite(&gUnknown_08597388, sprite->pos1.x, sprite->pos1.y, 1); + sprite->data[1] = CreateSprite(&gWaterHitSplatSpriteTemplate, sprite->pos1.x, sprite->pos1.y, 1); if (sprite->data[1] != MAX_SPRITES) { StartSpriteAffineAnim(&gSprites[sprite->data[1]], 3); gSprites[sprite->data[1]].data[6] = sprite->data[6]; gSprites[sprite->data[1]].data[7] = sprite->data[7]; - gSprites[sprite->data[1]].callback = sub_810886C; + gSprites[sprite->data[1]].callback = AnimWaterSpoutRainHit; } DestroySprite(sprite); } } } -void sub_810886C(struct Sprite *sprite) +static void AnimWaterSpoutRainHit(struct Sprite *sprite) { if (++sprite->data[1] > 1) { @@ -1801,7 +1803,7 @@ void sub_810886C(struct Sprite *sprite) } } -void sub_81088E4(u8 taskId) +void AnimTask_WaterSport(u8 taskId) { struct Task *task = &gTasks[taskId]; @@ -1815,22 +1817,22 @@ void sub_81088E4(u8 taskId) task->data[9] = -32; task->data[1] = 0; task->data[0] = 0; - task->func = sub_8108978; + task->func = AnimTask_WaterSport_Step; } -void sub_8108978(u8 taskId) +static void AnimTask_WaterSport_Step(u8 taskId) { struct Task *task = &gTasks[taskId]; switch (task->data[0]) { case 0: - sub_8108AC0(task); + CreateWaterSportDroplet(task); if (task->data[10] != 0) task->data[0]++; break; case 1: - sub_8108AC0(task); + CreateWaterSportDroplet(task); if (++task->data[1] > 16) { task->data[1] = 0; @@ -1838,7 +1840,7 @@ void sub_8108978(u8 taskId) } break; case 2: - sub_8108AC0(task); + CreateWaterSportDroplet(task); task->data[5] += task->data[7] * 6; if (!(task->data[5] >= -16 && task->data[5] <= 256)) { @@ -1856,13 +1858,13 @@ void sub_8108978(u8 taskId) } break; case 3: - sub_8108AC0(task); + CreateWaterSportDroplet(task); task->data[6] -= task->data[7] * 2; if (++task->data[1] > 7) task->data[0]++; break; case 4: - sub_8108AC0(task); + CreateWaterSportDroplet(task); task->data[5] -= task->data[7] * 6; if (!(task->data[5] >= -16 && task->data[5] <= 256)) { @@ -1872,7 +1874,7 @@ void sub_8108978(u8 taskId) } break; case 5: - sub_8108AC0(task); + CreateWaterSportDroplet(task); task->data[6] -= task->data[7] * 2; if (++task->data[1] > 7) task->data[0] = 2; @@ -1887,14 +1889,14 @@ void sub_8108978(u8 taskId) } } -void sub_8108AC0(struct Task *task) +static void CreateWaterSportDroplet(struct Task *task) { u8 spriteId; if (++task->data[2] > 1) { task->data[2] = 0; - spriteId = CreateSprite(&gUnknown_08595268, task->data[3], task->data[4], 10); + spriteId = CreateSprite(&gSmallWaterOrbSpriteTemplate, task->data[3], task->data[4], 10); if (spriteId != MAX_SPRITES) { gSprites[spriteId].data[0] = 16; @@ -1902,13 +1904,13 @@ void sub_8108AC0(struct Task *task) gSprites[spriteId].data[4] = task->data[6]; gSprites[spriteId].data[5] = task->data[9]; InitAnimArcTranslation(&gSprites[spriteId]); - gSprites[spriteId].callback = sub_8108B2C; + gSprites[spriteId].callback = AnimWaterSportDroplet; task->data[8]++; } } } -void sub_8108B2C(struct Sprite *sprite) +static void AnimWaterSportDroplet(struct Sprite *sprite) { if (TranslateAnimHorizontalArc(sprite)) { @@ -1919,11 +1921,11 @@ void sub_8108B2C(struct Sprite *sprite) sprite->data[4] = (Random2() & 0x1F) - 16 + sprite->pos1.y; sprite->data[5] = ~(Random2() & 7); InitAnimArcTranslation(sprite); - sprite->callback = sub_8108B94; + sprite->callback = AnimWaterSportDroplet_Step; } } -void sub_8108B94(struct Sprite *sprite) +static void AnimWaterSportDroplet_Step(struct Sprite *sprite) { u16 i; @@ -1931,7 +1933,7 @@ void sub_8108B94(struct Sprite *sprite) { for (i = 0; i < NUM_TASKS; i++) { - if (gTasks[i].func == sub_8108978) + if (gTasks[i].func == AnimTask_WaterSport_Step) { gTasks[i].data[10] = 1; gTasks[i].data[8]--; @@ -1941,7 +1943,7 @@ void sub_8108B94(struct Sprite *sprite) } } -void sub_8108BE0(struct Sprite *sprite) +static void AnimWaterPulseBubble(struct Sprite *sprite) { sprite->pos1.x = gBattleAnimArgs[0]; sprite->pos1.y = gBattleAnimArgs[1]; @@ -1949,10 +1951,10 @@ void sub_8108BE0(struct Sprite *sprite) sprite->data[1] = gBattleAnimArgs[3]; sprite->data[2] = gBattleAnimArgs[4]; sprite->data[3] = gBattleAnimArgs[5]; - sprite->callback = sub_8108C08; + sprite->callback = AnimWaterPulseBubble_Step; } -void sub_8108C08(struct Sprite *sprite) +static void AnimWaterPulseBubble_Step(struct Sprite *sprite) { sprite->data[4] -= sprite->data[0]; sprite->pos2.y = sprite->data[4] / 10; @@ -1962,7 +1964,7 @@ void sub_8108C08(struct Sprite *sprite) DestroyAnimSprite(sprite); } -void sub_8108C54(struct Sprite *sprite) +static void AnimWaterPulseRingBubble(struct Sprite *sprite) { sprite->data[3] += sprite->data[1]; sprite->data[4] += sprite->data[2]; @@ -1985,7 +1987,7 @@ void AnimWaterPulseRing(struct Sprite *sprite) sprite->callback = AnimWaterPulseRing_Step; } -void AnimWaterPulseRing_Step(struct Sprite *sprite) +static void AnimWaterPulseRing_Step(struct Sprite *sprite) { int xDiff = sprite->data[1] - sprite->pos1.x; int yDiff = sprite->data[2] - sprite->pos1.y; @@ -1995,7 +1997,7 @@ void AnimWaterPulseRing_Step(struct Sprite *sprite) if (++sprite->data[5] == sprite->data[4]) { sprite->data[5] = 0; - sub_8108D54(sprite, xDiff, yDiff); + CreateWaterPulseRingBubbles(sprite, xDiff, yDiff); } if (sprite->data[3] == sprite->data[0]) DestroyAnimSprite(sprite); @@ -2003,7 +2005,7 @@ void AnimWaterPulseRing_Step(struct Sprite *sprite) } #ifdef NONMATCHING -void sub_8108D54(struct Sprite *sprite, int xDiff, int yDiff) +static void CreateWaterPulseRingBubbles(struct Sprite *sprite, int xDiff, int yDiff) { s16 something = sprite->data[0] / 2; s16 combinedX = sprite->pos1.x + sprite->pos2.x; @@ -2015,7 +2017,7 @@ void sub_8108D54(struct Sprite *sprite, int xDiff, int yDiff) for (i = 0; i <= 0; i++) { - spriteId = CreateSprite(&gUnknown_08595310, combinedX, combinedY + something, 130); + spriteId = CreateSprite(&gWaterPulseRingBubbleSpriteTemplate, combinedX, combinedY + something, 130); gSprites[spriteId].data[0] = 20; gSprites[spriteId].data[1] = randomSomethingY; gSprites[spriteId].subpriority = GetBattlerSpriteSubpriority(gBattleAnimAttacker) - 1; @@ -2026,7 +2028,7 @@ void sub_8108D54(struct Sprite *sprite, int xDiff, int yDiff) } for (i = 0; i <= 0; i++) { - spriteId = CreateSprite(&gUnknown_08595310, combinedX, combinedY - something, 130); + spriteId = CreateSprite(&gWaterPulseRingBubbleSpriteTemplate, combinedX, combinedY - something, 130); gSprites[spriteId].data[0] = 20; gSprites[spriteId].data[1] = randomSomethingY; gSprites[spriteId].subpriority = GetBattlerSpriteSubpriority(gBattleAnimAttacker) - 1; @@ -2038,7 +2040,7 @@ void sub_8108D54(struct Sprite *sprite, int xDiff, int yDiff) } #else NAKED -void sub_8108D54(struct Sprite *sprite, int xDiff, int yDiff) +static void CreateWaterPulseRingBubbles(struct Sprite *sprite, int xDiff, int yDiff) { asm_unified("push {r4-r7,lr}\n\ mov r7, r10\n\ @@ -2108,7 +2110,7 @@ void sub_8108D54(struct Sprite *sprite, int xDiff, int yDiff) lsls r1, 16\n\ mov r10, r1\n\ _08108DE2:\n\ - ldr r0, =gUnknown_08595310\n\ + ldr r0, =gWaterPulseRingBubbleSpriteTemplate\n\ mov r2, r8\n\ asrs r1, r2, 16\n\ mov r3, r10\n\ @@ -2163,7 +2165,7 @@ _08108E32:\n\ lsls r1, 16\n\ mov r10, r1\n\ _08108E58:\n\ - ldr r0, =gUnknown_08595310\n\ + ldr r0, =gWaterPulseRingBubbleSpriteTemplate\n\ mov r2, r8\n\ asrs r1, r2, 16\n\ mov r3, r10\n\ diff --git a/src/battle_gfx_sfx_util.c b/src/battle_gfx_sfx_util.c index 341cd4a6a..50001cebe 100644 --- a/src/battle_gfx_sfx_util.c +++ b/src/battle_gfx_sfx_util.c @@ -1226,8 +1226,8 @@ void FreeMonSpritesGfx(void) if (gMonSpritesGfxPtr == NULL) return; - if (gMonSpritesGfxPtr->field_17C != NULL) - FREE_AND_SET_NULL(gMonSpritesGfxPtr->field_17C); + if (gMonSpritesGfxPtr->buffer != NULL) + FREE_AND_SET_NULL(gMonSpritesGfxPtr->buffer); if (gMonSpritesGfxPtr->field_178 != NULL) FREE_AND_SET_NULL(gMonSpritesGfxPtr->field_178); diff --git a/src/battle_pike.c b/src/battle_pike.c index 1c05d12cf..9bc7254ec 100644 --- a/src/battle_pike.c +++ b/src/battle_pike.c @@ -53,7 +53,7 @@ static void SetRoomType(void); static void GetBattlePikeData(void); static void SetBattlePikeData(void); static void IsNextRoomFinal(void); -static void SetupRoomEventObjects(void); +static void SetupRoomObjectEvents(void); static void GetRoomType(void); static void SetInWildMonRoom(void); static void ClearInWildMonRoom(void); @@ -269,151 +269,151 @@ static const struct PikeWildMon *const *const sWildMons[2] = static const struct PikeRoomNPC sNPCTable[] = { { - .graphicsId = EVENT_OBJ_GFX_POKEFAN_F, + .graphicsId = OBJ_EVENT_GFX_POKEFAN_F, .speechId1 = 3, .speechId2 = 5, .speechId3 = 6 }, { - .graphicsId = EVENT_OBJ_GFX_NINJA_BOY, + .graphicsId = OBJ_EVENT_GFX_NINJA_BOY, .speechId1 = 13, .speechId2 = 32, .speechId3 = 37 }, { - .graphicsId = EVENT_OBJ_GFX_FAT_MAN, + .graphicsId = OBJ_EVENT_GFX_FAT_MAN, .speechId1 = 8, .speechId2 = 11, .speechId3 = 12 }, { - .graphicsId = EVENT_OBJ_GFX_BUG_CATCHER, + .graphicsId = OBJ_EVENT_GFX_BUG_CATCHER, .speechId1 = 34, .speechId2 = 30, .speechId3 = 33 }, { - .graphicsId = EVENT_OBJ_GFX_EXPERT_M, + .graphicsId = OBJ_EVENT_GFX_EXPERT_M, .speechId1 = 0, .speechId2 = 0, .speechId3 = 0 }, { - .graphicsId = EVENT_OBJ_GFX_OLD_WOMAN, + .graphicsId = OBJ_EVENT_GFX_OLD_WOMAN, .speechId1 = 1, .speechId2 = 1, .speechId3 = 1 }, { - .graphicsId = EVENT_OBJ_GFX_BLACK_BELT, + .graphicsId = OBJ_EVENT_GFX_BLACK_BELT, .speechId1 = 22, .speechId2 = 23, .speechId3 = 27 }, { - .graphicsId = EVENT_OBJ_GFX_HIKER, + .graphicsId = OBJ_EVENT_GFX_HIKER, .speechId1 = 8, .speechId2 = 22, .speechId3 = 31 }, { - .graphicsId = EVENT_OBJ_GFX_GIRL_3, + .graphicsId = OBJ_EVENT_GFX_GIRL_3, .speechId1 = 13, .speechId2 = 39, .speechId3 = 21 }, { - .graphicsId = EVENT_OBJ_GFX_WOMAN_2, + .graphicsId = OBJ_EVENT_GFX_WOMAN_2, .speechId1 = 2, .speechId2 = 4, .speechId3 = 17 }, { - .graphicsId = EVENT_OBJ_GFX_CYCLING_TRIATHLETE_M, + .graphicsId = OBJ_EVENT_GFX_CYCLING_TRIATHLETE_M, .speechId1 = 30, .speechId2 = 20, .speechId3 = 36 }, { - .graphicsId = EVENT_OBJ_GFX_MAN_5, + .graphicsId = OBJ_EVENT_GFX_MAN_5, .speechId1 = 28, .speechId2 = 34, .speechId3 = 25 }, { - .graphicsId = EVENT_OBJ_GFX_SCHOOL_KID_M, + .graphicsId = OBJ_EVENT_GFX_SCHOOL_KID_M, .speechId1 = 23, .speechId2 = 38, .speechId3 = 26 }, { - .graphicsId = EVENT_OBJ_GFX_FISHERMAN, + .graphicsId = OBJ_EVENT_GFX_FISHERMAN, .speechId1 = 23, .speechId2 = 30, .speechId3 = 11 }, { - .graphicsId = EVENT_OBJ_GFX_LASS, + .graphicsId = OBJ_EVENT_GFX_LASS, .speechId1 = 15, .speechId2 = 19, .speechId3 = 14 }, { - .graphicsId = EVENT_OBJ_GFX_MANIAC, + .graphicsId = OBJ_EVENT_GFX_MANIAC, .speechId1 = 2, .speechId2 = 29, .speechId3 = 26 }, { - .graphicsId = EVENT_OBJ_GFX_RUNNING_TRIATHLETE_M, + .graphicsId = OBJ_EVENT_GFX_RUNNING_TRIATHLETE_M, .speechId1 = 37, .speechId2 = 12, .speechId3 = 32 }, { - .graphicsId = EVENT_OBJ_GFX_MAN_3, + .graphicsId = OBJ_EVENT_GFX_MAN_3, .speechId1 = 24, .speechId2 = 23, .speechId3 = 38 }, { - .graphicsId = EVENT_OBJ_GFX_WOMAN_3, + .graphicsId = OBJ_EVENT_GFX_WOMAN_3, .speechId1 = 5, .speechId2 = 22, .speechId3 = 4 }, { - .graphicsId = EVENT_OBJ_GFX_LITTLE_BOY, + .graphicsId = OBJ_EVENT_GFX_LITTLE_BOY, .speechId1 = 41, .speechId2 = 37, .speechId3 = 35 }, { - .graphicsId = EVENT_OBJ_GFX_TUBER_F, + .graphicsId = OBJ_EVENT_GFX_TUBER_F, .speechId1 = 39, .speechId2 = 14, .speechId3 = 13 }, { - .graphicsId = EVENT_OBJ_GFX_GENTLEMAN, + .graphicsId = OBJ_EVENT_GFX_GENTLEMAN, .speechId1 = 10, .speechId2 = 7, .speechId3 = 9 }, { - .graphicsId = EVENT_OBJ_GFX_LITTLE_GIRL, + .graphicsId = OBJ_EVENT_GFX_LITTLE_GIRL, .speechId1 = 40, .speechId2 = 20, .speechId3 = 16 }, { - .graphicsId = EVENT_OBJ_GFX_RUNNING_TRIATHLETE_F, + .graphicsId = OBJ_EVENT_GFX_RUNNING_TRIATHLETE_F, .speechId1 = 18, .speechId2 = 13, .speechId3 = 21 }, { - .graphicsId = EVENT_OBJ_GFX_MAN_1, + .graphicsId = OBJ_EVENT_GFX_MAN_1, .speechId1 = 22, .speechId2 = 31, .speechId3 = 27 @@ -484,7 +484,7 @@ static void (* const sBattlePikeFunctions[])(void) = [BATTLE_PIKE_FUNC_GET_DATA] = GetBattlePikeData, [BATTLE_PIKE_FUNC_SET_DATA] = SetBattlePikeData, [BATTLE_PIKE_FUNC_IS_FINAL_ROOM] = IsNextRoomFinal, - [BATTLE_PIKE_FUNC_SET_ROOM_OBJECTS] = SetupRoomEventObjects, + [BATTLE_PIKE_FUNC_SET_ROOM_OBJECTS] = SetupRoomObjectEvents, [BATTLE_PIKE_FUNC_GET_ROOM_TYPE] = GetRoomType, [BATTLE_PIKE_FUNC_SET_IN_WILD_MON_ROOM] = SetInWildMonRoom, [BATTLE_PIKE_FUNC_CLEAR_IN_WILD_MON_ROOM] = ClearInWildMonRoom, @@ -552,14 +552,14 @@ static void SetRoomType(void) sRoomType = roomType; } -static void SetupRoomEventObjects(void) +static void SetupRoomObjectEvents(void) { bool32 setObjGfx1, setObjGfx2; u32 objGfx1; u16 objGfx2; - VarSet(VAR_OBJ_GFX_ID_0, EVENT_OBJ_GFX_LINK_RECEPTIONIST); - VarSet(VAR_OBJ_GFX_ID_1, EVENT_OBJ_GFX_DUSCLOPS); + VarSet(VAR_OBJ_GFX_ID_0, OBJ_EVENT_GFX_LINK_RECEPTIONIST); + VarSet(VAR_OBJ_GFX_ID_1, OBJ_EVENT_GFX_DUSCLOPS); setObjGfx1 = TRUE; setObjGfx2 = FALSE; objGfx1 = 0; @@ -572,28 +572,28 @@ static void SetupRoomEventObjects(void) setObjGfx1 = FALSE; break; case PIKE_ROOM_HEAL_FULL: - objGfx1 = EVENT_OBJ_GFX_LINK_RECEPTIONIST; + objGfx1 = OBJ_EVENT_GFX_LINK_RECEPTIONIST; break; case PIKE_ROOM_NPC: objGfx1 = (u8)(GetNPCRoomGraphicsId()); break; case PIKE_ROOM_STATUS: - objGfx1 = EVENT_OBJ_GFX_GENTLEMAN; + objGfx1 = OBJ_EVENT_GFX_GENTLEMAN; if (sStatusMon == PIKE_STATUSMON_DUSCLOPS) - objGfx2 = EVENT_OBJ_GFX_DUSCLOPS; + objGfx2 = OBJ_EVENT_GFX_DUSCLOPS; else - objGfx2 = EVENT_OBJ_GFX_KIRLIA; + objGfx2 = OBJ_EVENT_GFX_KIRLIA; setObjGfx2 = TRUE; break; case PIKE_ROOM_HEAL_PART: - objGfx1 = EVENT_OBJ_GFX_GENTLEMAN; + objGfx1 = OBJ_EVENT_GFX_GENTLEMAN; break; case PIKE_ROOM_WILD_MONS: setObjGfx1 = FALSE; break; case PIKE_ROOM_HARD_BATTLE: PrepareOneTrainer(TRUE); - objGfx2 = EVENT_OBJ_GFX_LINK_RECEPTIONIST; + objGfx2 = OBJ_EVENT_GFX_LINK_RECEPTIONIST; setObjGfx1 = FALSE; setObjGfx2 = TRUE; break; @@ -602,8 +602,8 @@ static void SetupRoomEventObjects(void) setObjGfx1 = FALSE; break; case PIKE_ROOM_BRAIN: - SetFrontierBrainEventObjGfx(FRONTIER_FACILITY_PIKE); - objGfx2 = EVENT_OBJ_GFX_LINK_RECEPTIONIST; + SetFrontierBrainObjEventGfx(FRONTIER_FACILITY_PIKE); + objGfx2 = OBJ_EVENT_GFX_LINK_RECEPTIONIST; setObjGfx1 = FALSE; setObjGfx2 = TRUE; break; diff --git a/src/battle_pyramid.c b/src/battle_pyramid.c index 9fa6beb1d..b015f3e0e 100644 --- a/src/battle_pyramid.c +++ b/src/battle_pyramid.c @@ -29,7 +29,7 @@ #include "constants/battle_frontier.h" #include "constants/battle_pyramid.h" #include "constants/event_objects.h" -#include "constants/event_object_movement_constants.h" +#include "constants/event_object_movement.h" #include "constants/frontier_util.h" #include "constants/items.h" #include "constants/layouts.h" @@ -96,8 +96,8 @@ static void GetPyramidEntranceAndExitSquareIds(u8 *, u8 *); static void SetPyramidObjectPositionsUniformly(u8); static bool8 SetPyramidObjectPositionsInAndNearSquare(u8, u8); static bool8 SetPyramidObjectPositionsNearSquare(u8, u8); -static bool8 TrySetPyramidEventObjectPositionInSquare(u8 arg0, u8 *floorLayoutOffsets, u8 squareId, u8 eventObjectId); -static bool8 TrySetPyramidEventObjectPositionAtCoords(bool8 objType, u8 x, u8 y, u8 *floorLayoutOffsets, u8 squareId, u8 eventObjectId); +static bool8 TrySetPyramidObjectEventPositionInSquare(u8 arg0, u8 *floorLayoutOffsets, u8 squareId, u8 objectEventId); +static bool8 TrySetPyramidObjectEventPositionAtCoords(bool8 objType, u8 x, u8 y, u8 *floorLayoutOffsets, u8 squareId, u8 objectEventId); // Const rom data. #define ABILITY_RANDOM 2 // For wild mons data. @@ -1010,14 +1010,14 @@ static void SetPickupItem(void) static void HidePyramidItem(void) { - struct EventObjectTemplate *events = gSaveBlock1Ptr->eventObjectTemplates; + struct ObjectEventTemplate *events = gSaveBlock1Ptr->objectEventTemplates; int i = 0; for (;;) { if (events[i].localId == gSpecialVar_LastTalked) { - // Rather than using event flags to hide the item event object, + // Rather than using event flags to hide the item object event, // it moves them far off the map bounds. events[i].x = 0x7FFF; events[i].y = 0x7FFF; @@ -1041,8 +1041,8 @@ static void ShowPostBattleHintText(void) u8 id; int textGroup = 0; int textIndex = 0; - struct EventObjectTemplate *events = gSaveBlock1Ptr->eventObjectTemplates; - u16 trainerId = LocalIdToPyramidTrainerId(gEventObjects[gSelectedEventObject].localId); + struct ObjectEventTemplate *events = gSaveBlock1Ptr->objectEventTemplates; + u16 trainerId = LocalIdToPyramidTrainerId(gObjectEvents[gSelectedObjectEvent].localId); for (i = 0; i < ARRAY_COUNT(sTrainerTextGroups); i++) { @@ -1053,7 +1053,7 @@ static void ShowPostBattleHintText(void) } } - hintType = sHintTextTypes[gEventObjects[gSelectedEventObject].localId - 1]; + hintType = sHintTextTypes[gObjectEvents[gSelectedObjectEvent].localId - 1]; i = 0; while (!i) { @@ -1064,9 +1064,9 @@ static void ShowPostBattleHintText(void) i = 1; break; case HINT_REMAINING_ITEMS: - for (i = 0; i < GetNumBattlePyramidEventObjects(); i++) + for (i = 0; i < GetNumBattlePyramidObjectEvents(); i++) { - if (events[i].graphicsId == EVENT_OBJ_GFX_ITEM_BALL && events[i].x != 0x7FFF && events[i].y != 0x7FFF) + if (events[i].graphicsId == OBJ_EVENT_GFX_ITEM_BALL && events[i].x != 0x7FFF && events[i].y != 0x7FFF) textIndex++; } i = 1; @@ -1244,8 +1244,8 @@ static u8 GetPostBattleDirectionHintTextIndex(int *hintType, u8 minDistanceForEx { if ((map[x] & METATILE_ID_MASK) == FLOOR_EXIT_METATILE) { - x += 7 - gEventObjects[gSelectedEventObject].initialCoords.x; - y += 7 - gEventObjects[gSelectedEventObject].initialCoords.y; + x += 7 - gObjectEvents[gSelectedObjectEvent].initialCoords.x; + y += 7 - gObjectEvents[gSelectedObjectEvent].initialCoords.y; if (x >= minDistanceForExitHint || x <= -minDistanceForExitHint || y >= minDistanceForExitHint @@ -1312,7 +1312,7 @@ u16 LocalIdToPyramidTrainerId(u8 localId) bool8 GetBattlePyramidTrainerFlag(u8 eventId) { - return gSaveBlock2Ptr->frontier.pyramidTrainerFlags & gBitTable[gEventObjects[eventId].localId - 1]; + return gSaveBlock2Ptr->frontier.pyramidTrainerFlags & gBitTable[gObjectEvents[eventId].localId - 1]; } void MarkApproachingPyramidTrainersAsBattled(void) @@ -1320,7 +1320,7 @@ void MarkApproachingPyramidTrainersAsBattled(void) MarkPyramidTrainerAsBattled(gTrainerBattleOpponent_A); if (gBattleTypeFlags & BATTLE_TYPE_TWO_OPPONENTS) { - gSelectedEventObject = GetChosenApproachingTrainerEventObjectId(1); + gSelectedObjectEvent = GetChosenApproachingTrainerObjectEventId(1); MarkPyramidTrainerAsBattled(gTrainerBattleOpponent_B); } } @@ -1335,10 +1335,10 @@ static void MarkPyramidTrainerAsBattled(u16 trainerId) gSaveBlock2Ptr->frontier.pyramidTrainerFlags |= gBitTable[i]; } - gEventObjects[gSelectedEventObject].movementType = MOVEMENT_TYPE_WANDER_AROUND; - gSaveBlock1Ptr->eventObjectTemplates[gSpecialVar_LastTalked - 1].movementType = MOVEMENT_TYPE_WANDER_AROUND; - gEventObjects[gSelectedEventObject].initialCoords.x = gEventObjects[gSelectedEventObject].currentCoords.x; - gEventObjects[gSelectedEventObject].initialCoords.y = gEventObjects[gSelectedEventObject].currentCoords.y; + gObjectEvents[gSelectedObjectEvent].movementType = MOVEMENT_TYPE_WANDER_AROUND; + gSaveBlock1Ptr->objectEventTemplates[gSpecialVar_LastTalked - 1].movementType = MOVEMENT_TYPE_WANDER_AROUND; + gObjectEvents[gSelectedObjectEvent].initialCoords.x = gObjectEvents[gSelectedObjectEvent].currentCoords.x; + gObjectEvents[gSelectedObjectEvent].initialCoords.y = gObjectEvents[gSelectedObjectEvent].currentCoords.y; } void GenerateBattlePyramidWildMon(void) @@ -1482,7 +1482,7 @@ static void BattlePyramidRetireChallenge(void) ScriptContext1_SetupScript(BattlePyramid_Retire); } -static u16 GetUniqueTrainerId(u8 eventObjectId) +static u16 GetUniqueTrainerId(u8 objectEventId) { int i; u16 trainerId; @@ -1494,24 +1494,24 @@ static u16 GetUniqueTrainerId(u8 eventObjectId) do { trainerId = GetRandomScaledFrontierTrainerId(challengeNum + 1, battleNum); - for (i = 0; i < eventObjectId; i++) + for (i = 0; i < objectEventId; i++) { if (gSaveBlock2Ptr->frontier.trainerIds[i] == trainerId) break; } - } while (i != eventObjectId); + } while (i != objectEventId); } else { do { trainerId = GetRandomScaledFrontierTrainerId(challengeNum, battleNum); - for (i = 0; i < eventObjectId; i++) + for (i = 0; i < objectEventId; i++) { if (gSaveBlock2Ptr->frontier.trainerIds[i] == trainerId) break; } - } while (i != eventObjectId); + } while (i != objectEventId); } return trainerId; @@ -1570,7 +1570,7 @@ void GenerateBattlePyramidFloorLayout(u16 *backupMapData, bool8 setPlayerPositio free(floorLayoutOffsets); } -void LoadBattlePyramidEventObjectTemplates(void) +void LoadBattlePyramidObjectEventTemplates(void) { int i; u8 id; @@ -1581,7 +1581,7 @@ void LoadBattlePyramidEventObjectTemplates(void) id = GetPyramidFloorTemplateId(); GetPyramidEntranceAndExitSquareIds(&entranceSquareId, &exitSquareId); - CpuFill32(0, gSaveBlock1Ptr->eventObjectTemplates, sizeof(gSaveBlock1Ptr->eventObjectTemplates)); + CpuFill32(0, gSaveBlock1Ptr->objectEventTemplates, sizeof(gSaveBlock1Ptr->objectEventTemplates)); for (i = 0; i < 2; i++) { u8 objectPositionsType; @@ -1616,14 +1616,14 @@ void LoadBattlePyramidEventObjectTemplates(void) } } -void LoadBattlePyramidFloorEventObjectScripts(void) +void LoadBattlePyramidFloorObjectEventScripts(void) { int i; - struct EventObjectTemplate *events = gSaveBlock1Ptr->eventObjectTemplates; + struct ObjectEventTemplate *events = gSaveBlock1Ptr->objectEventTemplates; - for (i = 0; i < EVENT_OBJECT_TEMPLATES_COUNT; i++) + for (i = 0; i < OBJECT_EVENT_TEMPLATES_COUNT; i++) { - if (events[i].graphicsId != EVENT_OBJ_GFX_ITEM_BALL) + if (events[i].graphicsId != OBJ_EVENT_GFX_ITEM_BALL) events[i].script = BattlePyramid_TrainerBattle; else events[i].script = BattlePyramid_FindItemBall; @@ -1693,7 +1693,7 @@ static void SetPyramidObjectPositionsUniformly(u8 objType) } } while (!(bits & 2)); - } while (!(bits & 4) && TrySetPyramidEventObjectPositionInSquare(objType, floorLayoutOffsets, squareId, objectStartIndex + i)); + } while (!(bits & 4) && TrySetPyramidObjectEventPositionInSquare(objType, floorLayoutOffsets, squareId, objectStartIndex + i)); bits &= 1; } free(floorLayoutOffsets); @@ -1726,14 +1726,14 @@ static bool8 SetPyramidObjectPositionsInAndNearSquare(u8 objType, u8 squareId) { if (r7 == 0) { - if (TrySetPyramidEventObjectPositionInSquare(objType, floorLayoutOffsets, squareId, objectStartIndex + i)) + if (TrySetPyramidObjectEventPositionInSquare(objType, floorLayoutOffsets, squareId, objectStartIndex + i)) r7 = 1; else numPlacedObjects++; } if (r7 & 1) { - if (TrySetPyramidEventObjectPositionInSquare(objType, floorLayoutOffsets, sBorderedSquareIds[squareId][borderedIndex], objectStartIndex + i)) + if (TrySetPyramidObjectEventPositionInSquare(objType, floorLayoutOffsets, sBorderedSquareIds[squareId][borderedIndex], objectStartIndex + i)) { do { @@ -1741,7 +1741,7 @@ static bool8 SetPyramidObjectPositionsInAndNearSquare(u8 objType, u8 squareId) if (sBorderedSquareIds[squareId][borderedIndex] == 0xFF || borderedIndex >= 4) borderedIndex = 0; r7 += 2; - } while (r7 >> 1 != 4 && TrySetPyramidEventObjectPositionInSquare(objType, floorLayoutOffsets, sBorderedSquareIds[squareId][borderedIndex], objectStartIndex + i)); + } while (r7 >> 1 != 4 && TrySetPyramidObjectEventPositionInSquare(objType, floorLayoutOffsets, sBorderedSquareIds[squareId][borderedIndex], objectStartIndex + i)); numPlacedObjects++; } else @@ -1788,7 +1788,7 @@ static bool8 SetPyramidObjectPositionsNearSquare(u8 objType, u8 squareId) for (i = 0; i < numObjects; i++) { - if (TrySetPyramidEventObjectPositionInSquare(objType, floorLayoutOffsets, sBorderedSquareIds[squareId][borderOffset], objectStartIndex + i)) + if (TrySetPyramidObjectEventPositionInSquare(objType, floorLayoutOffsets, sBorderedSquareIds[squareId][borderOffset], objectStartIndex + i)) { do { @@ -1796,7 +1796,7 @@ static bool8 SetPyramidObjectPositionsNearSquare(u8 objType, u8 squareId) if (sBorderedSquareIds[squareId][borderOffset] == 0xFF || borderOffset >= 4) borderOffset = 0; r8++; - } while (r8 != 4 && TrySetPyramidEventObjectPositionInSquare(objType, floorLayoutOffsets, sBorderedSquareIds[squareId][borderOffset], objectStartIndex + i)); + } while (r8 != 4 && TrySetPyramidObjectEventPositionInSquare(objType, floorLayoutOffsets, sBorderedSquareIds[squareId][borderOffset], objectStartIndex + i)); numPlacedObjects++; } else @@ -1815,7 +1815,7 @@ static bool8 SetPyramidObjectPositionsNearSquare(u8 objType, u8 squareId) return (numObjects / 2) > numPlacedObjects; } -static bool8 TrySetPyramidEventObjectPositionInSquare(u8 objType, u8 *floorLayoutOffsets, u8 squareId, u8 eventObjectId) +static bool8 TrySetPyramidObjectEventPositionInSquare(u8 objType, u8 *floorLayoutOffsets, u8 squareId, u8 objectEventId) { int x, y; @@ -1825,7 +1825,7 @@ static bool8 TrySetPyramidEventObjectPositionInSquare(u8 objType, u8 *floorLayou { for (x = 7; x > -1; x--) { - if (!TrySetPyramidEventObjectPositionAtCoords(objType, x, y, floorLayoutOffsets, squareId, eventObjectId)) + if (!TrySetPyramidObjectEventPositionAtCoords(objType, x, y, floorLayoutOffsets, squareId, objectEventId)) return FALSE; } } @@ -1836,7 +1836,7 @@ static bool8 TrySetPyramidEventObjectPositionInSquare(u8 objType, u8 *floorLayou { for (x = 0; x < 8; x++) { - if (!TrySetPyramidEventObjectPositionAtCoords(objType, x, y, floorLayoutOffsets, squareId, eventObjectId)) + if (!TrySetPyramidObjectEventPositionAtCoords(objType, x, y, floorLayoutOffsets, squareId, objectEventId)) return FALSE; } } @@ -1845,42 +1845,42 @@ static bool8 TrySetPyramidEventObjectPositionInSquare(u8 objType, u8 *floorLayou return TRUE; } -static bool8 TrySetPyramidEventObjectPositionAtCoords(u8 objType, u8 x, u8 y, u8 *floorLayoutOffsets, u8 squareId, u8 eventObjectId) +static bool8 TrySetPyramidObjectEventPositionAtCoords(u8 objType, u8 x, u8 y, u8 *floorLayoutOffsets, u8 squareId, u8 objectEventId) { int i, j; const struct MapHeader *mapHeader; - struct EventObjectTemplate *floorEvents = gSaveBlock1Ptr->eventObjectTemplates; + struct ObjectEventTemplate *floorEvents = gSaveBlock1Ptr->objectEventTemplates; mapHeader = Overworld_GetMapHeaderByGroupAndId(MAP_GROUP(BATTLE_PYRAMID_SQUARE01), floorLayoutOffsets[squareId] + MAP_NUM(BATTLE_PYRAMID_SQUARE01)); - for (i = 0; i < mapHeader->events->eventObjectCount; i++) + for (i = 0; i < mapHeader->events->objectEventCount; i++) { - if (mapHeader->events->eventObjects[i].x != x || mapHeader->events->eventObjects[i].y != y) + if (mapHeader->events->objectEvents[i].x != x || mapHeader->events->objectEvents[i].y != y) continue; - if (objType != OBJ_TRAINERS || mapHeader->events->eventObjects[i].graphicsId == EVENT_OBJ_GFX_ITEM_BALL) + if (objType != OBJ_TRAINERS || mapHeader->events->objectEvents[i].graphicsId == OBJ_EVENT_GFX_ITEM_BALL) { - if (objType != OBJ_ITEMS || mapHeader->events->eventObjects[i].graphicsId != EVENT_OBJ_GFX_ITEM_BALL) + if (objType != OBJ_ITEMS || mapHeader->events->objectEvents[i].graphicsId != OBJ_EVENT_GFX_ITEM_BALL) continue; } // Ensure an object wasn't previously placed in the exact same position. - for (j = 0; j < eventObjectId; j++) + for (j = 0; j < objectEventId; j++) { if (floorEvents[j].x == x + ((squareId % 4) * 8) && floorEvents[j].y == y + ((squareId / 4) * 8)) break; } - if (j == eventObjectId) + if (j == objectEventId) { - floorEvents[eventObjectId] = mapHeader->events->eventObjects[i]; - floorEvents[eventObjectId].x += (squareId % 4) * 8; - floorEvents[eventObjectId].y += (squareId / 4) * 8; - floorEvents[eventObjectId].localId = eventObjectId + 1; - if (floorEvents[eventObjectId].graphicsId != EVENT_OBJ_GFX_ITEM_BALL) + floorEvents[objectEventId] = mapHeader->events->objectEvents[i]; + floorEvents[objectEventId].x += (squareId % 4) * 8; + floorEvents[objectEventId].y += (squareId / 4) * 8; + floorEvents[objectEventId].localId = objectEventId + 1; + if (floorEvents[objectEventId].graphicsId != OBJ_EVENT_GFX_ITEM_BALL) { - i = GetUniqueTrainerId(eventObjectId); - floorEvents[eventObjectId].graphicsId = GetBattleFacilityTrainerGfxId(i); - gSaveBlock2Ptr->frontier.trainerIds[eventObjectId] = i; + i = GetUniqueTrainerId(objectEventId); + floorEvents[objectEventId].graphicsId = GetBattleFacilityTrainerGfxId(i); + gSaveBlock2Ptr->frontier.trainerIds[objectEventId] = i; } return FALSE; } @@ -1921,10 +1921,10 @@ static u8 GetPyramidFloorTemplateId(void) return 0; } -u8 GetNumBattlePyramidEventObjects(void) +u8 GetNumBattlePyramidObjectEvents(void) { u8 i; - struct EventObjectTemplate *events = gSaveBlock1Ptr->eventObjectTemplates; + struct ObjectEventTemplate *events = gSaveBlock1Ptr->objectEventTemplates; for (i = 0; i < 16; i++) { diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 685626a85..cafb67688 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -2064,7 +2064,7 @@ static void Cmd_resultmessage(void) gPotentialItemEffectBattler = gBattlerTarget; gMoveResultFlags &= ~(MOVE_RESULT_FOE_ENDURED | MOVE_RESULT_FOE_HUNG_ON); BattleScriptPushCursor(); - gBattlescriptCurrInstr = BattleScript_HangedOnMsg; + gBattlescriptCurrInstr = BattleScript_FocusBandActivates; return; default: if (gMoveResultFlags & MOVE_RESULT_DOESNT_AFFECT_FOE) @@ -2093,7 +2093,7 @@ static void Cmd_resultmessage(void) gPotentialItemEffectBattler = gBattlerTarget; gMoveResultFlags &= ~(MOVE_RESULT_FOE_ENDURED | MOVE_RESULT_FOE_HUNG_ON); BattleScriptPushCursor(); - gBattlescriptCurrInstr = BattleScript_HangedOnMsg; + gBattlescriptCurrInstr = BattleScript_FocusBandActivates; return; } else if (gMoveResultFlags & MOVE_RESULT_FAILED) @@ -2895,16 +2895,16 @@ static void Cmd_seteffectwithchance(void) && !(gMoveResultFlags & MOVE_RESULT_NO_EFFECT)) { gBattleCommunication[MOVE_EFFECT_BYTE] &= ~(MOVE_EFFECT_CERTAIN); - SetMoveEffect(0, MOVE_EFFECT_CERTAIN); + SetMoveEffect(FALSE, MOVE_EFFECT_CERTAIN); } else if (Random() % 100 < percentChance && gBattleCommunication[MOVE_EFFECT_BYTE] && !(gMoveResultFlags & MOVE_RESULT_NO_EFFECT)) { if (percentChance >= 100) - SetMoveEffect(0, MOVE_EFFECT_CERTAIN); + SetMoveEffect(FALSE, MOVE_EFFECT_CERTAIN); else - SetMoveEffect(0, 0); + SetMoveEffect(FALSE, 0); } else { diff --git a/src/battle_setup.c b/src/battle_setup.c index 33d50807f..b44c7b9ec 100644 --- a/src/battle_setup.c +++ b/src/battle_setup.c @@ -91,7 +91,7 @@ EWRAM_DATA static u16 sTrainerBattleMode = 0; EWRAM_DATA u16 gTrainerBattleOpponent_A = 0; EWRAM_DATA u16 gTrainerBattleOpponent_B = 0; EWRAM_DATA u16 gPartnerTrainerId = 0; -EWRAM_DATA static u16 sTrainerEventObjectLocalId = 0; +EWRAM_DATA static u16 sTrainerObjectEventLocalId = 0; EWRAM_DATA static u8 *sTrainerAIntroSpeech = NULL; EWRAM_DATA static u8 *sTrainerBIntroSpeech = NULL; EWRAM_DATA static u8 *sTrainerADefeatSpeech = NULL; @@ -145,7 +145,7 @@ static const struct TrainerBattleParameter sOrdinaryBattleParams[] = { {&sTrainerBattleMode, TRAINER_PARAM_LOAD_VAL_8BIT}, {&gTrainerBattleOpponent_A, TRAINER_PARAM_LOAD_VAL_16BIT}, - {&sTrainerEventObjectLocalId, TRAINER_PARAM_LOAD_VAL_16BIT}, + {&sTrainerObjectEventLocalId, TRAINER_PARAM_LOAD_VAL_16BIT}, {&sTrainerAIntroSpeech, TRAINER_PARAM_LOAD_VAL_32BIT}, {&sTrainerADefeatSpeech, TRAINER_PARAM_LOAD_VAL_32BIT}, {&sTrainerVictorySpeech, TRAINER_PARAM_CLEAR_VAL_32BIT}, @@ -158,7 +158,7 @@ static const struct TrainerBattleParameter sContinueScriptBattleParams[] = { {&sTrainerBattleMode, TRAINER_PARAM_LOAD_VAL_8BIT}, {&gTrainerBattleOpponent_A, TRAINER_PARAM_LOAD_VAL_16BIT}, - {&sTrainerEventObjectLocalId, TRAINER_PARAM_LOAD_VAL_16BIT}, + {&sTrainerObjectEventLocalId, TRAINER_PARAM_LOAD_VAL_16BIT}, {&sTrainerAIntroSpeech, TRAINER_PARAM_LOAD_VAL_32BIT}, {&sTrainerADefeatSpeech, TRAINER_PARAM_LOAD_VAL_32BIT}, {&sTrainerVictorySpeech, TRAINER_PARAM_CLEAR_VAL_32BIT}, @@ -171,7 +171,7 @@ static const struct TrainerBattleParameter sDoubleBattleParams[] = { {&sTrainerBattleMode, TRAINER_PARAM_LOAD_VAL_8BIT}, {&gTrainerBattleOpponent_A, TRAINER_PARAM_LOAD_VAL_16BIT}, - {&sTrainerEventObjectLocalId, TRAINER_PARAM_LOAD_VAL_16BIT}, + {&sTrainerObjectEventLocalId, TRAINER_PARAM_LOAD_VAL_16BIT}, {&sTrainerAIntroSpeech, TRAINER_PARAM_LOAD_VAL_32BIT}, {&sTrainerADefeatSpeech, TRAINER_PARAM_LOAD_VAL_32BIT}, {&sTrainerVictorySpeech, TRAINER_PARAM_CLEAR_VAL_32BIT}, @@ -184,7 +184,7 @@ static const struct TrainerBattleParameter sOrdinaryNoIntroBattleParams[] = { {&sTrainerBattleMode, TRAINER_PARAM_LOAD_VAL_8BIT}, {&gTrainerBattleOpponent_A, TRAINER_PARAM_LOAD_VAL_16BIT}, - {&sTrainerEventObjectLocalId, TRAINER_PARAM_LOAD_VAL_16BIT}, + {&sTrainerObjectEventLocalId, TRAINER_PARAM_LOAD_VAL_16BIT}, {&sTrainerAIntroSpeech, TRAINER_PARAM_CLEAR_VAL_32BIT}, {&sTrainerADefeatSpeech, TRAINER_PARAM_LOAD_VAL_32BIT}, {&sTrainerVictorySpeech, TRAINER_PARAM_CLEAR_VAL_32BIT}, @@ -197,7 +197,7 @@ static const struct TrainerBattleParameter sContinueScriptDoubleBattleParams[] = { {&sTrainerBattleMode, TRAINER_PARAM_LOAD_VAL_8BIT}, {&gTrainerBattleOpponent_A, TRAINER_PARAM_LOAD_VAL_16BIT}, - {&sTrainerEventObjectLocalId, TRAINER_PARAM_LOAD_VAL_16BIT}, + {&sTrainerObjectEventLocalId, TRAINER_PARAM_LOAD_VAL_16BIT}, {&sTrainerAIntroSpeech, TRAINER_PARAM_LOAD_VAL_32BIT}, {&sTrainerADefeatSpeech, TRAINER_PARAM_LOAD_VAL_32BIT}, {&sTrainerVictorySpeech, TRAINER_PARAM_CLEAR_VAL_32BIT}, @@ -210,7 +210,7 @@ static const struct TrainerBattleParameter sTrainerBOrdinaryBattleParams[] = { {&sTrainerBattleMode, TRAINER_PARAM_LOAD_VAL_8BIT}, {&gTrainerBattleOpponent_B, TRAINER_PARAM_LOAD_VAL_16BIT}, - {&sTrainerEventObjectLocalId, TRAINER_PARAM_LOAD_VAL_16BIT}, + {&sTrainerObjectEventLocalId, TRAINER_PARAM_LOAD_VAL_16BIT}, {&sTrainerBIntroSpeech, TRAINER_PARAM_LOAD_VAL_32BIT}, {&sTrainerBDefeatSpeech, TRAINER_PARAM_LOAD_VAL_32BIT}, {&sTrainerVictorySpeech, TRAINER_PARAM_CLEAR_VAL_32BIT}, @@ -223,7 +223,7 @@ static const struct TrainerBattleParameter sTrainerBContinueScriptBattleParams[] { {&sTrainerBattleMode, TRAINER_PARAM_LOAD_VAL_8BIT}, {&gTrainerBattleOpponent_B, TRAINER_PARAM_LOAD_VAL_16BIT}, - {&sTrainerEventObjectLocalId, TRAINER_PARAM_LOAD_VAL_16BIT}, + {&sTrainerObjectEventLocalId, TRAINER_PARAM_LOAD_VAL_16BIT}, {&sTrainerBIntroSpeech, TRAINER_PARAM_LOAD_VAL_32BIT}, {&sTrainerBDefeatSpeech, TRAINER_PARAM_LOAD_VAL_32BIT}, {&sTrainerVictorySpeech, TRAINER_PARAM_CLEAR_VAL_32BIT}, @@ -321,7 +321,7 @@ const struct RematchTrainer gRematchTable[REMATCH_TABLE_ENTRIES] = [REMATCH_WALLACE] = REMATCH(TRAINER_WALLACE, TRAINER_WALLACE, TRAINER_WALLACE, TRAINER_WALLACE, TRAINER_WALLACE, EVER_GRANDE_CITY), }; -static const u16 sBadgeFlags[8] = +static const u16 sBadgeFlags[NUM_BADGES] = { FLAG_BADGE01_GET, FLAG_BADGE02_GET, FLAG_BADGE03_GET, FLAG_BADGE04_GET, FLAG_BADGE05_GET, FLAG_BADGE06_GET, FLAG_BADGE07_GET, FLAG_BADGE08_GET, @@ -384,7 +384,7 @@ void BattleSetup_StartBattlePikeWildBattle(void) static void DoStandardWildBattle(void) { ScriptContext2_Enable(); - FreezeEventObjects(); + FreezeObjectEvents(); sub_808BCF4(); gMain.savedCallback = CB2_EndWildBattle; gBattleTypeFlags = 0; @@ -403,7 +403,7 @@ static void DoStandardWildBattle(void) void BattleSetup_StartRoamerBattle(void) { ScriptContext2_Enable(); - FreezeEventObjects(); + FreezeObjectEvents(); sub_808BCF4(); gMain.savedCallback = CB2_EndWildBattle; gBattleTypeFlags = BATTLE_TYPE_ROAMER; @@ -417,7 +417,7 @@ void BattleSetup_StartRoamerBattle(void) static void DoSafariBattle(void) { ScriptContext2_Enable(); - FreezeEventObjects(); + FreezeObjectEvents(); sub_808BCF4(); gMain.savedCallback = CB2_EndSafariBattle; gBattleTypeFlags = BATTLE_TYPE_SAFARI; @@ -427,7 +427,7 @@ static void DoSafariBattle(void) static void DoBattlePikeWildBattle(void) { ScriptContext2_Enable(); - FreezeEventObjects(); + FreezeObjectEvents(); sub_808BCF4(); gMain.savedCallback = CB2_EndWildBattle; gBattleTypeFlags = BATTLE_TYPE_PIKE; @@ -1008,7 +1008,7 @@ static void InitTrainerBattleVariables(void) sTrainerBDefeatSpeech = NULL; sTrainerBBattleScriptRetAddr = NULL; } - sTrainerEventObjectLocalId = 0; + sTrainerObjectEventLocalId = 0; sTrainerVictorySpeech = NULL; sTrainerCannotBattleSpeech = NULL; sTrainerBattleEndScript = NULL; @@ -1071,10 +1071,10 @@ static void TrainerBattleLoadArgs(const struct TrainerBattleParameter *specs, co void SetMapVarsToTrainer(void) { - if (sTrainerEventObjectLocalId != 0) + if (sTrainerObjectEventLocalId != 0) { - gSpecialVar_LastTalked = sTrainerEventObjectLocalId; - gSelectedEventObject = GetEventObjectIdByLocalIdAndMap(sTrainerEventObjectLocalId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); + gSpecialVar_LastTalked = sTrainerObjectEventLocalId; + gSelectedObjectEvent = GetObjectEventIdByLocalIdAndMap(sTrainerObjectEventLocalId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); } } @@ -1087,7 +1087,7 @@ const u8 *BattleSetup_ConfigureTrainerBattle(const u8 *data) { case TRAINER_BATTLE_SINGLE_NO_INTRO_TEXT: TrainerBattleLoadArgs(sOrdinaryNoIntroBattleParams, data); - return EventScript_DoTainerBattle; + return EventScript_DoNoIntroTrainerBattle; case TRAINER_BATTLE_DOUBLE: TrainerBattleLoadArgs(sDoubleBattleParams, data); SetMapVarsToTrainer(); @@ -1168,19 +1168,19 @@ const u8 *BattleSetup_ConfigureTrainerBattle(const u8 *data) } } -void ConfigureAndSetUpOneTrainerBattle(u8 trainerEventObjId, const u8 *trainerScript) +void ConfigureAndSetUpOneTrainerBattle(u8 trainerObjEventId, const u8 *trainerScript) { - gSelectedEventObject = trainerEventObjId; - gSpecialVar_LastTalked = gEventObjects[trainerEventObjId].localId; + gSelectedObjectEvent = trainerObjEventId; + gSpecialVar_LastTalked = gObjectEvents[trainerObjEventId].localId; BattleSetup_ConfigureTrainerBattle(trainerScript + 1); ScriptContext1_SetupScript(EventScript_271354); ScriptContext2_Enable(); } -void ConfigureTwoTrainersBattle(u8 trainerEventObjId, const u8 *trainerScript) +void ConfigureTwoTrainersBattle(u8 trainerObjEventId, const u8 *trainerScript) { - gSelectedEventObject = trainerEventObjId; - gSpecialVar_LastTalked = gEventObjects[trainerEventObjId].localId; + gSelectedObjectEvent = trainerObjEventId; + gSpecialVar_LastTalked = gObjectEvents[trainerObjEventId].localId; BattleSetup_ConfigureTrainerBattle(trainerScript + 1); } @@ -1198,9 +1198,9 @@ bool32 GetTrainerFlagFromScriptPointer(const u8 *data) void SetUpTrainerMovement(void) { - struct EventObject *eventObject = &gEventObjects[gSelectedEventObject]; + struct ObjectEvent *objectEvent = &gObjectEvents[gSelectedObjectEvent]; - SetTrainerMovementType(eventObject, GetTrainerFacingDirectionMovementType(eventObject->facingDirection)); + SetTrainerMovementType(objectEvent, GetTrainerFacingDirectionMovementType(objectEvent->facingDirection)); } u8 GetTrainerBattleMode(void) @@ -1211,9 +1211,9 @@ u8 GetTrainerBattleMode(void) bool8 GetTrainerFlag(void) { if (InBattlePyramid()) - return GetBattlePyramidTrainerFlag(gSelectedEventObject); + return GetBattlePyramidTrainerFlag(gSelectedObjectEvent); else if (InTrainerHill()) - return GetHillTrainerFlag(gSelectedEventObject); + return GetHillTrainerFlag(gSelectedObjectEvent); else return FlagGet(GetTrainerAFlag()); } @@ -1358,7 +1358,7 @@ void ShowTrainerIntroSpeech(void) if (gNoOfApproachingTrainers == 0 || gNoOfApproachingTrainers == 1) CopyPyramidTrainerSpeechBefore(LocalIdToPyramidTrainerId(gSpecialVar_LastTalked)); else - CopyPyramidTrainerSpeechBefore(LocalIdToPyramidTrainerId(gEventObjects[gApproachingTrainers[gApproachingTrainerId].eventObjectId].localId)); + CopyPyramidTrainerSpeechBefore(LocalIdToPyramidTrainerId(gObjectEvents[gApproachingTrainers[gApproachingTrainerId].objectEventId].localId)); sub_80982B8(); } @@ -1367,7 +1367,7 @@ void ShowTrainerIntroSpeech(void) if (gNoOfApproachingTrainers == 0 || gNoOfApproachingTrainers == 1) CopyTrainerHillTrainerText(TRAINER_HILL_TEXT_INTRO, LocalIdToHillTrainerId(gSpecialVar_LastTalked)); else - CopyTrainerHillTrainerText(TRAINER_HILL_TEXT_INTRO, LocalIdToHillTrainerId(gEventObjects[gApproachingTrainers[gApproachingTrainerId].eventObjectId].localId)); + CopyTrainerHillTrainerText(TRAINER_HILL_TEXT_INTRO, LocalIdToHillTrainerId(gObjectEvents[gApproachingTrainers[gApproachingTrainerId].objectEventId].localId)); sub_80982B8(); } diff --git a/src/battle_tower.c b/src/battle_tower.c index 8f6393cbf..4890e7a05 100644 --- a/src/battle_tower.c +++ b/src/battle_tower.c @@ -212,60 +212,60 @@ const u8 gTowerFemaleFacilityClasses[20] = const u8 gTowerMaleTrainerGfxIds[30] = { - EVENT_OBJ_GFX_HIKER, - EVENT_OBJ_GFX_TUBER_M, - EVENT_OBJ_GFX_MAN_3, - EVENT_OBJ_GFX_RICH_BOY, - EVENT_OBJ_GFX_MANIAC, - EVENT_OBJ_GFX_RUNNING_TRIATHLETE_M, - EVENT_OBJ_GFX_BLACK_BELT, - EVENT_OBJ_GFX_MAN_5, - EVENT_OBJ_GFX_MAN_5, - EVENT_OBJ_GFX_CAMPER, - EVENT_OBJ_GFX_MANIAC, - EVENT_OBJ_GFX_PSYCHIC_M, - EVENT_OBJ_GFX_GENTLEMAN, - EVENT_OBJ_GFX_SCHOOL_KID_M, - EVENT_OBJ_GFX_POKEFAN_M, - EVENT_OBJ_GFX_EXPERT_M, - EVENT_OBJ_GFX_YOUNGSTER, - EVENT_OBJ_GFX_FISHERMAN, - EVENT_OBJ_GFX_CYCLING_TRIATHLETE_M, - EVENT_OBJ_GFX_RUNNING_TRIATHLETE_M, - EVENT_OBJ_GFX_RUNNING_TRIATHLETE_M, - EVENT_OBJ_GFX_MAN_3, - EVENT_OBJ_GFX_MAN_5, - EVENT_OBJ_GFX_NINJA_BOY, - EVENT_OBJ_GFX_SAILOR, - EVENT_OBJ_GFX_MANIAC, - EVENT_OBJ_GFX_MAN_4, - EVENT_OBJ_GFX_CAMPER, - EVENT_OBJ_GFX_BUG_CATCHER, - EVENT_OBJ_GFX_HIKER + OBJ_EVENT_GFX_HIKER, + OBJ_EVENT_GFX_TUBER_M, + OBJ_EVENT_GFX_MAN_3, + OBJ_EVENT_GFX_RICH_BOY, + OBJ_EVENT_GFX_MANIAC, + OBJ_EVENT_GFX_RUNNING_TRIATHLETE_M, + OBJ_EVENT_GFX_BLACK_BELT, + OBJ_EVENT_GFX_MAN_5, + OBJ_EVENT_GFX_MAN_5, + OBJ_EVENT_GFX_CAMPER, + OBJ_EVENT_GFX_MANIAC, + OBJ_EVENT_GFX_PSYCHIC_M, + OBJ_EVENT_GFX_GENTLEMAN, + OBJ_EVENT_GFX_SCHOOL_KID_M, + OBJ_EVENT_GFX_POKEFAN_M, + OBJ_EVENT_GFX_EXPERT_M, + OBJ_EVENT_GFX_YOUNGSTER, + OBJ_EVENT_GFX_FISHERMAN, + OBJ_EVENT_GFX_CYCLING_TRIATHLETE_M, + OBJ_EVENT_GFX_RUNNING_TRIATHLETE_M, + OBJ_EVENT_GFX_RUNNING_TRIATHLETE_M, + OBJ_EVENT_GFX_MAN_3, + OBJ_EVENT_GFX_MAN_5, + OBJ_EVENT_GFX_NINJA_BOY, + OBJ_EVENT_GFX_SAILOR, + OBJ_EVENT_GFX_MANIAC, + OBJ_EVENT_GFX_MAN_4, + OBJ_EVENT_GFX_CAMPER, + OBJ_EVENT_GFX_BUG_CATCHER, + OBJ_EVENT_GFX_HIKER }; const u8 gTowerFemaleTrainerGfxIds[20] = { - EVENT_OBJ_GFX_WOMAN_2, - EVENT_OBJ_GFX_TUBER_F, - EVENT_OBJ_GFX_WOMAN_5, - EVENT_OBJ_GFX_HEX_MANIAC, - EVENT_OBJ_GFX_WOMAN_2, - EVENT_OBJ_GFX_BEAUTY, - EVENT_OBJ_GFX_LASS, - EVENT_OBJ_GFX_GIRL_3, - EVENT_OBJ_GFX_POKEFAN_F, - EVENT_OBJ_GFX_EXPERT_F, - EVENT_OBJ_GFX_CYCLING_TRIATHLETE_F, - EVENT_OBJ_GFX_RUNNING_TRIATHLETE_F, - EVENT_OBJ_GFX_RUNNING_TRIATHLETE_F, - EVENT_OBJ_GFX_GIRL_3, - EVENT_OBJ_GFX_WOMAN_5, - EVENT_OBJ_GFX_RUNNING_TRIATHLETE_F, - EVENT_OBJ_GFX_PICNICKER, - EVENT_OBJ_GFX_WOMAN_2, - EVENT_OBJ_GFX_PICNICKER, - EVENT_OBJ_GFX_LASS + OBJ_EVENT_GFX_WOMAN_2, + OBJ_EVENT_GFX_TUBER_F, + OBJ_EVENT_GFX_WOMAN_5, + OBJ_EVENT_GFX_HEX_MANIAC, + OBJ_EVENT_GFX_WOMAN_2, + OBJ_EVENT_GFX_BEAUTY, + OBJ_EVENT_GFX_LASS, + OBJ_EVENT_GFX_GIRL_3, + OBJ_EVENT_GFX_POKEFAN_F, + OBJ_EVENT_GFX_EXPERT_F, + OBJ_EVENT_GFX_CYCLING_TRIATHLETE_F, + OBJ_EVENT_GFX_RUNNING_TRIATHLETE_F, + OBJ_EVENT_GFX_RUNNING_TRIATHLETE_F, + OBJ_EVENT_GFX_GIRL_3, + OBJ_EVENT_GFX_WOMAN_5, + OBJ_EVENT_GFX_RUNNING_TRIATHLETE_F, + OBJ_EVENT_GFX_PICNICKER, + OBJ_EVENT_GFX_WOMAN_2, + OBJ_EVENT_GFX_PICNICKER, + OBJ_EVENT_GFX_LASS }; // Excludes the unused RS_FACILITY_CLASS_BOARDER_1 and _2 @@ -1178,7 +1178,7 @@ void SetBattleFacilityTrainerGfxId(u16 trainerId, u8 tempVarId) } else if (trainerId == TRAINER_FRONTIER_BRAIN) { - SetFrontierBrainEventObjGfx_2(); + SetFrontierBrainObjEventGfx_2(); return; } else if (trainerId < FRONTIER_TRAINERS_COUNT) @@ -1246,13 +1246,13 @@ void SetBattleFacilityTrainerGfxId(u16 trainerId, u8 tempVarId) { case 0: default: - VarSet(VAR_OBJ_GFX_ID_0, EVENT_OBJ_GFX_BOY_1); + VarSet(VAR_OBJ_GFX_ID_0, OBJ_EVENT_GFX_BOY_1); return; case 1: - VarSet(VAR_OBJ_GFX_ID_1, EVENT_OBJ_GFX_BOY_1); + VarSet(VAR_OBJ_GFX_ID_1, OBJ_EVENT_GFX_BOY_1); return; case 15: - VarSet(VAR_OBJ_GFX_ID_E, EVENT_OBJ_GFX_BOY_1); + VarSet(VAR_OBJ_GFX_ID_E, OBJ_EVENT_GFX_BOY_1); return; } } @@ -1311,7 +1311,7 @@ u8 GetBattleFacilityTrainerGfxId(u16 trainerId) } else { - return EVENT_OBJ_GFX_BOY_1; + return OBJ_EVENT_GFX_BOY_1; } } @@ -2272,9 +2272,9 @@ static void LoadMultiPartnerCandidatesData(void) s32 challengeNum; u32 species1, species2; u32 level; - struct EventObjectTemplate *eventObjTemplates; + struct ObjectEventTemplate *objEventTemplates; - eventObjTemplates = gSaveBlock1Ptr->eventObjectTemplates; + objEventTemplates = gSaveBlock1Ptr->objectEventTemplates; lvlMode = gSaveBlock2Ptr->frontier.lvlMode; battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE); challengeNum = gSaveBlock2Ptr->frontier.towerWinStreaks[battleMode][lvlMode] / 7; @@ -2304,7 +2304,7 @@ static void LoadMultiPartnerCandidatesData(void) for (i = 0; i < 6; i++) { trainerId = gSaveBlock2Ptr->frontier.trainerIds[i]; - eventObjTemplates[i + 1].graphicsId = GetBattleFacilityTrainerGfxId(trainerId); + objEventTemplates[i + 1].graphicsId = GetBattleFacilityTrainerGfxId(trainerId); for (j = 0; j < 2; j++) { while (1) @@ -2358,7 +2358,7 @@ static void LoadMultiPartnerCandidatesData(void) if (r10 != 0) { gSaveBlock2Ptr->frontier.trainerIds[6] = spArray[Random() % r10]; - eventObjTemplates[7].graphicsId = GetBattleFacilityTrainerGfxId(gSaveBlock2Ptr->frontier.trainerIds[6]); + objEventTemplates[7].graphicsId = GetBattleFacilityTrainerGfxId(gSaveBlock2Ptr->frontier.trainerIds[6]); FlagClear(FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_ALT_1); GetApprenticeMultiPartnerParty(gSaveBlock2Ptr->frontier.trainerIds[6]); } @@ -2401,7 +2401,7 @@ static void LoadMultiPartnerCandidatesData(void) if (r10 != 0) { gSaveBlock2Ptr->frontier.trainerIds[7] = spArray[Random() % r10]; - eventObjTemplates[8].graphicsId = GetBattleFacilityTrainerGfxId(gSaveBlock2Ptr->frontier.trainerIds[7]); + objEventTemplates[8].graphicsId = GetBattleFacilityTrainerGfxId(gSaveBlock2Ptr->frontier.trainerIds[7]); FlagClear(FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_ALT_2); GetRecordMixFriendMultiPartnerParty(gSaveBlock2Ptr->frontier.trainerIds[7]); } @@ -3466,7 +3466,7 @@ u8 FacilityClassToGraphicsId(u8 facilityClass) } else { - return EVENT_OBJ_GFX_BOY_1; + return OBJ_EVENT_GFX_BOY_1; } } diff --git a/src/battle_transition.c b/src/battle_transition.c index 9e66b8938..23182e976 100644 --- a/src/battle_transition.c +++ b/src/battle_transition.c @@ -750,7 +750,7 @@ static const struct SpriteTemplate gUnknown_085C8E68 = { .tileTag = 0xFFFF, .paletteTag = 4105, - .oam = &gEventObjectBaseOam_32x32, + .oam = &gObjectEventBaseOam_32x32, .anims = sSpriteAnimTable_85C8E3C, .images = sSpriteImageTable_85C8E2C, .affineAnims = sSpriteAffineAnimTable_85C8E60, @@ -817,7 +817,7 @@ static const struct SpriteTemplate sSpriteTemplate_85C8EBC = .callback = sub_8148380 }; -static const u16 gFieldEffectObjectPalette10[] = INCBIN_U16("graphics/event_objects/palettes/field_effect_object_palette_10.gbapal"); +static const u16 gFieldEffectObjectPalette10[] = INCBIN_U16("graphics/field_effects/palettes/10.gbapal"); const struct SpritePalette gFieldEffectObjectPaletteInfo10 = { diff --git a/src/battle_util.c b/src/battle_util.c index 4352a02c2..da3d50648 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -1009,7 +1009,7 @@ u8 DoBattlerEndTurnEffects(void) if (!(gBattleMons[gActiveBattler].status2 & STATUS2_CONFUSION)) { gBattleCommunication[MOVE_EFFECT_BYTE] = MOVE_EFFECT_CONFUSION | MOVE_EFFECT_AFFECTS_USER; - SetMoveEffect(1, 0); + SetMoveEffect(TRUE, 0); if (gBattleMons[gActiveBattler].status2 & STATUS2_CONFUSION) BattleScriptExecute(BattleScript_ThrashConfuses); effect++; @@ -3207,7 +3207,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) { gBattleCommunication[MOVE_EFFECT_BYTE] = MOVE_EFFECT_FLINCH; BattleScriptPushCursor(); - SetMoveEffect(0, 0); + SetMoveEffect(FALSE, 0); BattleScriptPop(); } break; diff --git a/src/berry.c b/src/berry.c index bbaa2b03b..7a8ab37fa 100644 --- a/src/berry.c +++ b/src/berry.c @@ -12,7 +12,7 @@ #include "string_util.h" #include "text.h" #include "constants/berry.h" -#include "constants/event_object_movement_constants.h" +#include "constants/event_object_movement.h" #include "constants/items.h" static u32 GetEnigmaBerryChecksum(struct EnigmaBerry *enigmaBerry); @@ -995,9 +995,9 @@ struct BerryTree *GetBerryTreeInfo(u8 id) return &gSaveBlock1Ptr->berryTrees[id]; } -bool32 EventObjectInteractionWaterBerryTree(void) +bool32 ObjectEventInteractionWaterBerryTree(void) { - struct BerryTree *tree = GetBerryTreeInfo(EventObjectGetBerryTreeId(gSelectedEventObject)); + struct BerryTree *tree = GetBerryTreeInfo(ObjectEventGetBerryTreeId(gSelectedObjectEvent)); switch (tree->stage) { @@ -1021,8 +1021,8 @@ bool32 EventObjectInteractionWaterBerryTree(void) bool8 IsPlayerFacingEmptyBerryTreePatch(void) { - if (GetEventObjectScriptPointerPlayerFacing() == BerryTreeScript - && GetStageByBerryTreeId(EventObjectGetBerryTreeId(gSelectedEventObject)) == BERRY_STAGE_NO_BERRY) + if (GetObjectEventScriptPointerPlayerFacing() == BerryTreeScript + && GetStageByBerryTreeId(ObjectEventGetBerryTreeId(gSelectedObjectEvent)) == BERRY_STAGE_NO_BERRY) return TRUE; else return FALSE; @@ -1030,10 +1030,10 @@ bool8 IsPlayerFacingEmptyBerryTreePatch(void) bool8 TryToWaterBerryTree(void) { - if (GetEventObjectScriptPointerPlayerFacing() != BerryTreeScript) + if (GetObjectEventScriptPointerPlayerFacing() != BerryTreeScript) return FALSE; else - return EventObjectInteractionWaterBerryTree(); + return ObjectEventInteractionWaterBerryTree(); } void ClearBerryTrees(void) @@ -1242,7 +1242,7 @@ static u16 GetStageDurationByBerryType(u8 berry) return GetBerryInfo(berry)->stageDuration * 60; } -void EventObjectInteractionGetBerryTreeData(void) +void ObjectEventInteractionGetBerryTreeData(void) { u8 id; u8 berry; @@ -1250,7 +1250,7 @@ void EventObjectInteractionGetBerryTreeData(void) u8 group; u8 num; - id = EventObjectGetBerryTreeId(gSelectedEventObject); + id = ObjectEventGetBerryTreeId(gSelectedObjectEvent); berry = GetBerryTypeByBerryTreeId(id); ResetBerryTreeSparkleFlag(id); localId = gSpecialVar_LastTalked; @@ -1265,15 +1265,15 @@ void EventObjectInteractionGetBerryTreeData(void) GetBerryCountStringByBerryType(berry, gStringVar1, gSpecialVar_0x8006); } -void EventObjectInteractionGetBerryName(void) +void ObjectEventInteractionGetBerryName(void) { - u8 berryType = GetBerryTypeByBerryTreeId(EventObjectGetBerryTreeId(gSelectedEventObject)); + u8 berryType = GetBerryTypeByBerryTreeId(ObjectEventGetBerryTreeId(gSelectedObjectEvent)); GetBerryNameByBerryType(berryType, gStringVar1); } -void EventObjectInteractionGetBerryCountString(void) +void ObjectEventInteractionGetBerryCountString(void) { - u8 treeId = EventObjectGetBerryTreeId(gSelectedEventObject); + u8 treeId = ObjectEventGetBerryTreeId(gSelectedObjectEvent); u8 berry = GetBerryTypeByBerryTreeId(treeId); u8 count = GetBerryCountByBerryTreeId(treeId); GetBerryCountStringByBerryType(berry, gStringVar1, count); @@ -1284,25 +1284,25 @@ void Bag_ChooseBerry(void) SetMainCallback2(CB2_ChooseBerry); } -void EventObjectInteractionPlantBerryTree(void) +void ObjectEventInteractionPlantBerryTree(void) { u8 berry = ItemIdToBerryType(gSpecialVar_ItemId); - PlantBerryTree(EventObjectGetBerryTreeId(gSelectedEventObject), berry, 1, TRUE); - EventObjectInteractionGetBerryTreeData(); + PlantBerryTree(ObjectEventGetBerryTreeId(gSelectedObjectEvent), berry, 1, TRUE); + ObjectEventInteractionGetBerryTreeData(); } -void EventObjectInteractionPickBerryTree(void) +void ObjectEventInteractionPickBerryTree(void) { - u8 id = EventObjectGetBerryTreeId(gSelectedEventObject); + u8 id = ObjectEventGetBerryTreeId(gSelectedObjectEvent); u8 berry = GetBerryTypeByBerryTreeId(id); gSpecialVar_0x8004 = AddBagItem(BerryTypeToItemId(berry), GetBerryCountByBerryTreeId(id)); } -void EventObjectInteractionRemoveBerryTree(void) +void ObjectEventInteractionRemoveBerryTree(void) { - RemoveBerryTree(EventObjectGetBerryTreeId(gSelectedEventObject)); + RemoveBerryTree(ObjectEventGetBerryTreeId(gSelectedObjectEvent)); sub_8092EF0(gSpecialVar_LastTalked, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); } @@ -1326,14 +1326,14 @@ void ResetBerryTreeSparkleFlags(void) top = cam_top + 3; right = cam_left + 14; bottom = top + 8; - for (i = 0; i < EVENT_OBJECTS_COUNT; i++) + for (i = 0; i < OBJECT_EVENTS_COUNT; i++) { - if (gEventObjects[i].active && gEventObjects[i].movementType == MOVEMENT_TYPE_BERRY_TREE_GROWTH) + if (gObjectEvents[i].active && gObjectEvents[i].movementType == MOVEMENT_TYPE_BERRY_TREE_GROWTH) { - cam_left = gEventObjects[i].currentCoords.x; - cam_top = gEventObjects[i].currentCoords.y; + cam_left = gObjectEvents[i].currentCoords.x; + cam_top = gObjectEvents[i].currentCoords.y; if (left <= cam_left && cam_left <= right && top <= cam_top && cam_top <= bottom) - ResetBerryTreeSparkleFlag(gEventObjects[i].trainerRange_berryTreeId); + ResetBerryTreeSparkleFlag(gObjectEvents[i].trainerRange_berryTreeId); } } } diff --git a/src/berry_crush.c b/src/berry_crush.c index f0987c953..542888631 100755 --- a/src/berry_crush.c +++ b/src/berry_crush.c @@ -1,4 +1,5 @@ #include "global.h" +#include "battle_anim.h" #include "berry.h" #include "berry_powder.h" #include "bg.h" @@ -114,10 +115,10 @@ struct BerryCrushGame_138_C u8 unk0; u8 unk1; u8 unk2; - u16 unk4; - u16 unk6; + s16 unk4; + s16 unk6; s16 unk8; - u16 unkA; + s16 unkA; }; struct BerryCrushGame_138 @@ -204,47 +205,606 @@ void sub_8022B28(struct Sprite *); void sub_8022554(struct BerryCrushGame_138 *r0); void sub_8024578(struct BerryCrushGame *); void sub_8024644(u8 *, u32, u32, u32, u32); +static void sub_8022A20(struct Sprite *sprite); +static u32 sub_8022C58(struct BerryCrushGame *r6, u8 *r1); +static u32 sub_8022CB0(struct BerryCrushGame *r4, u8 *r5); +static u32 sub_8022D14(struct BerryCrushGame *r7, u8 *r5); +static u32 sub_8022E1C(struct BerryCrushGame *r4, __attribute__((unused)) u8 *r1); +static u32 sub_8022E3C(struct BerryCrushGame *r4, __attribute__((unused)) u8 *r1); +static u32 sub_8022E5C(struct BerryCrushGame *r4, __attribute__((unused)) u8 *r1); +static u32 sub_8022EAC(struct BerryCrushGame *r4, u8 *r5); +static u32 sub_8022F04(struct BerryCrushGame *r0, __attribute__((unused)) u8 *r1); +static u32 sub_8022F1C(struct BerryCrushGame *r5, u8 *r2); +static u32 sub_8023070(struct BerryCrushGame *r4, __attribute__((unused)) u8 *r1); +static u32 sub_80231B8(struct BerryCrushGame *r4, __attribute__((unused)) u8 *r1); +static u32 sub_80232EC(struct BerryCrushGame *r4, __attribute__((unused)) u8 *r1); +static u32 sub_80238F0(struct BerryCrushGame *r4, __attribute__((unused)) u8 *r1); +static u32 sub_8023998(struct BerryCrushGame *r4, __attribute__((unused)) u8 *r1); +static u32 sub_8023A30(struct BerryCrushGame *r4, __attribute__((unused)) u8 *r1); +static u32 sub_8023BC0(struct BerryCrushGame *r5, u8 *r6); +static u32 sub_8023CAC(struct BerryCrushGame *r7, __attribute__((unused)) u8 *r1); +static u32 sub_8024048(struct BerryCrushGame *r5, u8 *r6); +static u32 sub_8024134(struct BerryCrushGame *r5, u8 *r4); +static u32 sub_8024228(struct BerryCrushGame *r5, u8 *r6); +static u32 sub_80242E0(struct BerryCrushGame *r4, __attribute__((unused)) u8 *r1); +static u32 sub_80243BC(struct BerryCrushGame *r5, __attribute__((unused)) u8 *r1); +static u32 sub_8024444(struct BerryCrushGame *r5, __attribute__((unused)) u8 *r1); +static u32 sub_8024508(struct BerryCrushGame *r5, __attribute__((unused)) u8 *r1); +static u32 sub_8024568(__attribute__((unused)) struct BerryCrushGame *r0, __attribute__((unused)) u8 *r1); static EWRAM_DATA struct BerryCrushGame *gUnknown_02022C90 = NULL; -extern const struct BgTemplate gUnknown_082F32C8[4]; -extern const u8 gBerryCrushGrinderTopTilemap[]; -extern const u8 gBerryCrushContainerCapTilemap[]; -extern const u8 gBerryCrushBackgroundTilemap[]; -extern const struct SpriteTemplate gUnknown_082F436C; -extern const u16 gUnknown_082F41E8[]; -extern const s8 gUnknown_082F41CC[][2]; -extern const s8 gUnknown_082F41D2[][2]; -extern const u32 gUnknown_082F334C[]; -extern const u8 sBerryCrushTextColors1[][3]; -extern const u8 *gUnknown_082F43B4[]; -extern const u8 sBerryCrushTextColors4[]; -extern const struct WindowTemplate gUnknown_082F32CC[]; -extern const u8 gUnknown_082F3344[][4]; -extern const struct WindowTemplate gUnknown_082F32EC; -extern const u8 sBerryCrushTextColorTable[][3]; -extern const struct WindowTemplate gUnknown_082F32F4[]; -extern const u8 gUnknown_082F417C[][5]; -extern const struct BerryCrushGame_138_C gUnknown_082F4190[]; -extern const u8 sBerryCrushTextColors2[][3]; -extern const u8 sBerryCrushTextColors3[][3]; -extern const u32 gUnknown_08DE3FD4[]; -extern const struct CompressedSpriteSheet gUnknown_082F41F4[]; -extern const struct SpritePalette gUnknown_082F421C; -extern const struct SpriteTemplate gUnknown_082F430C; -extern const struct SpriteTemplate gUnknown_082F4324; -extern const struct SpriteTemplate gUnknown_082F433C; -extern const struct SpriteTemplate gUnknown_082F4354; -extern const struct UnkStruct3 gUnknown_082F4384[]; -extern u32 (*const gUnknown_082F43CC[])(struct BerryCrushGame *, u8 *); -extern const u8 *const gUnknown_082F32A4[]; -extern const u8 gUnknown_082F4448[]; -extern const s8 gUnknown_082F326C[][7]; -extern const u8 gUnknown_082F325C[]; -extern const u8 gUnknown_082F3264[]; -extern const u8 gUnknown_082F3290[][4]; -extern const u8 gUnknown_082F4434[][4]; -extern const u8 gUnknown_082F4444[]; +static const u8 gUnknown_082F325C[] = { 1, 2, 4, 8, 16, 32, 64, 128 }; +static const u8 gUnknown_082F3264[] = { 0, 1, 2, 3, 5, 0, 0, 0 }; + +static const s8 gUnknown_082F326C[][7] = +{ + { 4, 1, 0, -1, 0, 0, 0}, + { 4, 2, 0, -1, 0, 0, 0}, + { 4, 2, 0, -2, 0, 0, 0}, + { 6, 3, 1, -1, -3, -1, 0}, + { 6, 4, 1, -2, -4, -2, 0}, +}; + +static const u8 sUnusedZero = 0; + +static const u8 gUnknown_082F3290[][4] = +{ + {3, 2, 1, 0}, + {3, 3, 1, 0}, + {3, 3, 2, 0}, + {3, 4, 2, 0}, + {3, 5, 3, 0}, +}; + +static const u8 *const gUnknown_082F32A4[] = +{ + gText_ReadyToBerryCrush, + gText_WaitForAllChooseBerry, + gText_EndedWithXUnitsPowder, + gText_RecordingGameResults, + gText_PlayBerryCrushAgain, + gText_YouHaveNoBerries, + gText_MemberDroppedOut, + gText_TimesUpNoGoodPowder, + gText_CommunicationStandby2, +}; + +static const struct BgTemplate gUnknown_082F32C8[4] = +{ + { + .bg = 0, + .charBaseIndex = 2, + .mapBaseIndex = 15, + .screenSize = 0, + .paletteMode = 0, + .priority = 0, + .baseTile = 0, + }, + { + .bg = 1, + .charBaseIndex = 0, + .mapBaseIndex = 13, + .screenSize = 2, + .paletteMode = 0, + .priority = 1, + .baseTile = 0, + }, + { + .bg = 2, + .charBaseIndex = 0, + .mapBaseIndex = 12, + .screenSize = 0, + .paletteMode = 0, + .priority = 2, + .baseTile = 0, + }, + { + .bg = 3, + .charBaseIndex = 0, + .mapBaseIndex = 11, + .screenSize = 0, + .paletteMode = 0, + .priority = 3, + .baseTile = 0, + }, +}; + + +static const u8 sBerryCrushTextColorTable[][3] = +{ + {TEXT_COLOR_WHITE, TEXT_COLOR_DARK_GREY, TEXT_COLOR_LIGHT_GREY}, + {TEXT_COLOR_TRANSPARENT, TEXT_COLOR_WHITE, TEXT_COLOR_DARK_GREY}, + {TEXT_COLOR_TRANSPARENT, TEXT_COLOR_LIGHT_GREY, TEXT_COLOR_RED}, + {TEXT_COLOR_WHITE, TEXT_COLOR_BLUE, TEXT_COLOR_LIGHT_BLUE}, + {TEXT_COLOR_WHITE, TEXT_COLOR_GREEN, TEXT_COLOR_LIGHT_GREEN}, + {TEXT_COLOR_WHITE, TEXT_COLOR_RED, TEXT_COLOR_LIGHT_RED}, +}; + + +static const struct WindowTemplate gUnknown_082F32EC = +{ + .bg = 0, + .tilemapLeft = 3, + .tilemapTop = 4, + .width = 24, + .height = 13, + .paletteNum = 15, + .baseBlock = 1 +}; + +static const struct WindowTemplate gUnknown_082F32F4[] = +{ + { + .bg = 0, + .tilemapLeft = 0, + .tilemapTop = 0, + .width = 9, + .height = 2, + .paletteNum = 8, + .baseBlock = 1005 + }, + { + .bg = 0, + .tilemapLeft = 0, + .tilemapTop = 3, + .width = 9, + .height = 2, + .paletteNum = 8, + .baseBlock = 987 + }, + { + .bg = 0, + .tilemapLeft = 0, + .tilemapTop = 6, + .width = 9, + .height = 2, + .paletteNum = 8, + .baseBlock = 969 + }, + { + .bg = 0, + .tilemapLeft = 21, + .tilemapTop = 3, + .width = 9, + .height = 2, + .paletteNum = 8, + .baseBlock = 951 + }, + { + .bg = 0, + .tilemapLeft = 21, + .tilemapTop = 6, + .width = 9, + .height = 2, + .paletteNum = 8, + .baseBlock = 933 + }, + DUMMY_WIN_TEMPLATE, +}; + +static const struct WindowTemplate gUnknown_082F3324[] = +{ + { + .bg = 0, + .tilemapLeft = 5, + .tilemapTop = 2, + .width = 20, + .height = 16, + .paletteNum = 15, + .baseBlock = 1 + }, + { + .bg = 0, + .tilemapLeft = 5, + .tilemapTop = 2, + .width = 20, + .height = 16, + .paletteNum = 15, + .baseBlock = 1 + }, + { + .bg = 0, + .tilemapLeft = 4, + .tilemapTop = 2, + .width = 22, + .height = 16, + .paletteNum = 15, + .baseBlock = 1 + }, + DUMMY_WIN_TEMPLATE, +}; + +static const u8 gUnknown_082F3344[][4] = +{ + {6, 8, 9, 11}, + {12, 14, 15, 16}, +}; + +static const u32 gUnknown_082F334C[] = +{ + 50000000 / (1 << 0), + 50000000 / (1 << 1), + 50000000 / (1 << 2), + 50000000 / (1 << 3), + 50000000 / (1 << 4), + 50000000 / (1 << 5), + 50000000 / (1 << 6), + 50000000 / (1 << 7), +}; + +static const u16 gBerryCrushGrinderBasePal[] = INCBIN_U16("graphics/link_games/berrycrush_grinder_base.gbapal"); +static const u16 gBerryCrushMiscSpritesPal[] = INCBIN_U16("graphics/link_games/berrycrush_misc.gbapal"); +static const u16 gBerryCrushTimerDigitsPal[] = INCBIN_U16("graphics/link_games/berrycrush_timerdigits.gbapal"); +static const u32 gBerryCrushGrinderBaseGfx[] = INCBIN_U32("graphics/link_games/berrycrush_grinder_base.4bpp.lz"); +static const u32 gBerryCrushBtnPressGfx[] = INCBIN_U32("graphics/link_games/berrycrush_btnpress.4bpp.lz"); +static const u32 gBerryCrushSparkleGfx[] = INCBIN_U32("graphics/link_games/berrycrush_sparkle.4bpp.lz"); +static const u8 gBerryCrushTimerDigitsGfx[] = INCBIN_U8("graphics/link_games/berrycrush_timerdigits.4bpp.lz"); +static const u8 gBerryCrushGrinderTopTilemap[] = INCBIN_U8("graphics/link_games/berrycrush_grinder_top.bin.lz"); +static const u8 gBerryCrushContainerCapTilemap[] = INCBIN_U8("graphics/link_games/berrycrush_container_cap.bin.lz"); +static const u8 gBerryCrushBackgroundTilemap[] = INCBIN_U8("graphics/link_games/berrycrush_background.bin.lz"); + +static const u8 gUnknown_082F417C[][5] = +{ + {1, 3, 0, 0, 0}, + {0, 1, 3, 0, 0}, + {1, 3, 2, 4, 0}, + {0, 1, 3, 2, 4}, +}; + +static const struct BerryCrushGame_138_C gUnknown_082F4190[] = +{ + { + .unk0 = 0, + .unk1 = 0, + .unk2 = 0, + .unk4 = 0, + .unk6 = -16, + .unk8 = 0, + .unkA = 0, + }, + { + .unk0 = 1, + .unk1 = 0, + .unk2 = 3, + .unk4 = -28, + .unk6 = -4, + .unk8 = -24, + .unkA = 16, + }, + { + .unk0 = 2, + .unk1 = 0, + .unk2 = 6, + .unk4 = -16, + .unk6 = 20, + .unk8 = -8, + .unkA = 16, + }, + { + .unk0 = 3, + .unk1 = 20, + .unk2 = 3, + .unk4 = 28, + .unk6 = -4, + .unk8 = 32, + .unkA = -8, + }, + { + .unk0 = 4, + .unk1 = 20, + .unk2 = 6, + .unk4 = 16, + .unk6 = 20, + .unk8 = 16, + .unkA = -8, + } +}; + + +static const s8 gUnknown_082F41CC[][2] = +{ + { 0, 0}, + {-1, 0}, + { 1, 1}, +}; + +static const s8 gUnknown_082F41D2[][2] = +{ + { 0, 0}, + {-16, -4}, + { 16, -4}, + { -8, -2}, + { 8, -2}, + {-24, -8}, + { 24, -8}, + {-32, -12}, + { 32, -12}, + {-40, -16}, + { 40, -16}, +}; + +static const u16 gUnknown_082F41E8[] = {5, 6, 7, 8, 9, 0}; + +static const struct CompressedSpriteSheet gUnknown_082F41F4[] = +{ + { .data = gBerryCrushGrinderBaseGfx, .size = 0x800, .tag = 1 }, + { .data = gBerryCrushBtnPressGfx, .size = 0xE00, .tag = 2 }, + { .data = gBerryCrushSparkleGfx, .size = 0x700, .tag = 3 }, +}; + +static const struct SpriteSheet gUnknown_082F420C[] = +{ + { .data = gBerryCrushTimerDigitsGfx, .size = 0x2C0, .tag = 4 }, + {} +}; + + +static const struct SpritePalette gUnknown_082F421C[] = +{ + { .data = gBerryCrushGrinderBasePal, .tag = 1 }, + { .data = gBerryCrushMiscSpritesPal, .tag = 2 }, +}; + +static const struct SpritePalette gUnknown_082F422C[] = +{ + { .data = gBerryCrushTimerDigitsPal, .tag = 4 }, + {} +}; + +static const union AnimCmd gUnknown_082F423C[] = +{ + ANIMCMD_FRAME(0, 0), + ANIMCMD_END +}; + +static const union AnimCmd gUnknown_082F4244[] = +{ + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(16, 4), + ANIMCMD_FRAME(32, 4), + ANIMCMD_END +}; + +static const union AnimCmd gUnknown_082F4254[] = +{ + ANIMCMD_FRAME(48, 2), + ANIMCMD_FRAME(64, 2), + ANIMCMD_FRAME(80, 2), + ANIMCMD_FRAME(96, 2), + ANIMCMD_END +}; + +static const union AnimCmd gUnknown_082F4268[] = +{ + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(4, 2), + ANIMCMD_FRAME(8, 2), + ANIMCMD_FRAME(12, 2), + ANIMCMD_FRAME(16, 2), + ANIMCMD_FRAME(20, 2), + ANIMCMD_JUMP(0) +}; + +static const union AnimCmd gUnknown_082F4284[] = +{ + ANIMCMD_FRAME(24, 4), + ANIMCMD_FRAME(28, 4), + ANIMCMD_FRAME(32, 4), + ANIMCMD_FRAME(36, 4), + ANIMCMD_FRAME(40, 4), + ANIMCMD_FRAME(44, 4), + ANIMCMD_FRAME(48, 4), + ANIMCMD_FRAME(52, 4), + ANIMCMD_JUMP(0) +}; + +static const union AnimCmd gUnknown_082F42A8[] = +{ + ANIMCMD_FRAME(20, 0), + ANIMCMD_END +}; + +static const union AnimCmd gUnknown_082F42B0[] = +{ + ANIMCMD_FRAME(0, 0), + ANIMCMD_END +}; + + +static const union AffineAnimCmd gUnknown_082F42B8[] = +{ + AFFINEANIMCMD_FRAME(256, 256, 0, 0), + AFFINEANIMCMD_FRAME(0, 0, 2, 1), + AFFINEANIMCMD_JUMP(1) +}; + +static const union AffineAnimCmd gUnknown_082F42D0[] = +{ + AFFINEANIMCMD_FRAME(256, 256, 0, 0), + AFFINEANIMCMD_FRAME(0, 0, -2, 1), + AFFINEANIMCMD_JUMP(1) +}; + +static const union AnimCmd *const gUnknown_082F42E8[] = +{ + gUnknown_082F423C +}; + +static const union AnimCmd *const gUnknown_082F42EC[] = +{ + gUnknown_082F4244, + gUnknown_082F4254, +}; + +static const union AnimCmd *const gUnknown_082F42F4[] = +{ + gUnknown_082F4268, + gUnknown_082F4284, +}; + +static const union AnimCmd *const gUnknown_082F42FC[] = +{ + gUnknown_082F42A8 +}; + +static const union AnimCmd *const gUnknown_082F4300[] = +{ + gUnknown_082F42B0 +}; + +static const union AffineAnimCmd *const gUnknown_082F4304[] = +{ + gUnknown_082F42B8, + gUnknown_082F42D0, +}; + +static const struct SpriteTemplate gUnknown_082F430C = +{ + .tileTag = 1, + .paletteTag = 1, + .oam = &gOamData_AffineOff_ObjNormal_64x64, + .anims = gUnknown_082F42E8, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy +}; + +static const struct SpriteTemplate gUnknown_082F4324 = +{ + .tileTag = 2, + .paletteTag = 2, + .oam = &gOamData_AffineOff_ObjNormal_32x32, + .anims = gUnknown_082F42EC, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_8022A20 +}; + +static const struct SpriteTemplate gUnknown_082F433C = +{ + .tileTag = 3, + .paletteTag = 2, + .oam = &gOamData_AffineOff_ObjNormal_16x16, + .anims = gUnknown_082F42F4, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy +}; + +static const struct SpriteTemplate gUnknown_082F4354 = +{ + .tileTag = 4, + .paletteTag = 4, + .oam = &gOamData_AffineOff_ObjNormal_8x16, + .anims = gUnknown_082F42FC, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy +}; + +static const struct SpriteTemplate gUnknown_082F436C = +{ + .tileTag = 5, + .paletteTag = 5, + .oam = &gOamData_AffineDouble_ObjNormal_32x32, + .anims = gUnknown_082F4300, + .images = NULL, + .affineAnims = gUnknown_082F4304, + .callback = SpriteCallbackDummy +}; + +static const struct UnkStruct3 gUnknown_082F4384[] = +{ + { + .field_0_0 = 1, + .shape = 2, + .size = 0, + .priority = 0, + .field_1 = 2, + .xDelta = 8, + .x = 156, + .y = 0, + .spriteSheet = gUnknown_082F420C, + .spritePal = gUnknown_082F422C, + }, + { + .field_0_0 = 0, + .shape = 2, + .size = 0, + .priority = 0, + .field_1 = 2, + .xDelta = 8, + .x = 180, + .y = 0, + .spriteSheet = gUnknown_082F420C, + .spritePal = gUnknown_082F422C, + }, + { + .field_0_0 = 0, + .shape = 2, + .size = 0, + .priority = 0, + .field_1 = 2, + .xDelta = 8, + .x = 204, + .y = 0, + .spriteSheet = gUnknown_082F420C, + .spritePal = gUnknown_082F422C, + } +}; + +static const u8 *const gUnknown_082F43B4[] = +{ + gText_SpaceTimes2, + gText_XDotY, + gText_Var1Berry, + gText_NeatnessRankings, + gText_CoopRankings, + gText_PressingPowerRankings, +}; + +static u32 (*const gUnknown_082F43CC[])(struct BerryCrushGame *, u8 *) = +{ + NULL, + sub_8022C58, + sub_8022CB0, + sub_8022D14, + sub_8022E1C, + sub_8022E3C, + sub_8022E5C, + sub_8022EAC, + sub_8022F04, + sub_8022F1C, + sub_8023070, + sub_80231B8, + sub_80232EC, + sub_80238F0, + sub_8023998, + sub_8023A30, + sub_8023BC0, + sub_8023CAC, + sub_8024048, + sub_8024134, + sub_8024228, + sub_80242E0, + sub_80243BC, + sub_8024444, + sub_8024508, + sub_8024568, +}; + +static const u8 gUnknown_082F4434[][4] = +{ + {2, 4, 6, 7}, + {3, 5, 8, 11}, + {3, 7, 11, 15}, + {4, 8, 12, 17}, +}; + +static const u8 gUnknown_082F4444[] = {5, 7, 9, 12}; +static const u8 gUnknown_082F4448[] = {3, 7, 15, 31}; + struct BerryCrushGame *sub_8020C00(void) { @@ -280,9 +840,9 @@ void sub_8020C70(MainCallback callback) if (!gReceivedRemoteLinkPlayers || gWirelessCommType == 0) { SetMainCallback2(callback); - gUnknown_03005000.unk_10 = 0; - gUnknown_03005000.unk_12 = 0; - gUnknown_03005000.unk_ee = 1; + Rfu.unk_10 = 0; + Rfu.unk_12 = 0; + Rfu.unk_ee = 1; return; } @@ -291,9 +851,9 @@ void sub_8020C70(MainCallback callback) if (playerCount < 2 || multiplayerId >= playerCount) { SetMainCallback2(callback); - gUnknown_03005000.unk_10 = 0; - gUnknown_03005000.unk_12 = 0; - gUnknown_03005000.unk_ee = 1; + Rfu.unk_10 = 0; + Rfu.unk_12 = 0; + Rfu.unk_ee = 1; return; } @@ -301,9 +861,9 @@ void sub_8020C70(MainCallback callback) if (!gUnknown_02022C90) { SetMainCallback2(callback); - gUnknown_03005000.unk_10 = 0; - gUnknown_03005000.unk_12 = 0; - gUnknown_03005000.unk_ee = 1; + Rfu.unk_10 = 0; + Rfu.unk_12 = 0; + Rfu.unk_ee = 1; return; } @@ -837,498 +1397,78 @@ void sub_8021944(struct BerryCrushGame_138 *arg0, u16 arg1) void sub_80219C8(u8 windowId, u8 left, u8 colorId, const u8 *string) { left = (left * 4) - (GetStringWidth(2, string, -1) / 2u); - AddTextPrinterParameterized3(windowId, 2, left, 0, sBerryCrushTextColors1[colorId], 0, string); + AddTextPrinterParameterized3(windowId, 2, left, 0, sBerryCrushTextColorTable[colorId], 0, string); } -#ifdef NONMATCHING -void sub_8021A28(struct BerryCrushGame *sp0C, u8 sp10, u8 sp14, u8 r3) +void sub_8021A28(struct BerryCrushGame * sp0C, u8 sp10, u8 sp14, u8 sp18) { - s32 r6; - u8 i, j; - u8 sp18 = 0; + u8 r8; u8 sp1C = 0; - union BerryCrushGame_68 *sp20 = &sp0C->unk68; + u8 sp20 = 0; + u8 r2; + s32 r3; + u8 r7; + union BerryCrushGame_68 * sp24 = &sp0C->unk68; u32 xOffset; - u32 r8, r9, r4, r7, r3_; - u8 r10, r2; + s32 r6; - r3 -= 16; + sp18 -= 16; if (sp10 == 2) - r3 -= 42; - r6 = r3 - 14 * sp0C->unk9; + sp18 -= 42; + r6 = sp18 - 14 * sp0C->unk9; if (r6 > 0) r6 = r6 / 2 + 16; else r6 = 16; - i = 0; - while (i < sp0C->unk9) + + for (r8 = 0; r8 < sp0C->unk9; r6 += 14, ++r8) { DynamicPlaceholderTextUtil_Reset(); switch (sp10) { - default: // how can you write this twice?????? - r4 = sp14 - 4; - r10 = r6; - r9 = sp1C + 0xA2; - r8 = sp18; - r6 += 14; - ++i; - break; case 0: - sp18 = sp20->as_five_players.unk1C[0].unk4.as_2d_bytes[0][i]; - if (i != 0 && sp20->as_four_players.unk00.unk0C[0][i] != sp20->as_four_players.unk00.unk0C[0][i - 1]) - sp1C = i; - ConvertIntToDecimalStringN( - gStringVar4, - sp20->as_four_players.unk00.unk0C[sp10][i], - STR_CONV_MODE_RIGHT_ALIGN, - 4 - ); + sp1C = sp24->as_five_players.unk1C[0].unk4.as_2d_bytes[sp10][r8]; + if (r8 != 0 && sp24->as_four_players.unk00.unk0C[sp10][r8] != sp24->as_four_players.unk00.unk0C[sp10][r8 - 1]) + sp20 = r8; + ConvertIntToDecimalStringN(gStringVar4, sp24->as_four_players.unk00.unk0C[sp10][r8], STR_CONV_MODE_RIGHT_ALIGN, 4); StringAppend(gStringVar4, gUnknown_082F43B4[sp10]); - r4 = sp14 - 4; - r10 = r6; - r9 = sp1C + 0xA2; - r8 = sp18; - r6 += 14; - ++i; break; case 1: - sp18 = sp20->as_five_players.unk1C[0].unk4.as_2d_bytes[1][i]; - if (i != 0 && sp20->as_four_players.unk00.unk0C[1][i] != sp20->as_four_players.unk00.unk0C[1][i - 1]) - sp1C = i; - ConvertIntToDecimalStringN( - gStringVar1, - sp20->as_four_players.unk00.unk0C[sp10][i] >> 4, - STR_CONV_MODE_RIGHT_ALIGN, - 3 - ); - j = 0; - r3_ = 15 & (u8)sp20->as_four_players.unk00.unk0C[sp10][i]; - r4 = sp14 - 4; - r10 = r6; - r9 = sp1C + 0xA2; - r8 = sp18; - r6 += 14; - ++i; - for (; j < 4; ++j) - if (((r3_ >> (3 - j)) & 1) != 0) // why does it load constant 1 into r10? - r7 += gUnknown_082F334C[j]; - ConvertIntToDecimalStringN( - gStringVar2, - (u8)(r7 / 1000000), - STR_CONV_MODE_LEADING_ZEROS, - 2 - ); - StringExpandPlaceholders(gStringVar4, gText_XDotY); + sp1C = sp24->as_five_players.unk1C[0].unk4.as_2d_bytes[sp10][r8]; + if (r8 != 0 && sp24->as_four_players.unk00.unk0C[sp10][r8] != sp24->as_four_players.unk00.unk0C[sp10][r8 - 1]) + sp20 = r8; + ConvertIntToDecimalStringN(gStringVar1, sp24->as_four_players.unk00.unk0C[sp10][r8] >> 4, STR_CONV_MODE_RIGHT_ALIGN, 3); + r3 = 0; + r7 = sp24->as_four_players.unk00.unk0C[sp10][r8] & 15; + for (r2 = 0; r2 < 4; ++r2) + if ((r7 >> (3 - r2)) & 1) + r3 += gUnknown_082F334C[r2]; + r7 = r3 / 1000000u; + ConvertIntToDecimalStringN(gStringVar2, r7, STR_CONV_MODE_LEADING_ZEROS, 2); + StringExpandPlaceholders(gStringVar4, gUnknown_082F43B4[sp10]); break; case 2: - sp18 = i; - sp1C = i; - r2 = sp0C->unk68.as_four_players.others[i].unk0; - if (r2 > 43) + sp1C = r8; + sp20 = r8; + r2 = sp0C->unk68.as_five_players.unk1C[r8].unk14[12]; + if (r2 >= LAST_BERRY_INDEX - FIRST_BERRY_INDEX + 2) r2 = 0; - StringCopy(gStringVar1,gBerries[r2].name); - StringExpandPlaceholders(gStringVar4, gText_Var1Berry); - r4 = sp14 - 4; - r10 = r6; - r9 = sp1C + 0xA2; - r8 = i; - r6 += 14; - ++i; + StringCopy(gStringVar1, gBerries[r2].name); + StringExpandPlaceholders(gStringVar4, gUnknown_082F43B4[2]); break; } - xOffset = GetStringRightAlignXOffset(2, gStringVar4, r4); - AddTextPrinterParameterized3( - sp0C->unk138.unk82, - 2, - xOffset, - r10, - sBerryCrushTextColors1[0], - 0, - gStringVar4 - ); - if (sp18 == sp0C->unk8) + xOffset = GetStringRightAlignXOffset(2, gStringVar4, sp14 - 4); + AddTextPrinterParameterized3(sp0C->unk138.unk82, 2, xOffset, r6, sBerryCrushTextColorTable[0], 0, gStringVar4); + if (sp1C == sp0C->unk8) StringCopy(gStringVar3, gText_1DotBlueF700); else StringCopy(gStringVar3, gText_1DotF700); - gStringVar3[0] = r9; - DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, PLAYER_UNK14(sp0C, r8)); + gStringVar3[0] = sp20 + CHAR_1; + DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, PLAYER_UNK14(sp0C, sp1C)); DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gStringVar3); - AddTextPrinterParameterized3( - sp0C->unk138.unk82, - 2, - 4, - r10, - sBerryCrushTextColors1[0], - 0, - gStringVar4 - ); + AddTextPrinterParameterized3(sp0C->unk138.unk82, 2, 4, r6, sBerryCrushTextColorTable[0], 0, gStringVar4); } } -#else -NAKED -void sub_8021A28(struct BerryCrushGame *sp0C, u8 sp10, u8 sp14, u8 r3) -{ - asm_unified("\n\ - push {r4-r7,lr}\n\ - mov r7, r10\n\ - mov r6, r9\n\ - mov r5, r8\n\ - push {r5-r7}\n\ - sub sp, 0x2C\n\ - str r0, [sp, 0xC]\n\ - lsls r1, 24\n\ - lsrs r1, 24\n\ - str r1, [sp, 0x10]\n\ - lsls r2, 24\n\ - lsrs r2, 24\n\ - str r2, [sp, 0x14]\n\ - lsls r3, 24\n\ - movs r0, 0\n\ - str r0, [sp, 0x18]\n\ - movs r1, 0\n\ - str r1, [sp, 0x1C]\n\ - ldr r2, [sp, 0xC]\n\ - adds r2, 0x68\n\ - str r2, [sp, 0x20]\n\ - movs r4, 0xF0\n\ - lsls r4, 24\n\ - adds r3, r4\n\ - lsrs r3, 24\n\ - ldr r0, [sp, 0x10]\n\ - cmp r0, 0x2\n\ - bne _08021A68\n\ - adds r0, r3, 0\n\ - subs r0, 0x2A\n\ - lsls r0, 24\n\ - lsrs r3, r0, 24\n\ - _08021A68:\n\ - ldr r2, [sp, 0xC]\n\ - ldrb r1, [r2, 0x9]\n\ - lsls r0, r1, 3\n\ - subs r0, r1\n\ - lsls r0, 1\n\ - subs r6, r3, r0\n\ - cmp r6, 0\n\ - ble _08021A84\n\ - lsrs r0, r6, 31\n\ - adds r0, r6, r0\n\ - asrs r0, 1\n\ - adds r6, r0, 0\n\ - adds r6, 0x10\n\ - b _08021A86\n\ - _08021A84:\n\ - movs r6, 0x10\n\ - _08021A86:\n\ - movs r5, 0\n\ - ldr r3, [sp, 0xC]\n\ - ldrb r3, [r3, 0x9]\n\ - cmp r5, r3\n\ - bcc _08021A92\n\ - b _08021D14\n\ - _08021A92:\n\ - ldr r4, [sp, 0x10]\n\ - lsls r4, 2\n\ - str r4, [sp, 0x24]\n\ - _08021A98:\n\ - bl DynamicPlaceholderTextUtil_Reset\n\ - ldr r0, [sp, 0x10]\n\ - cmp r0, 0x1\n\ - beq _08021B48\n\ - cmp r0, 0x1\n\ - bgt _08021AC0\n\ - cmp r0, 0\n\ - beq _08021ADE\n\ - ldr r4, [sp, 0x14]\n\ - subs r4, 0x4\n\ - lsls r1, r6, 24\n\ - mov r10, r1\n\ - ldr r2, [sp, 0x1C]\n\ - adds r2, 0xA2\n\ - mov r9, r2\n\ - ldr r3, [sp, 0x18]\n\ - lsls r3, 5\n\ - mov r8, r3\n\ - b _08021C5A\n\ - _08021AC0:\n\ - ldr r4, [sp, 0x10]\n\ - cmp r4, 0x2\n\ - bne _08021AC8\n\ - b _08021C1C\n\ - _08021AC8:\n\ - ldr r4, [sp, 0x14]\n\ - subs r4, 0x4\n\ - lsls r0, r6, 24\n\ - mov r10, r0\n\ - ldr r1, [sp, 0x1C]\n\ - adds r1, 0xA2\n\ - mov r9, r1\n\ - ldr r2, [sp, 0x18]\n\ - lsls r2, 5\n\ - mov r8, r2\n\ - b _08021C5A\n\ - _08021ADE:\n\ - ldr r0, [sp, 0x20]\n\ - adds r0, 0x20\n\ - adds r0, r5\n\ - ldrb r0, [r0]\n\ - str r0, [sp, 0x18]\n\ - lsls r3, r5, 1\n\ - ldr r2, [sp, 0x20]\n\ - adds r2, 0xC\n\ - cmp r5, 0\n\ - beq _08021B04\n\ - adds r0, r2, r3\n\ - subs r1, r5, 0x1\n\ - lsls r1, 1\n\ - adds r1, r2, r1\n\ - ldrh r0, [r0]\n\ - ldrh r1, [r1]\n\ - cmp r0, r1\n\ - beq _08021B04\n\ - str r5, [sp, 0x1C]\n\ - _08021B04:\n\ - ldr r4, [sp, 0x24]\n\ - ldr r1, [sp, 0x10]\n\ - adds r0, r4, r1\n\ - lsls r0, 1\n\ - adds r0, r3, r0\n\ - adds r0, r2, r0\n\ - ldrh r1, [r0]\n\ - ldr r0, =gStringVar4\n\ - movs r2, 0x1\n\ - movs r3, 0x4\n\ - bl ConvertIntToDecimalStringN\n\ - ldr r0, =gUnknown_082F43B4\n\ - adds r0, r4, r0\n\ - ldr r1, [r0]\n\ - ldr r0, =gStringVar4\n\ - bl StringAppend\n\ - ldr r4, [sp, 0x14]\n\ - subs r4, 0x4\n\ - lsls r2, r6, 24\n\ - mov r10, r2\n\ - ldr r3, [sp, 0x1C]\n\ - adds r3, 0xA2\n\ - mov r9, r3\n\ - ldr r0, [sp, 0x18]\n\ - lsls r0, 5\n\ - mov r8, r0\n\ - b _08021C5A\n\ - .pool\n\ - _08021B48:\n\ - ldr r1, [sp, 0x20]\n\ - adds r0, r1, r5\n\ - adds r0, 0x28\n\ - ldrb r0, [r0]\n\ - str r0, [sp, 0x18]\n\ - lsls r3, r5, 1\n\ - adds r2, r1, 0\n\ - adds r2, 0xC\n\ - cmp r5, 0\n\ - beq _08021B72\n\ - adds r0, r3, 0\n\ - adds r0, 0xA\n\ - adds r0, r2, r0\n\ - adds r1, r3, 0\n\ - adds r1, 0x8\n\ - adds r1, r2, r1\n\ - ldrh r0, [r0]\n\ - ldrh r1, [r1]\n\ - cmp r0, r1\n\ - beq _08021B72\n\ - str r5, [sp, 0x1C]\n\ - _08021B72:\n\ - ldr r0, [sp, 0x24]\n\ - ldr r1, [sp, 0x10]\n\ - adds r4, r0, r1\n\ - lsls r4, 1\n\ - adds r4, r3, r4\n\ - adds r4, r2, r4\n\ - ldrh r1, [r4]\n\ - lsrs r1, 4\n\ - ldr r0, =gStringVar1\n\ - movs r2, 0x1\n\ - movs r3, 0x3\n\ - bl ConvertIntToDecimalStringN\n\ - movs r7, 0\n\ - ldrb r0, [r4]\n\ - movs r3, 0xF\n\ - ands r3, r0\n\ - movs r2, 0\n\ - ldr r4, [sp, 0x10]\n\ - lsls r4, 2\n\ - str r4, [sp, 0x28]\n\ - ldr r4, [sp, 0x14]\n\ - subs r4, 0x4\n\ - lsls r0, r6, 24\n\ - mov r10, r0\n\ - ldr r1, [sp, 0x1C]\n\ - adds r1, 0xA2\n\ - mov r9, r1\n\ - ldr r0, [sp, 0x18]\n\ - lsls r0, 5\n\ - mov r8, r0\n\ - adds r6, 0xE\n\ - adds r5, 0x1\n\ - ldr r1, =gUnknown_082F334C\n\ - mov r12, r1\n\ - _08021BB8:\n\ - movs r0, 0x3\n\ - subs r1, r0, r2\n\ - adds r0, r3, 0\n\ - asrs r0, r1\n\ - movs r1, 0x1\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - beq _08021BD0\n\ - lsls r0, r2, 2\n\ - add r0, r12\n\ - ldr r0, [r0]\n\ - adds r7, r0\n\ - _08021BD0:\n\ - adds r0, r2, 0x1\n\ - lsls r0, 24\n\ - lsrs r2, r0, 24\n\ - cmp r2, 0x3\n\ - bls _08021BB8\n\ - adds r0, r7, 0\n\ - ldr r1, =0x000f4240\n\ - bl __udivsi3\n\ - lsls r0, 24\n\ - lsrs r3, r0, 24\n\ - ldr r0, =gStringVar2\n\ - adds r1, r3, 0\n\ - movs r2, 0x2\n\ - movs r3, 0x2\n\ - bl ConvertIntToDecimalStringN\n\ - ldr r0, =gUnknown_082F43B4\n\ - ldr r2, [sp, 0x28]\n\ - adds r0, r2, r0\n\ - ldr r1, [r0]\n\ - ldr r0, =gStringVar4\n\ - bl StringExpandPlaceholders\n\ - b _08021C5E\n\ - .pool\n\ - _08021C1C:\n\ - str r5, [sp, 0x18]\n\ - str r5, [sp, 0x1C]\n\ - lsls r7, r5, 5\n\ - ldr r3, [sp, 0xC]\n\ - adds r0, r3, r7\n\ - adds r0, 0xA4\n\ - ldrb r2, [r0]\n\ - cmp r2, 0x2B\n\ - bls _08021C30\n\ - movs r2, 0\n\ - _08021C30:\n\ - lsls r1, r2, 3\n\ - subs r1, r2\n\ - lsls r1, 2\n\ - ldr r0, =gBerries\n\ - adds r1, r0\n\ - ldr r0, =gStringVar1\n\ - bl StringCopy\n\ - ldr r0, =gUnknown_082F43B4\n\ - ldr r1, [r0, 0x8]\n\ - ldr r0, =gStringVar4\n\ - bl StringExpandPlaceholders\n\ - ldr r4, [sp, 0x14]\n\ - subs r4, 0x4\n\ - lsls r0, r6, 24\n\ - mov r10, r0\n\ - movs r1, 0xA2\n\ - adds r1, r5\n\ - mov r9, r1\n\ - mov r8, r7\n\ - _08021C5A:\n\ - adds r6, 0xE\n\ - adds r5, 0x1\n\ - _08021C5E:\n\ - movs r0, 0x2\n\ - ldr r1, =gStringVar4\n\ - adds r2, r4, 0\n\ - bl GetStringRightAlignXOffset\n\ - adds r2, r0, 0\n\ - ldr r3, [sp, 0xC]\n\ - movs r4, 0xDD\n\ - lsls r4, 1\n\ - adds r0, r3, r4\n\ - ldrb r0, [r0]\n\ - lsls r2, 24\n\ - lsrs r2, 24\n\ - mov r1, r10\n\ - lsrs r3, r1, 24\n\ - ldr r1, =sBerryCrushTextColors1\n\ - str r1, [sp]\n\ - movs r4, 0\n\ - str r4, [sp, 0x4]\n\ - ldr r1, =gStringVar4\n\ - str r1, [sp, 0x8]\n\ - movs r1, 0x2\n\ - bl AddTextPrinterParameterized3\n\ - ldr r3, [sp, 0x18]\n\ - ldr r2, [sp, 0xC]\n\ - ldrb r2, [r2, 0x8]\n\ - cmp r3, r2\n\ - bne _08021CC0\n\ - ldr r0, =gStringVar3\n\ - ldr r1, =gText_1DotBlueF700\n\ - bl StringCopy\n\ - b _08021CC8\n\ - .pool\n\ - _08021CC0:\n\ - ldr r0, =gStringVar3\n\ - ldr r1, =gText_1DotF700\n\ - bl StringCopy\n\ - _08021CC8:\n\ - ldr r4, =gStringVar3\n\ - mov r3, r9\n\ - strb r3, [r4]\n\ - mov r1, r8\n\ - adds r1, 0x98\n\ - ldr r0, [sp, 0xC]\n\ - adds r1, r0, r1\n\ - movs r0, 0\n\ - bl DynamicPlaceholderTextUtil_SetPlaceholderPtr\n\ - ldr r0, =gStringVar4\n\ - adds r1, r4, 0\n\ - bl DynamicPlaceholderTextUtil_ExpandPlaceholders\n\ - ldr r1, [sp, 0xC]\n\ - movs r2, 0xDD\n\ - lsls r2, 1\n\ - adds r0, r1, r2\n\ - ldrb r0, [r0]\n\ - mov r4, r10\n\ - lsrs r3, r4, 24\n\ - ldr r1, =sBerryCrushTextColors1\n\ - str r1, [sp]\n\ - movs r1, 0\n\ - str r1, [sp, 0x4]\n\ - ldr r2, =gStringVar4\n\ - str r2, [sp, 0x8]\n\ - movs r1, 0x2\n\ - movs r2, 0x4\n\ - bl AddTextPrinterParameterized3\n\ - lsls r0, r5, 24\n\ - lsrs r5, r0, 24\n\ - ldr r3, [sp, 0xC]\n\ - ldrb r3, [r3, 0x9]\n\ - cmp r5, r3\n\ - bcs _08021D14\n\ - b _08021A98\n\ - _08021D14:\n\ - add sp, 0x2C\n\ - pop {r3-r5}\n\ - mov r8, r3\n\ - mov r9, r4\n\ - mov r10, r5\n\ - pop {r4-r7}\n\ - pop {r0}\n\ - bx r0\n\ - .pool"); -} -#endif void sub_8021D34(struct BerryCrushGame *r8) { @@ -1339,24 +1479,24 @@ void sub_8021D34(struct BerryCrushGame *r8) u8 r7 = GetWindowAttribute(r8->unk138.unk82, WINDOW_HEIGHT) * 8 - 42; sub_8021944(&r8->unk138, sp10->as_four_players.unk00.unk04); - AddTextPrinterParameterized3(r8->unk138.unk82, 2, r6, r7, sBerryCrushTextColors1[0], 0, gText_TimeColon); + AddTextPrinterParameterized3(r8->unk138.unk82, 2, r6, r7, sBerryCrushTextColorTable[0], 0, gText_TimeColon); r6 = 176 - (u8)GetStringWidth(2, gText_SpaceSec, -1); - AddTextPrinterParameterized3(r8->unk138.unk82, 2, r6, r7, sBerryCrushTextColors1[0], 0, gText_SpaceSec); + AddTextPrinterParameterized3(r8->unk138.unk82, 2, r6, r7, sBerryCrushTextColorTable[0], 0, gText_SpaceSec); ConvertIntToDecimalStringN(gStringVar1, r8->unk138.unk6, STR_CONV_MODE_LEADING_ZEROS, 2); ConvertIntToDecimalStringN(gStringVar2, r8->unk138.unk8, STR_CONV_MODE_LEADING_ZEROS, 2); StringExpandPlaceholders(gStringVar4, gText_XDotY2); r6 -= GetStringWidth(2, gStringVar4, -1); - AddTextPrinterParameterized3(r8->unk138.unk82, 2, r6, r7, sBerryCrushTextColors1[0], 0, gStringVar4); + AddTextPrinterParameterized3(r8->unk138.unk82, 2, r6, r7, sBerryCrushTextColorTable[0], 0, gStringVar4); r6 -= GetStringWidth(2, gText_SpaceMin, -1); - AddTextPrinterParameterized3(r8->unk138.unk82, 2, r6, r7, sBerryCrushTextColors1[0], 0, gText_SpaceMin); + AddTextPrinterParameterized3(r8->unk138.unk82, 2, r6, r7, sBerryCrushTextColorTable[0], 0, gText_SpaceMin); ConvertIntToDecimalStringN(gStringVar1, r8->unk138.unk4, STR_CONV_MODE_LEADING_ZEROS, 1); StringExpandPlaceholders(gStringVar4, gText_StrVar1); r6 -= GetStringWidth(2, gStringVar4, -1); - AddTextPrinterParameterized3(r8->unk138.unk82, 2, r6, r7, sBerryCrushTextColors1[0], 0, gStringVar4); + AddTextPrinterParameterized3(r8->unk138.unk82, 2, r6, r7, sBerryCrushTextColorTable[0], 0, gStringVar4); r7 += 14; - AddTextPrinterParameterized3(r8->unk138.unk82, 2, 0, r7, sBerryCrushTextColors1[0], 0, gText_PressingSpeed); + AddTextPrinterParameterized3(r8->unk138.unk82, 2, 0, r7, sBerryCrushTextColorTable[0], 0, gText_PressingSpeed); r6 = 176 - (u8)GetStringWidth(2, gText_TimesPerSec, -1); - AddTextPrinterParameterized3(r8->unk138.unk82, 2, r6, r7, sBerryCrushTextColors1[0], 0, gText_TimesPerSec); + AddTextPrinterParameterized3(r8->unk138.unk82, 2, r6, r7, sBerryCrushTextColorTable[0], 0, gText_TimesPerSec); for (; r10 < 8; ++r10) if (((u8)r8->unk16 >> (7 - r10)) & 1) sp0C += *(r10 + gUnknown_082F334C); // It's accessed in a different way here for unknown reason @@ -1365,15 +1505,15 @@ void sub_8021D34(struct BerryCrushGame *r8) StringExpandPlaceholders(gStringVar4, gText_XDotY3); r6 -= GetStringWidth(2, gStringVar4, -1); if (r8->unk25_1) - AddTextPrinterParameterized3(r8->unk138.unk82, 2, r6, r7, sBerryCrushTextColors4, 0, gStringVar4); + AddTextPrinterParameterized3(r8->unk138.unk82, 2, r6, r7, sBerryCrushTextColorTable[5], 0, gStringVar4); else - AddTextPrinterParameterized3(r8->unk138.unk82, 2, r6, r7, sBerryCrushTextColors1[0], 0, gStringVar4); + AddTextPrinterParameterized3(r8->unk138.unk82, 2, r6, r7, sBerryCrushTextColorTable[0], 0, gStringVar4); r7 += 14; - AddTextPrinterParameterized3(r8->unk138.unk82, 2, 0, r7, sBerryCrushTextColors1[0], 0, gText_Silkiness); + AddTextPrinterParameterized3(r8->unk138.unk82, 2, 0, r7, sBerryCrushTextColorTable[0], 0, gText_Silkiness); ConvertIntToDecimalStringN(gStringVar1, sp10->as_four_players.unk00.unk08, STR_CONV_MODE_RIGHT_ALIGN, 3); StringExpandPlaceholders(gStringVar4, gText_Var1Percent); r6 = 176 - (u8)GetStringWidth(2, gStringVar4, -1); - AddTextPrinterParameterized3(r8->unk138.unk82, 2, r6, r7, sBerryCrushTextColors1[0], 0, gStringVar4); + AddTextPrinterParameterized3(r8->unk138.unk82, 2, r6, r7, sBerryCrushTextColorTable[0], 0, gStringVar4); } bool32 sub_8022070(struct BerryCrushGame *r4, struct BerryCrushGame_138 *r6) @@ -1386,7 +1526,7 @@ bool32 sub_8022070(struct BerryCrushGame *r4, struct BerryCrushGame_138 *r6) case 0: r5 = r4->unk9 - 2; sub_8022554(r6); - memcpy(&template, &gUnknown_082F32CC[r4->unk12], sizeof(struct WindowTemplate)); + memcpy(&template, &gUnknown_082F3324[r4->unk12 - 11], sizeof(struct WindowTemplate)); if (r4->unk12 == 13) template.height = gUnknown_082F3344[1][r5]; else @@ -1468,7 +1608,7 @@ void sub_8022250(u8 r4) 1, r7, 1, - sBerryCrushTextColorTable[0], + sBerryCrushTextColorTable[3], 0, r10_ ); @@ -1479,7 +1619,7 @@ void sub_8022250(u8 r4) 1, r7, 17, - sBerryCrushTextColorTable[0], + sBerryCrushTextColorTable[3], 0, r10_ ); @@ -1493,7 +1633,7 @@ void sub_8022250(u8 r4) 1, 0, r10, - sBerryCrushTextColors1[0], + sBerryCrushTextColorTable[0], 0, gStringVar4 ); @@ -1503,7 +1643,7 @@ void sub_8022250(u8 r4) 1, r7, r10, - sBerryCrushTextColors1[0], + sBerryCrushTextColorTable[0], 0, gText_TimesPerSec ); @@ -1519,7 +1659,7 @@ void sub_8022250(u8 r4) 1, r7, r10, - sBerryCrushTextColors1[0], + sBerryCrushTextColorTable[0], 0, gStringVar4 ); @@ -1605,7 +1745,7 @@ void sub_8022600(struct BerryCrushGame *r6) 1, 0, 0, - sBerryCrushTextColors2[0], + sBerryCrushTextColorTable[1], 0, PLAYER_UNK14(r6, r7) ); @@ -1619,7 +1759,7 @@ void sub_8022600(struct BerryCrushGame *r6) 1, 0, 0, - sBerryCrushTextColors3[0], + sBerryCrushTextColorTable[2], 0, PLAYER_UNK14(r6, r7) ); @@ -1668,7 +1808,7 @@ void sub_8022730(struct BerryCrushGame *r6) gSpriteCoordOffsetY = -104; for (; r5 < 4; ++r5) LoadCompressedSpriteSheet(&gUnknown_082F41F4[r5]); - LoadSpritePalettes(&gUnknown_082F421C); + LoadSpritePalettes(gUnknown_082F421C); r2 = CreateSprite(&gUnknown_082F430C, 120, 88, 5); r6->unk138.unk20 = &gSprites[r2]; r6->unk138.unk20->oam.priority = 3; @@ -1746,7 +1886,7 @@ void sub_8022960(struct BerryCrushGame *r5) DestroySprite(r5->unk138.unk20); } -void sub_8022A20(struct Sprite *sprite) +static void sub_8022A20(struct Sprite *sprite) { if (sprite->animEnded) { @@ -1839,7 +1979,7 @@ void sub_8022BEC(u16 r5, u8 r4, u8 *r7) } } -u32 sub_8022C58(struct BerryCrushGame *r6, u8 *r1) +static u32 sub_8022C58(struct BerryCrushGame *r6, u8 *r1) { u16 r4; u32 r0; @@ -1875,7 +2015,7 @@ u32 sub_8022C58(struct BerryCrushGame *r6, u8 *r1) return 0; } -u32 sub_8022CB0(struct BerryCrushGame *r4, u8 *r5) +static u32 sub_8022CB0(struct BerryCrushGame *r4, u8 *r5) { switch (r4->unkC) { @@ -1908,7 +2048,7 @@ u32 sub_8022CB0(struct BerryCrushGame *r4, u8 *r5) } } -u32 sub_8022D14(struct BerryCrushGame *r7, u8 *r5) +static u32 sub_8022D14(struct BerryCrushGame *r7, u8 *r5) { u16 r4 = r5[3]; @@ -1952,21 +2092,21 @@ u32 sub_8022D14(struct BerryCrushGame *r7, u8 *r5) return 0; } -u32 sub_8022E1C(struct BerryCrushGame *r4, __attribute__((unused)) u8 *r1) +static u32 sub_8022E1C(struct BerryCrushGame *r4, __attribute__((unused)) u8 *r1) { if (sub_802104C() != 0) sub_8022BEC(r4->unkE, 0, r4->unk36); return 0; } -u32 sub_8022E3C(struct BerryCrushGame *r4, __attribute__((unused)) u8 *r1) +static u32 sub_8022E3C(struct BerryCrushGame *r4, __attribute__((unused)) u8 *r1) { if (sub_802130C() != 0) sub_8022BEC(r4->unkE, 0, r4->unk36); return 0; } -u32 sub_8022E5C(struct BerryCrushGame *r4, __attribute__((unused)) u8 *r1) +static u32 sub_8022E5C(struct BerryCrushGame *r4, __attribute__((unused)) u8 *r1) { switch (r4->unkC) { @@ -1987,7 +2127,7 @@ u32 sub_8022E5C(struct BerryCrushGame *r4, __attribute__((unused)) u8 *r1) return 0; } -u32 sub_8022EAC(struct BerryCrushGame *r4, u8 *r5) +static u32 sub_8022EAC(struct BerryCrushGame *r4, u8 *r5) { switch (r4->unkC) { @@ -2009,14 +2149,14 @@ u32 sub_8022EAC(struct BerryCrushGame *r4, u8 *r5) return 0; } -u32 sub_8022F04(struct BerryCrushGame *r0, __attribute__((unused)) u8 *r1) +static u32 sub_8022F04(struct BerryCrushGame *r0, __attribute__((unused)) u8 *r1) { r0->unk4 = NULL; SetMainCallback2(sub_8020E1C); return 0; } -u32 sub_8022F1C(struct BerryCrushGame *r5, u8 *r2) +static u32 sub_8022F1C(struct BerryCrushGame *r5, u8 *r2) { u8 r3; @@ -2068,7 +2208,7 @@ u32 sub_8022F1C(struct BerryCrushGame *r5, u8 *r2) return 0; } -u32 sub_8023070(struct BerryCrushGame *r4, __attribute__((unused)) u8 *r1) +static u32 sub_8023070(struct BerryCrushGame *r4, __attribute__((unused)) u8 *r1) { switch (r4->unkC) { @@ -2123,7 +2263,7 @@ u32 sub_8023070(struct BerryCrushGame *r4, __attribute__((unused)) u8 *r1) return 0; } -u32 sub_80231B8(struct BerryCrushGame *r4, __attribute__((unused)) u8 *r1) +static u32 sub_80231B8(struct BerryCrushGame *r4, __attribute__((unused)) u8 *r1) { switch (r4->unkC) { @@ -2170,7 +2310,7 @@ u32 sub_80231B8(struct BerryCrushGame *r4, __attribute__((unused)) u8 *r1) return 0; } -u32 sub_80232EC(struct BerryCrushGame *r4, __attribute__((unused)) u8 *r1) +static u32 sub_80232EC(struct BerryCrushGame *r4, __attribute__((unused)) u8 *r1) { switch (r4-> unkC) { @@ -2459,7 +2599,7 @@ void sub_802385C(struct BerryCrushGame *r5) } } -u32 sub_80238F0(struct BerryCrushGame *r4, __attribute__((unused)) u8 *r1) +static u32 sub_80238F0(struct BerryCrushGame *r4, __attribute__((unused)) u8 *r1) { memset(&r4->unk5C, 0, sizeof(r4->unk5C)); memset(&r4->unk40.unkE, 0, sizeof(r4->unk40.unkE)); @@ -2492,7 +2632,7 @@ u32 sub_80238F0(struct BerryCrushGame *r4, __attribute__((unused)) u8 *r1) } } -u32 sub_8023998(struct BerryCrushGame *r4, __attribute__((unused)) u8 *r1) +static u32 sub_8023998(struct BerryCrushGame *r4, __attribute__((unused)) u8 *r1) { memset(&r4->unk5C, 0, sizeof(r4->unk5C)); memset(&r4->unk40.unkE, 0, sizeof(r4->unk40.unkE)); @@ -2522,7 +2662,7 @@ u32 sub_8023998(struct BerryCrushGame *r4, __attribute__((unused)) u8 *r1) } } -u32 sub_8023A30(struct BerryCrushGame *r4, __attribute__((unused)) u8 *r1) +static u32 sub_8023A30(struct BerryCrushGame *r4, __attribute__((unused)) u8 *r1) { switch (r4->unkC) { @@ -2579,7 +2719,7 @@ u32 sub_8023A30(struct BerryCrushGame *r4, __attribute__((unused)) u8 *r1) return 0; } -u32 sub_8023BC0(struct BerryCrushGame *r5, u8 *r6) +static u32 sub_8023BC0(struct BerryCrushGame *r5, u8 *r6) { switch (r5->unkC) { @@ -2619,7 +2759,7 @@ u32 sub_8023BC0(struct BerryCrushGame *r5, u8 *r6) return 0; } -u32 sub_8023CAC(struct BerryCrushGame *r7, __attribute__((unused)) u8 *r1) +static u32 sub_8023CAC(struct BerryCrushGame *r7, __attribute__((unused)) u8 *r1) { u8 r8, r4_; s32 r2; @@ -2809,7 +2949,7 @@ u32 sub_8023CAC(struct BerryCrushGame *r7, __attribute__((unused)) u8 *r1) return 0; } -u32 sub_8024048(struct BerryCrushGame *r5, u8 *r6) +static u32 sub_8024048(struct BerryCrushGame *r5, u8 *r6) { switch (r5->unkC) { @@ -2853,7 +2993,7 @@ u32 sub_8024048(struct BerryCrushGame *r5, u8 *r6) return 0; } -u32 sub_8024134(struct BerryCrushGame *r5, u8 *r4) +static u32 sub_8024134(struct BerryCrushGame *r5, u8 *r4) { switch (r5->unkC) { @@ -2890,7 +3030,7 @@ u32 sub_8024134(struct BerryCrushGame *r5, u8 *r4) return 0; } -u32 sub_8024228(struct BerryCrushGame *r5, u8 *r6) +static u32 sub_8024228(struct BerryCrushGame *r5, u8 *r6) { s32 r4; #ifndef NONMATCHING @@ -2938,7 +3078,7 @@ u32 sub_8024228(struct BerryCrushGame *r5, u8 *r6) return 0; } -u32 sub_80242E0(struct BerryCrushGame *r4, __attribute__((unused)) u8 *r1) +static u32 sub_80242E0(struct BerryCrushGame *r4, __attribute__((unused)) u8 *r1) { u8 r5 = 0; @@ -2979,7 +3119,7 @@ u32 sub_80242E0(struct BerryCrushGame *r4, __attribute__((unused)) u8 *r1) return 0; } -u32 sub_80243BC(struct BerryCrushGame *r5, __attribute__((unused)) u8 *r1) +static u32 sub_80243BC(struct BerryCrushGame *r5, __attribute__((unused)) u8 *r1) { switch (r5->unkC) { @@ -3009,7 +3149,7 @@ u32 sub_80243BC(struct BerryCrushGame *r5, __attribute__((unused)) u8 *r1) return 0; } -u32 sub_8024444(struct BerryCrushGame *r5, __attribute__((unused)) u8 *r1) +static u32 sub_8024444(struct BerryCrushGame *r5, __attribute__((unused)) u8 *r1) { switch (r5->unkC) { @@ -3040,7 +3180,7 @@ u32 sub_8024444(struct BerryCrushGame *r5, __attribute__((unused)) u8 *r1) return 0; } -u32 sub_8024508(struct BerryCrushGame *r5, __attribute__((unused)) u8 *r1) +static u32 sub_8024508(struct BerryCrushGame *r5, __attribute__((unused)) u8 *r1) { switch (r5->unkC) { @@ -3064,7 +3204,7 @@ u32 sub_8024508(struct BerryCrushGame *r5, __attribute__((unused)) u8 *r1) return 0; } -u32 sub_8024568(__attribute__((unused)) struct BerryCrushGame *r0, __attribute__((unused)) u8 *r1) +static u32 sub_8024568(__attribute__((unused)) struct BerryCrushGame *r0, __attribute__((unused)) u8 *r1) { sub_8020C0C(NULL); return 0; diff --git a/src/unk_81BAD84.c b/src/berry_fix_graphics.c index adf43bb90..b37645d4c 100644 --- a/src/unk_81BAD84.c +++ b/src/berry_fix_graphics.c @@ -1,11 +1,12 @@ #include "global.h" #include "graphics.h" -const struct { +// Duplicate of sBerryFixGraphics in berry_fix_program.c +static const struct { const u32 *gfx; - const u32 *tileMap; + const u32 *tilemap; const u16 *pltt; -} gUnknown_08617128[] = { +} sBerryFixGraphics[] = { { gBerryFixGameboy_Gfx, gBerryFixGameboy_Tilemap, @@ -33,15 +34,16 @@ const struct { } }; -void sub_81BAD84(u32 idx) +// Unused. See berry_fix_program.c +static void LoadBerryFixGraphics(u32 idx) { - REG_DISPCNT = 0x0000; - REG_BG0HOFS = 0x0000; - REG_BG0VOFS = 0x0000; - REG_BLDCNT = 0x0000; - LZ77UnCompVram(gUnknown_08617128[idx].gfx, (void *)BG_CHAR_ADDR(0)); - LZ77UnCompVram(gUnknown_08617128[idx].tileMap, (void *)BG_SCREEN_ADDR(31)); - CpuCopy16(gUnknown_08617128[idx].pltt, (void *)PLTT, 0x200); + REG_DISPCNT = 0; + REG_BG0HOFS = 0; + REG_BG0VOFS = 0; + REG_BLDCNT = 0; + LZ77UnCompVram(sBerryFixGraphics[idx].gfx, (void *)BG_CHAR_ADDR(0)); + LZ77UnCompVram(sBerryFixGraphics[idx].tilemap, (void *)BG_SCREEN_ADDR(31)); + CpuCopy16(sBerryFixGraphics[idx].pltt, (void *)PLTT, 0x200); REG_BG0CNT = 0x1f00; REG_DISPCNT = DISPCNT_BG0_ON; } diff --git a/src/berry_fix_program.c b/src/berry_fix_program.c index f42531f15..dcc21d036 100644 --- a/src/berry_fix_program.c +++ b/src/berry_fix_program.c @@ -47,20 +47,65 @@ static const u8 sText_TransmittingPleaseWait[] = _("Transmitting. Please wait.\n static const u8 sText_PleaseFollowInstructionsOnScreen[] = _("Please follow the instructions on your\nPOKéMON Ruby/Sapphire screen."); static const u8 sText_TransmissionFailureTryAgain[] = _("Transmission failure.\n{COLOR RED}{SHADOW LIGHT_RED}Please try again."); -static const struct BgTemplate gUnknown_08618108[] = { +static const struct BgTemplate sBerryFixBgTemplates[] = { { - 0, 0, 30, 0, 0, 0 - }, { - 1, 1, 31, 0, 0, 1 + .bg = 0, + .charBaseIndex = 0, + .mapBaseIndex = 30, + .screenSize = 0, + .paletteMode = 0, + .priority = 0, + .baseTile = 0 + }, + { + .bg = 1, + .charBaseIndex = 1, + .mapBaseIndex = 31, + .screenSize = 0, + .paletteMode = 0, + .priority = 1, + .baseTile = 0 } }; -static const struct WindowTemplate gUnknown_08618110[] = { - {0, 2, 4, 26, 2, 15, 0x001}, - {0, 1, 11, 28, 8, 15, 0x035}, - {0, 0, 8, 30, 2, 15, 0x115}, - {0, 8, 0, 14, 2, 15, 0x151}, - {-1} +static const struct WindowTemplate sBerryFixWindowTemplates[] = { + { + .bg = 0, + .tilemapLeft = 2, + .tilemapTop = 4, + .width = 26, + .height = 2, + .paletteNum = 15, + .baseBlock = 1 + }, + { + .bg = 0, + .tilemapLeft = 1, + .tilemapTop = 11, + .width = 28, + .height = 8, + .paletteNum = 15, + .baseBlock = 53 + }, + { + .bg = 0, + .tilemapLeft = 0, + .tilemapTop = 8, + .width = 30, + .height = 2, + .paletteNum = 15, + .baseBlock = 277 + }, + { + .bg = 0, + .tilemapLeft = 8, + .tilemapTop = 0, + .width = 14, + .height = 2, + .paletteNum = 15, + .baseBlock = 337 + }, + DUMMY_WIN_TEMPLATE }; static const u16 sUnknown_08618138[] = { @@ -82,7 +127,12 @@ static const u8 *const sBerryProgramTexts[] = { sText_BerryProgramWillBeUpdatedPressA }; -static const void *const gUnknown_08618178[][3] = { + +static const struct { + const u32 *gfx; + const u32 *tilemap; + const u16 *pltt; +} sBerryFixGraphics[] = { { gBerryFixGameboy_Gfx, gBerryFixGameboy_Tilemap, @@ -117,8 +167,8 @@ extern const u8 gMultiBootProgram_BerryGlitchFix_End[]; void CB2_InitBerryFixProgram(void) { - DisableInterrupts(0xFFFF); - EnableInterrupts(0x0001); + DisableInterrupts(0xFFFF); // all + EnableInterrupts(INTR_FLAG_VBLANK); m4aSoundVSyncOff(); SetVBlankCallback(NULL); ResetSpriteData(); @@ -216,12 +266,12 @@ static void berry_fix_gpu_set(void) DmaFill32(3, 0, PLTT, PLTT_SIZE); ResetBgsAndClearDma3BusyFlags(0); - InitBgsFromTemplates(0, gUnknown_08618108, ARRAY_COUNT(gUnknown_08618108)); + InitBgsFromTemplates(0, sBerryFixBgTemplates, ARRAY_COUNT(sBerryFixBgTemplates)); ChangeBgX(0, 0, 0); ChangeBgY(0, 0, 0); ChangeBgX(1, 0, 0); ChangeBgY(1, 0, 0); - InitWindows(gUnknown_08618110); + InitWindows(sBerryFixWindowTemplates); DeactivateAllTextPrinters(); DmaCopy32(3, sUnknown_08618138, BG_PLTT + 0x1E0, 0x20); @@ -293,9 +343,9 @@ static void berry_fix_text_print(int scene) break; } CopyBgTilemapBufferToVram(0); - LZ77UnCompVram(gUnknown_08618178[scene][0], (void *)BG_CHAR_ADDR(1)); - LZ77UnCompVram(gUnknown_08618178[scene][1], (void *)BG_SCREEN_ADDR(31)); - CpuCopy32(gUnknown_08618178[scene][2], (void *)BG_PLTT, 0x100); + LZ77UnCompVram(sBerryFixGraphics[scene].gfx, (void *)BG_CHAR_ADDR(1)); + LZ77UnCompVram(sBerryFixGraphics[scene].tilemap, (void *)BG_SCREEN_ADDR(31)); + CpuCopy32(sBerryFixGraphics[scene].pltt, (void *)BG_PLTT, 0x100); ShowBg(0); ShowBg(1); } diff --git a/src/berry_powder.c b/src/berry_powder.c index 91f9d0d4e..50d280f0a 100755 --- a/src/berry_powder.c +++ b/src/berry_powder.c @@ -14,6 +14,118 @@ static EWRAM_DATA u8 sBerryPowderVendorWindowId = 0; +// Unused +static const struct BgTemplate sBerryPowderBgTemplates[] = +{ + { + .bg = 0, + .charBaseIndex = 0, + .mapBaseIndex = 30, + .screenSize = 0, + .paletteMode = 0, + .priority = 0, + .baseTile = 0 + }, + { + .bg = 1, + .charBaseIndex = 2, + .mapBaseIndex = 12, + .screenSize = 1, + .paletteMode = 0, + .priority = 1, + .baseTile = 0 + }, + { + .bg = 2, + .charBaseIndex = 2, + .mapBaseIndex = 14, + .screenSize = 1, + .paletteMode = 0, + .priority = 1, + .baseTile = 0 + }, + { + .bg = 3, + .charBaseIndex = 3, + .mapBaseIndex = 31, + .screenSize = 0, + .paletteMode = 0, + .priority = 2, + .baseTile = 0 + }, +}; + +// ? Part of the BG templates? +static const u32 sUnknown[] = {0xFF, 0x00}; + +// Unused +static const struct WindowTemplate sBerryPowderWindowTemplates[] = +{ + { + .bg = 0, + .tilemapLeft = 1, + .tilemapTop = 1, + .width = 28, + .height = 2, + .paletteNum = 13, + .baseBlock = 19 + }, + { + .bg = 0, + .tilemapLeft = 1, + .tilemapTop = 5, + .width = 28, + .height = 14, + .paletteNum = 13, + .baseBlock = 75 + }, + { + .bg = 0, + .tilemapLeft = 1, + .tilemapTop = 5, + .width = 28, + .height = 7, + .paletteNum = 13, + .baseBlock = 75 + }, + { + .bg = 0, + .tilemapLeft = 1, + .tilemapTop = 8, + .width = 19, + .height = 3, + .paletteNum = 13, + .baseBlock = 19 + }, + { + .bg = 0, + .tilemapLeft = 22, + .tilemapTop = 7, + .width = 6, + .height = 4, + .paletteNum = 13, + .baseBlock = 76 + }, + { + .bg = 0, + .tilemapLeft = 4, + .tilemapTop = 6, + .width = 22, + .height = 5, + .paletteNum = 13, + .baseBlock = 19 + }, + { + .bg = 0, + .tilemapLeft = 5, + .tilemapTop = 8, + .width = 19, + .height = 3, + .paletteNum = 13, + .baseBlock = 19 + }, +}; + static u32 DecryptBerryPowder(u32 *powder) { return *powder ^ gSaveBlock2Ptr->encryptionKey; diff --git a/src/bike.c b/src/bike.c index 7397fed40..15857778c 100644 --- a/src/bike.c +++ b/src/bike.c @@ -46,7 +46,7 @@ static void Bike_UpdateDirTimerHistory(u8); static void Bike_UpdateABStartSelectHistory(u8); static u8 Bike_DPadToDirection(u16); static u8 GetBikeCollision(u8); -static u8 GetBikeCollisionAt(struct EventObject *, s16, s16, u8, u8); +static u8 GetBikeCollisionAt(struct ObjectEvent *, s16, s16, u8, u8); static bool8 IsRunningDisallowedByMetatile(u8); static void Bike_TryAdvanceCyclingRoadCollisions(); static u8 CanBikeFaceDirOnMetatile(u8, u8); @@ -186,31 +186,31 @@ static void MachBikeTransition_FaceDirection(u8 direction) static void MachBikeTransition_TurnDirection(u8 direction) { - struct EventObject *playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId]; + struct ObjectEvent *playerObjEvent = &gObjectEvents[gPlayerAvatar.objectEventId]; - if (CanBikeFaceDirOnMetatile(direction, playerEventObj->currentMetatileBehavior)) + if (CanBikeFaceDirOnMetatile(direction, playerObjEvent->currentMetatileBehavior)) { PlayerTurnInPlace(direction); Bike_SetBikeStill(); } else { - MachBikeTransition_FaceDirection(playerEventObj->facingDirection); + MachBikeTransition_FaceDirection(playerObjEvent->facingDirection); } } static void MachBikeTransition_TrySpeedUp(u8 direction) { - struct EventObject *playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId]; + struct ObjectEvent *playerObjEvent = &gObjectEvents[gPlayerAvatar.objectEventId]; u8 collision; - if (CanBikeFaceDirOnMetatile(direction, playerEventObj->currentMetatileBehavior) == FALSE) + if (CanBikeFaceDirOnMetatile(direction, playerObjEvent->currentMetatileBehavior) == FALSE) { // we cannot go forward, so either slow down or, if we are stopped, idle face direction. if (gPlayerAvatar.bikeSpeed) - MachBikeTransition_TrySlowDown(playerEventObj->movementDirection); + MachBikeTransition_TrySlowDown(playerObjEvent->movementDirection); else - MachBikeTransition_FaceDirection(playerEventObj->movementDirection); + MachBikeTransition_FaceDirection(playerObjEvent->movementDirection); } else { @@ -226,7 +226,7 @@ static void MachBikeTransition_TrySpeedUp(u8 direction) { // we hit a solid object that is not a ledge, so perform the collision. Bike_SetBikeStill(); - if (collision == COLLISION_EVENT_OBJECT && IsPlayerCollidingWithFarawayIslandMew(direction)) + if (collision == COLLISION_OBJECT_EVENT && IsPlayerCollidingWithFarawayIslandMew(direction)) PlayerOnBikeCollideWithFarawayIslandMew(direction); else if (collision < COLLISION_STOP_SURFING || collision > COLLISION_ROTATING_GATE) PlayerOnBikeCollide(direction); @@ -261,7 +261,7 @@ static void MachBikeTransition_TrySlowDown(u8 direction) else { Bike_SetBikeStill(); - if (collision == COLLISION_EVENT_OBJECT && IsPlayerCollidingWithFarawayIslandMew(direction)) + if (collision == COLLISION_OBJECT_EVENT && IsPlayerCollidingWithFarawayIslandMew(direction)) PlayerOnBikeCollideWithFarawayIslandMew(direction); else if (collision < COLLISION_STOP_SURFING || collision > COLLISION_ROTATING_GATE) PlayerOnBikeCollide(direction); @@ -366,10 +366,10 @@ static u8 AcroBikeHandleInputTurning(u8 *newDirection, u16 newKeys, u16 heldKeys static u8 AcroBikeHandleInputWheelieStanding(u8 *newDirection, u16 newKeys, u16 heldKeys) { u8 direction; - struct EventObject *playerEventObj; + struct ObjectEvent *playerObjEvent; direction = GetPlayerMovementDirection(); - playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId]; + playerObjEvent = &gObjectEvents[gPlayerAvatar.objectEventId]; gPlayerAvatar.runningState = NOT_MOVING; if (heldKeys & B_BUTTON) @@ -378,7 +378,7 @@ static u8 AcroBikeHandleInputWheelieStanding(u8 *newDirection, u16 newKeys, u16 { // B button was released. gPlayerAvatar.bikeFrameCounter = 0; - if (!MetatileBehavior_IsBumpySlope(playerEventObj->currentMetatileBehavior)) + if (!MetatileBehavior_IsBumpySlope(playerObjEvent->currentMetatileBehavior)) { // Go back to normal on flat ground *newDirection = direction; @@ -413,15 +413,15 @@ static u8 AcroBikeHandleInputWheelieStanding(u8 *newDirection, u16 newKeys, u16 static u8 AcroBikeHandleInputBunnyHop(u8 *newDirection, u16 newKeys, u16 heldKeys) { u8 direction; - struct EventObject *playerEventObj; + struct ObjectEvent *playerObjEvent; direction = GetPlayerMovementDirection(); - playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId]; + playerObjEvent = &gObjectEvents[gPlayerAvatar.objectEventId]; if (!(heldKeys & B_BUTTON)) { // B button was released Bike_SetBikeStill(); - if (MetatileBehavior_IsBumpySlope(playerEventObj->currentMetatileBehavior)) + if (MetatileBehavior_IsBumpySlope(playerObjEvent->currentMetatileBehavior)) { // even though B was released, dont undo the wheelie on the bumpy slope. gPlayerAvatar.acroBikeState = ACRO_STATE_WHEELIE_STANDING; @@ -460,15 +460,15 @@ static u8 AcroBikeHandleInputBunnyHop(u8 *newDirection, u16 newKeys, u16 heldKey static u8 AcroBikeHandleInputWheelieMoving(u8 *newDirection, u16 newKeys, u16 heldKeys) { u8 direction; - struct EventObject *playerEventObj; + struct ObjectEvent *playerObjEvent; direction = GetPlayerFacingDirection(); - playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId]; + playerObjEvent = &gObjectEvents[gPlayerAvatar.objectEventId]; if (!(heldKeys & B_BUTTON)) { // we were moving on a wheelie, but we let go while moving. reset bike still status Bike_SetBikeStill(); - if (!MetatileBehavior_IsBumpySlope(playerEventObj->currentMetatileBehavior)) + if (!MetatileBehavior_IsBumpySlope(playerObjEvent->currentMetatileBehavior)) { // we let go of B and arent on a bumpy slope, set state to normal because now we need to handle this gPlayerAvatar.acroBikeState = ACRO_STATE_NORMAL; @@ -514,10 +514,10 @@ static u8 AcroBikeHandleInputWheelieMoving(u8 *newDirection, u16 newKeys, u16 he static u8 AcroBikeHandleInputSidewaysJump(u8 *ptr, u16 newKeys, u16 heldKeys) { - struct EventObject *playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId]; + struct ObjectEvent *playerObjEvent = &gObjectEvents[gPlayerAvatar.objectEventId]; - playerEventObj->facingDirectionLocked = 0; - SetEventObjectDirection(playerEventObj, playerEventObj->facingDirection); + playerObjEvent->facingDirectionLocked = 0; + SetObjectEventDirection(playerObjEvent, playerObjEvent->facingDirection); gPlayerAvatar.acroBikeState = ACRO_STATE_NORMAL; return CheckMovementInputAcroBike(ptr, newKeys, heldKeys); } @@ -535,21 +535,21 @@ static void AcroBikeTransition_FaceDirection(u8 direction) static void AcroBikeTransition_TurnDirection(u8 direction) { - struct EventObject *playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId]; + struct ObjectEvent *playerObjEvent = &gObjectEvents[gPlayerAvatar.objectEventId]; - if (CanBikeFaceDirOnMetatile(direction, playerEventObj->currentMetatileBehavior) == 0) - direction = playerEventObj->movementDirection; + if (CanBikeFaceDirOnMetatile(direction, playerObjEvent->currentMetatileBehavior) == 0) + direction = playerObjEvent->movementDirection; PlayerFaceDirection(direction); } static void AcroBikeTransition_Moving(u8 direction) { u8 collision; - struct EventObject *playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId]; + struct ObjectEvent *playerObjEvent = &gObjectEvents[gPlayerAvatar.objectEventId]; - if (CanBikeFaceDirOnMetatile(direction, playerEventObj->currentMetatileBehavior) == 0) + if (CanBikeFaceDirOnMetatile(direction, playerObjEvent->currentMetatileBehavior) == 0) { - AcroBikeTransition_FaceDirection(playerEventObj->movementDirection); + AcroBikeTransition_FaceDirection(playerObjEvent->movementDirection); return; } collision = GetBikeCollision(direction); @@ -557,7 +557,7 @@ static void AcroBikeTransition_Moving(u8 direction) { if (collision == COLLISION_LEDGE_JUMP) PlayerJumpLedge(direction); - else if (collision == COLLISION_EVENT_OBJECT && IsPlayerCollidingWithFarawayIslandMew(direction)) + else if (collision == COLLISION_OBJECT_EVENT && IsPlayerCollidingWithFarawayIslandMew(direction)) PlayerOnBikeCollideWithFarawayIslandMew(direction); else if (collision < COLLISION_STOP_SURFING || collision > COLLISION_ROTATING_GATE) PlayerOnBikeCollide(direction); @@ -570,48 +570,48 @@ static void AcroBikeTransition_Moving(u8 direction) static void AcroBikeTransition_NormalToWheelie(u8 direction) { - struct EventObject *playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId]; + struct ObjectEvent *playerObjEvent = &gObjectEvents[gPlayerAvatar.objectEventId]; - if (CanBikeFaceDirOnMetatile(direction, playerEventObj->currentMetatileBehavior) == 0) - direction = playerEventObj->movementDirection; + if (CanBikeFaceDirOnMetatile(direction, playerObjEvent->currentMetatileBehavior) == 0) + direction = playerObjEvent->movementDirection; PlayerStartWheelie(direction); } static void AcroBikeTransition_WheelieToNormal(u8 direction) { - struct EventObject *playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId]; + struct ObjectEvent *playerObjEvent = &gObjectEvents[gPlayerAvatar.objectEventId]; - if (CanBikeFaceDirOnMetatile(direction, playerEventObj->currentMetatileBehavior) == 0) - direction = playerEventObj->movementDirection; + if (CanBikeFaceDirOnMetatile(direction, playerObjEvent->currentMetatileBehavior) == 0) + direction = playerObjEvent->movementDirection; PlayerEndWheelie(direction); } static void AcroBikeTransition_WheelieIdle(u8 direction) { - struct EventObject *playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId]; + struct ObjectEvent *playerObjEvent = &gObjectEvents[gPlayerAvatar.objectEventId]; - if (CanBikeFaceDirOnMetatile(direction, playerEventObj->currentMetatileBehavior) == 0) - direction = playerEventObj->movementDirection; + if (CanBikeFaceDirOnMetatile(direction, playerObjEvent->currentMetatileBehavior) == 0) + direction = playerObjEvent->movementDirection; PlayerIdleWheelie(direction); } static void AcroBikeTransition_WheelieHoppingStanding(u8 direction) { - struct EventObject *playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId]; + struct ObjectEvent *playerObjEvent = &gObjectEvents[gPlayerAvatar.objectEventId]; - if (CanBikeFaceDirOnMetatile(direction, playerEventObj->currentMetatileBehavior) == 0) - direction = playerEventObj->movementDirection; + if (CanBikeFaceDirOnMetatile(direction, playerObjEvent->currentMetatileBehavior) == 0) + direction = playerObjEvent->movementDirection; PlayerStandingHoppingWheelie(direction); } static void AcroBikeTransition_WheelieHoppingMoving(u8 direction) { u8 collision; - struct EventObject *playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId]; + struct ObjectEvent *playerObjEvent = &gObjectEvents[gPlayerAvatar.objectEventId]; - if (CanBikeFaceDirOnMetatile(direction, playerEventObj->currentMetatileBehavior) == 0) + if (CanBikeFaceDirOnMetatile(direction, playerObjEvent->currentMetatileBehavior) == 0) { - AcroBikeTransition_WheelieHoppingStanding(playerEventObj->movementDirection); + AcroBikeTransition_WheelieHoppingStanding(playerObjEvent->movementDirection); return; } collision = GetBikeCollision(direction); @@ -641,7 +641,7 @@ static void AcroBikeTransition_WheelieHoppingMoving(u8 direction) static void AcroBikeTransition_SideJump(u8 direction) { u8 collision; - struct EventObject *playerEventObj; + struct ObjectEvent *playerObjEvent; collision = GetBikeCollision(direction); if (collision) @@ -659,9 +659,9 @@ static void AcroBikeTransition_SideJump(u8 direction) return; } } - playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId]; + playerObjEvent = &gObjectEvents[gPlayerAvatar.objectEventId]; PlaySE(SE_JITE_PYOKO); - playerEventObj->facingDirectionLocked = 1; + playerObjEvent->facingDirectionLocked = 1; PlayerSetAnimId(GetJumpMovementAction(direction), 2); } @@ -673,11 +673,11 @@ static void AcroBikeTransition_TurnJump(u8 direction) static void AcroBikeTransition_WheelieMoving(u8 direction) { u8 collision; - struct EventObject *playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId]; + struct ObjectEvent *playerObjEvent = &gObjectEvents[gPlayerAvatar.objectEventId]; - if (CanBikeFaceDirOnMetatile(direction, playerEventObj->currentMetatileBehavior) == 0) + if (CanBikeFaceDirOnMetatile(direction, playerObjEvent->currentMetatileBehavior) == 0) { - PlayerIdleWheelie(playerEventObj->movementDirection); + PlayerIdleWheelie(playerObjEvent->movementDirection); return; } collision = GetBikeCollision(direction); @@ -693,7 +693,7 @@ static void AcroBikeTransition_WheelieMoving(u8 direction) } else if (collision < COLLISION_STOP_SURFING) { - if (MetatileBehavior_IsBumpySlope(playerEventObj->currentMetatileBehavior)) + if (MetatileBehavior_IsBumpySlope(playerObjEvent->currentMetatileBehavior)) PlayerIdleWheelie(direction); else sub_808B980(direction); //hit wall? @@ -707,11 +707,11 @@ static void AcroBikeTransition_WheelieMoving(u8 direction) static void AcroBikeTransition_WheelieRisingMoving(u8 direction) { u8 collision; - struct EventObject *playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId]; + struct ObjectEvent *playerObjEvent = &gObjectEvents[gPlayerAvatar.objectEventId]; - if (CanBikeFaceDirOnMetatile(direction, playerEventObj->currentMetatileBehavior) == 0) + if (CanBikeFaceDirOnMetatile(direction, playerObjEvent->currentMetatileBehavior) == 0) { - PlayerStartWheelie(playerEventObj->movementDirection); + PlayerStartWheelie(playerObjEvent->movementDirection); return; } collision = GetBikeCollision(direction); @@ -727,7 +727,7 @@ static void AcroBikeTransition_WheelieRisingMoving(u8 direction) } else if (collision < COLLISION_STOP_SURFING) { - if (MetatileBehavior_IsBumpySlope(playerEventObj->currentMetatileBehavior)) + if (MetatileBehavior_IsBumpySlope(playerObjEvent->currentMetatileBehavior)) PlayerIdleWheelie(direction); else sub_808B980(direction); //hit wall? @@ -741,11 +741,11 @@ static void AcroBikeTransition_WheelieRisingMoving(u8 direction) static void AcroBikeTransition_WheelieLoweringMoving(u8 direction) { u8 collision; - struct EventObject *playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId]; + struct ObjectEvent *playerObjEvent = &gObjectEvents[gPlayerAvatar.objectEventId]; - if (CanBikeFaceDirOnMetatile(direction, playerEventObj->currentMetatileBehavior) == 0) + if (CanBikeFaceDirOnMetatile(direction, playerObjEvent->currentMetatileBehavior) == 0) { - PlayerEndWheelie(playerEventObj->movementDirection); + PlayerEndWheelie(playerObjEvent->movementDirection); return; } collision = GetBikeCollision(direction); @@ -868,19 +868,19 @@ static u8 Bike_DPadToDirection(u16 heldKeys) static u8 GetBikeCollision(u8 direction) { u8 metatitleBehavior; - struct EventObject *playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId]; - s16 x = playerEventObj->currentCoords.x; - s16 y = playerEventObj->currentCoords.y; + struct ObjectEvent *playerObjEvent = &gObjectEvents[gPlayerAvatar.objectEventId]; + s16 x = playerObjEvent->currentCoords.x; + s16 y = playerObjEvent->currentCoords.y; MoveCoords(direction, &x, &y); metatitleBehavior = MapGridGetMetatileBehaviorAt(x, y); - return GetBikeCollisionAt(playerEventObj, x, y, direction, metatitleBehavior); + return GetBikeCollisionAt(playerObjEvent, x, y, direction, metatitleBehavior); } -static u8 GetBikeCollisionAt(struct EventObject *eventObject, s16 x, s16 y, u8 direction, u8 metatitleBehavior) +static u8 GetBikeCollisionAt(struct ObjectEvent *objectEvent, s16 x, s16 y, u8 direction, u8 metatitleBehavior) { - u8 collision = CheckForEventObjectCollision(eventObject, x, y, direction, metatitleBehavior); + u8 collision = CheckForObjectEventCollision(objectEvent, x, y, direction, metatitleBehavior); - if (collision > COLLISION_EVENT_OBJECT) + if (collision > COLLISION_OBJECT_EVENT) return collision; if (collision == COLLISION_NONE && IsRunningDisallowedByMetatile(metatitleBehavior)) @@ -966,7 +966,7 @@ bool8 IsBikingDisallowedByPlayer(void) bool8 player_should_look_direction_be_enforced_upon_movement(void) { - if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_ACRO_BIKE) != FALSE && MetatileBehavior_IsBumpySlope(gEventObjects[gPlayerAvatar.eventObjectId].currentMetatileBehavior) != FALSE) + if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_ACRO_BIKE) != FALSE && MetatileBehavior_IsBumpySlope(gObjectEvents[gPlayerAvatar.objectEventId].currentMetatileBehavior) != FALSE) return FALSE; else return TRUE; diff --git a/src/cable_car.c b/src/cable_car.c index d310ae299..00eedfdae 100644 --- a/src/cable_car.c +++ b/src/cable_car.c @@ -768,15 +768,15 @@ static void LoadCableCarSprites(void) u8 i; u8 playerGraphicsIds[2] = { - EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL, - EVENT_OBJ_GFX_RIVAL_MAY_NORMAL + OBJ_EVENT_GFX_RIVAL_BRENDAN_NORMAL, + OBJ_EVENT_GFX_RIVAL_MAY_NORMAL }; u16 rval = Random(); u8 hikerGraphicsIds[4] = { - EVENT_OBJ_GFX_HIKER, - EVENT_OBJ_GFX_CAMPER, - EVENT_OBJ_GFX_PICNICKER, - EVENT_OBJ_GFX_ZIGZAGOON_1 + OBJ_EVENT_GFX_HIKER, + OBJ_EVENT_GFX_CAMPER, + OBJ_EVENT_GFX_PICNICKER, + OBJ_EVENT_GFX_ZIGZAGOON_1 }; s16 hikerCoords[2][2] = { { 0, 80 }, @@ -797,7 +797,7 @@ static void LoadCableCarSprites(void) { case 0: default: - spriteId = AddPseudoEventObject(playerGraphicsIds[gSaveBlock2Ptr->playerGender], sub_8150948, 200, 73, 102); + spriteId = AddPseudoObjectEvent(playerGraphicsIds[gSaveBlock2Ptr->playerGender], sub_8150948, 200, 73, 102); if (spriteId != MAX_SPRITES) { gSprites[spriteId].oam.priority = 2; @@ -821,7 +821,7 @@ static void LoadCableCarSprites(void) break; case 1: CopyToBgTilemapBufferRect_ChangePalette(0, sCableCar->mtChimneyTilemap + 0x24, 24, 26, 12, 3, 17); - spriteId = AddPseudoEventObject(playerGraphicsIds[gSaveBlock2Ptr->playerGender], sub_8150948, 128, 39, 102); + spriteId = AddPseudoObjectEvent(playerGraphicsIds[gSaveBlock2Ptr->playerGender], sub_8150948, 128, 39, 102); if (spriteId != MAX_SPRITES) { gSprites[spriteId].oam.priority = 2; @@ -852,7 +852,7 @@ static void LoadCableCarSprites(void) } if ((rval % 64) == 0) { - spriteId = AddPseudoEventObject(hikerGraphicsIds[rval % 3], callbacks[gSpecialVar_0x8004], hikerCoords[gSpecialVar_0x8004][0], hikerCoords[gSpecialVar_0x8004][1], 0x6a); + spriteId = AddPseudoObjectEvent(hikerGraphicsIds[rval % 3], callbacks[gSpecialVar_0x8004], hikerCoords[gSpecialVar_0x8004][0], hikerCoords[gSpecialVar_0x8004][1], 0x6a); if (spriteId != MAX_SPRITES) { gSprites[spriteId].oam.priority = 2; diff --git a/src/cable_club.c b/src/cable_club.c index 11920bea9..c2ac72883 100644 --- a/src/cable_club.c +++ b/src/cable_club.c @@ -1190,16 +1190,16 @@ void Script_ShowLinkTrainerCard(void) // color into gStringVar2. bool32 GetLinkTrainerCardColor(u8 linkPlayerIndex) { - u32 trainerCardColorIndex; + u32 numStars; gSpecialVar_0x8006 = linkPlayerIndex; StringCopy(gStringVar1, gLinkPlayers[linkPlayerIndex].name); - trainerCardColorIndex = GetTrainerCardStars(linkPlayerIndex); - if (trainerCardColorIndex == 0) + numStars = GetTrainerCardStars(linkPlayerIndex); + if (numStars == 0) return FALSE; - StringCopy(gStringVar2, gTrainerCardColorNames[trainerCardColorIndex - 1]); + StringCopy(gStringVar2, gTrainerCardColorNames[numStars - 1]); return TRUE; } diff --git a/src/contest.c b/src/contest.c index 66dbdb6f1..58628e35d 100644 --- a/src/contest.c +++ b/src/contest.c @@ -2615,9 +2615,9 @@ void sub_80DA8C8(u8 partyIndex) } memcpy(gContestMons[gContestPlayerMonIndex].trainerName, name, 8); if (gSaveBlock2Ptr->playerGender == MALE) - gContestMons[gContestPlayerMonIndex].trainerGfxId = EVENT_OBJ_GFX_LINK_BRENDAN; + gContestMons[gContestPlayerMonIndex].trainerGfxId = OBJ_EVENT_GFX_LINK_BRENDAN; else - gContestMons[gContestPlayerMonIndex].trainerGfxId = EVENT_OBJ_GFX_LINK_MAY; + gContestMons[gContestPlayerMonIndex].trainerGfxId = OBJ_EVENT_GFX_LINK_MAY; gContestMons[gContestPlayerMonIndex].aiChecks = 0; gContestMons[gContestPlayerMonIndex].unk2C[0] = 0; gContestMons[gContestPlayerMonIndex].species = GetMonData(&gPlayerParty[partyIndex], MON_DATA_SPECIES); diff --git a/src/contest_link_80F57C4.c b/src/contest_link_80F57C4.c index 8a1fce64b..0cecaed07 100644 --- a/src/contest_link_80F57C4.c +++ b/src/contest_link_80F57C4.c @@ -83,19 +83,6 @@ struct ContestLink80F57C4 EWRAM_DATA struct ContestLink80F57C4 *gUnknown_0203A034 = NULL; -extern const struct BgTemplate gUnknown_0858D888[4]; -extern const struct WindowTemplate gUnknown_0858D898[]; -extern const struct CompressedSpriteSheet gUnknown_0858D878[]; -extern const struct CompressedSpritePalette gUnknown_0858D880[]; -extern const struct SpriteSheet gUnknown_0858D8E0; -extern const struct SpriteTemplate gSpriteTemplate_858D8C8; -extern const u8 sContestLinkTextColors[]; -extern const u8 gUnknown_0858D6D0[]; -extern const struct SpriteTemplate gSpriteTemplate_858D7F8; -extern const struct SpriteSheet gUnknown_0858D810[]; -extern const struct SpritePalette gUnknown_0858D850; -extern const struct SpriteTemplate gSpriteTemplate_858D860; - static void sub_80F6A9C(void); static void sub_80F71C8(void); u8 sub_80F7310(u8, u8); @@ -152,6 +139,219 @@ static void sub_80F85BC(u8); static void sub_80F86B8(u8); static void sub_80F878C(u8); static void sub_80F87B4(u8); +static void sub_80F7768(struct Sprite *sprite); + +static const u16 sUnknown_0858D6B0[] = INCBIN_U16("graphics/unknown/unknown_58D6B0.gbapal"); +static const u8 sUnknown_0858D6D0[] = INCBIN_U8("graphics/unknown/unknown_58D6D0.4bpp"); +static const u16 sMiscBlank_Pal[] = INCBIN_U16("graphics/interface/blank.gbapal"); + +static const struct OamData sOamData_858D7F0 = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .mosaic = 0, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(64x32), + .x = 0, + .matrixNum = 0, + .size = SPRITE_SIZE(64x32), + .tileNum = 0, + .priority = 3, + .paletteNum = 2, + .affineParam = 0, +}; + +static const struct SpriteTemplate sSpriteTemplate_858D7F8 = +{ + .tileTag = 3009, + .paletteTag = 3009, + .oam = &sOamData_858D7F0, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy +}; + +static const struct SpriteSheet sUnknown_0858D810[] = +{ + { .data = gMiscBlank_Gfx, .size = 0x400, .tag = 3009 }, + { .data = gMiscBlank_Gfx, .size = 0x400, .tag = 3010 }, + { .data = gMiscBlank_Gfx, .size = 0x400, .tag = 3011 }, + { .data = gMiscBlank_Gfx, .size = 0x400, .tag = 3012 }, + { .data = gMiscBlank_Gfx, .size = 0x400, .tag = 3013 }, + { .data = gMiscBlank_Gfx, .size = 0x400, .tag = 3014 }, + { .data = gMiscBlank_Gfx, .size = 0x400, .tag = 3015 }, + { .data = gMiscBlank_Gfx, .size = 0x400, .tag = 3016 }, +}; + +static const struct SpritePalette sUnknown_0858D850 = +{ + .data = sMiscBlank_Pal, + .tag = 3009, +}; + +static const struct OamData sOamData_858D858 = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .mosaic = 0, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(8x8), + .x = 0, + .matrixNum = 0, + .size = SPRITE_SIZE(8x8), + .tileNum = 0, + .priority = 0, + .paletteNum = 0, + .affineParam = 0, +}; + +static const struct SpriteTemplate sSpriteTemplate_858D860 = +{ + .tileTag = 3017, + .paletteTag = 3017, + .oam = &sOamData_858D858, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80F7768 +}; + +static const struct CompressedSpriteSheet sUnknown_0858D878 = +{ + .data = gContestConfetti_Gfx, + .size = 0x220, + .tag = 3017 +}; + + +static const struct CompressedSpritePalette sUnknown_0858D880 = +{ + .data = gContestConfetti_Pal, + .tag = 3017 +}; + +static const struct BgTemplate sUnknown_0858D888[] = +{ + { + .bg = 0, + .charBaseIndex = 0, + .mapBaseIndex = 30, + .screenSize = 0, + .paletteMode = 0, + .priority = 0, + .baseTile = 0, + }, + { + .bg = 1, + .charBaseIndex = 0, + .mapBaseIndex = 24, + .screenSize = 0, + .paletteMode = 0, + .priority = 3, + .baseTile = 0, + }, + { + .bg = 2, + .charBaseIndex = 0, + .mapBaseIndex = 28, + .screenSize = 0, + .paletteMode = 0, + .priority = 3, + .baseTile = 0, + }, + { + .bg = 3, + .charBaseIndex = 0, + .mapBaseIndex = 26, + .screenSize = 0, + .paletteMode = 0, + .priority = 3, + .baseTile = 0, + } +}; + +static const struct WindowTemplate sUnknown_0858D898[] = +{ + { + .bg = 1, + .tilemapLeft = 7, + .tilemapTop = 4, + .width = 12, + .height = 2, + .paletteNum = 15, + .baseBlock = 770 + }, + { + .bg = 1, + .tilemapLeft = 7, + .tilemapTop = 7, + .width = 12, + .height = 2, + .paletteNum = 15, + .baseBlock = 794 + }, + { + .bg = 1, + .tilemapLeft = 7, + .tilemapTop = 10, + .width = 12, + .height = 2, + .paletteNum = 15, + .baseBlock = 818 + }, + { + .bg = 1, + .tilemapLeft = 7, + .tilemapTop = 13, + .width = 12, + .height = 2, + .paletteNum = 15, + .baseBlock = 842 + }, + DUMMY_WIN_TEMPLATE, +}; + +static const struct OamData sUnknown_0858D8C0 = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .mosaic = 0, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(16x16), + .x = 0, + .matrixNum = 0, + .size = SPRITE_SIZE(16x16), + .tileNum = 0, + .priority = 0, + .paletteNum = 0, + .affineParam = 0, +}; + + +static const struct SpriteTemplate sSpriteTemplate_858D8C8 = +{ + .tileTag = 22222, + .paletteTag = 0, + .oam = &sUnknown_0858D8C0, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy +}; + +static const struct SpriteSheet sUnknown_0858D8E0 = +{ + .data = gMiscBlank_Gfx, + .size = 0x200, + .tag = 22222 +}; + +static const u8 sContestLinkTextColors[4] = {TEXT_COLOR_WHITE, TEXT_DYNAMIC_COLOR_6, TEXT_DYNAMIC_COLOR_5}; + void sub_80F57C4(void) { @@ -159,11 +359,11 @@ void sub_80F57C4(void) SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_1D_MAP); ResetBgsAndClearDma3BusyFlags(0); - InitBgsFromTemplates(0, gUnknown_0858D888, ARRAY_COUNT(gUnknown_0858D888)); + InitBgsFromTemplates(0, sUnknown_0858D888, ARRAY_COUNT(sUnknown_0858D888)); for (i = 0; i < 4; i++) SetBgTilemapBuffer(i, gUnknown_0203A034->unkC[i]); - InitWindows(gUnknown_0858D898); + InitWindows(sUnknown_0858D898); DeactivateAllTextPrinters(); SetGpuReg(REG_OFFSET_MOSAIC, 0); SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG_ALL | WININ_WIN0_OBJ | WININ_WIN0_CLR | WININ_WIN1_BG_ALL | WININ_WIN1_OBJ | WININ_WIN1_CLR); @@ -210,7 +410,7 @@ void sub_80F591C(void) CopyToBgTilemapBuffer(0, gUnknown_08C19EEC, 0, 0); sub_80F71C8(); LoadCompressedPalette(gUnknown_08C1A2B4, 0, 0x200); - LoadPalette(gUnknown_0858D6B0, 0xF0, 0x20); + LoadPalette(sUnknown_0858D6B0, 0xF0, 0x20); for (i = 0; i < 4; i++) { @@ -669,8 +869,8 @@ static void sub_80F6404(u8 taskId) gSprites[spriteId].oam.priority = 0; gSprites[spriteId].callback = sub_80F75A8; gUnknown_0203A034->unk0->spriteId = spriteId; - LoadCompressedSpriteSheet(gUnknown_0858D878); - LoadCompressedSpritePalette(gUnknown_0858D880); + LoadCompressedSpriteSheet(&sUnknown_0858D878); + LoadCompressedSpritePalette(&sUnknown_0858D880); CreateTask(sub_80F7670, 10); gTasks[taskId].data[0]++; break; @@ -900,9 +1100,9 @@ static void sub_80F6AE8(void) LoadWirelessStatusIndicatorSpriteGfx(); CreateWirelessStatusIndicatorSprite(8, 8); gSprites[gWirelessStatusIndicatorSpriteId].subpriority = 1; - sheet = LoadSpriteSheet(&gUnknown_0858D8E0); + sheet = LoadSpriteSheet(&sUnknown_0858D8E0); RequestDma3Fill(0xFFFFFFFF, (void *)BG_CHAR_ADDR(4) + sheet * 0x20, 0x80, 1); - spriteId = CreateSprite(&gSpriteTemplate_858D8C8, 8, 8, 0); + spriteId = CreateSprite(&sSpriteTemplate_858D8C8, 8, 8, 0); gSprites[spriteId].oam.objMode = ST_OAM_OBJ_WINDOW; } } @@ -937,7 +1137,7 @@ s32 sub_80F6B78(const u8 *text, u8 spriteId) AddTextPrinterParameterized3(windowId, 1, (strWidth * 8 - origWidth) / 2, 1, sContestLinkTextColors, -1, text); windowTilesPtr = (u8 *)(GetWindowAttribute(windowId, WINDOW_TILE_DATA)); - src = (u8 *)(gUnknown_0858D6D0); + src = (u8 *)(sUnknown_0858D6D0); sprite = &gSprites[spriteId]; spriteTilePtrs[0] = (u8 *)(sprite->oam.tileNum * 32 + VRAM + 0x10000); @@ -1043,7 +1243,7 @@ _080F6BD0:\n\ movs r1, 0x7\n\ bl GetWindowAttribute\n\ mov r9, r0\n\ - ldr r2, =gUnknown_0858D6D0\n\ + ldr r2, =sUnknown_0858D6D0\n\ mov r8, r2\n\ lsls r1, r7, 4\n\ adds r1, r7\n\ @@ -1257,11 +1457,11 @@ static void sub_80F6DC0(void) struct SpriteTemplate template; u8 spriteIds[8]; - template = gSpriteTemplate_858D7F8; - for (i = 0; i < 8; i++) - LoadSpriteSheet(&gUnknown_0858D810[i]); + template = sSpriteTemplate_858D7F8; + for (i = 0; i < (int)ARRAY_COUNT(sUnknown_0858D810); i++) + LoadSpriteSheet(&sUnknown_0858D810[i]); - LoadSpritePalette(&gUnknown_0858D850); + LoadSpritePalette(&sUnknown_0858D850); for (i = 0; i < 8; i++) { spriteIds[i] = CreateSprite(&template, 272, 144, 10); @@ -1629,7 +1829,7 @@ static void sub_80F7670(u8 taskId) gTasks[taskId].data[0] = 0; if (gUnknown_0203A034->unk0->unk7 < 40) { - u8 spriteId = CreateSprite(&gSpriteTemplate_858D860, (Random() % 240) - 20, 44, 5); + u8 spriteId = CreateSprite(&sSpriteTemplate_858D860, (Random() % 240) - 20, 44, 5); gSprites[spriteId].data[0] = Random() % 512; gSprites[spriteId].data[1] = (Random() % 24) + 16; gSprites[spriteId].data[2] = (Random() % 256) + 48; @@ -1642,7 +1842,7 @@ static void sub_80F7670(u8 taskId) DestroyTask(taskId); } -void sub_80F7768(struct Sprite *sprite) +static void sub_80F7768(struct Sprite *sprite) { s16 delta; diff --git a/src/data/contest_opponents.h b/src/data/contest_opponents.h index 010559e3b..8fa746725 100644 --- a/src/data/contest_opponents.h +++ b/src/data/contest_opponents.h @@ -182,7 +182,7 @@ const struct ContestPokemon gContestOpponents[] = .species = SPECIES_POOCHYENA, .nickname = _("POOCHY"), .trainerName = _("JIMMY"), - .trainerGfxId = EVENT_OBJ_GFX_BOY_1, + .trainerGfxId = OBJ_EVENT_GFX_BOY_1, .aiChecks = 0xC000FFF, .whichRank = CONTEST_RANK_NORMAL, .aiPool_Cool = TRUE, @@ -211,7 +211,7 @@ const struct ContestPokemon gContestOpponents[] = .species = SPECIES_ILLUMISE, .nickname = _("MUSILLE"), .trainerName = _("EDITH"), - .trainerGfxId = EVENT_OBJ_GFX_GIRL_1, + .trainerGfxId = OBJ_EVENT_GFX_GIRL_1, .aiChecks = 0x82000FFF, .whichRank = CONTEST_RANK_NORMAL, .aiPool_Cool = FALSE, @@ -240,7 +240,7 @@ const struct ContestPokemon gContestOpponents[] = .species = SPECIES_DUSTOX, .nickname = _("DUSTER"), .trainerName = _("EVAN"), - .trainerGfxId = EVENT_OBJ_GFX_LITTLE_BOY, + .trainerGfxId = OBJ_EVENT_GFX_LITTLE_BOY, .aiChecks = 0x21000FFF, .whichRank = CONTEST_RANK_NORMAL, .aiPool_Cool = FALSE, @@ -269,7 +269,7 @@ const struct ContestPokemon gContestOpponents[] = .species = SPECIES_SEEDOT, .nickname = _("DOTS"), .trainerName = _("KELSEY"), - .trainerGfxId = EVENT_OBJ_GFX_WOMAN_1, + .trainerGfxId = OBJ_EVENT_GFX_WOMAN_1, .aiChecks = 0x20800FFF, .whichRank = CONTEST_RANK_NORMAL, .aiPool_Cool = FALSE, @@ -298,7 +298,7 @@ const struct ContestPokemon gContestOpponents[] = .species = SPECIES_TAILLOW, .nickname = _("TATAY"), .trainerName = _("MADISON"), - .trainerGfxId = EVENT_OBJ_GFX_POKEFAN_F, + .trainerGfxId = OBJ_EVENT_GFX_POKEFAN_F, .aiChecks = 0x80400FFF, .whichRank = CONTEST_RANK_NORMAL, .aiPool_Cool = TRUE, @@ -327,7 +327,7 @@ const struct ContestPokemon gContestOpponents[] = .species = SPECIES_NINCADA, .nickname = _("NINDA"), .trainerName = _("RAYMOND"), - .trainerGfxId = EVENT_OBJ_GFX_BLACK_BELT, + .trainerGfxId = OBJ_EVENT_GFX_BLACK_BELT, .aiChecks = 0x10200FFF, .whichRank = CONTEST_RANK_NORMAL, .aiPool_Cool = FALSE, @@ -356,7 +356,7 @@ const struct ContestPokemon gContestOpponents[] = .species = SPECIES_SHROOMISH, .nickname = _("SMISH"), .trainerName = _("GRANT"), - .trainerGfxId = EVENT_OBJ_GFX_YOUNGSTER, + .trainerGfxId = OBJ_EVENT_GFX_YOUNGSTER, .aiChecks = 0x20100FFF, .whichRank = CONTEST_RANK_NORMAL, .aiPool_Cool = FALSE, @@ -385,7 +385,7 @@ const struct ContestPokemon gContestOpponents[] = .species = SPECIES_SPHEAL, .nickname = _("SLEAL"), .trainerName = _("PAIGE"), - .trainerGfxId = EVENT_OBJ_GFX_WOMAN_4, + .trainerGfxId = OBJ_EVENT_GFX_WOMAN_4, .aiChecks = 0x8080FFF, .whichRank = CONTEST_RANK_NORMAL, .aiPool_Cool = FALSE, @@ -414,7 +414,7 @@ const struct ContestPokemon gContestOpponents[] = .species = SPECIES_SLAKOTH, .nickname = _("SLOKTH"), .trainerName = _("ALEC"), - .trainerGfxId = EVENT_OBJ_GFX_CAMPER, + .trainerGfxId = OBJ_EVENT_GFX_CAMPER, .aiChecks = 0x40040FFF, .whichRank = CONTEST_RANK_NORMAL, .aiPool_Cool = FALSE, @@ -443,7 +443,7 @@ const struct ContestPokemon gContestOpponents[] = .species = SPECIES_WHISMUR, .nickname = _("WHIRIS"), .trainerName = _("SYDNEY"), - .trainerGfxId = EVENT_OBJ_GFX_LASS, + .trainerGfxId = OBJ_EVENT_GFX_LASS, .aiChecks = 0x80020FFF, .whichRank = CONTEST_RANK_NORMAL, .aiPool_Cool = TRUE, @@ -472,7 +472,7 @@ const struct ContestPokemon gContestOpponents[] = .species = SPECIES_MAKUHITA, .nickname = _("MAHITA"), .trainerName = _("MORRIS"), - .trainerGfxId = EVENT_OBJ_GFX_SCHOOL_KID_M, + .trainerGfxId = OBJ_EVENT_GFX_SCHOOL_KID_M, .aiChecks = 0x8010FFF, .whichRank = CONTEST_RANK_NORMAL, .aiPool_Cool = TRUE, @@ -501,7 +501,7 @@ const struct ContestPokemon gContestOpponents[] = .species = SPECIES_ARON, .nickname = _("RONAR"), .trainerName = _("MARIAH"), - .trainerGfxId = EVENT_OBJ_GFX_GIRL_2, + .trainerGfxId = OBJ_EVENT_GFX_GIRL_2, .aiChecks = 0x8008FFF, .whichRank = CONTEST_RANK_NORMAL, .aiPool_Cool = TRUE, @@ -530,7 +530,7 @@ const struct ContestPokemon gContestOpponents[] = .species = SPECIES_CROBAT, .nickname = _("BATRO"), .trainerName = _("RUSSELL"), - .trainerGfxId = EVENT_OBJ_GFX_MAN_3, + .trainerGfxId = OBJ_EVENT_GFX_MAN_3, .aiChecks = 0x90004FFF, .whichRank = CONTEST_RANK_NORMAL, .aiPool_Cool = FALSE, @@ -559,7 +559,7 @@ const struct ContestPokemon gContestOpponents[] = .species = SPECIES_GULPIN, .nickname = _("GULIN"), .trainerName = _("MELANIE"), - .trainerGfxId = EVENT_OBJ_GFX_TWIN, + .trainerGfxId = OBJ_EVENT_GFX_TWIN, .aiChecks = 0x40002FFF, .whichRank = CONTEST_RANK_NORMAL, .aiPool_Cool = FALSE, @@ -588,7 +588,7 @@ const struct ContestPokemon gContestOpponents[] = .species = SPECIES_MANECTRIC, .nickname = _("RIKELEC"), .trainerName = _("CHANCE"), - .trainerGfxId = EVENT_OBJ_GFX_RICH_BOY, + .trainerGfxId = OBJ_EVENT_GFX_RICH_BOY, .aiChecks = 0x80001FFF, .whichRank = CONTEST_RANK_NORMAL, .aiPool_Cool = TRUE, @@ -617,7 +617,7 @@ const struct ContestPokemon gContestOpponents[] = .species = SPECIES_BULBASAUR, .nickname = _("BULBY"), .trainerName = _("AGATHA"), - .trainerGfxId = EVENT_OBJ_GFX_WOMAN_2, + .trainerGfxId = OBJ_EVENT_GFX_WOMAN_2, .aiChecks = 0xC000FFF, .whichRank = CONTEST_RANK_NORMAL, .aiPool_Cool = FALSE, @@ -646,7 +646,7 @@ const struct ContestPokemon gContestOpponents[] = .species = SPECIES_BUTTERFREE, .nickname = _("FUTTERBE"), .trainerName = _("BEAU"), - .trainerGfxId = EVENT_OBJ_GFX_HEX_MANIAC, + .trainerGfxId = OBJ_EVENT_GFX_HEX_MANIAC, .aiChecks = 0x82000FFF, .whichRank = CONTEST_RANK_NORMAL, .aiPool_Cool = FALSE, @@ -675,7 +675,7 @@ const struct ContestPokemon gContestOpponents[] = .species = SPECIES_PIDGEOTTO, .nickname = _("PIDEOT"), .trainerName = _("KAY"), - .trainerGfxId = EVENT_OBJ_GFX_WOMAN_5, + .trainerGfxId = OBJ_EVENT_GFX_WOMAN_5, .aiChecks = 0x21000FFF, .whichRank = CONTEST_RANK_NORMAL, .aiPool_Cool = TRUE, @@ -704,7 +704,7 @@ const struct ContestPokemon gContestOpponents[] = .species = SPECIES_DIGLETT, .nickname = _("DIGLE"), .trainerName = _("CALE"), - .trainerGfxId = EVENT_OBJ_GFX_HIKER, + .trainerGfxId = OBJ_EVENT_GFX_HIKER, .aiChecks = 0x20800FFF, .whichRank = CONTEST_RANK_NORMAL, .aiPool_Cool = FALSE, @@ -733,7 +733,7 @@ const struct ContestPokemon gContestOpponents[] = .species = SPECIES_POLIWAG, .nickname = _("WAGIL"), .trainerName = _("CAITLIN"), - .trainerGfxId = EVENT_OBJ_GFX_TUBER_F, + .trainerGfxId = OBJ_EVENT_GFX_TUBER_F, .aiChecks = 0x80400FFF, .whichRank = CONTEST_RANK_NORMAL, .aiPool_Cool = FALSE, @@ -762,7 +762,7 @@ const struct ContestPokemon gContestOpponents[] = .species = SPECIES_TOTODILE, .nickname = _("TOTDIL"), .trainerName = _("COLBY"), - .trainerGfxId = EVENT_OBJ_GFX_NINJA_BOY, + .trainerGfxId = OBJ_EVENT_GFX_NINJA_BOY, .aiChecks = 0x10200FFF, .whichRank = CONTEST_RANK_NORMAL, .aiPool_Cool = TRUE, @@ -791,7 +791,7 @@ const struct ContestPokemon gContestOpponents[] = .species = SPECIES_LEDYBA, .nickname = _("BALEDY"), .trainerName = _("KYLIE"), - .trainerGfxId = EVENT_OBJ_GFX_BEAUTY, + .trainerGfxId = OBJ_EVENT_GFX_BEAUTY, .aiChecks = 0x20100FFF, .whichRank = CONTEST_RANK_NORMAL, .aiPool_Cool = TRUE, @@ -820,7 +820,7 @@ const struct ContestPokemon gContestOpponents[] = .species = SPECIES_DELIBIRD, .nickname = _("BIRDLY"), .trainerName = _("LIAM"), - .trainerGfxId = EVENT_OBJ_GFX_MAN_5, + .trainerGfxId = OBJ_EVENT_GFX_MAN_5, .aiChecks = 0x8080FFF, .whichRank = CONTEST_RANK_NORMAL, .aiPool_Cool = FALSE, @@ -849,7 +849,7 @@ const struct ContestPokemon gContestOpponents[] = .species = SPECIES_LARVITAR, .nickname = _("TARVITAR"), .trainerName = _("MILO"), - .trainerGfxId = EVENT_OBJ_GFX_MANIAC, + .trainerGfxId = OBJ_EVENT_GFX_MANIAC, .aiChecks = 0x40040FFF, .whichRank = CONTEST_RANK_NORMAL, .aiPool_Cool = FALSE, @@ -878,7 +878,7 @@ const struct ContestPokemon gContestOpponents[] = .species = SPECIES_ROSELIA, .nickname = _("RELIA"), .trainerName = _("KARINA"), - .trainerGfxId = EVENT_OBJ_GFX_PICNICKER, + .trainerGfxId = OBJ_EVENT_GFX_PICNICKER, .aiChecks = 0x24000FFF, .whichRank = CONTEST_RANK_SUPER, .aiPool_Cool = FALSE, @@ -907,7 +907,7 @@ const struct ContestPokemon gContestOpponents[] = .species = SPECIES_DODRIO, .nickname = _("DUODO"), .trainerName = _("BOBBY"), - .trainerGfxId = EVENT_OBJ_GFX_RUNNING_TRIATHLETE_M, + .trainerGfxId = OBJ_EVENT_GFX_RUNNING_TRIATHLETE_M, .aiChecks = 0x82000FFF, .whichRank = CONTEST_RANK_SUPER, .aiPool_Cool = TRUE, @@ -936,7 +936,7 @@ const struct ContestPokemon gContestOpponents[] = .species = SPECIES_TRAPINCH, .nickname = _("PINCHIN"), .trainerName = _("CLAIRE"), - .trainerGfxId = EVENT_OBJ_GFX_GIRL_1, + .trainerGfxId = OBJ_EVENT_GFX_GIRL_1, .aiChecks = 0x81000FFF, .whichRank = CONTEST_RANK_SUPER, .aiPool_Cool = FALSE, @@ -965,7 +965,7 @@ const struct ContestPokemon gContestOpponents[] = .species = SPECIES_CACNEA, .nickname = _("NACAC"), .trainerName = _("WILLIE"), - .trainerGfxId = EVENT_OBJ_GFX_LITTLE_BOY, + .trainerGfxId = OBJ_EVENT_GFX_LITTLE_BOY, .aiChecks = 0x80800FFF, .whichRank = CONTEST_RANK_SUPER, .aiPool_Cool = TRUE, @@ -994,7 +994,7 @@ const struct ContestPokemon gContestOpponents[] = .species = SPECIES_SANDSLASH, .nickname = _("SHRAND"), .trainerName = _("CASSIDY"), - .trainerGfxId = EVENT_OBJ_GFX_POKEFAN_F, + .trainerGfxId = OBJ_EVENT_GFX_POKEFAN_F, .aiChecks = 0x10400FFF, .whichRank = CONTEST_RANK_SUPER, .aiPool_Cool = TRUE, @@ -1023,7 +1023,7 @@ const struct ContestPokemon gContestOpponents[] = .species = SPECIES_BALTOY, .nickname = _("TOYBAL"), .trainerName = _("MORGAN"), - .trainerGfxId = EVENT_OBJ_GFX_BLACK_BELT, + .trainerGfxId = OBJ_EVENT_GFX_BLACK_BELT, .aiChecks = 0x8200FFF, .whichRank = CONTEST_RANK_SUPER, .aiPool_Cool = FALSE, @@ -1052,7 +1052,7 @@ const struct ContestPokemon gContestOpponents[] = .species = SPECIES_MEDICHAM, .nickname = _("CHAMCHAM"), .trainerName = _("SUMMER"), - .trainerGfxId = EVENT_OBJ_GFX_WOMAN_4, + .trainerGfxId = OBJ_EVENT_GFX_WOMAN_4, .aiChecks = 0x10100FFF, .whichRank = CONTEST_RANK_SUPER, .aiPool_Cool = TRUE, @@ -1081,7 +1081,7 @@ const struct ContestPokemon gContestOpponents[] = .species = SPECIES_SPINDA, .nickname = _("SPININ"), .trainerName = _("MILES"), - .trainerGfxId = EVENT_OBJ_GFX_CAMPER, + .trainerGfxId = OBJ_EVENT_GFX_CAMPER, .aiChecks = 0x80080FFF, .whichRank = CONTEST_RANK_SUPER, .aiPool_Cool = FALSE, @@ -1110,7 +1110,7 @@ const struct ContestPokemon gContestOpponents[] = .species = SPECIES_SWABLU, .nickname = _("SWABY"), .trainerName = _("AUDREY"), - .trainerGfxId = EVENT_OBJ_GFX_LASS, + .trainerGfxId = OBJ_EVENT_GFX_LASS, .aiChecks = 0xA0040FFF, .whichRank = CONTEST_RANK_SUPER, .aiPool_Cool = FALSE, @@ -1139,7 +1139,7 @@ const struct ContestPokemon gContestOpponents[] = .species = SPECIES_SPOINK, .nickname = _("POINKER"), .trainerName = _("AVERY"), - .trainerGfxId = EVENT_OBJ_GFX_SCHOOL_KID_M, + .trainerGfxId = OBJ_EVENT_GFX_SCHOOL_KID_M, .aiChecks = 0x80020FFF, .whichRank = CONTEST_RANK_SUPER, .aiPool_Cool = FALSE, @@ -1168,7 +1168,7 @@ const struct ContestPokemon gContestOpponents[] = .species = SPECIES_KECLEON, .nickname = _("KECON"), .trainerName = _("ARIANA"), - .trainerGfxId = EVENT_OBJ_GFX_GIRL_2, + .trainerGfxId = OBJ_EVENT_GFX_GIRL_2, .aiChecks = 0x80010FFF, .whichRank = CONTEST_RANK_SUPER, .aiPool_Cool = FALSE, @@ -1197,7 +1197,7 @@ const struct ContestPokemon gContestOpponents[] = .species = SPECIES_GOLDEEN, .nickname = _("GOLDEN"), .trainerName = _("ASHTON"), - .trainerGfxId = EVENT_OBJ_GFX_MAN_3, + .trainerGfxId = OBJ_EVENT_GFX_MAN_3, .aiChecks = 0x80008FFF, .whichRank = CONTEST_RANK_SUPER, .aiPool_Cool = TRUE, @@ -1226,7 +1226,7 @@ const struct ContestPokemon gContestOpponents[] = .species = SPECIES_BARBOACH, .nickname = _("BOBOACH"), .trainerName = _("SANDRA"), - .trainerGfxId = EVENT_OBJ_GFX_TWIN, + .trainerGfxId = OBJ_EVENT_GFX_TWIN, .aiChecks = 0x80004FFF, .whichRank = CONTEST_RANK_SUPER, .aiPool_Cool = FALSE, @@ -1255,7 +1255,7 @@ const struct ContestPokemon gContestOpponents[] = .species = SPECIES_SKARMORY, .nickname = _("CORPY"), .trainerName = _("CARSON"), - .trainerGfxId = EVENT_OBJ_GFX_YOUNGSTER, + .trainerGfxId = OBJ_EVENT_GFX_YOUNGSTER, .aiChecks = 0x8002FFF, .whichRank = CONTEST_RANK_SUPER, .aiPool_Cool = TRUE, @@ -1284,7 +1284,7 @@ const struct ContestPokemon gContestOpponents[] = .species = SPECIES_LOTAD, .nickname = _("TADO"), .trainerName = _("KATRINA"), - .trainerGfxId = EVENT_OBJ_GFX_WOMAN_1, + .trainerGfxId = OBJ_EVENT_GFX_WOMAN_1, .aiChecks = 0x8001FFF, .whichRank = CONTEST_RANK_SUPER, .aiPool_Cool = FALSE, @@ -1313,7 +1313,7 @@ const struct ContestPokemon gContestOpponents[] = .species = SPECIES_SLOWBRO, .nickname = _("BROWLO"), .trainerName = _("LUKE"), - .trainerGfxId = EVENT_OBJ_GFX_FAT_MAN, + .trainerGfxId = OBJ_EVENT_GFX_FAT_MAN, .aiChecks = 0xC000FFF, .whichRank = CONTEST_RANK_SUPER, .aiPool_Cool = FALSE, @@ -1342,7 +1342,7 @@ const struct ContestPokemon gContestOpponents[] = .species = SPECIES_FARFETCHD, .nickname = _("FETCHIN"), .trainerName = _("RAUL"), - .trainerGfxId = EVENT_OBJ_GFX_MAN_5, + .trainerGfxId = OBJ_EVENT_GFX_MAN_5, .aiChecks = 0x82000FFF, .whichRank = CONTEST_RANK_SUPER, .aiPool_Cool = TRUE, @@ -1371,7 +1371,7 @@ const struct ContestPokemon gContestOpponents[] = .species = SPECIES_SEEL, .nickname = _("SEELEY"), .trainerName = _("JADA"), - .trainerGfxId = EVENT_OBJ_GFX_WOMAN_2, + .trainerGfxId = OBJ_EVENT_GFX_WOMAN_2, .aiChecks = 0x21000FFF, .whichRank = CONTEST_RANK_SUPER, .aiPool_Cool = FALSE, @@ -1400,7 +1400,7 @@ const struct ContestPokemon gContestOpponents[] = .species = SPECIES_DROWZEE, .nickname = _("DROWZIN"), .trainerName = _("ZEEK"), - .trainerGfxId = EVENT_OBJ_GFX_PSYCHIC_M, + .trainerGfxId = OBJ_EVENT_GFX_PSYCHIC_M, .aiChecks = 0x20800FFF, .whichRank = CONTEST_RANK_SUPER, .aiPool_Cool = FALSE, @@ -1429,7 +1429,7 @@ const struct ContestPokemon gContestOpponents[] = .species = SPECIES_HITMONCHAN, .nickname = _("HITEMON"), .trainerName = _("DIEGO"), - .trainerGfxId = EVENT_OBJ_GFX_EXPERT_M, + .trainerGfxId = OBJ_EVENT_GFX_EXPERT_M, .aiChecks = 0x80400FFF, .whichRank = CONTEST_RANK_SUPER, .aiPool_Cool = TRUE, @@ -1458,7 +1458,7 @@ const struct ContestPokemon gContestOpponents[] = .species = SPECIES_BLISSEY, .nickname = _("BLISS"), .trainerName = _("ALIYAH"), - .trainerGfxId = EVENT_OBJ_GFX_TEALA, + .trainerGfxId = OBJ_EVENT_GFX_TEALA, .aiChecks = 0x10200FFF, .whichRank = CONTEST_RANK_SUPER, .aiPool_Cool = FALSE, @@ -1487,7 +1487,7 @@ const struct ContestPokemon gContestOpponents[] = .species = SPECIES_ELEKID, .nickname = _("KIDLEK"), .trainerName = _("NATALIA"), - .trainerGfxId = EVENT_OBJ_GFX_POKEFAN_F, + .trainerGfxId = OBJ_EVENT_GFX_POKEFAN_F, .aiChecks = 0x20100FFF, .whichRank = CONTEST_RANK_SUPER, .aiPool_Cool = TRUE, @@ -1516,7 +1516,7 @@ const struct ContestPokemon gContestOpponents[] = .species = SPECIES_SNUBBULL, .nickname = _("SNUBBINS"), .trainerName = _("DEVIN"), - .trainerGfxId = EVENT_OBJ_GFX_GENTLEMAN, + .trainerGfxId = OBJ_EVENT_GFX_GENTLEMAN, .aiChecks = 0x8080FFF, .whichRank = CONTEST_RANK_SUPER, .aiPool_Cool = FALSE, @@ -1545,7 +1545,7 @@ const struct ContestPokemon gContestOpponents[] = .species = SPECIES_MISDREAVUS, .nickname = _("DREAVIS"), .trainerName = _("TYLOR"), - .trainerGfxId = EVENT_OBJ_GFX_HEX_MANIAC, + .trainerGfxId = OBJ_EVENT_GFX_HEX_MANIAC, .aiChecks = 0x40040FFF, .whichRank = CONTEST_RANK_SUPER, .aiPool_Cool = FALSE, @@ -1574,7 +1574,7 @@ const struct ContestPokemon gContestOpponents[] = .species = SPECIES_LAIRON, .nickname = _("LAIRN"), .trainerName = _("RONNIE"), - .trainerGfxId = EVENT_OBJ_GFX_HIKER, + .trainerGfxId = OBJ_EVENT_GFX_HIKER, .aiChecks = 0x84000FFF, .whichRank = CONTEST_RANK_HYPER, .aiPool_Cool = FALSE, @@ -1603,7 +1603,7 @@ const struct ContestPokemon gContestOpponents[] = .species = SPECIES_SHIFTRY, .nickname = _("SHIFTY"), .trainerName = _("CLAUDIA"), - .trainerGfxId = EVENT_OBJ_GFX_GIRL_1, + .trainerGfxId = OBJ_EVENT_GFX_GIRL_1, .aiChecks = 0x82000FFF, .whichRank = CONTEST_RANK_HYPER, .aiPool_Cool = TRUE, @@ -1632,7 +1632,7 @@ const struct ContestPokemon gContestOpponents[] = .species = SPECIES_NINJASK, .nickname = _("NINAS"), .trainerName = _("ELIAS"), - .trainerGfxId = EVENT_OBJ_GFX_LITTLE_BOY, + .trainerGfxId = OBJ_EVENT_GFX_LITTLE_BOY, .aiChecks = 0x81000FFF, .whichRank = CONTEST_RANK_HYPER, .aiPool_Cool = FALSE, @@ -1661,7 +1661,7 @@ const struct ContestPokemon gContestOpponents[] = .species = SPECIES_SWELLOW, .nickname = _("WELOW"), .trainerName = _("JADE"), - .trainerGfxId = EVENT_OBJ_GFX_POKEFAN_F, + .trainerGfxId = OBJ_EVENT_GFX_POKEFAN_F, .aiChecks = 0x80800FFF, .whichRank = CONTEST_RANK_HYPER, .aiPool_Cool = TRUE, @@ -1690,7 +1690,7 @@ const struct ContestPokemon gContestOpponents[] = .species = SPECIES_MIGHTYENA, .nickname = _("YENA"), .trainerName = _("FRANCIS"), - .trainerGfxId = EVENT_OBJ_GFX_BLACK_BELT, + .trainerGfxId = OBJ_EVENT_GFX_BLACK_BELT, .aiChecks = 0x80400FFF, .whichRank = CONTEST_RANK_HYPER, .aiPool_Cool = FALSE, @@ -1719,7 +1719,7 @@ const struct ContestPokemon gContestOpponents[] = .species = SPECIES_BEAUTIFLY, .nickname = _("TIFLY"), .trainerName = _("ALISHA"), - .trainerGfxId = EVENT_OBJ_GFX_WOMAN_4, + .trainerGfxId = OBJ_EVENT_GFX_WOMAN_4, .aiChecks = 0x80200FFF, .whichRank = CONTEST_RANK_HYPER, .aiPool_Cool = FALSE, @@ -1748,7 +1748,7 @@ const struct ContestPokemon gContestOpponents[] = .species = SPECIES_SEAKING, .nickname = _("KINGSEA"), .trainerName = _("SAUL"), - .trainerGfxId = EVENT_OBJ_GFX_CAMPER, + .trainerGfxId = OBJ_EVENT_GFX_CAMPER, .aiChecks = 0x80100FFF, .whichRank = CONTEST_RANK_HYPER, .aiPool_Cool = TRUE, @@ -1777,7 +1777,7 @@ const struct ContestPokemon gContestOpponents[] = .species = SPECIES_CASTFORM, .nickname = _("CASTER"), .trainerName = _("FELICIA"), - .trainerGfxId = EVENT_OBJ_GFX_LASS, + .trainerGfxId = OBJ_EVENT_GFX_LASS, .aiChecks = 0x80080FFF, .whichRank = CONTEST_RANK_HYPER, .aiPool_Cool = TRUE, @@ -1806,7 +1806,7 @@ const struct ContestPokemon gContestOpponents[] = .species = SPECIES_MACHOKE, .nickname = _("CHOKEM"), .trainerName = _("EMILIO"), - .trainerGfxId = EVENT_OBJ_GFX_SCHOOL_KID_M, + .trainerGfxId = OBJ_EVENT_GFX_SCHOOL_KID_M, .aiChecks = 0x80040FFF, .whichRank = CONTEST_RANK_HYPER, .aiPool_Cool = TRUE, @@ -1835,7 +1835,7 @@ const struct ContestPokemon gContestOpponents[] = .species = SPECIES_LOMBRE, .nickname = _("LOMBE"), .trainerName = _("KARLA"), - .trainerGfxId = EVENT_OBJ_GFX_GIRL_2, + .trainerGfxId = OBJ_EVENT_GFX_GIRL_2, .aiChecks = 0x80020FFF, .whichRank = CONTEST_RANK_HYPER, .aiPool_Cool = FALSE, @@ -1864,7 +1864,7 @@ const struct ContestPokemon gContestOpponents[] = .species = SPECIES_SEVIPER, .nickname = _("VIPES"), .trainerName = _("DARRYL"), - .trainerGfxId = EVENT_OBJ_GFX_MAN_3, + .trainerGfxId = OBJ_EVENT_GFX_MAN_3, .aiChecks = 0x80010FFF, .whichRank = CONTEST_RANK_HYPER, .aiPool_Cool = FALSE, @@ -1893,7 +1893,7 @@ const struct ContestPokemon gContestOpponents[] = .species = SPECIES_WAILMER, .nickname = _("MERAIL"), .trainerName = _("SELENA"), - .trainerGfxId = EVENT_OBJ_GFX_EXPERT_F, + .trainerGfxId = OBJ_EVENT_GFX_EXPERT_F, .aiChecks = 0x80008FFF, .whichRank = CONTEST_RANK_HYPER, .aiPool_Cool = FALSE, @@ -1922,7 +1922,7 @@ const struct ContestPokemon gContestOpponents[] = .species = SPECIES_MAGIKARP, .nickname = _("KARPAG"), .trainerName = _("NOEL"), - .trainerGfxId = EVENT_OBJ_GFX_YOUNGSTER, + .trainerGfxId = OBJ_EVENT_GFX_YOUNGSTER, .aiChecks = 0x80004FFF, .whichRank = CONTEST_RANK_HYPER, .aiPool_Cool = FALSE, @@ -1951,7 +1951,7 @@ const struct ContestPokemon gContestOpponents[] = .species = SPECIES_LUNATONE, .nickname = _("LUNONE"), .trainerName = _("LACEY"), - .trainerGfxId = EVENT_OBJ_GFX_WOMAN_1, + .trainerGfxId = OBJ_EVENT_GFX_WOMAN_1, .aiChecks = 0x80002FFF, .whichRank = CONTEST_RANK_HYPER, .aiPool_Cool = FALSE, @@ -1980,7 +1980,7 @@ const struct ContestPokemon gContestOpponents[] = .species = SPECIES_ABSOL, .nickname = _("ABSO"), .trainerName = _("CORBIN"), - .trainerGfxId = EVENT_OBJ_GFX_MANIAC, + .trainerGfxId = OBJ_EVENT_GFX_MANIAC, .aiChecks = 0x80001FFF, .whichRank = CONTEST_RANK_HYPER, .aiPool_Cool = TRUE, @@ -2009,7 +2009,7 @@ const struct ContestPokemon gContestOpponents[] = .species = SPECIES_EXEGGUTOR, .nickname = _("EGGSOR"), .trainerName = _("GRACIE"), - .trainerGfxId = EVENT_OBJ_GFX_PICNICKER, + .trainerGfxId = OBJ_EVENT_GFX_PICNICKER, .aiChecks = 0xC000FFF, .whichRank = CONTEST_RANK_HYPER, .aiPool_Cool = FALSE, @@ -2038,7 +2038,7 @@ const struct ContestPokemon gContestOpponents[] = .species = SPECIES_CUBONE, .nickname = _("CUBIN"), .trainerName = _("COLTIN"), - .trainerGfxId = EVENT_OBJ_GFX_MAN_4, + .trainerGfxId = OBJ_EVENT_GFX_MAN_4, .aiChecks = 0x82000FFF, .whichRank = CONTEST_RANK_HYPER, .aiPool_Cool = FALSE, @@ -2067,7 +2067,7 @@ const struct ContestPokemon gContestOpponents[] = .species = SPECIES_HITMONLEE, .nickname = _("HITMON"), .trainerName = _("ELLIE"), - .trainerGfxId = EVENT_OBJ_GFX_EXPERT_F, + .trainerGfxId = OBJ_EVENT_GFX_EXPERT_F, .aiChecks = 0x21000FFF, .whichRank = CONTEST_RANK_HYPER, .aiPool_Cool = TRUE, @@ -2096,7 +2096,7 @@ const struct ContestPokemon gContestOpponents[] = .species = SPECIES_SQUIRTLE, .nickname = _("SURTLE"), .trainerName = _("MARCUS"), - .trainerGfxId = EVENT_OBJ_GFX_SAILOR, + .trainerGfxId = OBJ_EVENT_GFX_SAILOR, .aiChecks = 0x20800FFF, .whichRank = CONTEST_RANK_HYPER, .aiPool_Cool = FALSE, @@ -2125,7 +2125,7 @@ const struct ContestPokemon gContestOpponents[] = .species = SPECIES_KANGASKHAN, .nickname = _("KHANKAN"), .trainerName = _("KIARA"), - .trainerGfxId = EVENT_OBJ_GFX_GIRL_3, + .trainerGfxId = OBJ_EVENT_GFX_GIRL_3, .aiChecks = 0x80400FFF, .whichRank = CONTEST_RANK_HYPER, .aiPool_Cool = TRUE, @@ -2154,7 +2154,7 @@ const struct ContestPokemon gContestOpponents[] = .species = SPECIES_PINECO, .nickname = _("PINOC"), .trainerName = _("BRYCE"), - .trainerGfxId = EVENT_OBJ_GFX_BUG_CATCHER, + .trainerGfxId = OBJ_EVENT_GFX_BUG_CATCHER, .aiChecks = 0x10200FFF, .whichRank = CONTEST_RANK_HYPER, .aiPool_Cool = FALSE, @@ -2183,7 +2183,7 @@ const struct ContestPokemon gContestOpponents[] = .species = SPECIES_DUNSPARCE, .nickname = _("DILTOT"), .trainerName = _("JAMIE"), - .trainerGfxId = EVENT_OBJ_GFX_WOMAN_5, + .trainerGfxId = OBJ_EVENT_GFX_WOMAN_5, .aiChecks = 0x20100FFF, .whichRank = CONTEST_RANK_HYPER, .aiPool_Cool = FALSE, @@ -2212,7 +2212,7 @@ const struct ContestPokemon gContestOpponents[] = .species = SPECIES_HOUNDOOM, .nickname = _("DOOMOND"), .trainerName = _("JORGE"), - .trainerGfxId = EVENT_OBJ_GFX_GENTLEMAN, + .trainerGfxId = OBJ_EVENT_GFX_GENTLEMAN, .aiChecks = 0x8080FFF, .whichRank = CONTEST_RANK_HYPER, .aiPool_Cool = TRUE, @@ -2241,7 +2241,7 @@ const struct ContestPokemon gContestOpponents[] = .species = SPECIES_MILTANK, .nickname = _("MILKAN"), .trainerName = _("DEVON"), - .trainerGfxId = EVENT_OBJ_GFX_POKEFAN_M, + .trainerGfxId = OBJ_EVENT_GFX_POKEFAN_M, .aiChecks = 0x40040FFF, .whichRank = CONTEST_RANK_HYPER, .aiPool_Cool = FALSE, @@ -2270,7 +2270,7 @@ const struct ContestPokemon gContestOpponents[] = .species = SPECIES_GYARADOS, .nickname = _("RADOS"), .trainerName = _("JUSTINA"), - .trainerGfxId = EVENT_OBJ_GFX_PICNICKER, + .trainerGfxId = OBJ_EVENT_GFX_PICNICKER, .aiChecks = 0x84000FFF, .whichRank = CONTEST_RANK_MASTER, .aiPool_Cool = TRUE, @@ -2299,7 +2299,7 @@ const struct ContestPokemon gContestOpponents[] = .species = SPECIES_LOUDRED, .nickname = _("LOUDERD"), .trainerName = _("RALPH"), - .trainerGfxId = EVENT_OBJ_GFX_EXPERT_M, + .trainerGfxId = OBJ_EVENT_GFX_EXPERT_M, .aiChecks = 0x82000FFF, .whichRank = CONTEST_RANK_MASTER, .aiPool_Cool = TRUE, @@ -2328,7 +2328,7 @@ const struct ContestPokemon gContestOpponents[] = .species = SPECIES_SKITTY, .nickname = _("SITTY"), .trainerName = _("ROSA"), - .trainerGfxId = EVENT_OBJ_GFX_GIRL_1, + .trainerGfxId = OBJ_EVENT_GFX_GIRL_1, .aiChecks = 0x81000FFF, .whichRank = CONTEST_RANK_MASTER, .aiPool_Cool = FALSE, @@ -2357,7 +2357,7 @@ const struct ContestPokemon gContestOpponents[] = .species = SPECIES_SLAKING, .nickname = _("SLING"), .trainerName = _("KEATON"), - .trainerGfxId = EVENT_OBJ_GFX_LITTLE_BOY, + .trainerGfxId = OBJ_EVENT_GFX_LITTLE_BOY, .aiChecks = 0x80800FFF, .whichRank = CONTEST_RANK_MASTER, .aiPool_Cool = FALSE, @@ -2386,7 +2386,7 @@ const struct ContestPokemon gContestOpponents[] = .species = SPECIES_ALTARIA, .nickname = _("TARIA"), .trainerName = _("MAYRA"), - .trainerGfxId = EVENT_OBJ_GFX_POKEFAN_F, + .trainerGfxId = OBJ_EVENT_GFX_POKEFAN_F, .aiChecks = 0x80400FFF, .whichRank = CONTEST_RANK_MASTER, .aiPool_Cool = TRUE, @@ -2415,7 +2415,7 @@ const struct ContestPokemon gContestOpponents[] = .species = SPECIES_KIRLIA, .nickname = _("LIRKI"), .trainerName = _("LAMAR"), - .trainerGfxId = EVENT_OBJ_GFX_RICH_BOY, + .trainerGfxId = OBJ_EVENT_GFX_RICH_BOY, .aiChecks = 0x80200FFF, .whichRank = CONTEST_RANK_MASTER, .aiPool_Cool = TRUE, @@ -2444,7 +2444,7 @@ const struct ContestPokemon gContestOpponents[] = .species = SPECIES_BELLOSSOM, .nickname = _("BLOSSOM"), .trainerName = _("AUBREY"), - .trainerGfxId = EVENT_OBJ_GFX_WOMAN_4, + .trainerGfxId = OBJ_EVENT_GFX_WOMAN_4, .aiChecks = 0x80100FFF, .whichRank = CONTEST_RANK_MASTER, .aiPool_Cool = FALSE, @@ -2473,7 +2473,7 @@ const struct ContestPokemon gContestOpponents[] = .species = SPECIES_SABLEYE, .nickname = _("EYESAB"), .trainerName = _("NIGEL"), - .trainerGfxId = EVENT_OBJ_GFX_CAMPER, + .trainerGfxId = OBJ_EVENT_GFX_CAMPER, .aiChecks = 0x80080FFF, .whichRank = CONTEST_RANK_MASTER, .aiPool_Cool = FALSE, @@ -2502,7 +2502,7 @@ const struct ContestPokemon gContestOpponents[] = .species = SPECIES_NATU, .nickname = _("UTAN"), .trainerName = _("CAMILLE"), - .trainerGfxId = EVENT_OBJ_GFX_LASS, + .trainerGfxId = OBJ_EVENT_GFX_LASS, .aiChecks = 0x80040FFF, .whichRank = CONTEST_RANK_MASTER, .aiPool_Cool = FALSE, @@ -2531,7 +2531,7 @@ const struct ContestPokemon gContestOpponents[] = .species = SPECIES_SHARPEDO, .nickname = _("PEDOS"), .trainerName = _("DEON"), - .trainerGfxId = EVENT_OBJ_GFX_SCHOOL_KID_M, + .trainerGfxId = OBJ_EVENT_GFX_SCHOOL_KID_M, .aiChecks = 0x80020FFF, .whichRank = CONTEST_RANK_MASTER, .aiPool_Cool = TRUE, @@ -2560,7 +2560,7 @@ const struct ContestPokemon gContestOpponents[] = .species = SPECIES_LUVDISC, .nickname = _("LUVIS"), .trainerName = _("JANELLE"), - .trainerGfxId = EVENT_OBJ_GFX_GIRL_2, + .trainerGfxId = OBJ_EVENT_GFX_GIRL_2, .aiChecks = 0x80010FFF, .whichRank = CONTEST_RANK_MASTER, .aiPool_Cool = FALSE, @@ -2589,7 +2589,7 @@ const struct ContestPokemon gContestOpponents[] = .species = SPECIES_HERACROSS, .nickname = _("HEROSS"), .trainerName = _("HEATH"), - .trainerGfxId = EVENT_OBJ_GFX_MAN_3, + .trainerGfxId = OBJ_EVENT_GFX_MAN_3, .aiChecks = 0x80008FFF, .whichRank = CONTEST_RANK_MASTER, .aiPool_Cool = TRUE, @@ -2618,7 +2618,7 @@ const struct ContestPokemon gContestOpponents[] = .species = SPECIES_ELECTRODE, .nickname = _("RODLECT"), .trainerName = _("SASHA"), - .trainerGfxId = EVENT_OBJ_GFX_TWIN, + .trainerGfxId = OBJ_EVENT_GFX_TWIN, .aiChecks = 0x80004FFF, .whichRank = CONTEST_RANK_MASTER, .aiPool_Cool = TRUE, @@ -2647,7 +2647,7 @@ const struct ContestPokemon gContestOpponents[] = .species = SPECIES_PICHU, .nickname = _("CHUPY"), .trainerName = _("FRANKIE"), - .trainerGfxId = EVENT_OBJ_GFX_YOUNGSTER, + .trainerGfxId = OBJ_EVENT_GFX_YOUNGSTER, .aiChecks = 0x80002FFF, .whichRank = CONTEST_RANK_MASTER, .aiPool_Cool = FALSE, @@ -2676,7 +2676,7 @@ const struct ContestPokemon gContestOpponents[] = .species = SPECIES_WOBBUFFET, .nickname = _("WOBET"), .trainerName = _("HELEN"), - .trainerGfxId = EVENT_OBJ_GFX_WOMAN_1, + .trainerGfxId = OBJ_EVENT_GFX_WOMAN_1, .aiChecks = 0x80001FFF, .whichRank = CONTEST_RANK_MASTER, .aiPool_Cool = TRUE, @@ -2705,7 +2705,7 @@ const struct ContestPokemon gContestOpponents[] = .species = SPECIES_GENGAR, .nickname = _("GAREN"), .trainerName = _("CAMILE"), - .trainerGfxId = EVENT_OBJ_GFX_HEX_MANIAC, + .trainerGfxId = OBJ_EVENT_GFX_HEX_MANIAC, .aiChecks = 0xC000FFF, .whichRank = CONTEST_RANK_MASTER, .aiPool_Cool = TRUE, @@ -2734,7 +2734,7 @@ const struct ContestPokemon gContestOpponents[] = .species = SPECIES_PORYGON, .nickname = _("GONPOR"), .trainerName = _("MARTIN"), - .trainerGfxId = EVENT_OBJ_GFX_SCIENTIST_1, + .trainerGfxId = OBJ_EVENT_GFX_SCIENTIST_1, .aiChecks = 0x82000FFF, .whichRank = CONTEST_RANK_MASTER, .aiPool_Cool = TRUE, @@ -2763,7 +2763,7 @@ const struct ContestPokemon gContestOpponents[] = .species = SPECIES_DRAGONITE, .nickname = _("DRITE"), .trainerName = _("SERGIO"), - .trainerGfxId = EVENT_OBJ_GFX_BOY_1, + .trainerGfxId = OBJ_EVENT_GFX_BOY_1, .aiChecks = 0x21000FFF, .whichRank = CONTEST_RANK_MASTER, .aiPool_Cool = TRUE, @@ -2792,7 +2792,7 @@ const struct ContestPokemon gContestOpponents[] = .species = SPECIES_MEOWTH, .nickname = _("MEOWY"), .trainerName = _("KAILEY"), - .trainerGfxId = EVENT_OBJ_GFX_TWIN, + .trainerGfxId = OBJ_EVENT_GFX_TWIN, .aiChecks = 0x20800FFF, .whichRank = CONTEST_RANK_MASTER, .aiPool_Cool = FALSE, @@ -2821,7 +2821,7 @@ const struct ContestPokemon gContestOpponents[] = .species = SPECIES_JYNX, .nickname = _("NYX"), .trainerName = _("PERLA"), - .trainerGfxId = EVENT_OBJ_GFX_BEAUTY, + .trainerGfxId = OBJ_EVENT_GFX_BEAUTY, .aiChecks = 0x80400FFF, .whichRank = CONTEST_RANK_MASTER, .aiPool_Cool = FALSE, @@ -2850,7 +2850,7 @@ const struct ContestPokemon gContestOpponents[] = .species = SPECIES_TOGEPI, .nickname = _("GEPITO"), .trainerName = _("CLARA"), - .trainerGfxId = EVENT_OBJ_GFX_WOMAN_2, + .trainerGfxId = OBJ_EVENT_GFX_WOMAN_2, .aiChecks = 0x10200FFF, .whichRank = CONTEST_RANK_MASTER, .aiPool_Cool = FALSE, @@ -2879,7 +2879,7 @@ const struct ContestPokemon gContestOpponents[] = .species = SPECIES_ESPEON, .nickname = _("SPEON"), .trainerName = _("JAKOB"), - .trainerGfxId = EVENT_OBJ_GFX_PSYCHIC_M, + .trainerGfxId = OBJ_EVENT_GFX_PSYCHIC_M, .aiChecks = 0x20100FFF, .whichRank = CONTEST_RANK_MASTER, .aiPool_Cool = TRUE, @@ -2908,7 +2908,7 @@ const struct ContestPokemon gContestOpponents[] = .species = SPECIES_SLOWKING, .nickname = _("SLOWGO"), .trainerName = _("TREY"), - .trainerGfxId = EVENT_OBJ_GFX_SAILOR, + .trainerGfxId = OBJ_EVENT_GFX_SAILOR, .aiChecks = 0x8080FFF, .whichRank = CONTEST_RANK_MASTER, .aiPool_Cool = FALSE, @@ -2937,7 +2937,7 @@ const struct ContestPokemon gContestOpponents[] = .species = SPECIES_URSARING, .nickname = _("URSING"), .trainerName = _("LANE"), - .trainerGfxId = EVENT_OBJ_GFX_BLACK_BELT, + .trainerGfxId = OBJ_EVENT_GFX_BLACK_BELT, .aiChecks = 0x40040FFF, .whichRank = CONTEST_RANK_MASTER, .aiPool_Cool = TRUE, diff --git a/src/data/decoration/tiles.h b/src/data/decoration/tiles.h index 2b91cb53d..f11520511 100644 --- a/src/data/decoration/tiles.h +++ b/src/data/decoration/tiles.h @@ -461,181 +461,181 @@ const u16 DecorGfx_KISS_POSTER[] = { }; const u16 DecorGfx_PICHU_DOLL[] = { - EVENT_OBJ_GFX_PICHU_DOLL + OBJ_EVENT_GFX_PICHU_DOLL }; const u16 DecorGfx_PIKACHU_DOLL[] = { - EVENT_OBJ_GFX_PIKACHU_DOLL + OBJ_EVENT_GFX_PIKACHU_DOLL }; const u16 DecorGfx_MARILL_DOLL[] = { - EVENT_OBJ_GFX_MARILL_DOLL + OBJ_EVENT_GFX_MARILL_DOLL }; const u16 DecorGfx_TOGEPI_DOLL[] = { - EVENT_OBJ_GFX_TOGEPI_DOLL + OBJ_EVENT_GFX_TOGEPI_DOLL }; const u16 DecorGfx_CYNDAQUIL_DOLL[] = { - EVENT_OBJ_GFX_CYNDAQUIL_DOLL + OBJ_EVENT_GFX_CYNDAQUIL_DOLL }; const u16 DecorGfx_CHIKORITA_DOLL[] = { - EVENT_OBJ_GFX_CHIKORITA_DOLL + OBJ_EVENT_GFX_CHIKORITA_DOLL }; const u16 DecorGfx_TOTODILE_DOLL[] = { - EVENT_OBJ_GFX_TOTODILE_DOLL + OBJ_EVENT_GFX_TOTODILE_DOLL }; const u16 DecorGfx_JIGGLYPUFF_DOLL[] = { - EVENT_OBJ_GFX_JIGGLYPUFF_DOLL + OBJ_EVENT_GFX_JIGGLYPUFF_DOLL }; const u16 DecorGfx_MEOWTH_DOLL[] = { - EVENT_OBJ_GFX_MEOWTH_DOLL + OBJ_EVENT_GFX_MEOWTH_DOLL }; const u16 DecorGfx_CLEFAIRY_DOLL[] = { - EVENT_OBJ_GFX_CLEFAIRY_DOLL + OBJ_EVENT_GFX_CLEFAIRY_DOLL }; const u16 DecorGfx_DITTO_DOLL[] = { - EVENT_OBJ_GFX_DITTO_DOLL + OBJ_EVENT_GFX_DITTO_DOLL }; const u16 DecorGfx_SMOOCHUM_DOLL[] = { - EVENT_OBJ_GFX_SMOOCHUM_DOLL + OBJ_EVENT_GFX_SMOOCHUM_DOLL }; const u16 DecorGfx_TREECKO_DOLL[] = { - EVENT_OBJ_GFX_TREECKO_DOLL + OBJ_EVENT_GFX_TREECKO_DOLL }; const u16 DecorGfx_TORCHIC_DOLL[] = { - EVENT_OBJ_GFX_TORCHIC_DOLL + OBJ_EVENT_GFX_TORCHIC_DOLL }; const u16 DecorGfx_MUDKIP_DOLL[] = { - EVENT_OBJ_GFX_MUDKIP_DOLL + OBJ_EVENT_GFX_MUDKIP_DOLL }; const u16 DecorGfx_DUSKULL_DOLL[] = { - EVENT_OBJ_GFX_DUSKULL_DOLL + OBJ_EVENT_GFX_DUSKULL_DOLL }; const u16 DecorGfx_WYNAUT_DOLL[] = { - EVENT_OBJ_GFX_WYNAUT_DOLL + OBJ_EVENT_GFX_WYNAUT_DOLL }; const u16 DecorGfx_BALTOY_DOLL[] = { - EVENT_OBJ_GFX_BALTOY_DOLL + OBJ_EVENT_GFX_BALTOY_DOLL }; const u16 DecorGfx_KECLEON_DOLL[] = { - EVENT_OBJ_GFX_KECLEON_DOLL + OBJ_EVENT_GFX_KECLEON_DOLL }; const u16 DecorGfx_AZURILL_DOLL[] = { - EVENT_OBJ_GFX_AZURILL_DOLL + OBJ_EVENT_GFX_AZURILL_DOLL }; const u16 DecorGfx_SKITTY_DOLL[] = { - EVENT_OBJ_GFX_SKITTY_DOLL + OBJ_EVENT_GFX_SKITTY_DOLL }; const u16 DecorGfx_SWABLU_DOLL[] = { - EVENT_OBJ_GFX_SWABLU_DOLL + OBJ_EVENT_GFX_SWABLU_DOLL }; const u16 DecorGfx_GULPIN_DOLL[] = { - EVENT_OBJ_GFX_GULPIN_DOLL + OBJ_EVENT_GFX_GULPIN_DOLL }; const u16 DecorGfx_LOTAD_DOLL[] = { - EVENT_OBJ_GFX_LOTAD_DOLL + OBJ_EVENT_GFX_LOTAD_DOLL }; const u16 DecorGfx_SEEDOT_DOLL[] = { - EVENT_OBJ_GFX_SEEDOT_DOLL + OBJ_EVENT_GFX_SEEDOT_DOLL }; const u16 DecorGfx_PIKA_CUSHION[] = { - EVENT_OBJ_GFX_PIKA_CUSHION + OBJ_EVENT_GFX_PIKA_CUSHION }; const u16 DecorGfx_ROUND_CUSHION[] = { - EVENT_OBJ_GFX_ROUND_CUSHION + OBJ_EVENT_GFX_ROUND_CUSHION }; const u16 DecorGfx_KISS_CUSHION[] = { - EVENT_OBJ_GFX_KISS_CUSHION + OBJ_EVENT_GFX_KISS_CUSHION }; const u16 DecorGfx_ZIGZAG_CUSHION[] = { - EVENT_OBJ_GFX_ZIGZAG_CUSHION + OBJ_EVENT_GFX_ZIGZAG_CUSHION }; const u16 DecorGfx_SPIN_CUSHION[] = { - EVENT_OBJ_GFX_SPIN_CUSHION + OBJ_EVENT_GFX_SPIN_CUSHION }; const u16 DecorGfx_DIAMOND_CUSHION[] = { - EVENT_OBJ_GFX_DIAMOND_CUSHION + OBJ_EVENT_GFX_DIAMOND_CUSHION }; const u16 DecorGfx_BALL_CUSHION[] = { - EVENT_OBJ_GFX_BALL_CUSHION + OBJ_EVENT_GFX_BALL_CUSHION }; const u16 DecorGfx_GRASS_CUSHION[] = { - EVENT_OBJ_GFX_GRASS_CUSHION + OBJ_EVENT_GFX_GRASS_CUSHION }; const u16 DecorGfx_FIRE_CUSHION[] = { - EVENT_OBJ_GFX_FIRE_CUSHION + OBJ_EVENT_GFX_FIRE_CUSHION }; const u16 DecorGfx_WATER_CUSHION[] = { - EVENT_OBJ_GFX_WATER_CUSHION + OBJ_EVENT_GFX_WATER_CUSHION }; const u16 DecorGfx_SNORLAX_DOLL[] = { - EVENT_OBJ_GFX_BIG_SNORLAX_DOLL + OBJ_EVENT_GFX_BIG_SNORLAX_DOLL }; const u16 DecorGfx_RHYDON_DOLL[] = { - EVENT_OBJ_GFX_BIG_RHYDON_DOLL + OBJ_EVENT_GFX_BIG_RHYDON_DOLL }; const u16 DecorGfx_LAPRAS_DOLL[] = { - EVENT_OBJ_GFX_BIG_LAPRAS_DOLL + OBJ_EVENT_GFX_BIG_LAPRAS_DOLL }; const u16 DecorGfx_VENUSAUR_DOLL[] = { - EVENT_OBJ_GFX_BIG_VENUSAUR_DOLL + OBJ_EVENT_GFX_BIG_VENUSAUR_DOLL }; const u16 DecorGfx_CHARIZARD_DOLL[] = { - EVENT_OBJ_GFX_BIG_CHARIZARD_DOLL + OBJ_EVENT_GFX_BIG_CHARIZARD_DOLL }; const u16 DecorGfx_BLASTOISE_DOLL[] = { - EVENT_OBJ_GFX_BIG_BLASTOISE_DOLL + OBJ_EVENT_GFX_BIG_BLASTOISE_DOLL }; const u16 DecorGfx_WAILMER_DOLL[] = { - EVENT_OBJ_GFX_BIG_WAILMER_DOLL + OBJ_EVENT_GFX_BIG_WAILMER_DOLL }; const u16 DecorGfx_REGIROCK_DOLL[] = { - EVENT_OBJ_GFX_BIG_REGIROCK_DOLL + OBJ_EVENT_GFX_BIG_REGIROCK_DOLL }; const u16 DecorGfx_REGICE_DOLL[] = { - EVENT_OBJ_GFX_BIG_REGICE_DOLL + OBJ_EVENT_GFX_BIG_REGICE_DOLL }; const u16 DecorGfx_REGISTEEL_DOLL[] = { - EVENT_OBJ_GFX_BIG_REGISTEEL_DOLL + OBJ_EVENT_GFX_BIG_REGISTEEL_DOLL }; diff --git a/src/data/field_event_obj/field_effect_object_template_pointers.h b/src/data/field_effects/field_effect_object_template_pointers.h index de39e6db3..de39e6db3 100755 --- a/src/data/field_event_obj/field_effect_object_template_pointers.h +++ b/src/data/field_effects/field_effect_object_template_pointers.h diff --git a/src/data/field_event_obj/field_effect_objects.h b/src/data/field_effects/field_effect_objects.h index d28357765..65f35107d 100755 --- a/src/data/field_event_obj/field_effect_objects.h +++ b/src/data/field_effects/field_effect_objects.h @@ -29,13 +29,13 @@ const struct SpriteFrameImage gFieldEffectObjectPicTable_ShadowExtraLarge[] = { obj_frame_tiles(gFieldEffectObjectPic_ShadowExtraLarge), }; -const struct SpriteTemplate gFieldEffectObjectTemplate_ShadowSmall = {0xFFFF, 0xFFFF, &gEventObjectBaseOam_8x8, gFieldEffectObjectImageAnimTable_Shadow, gFieldEffectObjectPicTable_ShadowSmall, gDummySpriteAffineAnimTable, UpdateShadowFieldEffect}; +const struct SpriteTemplate gFieldEffectObjectTemplate_ShadowSmall = {0xFFFF, 0xFFFF, &gObjectEventBaseOam_8x8, gFieldEffectObjectImageAnimTable_Shadow, gFieldEffectObjectPicTable_ShadowSmall, gDummySpriteAffineAnimTable, UpdateShadowFieldEffect}; -const struct SpriteTemplate gFieldEffectObjectTemplate_ShadowMedium = {0xFFFF, 0xFFFF, &gEventObjectBaseOam_16x8, gFieldEffectObjectImageAnimTable_Shadow, gFieldEffectObjectPicTable_ShadowMedium, gDummySpriteAffineAnimTable, UpdateShadowFieldEffect}; +const struct SpriteTemplate gFieldEffectObjectTemplate_ShadowMedium = {0xFFFF, 0xFFFF, &gObjectEventBaseOam_16x8, gFieldEffectObjectImageAnimTable_Shadow, gFieldEffectObjectPicTable_ShadowMedium, gDummySpriteAffineAnimTable, UpdateShadowFieldEffect}; -const struct SpriteTemplate gFieldEffectObjectTemplate_ShadowLarge = {0xFFFF, 0xFFFF, &gEventObjectBaseOam_32x8, gFieldEffectObjectImageAnimTable_Shadow, gFieldEffectObjectPicTable_ShadowLarge, gDummySpriteAffineAnimTable, UpdateShadowFieldEffect}; +const struct SpriteTemplate gFieldEffectObjectTemplate_ShadowLarge = {0xFFFF, 0xFFFF, &gObjectEventBaseOam_32x8, gFieldEffectObjectImageAnimTable_Shadow, gFieldEffectObjectPicTable_ShadowLarge, gDummySpriteAffineAnimTable, UpdateShadowFieldEffect}; -const struct SpriteTemplate gFieldEffectObjectTemplate_ShadowExtraLarge = {0xFFFF, 0xFFFF, &gEventObjectBaseOam_64x32, gFieldEffectObjectImageAnimTable_Shadow, gFieldEffectObjectPicTable_ShadowExtraLarge, gDummySpriteAffineAnimTable, UpdateShadowFieldEffect}; +const struct SpriteTemplate gFieldEffectObjectTemplate_ShadowExtraLarge = {0xFFFF, 0xFFFF, &gObjectEventBaseOam_64x32, gFieldEffectObjectImageAnimTable_Shadow, gFieldEffectObjectPicTable_ShadowExtraLarge, gDummySpriteAffineAnimTable, UpdateShadowFieldEffect}; const struct SpriteFrameImage gFieldEffectObjectPicTable_TallGrass[] = { overworld_frame(gFieldEffectObjectPic_TallGrass, 2, 2, 0), @@ -60,7 +60,7 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_TallGrass[] = gFieldEffectObjectImageAnim_850CA84, }; -const struct SpriteTemplate gFieldEffectObjectTemplate_TallGrass = {0xFFFF, 0x1005, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_TallGrass, gFieldEffectObjectPicTable_TallGrass, gDummySpriteAffineAnimTable, UpdateTallGrassFieldEffect}; +const struct SpriteTemplate gFieldEffectObjectTemplate_TallGrass = {0xFFFF, 0x1005, &gObjectEventBaseOam_16x16, gFieldEffectObjectImageAnimTable_TallGrass, gFieldEffectObjectPicTable_TallGrass, gDummySpriteAffineAnimTable, UpdateTallGrassFieldEffect}; const struct SpriteFrameImage gFieldEffectObjectPicTable_Ripple[] = { overworld_frame(gFieldEffectObjectPic_Ripple, 2, 2, 0), @@ -88,7 +88,7 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_Ripple[] = gFieldEffectObjectImageAnim_850CAE0, }; -const struct SpriteTemplate gFieldEffectObjectTemplate_Ripple = {0xFFFF, 0x1005, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_Ripple, gFieldEffectObjectPicTable_Ripple, gDummySpriteAffineAnimTable, WaitFieldEffectSpriteAnim}; +const struct SpriteTemplate gFieldEffectObjectTemplate_Ripple = {0xFFFF, 0x1005, &gObjectEventBaseOam_16x16, gFieldEffectObjectImageAnimTable_Ripple, gFieldEffectObjectPicTable_Ripple, gDummySpriteAffineAnimTable, WaitFieldEffectSpriteAnim}; const struct SpriteFrameImage gFieldEffectObjectPicTable_Ash[] = { overworld_frame(gFieldEffectObjectPic_Ash, 2, 2, 0), @@ -113,7 +113,7 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_Ash[] = gFieldEffectObjectImageAnim_850CB48, }; -const struct SpriteTemplate gFieldEffectObjectTemplate_Ash = {0xFFFF, 0x1005, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_Ash, gFieldEffectObjectPicTable_Ash, gDummySpriteAffineAnimTable, UpdateAshFieldEffect}; +const struct SpriteTemplate gFieldEffectObjectTemplate_Ash = {0xFFFF, 0x1005, &gObjectEventBaseOam_16x16, gFieldEffectObjectImageAnimTable_Ash, gFieldEffectObjectPicTable_Ash, gDummySpriteAffineAnimTable, UpdateAshFieldEffect}; const struct SpriteFrameImage gFieldEffectObjectPicTable_SurfBlob[] = { overworld_frame(gFieldEffectObjectPic_SurfBlob, 4, 4, 0), @@ -153,7 +153,7 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_SurfBlob[] = gSurfBlobAnim_FaceEast, }; -const struct SpriteTemplate gFieldEffectObjectTemplate_SurfBlob = {0xFFFF, 0xFFFF, &gEventObjectBaseOam_32x32, gFieldEffectObjectImageAnimTable_SurfBlob, gFieldEffectObjectPicTable_SurfBlob, gDummySpriteAffineAnimTable, UpdateSurfBlobFieldEffect}; +const struct SpriteTemplate gFieldEffectObjectTemplate_SurfBlob = {0xFFFF, 0xFFFF, &gObjectEventBaseOam_32x32, gFieldEffectObjectImageAnimTable_SurfBlob, gFieldEffectObjectPicTable_SurfBlob, gDummySpriteAffineAnimTable, UpdateSurfBlobFieldEffect}; const struct SpriteFrameImage gFieldEffectObjectPicTable_Arrow[] = { overworld_frame(gFieldEffectObjectPic_Arrow, 2, 2, 0), @@ -202,7 +202,7 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_Arrow[] = gFieldEffectObjectImageAnim_850CC40, }; -const struct SpriteTemplate gFieldEffectObjectTemplate_Arrow = {0xFFFF, 0xFFFF, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_Arrow, gFieldEffectObjectPicTable_Arrow, gDummySpriteAffineAnimTable, SpriteCallbackDummy}; +const struct SpriteTemplate gFieldEffectObjectTemplate_Arrow = {0xFFFF, 0xFFFF, &gObjectEventBaseOam_16x16, gFieldEffectObjectImageAnimTable_Arrow, gFieldEffectObjectPicTable_Arrow, gDummySpriteAffineAnimTable, SpriteCallbackDummy}; const struct SpriteFrameImage gFieldEffectObjectPicTable_GroundImpactDust[] = { overworld_frame(gFieldEffectObjectPic_GroundImpactDust, 2, 1, 0), @@ -223,7 +223,7 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_GroundImpactDust[] = gFieldEffectObjectImageAnim_850CC8C, }; -const struct SpriteTemplate gFieldEffectObjectTemplate_GroundImpactDust = {0xFFFF, 0x1004, &gEventObjectBaseOam_16x8, gFieldEffectObjectImageAnimTable_GroundImpactDust, gFieldEffectObjectPicTable_GroundImpactDust, gDummySpriteAffineAnimTable, sub_8156194}; +const struct SpriteTemplate gFieldEffectObjectTemplate_GroundImpactDust = {0xFFFF, 0x1004, &gObjectEventBaseOam_16x8, gFieldEffectObjectImageAnimTable_GroundImpactDust, gFieldEffectObjectPicTable_GroundImpactDust, gDummySpriteAffineAnimTable, sub_8156194}; const struct SpriteFrameImage gFieldEffectObjectPicTable_BikeHopTallGrass[] = { overworld_frame(gFieldEffectObjectPic_BikeHopTallGrass, 2, 1, 0), @@ -246,7 +246,7 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_BikeHopTallGrass[] = gFieldEffectObjectImageAnim_850CCD8, }; -const struct SpriteTemplate gFieldEffectObjectTemplate_BikeHopTallGrass = {0xFFFF, 0x1005, &gEventObjectBaseOam_16x8, gFieldEffectObjectImageAnimTable_BikeHopTallGrass, gFieldEffectObjectPicTable_BikeHopTallGrass, gDummySpriteAffineAnimTable, sub_8156194}; +const struct SpriteTemplate gFieldEffectObjectTemplate_BikeHopTallGrass = {0xFFFF, 0x1005, &gObjectEventBaseOam_16x8, gFieldEffectObjectImageAnimTable_BikeHopTallGrass, gFieldEffectObjectPicTable_BikeHopTallGrass, gDummySpriteAffineAnimTable, sub_8156194}; const struct SpriteFrameImage gFieldEffectObjectPicTable_SandFootprints[] = { overworld_frame(gFieldEffectObjectPic_SandFootprints, 2, 2, 0), @@ -286,7 +286,7 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_SandFootprints[] = gFieldEffectObjectImageAnim_850CD30, }; -const struct SpriteTemplate gFieldEffectObjectTemplate_SandFootprints = {0xFFFF, 0x1004, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_SandFootprints, gFieldEffectObjectPicTable_SandFootprints, gDummySpriteAffineAnimTable, UpdateFootprintsTireTracksFieldEffect}; +const struct SpriteTemplate gFieldEffectObjectTemplate_SandFootprints = {0xFFFF, 0x1004, &gObjectEventBaseOam_16x16, gFieldEffectObjectImageAnimTable_SandFootprints, gFieldEffectObjectPicTable_SandFootprints, gDummySpriteAffineAnimTable, UpdateFootprintsTireTracksFieldEffect}; const struct SpriteFrameImage gFieldEffectObjectPicTable_DeepSandFootprints[] = { overworld_frame(gFieldEffectObjectPic_DeepSandFootprints, 2, 2, 0), @@ -326,7 +326,7 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_DeepSandFootprints[] gFieldEffectObjectImageAnim_850CD8C, }; -const struct SpriteTemplate gFieldEffectObjectTemplate_DeepSandFootprints = {0xFFFF, 0x1004, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_DeepSandFootprints, gFieldEffectObjectPicTable_DeepSandFootprints, gDummySpriteAffineAnimTable, UpdateFootprintsTireTracksFieldEffect}; +const struct SpriteTemplate gFieldEffectObjectTemplate_DeepSandFootprints = {0xFFFF, 0x1004, &gObjectEventBaseOam_16x16, gFieldEffectObjectImageAnimTable_DeepSandFootprints, gFieldEffectObjectPicTable_DeepSandFootprints, gDummySpriteAffineAnimTable, UpdateFootprintsTireTracksFieldEffect}; const struct SpriteFrameImage gFieldEffectObjectPicTable_BikeTireTracks[] = { overworld_frame(gFieldEffectObjectPic_BikeTireTracks, 2, 2, 0), @@ -396,7 +396,7 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_BikeTireTracks[] = gFieldEffectObjectImageAnim_850CE18, }; -const struct SpriteTemplate gFieldEffectObjectTemplate_BikeTireTracks = {0xFFFF, 0x1004, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_BikeTireTracks, gFieldEffectObjectPicTable_BikeTireTracks, gDummySpriteAffineAnimTable, UpdateFootprintsTireTracksFieldEffect}; +const struct SpriteTemplate gFieldEffectObjectTemplate_BikeTireTracks = {0xFFFF, 0x1004, &gObjectEventBaseOam_16x16, gFieldEffectObjectImageAnimTable_BikeTireTracks, gFieldEffectObjectPicTable_BikeTireTracks, gDummySpriteAffineAnimTable, UpdateFootprintsTireTracksFieldEffect}; const struct SpriteFrameImage gFieldEffectObjectPicTable_BikeHopBigSplash[] = { overworld_frame(gFieldEffectObjectPic_BikeHopBigSplash, 2, 2, 0), @@ -419,7 +419,7 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_BikeHopBigSplash[] = gFieldEffectObjectImageAnim_850CE7C, }; -const struct SpriteTemplate gFieldEffectObjectTemplate_BikeHopBigSplash = {0xFFFF, 0x1004, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_BikeHopBigSplash, gFieldEffectObjectPicTable_BikeHopBigSplash, gDummySpriteAffineAnimTable, sub_8156194}; +const struct SpriteTemplate gFieldEffectObjectTemplate_BikeHopBigSplash = {0xFFFF, 0x1004, &gObjectEventBaseOam_16x16, gFieldEffectObjectImageAnimTable_BikeHopBigSplash, gFieldEffectObjectPicTable_BikeHopBigSplash, gDummySpriteAffineAnimTable, sub_8156194}; const struct SpriteFrameImage gFieldEffectObjectPicTable_Splash[] = { overworld_frame(gFieldEffectObjectPic_Splash, 2, 1, 0), @@ -452,7 +452,7 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_Splash[] = gFieldEffectObjectImageAnim_850CEC8, }; -const struct SpriteTemplate gFieldEffectObjectTemplate_Splash = {0xFFFF, 0x1004, &gEventObjectBaseOam_16x8, gFieldEffectObjectImageAnimTable_Splash, gFieldEffectObjectPicTable_Splash, gDummySpriteAffineAnimTable, UpdateSplashFieldEffect}; +const struct SpriteTemplate gFieldEffectObjectTemplate_Splash = {0xFFFF, 0x1004, &gObjectEventBaseOam_16x8, gFieldEffectObjectImageAnimTable_Splash, gFieldEffectObjectPicTable_Splash, gDummySpriteAffineAnimTable, UpdateSplashFieldEffect}; const struct SpriteFrameImage gFieldEffectObjectPicTable_BikeHopSmallSplash[] = { overworld_frame(gFieldEffectObjectPic_BikeHopSmallSplash, 2, 1, 0), @@ -473,7 +473,7 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_BikeHopSmallSplash[] gFieldEffectObjectImageAnim_850CF24, }; -const struct SpriteTemplate gFieldEffectObjectTemplate_BikeHopSmallSplash = {0xFFFF, 0x1004, &gEventObjectBaseOam_16x8, gFieldEffectObjectImageAnimTable_BikeHopSmallSplash, gFieldEffectObjectPicTable_BikeHopSmallSplash, gDummySpriteAffineAnimTable, sub_8156194}; +const struct SpriteTemplate gFieldEffectObjectTemplate_BikeHopSmallSplash = {0xFFFF, 0x1004, &gObjectEventBaseOam_16x8, gFieldEffectObjectImageAnimTable_BikeHopSmallSplash, gFieldEffectObjectPicTable_BikeHopSmallSplash, gDummySpriteAffineAnimTable, sub_8156194}; const struct SpriteFrameImage gFieldEffectObjectPicTable_LongGrass[] = { overworld_frame(gFieldEffectObjectPic_LongGrass, 2, 2, 0), @@ -499,7 +499,7 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_LongGrass[] = gFieldEffectObjectImageAnim_850CF70, }; -const struct SpriteTemplate gFieldEffectObjectTemplate_LongGrass = {0xFFFF, 0x1005, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_LongGrass, gFieldEffectObjectPicTable_LongGrass, gDummySpriteAffineAnimTable, UpdateLongGrassFieldEffect}; +const struct SpriteTemplate gFieldEffectObjectTemplate_LongGrass = {0xFFFF, 0x1005, &gObjectEventBaseOam_16x16, gFieldEffectObjectImageAnimTable_LongGrass, gFieldEffectObjectPicTable_LongGrass, gDummySpriteAffineAnimTable, UpdateLongGrassFieldEffect}; const struct SpriteFrameImage gFieldEffectObjectPicTable_Unknown16[] = { overworld_frame(gFieldEffectObjectPic_Unknown16, 2, 2, 0), @@ -526,7 +526,7 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_Unknown16[] = gFieldEffectObjectImageAnim_850CFDC, }; -const struct SpriteTemplate gFieldEffectObjectTemplate_Unknown16 = {0xFFFF, 0x1005, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_Unknown16, gFieldEffectObjectPicTable_Unknown16, gDummySpriteAffineAnimTable, sub_8156194}; +const struct SpriteTemplate gFieldEffectObjectTemplate_Unknown16 = {0xFFFF, 0x1005, &gObjectEventBaseOam_16x16, gFieldEffectObjectImageAnimTable_Unknown16, gFieldEffectObjectPicTable_Unknown16, gDummySpriteAffineAnimTable, sub_8156194}; const struct SpriteFrameImage gFieldEffectObjectPicTable_Unknown17[] = { overworld_frame(gFieldEffectObjectPic_Unknown16, 2, 2, 6), @@ -559,7 +559,7 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_Unknown17[] = gFieldEffectObjectImageAnim_850D05C, }; -const struct SpriteTemplate gFieldEffectObjectTemplate_Unknown17 = {0xFFFF, 0x1005, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_Unknown17, gFieldEffectObjectPicTable_Unknown17, gDummySpriteAffineAnimTable, WaitFieldEffectSpriteAnim}; +const struct SpriteTemplate gFieldEffectObjectTemplate_Unknown17 = {0xFFFF, 0x1005, &gObjectEventBaseOam_16x16, gFieldEffectObjectImageAnimTable_Unknown17, gFieldEffectObjectPicTable_Unknown17, gDummySpriteAffineAnimTable, WaitFieldEffectSpriteAnim}; const struct SpriteFrameImage gFieldEffectObjectPicTable_Unknown18[] = { overworld_frame(gFieldEffectObjectPic_Unknown18, 2, 2, 0), @@ -584,7 +584,7 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_Unknown18[] = gFieldEffectObjectImageAnim_850D0C0, }; -const struct SpriteTemplate gFieldEffectObjectTemplate_Unknown18 = {0xFFFF, 0x1005, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_Unknown18, gFieldEffectObjectPicTable_Unknown18, gDummySpriteAffineAnimTable, WaitFieldEffectSpriteAnim}; +const struct SpriteTemplate gFieldEffectObjectTemplate_Unknown18 = {0xFFFF, 0x1005, &gObjectEventBaseOam_16x16, gFieldEffectObjectImageAnimTable_Unknown18, gFieldEffectObjectPicTable_Unknown18, gDummySpriteAffineAnimTable, WaitFieldEffectSpriteAnim}; const struct SpriteFrameImage gFieldEffectObjectPicTable_Unknown19[] = { overworld_frame(gFieldEffectObjectPic_Unknown19, 2, 2, 0), @@ -607,7 +607,7 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_Unknown19[] = gFieldEffectObjectImageAnim_850D118, }; -const struct SpriteTemplate gFieldEffectObjectTemplate_Unknown19 = {0xFFFF, 0x1004, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_Unknown19, gFieldEffectObjectPicTable_Unknown19, gDummySpriteAffineAnimTable, WaitFieldEffectSpriteAnim}; +const struct SpriteTemplate gFieldEffectObjectTemplate_Unknown19 = {0xFFFF, 0x1004, &gObjectEventBaseOam_16x16, gFieldEffectObjectImageAnimTable_Unknown19, gFieldEffectObjectPicTable_Unknown19, gDummySpriteAffineAnimTable, WaitFieldEffectSpriteAnim}; const struct SpriteFrameImage gFieldEffectObjectPicTable_Unknown29[] = { overworld_frame(gFieldEffectObjectPic_Unknown29, 2, 1, 0), @@ -628,7 +628,7 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_Unknown29[] = gFieldEffectObjectImageAnim_850D160, }; -const struct SpriteTemplate gFieldEffectObjectTemplate_Unknown29 = {0xFFFF, 0x1004, &gEventObjectBaseOam_16x8, gFieldEffectObjectImageAnimTable_Unknown29, gFieldEffectObjectPicTable_Unknown29, gDummySpriteAffineAnimTable, UpdateSandPileFieldEffect}; +const struct SpriteTemplate gFieldEffectObjectTemplate_Unknown29 = {0xFFFF, 0x1004, &gObjectEventBaseOam_16x8, gFieldEffectObjectImageAnimTable_Unknown29, gFieldEffectObjectPicTable_Unknown29, gDummySpriteAffineAnimTable, UpdateSandPileFieldEffect}; const struct SpriteFrameImage gFieldEffectObjectPicTable_Unknown20[] = { overworld_frame(gFieldEffectObjectPic_Unknown20, 2, 2, 0), @@ -653,7 +653,7 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_Unknown20[] = gFieldEffectObjectImageAnim_850D1AC, }; -const struct SpriteTemplate gFieldEffectObjectTemplate_Unknown20 = {0xFFFF, 0x1004, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_Unknown20, gFieldEffectObjectPicTable_Unknown20, gDummySpriteAffineAnimTable, WaitFieldEffectSpriteAnim}; +const struct SpriteTemplate gFieldEffectObjectTemplate_Unknown20 = {0xFFFF, 0x1004, &gObjectEventBaseOam_16x16, gFieldEffectObjectImageAnimTable_Unknown20, gFieldEffectObjectPicTable_Unknown20, gDummySpriteAffineAnimTable, WaitFieldEffectSpriteAnim}; const union AffineAnimCmd gFieldEffectObjectRotScalAnim_850D1E4[] = { @@ -730,7 +730,7 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_BerryTreeGrowthSpark gFieldEffectObjectImageAnim_850D2D4, }; -const struct SpriteTemplate gFieldEffectObjectTemplate_BerryTreeGrowthSparkle = {0xFFFF, 0xFFFF, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_BerryTreeGrowthSparkle, gFieldEffectObjectPicTable_BerryTreeGrowthSparkle, gDummySpriteAffineAnimTable, WaitFieldEffectSpriteAnim}; +const struct SpriteTemplate gFieldEffectObjectTemplate_BerryTreeGrowthSparkle = {0xFFFF, 0xFFFF, &gObjectEventBaseOam_16x16, gFieldEffectObjectImageAnimTable_BerryTreeGrowthSparkle, gFieldEffectObjectPicTable_BerryTreeGrowthSparkle, gDummySpriteAffineAnimTable, WaitFieldEffectSpriteAnim}; const struct SpriteFrameImage gFieldEffectObjectPicTable_TreeDisguise[] = { overworld_frame(gFieldEffectObjectPic_TreeDisguise, 2, 4, 0), @@ -766,7 +766,7 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_TreeDisguise[] = gFieldEffectObjectImageAnim_850D384, }; -const struct SpriteTemplate gFieldEffectObjectTemplate_TreeDisguise = {0xFFFF, 0xFFFF, &gEventObjectBaseOam_16x32, gFieldEffectObjectImageAnimTable_TreeDisguise, gFieldEffectObjectPicTable_TreeDisguise, gDummySpriteAffineAnimTable, UpdateDisguiseFieldEffect}; +const struct SpriteTemplate gFieldEffectObjectTemplate_TreeDisguise = {0xFFFF, 0xFFFF, &gObjectEventBaseOam_16x32, gFieldEffectObjectImageAnimTable_TreeDisguise, gFieldEffectObjectPicTable_TreeDisguise, gDummySpriteAffineAnimTable, UpdateDisguiseFieldEffect}; const struct SpriteFrameImage gFieldEffectObjectPicTable_MountainDisguise[] = { overworld_frame(gFieldEffectObjectPic_MountainDisguise, 2, 4, 0), @@ -802,7 +802,7 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_MountainDisguise[] = gFieldEffectObjectImageAnim_850D404, }; -const struct SpriteTemplate gFieldEffectObjectTemplate_MountainDisguise = {0xFFFF, 0xFFFF, &gEventObjectBaseOam_16x32, gFieldEffectObjectImageAnimTable_MountainDisguise, gFieldEffectObjectPicTable_MountainDisguise, gDummySpriteAffineAnimTable, UpdateDisguiseFieldEffect}; +const struct SpriteTemplate gFieldEffectObjectTemplate_MountainDisguise = {0xFFFF, 0xFFFF, &gObjectEventBaseOam_16x32, gFieldEffectObjectImageAnimTable_MountainDisguise, gFieldEffectObjectPicTable_MountainDisguise, gDummySpriteAffineAnimTable, UpdateDisguiseFieldEffect}; const struct SpriteFrameImage gFieldEffectObjectPicTable_SandDisguisePlaceholder[] = { overworld_frame(gFieldEffectObjectPic_SandDisguisePlaceholder, 2, 4, 0), @@ -814,7 +814,7 @@ const struct SpriteFrameImage gFieldEffectObjectPicTable_SandDisguisePlaceholder overworld_frame(gFieldEffectObjectPic_SandDisguisePlaceholder, 2, 4, 6), }; -const struct SpriteTemplate gFieldEffectObjectTemplate_SandDisguisePlaceholder = {0xFFFF, 0xFFFF, &gEventObjectBaseOam_16x32, gFieldEffectObjectImageAnimTable_TreeDisguise, gFieldEffectObjectPicTable_SandDisguisePlaceholder, gDummySpriteAffineAnimTable, UpdateDisguiseFieldEffect}; +const struct SpriteTemplate gFieldEffectObjectTemplate_SandDisguisePlaceholder = {0xFFFF, 0xFFFF, &gObjectEventBaseOam_16x32, gFieldEffectObjectImageAnimTable_TreeDisguise, gFieldEffectObjectPicTable_SandDisguisePlaceholder, gDummySpriteAffineAnimTable, UpdateDisguiseFieldEffect}; const struct SpriteFrameImage gFieldEffectObjectPicTable_Bird[] = { obj_frame_tiles(gFieldEffectObjectPic_Bird), @@ -831,7 +831,7 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_Bird[] = gFieldEffectObjectImageAnim_850D49C, }; -const struct SpriteTemplate gFieldEffectObjectTemplate_Bird = {0xFFFF, 0xFFFF, &gEventObjectBaseOam_32x32, gFieldEffectObjectImageAnimTable_Bird, gFieldEffectObjectPicTable_Bird, gDummySpriteAffineAnimTable, SpriteCallbackDummy}; +const struct SpriteTemplate gFieldEffectObjectTemplate_Bird = {0xFFFF, 0xFFFF, &gObjectEventBaseOam_32x32, gFieldEffectObjectImageAnimTable_Bird, gFieldEffectObjectPicTable_Bird, gDummySpriteAffineAnimTable, SpriteCallbackDummy}; const struct SpriteFrameImage gFieldEffectObjectPicTable_ShortGrass[] = { overworld_frame(gFieldEffectObjectPic_ShortGrass, 2, 2, 0), @@ -850,7 +850,7 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_ShortGrass[] = gFieldEffectObjectImageAnim_850D4D0, }; -const struct SpriteTemplate gFieldEffectObjectTemplate_ShortGrass = {0xFFFF, 0x1005, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_ShortGrass, gFieldEffectObjectPicTable_ShortGrass, gDummySpriteAffineAnimTable, UpdateShortGrassFieldEffect}; +const struct SpriteTemplate gFieldEffectObjectTemplate_ShortGrass = {0xFFFF, 0x1005, &gObjectEventBaseOam_16x16, gFieldEffectObjectImageAnimTable_ShortGrass, gFieldEffectObjectPicTable_ShortGrass, gDummySpriteAffineAnimTable, UpdateShortGrassFieldEffect}; const struct SpriteFrameImage gFieldEffectObjectPicTable_HotSpringsWater[] = { obj_frame_tiles(gFieldEffectObjectPic_HotSpringsWater), @@ -867,7 +867,7 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_HotSpringsWater[] = gFieldEffectObjectImageAnim_850D500, }; -const struct SpriteTemplate gFieldEffectObjectTemplate_HotSpringsWater = {0xFFFF, 0x1005, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_HotSpringsWater, gFieldEffectObjectPicTable_HotSpringsWater, gDummySpriteAffineAnimTable, UpdateHotSpringsWaterFieldEffect}; +const struct SpriteTemplate gFieldEffectObjectTemplate_HotSpringsWater = {0xFFFF, 0x1005, &gObjectEventBaseOam_16x16, gFieldEffectObjectImageAnimTable_HotSpringsWater, gFieldEffectObjectPicTable_HotSpringsWater, gDummySpriteAffineAnimTable, UpdateHotSpringsWaterFieldEffect}; const struct SpriteFrameImage gFieldEffectObjectPicTable_JumpOutOfAsh[] = { overworld_frame(gFieldEffectObjectPic_JumpOutOfAsh, 2, 2, 0), @@ -896,7 +896,7 @@ const struct SpriteTemplate gFieldEffectObjectTemplate_JumpOutOfAsh = { .tileTag = 0xFFFF, .paletteTag = 0x100D, - .oam = &gEventObjectBaseOam_16x16, + .oam = &gObjectEventBaseOam_16x16, .anims = gFieldEffectObjectImageAnimTable_JumpOutOfAsh, .images = gFieldEffectObjectPicTable_JumpOutOfAsh, .affineAnims = gDummySpriteAffineAnimTable, @@ -932,7 +932,7 @@ const struct SpriteTemplate gFieldEffectObjectTemplate_LavaridgeGymWarp = { .tileTag = 0xFFFF, .paletteTag = 0x100D, - .oam = &gEventObjectBaseOam_16x16, + .oam = &gObjectEventBaseOam_16x16, .anims = gFieldEffectObjectImageAnimTable_LavaridgeGymWarp, .images = gFieldEffectObjectPicTable_LavaridgeGymWarp, .affineAnims = gDummySpriteAffineAnimTable, @@ -968,7 +968,7 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_Bubbles[] = gFieldEffectObjectImageAnim_850D624, }; -const struct SpriteTemplate gFieldEffectObjectTemplate_Bubbles = {0xFFFF, 0x1004, &gEventObjectBaseOam_16x32, gFieldEffectObjectImageAnimTable_Bubbles, gFieldEffectObjectPicTable_Bubbles, gDummySpriteAffineAnimTable, UpdateBubblesFieldEffect}; +const struct SpriteTemplate gFieldEffectObjectTemplate_Bubbles = {0xFFFF, 0x1004, &gObjectEventBaseOam_16x32, gFieldEffectObjectImageAnimTable_Bubbles, gFieldEffectObjectPicTable_Bubbles, gDummySpriteAffineAnimTable, UpdateBubblesFieldEffect}; const struct SpriteFrameImage gFieldEffectObjectPicTable_Unknown35[] = { overworld_frame(gFieldEffectObjectPic_Unknown35, 2, 2, 0), @@ -988,7 +988,7 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_Unknown35[] = gFieldEffectObjectImageAnim_850D674, }; -const struct SpriteTemplate gFieldEffectObjectTemplate_Unknown35 = {0xFFFF, 0x100F, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_Unknown35, gFieldEffectObjectPicTable_Unknown35, gDummySpriteAffineAnimTable, UpdateSparkleFieldEffect}; +const struct SpriteTemplate gFieldEffectObjectTemplate_Unknown35 = {0xFFFF, 0x100F, &gObjectEventBaseOam_16x16, gFieldEffectObjectImageAnimTable_Unknown35, gFieldEffectObjectPicTable_Unknown35, gDummySpriteAffineAnimTable, UpdateSparkleFieldEffect}; const struct SpritePalette gFieldEffectObjectPaletteInfo3 = {gFieldEffectObjectPalette3, 0x100F}; @@ -1002,9 +1002,9 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_Rayquaza[] = { }; const struct SpriteFrameImage gFieldEffectObjectPicTable_Rayquaza[] = { - overworld_frame(gEventObjectPic_Rayquaza, 4, 4, 0), + overworld_frame(gObjectEventPic_Rayquaza, 4, 4, 0), }; -const struct SpriteTemplate gFieldEffectObjectTemplate_Rayquaza = {0xFFFF, 0xFFFF, &gEventObjectBaseOam_32x32, gFieldEffectObjectImageAnimTable_Rayquaza, gFieldEffectObjectPicTable_Rayquaza, gDummySpriteAffineAnimTable, sub_8155F80}; +const struct SpriteTemplate gFieldEffectObjectTemplate_Rayquaza = {0xFFFF, 0xFFFF, &gObjectEventBaseOam_32x32, gFieldEffectObjectImageAnimTable_Rayquaza, gFieldEffectObjectPicTable_Rayquaza, gDummySpriteAffineAnimTable, sub_8155F80}; -const struct SpritePalette gFieldEffectObjectPaletteInfoUnused = {gEventObjectPalette2, 0x1011}; +const struct SpritePalette gFieldEffectObjectPaletteInfoUnused = {gObjectEventPalette2, 0x1011}; diff --git a/src/data/field_event_obj/berry_tree_graphics_tables.h b/src/data/field_event_obj/berry_tree_graphics_tables.h deleted file mode 100755 index 27d5b1f9a..000000000 --- a/src/data/field_event_obj/berry_tree_graphics_tables.h +++ /dev/null @@ -1,565 +0,0 @@ -const struct SpriteFrameImage gEventObjectPicTable_PechaBerryTree[] = { - overworld_frame(gEventObjectPic_BerryTreeDirtPile, 2, 2, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 1), - overworld_frame(gEventObjectPic_PechaBerryTree, 2, 4, 0), - overworld_frame(gEventObjectPic_PechaBerryTree, 2, 4, 1), - overworld_frame(gEventObjectPic_PechaBerryTree, 2, 4, 2), - overworld_frame(gEventObjectPic_PechaBerryTree, 2, 4, 3), - overworld_frame(gEventObjectPic_PechaBerryTree, 2, 4, 4), - overworld_frame(gEventObjectPic_PechaBerryTree, 2, 4, 5), -}; - -const u8 gBerryTreePaletteSlotTable_Pecha[] = {3, 4, 4, 4, 4}; - -const struct SpriteFrameImage gEventObjectPicTable_KelpsyBerryTree[] = { - overworld_frame(gEventObjectPic_BerryTreeDirtPile, 2, 2, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 1), - overworld_frame(gEventObjectPic_KelpsyBerryTree, 2, 4, 0), - overworld_frame(gEventObjectPic_KelpsyBerryTree, 2, 4, 1), - overworld_frame(gEventObjectPic_KelpsyBerryTree, 2, 4, 2), - overworld_frame(gEventObjectPic_KelpsyBerryTree, 2, 4, 3), - overworld_frame(gEventObjectPic_KelpsyBerryTree, 2, 4, 4), - overworld_frame(gEventObjectPic_KelpsyBerryTree, 2, 4, 5), -}; - -const u8 gBerryTreePaletteSlotTable_Kelpsy[] = {3, 4, 2, 2, 2}; - -const struct SpriteFrameImage gEventObjectPicTable_WepearBerryTree[] = { - overworld_frame(gEventObjectPic_BerryTreeDirtPile, 2, 2, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 1), - overworld_frame(gEventObjectPic_WepearBerryTree, 2, 4, 0), - overworld_frame(gEventObjectPic_WepearBerryTree, 2, 4, 1), - overworld_frame(gEventObjectPic_WepearBerryTree, 2, 4, 2), - overworld_frame(gEventObjectPic_WepearBerryTree, 2, 4, 3), - overworld_frame(gEventObjectPic_WepearBerryTree, 2, 4, 4), - overworld_frame(gEventObjectPic_WepearBerryTree, 2, 4, 5), -}; - -const u8 gBerryTreePaletteSlotTable_Wepear[] = {3, 4, 2, 2, 2}; - -const struct SpriteFrameImage gEventObjectPicTable_IapapaBerryTree[] = { - overworld_frame(gEventObjectPic_BerryTreeDirtPile, 2, 2, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 1), - overworld_frame(gEventObjectPic_IapapaBerryTree, 2, 4, 0), - overworld_frame(gEventObjectPic_IapapaBerryTree, 2, 4, 1), - overworld_frame(gEventObjectPic_IapapaBerryTree, 2, 4, 2), - overworld_frame(gEventObjectPic_IapapaBerryTree, 2, 4, 3), - overworld_frame(gEventObjectPic_IapapaBerryTree, 2, 4, 4), - overworld_frame(gEventObjectPic_IapapaBerryTree, 2, 4, 5), -}; - -const u8 gBerryTreePaletteSlotTable_Iapapa[] = {3, 4, 3, 3, 3}; - -const struct SpriteFrameImage gEventObjectPicTable_CheriBerryTree[] = { - overworld_frame(gEventObjectPic_BerryTreeDirtPile, 2, 2, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 1), - overworld_frame(gEventObjectPic_CheriBerryTree, 2, 4, 0), - overworld_frame(gEventObjectPic_CheriBerryTree, 2, 4, 1), - overworld_frame(gEventObjectPic_CheriBerryTree, 2, 4, 2), - overworld_frame(gEventObjectPic_CheriBerryTree, 2, 4, 3), - overworld_frame(gEventObjectPic_CheriBerryTree, 2, 4, 4), - overworld_frame(gEventObjectPic_CheriBerryTree, 2, 4, 5), -}; - -const u8 gBerryTreePaletteSlotTable_Cheri[] = {3, 4, 4, 4, 4}; - -const struct SpriteFrameImage gEventObjectPicTable_FigyBerryTree[] = { - overworld_frame(gEventObjectPic_BerryTreeDirtPile, 2, 2, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 1), - overworld_frame(gEventObjectPic_FigyBerryTree, 2, 4, 0), - overworld_frame(gEventObjectPic_FigyBerryTree, 2, 4, 1), - overworld_frame(gEventObjectPic_FigyBerryTree, 2, 4, 2), - overworld_frame(gEventObjectPic_FigyBerryTree, 2, 4, 3), - overworld_frame(gEventObjectPic_FigyBerryTree, 2, 4, 4), - overworld_frame(gEventObjectPic_FigyBerryTree, 2, 4, 5), -}; - -const u8 gBerryTreePaletteSlotTable_Figy[] = {3, 4, 3, 3, 3}; - -const struct SpriteFrameImage gEventObjectPicTable_MagoBerryTree[] = { - overworld_frame(gEventObjectPic_BerryTreeDirtPile, 2, 2, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 1), - overworld_frame(gEventObjectPic_MagoBerryTree, 2, 4, 0), - overworld_frame(gEventObjectPic_MagoBerryTree, 2, 4, 1), - overworld_frame(gEventObjectPic_MagoBerryTree, 2, 4, 2), - overworld_frame(gEventObjectPic_MagoBerryTree, 2, 4, 3), - overworld_frame(gEventObjectPic_MagoBerryTree, 2, 4, 4), - overworld_frame(gEventObjectPic_MagoBerryTree, 2, 4, 5), -}; - -const u8 gBerryTreePaletteSlotTable_Mago[] = {3, 4, 3, 3, 3}; - -const struct SpriteFrameImage gEventObjectPicTable_LumBerryTree[] = { - overworld_frame(gEventObjectPic_BerryTreeDirtPile, 2, 2, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 1), - overworld_frame(gEventObjectPic_LumBerryTree, 2, 4, 0), - overworld_frame(gEventObjectPic_LumBerryTree, 2, 4, 1), - overworld_frame(gEventObjectPic_LumBerryTree, 2, 4, 2), - overworld_frame(gEventObjectPic_LumBerryTree, 2, 4, 3), - overworld_frame(gEventObjectPic_LumBerryTree, 2, 4, 4), - overworld_frame(gEventObjectPic_LumBerryTree, 2, 4, 5), -}; - -const u8 gBerryTreePaletteSlotTable_Lum[] = {3, 4, 4, 4, 4}; - -const struct SpriteFrameImage gEventObjectPicTable_RazzBerryTree[] = { - overworld_frame(gEventObjectPic_BerryTreeDirtPile, 2, 2, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 1), - overworld_frame(gEventObjectPic_RazzBerryTree, 2, 4, 0), - overworld_frame(gEventObjectPic_RazzBerryTree, 2, 4, 1), - overworld_frame(gEventObjectPic_RazzBerryTree, 2, 4, 2), - overworld_frame(gEventObjectPic_RazzBerryTree, 2, 4, 3), - overworld_frame(gEventObjectPic_RazzBerryTree, 2, 4, 4), - overworld_frame(gEventObjectPic_RazzBerryTree, 2, 4, 5), -}; - -const u8 gBerryTreePaletteSlotTable_Razz[] = {3, 4, 4, 4, 4}; - -const struct SpriteFrameImage gEventObjectPicTable_GrepaBerryTree[] = { - overworld_frame(gEventObjectPic_BerryTreeDirtPile, 2, 2, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 1), - overworld_frame(gEventObjectPic_GrepaBerryTree, 2, 4, 0), - overworld_frame(gEventObjectPic_GrepaBerryTree, 2, 4, 1), - overworld_frame(gEventObjectPic_GrepaBerryTree, 2, 4, 2), - overworld_frame(gEventObjectPic_GrepaBerryTree, 2, 4, 3), - overworld_frame(gEventObjectPic_GrepaBerryTree, 2, 4, 4), - overworld_frame(gEventObjectPic_GrepaBerryTree, 2, 4, 5), -}; - -const u8 gBerryTreePaletteSlotTable_Grepa[] = {3, 4, 3, 3, 3}; - -const struct SpriteFrameImage gEventObjectPicTable_RabutaBerryTree[] = { - overworld_frame(gEventObjectPic_BerryTreeDirtPile, 2, 2, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 1), - overworld_frame(gEventObjectPic_RabutaBerryTree, 2, 4, 0), - overworld_frame(gEventObjectPic_RabutaBerryTree, 2, 4, 1), - overworld_frame(gEventObjectPic_RabutaBerryTree, 2, 4, 2), - overworld_frame(gEventObjectPic_RabutaBerryTree, 2, 4, 3), - overworld_frame(gEventObjectPic_RabutaBerryTree, 2, 4, 4), - overworld_frame(gEventObjectPic_RabutaBerryTree, 2, 4, 5), -}; - -const u8 gBerryTreePaletteSlotTable_Rabuta[] = {3, 4, 4, 4, 4}; - -const struct SpriteFrameImage gEventObjectPicTable_NomelBerryTree[] = { - overworld_frame(gEventObjectPic_BerryTreeDirtPile, 2, 2, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 1), - overworld_frame(gEventObjectPic_NomelBerryTree, 2, 4, 0), - overworld_frame(gEventObjectPic_NomelBerryTree, 2, 4, 1), - overworld_frame(gEventObjectPic_NomelBerryTree, 2, 4, 2), - overworld_frame(gEventObjectPic_NomelBerryTree, 2, 4, 3), - overworld_frame(gEventObjectPic_NomelBerryTree, 2, 4, 4), - overworld_frame(gEventObjectPic_NomelBerryTree, 2, 4, 5), -}; - -const u8 gBerryTreePaletteSlotTable_Nomel[] = {3, 4, 3, 3, 3}; - -const struct SpriteFrameImage gEventObjectPicTable_LeppaBerryTree[] = { - overworld_frame(gEventObjectPic_BerryTreeDirtPile, 2, 2, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 1), - overworld_frame(gEventObjectPic_LeppaBerryTree, 2, 4, 0), - overworld_frame(gEventObjectPic_LeppaBerryTree, 2, 4, 1), - overworld_frame(gEventObjectPic_LeppaBerryTree, 2, 4, 2), - overworld_frame(gEventObjectPic_LeppaBerryTree, 2, 4, 3), - overworld_frame(gEventObjectPic_LeppaBerryTree, 2, 4, 4), - overworld_frame(gEventObjectPic_LeppaBerryTree, 2, 4, 5), -}; - -const u8 gBerryTreePaletteSlotTable_Leppa[] = {3, 4, 3, 3, 3}; - -const struct SpriteFrameImage gEventObjectPicTable_LiechiBerryTree[] = { - overworld_frame(gEventObjectPic_BerryTreeDirtPile, 2, 2, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 1), - overworld_frame(gEventObjectPic_LiechiBerryTree, 2, 4, 0), - overworld_frame(gEventObjectPic_LiechiBerryTree, 2, 4, 1), - overworld_frame(gEventObjectPic_LiechiBerryTree, 2, 4, 2), - overworld_frame(gEventObjectPic_LiechiBerryTree, 2, 4, 3), - overworld_frame(gEventObjectPic_LiechiBerryTree, 2, 4, 4), - overworld_frame(gEventObjectPic_LiechiBerryTree, 2, 4, 5), -}; - -const u8 gBerryTreePaletteSlotTable_Liechi[] = {3, 4, 4, 4, 4}; - -const struct SpriteFrameImage gEventObjectPicTable_HondewBerryTree[] = { - overworld_frame(gEventObjectPic_BerryTreeDirtPile, 2, 2, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 1), - overworld_frame(gEventObjectPic_HondewBerryTree, 2, 4, 0), - overworld_frame(gEventObjectPic_HondewBerryTree, 2, 4, 1), - overworld_frame(gEventObjectPic_HondewBerryTree, 2, 4, 2), - overworld_frame(gEventObjectPic_HondewBerryTree, 2, 4, 3), - overworld_frame(gEventObjectPic_HondewBerryTree, 2, 4, 4), - overworld_frame(gEventObjectPic_HondewBerryTree, 2, 4, 5), -}; - -const u8 gBerryTreePaletteSlotTable_Hondew[] = {3, 4, 5, 5, 5}; - -const struct SpriteFrameImage gEventObjectPicTable_AguavBerryTree[] = { - overworld_frame(gEventObjectPic_BerryTreeDirtPile, 2, 2, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 1), - overworld_frame(gEventObjectPic_AguavBerryTree, 2, 4, 0), - overworld_frame(gEventObjectPic_AguavBerryTree, 2, 4, 1), - overworld_frame(gEventObjectPic_AguavBerryTree, 2, 4, 2), - overworld_frame(gEventObjectPic_AguavBerryTree, 2, 4, 3), - overworld_frame(gEventObjectPic_AguavBerryTree, 2, 4, 4), - overworld_frame(gEventObjectPic_AguavBerryTree, 2, 4, 5), -}; - -const u8 gBerryTreePaletteSlotTable_Aguav[] = {3, 4, 4, 4, 4}; - -const struct SpriteFrameImage gEventObjectPicTable_WikiBerryTree[] = { - overworld_frame(gEventObjectPic_BerryTreeDirtPile, 2, 2, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 1), - overworld_frame(gEventObjectPic_WikiBerryTree, 2, 4, 0), - overworld_frame(gEventObjectPic_WikiBerryTree, 2, 4, 1), - overworld_frame(gEventObjectPic_WikiBerryTree, 2, 4, 2), - overworld_frame(gEventObjectPic_WikiBerryTree, 2, 4, 3), - overworld_frame(gEventObjectPic_WikiBerryTree, 2, 4, 4), - overworld_frame(gEventObjectPic_WikiBerryTree, 2, 4, 5), -}; - -const u8 gBerryTreePaletteSlotTable_Wiki[] = {3, 4, 3, 3, 3}; - -const struct SpriteFrameImage gEventObjectPicTable_PomegBerryTree[] = { - overworld_frame(gEventObjectPic_BerryTreeDirtPile, 2, 2, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 1), - overworld_frame(gEventObjectPic_PomegBerryTree, 2, 4, 0), - overworld_frame(gEventObjectPic_PomegBerryTree, 2, 4, 1), - overworld_frame(gEventObjectPic_PomegBerryTree, 2, 4, 2), - overworld_frame(gEventObjectPic_PomegBerryTree, 2, 4, 3), - overworld_frame(gEventObjectPic_PomegBerryTree, 2, 4, 4), - overworld_frame(gEventObjectPic_PomegBerryTree, 2, 4, 5), -}; - -const u8 gBerryTreePaletteSlotTable_Pomeg[] = {3, 4, 3, 3, 3}; - -const struct SpriteFrameImage gEventObjectPicTable_RawstBerryTree[] = { - overworld_frame(gEventObjectPic_BerryTreeDirtPile, 2, 2, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 1), - overworld_frame(gEventObjectPic_RawstBerryTree, 2, 4, 0), - overworld_frame(gEventObjectPic_RawstBerryTree, 2, 4, 1), - overworld_frame(gEventObjectPic_RawstBerryTree, 2, 4, 2), - overworld_frame(gEventObjectPic_RawstBerryTree, 2, 4, 3), - overworld_frame(gEventObjectPic_RawstBerryTree, 2, 4, 4), - overworld_frame(gEventObjectPic_RawstBerryTree, 2, 4, 5), -}; - -const u8 gBerryTreePaletteSlotTable_Rawst[] = {3, 4, 4, 4, 4}; - -const struct SpriteFrameImage gEventObjectPicTable_SpelonBerryTree[] = { - overworld_frame(gEventObjectPic_BerryTreeDirtPile, 2, 2, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 1), - overworld_frame(gEventObjectPic_SpelonBerryTree, 2, 4, 0), - overworld_frame(gEventObjectPic_SpelonBerryTree, 2, 4, 1), - overworld_frame(gEventObjectPic_SpelonBerryTree, 2, 4, 2), - overworld_frame(gEventObjectPic_SpelonBerryTree, 2, 4, 3), - overworld_frame(gEventObjectPic_SpelonBerryTree, 2, 4, 4), - overworld_frame(gEventObjectPic_SpelonBerryTree, 2, 4, 5), -}; - -const u8 gBerryTreePaletteSlotTable_Spelon[] = {3, 4, 3, 3, 3}; - -const struct SpriteFrameImage gEventObjectPicTable_ChestoBerryTree[] = { - overworld_frame(gEventObjectPic_BerryTreeDirtPile, 2, 2, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 1), - overworld_frame(gEventObjectPic_ChestoBerryTree, 2, 4, 0), - overworld_frame(gEventObjectPic_ChestoBerryTree, 2, 4, 1), - overworld_frame(gEventObjectPic_ChestoBerryTree, 2, 4, 2), - overworld_frame(gEventObjectPic_ChestoBerryTree, 2, 4, 3), - overworld_frame(gEventObjectPic_ChestoBerryTree, 2, 4, 4), - overworld_frame(gEventObjectPic_ChestoBerryTree, 2, 4, 5), -}; - -const u8 gBerryTreePaletteSlotTable_Chesto[] = {3, 4, 2, 2, 2}; - -const struct SpriteFrameImage gEventObjectPicTable_OranBerryTree[] = { - overworld_frame(gEventObjectPic_BerryTreeDirtPile, 2, 2, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 1), - overworld_frame(gEventObjectPic_OranBerryTree, 2, 4, 0), - overworld_frame(gEventObjectPic_OranBerryTree, 2, 4, 1), - overworld_frame(gEventObjectPic_OranBerryTree, 2, 4, 2), - overworld_frame(gEventObjectPic_OranBerryTree, 2, 4, 3), - overworld_frame(gEventObjectPic_OranBerryTree, 2, 4, 4), - overworld_frame(gEventObjectPic_OranBerryTree, 2, 4, 5), -}; - -const u8 gBerryTreePaletteSlotTable_Oran[] = {3, 4, 2, 2, 2}; - -const struct SpriteFrameImage gEventObjectPicTable_PersimBerryTree[] = { - overworld_frame(gEventObjectPic_BerryTreeDirtPile, 2, 2, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 1), - overworld_frame(gEventObjectPic_PersimBerryTree, 2, 4, 0), - overworld_frame(gEventObjectPic_PersimBerryTree, 2, 4, 1), - overworld_frame(gEventObjectPic_PersimBerryTree, 2, 4, 2), - overworld_frame(gEventObjectPic_PersimBerryTree, 2, 4, 3), - overworld_frame(gEventObjectPic_PersimBerryTree, 2, 4, 4), - overworld_frame(gEventObjectPic_PersimBerryTree, 2, 4, 5), -}; - -const u8 gBerryTreePaletteSlotTable_Persim[] = {3, 4, 2, 2, 2}; - -const struct SpriteFrameImage gEventObjectPicTable_SitrusBerryTree[] = { - overworld_frame(gEventObjectPic_BerryTreeDirtPile, 2, 2, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 1), - overworld_frame(gEventObjectPic_SitrusBerryTree, 2, 4, 0), - overworld_frame(gEventObjectPic_SitrusBerryTree, 2, 4, 1), - overworld_frame(gEventObjectPic_SitrusBerryTree, 2, 4, 2), - overworld_frame(gEventObjectPic_SitrusBerryTree, 2, 4, 3), - overworld_frame(gEventObjectPic_SitrusBerryTree, 2, 4, 4), - overworld_frame(gEventObjectPic_SitrusBerryTree, 2, 4, 5), -}; - -const u8 gBerryTreePaletteSlotTable_Sitrus[] = {3, 4, 4, 4, 4}; - -const struct SpriteFrameImage gEventObjectPicTable_AspearBerryTree[] = { - overworld_frame(gEventObjectPic_BerryTreeDirtPile, 2, 2, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 1), - overworld_frame(gEventObjectPic_AspearBerryTree, 2, 4, 0), - overworld_frame(gEventObjectPic_AspearBerryTree, 2, 4, 1), - overworld_frame(gEventObjectPic_AspearBerryTree, 2, 4, 2), - overworld_frame(gEventObjectPic_AspearBerryTree, 2, 4, 3), - overworld_frame(gEventObjectPic_AspearBerryTree, 2, 4, 4), - overworld_frame(gEventObjectPic_AspearBerryTree, 2, 4, 5), -}; - -const u8 gBerryTreePaletteSlotTable_Aspear[] = {3, 4, 3, 3, 3}; - -const struct SpriteFrameImage gEventObjectPicTable_PamtreBerryTree[] = { - overworld_frame(gEventObjectPic_BerryTreeDirtPile, 2, 2, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 1), - overworld_frame(gEventObjectPic_PamtreBerryTree, 2, 4, 0), - overworld_frame(gEventObjectPic_PamtreBerryTree, 2, 4, 1), - overworld_frame(gEventObjectPic_PamtreBerryTree, 2, 4, 2), - overworld_frame(gEventObjectPic_PamtreBerryTree, 2, 4, 3), - overworld_frame(gEventObjectPic_PamtreBerryTree, 2, 4, 4), - overworld_frame(gEventObjectPic_PamtreBerryTree, 2, 4, 5), -}; - -const u8 gBerryTreePaletteSlotTable_Pamtre[] = {3, 4, 2, 2, 2}; - -const struct SpriteFrameImage gEventObjectPicTable_CornnBerryTree[] = { - overworld_frame(gEventObjectPic_BerryTreeDirtPile, 2, 2, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 1), - overworld_frame(gEventObjectPic_CornnBerryTree, 2, 4, 0), - overworld_frame(gEventObjectPic_CornnBerryTree, 2, 4, 1), - overworld_frame(gEventObjectPic_CornnBerryTree, 2, 4, 2), - overworld_frame(gEventObjectPic_CornnBerryTree, 2, 4, 3), - overworld_frame(gEventObjectPic_CornnBerryTree, 2, 4, 4), - overworld_frame(gEventObjectPic_CornnBerryTree, 2, 4, 5), -}; - -const u8 gBerryTreePaletteSlotTable_Cornn[] = {3, 4, 2, 2, 2}; - -const struct SpriteFrameImage gEventObjectPicTable_LansatBerryTree[] = { - overworld_frame(gEventObjectPic_BerryTreeDirtPile, 2, 2, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 1), - overworld_frame(gEventObjectPic_LansatBerryTree, 2, 4, 0), - overworld_frame(gEventObjectPic_LansatBerryTree, 2, 4, 1), - overworld_frame(gEventObjectPic_LansatBerryTree, 2, 4, 2), - overworld_frame(gEventObjectPic_LansatBerryTree, 2, 4, 3), - overworld_frame(gEventObjectPic_LansatBerryTree, 2, 4, 4), - overworld_frame(gEventObjectPic_LansatBerryTree, 2, 4, 5), -}; - -const u8 gBerryTreePaletteSlotTable_Lansat[] = {3, 4, 2, 2, 2}; - -const struct SpriteFrameImage gEventObjectPicTable_DurinBerryTree[] = { - overworld_frame(gEventObjectPic_BerryTreeDirtPile, 2, 2, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 1), - overworld_frame(gEventObjectPic_DurinBerryTree, 2, 4, 0), - overworld_frame(gEventObjectPic_DurinBerryTree, 2, 4, 1), - overworld_frame(gEventObjectPic_DurinBerryTree, 2, 4, 2), - overworld_frame(gEventObjectPic_DurinBerryTree, 2, 4, 3), - overworld_frame(gEventObjectPic_DurinBerryTree, 2, 4, 4), - overworld_frame(gEventObjectPic_DurinBerryTree, 2, 4, 5), -}; - -const u8 gBerryTreePaletteSlotTable_Durin[] = {3, 4, 4, 4, 4}; - -const struct SpriteFrameImage gEventObjectPicTable_TamatoBerryTree[] = { - overworld_frame(gEventObjectPic_BerryTreeDirtPile, 2, 2, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 0), - overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 1), - overworld_frame(gEventObjectPic_TamatoBerryTree, 2, 4, 0), - overworld_frame(gEventObjectPic_TamatoBerryTree, 2, 4, 1), - overworld_frame(gEventObjectPic_TamatoBerryTree, 2, 4, 2), - overworld_frame(gEventObjectPic_TamatoBerryTree, 2, 4, 3), - overworld_frame(gEventObjectPic_TamatoBerryTree, 2, 4, 4), - overworld_frame(gEventObjectPic_TamatoBerryTree, 2, 4, 5), -}; - -const u8 gBerryTreePaletteSlotTable_Tamato[] = {3, 4, 2, 2, 2}; - -const u8 gDeadBerryTreeEventObjectGraphicsIdTable[] = {EVENT_OBJ_GFX_BERRY_TREE_EARLY_STAGES, EVENT_OBJ_GFX_BERRY_TREE_EARLY_STAGES, EVENT_OBJ_GFX_BERRY_TREE_EARLY_STAGES, EVENT_OBJ_GFX_BERRY_TREE_EARLY_STAGES, EVENT_OBJ_GFX_BERRY_TREE_EARLY_STAGES}; - -const u8 gBerryTreeEventObjectGraphicsIdTable[] = {EVENT_OBJ_GFX_BERRY_TREE_EARLY_STAGES, EVENT_OBJ_GFX_BERRY_TREE_EARLY_STAGES, EVENT_OBJ_GFX_BERRY_TREE_LATE_STAGES, EVENT_OBJ_GFX_BERRY_TREE_LATE_STAGES, EVENT_OBJ_GFX_BERRY_TREE_LATE_STAGES}; - -const struct SpriteFrameImage *const gBerryTreePicTablePointers[] = { - [ITEM_CHERI_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_CheriBerryTree, - [ITEM_CHESTO_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_ChestoBerryTree, - [ITEM_PECHA_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_PechaBerryTree, - [ITEM_RAWST_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_RawstBerryTree, - [ITEM_ASPEAR_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_AspearBerryTree, - [ITEM_LEPPA_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_LeppaBerryTree, - [ITEM_ORAN_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_OranBerryTree, - [ITEM_PERSIM_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_PersimBerryTree, - [ITEM_LUM_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_LumBerryTree, - [ITEM_SITRUS_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_SitrusBerryTree, - [ITEM_FIGY_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_FigyBerryTree, - [ITEM_WIKI_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_WikiBerryTree, - [ITEM_MAGO_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_MagoBerryTree, - [ITEM_AGUAV_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_AguavBerryTree, - [ITEM_IAPAPA_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_IapapaBerryTree, - [ITEM_RAZZ_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_RazzBerryTree, - [ITEM_BLUK_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_RazzBerryTree, - [ITEM_NANAB_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_MagoBerryTree, - [ITEM_WEPEAR_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_WepearBerryTree, - [ITEM_PINAP_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_IapapaBerryTree, - [ITEM_POMEG_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_PomegBerryTree, - [ITEM_KELPSY_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_KelpsyBerryTree, - [ITEM_QUALOT_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_WepearBerryTree, - [ITEM_HONDEW_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_HondewBerryTree, - [ITEM_GREPA_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_GrepaBerryTree, - [ITEM_TAMATO_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_TamatoBerryTree, - [ITEM_CORNN_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_CornnBerryTree, - [ITEM_MAGOST_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_PomegBerryTree, - [ITEM_RABUTA_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_RabutaBerryTree, - [ITEM_NOMEL_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_NomelBerryTree, - [ITEM_SPELON_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_SpelonBerryTree, - [ITEM_PAMTRE_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_PamtreBerryTree, - [ITEM_WATMEL_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_RabutaBerryTree, - [ITEM_DURIN_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_DurinBerryTree, - [ITEM_BELUE_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_HondewBerryTree, - [ITEM_LIECHI_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_LiechiBerryTree, - [ITEM_GANLON_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_HondewBerryTree, - [ITEM_SALAC_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_AguavBerryTree, - [ITEM_PETAYA_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_PomegBerryTree, - [ITEM_APICOT_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_GrepaBerryTree, - [ITEM_LANSAT_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_LansatBerryTree, - [ITEM_STARF_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_CornnBerryTree, - [ITEM_ENIGMA_BERRY - FIRST_BERRY_INDEX] = gEventObjectPicTable_DurinBerryTree, -}; - -const u8 *const gBerryTreePaletteSlotTablePointers[] = { - [ITEM_CHERI_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Cheri, - [ITEM_CHESTO_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Chesto, - [ITEM_PECHA_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Pecha, - [ITEM_RAWST_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Rawst, - [ITEM_ASPEAR_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Aspear, - [ITEM_LEPPA_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Leppa, - [ITEM_ORAN_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Oran, - [ITEM_PERSIM_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Persim, - [ITEM_LUM_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Lum, - [ITEM_SITRUS_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Sitrus, - [ITEM_FIGY_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Figy, - [ITEM_WIKI_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Wiki, - [ITEM_MAGO_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Mago, - [ITEM_AGUAV_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Aguav, - [ITEM_IAPAPA_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Iapapa, - [ITEM_RAZZ_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Razz, - [ITEM_BLUK_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Razz, - [ITEM_NANAB_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Mago, - [ITEM_WEPEAR_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Wepear, - [ITEM_PINAP_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Iapapa, - [ITEM_POMEG_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Pomeg, - [ITEM_KELPSY_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Kelpsy, - [ITEM_QUALOT_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Wepear, - [ITEM_HONDEW_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Hondew, - [ITEM_GREPA_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Grepa, - [ITEM_TAMATO_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Tamato, - [ITEM_CORNN_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Cornn, - [ITEM_MAGOST_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Pomeg, - [ITEM_RABUTA_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Rabuta, - [ITEM_NOMEL_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Nomel, - [ITEM_SPELON_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Spelon, - [ITEM_PAMTRE_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Pamtre, - [ITEM_WATMEL_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Rabuta, - [ITEM_DURIN_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Durin, - [ITEM_BELUE_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Hondew, - [ITEM_LIECHI_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Liechi, - [ITEM_GANLON_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Hondew, - [ITEM_SALAC_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Aguav, - [ITEM_PETAYA_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Pomeg, - [ITEM_APICOT_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Grepa, - [ITEM_LANSAT_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Lansat, - [ITEM_STARF_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Cornn, - [ITEM_ENIGMA_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Durin, -}; - -const u8 *const gBerryTreeEventObjectGraphicsIdTablePointers[] = { - [ITEM_CHERI_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, - [ITEM_CHESTO_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, - [ITEM_PECHA_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, - [ITEM_RAWST_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, - [ITEM_ASPEAR_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, - [ITEM_LEPPA_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, - [ITEM_ORAN_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, - [ITEM_PERSIM_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, - [ITEM_LUM_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, - [ITEM_SITRUS_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, - [ITEM_FIGY_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, - [ITEM_WIKI_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, - [ITEM_MAGO_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, - [ITEM_AGUAV_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, - [ITEM_IAPAPA_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, - [ITEM_RAZZ_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, - [ITEM_BLUK_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, - [ITEM_NANAB_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, - [ITEM_WEPEAR_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, - [ITEM_PINAP_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, - [ITEM_POMEG_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, - [ITEM_KELPSY_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, - [ITEM_QUALOT_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, - [ITEM_HONDEW_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, - [ITEM_GREPA_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, - [ITEM_TAMATO_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, - [ITEM_CORNN_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, - [ITEM_MAGOST_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, - [ITEM_RABUTA_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, - [ITEM_NOMEL_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, - [ITEM_SPELON_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, - [ITEM_PAMTRE_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, - [ITEM_WATMEL_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, - [ITEM_DURIN_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, - [ITEM_BELUE_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, - [ITEM_LIECHI_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, - [ITEM_GANLON_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, - [ITEM_SALAC_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, - [ITEM_PETAYA_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, - [ITEM_APICOT_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, - [ITEM_LANSAT_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, - [ITEM_STARF_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, - [ITEM_ENIGMA_BERRY - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, - // 3 unused berries. - [ITEM_0B0 - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, - [ITEM_0B1 - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, - [ITEM_0B2 - FIRST_BERRY_INDEX] = gBerryTreeEventObjectGraphicsIdTable, -}; diff --git a/src/data/field_event_obj/event_object_anims.h b/src/data/field_event_obj/event_object_anims.h deleted file mode 100755 index 6203e0548..000000000 --- a/src/data/field_event_obj/event_object_anims.h +++ /dev/null @@ -1,1171 +0,0 @@ -const union AnimCmd gEventObjectImageAnim_StayStill[] = -{ - ANIMCMD_FRAME(0, 8), - ANIMCMD_FRAME(0, 8), - ANIMCMD_FRAME(0, 8), - ANIMCMD_FRAME(0, 8), - ANIMCMD_JUMP(0), -}; - -const union AnimCmd gEventObjectImageAnim_QuintyPlumpFaceSouth[] = -{ - ANIMCMD_FRAME(0, 16), - ANIMCMD_JUMP(0), -}; - -const union AnimCmd gEventObjectImageAnim_QuintyPlumpFaceNorth[] = -{ - ANIMCMD_FRAME(1, 16), - ANIMCMD_JUMP(0), -}; - -const union AnimCmd gEventObjectImageAnim_QuintyPlumpFaceWest[] = -{ - ANIMCMD_FRAME(2, 16), - ANIMCMD_JUMP(0), -}; - -const union AnimCmd gEventObjectImageAnim_QuintyPlumpFaceEast[] = -{ - ANIMCMD_FRAME(2, 16, .hFlip = TRUE), - ANIMCMD_JUMP(0), -}; - -const union AnimCmd gEventObjectImageAnim_QuintyPlumpGoSouth[] = -{ - ANIMCMD_FRAME(3, 8), - ANIMCMD_FRAME(0, 8), - ANIMCMD_FRAME(3, 8, .hFlip = TRUE), - ANIMCMD_FRAME(0, 8), - ANIMCMD_JUMP(0), -}; - -const union AnimCmd gEventObjectImageAnim_QuintyPlumpGoNorth[] = -{ - ANIMCMD_FRAME(4, 8), - ANIMCMD_FRAME(1, 8), - ANIMCMD_FRAME(4, 8, .hFlip = TRUE), - ANIMCMD_FRAME(1, 8), - ANIMCMD_JUMP(0), -}; - -const union AnimCmd gEventObjectImageAnim_QuintyPlumpGoWest[] = -{ - ANIMCMD_FRAME(5, 8), - ANIMCMD_FRAME(2, 8), - ANIMCMD_FRAME(6, 8), - ANIMCMD_FRAME(2, 8), - ANIMCMD_JUMP(0), -}; - -const union AnimCmd gEventObjectImageAnim_QuintyPlumpGoEast[] = -{ - ANIMCMD_FRAME(5, 8, .hFlip = TRUE), - ANIMCMD_FRAME(2, 8, .hFlip = TRUE), - ANIMCMD_FRAME(6, 8, .hFlip = TRUE), - ANIMCMD_FRAME(2, 8, .hFlip = TRUE), - ANIMCMD_JUMP(0), -}; - -const union AnimCmd gEventObjectImageAnim_QuintyPlumpGoFastSouth[] = -{ - ANIMCMD_FRAME(3, 4), - ANIMCMD_FRAME(0, 4), - ANIMCMD_FRAME(3, 4, .hFlip = TRUE), - ANIMCMD_FRAME(0, 4), - ANIMCMD_JUMP(0), -}; - -const union AnimCmd gEventObjectImageAnim_QuintyPlumpGoFastNorth[] = -{ - ANIMCMD_FRAME(4, 4), - ANIMCMD_FRAME(1, 4), - ANIMCMD_FRAME(4, 4, .hFlip = TRUE), - ANIMCMD_FRAME(1, 4), - ANIMCMD_JUMP(0), -}; - -const union AnimCmd gEventObjectImageAnim_QuintyPlumpGoFastWest[] = -{ - ANIMCMD_FRAME(5, 4), - ANIMCMD_FRAME(2, 4), - ANIMCMD_FRAME(6, 4), - ANIMCMD_FRAME(2, 4), - ANIMCMD_JUMP(0), -}; - -const union AnimCmd gEventObjectImageAnim_QuintyPlumpGoFastEast[] = -{ - ANIMCMD_FRAME(5, 4, .hFlip = TRUE), - ANIMCMD_FRAME(2, 4, .hFlip = TRUE), - ANIMCMD_FRAME(6, 4, .hFlip = TRUE), - ANIMCMD_FRAME(2, 4, .hFlip = TRUE), - ANIMCMD_JUMP(0), -}; - -const union AnimCmd gEventObjectImageAnim_QuintyPlumpGoFasterSouth[] = -{ - ANIMCMD_FRAME(3, 2), - ANIMCMD_FRAME(0, 2), - ANIMCMD_FRAME(3, 2, .hFlip = TRUE), - ANIMCMD_FRAME(0, 2), - ANIMCMD_JUMP(0), -}; - -const union AnimCmd gEventObjectImageAnim_QuintyPlumpGoFasterNorth[] = -{ - ANIMCMD_FRAME(4, 2), - ANIMCMD_FRAME(1, 2), - ANIMCMD_FRAME(4, 2, .hFlip = TRUE), - ANIMCMD_FRAME(1, 2), - ANIMCMD_JUMP(0), -}; - -const union AnimCmd gEventObjectImageAnim_QuintyPlumpGoFasterWest[] = -{ - ANIMCMD_FRAME(5, 2), - ANIMCMD_FRAME(2, 2), - ANIMCMD_FRAME(6, 2), - ANIMCMD_FRAME(2, 2), - ANIMCMD_JUMP(0), -}; - -const union AnimCmd gEventObjectImageAnim_QuintyPlumpGoFasterEast[] = -{ - ANIMCMD_FRAME(5, 2, .hFlip = TRUE), - ANIMCMD_FRAME(2, 2, .hFlip = TRUE), - ANIMCMD_FRAME(6, 2, .hFlip = TRUE), - ANIMCMD_FRAME(2, 2, .hFlip = TRUE), - ANIMCMD_JUMP(0), -}; - -const union AnimCmd gEventObjectImageAnim_QuintyPlumpGoFastestSouth[] = -{ - ANIMCMD_FRAME(3, 1), - ANIMCMD_FRAME(0, 1), - ANIMCMD_FRAME(3, 1, .hFlip = TRUE), - ANIMCMD_FRAME(0, 1), - ANIMCMD_JUMP(0), -}; - -const union AnimCmd gEventObjectImageAnim_QuintyPlumpGoFastestNorth[] = -{ - ANIMCMD_FRAME(4, 1), - ANIMCMD_FRAME(1, 1), - ANIMCMD_FRAME(4, 1, .hFlip = TRUE), - ANIMCMD_FRAME(1, 1), - ANIMCMD_JUMP(0), -}; - -const union AnimCmd gEventObjectImageAnim_QuintyPlumpGoFastestWest[] = -{ - ANIMCMD_FRAME(5, 1), - ANIMCMD_FRAME(2, 1), - ANIMCMD_FRAME(6, 1), - ANIMCMD_FRAME(2, 1), - ANIMCMD_JUMP(0), -}; - -const union AnimCmd gEventObjectImageAnim_QuintyPlumpGoFastestEast[] = -{ - ANIMCMD_FRAME(5, 1, .hFlip = TRUE), - ANIMCMD_FRAME(2, 1, .hFlip = TRUE), - ANIMCMD_FRAME(6, 1, .hFlip = TRUE), - ANIMCMD_FRAME(2, 1, .hFlip = TRUE), - ANIMCMD_JUMP(0), -}; - -const union AnimCmd gEventObjectImageAnim_FaceSouth[] = -{ - ANIMCMD_FRAME(0, 16), - ANIMCMD_JUMP(0), -}; - -const union AnimCmd gEventObjectImageAnim_FaceNorth[] = -{ - ANIMCMD_FRAME(1, 16), - ANIMCMD_JUMP(0), -}; - -const union AnimCmd gEventObjectImageAnim_FaceWest[] = -{ - ANIMCMD_FRAME(2, 16), - ANIMCMD_JUMP(0), -}; - -const union AnimCmd gEventObjectImageAnim_FaceEast[] = -{ - ANIMCMD_FRAME(2, 16, .hFlip = TRUE), - ANIMCMD_JUMP(0), -}; - -const union AnimCmd gEventObjectImageAnim_GoSouth[] = -{ - ANIMCMD_FRAME(3, 8), - ANIMCMD_FRAME(0, 8), - ANIMCMD_FRAME(4, 8), - ANIMCMD_FRAME(0, 8), - ANIMCMD_JUMP(0), -}; - -const union AnimCmd gEventObjectImageAnim_GoNorth[] = -{ - ANIMCMD_FRAME(5, 8), - ANIMCMD_FRAME(1, 8), - ANIMCMD_FRAME(6, 8), - ANIMCMD_FRAME(1, 8), - ANIMCMD_JUMP(0), -}; - -const union AnimCmd gEventObjectImageAnim_GoWest[] = -{ - ANIMCMD_FRAME(7, 8), - ANIMCMD_FRAME(2, 8), - ANIMCMD_FRAME(8, 8), - ANIMCMD_FRAME(2, 8), - ANIMCMD_JUMP(0), -}; - -const union AnimCmd gEventObjectImageAnim_GoEast[] = -{ - ANIMCMD_FRAME(7, 8, .hFlip = TRUE), - ANIMCMD_FRAME(2, 8, .hFlip = TRUE), - ANIMCMD_FRAME(8, 8, .hFlip = TRUE), - ANIMCMD_FRAME(2, 8, .hFlip = TRUE), - ANIMCMD_JUMP(0), -}; - -const union AnimCmd gEventObjectImageAnim_GoFastSouth[] = -{ - ANIMCMD_FRAME(3, 4), - ANIMCMD_FRAME(0, 4), - ANIMCMD_FRAME(4, 4), - ANIMCMD_FRAME(0, 4), - ANIMCMD_JUMP(0), -}; - -const union AnimCmd gEventObjectImageAnim_GoFastNorth[] = -{ - ANIMCMD_FRAME(5, 4), - ANIMCMD_FRAME(1, 4), - ANIMCMD_FRAME(6, 4), - ANIMCMD_FRAME(1, 4), - ANIMCMD_JUMP(0), -}; - -const union AnimCmd gEventObjectImageAnim_GoFastWest[] = -{ - ANIMCMD_FRAME(7, 4), - ANIMCMD_FRAME(2, 4), - ANIMCMD_FRAME(8, 4), - ANIMCMD_FRAME(2, 4), - ANIMCMD_JUMP(0), -}; - -const union AnimCmd gEventObjectImageAnim_GoFastEast[] = -{ - ANIMCMD_FRAME(7, 4, .hFlip = TRUE), - ANIMCMD_FRAME(2, 4, .hFlip = TRUE), - ANIMCMD_FRAME(8, 4, .hFlip = TRUE), - ANIMCMD_FRAME(2, 4, .hFlip = TRUE), - ANIMCMD_JUMP(0), -}; - -const union AnimCmd gEventObjectImageAnim_GoFasterSouth[] = -{ - ANIMCMD_FRAME(3, 2), - ANIMCMD_FRAME(0, 2), - ANIMCMD_FRAME(4, 2), - ANIMCMD_FRAME(0, 2), - ANIMCMD_JUMP(0), -}; - -const union AnimCmd gEventObjectImageAnim_GoFasterNorth[] = -{ - ANIMCMD_FRAME(5, 2), - ANIMCMD_FRAME(1, 2), - ANIMCMD_FRAME(6, 2), - ANIMCMD_FRAME(1, 2), - ANIMCMD_JUMP(0), -}; - -const union AnimCmd gEventObjectImageAnim_GoFasterWest[] = -{ - ANIMCMD_FRAME(7, 2), - ANIMCMD_FRAME(2, 2), - ANIMCMD_FRAME(8, 2), - ANIMCMD_FRAME(2, 2), - ANIMCMD_JUMP(0), -}; - -const union AnimCmd gEventObjectImageAnim_GoFasterEast[] = -{ - ANIMCMD_FRAME(7, 2, .hFlip = TRUE), - ANIMCMD_FRAME(2, 2, .hFlip = TRUE), - ANIMCMD_FRAME(8, 2, .hFlip = TRUE), - ANIMCMD_FRAME(2, 2, .hFlip = TRUE), - ANIMCMD_JUMP(0), -}; - -const union AnimCmd gEventObjectImageAnim_GoFastestSouth[] = -{ - ANIMCMD_FRAME(3, 1), - ANIMCMD_FRAME(0, 1), - ANIMCMD_FRAME(4, 1), - ANIMCMD_FRAME(0, 1), - ANIMCMD_JUMP(0), -}; - -const union AnimCmd gEventObjectImageAnim_GoFastestNorth[] = -{ - ANIMCMD_FRAME(5, 1), - ANIMCMD_FRAME(1, 1), - ANIMCMD_FRAME(6, 1), - ANIMCMD_FRAME(1, 1), - ANIMCMD_JUMP(0), -}; - -const union AnimCmd gEventObjectImageAnim_GoFastestWest[] = -{ - ANIMCMD_FRAME(7, 1), - ANIMCMD_FRAME(2, 1), - ANIMCMD_FRAME(8, 1), - ANIMCMD_FRAME(2, 1), - ANIMCMD_JUMP(0), -}; - -const union AnimCmd gEventObjectImageAnim_GoFastestEast[] = -{ - ANIMCMD_FRAME(7, 1, .hFlip = TRUE), - ANIMCMD_FRAME(2, 1, .hFlip = TRUE), - ANIMCMD_FRAME(8, 1, .hFlip = TRUE), - ANIMCMD_FRAME(2, 1, .hFlip = TRUE), - ANIMCMD_JUMP(0), -}; - -const union AnimCmd gEventObjectImageAnim_RunSouth[] = -{ - ANIMCMD_FRAME(12, 5), - ANIMCMD_FRAME(9, 3), - ANIMCMD_FRAME(13, 5), - ANIMCMD_FRAME(9, 3), - ANIMCMD_JUMP(0), -}; - -const union AnimCmd gEventObjectImageAnim_RunNorth[] = -{ - ANIMCMD_FRAME(14, 5), - ANIMCMD_FRAME(10, 3), - ANIMCMD_FRAME(15, 5), - ANIMCMD_FRAME(10, 3), - ANIMCMD_JUMP(0), -}; - -const union AnimCmd gEventObjectImageAnim_RunWest[] = -{ - ANIMCMD_FRAME(16, 5), - ANIMCMD_FRAME(11, 3), - ANIMCMD_FRAME(17, 5), - ANIMCMD_FRAME(11, 3), - ANIMCMD_JUMP(0), -}; - -const union AnimCmd gEventObjectImageAnim_RunEast[] = -{ - ANIMCMD_FRAME(16, 5, .hFlip = TRUE), - ANIMCMD_FRAME(11, 3, .hFlip = TRUE), - ANIMCMD_FRAME(17, 5, .hFlip = TRUE), - ANIMCMD_FRAME(11, 3, .hFlip = TRUE), - ANIMCMD_JUMP(0), -}; - -const union AnimCmd gEventObjectImageAnim_FieldMove[] = -{ - ANIMCMD_FRAME(0, 4), - ANIMCMD_FRAME(1, 4), - ANIMCMD_FRAME(2, 4), - ANIMCMD_FRAME(3, 4), - ANIMCMD_FRAME(4, 8), - ANIMCMD_END, -}; - -const union AnimCmd gEventObjectImageAnim_GetOnOffSurfBlobSouth[] = -{ - ANIMCMD_FRAME(9, 32), - ANIMCMD_JUMP(0), -}; - -const union AnimCmd gEventObjectImageAnim_GetOnOffSurfBlobNorth[] = -{ - ANIMCMD_FRAME(10, 32), - ANIMCMD_JUMP(0), -}; - -const union AnimCmd gEventObjectImageAnim_GetOnOffSurfBlobWest[] = -{ - ANIMCMD_FRAME(11, 32), - ANIMCMD_JUMP(0), -}; - -const union AnimCmd gEventObjectImageAnim_GetOnOffSurfBlobEast[] = -{ - ANIMCMD_FRAME(11, 32, .hFlip = TRUE), - ANIMCMD_JUMP(0), -}; - -const union AnimCmd gEventObjectImageAnim_BunnyHoppyBackWheelSouth[] = -{ - ANIMCMD_FRAME(9, 4), - ANIMCMD_FRAME(10, 4), - ANIMCMD_END, -}; - -const union AnimCmd gEventObjectImageAnim_BunnyHoppyBackWheelNorth[] = -{ - ANIMCMD_FRAME(13, 4), - ANIMCMD_FRAME(14, 4), - ANIMCMD_END, -}; - -const union AnimCmd gEventObjectImageAnim_BunnyHoppyBackWheelWest[] = -{ - ANIMCMD_FRAME(17, 4), - ANIMCMD_FRAME(18, 4), - ANIMCMD_END, -}; - -const union AnimCmd gEventObjectImageAnim_BunnyHoppyBackWheelEast[] = -{ - ANIMCMD_FRAME(17, 4, .hFlip = TRUE), - ANIMCMD_FRAME(18, 4, .hFlip = TRUE), - ANIMCMD_END, -}; - -const union AnimCmd gEventObjectImageAnim_BunnyHoppyFrontWheelSouth[] = -{ - ANIMCMD_FRAME(11, 4), - ANIMCMD_FRAME(12, 4), - ANIMCMD_END, -}; - -const union AnimCmd gEventObjectImageAnim_BunnyHoppyFrontWheelNorth[] = -{ - ANIMCMD_FRAME(15, 4), - ANIMCMD_FRAME(16, 4), - ANIMCMD_END, -}; - -const union AnimCmd gEventObjectImageAnim_BunnyHoppyFrontWheelWest[] = -{ - ANIMCMD_FRAME(19, 4), - ANIMCMD_FRAME(20, 4), - ANIMCMD_END, -}; - -const union AnimCmd gEventObjectImageAnim_BunnyHoppyFrontWheelEast[] = -{ - ANIMCMD_FRAME(19, 4, .hFlip = TRUE), - ANIMCMD_FRAME(20, 4, .hFlip = TRUE), - ANIMCMD_END, -}; - -const union AnimCmd gEventObjectImageAnim_StandingWheelieBackWheelSouth[] = -{ - ANIMCMD_FRAME(9, 4), - ANIMCMD_FRAME(0, 4), - ANIMCMD_END, -}; - -const union AnimCmd gEventObjectImageAnim_StandingWheelieBackWheelNorth[] = -{ - ANIMCMD_FRAME(13, 4), - ANIMCMD_FRAME(1, 4), - ANIMCMD_END, -}; - -const union AnimCmd gEventObjectImageAnim_StandingWheelieBackWheelWest[] = -{ - ANIMCMD_FRAME(17, 4), - ANIMCMD_FRAME(2, 4), - ANIMCMD_END, -}; - -const union AnimCmd gEventObjectImageAnim_StandingWheelieBackWheelEast[] = -{ - ANIMCMD_FRAME(17, 4, .hFlip = TRUE), - ANIMCMD_FRAME(2, 4, .hFlip = TRUE), - ANIMCMD_END, -}; - -const union AnimCmd gEventObjectImageAnim_StandingWheelieFrontWheelSouth[] = -{ - ANIMCMD_FRAME(11, 4), - ANIMCMD_FRAME(0, 4), - ANIMCMD_END, -}; - -const union AnimCmd gEventObjectImageAnim_StandingWheelieFrontWheelNorth[] = -{ - ANIMCMD_FRAME(15, 4), - ANIMCMD_FRAME(1, 4), - ANIMCMD_END, -}; - -const union AnimCmd gEventObjectImageAnim_StandingWheelieFrontWheelWest[] = -{ - ANIMCMD_FRAME(19, 4), - ANIMCMD_FRAME(2, 4), - ANIMCMD_END, -}; - -const union AnimCmd gEventObjectImageAnim_StandingWheelieFrontWheelEast[] = -{ - ANIMCMD_FRAME(19, 4, .hFlip = TRUE), - ANIMCMD_FRAME(2, 4, .hFlip = TRUE), - ANIMCMD_END, -}; - -const union AnimCmd gEventObjectImageAnim_MovingWheelieSouth[] = -{ - ANIMCMD_FRAME(21, 4), - ANIMCMD_FRAME(10, 4), - ANIMCMD_FRAME(22, 4), - ANIMCMD_FRAME(10, 4), - ANIMCMD_JUMP(0), -}; - -const union AnimCmd gEventObjectImageAnim_MovingWheelieNorth[] = -{ - ANIMCMD_FRAME(23, 4), - ANIMCMD_FRAME(14, 4), - ANIMCMD_FRAME(24, 4), - ANIMCMD_FRAME(14, 4), - ANIMCMD_JUMP(0), -}; - -const union AnimCmd gEventObjectImageAnim_MovingWheelieWest[] = -{ - ANIMCMD_FRAME(25, 4), - ANIMCMD_FRAME(18, 4), - ANIMCMD_FRAME(26, 4), - ANIMCMD_FRAME(18, 4), - ANIMCMD_JUMP(0), -}; - -const union AnimCmd gEventObjectImageAnim_MovingWheelieEast[] = -{ - ANIMCMD_FRAME(25, 4, .hFlip = TRUE), - ANIMCMD_FRAME(18, 4, .hFlip = TRUE), - ANIMCMD_FRAME(26, 4, .hFlip = TRUE), - ANIMCMD_FRAME(18, 4, .hFlip = TRUE), - ANIMCMD_JUMP(0), -}; - -const union AnimCmd gEventObjectImageAnim_BerryTreeStage0[] = -{ - ANIMCMD_FRAME(0, 32), - ANIMCMD_END, -}; - -const union AnimCmd gEventObjectImageAnim_BerryTreeStage1[] = -{ - ANIMCMD_FRAME(1, 32), - ANIMCMD_FRAME(2, 32), - ANIMCMD_END, -}; - -const union AnimCmd gEventObjectImageAnim_BerryTreeStage2[] = -{ - ANIMCMD_FRAME(3, 48), - ANIMCMD_FRAME(4, 48), - ANIMCMD_END, -}; - -const union AnimCmd gEventObjectImageAnim_BerryTreeStage3[] = -{ - ANIMCMD_FRAME(5, 32), - ANIMCMD_FRAME(5, 32), - ANIMCMD_FRAME(6, 32), - ANIMCMD_FRAME(6, 32), - ANIMCMD_END, -}; - -const union AnimCmd gEventObjectImageAnim_BerryTreeStage4[] = -{ - ANIMCMD_FRAME(7, 48), - ANIMCMD_FRAME(7, 48), - ANIMCMD_FRAME(8, 48), - ANIMCMD_FRAME(8, 48), - ANIMCMD_END, -}; - -const union AnimCmd gEventObjectImageAnim_NurseBow[] = -{ - ANIMCMD_FRAME(0, 8), - ANIMCMD_FRAME(9, 32), - ANIMCMD_FRAME(0, 8), - ANIMCMD_END, -}; - -const union AnimCmd gEventObjectImageAnim_RockBreak[] = -{ - ANIMCMD_FRAME(0, 8), - ANIMCMD_FRAME(1, 8), - ANIMCMD_FRAME(2, 8), - ANIMCMD_FRAME(3, 8), - ANIMCMD_END, -}; - -const union AnimCmd gEventObjectImageAnim_TreeCut[] = -{ - ANIMCMD_FRAME(0, 6), - ANIMCMD_FRAME(1, 6), - ANIMCMD_FRAME(2, 6), - ANIMCMD_FRAME(3, 6), - ANIMCMD_END, -}; - -const union AnimCmd gEventObjectImageAnim_TakeOutRodSouth[] = -{ - ANIMCMD_FRAME(8, 4), - ANIMCMD_FRAME(9, 4), - ANIMCMD_FRAME(10, 4), - ANIMCMD_FRAME(11, 4), - ANIMCMD_END, -}; - -const union AnimCmd gEventObjectImageAnim_TakeOutRodNorth[] = -{ - ANIMCMD_FRAME(4, 4), - ANIMCMD_FRAME(5, 4), - ANIMCMD_FRAME(6, 4), - ANIMCMD_FRAME(7, 4), - ANIMCMD_END, -}; - -const union AnimCmd gEventObjectImageAnim_TakeOutRodWest[] = -{ - ANIMCMD_FRAME(0, 4), - ANIMCMD_FRAME(1, 4), - ANIMCMD_FRAME(2, 4), - ANIMCMD_FRAME(3, 4), - ANIMCMD_END, -}; - -const union AnimCmd gEventObjectImageAnim_TakeOutRodEast[] = -{ - ANIMCMD_FRAME(0, 4, .hFlip = TRUE), - ANIMCMD_FRAME(1, 4, .hFlip = TRUE), - ANIMCMD_FRAME(2, 4, .hFlip = TRUE), - ANIMCMD_FRAME(3, 4, .hFlip = TRUE), - ANIMCMD_END, -}; - -const union AnimCmd gEventObjectImageAnim_PutAwayRodSouth[] = -{ - ANIMCMD_FRAME(11, 4), - ANIMCMD_FRAME(10, 6), - ANIMCMD_FRAME(9, 6), - ANIMCMD_FRAME(8, 6), - ANIMCMD_END, -}; - -const union AnimCmd gEventObjectImageAnim_PutAwayRodNorth[] = -{ - ANIMCMD_FRAME(7, 4), - ANIMCMD_FRAME(6, 6), - ANIMCMD_FRAME(5, 6), - ANIMCMD_FRAME(4, 6), - ANIMCMD_END, -}; - -const union AnimCmd gEventObjectImageAnim_PutAwayRodWest[] = -{ - ANIMCMD_FRAME(3, 4), - ANIMCMD_FRAME(2, 4), - ANIMCMD_FRAME(1, 4), - ANIMCMD_FRAME(0, 4), - ANIMCMD_END, -}; - -const union AnimCmd gEventObjectImageAnim_PutAwayRodEast[] = -{ - ANIMCMD_FRAME(3, 4, .hFlip = TRUE), - ANIMCMD_FRAME(2, 4, .hFlip = TRUE), - ANIMCMD_FRAME(1, 4, .hFlip = TRUE), - ANIMCMD_FRAME(0, 4, .hFlip = TRUE), - ANIMCMD_END, -}; - -const union AnimCmd gEventObjectImageAnim_HookedPokemonSouth[] = -{ - ANIMCMD_FRAME(10, 6), - ANIMCMD_FRAME(11, 6), - ANIMCMD_LOOP(1), - ANIMCMD_FRAME(11, 30), - ANIMCMD_JUMP(0), -}; - -const union AnimCmd gEventObjectImageAnim_HookedPokemonNorth[] = -{ - ANIMCMD_FRAME(6, 6), - ANIMCMD_FRAME(7, 6), - ANIMCMD_LOOP(1), - ANIMCMD_FRAME(7, 30), - ANIMCMD_JUMP(0), -}; - -const union AnimCmd gEventObjectImageAnim_HookedPokemonWest[] = -{ - ANIMCMD_FRAME(2, 6), - ANIMCMD_FRAME(3, 6), - ANIMCMD_LOOP(1), - ANIMCMD_FRAME(3, 30), - ANIMCMD_JUMP(0), -}; - -const union AnimCmd gEventObjectImageAnim_HookedPokemonEast[] = -{ - ANIMCMD_FRAME(2, 6, .hFlip = TRUE), - ANIMCMD_FRAME(3, 6, .hFlip = TRUE), - ANIMCMD_LOOP(1), - ANIMCMD_FRAME(3, 30, .hFlip = TRUE), - ANIMCMD_JUMP(0), -}; - -const union AffineAnimCmd gEventObjectRotScalAnim_8508FD8[] = -{ - AFFINEANIMCMD_FRAME(0x0, 0x0, 1, 1), - AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 1), - AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 1), - AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 1), - AFFINEANIMCMD_LOOP(7), - AFFINEANIMCMD_JUMP(0), -}; - -const union AffineAnimCmd gEventObjectRotScalAnim_8509008[] = -{ - AFFINEANIMCMD_FRAME(0x0, 0x0, -1, 1), - AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 1), - AFFINEANIMCMD_LOOP(15), - AFFINEANIMCMD_FRAME(0x0, 0x0, 1, 1), - AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 1), - AFFINEANIMCMD_LOOP(15), - AFFINEANIMCMD_JUMP(0), -}; - -const union AffineAnimCmd gEventObjectRotScalAnim_8509040[] = -{ - AFFINEANIMCMD_FRAME(0x100, 0x100, 10, 0), - AFFINEANIMCMD_END, -}; - -const union AffineAnimCmd gEventObjectRotScalAnim_8509050[] = -{ - AFFINEANIMCMD_FRAME(0x100, 0x100, 10, 0), - AFFINEANIMCMD_END, -}; - -const union AffineAnimCmd gEventObjectRotScalAnim_8509060[] = -{ - AFFINEANIMCMD_FRAME(0x0, 0x0, -1, 1), - AFFINEANIMCMD_LOOP(8), - AFFINEANIMCMD_END, -}; - -const union AffineAnimCmd gEventObjectRotScalAnim_8509078[] = -{ - AFFINEANIMCMD_FRAME(0x0, 0x0, 1, 1), - AFFINEANIMCMD_LOOP(8), - AFFINEANIMCMD_END, -}; - -const union AnimCmd gEventObjectImageAnim_HoOhFlapWings[] = -{ - ANIMCMD_FRAME(3, 8), - ANIMCMD_FRAME(4, 8), - ANIMCMD_FRAME(3, 8), - ANIMCMD_FRAME(4, 8), - ANIMCMD_JUMP(0), -}; - -const union AnimCmd gEventObjectImageAnim_HoOhStayStill[] = -{ - ANIMCMD_FRAME(3, 16), - ANIMCMD_JUMP(0), -}; - -const union AnimCmd *const gEventObjectImageAnimTable_Inanimate[] = { - gEventObjectImageAnim_StayStill, -}; - -const union AnimCmd *const gEventObjectImageAnimTable_QuintyPlump[] = { - gEventObjectImageAnim_QuintyPlumpFaceSouth, - gEventObjectImageAnim_QuintyPlumpFaceNorth, - gEventObjectImageAnim_QuintyPlumpFaceWest, - gEventObjectImageAnim_QuintyPlumpFaceEast, - gEventObjectImageAnim_QuintyPlumpGoSouth, - gEventObjectImageAnim_QuintyPlumpGoNorth, - gEventObjectImageAnim_QuintyPlumpGoWest, - gEventObjectImageAnim_QuintyPlumpGoEast, - gEventObjectImageAnim_QuintyPlumpGoFastSouth, - gEventObjectImageAnim_QuintyPlumpGoFastNorth, - gEventObjectImageAnim_QuintyPlumpGoFastWest, - gEventObjectImageAnim_QuintyPlumpGoFastEast, - gEventObjectImageAnim_QuintyPlumpGoFasterSouth, - gEventObjectImageAnim_QuintyPlumpGoFasterNorth, - gEventObjectImageAnim_QuintyPlumpGoFasterWest, - gEventObjectImageAnim_QuintyPlumpGoFasterEast, - gEventObjectImageAnim_QuintyPlumpGoFastestSouth, - gEventObjectImageAnim_QuintyPlumpGoFastestNorth, - gEventObjectImageAnim_QuintyPlumpGoFastestWest, - gEventObjectImageAnim_QuintyPlumpGoFastestEast, -}; - -const union AnimCmd *const gEventObjectImageAnimTable_Standard[] = { - gEventObjectImageAnim_FaceSouth, - gEventObjectImageAnim_FaceNorth, - gEventObjectImageAnim_FaceWest, - gEventObjectImageAnim_FaceEast, - gEventObjectImageAnim_GoSouth, - gEventObjectImageAnim_GoNorth, - gEventObjectImageAnim_GoWest, - gEventObjectImageAnim_GoEast, - gEventObjectImageAnim_GoFastSouth, - gEventObjectImageAnim_GoFastNorth, - gEventObjectImageAnim_GoFastWest, - gEventObjectImageAnim_GoFastEast, - gEventObjectImageAnim_GoFasterSouth, - gEventObjectImageAnim_GoFasterNorth, - gEventObjectImageAnim_GoFasterWest, - gEventObjectImageAnim_GoFasterEast, - gEventObjectImageAnim_GoFastestSouth, - gEventObjectImageAnim_GoFastestNorth, - gEventObjectImageAnim_GoFastestWest, - gEventObjectImageAnim_GoFastestEast, -}; - -const union AnimCmd *const gEventObjectImageAnimTable_HoOh[] = { - gEventObjectImageAnim_FaceSouth, - gEventObjectImageAnim_FaceNorth, - gEventObjectImageAnim_FaceWest, - gEventObjectImageAnim_FaceEast, - gEventObjectImageAnim_HoOhFlapWings, - gEventObjectImageAnim_HoOhStayStill, - gEventObjectImageAnim_GoWest, - gEventObjectImageAnim_GoEast, - gEventObjectImageAnim_GoFastSouth, - gEventObjectImageAnim_GoFastNorth, - gEventObjectImageAnim_GoFastWest, - gEventObjectImageAnim_GoFastEast, - gEventObjectImageAnim_GoFasterSouth, - gEventObjectImageAnim_GoFasterNorth, - gEventObjectImageAnim_GoFasterWest, - gEventObjectImageAnim_GoFasterEast, - gEventObjectImageAnim_GoFastestSouth, - gEventObjectImageAnim_GoFastestNorth, - gEventObjectImageAnim_GoFastestWest, - gEventObjectImageAnim_GoFastestEast, -}; - -const union AnimCmd *const gEventObjectImageAnimTable_Groudon3[] = { - gEventObjectImageAnim_FaceSouth, - gEventObjectImageAnim_FaceNorth, - gEventObjectImageAnim_FaceWest, - gEventObjectImageAnim_FaceEast, - gEventObjectImageAnim_GoSouth, - gEventObjectImageAnim_GoEast, - gEventObjectImageAnim_GoWest, - gEventObjectImageAnim_GoEast, - gEventObjectImageAnim_GoFastSouth, - gEventObjectImageAnim_GoFastEast, - gEventObjectImageAnim_GoFastWest, - gEventObjectImageAnim_GoFastEast, - gEventObjectImageAnim_GoFasterSouth, - gEventObjectImageAnim_GoFasterEast, - gEventObjectImageAnim_GoFasterWest, - gEventObjectImageAnim_GoFasterEast, - gEventObjectImageAnim_GoFastestSouth, - gEventObjectImageAnim_GoFastestEast, - gEventObjectImageAnim_GoFastestWest, - gEventObjectImageAnim_GoFastestEast, -}; - -const union AnimCmd gEventObjectImageAnim_85091F0[] = -{ - ANIMCMD_FRAME(1, 1), - ANIMCMD_JUMP(0), -}; - -const union AnimCmd gEventObjectImageAnim_85091F8[] = -{ - ANIMCMD_FRAME(4, 1), - ANIMCMD_JUMP(0), -}; - -const union AnimCmd gEventObjectImageAnim_8509200[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_JUMP(0), -}; - -const union AnimCmd gEventObjectImageAnim_8509208[] = -{ - ANIMCMD_FRAME(2, 1), - ANIMCMD_JUMP(0), -}; - -const union AnimCmd gEventObjectImageAnim_8509210[] = -{ - ANIMCMD_FRAME(3, 1), - ANIMCMD_JUMP(0), -}; - -const union AnimCmd gEventObjectImageAnim_8509218[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_JUMP(0), -}; - -const union AnimCmd gEventObjectImageAnim_8509220[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_JUMP(0), -}; - -const union AnimCmd gEventObjectImageAnim_8509228[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_JUMP(0), -}; - -const union AnimCmd gEventObjectImageAnim_8509230[] = -{ - ANIMCMD_FRAME(3, 1), - ANIMCMD_JUMP(0), -}; - -const union AnimCmd *const gEventObjectImageAnimTable_Rayquaza2[] = { - gEventObjectImageAnim_8509218, - gEventObjectImageAnim_8509220, - gEventObjectImageAnim_8509228, - gEventObjectImageAnim_8509230, - gEventObjectImageAnim_8509200, - gEventObjectImageAnim_85091F8, - gEventObjectImageAnim_8509208, - gEventObjectImageAnim_8509210, - gEventObjectImageAnim_8509200, - gEventObjectImageAnim_85091F8, - gEventObjectImageAnim_85091F0, - gEventObjectImageAnim_8509210, - gEventObjectImageAnim_8509200, - gEventObjectImageAnim_85091F8, - gEventObjectImageAnim_8509208, - gEventObjectImageAnim_8509210, - gEventObjectImageAnim_8509200, - gEventObjectImageAnim_85091F8, - gEventObjectImageAnim_8509208, - gEventObjectImageAnim_8509210, -}; - -const union AnimCmd *const gEventObjectImageAnimTable_BrendanMayNormal[] = { - gEventObjectImageAnim_FaceSouth, - gEventObjectImageAnim_FaceNorth, - gEventObjectImageAnim_FaceWest, - gEventObjectImageAnim_FaceEast, - gEventObjectImageAnim_GoSouth, - gEventObjectImageAnim_GoNorth, - gEventObjectImageAnim_GoWest, - gEventObjectImageAnim_GoEast, - gEventObjectImageAnim_GoFastSouth, - gEventObjectImageAnim_GoFastNorth, - gEventObjectImageAnim_GoFastWest, - gEventObjectImageAnim_GoFastEast, - gEventObjectImageAnim_GoFasterSouth, - gEventObjectImageAnim_GoFasterNorth, - gEventObjectImageAnim_GoFasterWest, - gEventObjectImageAnim_GoFasterEast, - gEventObjectImageAnim_GoFastestSouth, - gEventObjectImageAnim_GoFastestNorth, - gEventObjectImageAnim_GoFastestWest, - gEventObjectImageAnim_GoFastestEast, - gEventObjectImageAnim_RunSouth, - gEventObjectImageAnim_RunNorth, - gEventObjectImageAnim_RunWest, - gEventObjectImageAnim_RunEast, -}; - -const union AnimCmd *const gEventObjectImageAnimTable_AcroBike[] = { - gEventObjectImageAnim_FaceSouth, - gEventObjectImageAnim_FaceNorth, - gEventObjectImageAnim_FaceWest, - gEventObjectImageAnim_FaceEast, - gEventObjectImageAnim_GoSouth, - gEventObjectImageAnim_GoNorth, - gEventObjectImageAnim_GoWest, - gEventObjectImageAnim_GoEast, - gEventObjectImageAnim_GoFastSouth, - gEventObjectImageAnim_GoFastNorth, - gEventObjectImageAnim_GoFastWest, - gEventObjectImageAnim_GoFastEast, - gEventObjectImageAnim_GoFasterSouth, - gEventObjectImageAnim_GoFasterNorth, - gEventObjectImageAnim_GoFasterWest, - gEventObjectImageAnim_GoFasterEast, - gEventObjectImageAnim_GoFastestSouth, - gEventObjectImageAnim_GoFastestNorth, - gEventObjectImageAnim_GoFastestWest, - gEventObjectImageAnim_GoFastestEast, - gEventObjectImageAnim_BunnyHoppyBackWheelSouth, - gEventObjectImageAnim_BunnyHoppyBackWheelNorth, - gEventObjectImageAnim_BunnyHoppyBackWheelWest, - gEventObjectImageAnim_BunnyHoppyBackWheelEast, - gEventObjectImageAnim_BunnyHoppyFrontWheelSouth, - gEventObjectImageAnim_BunnyHoppyFrontWheelNorth, - gEventObjectImageAnim_BunnyHoppyFrontWheelWest, - gEventObjectImageAnim_BunnyHoppyFrontWheelEast, - gEventObjectImageAnim_StandingWheelieBackWheelSouth, - gEventObjectImageAnim_StandingWheelieBackWheelNorth, - gEventObjectImageAnim_StandingWheelieBackWheelWest, - gEventObjectImageAnim_StandingWheelieBackWheelEast, - gEventObjectImageAnim_StandingWheelieFrontWheelSouth, - gEventObjectImageAnim_StandingWheelieFrontWheelNorth, - gEventObjectImageAnim_StandingWheelieFrontWheelWest, - gEventObjectImageAnim_StandingWheelieFrontWheelEast, - gEventObjectImageAnim_MovingWheelieSouth, - gEventObjectImageAnim_MovingWheelieNorth, - gEventObjectImageAnim_MovingWheelieWest, - gEventObjectImageAnim_MovingWheelieEast, -}; - -const union AnimCmd *const gEventObjectImageAnimTable_Surfing[] = { - gEventObjectImageAnim_FaceSouth, - gEventObjectImageAnim_FaceNorth, - gEventObjectImageAnim_FaceWest, - gEventObjectImageAnim_FaceEast, - gEventObjectImageAnim_GoSouth, - gEventObjectImageAnim_GoNorth, - gEventObjectImageAnim_GoWest, - gEventObjectImageAnim_GoEast, - gEventObjectImageAnim_GoFastSouth, - gEventObjectImageAnim_GoFastNorth, - gEventObjectImageAnim_GoFastWest, - gEventObjectImageAnim_GoFastEast, - gEventObjectImageAnim_GoFasterSouth, - gEventObjectImageAnim_GoFasterNorth, - gEventObjectImageAnim_GoFasterWest, - gEventObjectImageAnim_GoFasterEast, - gEventObjectImageAnim_GoFastestSouth, - gEventObjectImageAnim_GoFastestNorth, - gEventObjectImageAnim_GoFastestWest, - gEventObjectImageAnim_GoFastestEast, - gEventObjectImageAnim_GetOnOffSurfBlobSouth, - gEventObjectImageAnim_GetOnOffSurfBlobNorth, - gEventObjectImageAnim_GetOnOffSurfBlobWest, - gEventObjectImageAnim_GetOnOffSurfBlobEast, -}; - -const union AnimCmd *const gEventObjectImageAnimTable_Nurse[] = { - gEventObjectImageAnim_FaceSouth, - gEventObjectImageAnim_FaceNorth, - gEventObjectImageAnim_FaceWest, - gEventObjectImageAnim_FaceEast, - gEventObjectImageAnim_GoSouth, - gEventObjectImageAnim_GoNorth, - gEventObjectImageAnim_GoWest, - gEventObjectImageAnim_GoEast, - gEventObjectImageAnim_GoFastSouth, - gEventObjectImageAnim_GoFastNorth, - gEventObjectImageAnim_GoFastWest, - gEventObjectImageAnim_GoFastEast, - gEventObjectImageAnim_GoFasterSouth, - gEventObjectImageAnim_GoFasterNorth, - gEventObjectImageAnim_GoFasterWest, - gEventObjectImageAnim_GoFasterEast, - gEventObjectImageAnim_GoFastestSouth, - gEventObjectImageAnim_GoFastestNorth, - gEventObjectImageAnim_GoFastestWest, - gEventObjectImageAnim_GoFastestEast, - gEventObjectImageAnim_NurseBow, -}; - -const union AnimCmd *const gEventObjectImageAnimTable_FieldMove[] = { - gEventObjectImageAnim_FieldMove, -}; - -const union AnimCmd *const gEventObjectImageAnimTable_BerryTree[] = { - gEventObjectImageAnim_BerryTreeStage0, - gEventObjectImageAnim_BerryTreeStage1, - gEventObjectImageAnim_BerryTreeStage2, - gEventObjectImageAnim_BerryTreeStage3, - gEventObjectImageAnim_BerryTreeStage4, -}; - -const union AnimCmd *const gEventObjectImageAnimTable_BreakableRock[] = { - gEventObjectImageAnim_StayStill, - gEventObjectImageAnim_RockBreak, -}; - -const union AnimCmd *const gEventObjectImageAnimTable_CuttableTree[] = { - gEventObjectImageAnim_StayStill, - gEventObjectImageAnim_TreeCut, -}; - -const union AnimCmd *const gEventObjectImageAnimTable_Fishing[] = { - gEventObjectImageAnim_TakeOutRodSouth, - gEventObjectImageAnim_TakeOutRodNorth, - gEventObjectImageAnim_TakeOutRodWest, - gEventObjectImageAnim_TakeOutRodEast, - gEventObjectImageAnim_PutAwayRodSouth, - gEventObjectImageAnim_PutAwayRodNorth, - gEventObjectImageAnim_PutAwayRodWest, - gEventObjectImageAnim_PutAwayRodEast, - gEventObjectImageAnim_HookedPokemonSouth, - gEventObjectImageAnim_HookedPokemonNorth, - gEventObjectImageAnim_HookedPokemonWest, - gEventObjectImageAnim_HookedPokemonEast, -}; - -const union AffineAnimCmd *const gEventObjectRotScalAnimTable_KyogreGroudon[] = { - gEventObjectRotScalAnim_8508FD8, - gEventObjectRotScalAnim_8509008, - gEventObjectRotScalAnim_8509050, - gEventObjectRotScalAnim_8509040, - gEventObjectRotScalAnim_8509078, - gEventObjectRotScalAnim_8509060, -}; - -const struct UnkStruct_085094AC gUnknown_085094AC[] = { - { - .anims = gEventObjectImageAnimTable_QuintyPlump, - .animPos = {1, 3, 0, 2}, - }, - { - .anims = gEventObjectImageAnimTable_Standard, - .animPos = {1, 3, 0, 2}, - }, - { - .anims = gEventObjectImageAnimTable_BrendanMayNormal, - .animPos = {1, 3, 0, 2}, - }, - { - .anims = gEventObjectImageAnimTable_AcroBike, - .animPos = {1, 3, 0, 2}, - }, - { - .anims = gEventObjectImageAnimTable_Surfing, - .animPos = {1, 3, 0, 2}, - }, - { - .anims = gEventObjectImageAnimTable_Nurse, - .animPos = {1, 3, 0, 2}, - }, - { - .anims = gEventObjectImageAnimTable_Fishing, - .animPos = {1, 3, 0, 2}, - }, - { - NULL, - {0, 0, 0, 0}, - }, -}; diff --git a/src/data/field_event_obj/event_object_graphics.h b/src/data/field_event_obj/event_object_graphics.h deleted file mode 100755 index 1b00201a5..000000000 --- a/src/data/field_event_obj/event_object_graphics.h +++ /dev/null @@ -1,362 +0,0 @@ -const u32 gEventObjectPic_BrendanNormal[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/walking.4bpp"); -const u32 gEventObjectPic_BrendanRunning[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/running.4bpp"); -const u16 gEventObjectPalette8[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_08.gbapal"); -const u32 gEventObjectPic_RubySapphireBrendanNormal[] = INCBIN_U32("graphics/event_objects/pics/people/ruby_sapphire_brendan/walking.4bpp"); -const u32 gEventObjectPic_RubySapphireBrendanRunning[] = INCBIN_U32("graphics/event_objects/pics/people/ruby_sapphire_brendan/running.4bpp"); -const u16 gEventObjectPalette33[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_33.gbapal"); -const u16 gEventObjectPaletteNull1[16] = {}; -const u16 gEventObjectPaletteNull2[16] = {}; -const u16 gEventObjectPaletteNull3[16] = {}; -const u16 gEventObjectPaletteNull4[16] = {}; -const u16 gEventObjectPaletteNull5[16] = {}; -const u16 gEventObjectPaletteNull6[16] = {}; -const u16 gEventObjectPaletteNull7[16] = {}; -const u16 gEventObjectPaletteNull8[16] = {}; -const u16 gEventObjectPaletteNull9[16] = {}; -const u16 gEventObjectPaletteNull10[16] = {}; -const u16 gEventObjectPaletteNull11[16] = {}; -const u16 gEventObjectPaletteNull12[16] = {}; -const u16 gEventObjectPaletteNull13[16] = {}; -const u16 gEventObjectPaletteNull14[16] = {}; -const u16 gEventObjectPaletteNull15[16] = {}; -const u16 gEventObjectPalette9[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_09.gbapal"); -const u16 gEventObjectPalette10[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_10.gbapal"); -const u32 gEventObjectPic_BrendanFieldMove[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/field_move.4bpp"); -const u32 gEventObjectPic_BrendanSurfing[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/surfing.4bpp"); -const u32 gEventObjectPic_BrendanMachBike[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/mach_bike.4bpp"); -const u32 gEventObjectPic_BrendanAcroBike[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/acro_bike.4bpp"); -const u32 gEventObjectPic_BrendanFishing[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/fishing.4bpp"); -const u32 gEventObjectPic_BrendanWatering[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/watering.4bpp"); -const u32 gEventObjectPic_BrendanDecorating[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/decorating.4bpp"); -const u32 gEventObjectPic_MayDecorating[] = INCBIN_U32("graphics/event_objects/pics/people/may/decorating.4bpp"); -const u32 gEventObjectPic_BrendanUnderwater[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/underwater.4bpp"); -const u32 gEventObjectPic_MayUnderwater[] = INCBIN_U32("graphics/event_objects/pics/people/may/underwater.4bpp"); -const u16 gEventObjectPalette11[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_11.gbapal"); -const u32 gEventObjectPic_MayNormal[] = INCBIN_U32("graphics/event_objects/pics/people/may/walking.4bpp"); -const u32 gEventObjectPic_MayRunning[] = INCBIN_U32("graphics/event_objects/pics/people/may/running.4bpp"); -const u16 gEventObjectPalette17[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_17.gbapal"); -const u16 gEventObjectPalette18[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_18.gbapal"); -const u32 gEventObjectPic_RubySapphireMayNormal[] = INCBIN_U32("graphics/event_objects/pics/people/ruby_sapphire_may/walking.4bpp"); -const u32 gEventObjectPic_RubySapphireMayRunning[] = INCBIN_U32("graphics/event_objects/pics/people/ruby_sapphire_may/running.4bpp"); -const u16 gEventObjectPalette34[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_34.gbapal"); -const u16 gUnusedEventObjectPalette[] = INCBIN_U16("graphics/event_objects/palettes/unused_palette.gbapal"); -const u16 gEventObjectPaletteNull16[16] = {}; -const u16 gEventObjectPaletteNull17[16] = {}; -const u16 gEventObjectPaletteNull18[16] = {}; -const u16 gEventObjectPaletteNull19[16] = {}; -const u16 gEventObjectPaletteNull20[16] = {}; -const u16 gEventObjectPaletteNull21[16] = {}; -const u16 gEventObjectPaletteNull22[16] = {}; -const u16 gEventObjectPaletteNull23[16] = {}; -const u16 gEventObjectPaletteNull24[16] = {}; -const u16 gEventObjectPaletteNull25[16] = {}; -const u16 gEventObjectPaletteNull26[16] = {}; -const u16 gEventObjectPaletteNull27[16] = {}; -const u16 gEventObjectPaletteNull28[16] = {}; -const u16 gEventObjectPaletteNull29[16] = {}; -const u32 gEventObjectPic_MayMachBike[] = INCBIN_U32("graphics/event_objects/pics/people/may/mach_bike.4bpp"); -const u32 gEventObjectPic_MayAcroBike[] = INCBIN_U32("graphics/event_objects/pics/people/may/acro_bike.4bpp"); -const u32 gEventObjectPic_MaySurfing[] = INCBIN_U32("graphics/event_objects/pics/people/may/surfing.4bpp"); -const u32 gEventObjectPic_MayFieldMove[] = INCBIN_U32("graphics/event_objects/pics/people/may/field_move.4bpp"); -const u32 gEventObjectPic_MayFishing[] = INCBIN_U32("graphics/event_objects/pics/people/may/fishing.4bpp"); -const u32 gEventObjectPic_MayWatering[] = INCBIN_U32("graphics/event_objects/pics/people/may/watering.4bpp"); -const u16 gEventObjectPalette0[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_00.gbapal"); -const u16 gEventObjectPalette1[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_01.gbapal"); -const u16 gEventObjectPalette2[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_02.gbapal"); -const u16 gEventObjectPalette3[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_03.gbapal"); -const u16 gEventObjectPalette4[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_04.gbapal"); -const u16 gEventObjectPalette5[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_05.gbapal"); -const u16 gEventObjectPalette6[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_06.gbapal"); -const u16 gEventObjectPalette7[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_07.gbapal"); -const u32 gEventObjectPic_NinjaBoy[] = INCBIN_U32("graphics/event_objects/pics/people/ninja_boy.4bpp"); -const u32 gEventObjectPic_Twin[] = INCBIN_U32("graphics/event_objects/pics/people/twin.4bpp"); -const u32 gEventObjectPic_Boy1[] = INCBIN_U32("graphics/event_objects/pics/people/boy_1.4bpp"); -const u32 gEventObjectPic_Girl1[] = INCBIN_U32("graphics/event_objects/pics/people/girl_1.4bpp"); -const u32 gEventObjectPic_Boy2[] = INCBIN_U32("graphics/event_objects/pics/people/boy_2.4bpp"); -const u32 gEventObjectPic_Girl2[] = INCBIN_U32("graphics/event_objects/pics/people/girl_2.4bpp"); -const u32 gEventObjectPic_LittleBoy[] = INCBIN_U32("graphics/event_objects/pics/people/little_boy.4bpp"); -const u32 gEventObjectPic_LittleGirl[] = INCBIN_U32("graphics/event_objects/pics/people/little_girl.4bpp"); -const u32 gEventObjectPic_Boy3[] = INCBIN_U32("graphics/event_objects/pics/people/boy_3.4bpp"); -const u32 gEventObjectPic_Girl3[] = INCBIN_U32("graphics/event_objects/pics/people/girl_3.4bpp"); -const u32 gEventObjectPic_RichBoy[] = INCBIN_U32("graphics/event_objects/pics/people/rich_boy.4bpp"); -const u32 gEventObjectPic_Woman1[] = INCBIN_U32("graphics/event_objects/pics/people/woman_1.4bpp"); -const u32 gEventObjectPic_FatMan[] = INCBIN_U32("graphics/event_objects/pics/people/fat_man.4bpp"); -const u32 gEventObjectPic_PokefanF[] = INCBIN_U32("graphics/event_objects/pics/people/pokefan_f.4bpp"); -const u32 gEventObjectPic_Man1[] = INCBIN_U32("graphics/event_objects/pics/people/man_1.4bpp"); -const u32 gEventObjectPic_Woman2[] = INCBIN_U32("graphics/event_objects/pics/people/woman_2.4bpp"); -const u32 gEventObjectPic_ExpertM[] = INCBIN_U32("graphics/event_objects/pics/people/expert_m.4bpp"); -const u32 gEventObjectPic_ExpertF[] = INCBIN_U32("graphics/event_objects/pics/people/expert_f.4bpp"); -const u32 gEventObjectPic_Man2[] = INCBIN_U32("graphics/event_objects/pics/people/man_2.4bpp"); -const u32 gEventObjectPic_Woman3[] = INCBIN_U32("graphics/event_objects/pics/people/woman_3.4bpp"); -const u32 gEventObjectPic_PokefanM[] = INCBIN_U32("graphics/event_objects/pics/people/pokefan_m.4bpp"); -const u32 gEventObjectPic_Woman4[] = INCBIN_U32("graphics/event_objects/pics/people/woman_4.4bpp"); -const u32 gEventObjectPic_Cook[] = INCBIN_U32("graphics/event_objects/pics/people/cook.4bpp"); -const u32 gEventObjectPic_LinkReceptionist[] = INCBIN_U32("graphics/event_objects/pics/people/link_receptionist.4bpp"); -const u32 gEventObjectPic_OldMan[] = INCBIN_U32("graphics/event_objects/pics/people/old_man.4bpp"); -const u32 gEventObjectPic_OldWoman[] = INCBIN_U32("graphics/event_objects/pics/people/old_woman.4bpp"); -const u32 gEventObjectPic_Camper[] = INCBIN_U32("graphics/event_objects/pics/people/camper.4bpp"); -const u32 gEventObjectPic_Picnicker[] = INCBIN_U32("graphics/event_objects/pics/people/picnicker.4bpp"); -const u32 gEventObjectPic_Man3[] = INCBIN_U32("graphics/event_objects/pics/people/man_3.4bpp"); -const u32 gEventObjectPic_Woman5[] = INCBIN_U32("graphics/event_objects/pics/people/woman_5.4bpp"); -const u32 gEventObjectPic_Youngster[] = INCBIN_U32("graphics/event_objects/pics/people/youngster.4bpp"); -const u32 gEventObjectPic_BugCatcher[] = INCBIN_U32("graphics/event_objects/pics/people/bug_catcher.4bpp"); -const u32 gEventObjectPic_PsychicM[] = INCBIN_U32("graphics/event_objects/pics/people/psychic_m.4bpp"); -const u32 gEventObjectPic_SchoolKidM[] = INCBIN_U32("graphics/event_objects/pics/people/school_kid_m.4bpp"); -const u32 gEventObjectPic_Maniac[] = INCBIN_U32("graphics/event_objects/pics/people/maniac.4bpp"); -const u32 gEventObjectPic_HexManiac[] = INCBIN_U32("graphics/event_objects/pics/people/hex_maniac.4bpp"); -const u32 gEventObjectPic_UnusedWoman[] = INCBIN_U32("graphics/event_objects/pics/people/unused_woman.4bpp"); -const u32 gEventObjectPic_SwimmerM[] = INCBIN_U32("graphics/event_objects/pics/people/swimmer_m.4bpp"); -const u32 gEventObjectPic_SwimmerF[] = INCBIN_U32("graphics/event_objects/pics/people/swimmer_f.4bpp"); -const u32 gEventObjectPic_BlackBelt[] = INCBIN_U32("graphics/event_objects/pics/people/black_belt.4bpp"); -const u32 gEventObjectPic_Beauty[] = INCBIN_U32("graphics/event_objects/pics/people/beauty.4bpp"); -const u32 gEventObjectPic_Scientist1[] = INCBIN_U32("graphics/event_objects/pics/people/scientist_1.4bpp"); -const u32 gEventObjectPic_Lass[] = INCBIN_U32("graphics/event_objects/pics/people/lass.4bpp"); -const u32 gEventObjectPic_Gentleman[] = INCBIN_U32("graphics/event_objects/pics/people/gentleman.4bpp"); -const u32 gEventObjectPic_Sailor[] = INCBIN_U32("graphics/event_objects/pics/people/sailor.4bpp"); -const u32 gEventObjectPic_Fisherman[] = INCBIN_U32("graphics/event_objects/pics/people/fisherman.4bpp"); -const u32 gEventObjectPic_RunningTriathleteM[] = INCBIN_U32("graphics/event_objects/pics/people/running_triathlete_m.4bpp"); -const u32 gEventObjectPic_RunningTriathleteF[] = INCBIN_U32("graphics/event_objects/pics/people/running_triathlete_f.4bpp"); -const u32 gEventObjectPic_TuberF[] = INCBIN_U32("graphics/event_objects/pics/people/tuber_f.4bpp"); -const u32 gEventObjectPic_TuberM[] = INCBIN_U32("graphics/event_objects/pics/people/tuber_m.4bpp"); -const u32 gEventObjectPic_Hiker[] = INCBIN_U32("graphics/event_objects/pics/people/hiker.4bpp"); -const u32 gEventObjectPic_CyclingTriathleteM[] = INCBIN_U32("graphics/event_objects/pics/people/cycling_triathlete_m.4bpp"); -const u32 gEventObjectPic_CyclingTriathleteF[] = INCBIN_U32("graphics/event_objects/pics/people/cycling_triathlete_f.4bpp"); -const u32 gEventObjectPic_Man4[] = INCBIN_U32("graphics/event_objects/pics/people/man_4.4bpp"); -const u32 gEventObjectPic_Man5[] = INCBIN_U32("graphics/event_objects/pics/people/man_5.4bpp"); -const u32 gEventObjectPic_Nurse[] = INCBIN_U32("graphics/event_objects/pics/people/nurse.4bpp"); -const u32 gEventObjectPic_ItemBall[] = INCBIN_U32("graphics/event_objects/pics/misc/item_ball.4bpp"); -const u32 gEventObjectPic_ProfBirch[] = INCBIN_U32("graphics/event_objects/pics/people/prof_birch.4bpp"); -const u32 gEventObjectPic_ReporterM[] = INCBIN_U32("graphics/event_objects/pics/people/reporter_m.4bpp"); -const u32 gEventObjectPic_ReporterF[] = INCBIN_U32("graphics/event_objects/pics/people/reporter_f.4bpp"); -const u32 gEventObjectPic_MauvilleOldMan1[] = INCBIN_U32("graphics/event_objects/pics/people/mauville_old_man_1.4bpp"); -const u32 gEventObjectPic_MauvilleOldMan2[] = INCBIN_U32("graphics/event_objects/pics/people/mauville_old_man_2.4bpp"); -const u32 gEventObjectPic_MartEmployee[] = INCBIN_U32("graphics/event_objects/pics/people/mart_employee.4bpp"); -const u32 gEventObjectPic_RooftopSaleWoman[] = INCBIN_U32("graphics/event_objects/pics/people/rooftop_sale_woman.4bpp"); -const u32 gEventObjectPic_Teala[] = INCBIN_U32("graphics/event_objects/pics/people/teala.4bpp"); -const u32 gEventObjectPic_Artist[] = INCBIN_U32("graphics/event_objects/pics/people/artist.4bpp"); -const u32 gEventObjectPic_Cameraman[] = INCBIN_U32("graphics/event_objects/pics/people/cameraman.4bpp"); -const u32 gEventObjectPic_Scientist2[] = INCBIN_U32("graphics/event_objects/pics/people/scientist_2.4bpp"); -const u32 gEventObjectPic_DevonEmployee[] = INCBIN_U32("graphics/event_objects/pics/people/devon_employee.4bpp"); -const u32 gEventObjectPic_AquaMemberM[] = INCBIN_U32("graphics/event_objects/pics/people/team_aqua/aqua_member_m.4bpp"); -const u32 gEventObjectPic_AquaMemberF[] = INCBIN_U32("graphics/event_objects/pics/people/team_aqua/aqua_member_f.4bpp"); -const u32 gEventObjectPic_MagmaMemberM[] = INCBIN_U32("graphics/event_objects/pics/people/team_magma/magma_member_m.4bpp"); -const u32 gEventObjectPic_MagmaMemberF[] = INCBIN_U32("graphics/event_objects/pics/people/team_magma/magma_member_f.4bpp"); -const u32 gEventObjectPic_Sidney[] = INCBIN_U32("graphics/event_objects/pics/people/elite_four/sidney.4bpp"); -const u32 gEventObjectPic_Phoebe[] = INCBIN_U32("graphics/event_objects/pics/people/elite_four/phoebe.4bpp"); -const u32 gEventObjectPic_Glacia[] = INCBIN_U32("graphics/event_objects/pics/people/elite_four/glacia.4bpp"); -const u32 gEventObjectPic_Drake[] = INCBIN_U32("graphics/event_objects/pics/people/elite_four/drake.4bpp"); -const u32 gEventObjectPic_Roxanne[] = INCBIN_U32("graphics/event_objects/pics/people/gym_leaders/roxanne.4bpp"); -const u32 gEventObjectPic_Brawly[] = INCBIN_U32("graphics/event_objects/pics/people/gym_leaders/brawly.4bpp"); -const u32 gEventObjectPic_Wattson[] = INCBIN_U32("graphics/event_objects/pics/people/gym_leaders/wattson.4bpp"); -const u32 gEventObjectPic_Flannery[] = INCBIN_U32("graphics/event_objects/pics/people/gym_leaders/flannery.4bpp"); -const u32 gEventObjectPic_Norman[] = INCBIN_U32("graphics/event_objects/pics/people/gym_leaders/norman.4bpp"); -const u32 gEventObjectPic_Winona[] = INCBIN_U32("graphics/event_objects/pics/people/gym_leaders/winona.4bpp"); -const u32 gEventObjectPic_Liza[] = INCBIN_U32("graphics/event_objects/pics/people/gym_leaders/liza.4bpp"); -const u32 gEventObjectPic_Tate[] = INCBIN_U32("graphics/event_objects/pics/people/gym_leaders/tate.4bpp"); -const u32 gEventObjectPic_Wallace[] = INCBIN_U32("graphics/event_objects/pics/people/wallace.4bpp"); -const u32 gEventObjectPic_Steven[] = INCBIN_U32("graphics/event_objects/pics/people/steven.4bpp"); -const u32 gEventObjectPic_Wally[] = INCBIN_U32("graphics/event_objects/pics/people/wally.4bpp"); -const u32 gEventObjectPic_RubySapphireLittleBoy[] = INCBIN_U32("graphics/event_objects/pics/people/rs_little_boy.4bpp"); -const u32 gEventObjectPic_HotSpringsOldWoman[] = INCBIN_U32("graphics/event_objects/pics/people/hot_springs_old_woman.4bpp"); -const u32 gEventObjectPic_LatiasLatios[] = INCBIN_U32("graphics/event_objects/pics/pokemon/latias_latios.4bpp"); -const u32 gEventObjectPic_GameboyKid[] = INCBIN_U32("graphics/event_objects/pics/people/gameboy_kid.4bpp"); -const u32 gEventObjectPic_ContestJudge[] = INCBIN_U32("graphics/event_objects/pics/people/contest_judge.4bpp"); -const u32 gEventObjectPic_Archie[] = INCBIN_U32("graphics/event_objects/pics/people/team_aqua/archie.4bpp"); -const u32 gEventObjectPic_Maxie[] = INCBIN_U32("graphics/event_objects/pics/people/team_magma/maxie.4bpp"); -const u32 gEventObjectPic_Kyogre[] = INCBIN_U32("graphics/event_objects/pics/pokemon/kyogre.4bpp"); -const u32 gEventObjectPic_Groudon[] = INCBIN_U32("graphics/event_objects/pics/pokemon/groudon.4bpp"); -const u32 gEventObjectPic_Regi[] = INCBIN_U32("graphics/event_objects/pics/pokemon/regi.4bpp"); -const u32 gEventObjectPic_Skitty[] = INCBIN_U32("graphics/event_objects/pics/pokemon/skitty.4bpp"); -const u32 gEventObjectPic_Kecleon[] = INCBIN_U32("graphics/event_objects/pics/pokemon/kecleon.4bpp"); -const u32 gEventObjectPic_Rayquaza[] = INCBIN_U32("graphics/event_objects/pics/pokemon/rayquaza.4bpp"); -const u32 gEventObjectPic_RayquazaStill[] = INCBIN_U32("graphics/event_objects/pics/pokemon/rayquaza_still.4bpp"); -const u32 gEventObjectPic_Zigzagoon[] = INCBIN_U32("graphics/event_objects/pics/pokemon/zigzagoon.4bpp"); -const u32 gEventObjectPic_Pikachu[] = INCBIN_U32("graphics/event_objects/pics/pokemon/pikachu.4bpp"); -const u32 gEventObjectPic_Azumarill[] = INCBIN_U32("graphics/event_objects/pics/pokemon/azumarill.4bpp"); -const u32 gEventObjectPic_Wingull[] = INCBIN_U32("graphics/event_objects/pics/pokemon/wingull.4bpp"); -const u32 gEventObjectPic_TuberMSwimming[] = INCBIN_U32("graphics/event_objects/pics/people/tuber_m_swimming.4bpp"); -const u32 gEventObjectPic_Azurill[] = INCBIN_U32("graphics/event_objects/pics/pokemon/azurill.4bpp"); -const u32 gEventObjectPic_Mom[] = INCBIN_U32("graphics/event_objects/pics/people/mom.4bpp"); -const u16 gEventObjectPalette22[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_22.gbapal"); -const u16 gEventObjectPalette23[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_23.gbapal"); -const u16 gEventObjectPalette24[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_24.gbapal"); -const u16 gEventObjectPalette25[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_25.gbapal"); -const u32 gEventObjectPic_UnusedNatuDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/unused_natu_doll.4bpp"); -const u32 gEventObjectPic_UnusedMagnemiteDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/unused_magnemite_doll.4bpp"); -const u32 gEventObjectPic_UnusedSquirtleDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/unused_squirtle_doll.4bpp"); -const u32 gEventObjectPic_UnusedWooperDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/unused_wooper_doll.4bpp"); -const u32 gEventObjectPic_UnusedPikachuDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/unused_pikachu_doll.4bpp"); -const u32 gEventObjectPic_UnusedPorygon2Doll[] = INCBIN_U32("graphics/event_objects/pics/dolls/unused_porygon2_doll.4bpp"); -const u32 gEventObjectPic_PichuDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/pichu_doll.4bpp"); -const u32 gEventObjectPic_PikachuDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/pikachu_doll.4bpp"); -const u32 gEventObjectPic_MarillDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/marill_doll.4bpp"); -const u32 gEventObjectPic_TogepiDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/togepi_doll.4bpp"); -const u32 gEventObjectPic_CyndaquilDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/cyndaquil_doll.4bpp"); -const u32 gEventObjectPic_ChikoritaDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/chikorita_doll.4bpp"); -const u32 gEventObjectPic_TotodileDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/totodile_doll.4bpp"); -const u32 gEventObjectPic_JigglypuffDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/jigglypuff_doll.4bpp"); -const u32 gEventObjectPic_MeowthDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/meowth_doll.4bpp"); -const u32 gEventObjectPic_ClefairyDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/clefairy_doll.4bpp"); -const u32 gEventObjectPic_DittoDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/ditto_doll.4bpp"); -const u32 gEventObjectPic_SmoochumDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/smoochum_doll.4bpp"); -const u32 gEventObjectPic_TreeckoDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/treecko_doll.4bpp"); -const u32 gEventObjectPic_TorchicDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/torchic_doll.4bpp"); -const u32 gEventObjectPic_MudkipDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/mudkip_doll.4bpp"); -const u32 gEventObjectPic_DuskullDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/duskull_doll.4bpp"); -const u32 gEventObjectPic_WynautDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/wynaut_doll.4bpp"); -const u32 gEventObjectPic_BaltoyDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/baltoy_doll.4bpp"); -const u32 gEventObjectPic_KecleonDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/kecleon_doll.4bpp"); -const u32 gEventObjectPic_AzurillDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/azurill_doll.4bpp"); -const u32 gEventObjectPic_SkittyDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/skitty_doll.4bpp"); -const u32 gEventObjectPic_SwabluDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/swablu_doll.4bpp"); -const u32 gEventObjectPic_GulpinDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/gulpin_doll.4bpp"); -const u32 gEventObjectPic_LotadDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/lotad_doll.4bpp"); -const u32 gEventObjectPic_SeedotDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/seedot_doll.4bpp"); -const u32 gEventObjectPic_PikaCushion[] = INCBIN_U32("graphics/event_objects/pics/cushions/pika_cushion.4bpp"); -const u32 gEventObjectPic_RoundCushion[] = INCBIN_U32("graphics/event_objects/pics/cushions/round_cushion.4bpp"); -const u32 gEventObjectPic_KissCushion[] = INCBIN_U32("graphics/event_objects/pics/cushions/kiss_cushion.4bpp"); -const u32 gEventObjectPic_ZigzagCushion[] = INCBIN_U32("graphics/event_objects/pics/cushions/zigzag_cushion.4bpp"); -const u32 gEventObjectPic_SpinCushion[] = INCBIN_U32("graphics/event_objects/pics/cushions/spin_cushion.4bpp"); -const u32 gEventObjectPic_DiamondCushion[] = INCBIN_U32("graphics/event_objects/pics/cushions/diamond_cushion.4bpp"); -const u32 gEventObjectPic_BallCushion[] = INCBIN_U32("graphics/event_objects/pics/cushions/ball_cushion.4bpp"); -const u32 gEventObjectPic_GrassCushion[] = INCBIN_U32("graphics/event_objects/pics/cushions/grass_cushion.4bpp"); -const u32 gEventObjectPic_FireCushion[] = INCBIN_U32("graphics/event_objects/pics/cushions/fire_cushion.4bpp"); -const u32 gEventObjectPic_WaterCushion[] = INCBIN_U32("graphics/event_objects/pics/cushions/water_cushion.4bpp"); -const u32 gEventObjectPic_BigSnorlaxDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/big_snorlax_doll.4bpp"); -const u32 gEventObjectPic_BigRhydonDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/big_rhydon_doll.4bpp"); -const u32 gEventObjectPic_BigLaprasDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/big_lapras_doll.4bpp"); -const u32 gEventObjectPic_BigVenusaurDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/big_venusaur_doll.4bpp"); -const u32 gEventObjectPic_BigCharizardDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/big_charizard_doll.4bpp"); -const u32 gEventObjectPic_BigBlastoiseDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/big_blastoise_doll.4bpp"); -const u32 gEventObjectPic_BigWailmerDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/big_wailmer_doll.4bpp"); -const u32 gEventObjectPic_BigRegirockDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/big_regirock_doll.4bpp"); -const u32 gEventObjectPic_BigRegiceDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/big_regice_doll.4bpp"); -const u32 gEventObjectPic_BigRegisteelDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/big_registeel_doll.4bpp"); -const u32 gEventObjectPic_CuttableTree[] = INCBIN_U32("graphics/event_objects/pics/misc/cuttable_tree.4bpp"); -const u32 gEventObjectPic_BreakableRock[] = INCBIN_U32("graphics/event_objects/pics/misc/breakable_rock.4bpp"); -const u32 gEventObjectPic_PushableBoulder[] = INCBIN_U32("graphics/event_objects/pics/misc/pushable_boulder.4bpp"); -const u32 gEventObjectPic_MrBrineysBoat[] = INCBIN_U32("graphics/event_objects/pics/misc/mr_brineys_boat.4bpp"); -const u32 gEventObjectPic_Fossil[] = INCBIN_U32("graphics/event_objects/pics/misc/fossil.4bpp"); -const u32 gEventObjectPic_SubmarineShadow[] = INCBIN_U32("graphics/event_objects/pics/misc/submarine_shadow.4bpp"); -const u16 gEventObjectPalette26[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_26.gbapal"); -const u32 gEventObjectPic_Truck[] = INCBIN_U32("graphics/event_objects/pics/misc/truck.4bpp"); -const u16 gEventObjectPalette14[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_14.gbapal"); -const u32 gEventObjectPic_Vigoroth[] = INCBIN_U32("graphics/event_objects/pics/pokemon/vigoroth.4bpp"); -const u16 gEventObjectPalette15[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_15.gbapal"); -const u32 gEventObjectPic_BirchsBag[] = INCBIN_U32("graphics/event_objects/pics/misc/birchs_bag.4bpp"); -const u32 gEventObjectPic_EnemyZigzagoon[] = INCBIN_U32("graphics/event_objects/pics/pokemon/enemy_zigzagoon.4bpp"); -const u16 gEventObjectPalette16[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_16.gbapal"); -const u32 gEventObjectPic_Poochyena[] = INCBIN_U32("graphics/event_objects/pics/pokemon/poochyena.4bpp"); -const u16 gEventObjectPalette27[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_27.gbapal"); -const u32 gEventObjectPic_CableCar[] = INCBIN_U32("graphics/event_objects/pics/misc/cable_car.4bpp"); -const u16 gEventObjectPalette20[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_20.gbapal"); -const u32 gEventObjectPic_SSTidal[] = INCBIN_U32("graphics/event_objects/pics/misc/ss_tidal.4bpp"); -const u16 gEventObjectPalette21[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_21.gbapal"); -const u32 gFieldEffectObjectPic_BerryTreeGrowthSparkle[] = INCBIN_U32("graphics/event_objects/pics/effects/berry_tree_growth_sparkle.4bpp"); -const u32 gEventObjectPic_BerryTreeDirtPile[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/dirt_pile.4bpp"); -const u32 gEventObjectPic_BerryTreeSprout[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/sprout.4bpp"); -const u32 gEventObjectPic_PechaBerryTree[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/pecha.4bpp"); -const u32 gEventObjectPic_KelpsyBerryTree[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/kelpsy.4bpp"); -const u32 gEventObjectPic_WepearBerryTree[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/wepear.4bpp"); -const u32 gEventObjectPic_IapapaBerryTree[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/iapapa.4bpp"); -const u32 gEventObjectPic_CheriBerryTree[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/cheri.4bpp"); -const u32 gEventObjectPic_FigyBerryTree[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/figy.4bpp"); -const u32 gEventObjectPic_MagoBerryTree[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/mago.4bpp"); -const u32 gEventObjectPic_LumBerryTree[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/lum.4bpp"); -const u32 gEventObjectPic_RazzBerryTree[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/razz.4bpp"); -const u32 gEventObjectPic_GrepaBerryTree[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/grepa.4bpp"); -const u32 gEventObjectPic_RabutaBerryTree[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/rabuta.4bpp"); -const u32 gEventObjectPic_NomelBerryTree[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/nomel.4bpp"); -const u32 gEventObjectPic_LeppaBerryTree[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/leppa.4bpp"); -const u32 gEventObjectPic_LiechiBerryTree[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/liechi.4bpp"); -const u32 gEventObjectPic_HondewBerryTree[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/hondew.4bpp"); -const u32 gEventObjectPic_AguavBerryTree[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/aguav.4bpp"); -const u32 gEventObjectPic_WikiBerryTree[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/wiki.4bpp"); -const u32 gEventObjectPic_PomegBerryTree[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/pomeg.4bpp"); -const u32 gEventObjectPic_RawstBerryTree[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/rawst.4bpp"); -const u32 gEventObjectPic_SpelonBerryTree[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/spelon.4bpp"); -const u32 gEventObjectPic_ChestoBerryTree[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/chesto.4bpp"); -const u32 gEventObjectPic_OranBerryTree[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/oran.4bpp"); -const u32 gEventObjectPic_PersimBerryTree[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/persim.4bpp"); -const u32 gEventObjectPic_SitrusBerryTree[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/sitrus.4bpp"); -const u32 gEventObjectPic_AspearBerryTree[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/aspear.4bpp"); -const u32 gEventObjectPic_PamtreBerryTree[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/pamtre.4bpp"); -const u32 gEventObjectPic_CornnBerryTree[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/cornn.4bpp"); -const u32 gEventObjectPic_LansatBerryTree[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/lansat.4bpp"); -const u32 gEventObjectPic_DurinBerryTree[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/durin.4bpp"); -const u32 gEventObjectPic_TamatoBerryTree[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/tamato.4bpp"); -const u32 gFieldEffectObjectPic_SurfBlob[] = INCBIN_U32("graphics/event_objects/pics/effects/surf_blob.4bpp"); -const u32 gEventObjectPic_QuintyPlump[] = INCBIN_U32("graphics/event_objects/pics/people/quinty_plump.4bpp"); -const u16 gEventObjectPalette12[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_12.gbapal"); -const u16 gEventObjectPalette13[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_13.gbapal"); -const u32 gFieldEffectObjectPic_ShadowSmall[] = INCBIN_U32("graphics/event_objects/pics/effects/shadow_small.4bpp"); -const u32 gFieldEffectObjectPic_ShadowMedium[] = INCBIN_U32("graphics/event_objects/pics/effects/shadow_medium.4bpp"); -const u32 gFieldEffectObjectPic_ShadowLarge[] = INCBIN_U32("graphics/event_objects/pics/effects/shadow_large.4bpp"); -const u32 gFieldEffectObjectPic_ShadowExtraLarge[] = INCBIN_U32("graphics/event_objects/pics/effects/shadow_extra_large.4bpp"); -const u32 filler_8368A08[0x48] = {}; -const u8 gFieldEffectPic_CutGrass[] = INCBIN_U8("graphics/event_objects/pics/effects/cut_grass.4bpp"); -const u32 gFieldEffectPic_CutGrass_Copy[] = INCBIN_U32("graphics/event_objects/pics/effects/cut_grass.4bpp"); -const u16 gFieldEffectObjectPalette6[] = INCBIN_U16("graphics/event_objects/palettes/field_effect_object_palette_06.gbapal"); -const u32 gFieldEffectObjectPic_Ripple[] = INCBIN_U32("graphics/event_objects/pics/effects/ripple.4bpp"); -const u32 gFieldEffectObjectPic_Ash[] = INCBIN_U32("graphics/event_objects/pics/effects/ash.4bpp"); -const u32 gFieldEffectObjectPic_Arrow[] = INCBIN_U32("graphics/event_objects/pics/effects/arrow.4bpp"); -const u16 gFieldEffectObjectPalette0[] = INCBIN_U16("graphics/event_objects/palettes/field_effect_object_palette_00.gbapal"); -const u16 gFieldEffectObjectPalette1[] = INCBIN_U16("graphics/event_objects/palettes/field_effect_object_palette_01.gbapal"); -const u32 gFieldEffectObjectPic_GroundImpactDust[] = INCBIN_U32("graphics/event_objects/pics/effects/ground_impact_dust.4bpp"); -const u32 gFieldEffectObjectPic_BikeHopTallGrass[] = INCBIN_U32("graphics/event_objects/pics/effects/bike_hop_tall_grass.4bpp"); -const u32 gUnusedGrass[] = INCBIN_U32("graphics/event_objects/pics/effects/unused_grass.4bpp"); -const u32 gFieldEffectObjectPic_Unknown16[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_16.4bpp"); -const u32 gFieldEffectObjectPic_Unknown17[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_17.4bpp"); -const u32 gFieldEffectObjectPic_Unknown18[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_18.4bpp"); -const u32 gFieldEffectObjectPic_LongGrass[] = INCBIN_U32("graphics/event_objects/pics/effects/long_grass.4bpp"); -const u32 gFieldEffectObjectPic_TallGrass[] = INCBIN_U32("graphics/event_objects/pics/effects/tall_grass.4bpp"); -const u32 gFieldEffectObjectPic_ShortGrass[] = INCBIN_U32("graphics/event_objects/pics/effects/short_grass.4bpp"); -const u32 gFieldEffectObjectPic_SandFootprints[] = INCBIN_U32("graphics/event_objects/pics/effects/sand_footprints.4bpp"); -const u32 gFieldEffectObjectPic_DeepSandFootprints[] = INCBIN_U32("graphics/event_objects/pics/effects/deep_sand_footprints.4bpp"); -const u32 gFieldEffectObjectPic_BikeTireTracks[] = INCBIN_U32("graphics/event_objects/pics/effects/bike_tire_tracks.4bpp"); -const u32 gFieldEffectObjectPic_Unknown19[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_19.4bpp"); -const u32 gFieldEffectObjectPic_Unknown29[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_29.4bpp"); -const u32 gFieldEffectObjectPic_BikeHopBigSplash[] = INCBIN_U32("graphics/event_objects/pics/effects/bike_hop_big_splash.4bpp"); -const u32 gFieldEffectObjectPic_Splash[] = INCBIN_U32("graphics/event_objects/pics/effects/splash.4bpp"); -const u32 gFieldEffectObjectPic_BikeHopSmallSplash[] = INCBIN_U32("graphics/event_objects/pics/effects/bike_hop_small_splash.4bpp"); -const u32 gFieldEffectObjectPic_Unknown20[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_20.4bpp"); -const u32 gFieldEffectObjectPic_TreeDisguise[] = INCBIN_U32("graphics/event_objects/pics/effects/tree_disguise.4bpp"); -const u32 gFieldEffectObjectPic_MountainDisguise[] = INCBIN_U32("graphics/event_objects/pics/effects/mountain_disguise.4bpp"); -const u32 gFieldEffectObjectPic_SandDisguisePlaceholder[] = INCBIN_U32("graphics/event_objects/pics/effects/sand_disguise_placeholder.4bpp"); -const u32 gFieldEffectObjectPic_HotSpringsWater[] = INCBIN_U32("graphics/event_objects/pics/effects/hot_springs_water.4bpp"); -const u16 gFieldEffectObjectPalette2[] = INCBIN_U16("graphics/event_objects/palettes/field_effect_object_palette_02.gbapal"); -const u32 gFieldEffectObjectPic_JumpOutOfAsh[] = INCBIN_U32("graphics/event_objects/pics/effects/jump_out_of_ash.4bpp"); -const u32 gFieldEffectObjectPic_LavaridgeGymWarp[] = INCBIN_U32("graphics/event_objects/pics/effects/lavaridge_gym_warp.4bpp"); -const u32 gFieldEffectObjectPic_Bubbles[] = INCBIN_U32("graphics/event_objects/pics/effects/bubbles.4bpp"); -const u32 gFieldEffectObjectPic_Unknown35[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_35.4bpp"); -const u16 gFieldEffectObjectPalette3[] = INCBIN_U16("graphics/event_objects/palettes/field_effect_object_palette_03.gbapal"); -const u32 gFieldEffectObjectPic_Bird[] = INCBIN_U32("graphics/event_objects/pics/effects/bird.4bpp"); -const u32 gEventObjectPic_Juan[] = INCBIN_U32("graphics/event_objects/pics/people/gym_leaders/juan.4bpp"); -const u32 gEventObjectPic_Scott[] = INCBIN_U32("graphics/event_objects/pics/people/scott.4bpp"); -const u32 gEventObjectPic_Statue[] = INCBIN_U32("graphics/event_objects/pics/misc/statue.4bpp"); -const u32 gEventObjectPic_Kirlia[] = INCBIN_U32("graphics/event_objects/pics/pokemon/kirlia.4bpp"); -const u32 gEventObjectPic_Dusclops[] = INCBIN_U32("graphics/event_objects/pics/pokemon/dusclops.4bpp"); -const u32 gEventObjectPic_MysteryEventDeliveryman[] = INCBIN_U32("graphics/event_objects/pics/people/mystery_event_deliveryman.4bpp"); -const u32 gEventObjectPic_UnionRoomAttendant[] = INCBIN_U32("graphics/event_objects/pics/people/union_room_attendant.4bpp"); -const u32 gEventObjectPic_MovingBox[] = INCBIN_U32("graphics/event_objects/pics/misc/moving_box.4bpp"); -const u16 gEventObjectPalette19[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_19.gbapal"); -const u32 gEventObjectPic_Sudowoodo[] = INCBIN_U32("graphics/event_objects/pics/pokemon/sudowoodo.4bpp"); -const u32 gEventObjectPic_Mew[] = INCBIN_U32("graphics/event_objects/pics/pokemon/mew.4bpp"); -const u16 gEventObjectPalette28[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_28.gbapal"); -const u32 gEventObjectPic_Red[] = INCBIN_U32("graphics/event_objects/pics/people/red.4bpp"); -const u32 gEventObjectPic_Leaf[] = INCBIN_U32("graphics/event_objects/pics/people/leaf.4bpp"); -const u16 gEventObjectPalette30[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_30.gbapal"); -const u32 gEventObjectPic_BirthIslandStone[] = INCBIN_U32("graphics/event_objects/pics/misc/birth_island_stone.4bpp"); -const u16 gEventObjectPalette29[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_29.gbapal"); -const u32 gEventObjectPic_Deoxys[] = INCBIN_U32("graphics/event_objects/pics/pokemon/deoxys.4bpp"); -const u32 gEventObjectPic_Anabel[] = INCBIN_U32("graphics/event_objects/pics/people/frontier_brains/anabel.4bpp"); -const u32 gEventObjectPic_Tucker[] = INCBIN_U32("graphics/event_objects/pics/people/frontier_brains/tucker.4bpp"); -const u32 gEventObjectPic_Spenser[] = INCBIN_U32("graphics/event_objects/pics/people/frontier_brains/spenser.4bpp"); -const u32 gEventObjectPic_Greta[] = INCBIN_U32("graphics/event_objects/pics/people/frontier_brains/greta.4bpp"); -const u32 gEventObjectPic_Noland[] = INCBIN_U32("graphics/event_objects/pics/people/frontier_brains/noland.4bpp"); -const u32 gEventObjectPic_Lucy[] = INCBIN_U32("graphics/event_objects/pics/people/frontier_brains/lucy.4bpp"); -const u32 gEventObjectPic_Brandon[] = INCBIN_U32("graphics/event_objects/pics/people/frontier_brains/brandon.4bpp"); -const u32 gEventObjectPic_Lugia[] = INCBIN_U32("graphics/event_objects/pics/pokemon/lugia.4bpp"); -const u16 gEventObjectPalette32[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_32.gbapal"); -const u32 gEventObjectPic_HoOh[] = INCBIN_U32("graphics/event_objects/pics/pokemon/ho_oh.4bpp"); -const u16 gEventObjectPalette31[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_31.gbapal"); diff --git a/src/data/field_event_obj/event_object_graphics_info.h b/src/data/field_event_obj/event_object_graphics_info.h deleted file mode 100755 index 1f89cc98d..000000000 --- a/src/data/field_event_obj/event_object_graphics_info.h +++ /dev/null @@ -1,245 +0,0 @@ -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BrendanNormal = {0xFFFF, EVENT_OBJ_PAL_TAG_8, EVENT_OBJ_PAL_TAG_10, 512, 16, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_BrendanMayNormal, gEventObjectPicTable_BrendanNormal, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BrendanMachBike = {0xFFFF, EVENT_OBJ_PAL_TAG_8, EVENT_OBJ_PAL_TAG_10, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_BrendanMachBike, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BrendanAcroBike = {0xFFFF, EVENT_OBJ_PAL_TAG_8, EVENT_OBJ_PAL_TAG_10, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_AcroBike, gEventObjectPicTable_BrendanAcroBike, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BrendanSurfing = {0xFFFF, EVENT_OBJ_PAL_TAG_8, EVENT_OBJ_PAL_TAG_NONE, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Surfing, gEventObjectPicTable_BrendanSurfing, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BrendanFieldMove = {0xFFFF, EVENT_OBJ_PAL_TAG_8, EVENT_OBJ_PAL_TAG_10, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_FieldMove, gEventObjectPicTable_BrendanFieldMove, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_QuintyPlump = {0xFFFF, EVENT_OBJ_PAL_TAG_12, EVENT_OBJ_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_L, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_QuintyPlump, gEventObjectPicTable_QuintyPlump, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_NinjaBoy = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_NinjaBoy, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Twin = {0xFFFF, EVENT_OBJ_PAL_TAG_1, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Twin, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Boy1 = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Boy1, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Girl1 = {0xFFFF, EVENT_OBJ_PAL_TAG_1, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Girl1, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Boy2 = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Boy2, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Girl2 = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Girl2, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_LittleBoy = {0xFFFF, EVENT_OBJ_PAL_TAG_3, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_LittleBoy, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_LittleGirl = {0xFFFF, EVENT_OBJ_PAL_TAG_1, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_LittleGirl, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Boy3 = {0xFFFF, EVENT_OBJ_PAL_TAG_3, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Boy3, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Girl3 = {0xFFFF, EVENT_OBJ_PAL_TAG_1, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Girl3, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RichBoy = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_RichBoy, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Woman1 = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Woman1, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_FatMan = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_FatMan, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_PokefanF = {0xFFFF, EVENT_OBJ_PAL_TAG_1, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_PokefanF, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Man1 = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Man1, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Woman2 = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Woman2, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_ExpertM = {0xFFFF, EVENT_OBJ_PAL_TAG_3, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_ExpertM, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_ExpertF = {0xFFFF, EVENT_OBJ_PAL_TAG_3, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_ExpertF, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Man2 = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Man2, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Woman3 = {0xFFFF, EVENT_OBJ_PAL_TAG_1, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Woman3, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_PokefanM = {0xFFFF, EVENT_OBJ_PAL_TAG_1, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_PokefanM, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Woman4 = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Woman4, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Cook = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Cook, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_LinkReceptionist = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_LinkReceptionist, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_OldMan = {0xFFFF, EVENT_OBJ_PAL_TAG_3, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_OldMan, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_OldWoman = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_OldWoman, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Camper = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Camper, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Picnicker = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Picnicker, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Man3 = {0xFFFF, EVENT_OBJ_PAL_TAG_1, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Man3, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Woman5 = {0xFFFF, EVENT_OBJ_PAL_TAG_1, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Woman5, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Youngster = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Youngster, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BugCatcher = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_BugCatcher, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_PsychicM = {0xFFFF, EVENT_OBJ_PAL_TAG_3, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_PsychicM, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_SchoolKidM = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_SchoolKidM, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Maniac = {0xFFFF, EVENT_OBJ_PAL_TAG_3, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Maniac, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_HexManiac = {0xFFFF, EVENT_OBJ_PAL_TAG_3, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_HexManiac, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Rayquaza1 = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 2048, 64, 64, 4, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gEventObjectBaseOam_64x64, gEventObjectSpriteOamTables_64x64, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_RayquazaStill, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_SwimmerM = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_SwimmerM, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_SwimmerF = {0xFFFF, EVENT_OBJ_PAL_TAG_1, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_SwimmerF, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BlackBelt = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_BlackBelt, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Beauty = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Beauty, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Scientist1 = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Scientist1, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Lass = {0xFFFF, EVENT_OBJ_PAL_TAG_3, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Lass, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Gentleman = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Gentleman, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Sailor = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Sailor, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Fisherman = {0xFFFF, EVENT_OBJ_PAL_TAG_1, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Fisherman, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RunningTriathleteM = {0xFFFF, EVENT_OBJ_PAL_TAG_3, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_RunningTriathleteM, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RunningTriathleteF = {0xFFFF, EVENT_OBJ_PAL_TAG_1, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_RunningTriathleteF, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_TuberF = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_TuberF, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_TuberM = {0xFFFF, EVENT_OBJ_PAL_TAG_1, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_TuberM, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Hiker = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Hiker, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_CyclingTriathleteM = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 512, 32, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_AcroBike, gEventObjectPicTable_CyclingTriathleteM, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_CyclingTriathleteF = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_AcroBike, gEventObjectPicTable_CyclingTriathleteF, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Nurse = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Nurse, gEventObjectPicTable_Nurse, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_ItemBall = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_ItemBall, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BerryTree = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, NULL, gEventObjectImageAnimTable_BerryTree, gEventObjectPicTable_PechaBerryTree, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BerryTreeEarlyStages = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_BerryTree, gEventObjectPicTable_PechaBerryTree, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BerryTreeLateStages = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_BerryTree, gEventObjectPicTable_PechaBerryTree, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_ProfBirch = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_ProfBirch, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Man4 = {0xFFFF, EVENT_OBJ_PAL_TAG_3, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Man4, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Man5 = {0xFFFF, EVENT_OBJ_PAL_TAG_1, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Man5, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_ReporterM = {0xFFFF, EVENT_OBJ_PAL_TAG_3, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_ReporterM, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_ReporterF = {0xFFFF, EVENT_OBJ_PAL_TAG_3, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_ReporterF, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Bard = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_MauvilleOldMan1, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Hipster = {0xFFFF, EVENT_OBJ_PAL_TAG_1, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_MauvilleOldMan1, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Trader = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_MauvilleOldMan1, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Storyteller = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_MauvilleOldMan2, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Giddy = {0xFFFF, EVENT_OBJ_PAL_TAG_1, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_MauvilleOldMan2, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_UnusedMauvilleOldMan1 = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_MauvilleOldMan2, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_UnusedMauvilleOldMan2 = {0xFFFF, EVENT_OBJ_PAL_TAG_3, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_MauvilleOldMan2, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_UnusedNatuDoll = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_UnusedNatuDoll, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_UnusedMagnemiteDoll = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_UnusedMagnemiteDoll, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_UnusedSquirtleDoll = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_UnusedSquirtleDoll, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_UnusedWooperDoll = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_UnusedWooperDoll, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_UnusedPikachuDoll = {0xFFFF, EVENT_OBJ_PAL_TAG_1, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_UnusedPikachuDoll, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_UnusedPorygon2Doll = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_UnusedPorygon2Doll, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_CuttableTree = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_CuttableTree, gEventObjectPicTable_CuttableTree, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MartEmployee = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_MartEmployee, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RooftopSaleWoman = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_RooftopSaleWoman, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Teala = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Teala, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BreakableRock = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_BreakableRock, gEventObjectPicTable_BreakableRock, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_PushableBoulder = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_PushableBoulder, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MrBrineysBoat = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 512, 32, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_MrBrineysBoat, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MayNormal = {0xFFFF, EVENT_OBJ_PAL_TAG_17, EVENT_OBJ_PAL_TAG_10, 512, 16, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_BrendanMayNormal, gEventObjectPicTable_MayNormal, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MayMachBike = {0xFFFF, EVENT_OBJ_PAL_TAG_17, EVENT_OBJ_PAL_TAG_10, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_MayMachBike, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MayAcroBike = {0xFFFF, EVENT_OBJ_PAL_TAG_17, EVENT_OBJ_PAL_TAG_10, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_AcroBike, gEventObjectPicTable_MayAcroBike, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MaySurfing = {0xFFFF, EVENT_OBJ_PAL_TAG_17, EVENT_OBJ_PAL_TAG_NONE, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Surfing, gEventObjectPicTable_MaySurfing, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MayFieldMove = {0xFFFF, EVENT_OBJ_PAL_TAG_17, EVENT_OBJ_PAL_TAG_10, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_FieldMove, gEventObjectPicTable_MayFieldMove, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Truck = {0xFFFF, EVENT_OBJ_PAL_TAG_14, EVENT_OBJ_PAL_TAG_NONE, 1152, 48, 48, 10, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_Truck, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_Truck, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_VigorothCarryingBox = {0xFFFF, EVENT_OBJ_PAL_TAG_15, EVENT_OBJ_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_VigorothCarryingBox, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_VigorothFacingAway = {0xFFFF, EVENT_OBJ_PAL_TAG_15, EVENT_OBJ_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_VigorothFacingAway, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BirchsBag = {0xFFFF, EVENT_OBJ_PAL_TAG_1, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_BirchsBag, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_EnemyZigzagoon = {0xFFFF, EVENT_OBJ_PAL_TAG_16, EVENT_OBJ_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_EnemyZigzagoon, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Poochyena = {0xFFFF, EVENT_OBJ_PAL_TAG_27, EVENT_OBJ_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Poochyena, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Artist = {0xFFFF, EVENT_OBJ_PAL_TAG_3, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Artist, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RivalBrendanNormal = {0xFFFF, EVENT_OBJ_PAL_TAG_8, EVENT_OBJ_PAL_TAG_10, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_BrendanMayNormal, gEventObjectPicTable_BrendanNormal, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RivalBrendanMachBike = {0xFFFF, EVENT_OBJ_PAL_TAG_8, EVENT_OBJ_PAL_TAG_10, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_BrendanMachBike, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RivalBrendanAcroBike = {0xFFFF, EVENT_OBJ_PAL_TAG_8, EVENT_OBJ_PAL_TAG_10, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_AcroBike, gEventObjectPicTable_BrendanAcroBike, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RivalBrendanSurfing = {0xFFFF, EVENT_OBJ_PAL_TAG_8, EVENT_OBJ_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Surfing, gEventObjectPicTable_BrendanSurfing, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RivalBrendanFieldMove = {0xFFFF, EVENT_OBJ_PAL_TAG_8, EVENT_OBJ_PAL_TAG_10, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_FieldMove, gEventObjectPicTable_BrendanFieldMove, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RivalMayNormal = {0xFFFF, EVENT_OBJ_PAL_TAG_17, EVENT_OBJ_PAL_TAG_10, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_BrendanMayNormal, gEventObjectPicTable_MayNormal, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RivalMayMachBike = {0xFFFF, EVENT_OBJ_PAL_TAG_17, EVENT_OBJ_PAL_TAG_10, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_MayMachBike, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RivalMayAcroBike = {0xFFFF, EVENT_OBJ_PAL_TAG_17, EVENT_OBJ_PAL_TAG_10, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_AcroBike, gEventObjectPicTable_MayAcroBike, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RivalMaySurfing = {0xFFFF, EVENT_OBJ_PAL_TAG_17, EVENT_OBJ_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Surfing, gEventObjectPicTable_MaySurfing, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RivalMayFieldMove = {0xFFFF, EVENT_OBJ_PAL_TAG_17, EVENT_OBJ_PAL_TAG_10, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_FieldMove, gEventObjectPicTable_MayFieldMove, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Cameraman = {0xFFFF, EVENT_OBJ_PAL_TAG_3, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Cameraman, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BrendanUnderwater = {0xFFFF, EVENT_OBJ_PAL_TAG_11, EVENT_OBJ_PAL_TAG_NONE, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_BrendanUnderwater, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MayUnderwater = {0xFFFF, EVENT_OBJ_PAL_TAG_11, EVENT_OBJ_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_MayUnderwater, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MovingBox = {0xFFFF, EVENT_OBJ_PAL_TAG_19, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 10, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_MovingBox, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_CableCar = {0xFFFF, EVENT_OBJ_PAL_TAG_20, EVENT_OBJ_PAL_TAG_NONE, 2048, 64, 64, 10, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_64x64, gEventObjectSpriteOamTables_64x64, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_CableCar, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Scientist2 = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Scientist2, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_DevonEmployee = {0xFFFF, EVENT_OBJ_PAL_TAG_1, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_DevonEmployee, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_AquaMemberM = {0xFFFF, EVENT_OBJ_PAL_TAG_3, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_AquaMemberM, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_AquaMemberF = {0xFFFF, EVENT_OBJ_PAL_TAG_3, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_AquaMemberF, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MagmaMemberM = {0xFFFF, EVENT_OBJ_PAL_TAG_1, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_MagmaMemberM, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MagmaMemberF = {0xFFFF, EVENT_OBJ_PAL_TAG_1, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_MagmaMemberF, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Sidney = {0xFFFF, EVENT_OBJ_PAL_TAG_1, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Sidney, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Phoebe = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Phoebe, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Glacia = {0xFFFF, EVENT_OBJ_PAL_TAG_1, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Glacia, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Drake = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Drake, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Roxanne = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Roxanne, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Brawly = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Brawly, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Wattson = {0xFFFF, EVENT_OBJ_PAL_TAG_1, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Wattson, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Flannery = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Flannery, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Norman = {0xFFFF, EVENT_OBJ_PAL_TAG_3, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Norman, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Winona = {0xFFFF, EVENT_OBJ_PAL_TAG_3, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Winona, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Liza = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Liza, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Tate = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Tate, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Wallace = {0xFFFF, EVENT_OBJ_PAL_TAG_3, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Wallace, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Steven = {0xFFFF, EVENT_OBJ_PAL_TAG_3, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Steven, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Wally = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Wally, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RubySapphireLittleBoy = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_RubySapphireLittleBoy, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BrendanFishing = {0xFFFF, EVENT_OBJ_PAL_TAG_8, EVENT_OBJ_PAL_TAG_10, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Fishing, gEventObjectPicTable_BrendanFishing, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MayFishing = {0xFFFF, EVENT_OBJ_PAL_TAG_17, EVENT_OBJ_PAL_TAG_10, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Fishing, gEventObjectPicTable_MayFishing, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_HotSpringsOldWoman = {0xFFFF, EVENT_OBJ_PAL_TAG_3, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_HotSpringsOldWoman, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_SSTidal = {0xFFFF, EVENT_OBJ_PAL_TAG_21, EVENT_OBJ_PAL_TAG_NONE, 1920, 96, 40, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_8x8, gEventObjectSpriteOamTables_SSTidal, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_SSTidal, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_SubmarineShadow = {0xFFFF, EVENT_OBJ_PAL_TAG_26, EVENT_OBJ_PAL_TAG_NONE, 1408, 88, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_8x8, gEventObjectSpriteOamTables_SubmarineShadow, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_SubmarineShadow, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_PichuDoll = {0xFFFF, EVENT_OBJ_PAL_TAG_1, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_PichuDoll, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_PikachuDoll = {0xFFFF, EVENT_OBJ_PAL_TAG_1, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_PikachuDoll, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MarillDoll = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_MarillDoll, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_TogepiDoll = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_TogepiDoll, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_CyndaquilDoll = {0xFFFF, EVENT_OBJ_PAL_TAG_3, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 5, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_CyndaquilDoll, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_ChikoritaDoll = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_ChikoritaDoll, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_TotodileDoll = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_TotodileDoll, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_JigglypuffDoll = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_JigglypuffDoll, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MeowthDoll = {0xFFFF, EVENT_OBJ_PAL_TAG_1, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_MeowthDoll, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_ClefairyDoll = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_ClefairyDoll, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_DittoDoll = {0xFFFF, EVENT_OBJ_PAL_TAG_3, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 5, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_DittoDoll, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_SmoochumDoll = {0xFFFF, EVENT_OBJ_PAL_TAG_3, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 5, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_SmoochumDoll, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_TreeckoDoll = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_TreeckoDoll, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_TorchicDoll = {0xFFFF, EVENT_OBJ_PAL_TAG_1, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_TorchicDoll, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MudkipDoll = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_MudkipDoll, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_DuskullDoll = {0xFFFF, EVENT_OBJ_PAL_TAG_3, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 5, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_DuskullDoll, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_WynautDoll = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_WynautDoll, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BaltoyDoll = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_BaltoyDoll, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_KecleonDoll = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_KecleonDoll, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_AzurillDoll = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_AzurillDoll, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_SkittyDoll = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_SkittyDoll, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_SwabluDoll = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_SwabluDoll, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_GulpinDoll = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_GulpinDoll, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_LotadDoll = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_LotadDoll, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_SeedotDoll = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_SeedotDoll, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_PikaCushion = {0xFFFF, EVENT_OBJ_PAL_TAG_1, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_PikaCushion, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RoundCushion = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_RoundCushion, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_KissCushion = {0xFFFF, EVENT_OBJ_PAL_TAG_3, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 5, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_KissCushion, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_ZigzagCushion = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_ZigzagCushion, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_SpinCushion = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_SpinCushion, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_DiamondCushion = {0xFFFF, EVENT_OBJ_PAL_TAG_3, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 5, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_DiamondCushion, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BallCushion = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_BallCushion, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_GrassCushion = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_GrassCushion, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_FireCushion = {0xFFFF, EVENT_OBJ_PAL_TAG_1, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_FireCushion, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_WaterCushion = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_WaterCushion, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BigSnorlaxDoll = {0xFFFF, EVENT_OBJ_PAL_TAG_3, EVENT_OBJ_PAL_TAG_NONE, 512, 32, 32, 5, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_BigSnorlaxDoll, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BigRhydonDoll = {0xFFFF, EVENT_OBJ_PAL_TAG_3, EVENT_OBJ_PAL_TAG_NONE, 512, 32, 32, 5, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_BigRhydonDoll, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BigLaprasDoll = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_BigLaprasDoll, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BigVenusaurDoll = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 512, 32, 32, 4, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_BigVenusaurDoll, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BigCharizardDoll = {0xFFFF, EVENT_OBJ_PAL_TAG_1, EVENT_OBJ_PAL_TAG_NONE, 512, 32, 32, 3, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_BigCharizardDoll, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BigBlastoiseDoll = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_BigBlastoiseDoll, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BigWailmerDoll = {0xFFFF, EVENT_OBJ_PAL_TAG_3, EVENT_OBJ_PAL_TAG_NONE, 512, 32, 32, 5, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_BigWailmerDoll, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BigRegirockDoll = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_BigRegirockDoll, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BigRegiceDoll = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 512, 32, 32, 4, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_BigRegiceDoll, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BigRegisteelDoll = {0xFFFF, EVENT_OBJ_PAL_TAG_3, EVENT_OBJ_PAL_TAG_NONE, 512, 32, 32, 5, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_BigRegisteelDoll, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Latias = {0xFFFF, EVENT_OBJ_PAL_TAG_1, EVENT_OBJ_PAL_TAG_NONE, 512, 32, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_LatiasLatios, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Latios = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_LatiasLatios, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_GameboyKid = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_GameboyKid, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_ContestJudge = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_ContestJudge, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BrendanWatering = {0xFFFF, EVENT_OBJ_PAL_TAG_8, EVENT_OBJ_PAL_TAG_10, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_BrendanWatering, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MayWatering = {0xFFFF, EVENT_OBJ_PAL_TAG_17, EVENT_OBJ_PAL_TAG_10, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_MayWatering, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BrendanDecorating = {0xFFFF, EVENT_OBJ_PAL_TAG_8, EVENT_OBJ_PAL_TAG_10, 256, 16, 32, 10, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_BrendanDecorating, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MayDecorating = {0xFFFF, EVENT_OBJ_PAL_TAG_17, EVENT_OBJ_PAL_TAG_10, 256, 16, 32, 10, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_MayDecorating, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Archie = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Archie, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Maxie = {0xFFFF, EVENT_OBJ_PAL_TAG_1, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Maxie, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Kyogre1 = {0xFFFF, EVENT_OBJ_PAL_TAG_3, EVENT_OBJ_PAL_TAG_NONE, 512, 32, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_KyogreFront, gEventObjectRotScalAnimTable_KyogreGroudon}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Groudon1 = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 512, 32, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_GroudonFront, gEventObjectRotScalAnimTable_KyogreGroudon}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Kyogre3 = {0xFFFF, EVENT_OBJ_PAL_TAG_3, EVENT_OBJ_PAL_TAG_NONE, 512, 32, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_KyogreSide, gEventObjectRotScalAnimTable_KyogreGroudon}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Groudon3 = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 512, 32, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Groudon3, gEventObjectPicTable_GroudonSide, gEventObjectRotScalAnimTable_KyogreGroudon}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Fossil = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_Fossil, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Regirock = {0xFFFF, EVENT_OBJ_PAL_TAG_1, EVENT_OBJ_PAL_TAG_NONE, 512, 32, 32, 3, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Regi, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Regice = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 512, 32, 32, 4, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Regi, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Registeel = {0xFFFF, EVENT_OBJ_PAL_TAG_3, EVENT_OBJ_PAL_TAG_NONE, 512, 32, 32, 5, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Regi, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Skitty = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Skitty, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Kecleon1 = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Kecleon, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Kyogre2 = {0xFFFF, EVENT_OBJ_PAL_TAG_22, EVENT_OBJ_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_KyogreFront, gEventObjectRotScalAnimTable_KyogreGroudon}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Groudon2 = {0xFFFF, EVENT_OBJ_PAL_TAG_24, EVENT_OBJ_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_GroudonFront, gEventObjectRotScalAnimTable_KyogreGroudon}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Rayquaza2 = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 2048, 64, 64, 4, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gEventObjectBaseOam_64x64, gEventObjectSpriteOamTables_64x64, gEventObjectImageAnimTable_Rayquaza2, gEventObjectPicTable_Rayquaza, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Zigzagoon = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Zigzagoon, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Pikachu = {0xFFFF, EVENT_OBJ_PAL_TAG_1, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Pikachu, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Azumarill = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Azumarill, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Wingull = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Wingull, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Kecleon2 = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_10, 128, 16, 16, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Kecleon, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_TuberMSwimming = {0xFFFF, EVENT_OBJ_PAL_TAG_1, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_TuberMSwimming, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Azurill = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x16, gEventObjectSpriteOamTables_16x16, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Azurill, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Mom = {0xFFFF, EVENT_OBJ_PAL_TAG_3, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Mom, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_LinkBrendan = {0xFFFF, EVENT_OBJ_PAL_TAG_17, EVENT_OBJ_PAL_TAG_10, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_BrendanMayNormal, gEventObjectPicTable_BrendanNormal, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_LinkMay = {0xFFFF, EVENT_OBJ_PAL_TAG_17, EVENT_OBJ_PAL_TAG_10, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_BrendanMayNormal, gEventObjectPicTable_MayNormal, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Juan = {0xFFFF, EVENT_OBJ_PAL_TAG_3, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Juan, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Scott = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Scott, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MysteryEventDeliveryman = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_MysteryEventDeliveryman, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Statue = {0xFFFF, EVENT_OBJ_PAL_TAG_3, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_Statue, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Kirlia = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_S, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Kirlia, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Dusclops = {0xFFFF, EVENT_OBJ_PAL_TAG_3, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Dusclops, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_UnionRoomAttendant = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_UnionRoomAttendant, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Red = {0xFFFF, EVENT_OBJ_PAL_TAG_28, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Red, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Leaf = {0xFFFF, EVENT_OBJ_PAL_TAG_28, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Leaf, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Sudowoodo = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Sudowoodo, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Mew = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Mew, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Deoxys = {0xFFFF, EVENT_OBJ_PAL_TAG_29, EVENT_OBJ_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Deoxys, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BirthIslandStone = {0xFFFF, EVENT_OBJ_PAL_TAG_30, EVENT_OBJ_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_BirthIslandStone, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Anabel = {0xFFFF, EVENT_OBJ_PAL_TAG_3, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Anabel, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Tucker = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Tucker, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Greta = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Greta, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Spenser = {0xFFFF, EVENT_OBJ_PAL_TAG_0, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Spenser, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Noland = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Noland, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Lucy = {0xFFFF, EVENT_OBJ_PAL_TAG_3, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Lucy, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Brandon = {0xFFFF, EVENT_OBJ_PAL_TAG_2, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Brandon, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RubySapphireBrendan = {0xFFFF, EVENT_OBJ_PAL_TAG_33, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_RubySapphireBrendan, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RubySapphireMay = {0xFFFF, EVENT_OBJ_PAL_TAG_34, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_RubySapphireMay, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Lugia = {0xFFFF, EVENT_OBJ_PAL_TAG_32, EVENT_OBJ_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Lugia, gDummySpriteAffineAnimTable}; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_HoOh = {0xFFFF, EVENT_OBJ_PAL_TAG_31, EVENT_OBJ_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_HoOh, gEventObjectPicTable_HoOh, gDummySpriteAffineAnimTable}; diff --git a/src/data/field_event_obj/event_object_graphics_info_pointers.h b/src/data/field_event_obj/event_object_graphics_info_pointers.h deleted file mode 100755 index 661539d57..000000000 --- a/src/data/field_event_obj/event_object_graphics_info_pointers.h +++ /dev/null @@ -1,499 +0,0 @@ -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BrendanNormal; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BrendanMachBike; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BrendanSurfing; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BrendanFieldMove; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_QuintyPlump; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_NinjaBoy; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Twin; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Boy1; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Girl1; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Boy2; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Girl2; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_LittleBoy; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_LittleGirl; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Boy3; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Girl3; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RichBoy; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Woman1; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_FatMan; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_PokefanF; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Man1; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Woman2; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_ExpertM; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_ExpertF; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Man2; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Woman3; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_PokefanM; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Woman4; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Cook; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_LinkReceptionist; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_OldMan; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_OldWoman; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Camper; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Picnicker; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Man3; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Woman5; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Youngster; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BugCatcher; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_PsychicM; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_SchoolKidM; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Maniac; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_HexManiac; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Rayquaza1; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_SwimmerM; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_SwimmerF; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BlackBelt; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Beauty; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Scientist1; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Lass; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Gentleman; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Sailor; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Fisherman; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RunningTriathleteM; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RunningTriathleteF; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_TuberF; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_TuberM; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Hiker; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_CyclingTriathleteM; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_CyclingTriathleteF; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Nurse; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_ItemBall; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BerryTree; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BerryTreeEarlyStages; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BerryTreeLateStages; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BrendanAcroBike; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_ProfBirch; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Man4; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Man5; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_ReporterM; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_ReporterF; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Bard; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Anabel; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Tucker; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Greta; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Spenser; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Noland; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Lucy; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_UnusedNatuDoll; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_UnusedMagnemiteDoll; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_UnusedSquirtleDoll; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_UnusedWooperDoll; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_UnusedPikachuDoll; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_UnusedPorygon2Doll; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_CuttableTree; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MartEmployee; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RooftopSaleWoman; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Teala; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BreakableRock; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_PushableBoulder; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MrBrineysBoat; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MayNormal; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MayMachBike; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MayAcroBike; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MaySurfing; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MayFieldMove; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Truck; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_VigorothCarryingBox; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_VigorothFacingAway; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BirchsBag; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_EnemyZigzagoon; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Artist; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RivalBrendanNormal; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RivalBrendanMachBike; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RivalBrendanAcroBike; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RivalBrendanSurfing; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RivalBrendanFieldMove; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RivalMayNormal; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RivalMayMachBike; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RivalMayAcroBike; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RivalMaySurfing; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RivalMayFieldMove; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Cameraman; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BrendanUnderwater; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MayUnderwater; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MovingBox; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_CableCar; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Scientist2; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_DevonEmployee; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_AquaMemberM; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_AquaMemberF; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MagmaMemberM; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MagmaMemberF; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Sidney; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Phoebe; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Glacia; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Drake; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Roxanne; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Brawly; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Wattson; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Flannery; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Norman; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Winona; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Liza; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Tate; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Wallace; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Steven; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Wally; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RubySapphireLittleBoy; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BrendanFishing; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MayFishing; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_HotSpringsOldWoman; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_SSTidal; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_SubmarineShadow; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_PichuDoll; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_PikachuDoll; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MarillDoll; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_TogepiDoll; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_CyndaquilDoll; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_ChikoritaDoll; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_TotodileDoll; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_JigglypuffDoll; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MeowthDoll; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_ClefairyDoll; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_DittoDoll; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_SmoochumDoll; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_TreeckoDoll; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_TorchicDoll; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MudkipDoll; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_DuskullDoll; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_WynautDoll; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BaltoyDoll; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_KecleonDoll; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_AzurillDoll; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_SkittyDoll; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_SwabluDoll; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_GulpinDoll; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_LotadDoll; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_SeedotDoll; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_PikaCushion; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RoundCushion; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_KissCushion; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_ZigzagCushion; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_SpinCushion; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_DiamondCushion; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BallCushion; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_GrassCushion; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_FireCushion; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_WaterCushion; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BigSnorlaxDoll; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BigRhydonDoll; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BigLaprasDoll; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BigVenusaurDoll; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BigCharizardDoll; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BigBlastoiseDoll; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BigWailmerDoll; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BigRegirockDoll; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BigRegiceDoll; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BigRegisteelDoll; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Latias; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Latios; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_GameboyKid; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_ContestJudge; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BrendanWatering; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MayWatering; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BrendanDecorating; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MayDecorating; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Archie; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Maxie; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Kyogre1; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Groudon1; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Fossil; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Regirock; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Regice; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Registeel; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Skitty; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Kecleon1; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Kyogre2; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Groudon2; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Rayquaza2; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Zigzagoon; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Pikachu; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Azumarill; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Wingull; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Kecleon2; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_TuberMSwimming; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Azurill; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Mom; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_LinkBrendan; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_LinkMay; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Juan; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Scott; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Poochyena; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Kyogre3; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Groudon3; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MysteryEventDeliveryman; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Statue; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Kirlia; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Dusclops; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_UnionRoomAttendant; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Sudowoodo; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Mew; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Red; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Leaf; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Deoxys; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BirthIslandStone; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Brandon; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RubySapphireBrendan; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RubySapphireMay; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Lugia; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_HoOh; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Bard; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Hipster; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Trader; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Storyteller; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Giddy; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_UnusedMauvilleOldMan1; -const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_UnusedMauvilleOldMan2; - - -const struct EventObjectGraphicsInfo *const gEventObjectGraphicsInfoPointers[] = { - [EVENT_OBJ_GFX_BRENDAN_NORMAL] = &gEventObjectGraphicsInfo_BrendanNormal, - [EVENT_OBJ_GFX_BRENDAN_MACH_BIKE] = &gEventObjectGraphicsInfo_BrendanMachBike, - [EVENT_OBJ_GFX_BRENDAN_SURFING] = &gEventObjectGraphicsInfo_BrendanSurfing, - [EVENT_OBJ_GFX_BRENDAN_FIELD_MOVE] = &gEventObjectGraphicsInfo_BrendanFieldMove, - [EVENT_OBJ_GFX_QUINTY_PLUMP] = &gEventObjectGraphicsInfo_QuintyPlump, - [EVENT_OBJ_GFX_NINJA_BOY] = &gEventObjectGraphicsInfo_NinjaBoy, - [EVENT_OBJ_GFX_TWIN] = &gEventObjectGraphicsInfo_Twin, - [EVENT_OBJ_GFX_BOY_1] = &gEventObjectGraphicsInfo_Boy1, - [EVENT_OBJ_GFX_GIRL_1] = &gEventObjectGraphicsInfo_Girl1, - [EVENT_OBJ_GFX_BOY_2] = &gEventObjectGraphicsInfo_Boy2, - [EVENT_OBJ_GFX_GIRL_2] = &gEventObjectGraphicsInfo_Girl2, - [EVENT_OBJ_GFX_LITTLE_BOY] = &gEventObjectGraphicsInfo_LittleBoy, - [EVENT_OBJ_GFX_LITTLE_GIRL] = &gEventObjectGraphicsInfo_LittleGirl, - [EVENT_OBJ_GFX_BOY_3] = &gEventObjectGraphicsInfo_Boy3, - [EVENT_OBJ_GFX_GIRL_3] = &gEventObjectGraphicsInfo_Girl3, - [EVENT_OBJ_GFX_RICH_BOY] = &gEventObjectGraphicsInfo_RichBoy, - [EVENT_OBJ_GFX_WOMAN_1] = &gEventObjectGraphicsInfo_Woman1, - [EVENT_OBJ_GFX_FAT_MAN] = &gEventObjectGraphicsInfo_FatMan, - [EVENT_OBJ_GFX_POKEFAN_F] = &gEventObjectGraphicsInfo_PokefanF, - [EVENT_OBJ_GFX_MAN_1] = &gEventObjectGraphicsInfo_Man1, - [EVENT_OBJ_GFX_WOMAN_2] = &gEventObjectGraphicsInfo_Woman2, - [EVENT_OBJ_GFX_EXPERT_M] = &gEventObjectGraphicsInfo_ExpertM, - [EVENT_OBJ_GFX_EXPERT_F] = &gEventObjectGraphicsInfo_ExpertF, - [EVENT_OBJ_GFX_MAN_2] = &gEventObjectGraphicsInfo_Man2, - [EVENT_OBJ_GFX_WOMAN_3] = &gEventObjectGraphicsInfo_Woman3, - [EVENT_OBJ_GFX_POKEFAN_M] = &gEventObjectGraphicsInfo_PokefanM, - [EVENT_OBJ_GFX_WOMAN_4] = &gEventObjectGraphicsInfo_Woman4, - [EVENT_OBJ_GFX_COOK] = &gEventObjectGraphicsInfo_Cook, - [EVENT_OBJ_GFX_LINK_RECEPTIONIST] = &gEventObjectGraphicsInfo_LinkReceptionist, - [EVENT_OBJ_GFX_OLD_MAN] = &gEventObjectGraphicsInfo_OldMan, - [EVENT_OBJ_GFX_OLD_WOMAN] = &gEventObjectGraphicsInfo_OldWoman, - [EVENT_OBJ_GFX_CAMPER] = &gEventObjectGraphicsInfo_Camper, - [EVENT_OBJ_GFX_PICNICKER] = &gEventObjectGraphicsInfo_Picnicker, - [EVENT_OBJ_GFX_MAN_3] = &gEventObjectGraphicsInfo_Man3, - [EVENT_OBJ_GFX_WOMAN_5] = &gEventObjectGraphicsInfo_Woman5, - [EVENT_OBJ_GFX_YOUNGSTER] = &gEventObjectGraphicsInfo_Youngster, - [EVENT_OBJ_GFX_BUG_CATCHER] = &gEventObjectGraphicsInfo_BugCatcher, - [EVENT_OBJ_GFX_PSYCHIC_M] = &gEventObjectGraphicsInfo_PsychicM, - [EVENT_OBJ_GFX_SCHOOL_KID_M] = &gEventObjectGraphicsInfo_SchoolKidM, - [EVENT_OBJ_GFX_MANIAC] = &gEventObjectGraphicsInfo_Maniac, - [EVENT_OBJ_GFX_HEX_MANIAC] = &gEventObjectGraphicsInfo_HexManiac, - [EVENT_OBJ_GFX_RAYQUAZA_1] = &gEventObjectGraphicsInfo_Rayquaza1, - [EVENT_OBJ_GFX_SWIMMER_M] = &gEventObjectGraphicsInfo_SwimmerM, - [EVENT_OBJ_GFX_SWIMMER_F] = &gEventObjectGraphicsInfo_SwimmerF, - [EVENT_OBJ_GFX_BLACK_BELT] = &gEventObjectGraphicsInfo_BlackBelt, - [EVENT_OBJ_GFX_BEAUTY] = &gEventObjectGraphicsInfo_Beauty, - [EVENT_OBJ_GFX_SCIENTIST_1] = &gEventObjectGraphicsInfo_Scientist1, - [EVENT_OBJ_GFX_LASS] = &gEventObjectGraphicsInfo_Lass, - [EVENT_OBJ_GFX_GENTLEMAN] = &gEventObjectGraphicsInfo_Gentleman, - [EVENT_OBJ_GFX_SAILOR] = &gEventObjectGraphicsInfo_Sailor, - [EVENT_OBJ_GFX_FISHERMAN] = &gEventObjectGraphicsInfo_Fisherman, - [EVENT_OBJ_GFX_RUNNING_TRIATHLETE_M] = &gEventObjectGraphicsInfo_RunningTriathleteM, - [EVENT_OBJ_GFX_RUNNING_TRIATHLETE_F] = &gEventObjectGraphicsInfo_RunningTriathleteF, - [EVENT_OBJ_GFX_TUBER_F] = &gEventObjectGraphicsInfo_TuberF, - [EVENT_OBJ_GFX_TUBER_M] = &gEventObjectGraphicsInfo_TuberM, - [EVENT_OBJ_GFX_HIKER] = &gEventObjectGraphicsInfo_Hiker, - [EVENT_OBJ_GFX_CYCLING_TRIATHLETE_M] = &gEventObjectGraphicsInfo_CyclingTriathleteM, - [EVENT_OBJ_GFX_CYCLING_TRIATHLETE_F] = &gEventObjectGraphicsInfo_CyclingTriathleteF, - [EVENT_OBJ_GFX_NURSE] = &gEventObjectGraphicsInfo_Nurse, - [EVENT_OBJ_GFX_ITEM_BALL] = &gEventObjectGraphicsInfo_ItemBall, - [EVENT_OBJ_GFX_BERRY_TREE] = &gEventObjectGraphicsInfo_BerryTree, - [EVENT_OBJ_GFX_BERRY_TREE_EARLY_STAGES] = &gEventObjectGraphicsInfo_BerryTreeEarlyStages, - [EVENT_OBJ_GFX_BERRY_TREE_LATE_STAGES] = &gEventObjectGraphicsInfo_BerryTreeLateStages, - [EVENT_OBJ_GFX_BRENDAN_ACRO_BIKE] = &gEventObjectGraphicsInfo_BrendanAcroBike, - [EVENT_OBJ_GFX_PROF_BIRCH] = &gEventObjectGraphicsInfo_ProfBirch, - [EVENT_OBJ_GFX_MAN_4] = &gEventObjectGraphicsInfo_Man4, - [EVENT_OBJ_GFX_MAN_5] = &gEventObjectGraphicsInfo_Man5, - [EVENT_OBJ_GFX_REPORTER_M] = &gEventObjectGraphicsInfo_ReporterM, - [EVENT_OBJ_GFX_REPORTER_F] = &gEventObjectGraphicsInfo_ReporterF, - [EVENT_OBJ_GFX_BARD] = &gEventObjectGraphicsInfo_Bard, - [EVENT_OBJ_GFX_ANABEL] = &gEventObjectGraphicsInfo_Anabel, - [EVENT_OBJ_GFX_TUCKER] = &gEventObjectGraphicsInfo_Tucker, - [EVENT_OBJ_GFX_GRETA] = &gEventObjectGraphicsInfo_Greta, - [EVENT_OBJ_GFX_SPENSER] = &gEventObjectGraphicsInfo_Spenser, - [EVENT_OBJ_GFX_NOLAND] = &gEventObjectGraphicsInfo_Noland, - [EVENT_OBJ_GFX_LUCY] = &gEventObjectGraphicsInfo_Lucy, - [EVENT_OBJ_GFX_UNUSED_NATU_DOLL] = &gEventObjectGraphicsInfo_UnusedNatuDoll, - [EVENT_OBJ_GFX_UNUSED_MAGNEMITE_DOLL] = &gEventObjectGraphicsInfo_UnusedMagnemiteDoll, - [EVENT_OBJ_GFX_UNUSED_SQUIRTLE_DOLL] = &gEventObjectGraphicsInfo_UnusedSquirtleDoll, - [EVENT_OBJ_GFX_UNUSED_WOOPER_DOLL] = &gEventObjectGraphicsInfo_UnusedWooperDoll, - [EVENT_OBJ_GFX_UNUSED_PIKACHU_DOLL] = &gEventObjectGraphicsInfo_UnusedPikachuDoll, - [EVENT_OBJ_GFX_UNUSED_PORYGON2_DOLL] = &gEventObjectGraphicsInfo_UnusedPorygon2Doll, - [EVENT_OBJ_GFX_CUTTABLE_TREE] = &gEventObjectGraphicsInfo_CuttableTree, - [EVENT_OBJ_GFX_MART_EMPLOYEE] = &gEventObjectGraphicsInfo_MartEmployee, - [EVENT_OBJ_GFX_ROOFTOP_SALE_WOMAN] = &gEventObjectGraphicsInfo_RooftopSaleWoman, - [EVENT_OBJ_GFX_TEALA] = &gEventObjectGraphicsInfo_Teala, - [EVENT_OBJ_GFX_BREAKABLE_ROCK] = &gEventObjectGraphicsInfo_BreakableRock, - [EVENT_OBJ_GFX_PUSHABLE_BOULDER] = &gEventObjectGraphicsInfo_PushableBoulder, - [EVENT_OBJ_GFX_MR_BRINEYS_BOAT] = &gEventObjectGraphicsInfo_MrBrineysBoat, - [EVENT_OBJ_GFX_MAY_NORMAL] = &gEventObjectGraphicsInfo_MayNormal, - [EVENT_OBJ_GFX_MAY_MACH_BIKE] = &gEventObjectGraphicsInfo_MayMachBike, - [EVENT_OBJ_GFX_MAY_ACRO_BIKE] = &gEventObjectGraphicsInfo_MayAcroBike, - [EVENT_OBJ_GFX_MAY_SURFING] = &gEventObjectGraphicsInfo_MaySurfing, - [EVENT_OBJ_GFX_MAY_FIELD_MOVE] = &gEventObjectGraphicsInfo_MayFieldMove, - [EVENT_OBJ_GFX_TRUCK] = &gEventObjectGraphicsInfo_Truck, - [EVENT_OBJ_GFX_VIGOROTH_CARRYING_BOX] = &gEventObjectGraphicsInfo_VigorothCarryingBox, - [EVENT_OBJ_GFX_VIGOROTH_FACING_AWAY] = &gEventObjectGraphicsInfo_VigorothFacingAway, - [EVENT_OBJ_GFX_BIRCHS_BAG] = &gEventObjectGraphicsInfo_BirchsBag, - [EVENT_OBJ_GFX_ZIGZAGOON_1] = &gEventObjectGraphicsInfo_EnemyZigzagoon, - [EVENT_OBJ_GFX_ARTIST] = &gEventObjectGraphicsInfo_Artist, - [EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL] = &gEventObjectGraphicsInfo_RivalBrendanNormal, - [EVENT_OBJ_GFX_RIVAL_BRENDAN_MACH_BIKE] = &gEventObjectGraphicsInfo_RivalBrendanMachBike, - [EVENT_OBJ_GFX_RIVAL_BRENDAN_ACRO_BIKE] = &gEventObjectGraphicsInfo_RivalBrendanAcroBike, - [EVENT_OBJ_GFX_RIVAL_BRENDAN_SURFING] = &gEventObjectGraphicsInfo_RivalBrendanSurfing, - [EVENT_OBJ_GFX_RIVAL_BRENDAN_FIELD_MOVE] = &gEventObjectGraphicsInfo_RivalBrendanFieldMove, - [EVENT_OBJ_GFX_RIVAL_MAY_NORMAL] = &gEventObjectGraphicsInfo_RivalMayNormal, - [EVENT_OBJ_GFX_RIVAL_MAY_MACH_BIKE] = &gEventObjectGraphicsInfo_RivalMayMachBike, - [EVENT_OBJ_GFX_RIVAL_MAY_ACRO_BIKE] = &gEventObjectGraphicsInfo_RivalMayAcroBike, - [EVENT_OBJ_GFX_RIVAL_MAY_SURFING] = &gEventObjectGraphicsInfo_RivalMaySurfing, - [EVENT_OBJ_GFX_RIVAL_MAY_FIELD_MOVE] = &gEventObjectGraphicsInfo_RivalMayFieldMove, - [EVENT_OBJ_GFX_CAMERAMAN] = &gEventObjectGraphicsInfo_Cameraman, - [EVENT_OBJ_GFX_BRENDAN_UNDERWATER] = &gEventObjectGraphicsInfo_BrendanUnderwater, - [EVENT_OBJ_GFX_MAY_UNDERWATER] = &gEventObjectGraphicsInfo_MayUnderwater, - [EVENT_OBJ_GFX_MOVING_BOX] = &gEventObjectGraphicsInfo_MovingBox, - [EVENT_OBJ_GFX_CABLE_CAR] = &gEventObjectGraphicsInfo_CableCar, - [EVENT_OBJ_GFX_SCIENTIST_2] = &gEventObjectGraphicsInfo_Scientist2, - [EVENT_OBJ_GFX_DEVON_EMPLOYEE] = &gEventObjectGraphicsInfo_DevonEmployee, - [EVENT_OBJ_GFX_AQUA_MEMBER_M] = &gEventObjectGraphicsInfo_AquaMemberM, - [EVENT_OBJ_GFX_AQUA_MEMBER_F] = &gEventObjectGraphicsInfo_AquaMemberF, - [EVENT_OBJ_GFX_MAGMA_MEMBER_M] = &gEventObjectGraphicsInfo_MagmaMemberM, - [EVENT_OBJ_GFX_MAGMA_MEMBER_F] = &gEventObjectGraphicsInfo_MagmaMemberF, - [EVENT_OBJ_GFX_SIDNEY] = &gEventObjectGraphicsInfo_Sidney, - [EVENT_OBJ_GFX_PHOEBE] = &gEventObjectGraphicsInfo_Phoebe, - [EVENT_OBJ_GFX_GLACIA] = &gEventObjectGraphicsInfo_Glacia, - [EVENT_OBJ_GFX_DRAKE] = &gEventObjectGraphicsInfo_Drake, - [EVENT_OBJ_GFX_ROXANNE] = &gEventObjectGraphicsInfo_Roxanne, - [EVENT_OBJ_GFX_BRAWLY] = &gEventObjectGraphicsInfo_Brawly, - [EVENT_OBJ_GFX_WATTSON] = &gEventObjectGraphicsInfo_Wattson, - [EVENT_OBJ_GFX_FLANNERY] = &gEventObjectGraphicsInfo_Flannery, - [EVENT_OBJ_GFX_NORMAN] = &gEventObjectGraphicsInfo_Norman, - [EVENT_OBJ_GFX_WINONA] = &gEventObjectGraphicsInfo_Winona, - [EVENT_OBJ_GFX_LIZA] = &gEventObjectGraphicsInfo_Liza, - [EVENT_OBJ_GFX_TATE] = &gEventObjectGraphicsInfo_Tate, - [EVENT_OBJ_GFX_WALLACE] = &gEventObjectGraphicsInfo_Wallace, - [EVENT_OBJ_GFX_STEVEN] = &gEventObjectGraphicsInfo_Steven, - [EVENT_OBJ_GFX_WALLY] = &gEventObjectGraphicsInfo_Wally, - [EVENT_OBJ_GFX_LITTLE_BOY_3] = &gEventObjectGraphicsInfo_RubySapphireLittleBoy, - [EVENT_OBJ_GFX_BRENDAN_FISHING] = &gEventObjectGraphicsInfo_BrendanFishing, - [EVENT_OBJ_GFX_MAY_FISHING] = &gEventObjectGraphicsInfo_MayFishing, - [EVENT_OBJ_GFX_HOT_SPRINGS_OLD_WOMAN] = &gEventObjectGraphicsInfo_HotSpringsOldWoman, - [EVENT_OBJ_GFX_SS_TIDAL] = &gEventObjectGraphicsInfo_SSTidal, - [EVENT_OBJ_GFX_SUBMARINE_SHADOW] = &gEventObjectGraphicsInfo_SubmarineShadow, - [EVENT_OBJ_GFX_PICHU_DOLL] = &gEventObjectGraphicsInfo_PichuDoll, - [EVENT_OBJ_GFX_PIKACHU_DOLL] = &gEventObjectGraphicsInfo_PikachuDoll, - [EVENT_OBJ_GFX_MARILL_DOLL] = &gEventObjectGraphicsInfo_MarillDoll, - [EVENT_OBJ_GFX_TOGEPI_DOLL] = &gEventObjectGraphicsInfo_TogepiDoll, - [EVENT_OBJ_GFX_CYNDAQUIL_DOLL] = &gEventObjectGraphicsInfo_CyndaquilDoll, - [EVENT_OBJ_GFX_CHIKORITA_DOLL] = &gEventObjectGraphicsInfo_ChikoritaDoll, - [EVENT_OBJ_GFX_TOTODILE_DOLL] = &gEventObjectGraphicsInfo_TotodileDoll, - [EVENT_OBJ_GFX_JIGGLYPUFF_DOLL] = &gEventObjectGraphicsInfo_JigglypuffDoll, - [EVENT_OBJ_GFX_MEOWTH_DOLL] = &gEventObjectGraphicsInfo_MeowthDoll, - [EVENT_OBJ_GFX_CLEFAIRY_DOLL] = &gEventObjectGraphicsInfo_ClefairyDoll, - [EVENT_OBJ_GFX_DITTO_DOLL] = &gEventObjectGraphicsInfo_DittoDoll, - [EVENT_OBJ_GFX_SMOOCHUM_DOLL] = &gEventObjectGraphicsInfo_SmoochumDoll, - [EVENT_OBJ_GFX_TREECKO_DOLL] = &gEventObjectGraphicsInfo_TreeckoDoll, - [EVENT_OBJ_GFX_TORCHIC_DOLL] = &gEventObjectGraphicsInfo_TorchicDoll, - [EVENT_OBJ_GFX_MUDKIP_DOLL] = &gEventObjectGraphicsInfo_MudkipDoll, - [EVENT_OBJ_GFX_DUSKULL_DOLL] = &gEventObjectGraphicsInfo_DuskullDoll, - [EVENT_OBJ_GFX_WYNAUT_DOLL] = &gEventObjectGraphicsInfo_WynautDoll, - [EVENT_OBJ_GFX_BALTOY_DOLL] = &gEventObjectGraphicsInfo_BaltoyDoll, - [EVENT_OBJ_GFX_KECLEON_DOLL] = &gEventObjectGraphicsInfo_KecleonDoll, - [EVENT_OBJ_GFX_AZURILL_DOLL] = &gEventObjectGraphicsInfo_AzurillDoll, - [EVENT_OBJ_GFX_SKITTY_DOLL] = &gEventObjectGraphicsInfo_SkittyDoll, - [EVENT_OBJ_GFX_SWABLU_DOLL] = &gEventObjectGraphicsInfo_SwabluDoll, - [EVENT_OBJ_GFX_GULPIN_DOLL] = &gEventObjectGraphicsInfo_GulpinDoll, - [EVENT_OBJ_GFX_LOTAD_DOLL] = &gEventObjectGraphicsInfo_LotadDoll, - [EVENT_OBJ_GFX_SEEDOT_DOLL] = &gEventObjectGraphicsInfo_SeedotDoll, - [EVENT_OBJ_GFX_PIKA_CUSHION] = &gEventObjectGraphicsInfo_PikaCushion, - [EVENT_OBJ_GFX_ROUND_CUSHION] = &gEventObjectGraphicsInfo_RoundCushion, - [EVENT_OBJ_GFX_KISS_CUSHION] = &gEventObjectGraphicsInfo_KissCushion, - [EVENT_OBJ_GFX_ZIGZAG_CUSHION] = &gEventObjectGraphicsInfo_ZigzagCushion, - [EVENT_OBJ_GFX_SPIN_CUSHION] = &gEventObjectGraphicsInfo_SpinCushion, - [EVENT_OBJ_GFX_DIAMOND_CUSHION] = &gEventObjectGraphicsInfo_DiamondCushion, - [EVENT_OBJ_GFX_BALL_CUSHION] = &gEventObjectGraphicsInfo_BallCushion, - [EVENT_OBJ_GFX_GRASS_CUSHION] = &gEventObjectGraphicsInfo_GrassCushion, - [EVENT_OBJ_GFX_FIRE_CUSHION] = &gEventObjectGraphicsInfo_FireCushion, - [EVENT_OBJ_GFX_WATER_CUSHION] = &gEventObjectGraphicsInfo_WaterCushion, - [EVENT_OBJ_GFX_BIG_SNORLAX_DOLL] = &gEventObjectGraphicsInfo_BigSnorlaxDoll, - [EVENT_OBJ_GFX_BIG_RHYDON_DOLL] = &gEventObjectGraphicsInfo_BigRhydonDoll, - [EVENT_OBJ_GFX_BIG_LAPRAS_DOLL] = &gEventObjectGraphicsInfo_BigLaprasDoll, - [EVENT_OBJ_GFX_BIG_VENUSAUR_DOLL] = &gEventObjectGraphicsInfo_BigVenusaurDoll, - [EVENT_OBJ_GFX_BIG_CHARIZARD_DOLL] = &gEventObjectGraphicsInfo_BigCharizardDoll, - [EVENT_OBJ_GFX_BIG_BLASTOISE_DOLL] = &gEventObjectGraphicsInfo_BigBlastoiseDoll, - [EVENT_OBJ_GFX_BIG_WAILMER_DOLL] = &gEventObjectGraphicsInfo_BigWailmerDoll, - [EVENT_OBJ_GFX_BIG_REGIROCK_DOLL] = &gEventObjectGraphicsInfo_BigRegirockDoll, - [EVENT_OBJ_GFX_BIG_REGICE_DOLL] = &gEventObjectGraphicsInfo_BigRegiceDoll, - [EVENT_OBJ_GFX_BIG_REGISTEEL_DOLL] = &gEventObjectGraphicsInfo_BigRegisteelDoll, - [EVENT_OBJ_GFX_LATIAS] = &gEventObjectGraphicsInfo_Latias, - [EVENT_OBJ_GFX_LATIOS] = &gEventObjectGraphicsInfo_Latios, - [EVENT_OBJ_GFX_GAMEBOY_KID] = &gEventObjectGraphicsInfo_GameboyKid, - [EVENT_OBJ_GFX_CONTEST_JUDGE] = &gEventObjectGraphicsInfo_ContestJudge, - [EVENT_OBJ_GFX_BRENDAN_WATERING] = &gEventObjectGraphicsInfo_BrendanWatering, - [EVENT_OBJ_GFX_MAY_WATERING] = &gEventObjectGraphicsInfo_MayWatering, - [EVENT_OBJ_GFX_BRENDAN_DECORATING] = &gEventObjectGraphicsInfo_BrendanDecorating, - [EVENT_OBJ_GFX_MAY_DECORATING] = &gEventObjectGraphicsInfo_MayDecorating, - [EVENT_OBJ_GFX_ARCHIE] = &gEventObjectGraphicsInfo_Archie, - [EVENT_OBJ_GFX_MAXIE] = &gEventObjectGraphicsInfo_Maxie, - [EVENT_OBJ_GFX_KYOGRE_1] = &gEventObjectGraphicsInfo_Kyogre1, - [EVENT_OBJ_GFX_GROUDON_1] = &gEventObjectGraphicsInfo_Groudon1, - [EVENT_OBJ_GFX_FOSSIL] = &gEventObjectGraphicsInfo_Fossil, - [EVENT_OBJ_GFX_REGIROCK] = &gEventObjectGraphicsInfo_Regirock, - [EVENT_OBJ_GFX_REGICE] = &gEventObjectGraphicsInfo_Regice, - [EVENT_OBJ_GFX_REGISTEEL] = &gEventObjectGraphicsInfo_Registeel, - [EVENT_OBJ_GFX_SKITTY] = &gEventObjectGraphicsInfo_Skitty, - [EVENT_OBJ_GFX_KECLEON_1] = &gEventObjectGraphicsInfo_Kecleon1, - [EVENT_OBJ_GFX_KYOGRE_2] = &gEventObjectGraphicsInfo_Kyogre2, - [EVENT_OBJ_GFX_GROUDON_2] = &gEventObjectGraphicsInfo_Groudon2, - [EVENT_OBJ_GFX_RAYQUAZA_2] = &gEventObjectGraphicsInfo_Rayquaza2, - [EVENT_OBJ_GFX_ZIGZAGOON_2] = &gEventObjectGraphicsInfo_Zigzagoon, - [EVENT_OBJ_GFX_PIKACHU] = &gEventObjectGraphicsInfo_Pikachu, - [EVENT_OBJ_GFX_AZUMARILL] = &gEventObjectGraphicsInfo_Azumarill, - [EVENT_OBJ_GFX_WINGULL] = &gEventObjectGraphicsInfo_Wingull, - [EVENT_OBJ_GFX_KECLEON_2] = &gEventObjectGraphicsInfo_Kecleon2, - [EVENT_OBJ_GFX_TUBER_M_SWIMMING] = &gEventObjectGraphicsInfo_TuberMSwimming, - [EVENT_OBJ_GFX_AZURILL] = &gEventObjectGraphicsInfo_Azurill, - [EVENT_OBJ_GFX_MOM] = &gEventObjectGraphicsInfo_Mom, - [EVENT_OBJ_GFX_LINK_BRENDAN] = &gEventObjectGraphicsInfo_LinkBrendan, - [EVENT_OBJ_GFX_LINK_MAY] = &gEventObjectGraphicsInfo_LinkMay, - [EVENT_OBJ_GFX_JUAN] = &gEventObjectGraphicsInfo_Juan, - [EVENT_OBJ_GFX_SCOTT] = &gEventObjectGraphicsInfo_Scott, - [EVENT_OBJ_GFX_POOCHYENA] = &gEventObjectGraphicsInfo_Poochyena, - [EVENT_OBJ_GFX_KYOGRE_3] = &gEventObjectGraphicsInfo_Kyogre3, - [EVENT_OBJ_GFX_GROUDON_3] = &gEventObjectGraphicsInfo_Groudon3, - [EVENT_OBJ_GFX_MYSTERY_GIFT_MAN] = &gEventObjectGraphicsInfo_MysteryEventDeliveryman, - [EVENT_OBJ_GFX_TRICK_HOUSE_STATUE] = &gEventObjectGraphicsInfo_Statue, - [EVENT_OBJ_GFX_KIRLIA] = &gEventObjectGraphicsInfo_Kirlia, - [EVENT_OBJ_GFX_DUSCLOPS] = &gEventObjectGraphicsInfo_Dusclops, - [EVENT_OBJ_GFX_UNION_ROOM_NURSE] = &gEventObjectGraphicsInfo_UnionRoomAttendant, - [EVENT_OBJ_GFX_SUDOWOODO] = &gEventObjectGraphicsInfo_Sudowoodo, - [EVENT_OBJ_GFX_MEW] = &gEventObjectGraphicsInfo_Mew, - [EVENT_OBJ_GFX_RED] = &gEventObjectGraphicsInfo_Red, - [EVENT_OBJ_GFX_LEAF] = &gEventObjectGraphicsInfo_Leaf, - [EVENT_OBJ_GFX_DEOXYS] = &gEventObjectGraphicsInfo_Deoxys, - [EVENT_OBJ_GFX_DEOXYS_TRIANGLE] = &gEventObjectGraphicsInfo_BirthIslandStone, - [EVENT_OBJ_GFX_BRANDON] = &gEventObjectGraphicsInfo_Brandon, - [EVENT_OBJ_GFX_LINK_RS_BRENDAN] = &gEventObjectGraphicsInfo_RubySapphireBrendan, - [EVENT_OBJ_GFX_LINK_RS_MAY] = &gEventObjectGraphicsInfo_RubySapphireMay, - [EVENT_OBJ_GFX_LUGIA] = &gEventObjectGraphicsInfo_Lugia, - [EVENT_OBJ_GFX_HOOH] = &gEventObjectGraphicsInfo_HoOh, -}; - -const struct EventObjectGraphicsInfo *const gMauvilleOldManGraphicsInfoPointers[] = { - [MAUVILLE_MAN_BARD] = &gEventObjectGraphicsInfo_Bard, - [MAUVILLE_MAN_HIPSTER] = &gEventObjectGraphicsInfo_Hipster, - [MAUVILLE_MAN_TRADER] = &gEventObjectGraphicsInfo_Trader, - [MAUVILLE_MAN_STORYTELLER] = &gEventObjectGraphicsInfo_Storyteller, - [MAUVILLE_MAN_GIDDY] = &gEventObjectGraphicsInfo_Giddy, - [MAUVILLE_MAN_UNUSED1] = &gEventObjectGraphicsInfo_UnusedMauvilleOldMan1, - [MAUVILLE_MAN_UNUSED2] = &gEventObjectGraphicsInfo_UnusedMauvilleOldMan2, -}; diff --git a/src/data/field_event_obj/event_object_pic_tables.h b/src/data/field_event_obj/event_object_pic_tables.h deleted file mode 100755 index 5c8be195d..000000000 --- a/src/data/field_event_obj/event_object_pic_tables.h +++ /dev/null @@ -1,2174 +0,0 @@ -const struct SpriteFrameImage gEventObjectPicTable_BrendanNormal[] = { - overworld_frame(gEventObjectPic_BrendanNormal, 2, 4, 0), - overworld_frame(gEventObjectPic_BrendanNormal, 2, 4, 1), - overworld_frame(gEventObjectPic_BrendanNormal, 2, 4, 2), - overworld_frame(gEventObjectPic_BrendanNormal, 2, 4, 3), - overworld_frame(gEventObjectPic_BrendanNormal, 2, 4, 4), - overworld_frame(gEventObjectPic_BrendanNormal, 2, 4, 5), - overworld_frame(gEventObjectPic_BrendanNormal, 2, 4, 6), - overworld_frame(gEventObjectPic_BrendanNormal, 2, 4, 7), - overworld_frame(gEventObjectPic_BrendanNormal, 2, 4, 8), - overworld_frame(gEventObjectPic_BrendanRunning, 2, 4, 0), - overworld_frame(gEventObjectPic_BrendanRunning, 2, 4, 1), - overworld_frame(gEventObjectPic_BrendanRunning, 2, 4, 2), - overworld_frame(gEventObjectPic_BrendanRunning, 2, 4, 3), - overworld_frame(gEventObjectPic_BrendanRunning, 2, 4, 4), - overworld_frame(gEventObjectPic_BrendanRunning, 2, 4, 5), - overworld_frame(gEventObjectPic_BrendanRunning, 2, 4, 6), - overworld_frame(gEventObjectPic_BrendanRunning, 2, 4, 7), - overworld_frame(gEventObjectPic_BrendanRunning, 2, 4, 8), -}; - -const struct SpriteFrameImage gEventObjectPicTable_BrendanMachBike[] = { - overworld_frame(gEventObjectPic_BrendanMachBike, 4, 4, 0), - overworld_frame(gEventObjectPic_BrendanMachBike, 4, 4, 1), - overworld_frame(gEventObjectPic_BrendanMachBike, 4, 4, 2), - overworld_frame(gEventObjectPic_BrendanMachBike, 4, 4, 3), - overworld_frame(gEventObjectPic_BrendanMachBike, 4, 4, 4), - overworld_frame(gEventObjectPic_BrendanMachBike, 4, 4, 5), - overworld_frame(gEventObjectPic_BrendanMachBike, 4, 4, 6), - overworld_frame(gEventObjectPic_BrendanMachBike, 4, 4, 7), - overworld_frame(gEventObjectPic_BrendanMachBike, 4, 4, 8), -}; - -const struct SpriteFrameImage gEventObjectPicTable_BrendanAcroBike[] = { - overworld_frame(gEventObjectPic_BrendanAcroBike, 4, 4, 0), - overworld_frame(gEventObjectPic_BrendanAcroBike, 4, 4, 1), - overworld_frame(gEventObjectPic_BrendanAcroBike, 4, 4, 2), - overworld_frame(gEventObjectPic_BrendanAcroBike, 4, 4, 3), - overworld_frame(gEventObjectPic_BrendanAcroBike, 4, 4, 4), - overworld_frame(gEventObjectPic_BrendanAcroBike, 4, 4, 5), - overworld_frame(gEventObjectPic_BrendanAcroBike, 4, 4, 6), - overworld_frame(gEventObjectPic_BrendanAcroBike, 4, 4, 7), - overworld_frame(gEventObjectPic_BrendanAcroBike, 4, 4, 8), - overworld_frame(gEventObjectPic_BrendanAcroBike, 4, 4, 9), - overworld_frame(gEventObjectPic_BrendanAcroBike, 4, 4, 10), - overworld_frame(gEventObjectPic_BrendanAcroBike, 4, 4, 11), - overworld_frame(gEventObjectPic_BrendanAcroBike, 4, 4, 12), - overworld_frame(gEventObjectPic_BrendanAcroBike, 4, 4, 13), - overworld_frame(gEventObjectPic_BrendanAcroBike, 4, 4, 14), - overworld_frame(gEventObjectPic_BrendanAcroBike, 4, 4, 15), - overworld_frame(gEventObjectPic_BrendanAcroBike, 4, 4, 16), - overworld_frame(gEventObjectPic_BrendanAcroBike, 4, 4, 17), - overworld_frame(gEventObjectPic_BrendanAcroBike, 4, 4, 18), - overworld_frame(gEventObjectPic_BrendanAcroBike, 4, 4, 19), - overworld_frame(gEventObjectPic_BrendanAcroBike, 4, 4, 20), - overworld_frame(gEventObjectPic_BrendanAcroBike, 4, 4, 21), - overworld_frame(gEventObjectPic_BrendanAcroBike, 4, 4, 22), - overworld_frame(gEventObjectPic_BrendanAcroBike, 4, 4, 23), - overworld_frame(gEventObjectPic_BrendanAcroBike, 4, 4, 24), - overworld_frame(gEventObjectPic_BrendanAcroBike, 4, 4, 25), - overworld_frame(gEventObjectPic_BrendanAcroBike, 4, 4, 26), -}; - -const struct SpriteFrameImage gEventObjectPicTable_BrendanSurfing[] = { - overworld_frame(gEventObjectPic_BrendanSurfing, 4, 4, 0), - overworld_frame(gEventObjectPic_BrendanSurfing, 4, 4, 2), - overworld_frame(gEventObjectPic_BrendanSurfing, 4, 4, 4), - overworld_frame(gEventObjectPic_BrendanSurfing, 4, 4, 0), - overworld_frame(gEventObjectPic_BrendanSurfing, 4, 4, 0), - overworld_frame(gEventObjectPic_BrendanSurfing, 4, 4, 2), - overworld_frame(gEventObjectPic_BrendanSurfing, 4, 4, 2), - overworld_frame(gEventObjectPic_BrendanSurfing, 4, 4, 4), - overworld_frame(gEventObjectPic_BrendanSurfing, 4, 4, 4), - overworld_frame(gEventObjectPic_BrendanSurfing, 4, 4, 1), - overworld_frame(gEventObjectPic_BrendanSurfing, 4, 4, 3), - overworld_frame(gEventObjectPic_BrendanSurfing, 4, 4, 5), -}; - -const struct SpriteFrameImage gEventObjectPicTable_BrendanUnderwater[] = { - overworld_frame(gEventObjectPic_BrendanUnderwater, 4, 4, 0), - overworld_frame(gEventObjectPic_BrendanUnderwater, 4, 4, 1), - overworld_frame(gEventObjectPic_BrendanUnderwater, 4, 4, 2), - overworld_frame(gEventObjectPic_BrendanUnderwater, 4, 4, 0), - overworld_frame(gEventObjectPic_BrendanUnderwater, 4, 4, 0), - overworld_frame(gEventObjectPic_BrendanUnderwater, 4, 4, 1), - overworld_frame(gEventObjectPic_BrendanUnderwater, 4, 4, 1), - overworld_frame(gEventObjectPic_BrendanUnderwater, 4, 4, 2), - overworld_frame(gEventObjectPic_BrendanUnderwater, 4, 4, 2), -}; - -const struct SpriteFrameImage gEventObjectPicTable_BrendanFieldMove[] = { - overworld_frame(gEventObjectPic_BrendanFieldMove, 4, 4, 0), - overworld_frame(gEventObjectPic_BrendanFieldMove, 4, 4, 1), - overworld_frame(gEventObjectPic_BrendanFieldMove, 4, 4, 2), - overworld_frame(gEventObjectPic_BrendanFieldMove, 4, 4, 3), - overworld_frame(gEventObjectPic_BrendanFieldMove, 4, 4, 4), -}; - -const struct SpriteFrameImage gEventObjectPicTable_QuintyPlump[] = { - overworld_frame(gEventObjectPic_QuintyPlump, 4, 4, 0), - overworld_frame(gEventObjectPic_QuintyPlump, 4, 4, 1), - overworld_frame(gEventObjectPic_QuintyPlump, 4, 4, 2), - overworld_frame(gEventObjectPic_QuintyPlump, 4, 4, 3), - overworld_frame(gEventObjectPic_QuintyPlump, 4, 4, 4), - overworld_frame(gEventObjectPic_QuintyPlump, 4, 4, 5), - overworld_frame(gEventObjectPic_QuintyPlump, 4, 4, 6), -}; - -const struct SpriteFrameImage gEventObjectPicTable_NinjaBoy[] = { - overworld_frame(gEventObjectPic_NinjaBoy, 2, 2, 0), - overworld_frame(gEventObjectPic_NinjaBoy, 2, 2, 1), - overworld_frame(gEventObjectPic_NinjaBoy, 2, 2, 2), - overworld_frame(gEventObjectPic_NinjaBoy, 2, 2, 3), - overworld_frame(gEventObjectPic_NinjaBoy, 2, 2, 4), - overworld_frame(gEventObjectPic_NinjaBoy, 2, 2, 5), - overworld_frame(gEventObjectPic_NinjaBoy, 2, 2, 6), - overworld_frame(gEventObjectPic_NinjaBoy, 2, 2, 7), - overworld_frame(gEventObjectPic_NinjaBoy, 2, 2, 8), -}; - -const struct SpriteFrameImage gEventObjectPicTable_Twin[] = { - overworld_frame(gEventObjectPic_Twin, 2, 4, 0), - overworld_frame(gEventObjectPic_Twin, 2, 4, 1), - overworld_frame(gEventObjectPic_Twin, 2, 4, 2), - overworld_frame(gEventObjectPic_Twin, 2, 4, 3), - overworld_frame(gEventObjectPic_Twin, 2, 4, 4), - overworld_frame(gEventObjectPic_Twin, 2, 4, 5), - overworld_frame(gEventObjectPic_Twin, 2, 4, 6), - overworld_frame(gEventObjectPic_Twin, 2, 4, 7), - overworld_frame(gEventObjectPic_Twin, 2, 4, 8), -}; - -const struct SpriteFrameImage gEventObjectPicTable_Boy1[] = { - overworld_frame(gEventObjectPic_Boy1, 2, 4, 0), - overworld_frame(gEventObjectPic_Boy1, 2, 4, 1), - overworld_frame(gEventObjectPic_Boy1, 2, 4, 2), - overworld_frame(gEventObjectPic_Boy1, 2, 4, 3), - overworld_frame(gEventObjectPic_Boy1, 2, 4, 4), - overworld_frame(gEventObjectPic_Boy1, 2, 4, 5), - overworld_frame(gEventObjectPic_Boy1, 2, 4, 6), - overworld_frame(gEventObjectPic_Boy1, 2, 4, 7), - overworld_frame(gEventObjectPic_Boy1, 2, 4, 8), -}; - -const struct SpriteFrameImage gEventObjectPicTable_Girl1[] = { - overworld_frame(gEventObjectPic_Girl1, 2, 4, 0), - overworld_frame(gEventObjectPic_Girl1, 2, 4, 1), - overworld_frame(gEventObjectPic_Girl1, 2, 4, 2), - overworld_frame(gEventObjectPic_Girl1, 2, 4, 3), - overworld_frame(gEventObjectPic_Girl1, 2, 4, 4), - overworld_frame(gEventObjectPic_Girl1, 2, 4, 5), - overworld_frame(gEventObjectPic_Girl1, 2, 4, 6), - overworld_frame(gEventObjectPic_Girl1, 2, 4, 7), - overworld_frame(gEventObjectPic_Girl1, 2, 4, 8), -}; - -const struct SpriteFrameImage gEventObjectPicTable_Boy2[] = { - overworld_frame(gEventObjectPic_Boy2, 2, 4, 0), - overworld_frame(gEventObjectPic_Boy2, 2, 4, 1), - overworld_frame(gEventObjectPic_Boy2, 2, 4, 2), - overworld_frame(gEventObjectPic_Boy2, 2, 4, 3), - overworld_frame(gEventObjectPic_Boy2, 2, 4, 4), - overworld_frame(gEventObjectPic_Boy2, 2, 4, 5), - overworld_frame(gEventObjectPic_Boy2, 2, 4, 6), - overworld_frame(gEventObjectPic_Boy2, 2, 4, 7), - overworld_frame(gEventObjectPic_Boy2, 2, 4, 8), -}; - -const struct SpriteFrameImage gEventObjectPicTable_Girl2[] = { - overworld_frame(gEventObjectPic_Girl2, 2, 4, 0), - overworld_frame(gEventObjectPic_Girl2, 2, 4, 1), - overworld_frame(gEventObjectPic_Girl2, 2, 4, 2), - overworld_frame(gEventObjectPic_Girl2, 2, 4, 3), - overworld_frame(gEventObjectPic_Girl2, 2, 4, 4), - overworld_frame(gEventObjectPic_Girl2, 2, 4, 5), - overworld_frame(gEventObjectPic_Girl2, 2, 4, 6), - overworld_frame(gEventObjectPic_Girl2, 2, 4, 7), - overworld_frame(gEventObjectPic_Girl2, 2, 4, 8), -}; - -const struct SpriteFrameImage gEventObjectPicTable_LittleBoy[] = { - overworld_frame(gEventObjectPic_LittleBoy, 2, 2, 0), - overworld_frame(gEventObjectPic_LittleBoy, 2, 2, 1), - overworld_frame(gEventObjectPic_LittleBoy, 2, 2, 2), - overworld_frame(gEventObjectPic_LittleBoy, 2, 2, 3), - overworld_frame(gEventObjectPic_LittleBoy, 2, 2, 4), - overworld_frame(gEventObjectPic_LittleBoy, 2, 2, 5), - overworld_frame(gEventObjectPic_LittleBoy, 2, 2, 6), - overworld_frame(gEventObjectPic_LittleBoy, 2, 2, 7), - overworld_frame(gEventObjectPic_LittleBoy, 2, 2, 8), -}; - -const struct SpriteFrameImage gEventObjectPicTable_LittleGirl[] = { - overworld_frame(gEventObjectPic_LittleGirl, 2, 2, 0), - overworld_frame(gEventObjectPic_LittleGirl, 2, 2, 1), - overworld_frame(gEventObjectPic_LittleGirl, 2, 2, 2), - overworld_frame(gEventObjectPic_LittleGirl, 2, 2, 3), - overworld_frame(gEventObjectPic_LittleGirl, 2, 2, 4), - overworld_frame(gEventObjectPic_LittleGirl, 2, 2, 5), - overworld_frame(gEventObjectPic_LittleGirl, 2, 2, 6), - overworld_frame(gEventObjectPic_LittleGirl, 2, 2, 7), - overworld_frame(gEventObjectPic_LittleGirl, 2, 2, 8), -}; - -const struct SpriteFrameImage gEventObjectPicTable_Boy3[] = { - overworld_frame(gEventObjectPic_Boy3, 2, 4, 0), - overworld_frame(gEventObjectPic_Boy3, 2, 4, 1), - overworld_frame(gEventObjectPic_Boy3, 2, 4, 2), - overworld_frame(gEventObjectPic_Boy3, 2, 4, 3), - overworld_frame(gEventObjectPic_Boy3, 2, 4, 4), - overworld_frame(gEventObjectPic_Boy3, 2, 4, 5), - overworld_frame(gEventObjectPic_Boy3, 2, 4, 6), - overworld_frame(gEventObjectPic_Boy3, 2, 4, 7), - overworld_frame(gEventObjectPic_Boy3, 2, 4, 8), -}; - -const struct SpriteFrameImage gEventObjectPicTable_Girl3[] = { - overworld_frame(gEventObjectPic_Girl3, 2, 4, 0), - overworld_frame(gEventObjectPic_Girl3, 2, 4, 1), - overworld_frame(gEventObjectPic_Girl3, 2, 4, 2), - overworld_frame(gEventObjectPic_Girl3, 2, 4, 3), - overworld_frame(gEventObjectPic_Girl3, 2, 4, 4), - overworld_frame(gEventObjectPic_Girl3, 2, 4, 5), - overworld_frame(gEventObjectPic_Girl3, 2, 4, 6), - overworld_frame(gEventObjectPic_Girl3, 2, 4, 7), - overworld_frame(gEventObjectPic_Girl3, 2, 4, 8), -}; - -const struct SpriteFrameImage gEventObjectPicTable_RichBoy[] = { - overworld_frame(gEventObjectPic_RichBoy, 2, 4, 0), - overworld_frame(gEventObjectPic_RichBoy, 2, 4, 1), - overworld_frame(gEventObjectPic_RichBoy, 2, 4, 2), - overworld_frame(gEventObjectPic_RichBoy, 2, 4, 3), - overworld_frame(gEventObjectPic_RichBoy, 2, 4, 4), - overworld_frame(gEventObjectPic_RichBoy, 2, 4, 5), - overworld_frame(gEventObjectPic_RichBoy, 2, 4, 6), - overworld_frame(gEventObjectPic_RichBoy, 2, 4, 7), - overworld_frame(gEventObjectPic_RichBoy, 2, 4, 8), -}; - -const struct SpriteFrameImage gEventObjectPicTable_Woman1[] = { - overworld_frame(gEventObjectPic_Woman1, 2, 4, 0), - overworld_frame(gEventObjectPic_Woman1, 2, 4, 1), - overworld_frame(gEventObjectPic_Woman1, 2, 4, 2), - overworld_frame(gEventObjectPic_Woman1, 2, 4, 3), - overworld_frame(gEventObjectPic_Woman1, 2, 4, 4), - overworld_frame(gEventObjectPic_Woman1, 2, 4, 5), - overworld_frame(gEventObjectPic_Woman1, 2, 4, 6), - overworld_frame(gEventObjectPic_Woman1, 2, 4, 7), - overworld_frame(gEventObjectPic_Woman1, 2, 4, 8), -}; - -const struct SpriteFrameImage gEventObjectPicTable_FatMan[] = { - overworld_frame(gEventObjectPic_FatMan, 2, 4, 0), - overworld_frame(gEventObjectPic_FatMan, 2, 4, 1), - overworld_frame(gEventObjectPic_FatMan, 2, 4, 2), - overworld_frame(gEventObjectPic_FatMan, 2, 4, 3), - overworld_frame(gEventObjectPic_FatMan, 2, 4, 4), - overworld_frame(gEventObjectPic_FatMan, 2, 4, 5), - overworld_frame(gEventObjectPic_FatMan, 2, 4, 6), - overworld_frame(gEventObjectPic_FatMan, 2, 4, 7), - overworld_frame(gEventObjectPic_FatMan, 2, 4, 8), -}; - -const struct SpriteFrameImage gEventObjectPicTable_PokefanF[] = { - overworld_frame(gEventObjectPic_PokefanF, 2, 4, 0), - overworld_frame(gEventObjectPic_PokefanF, 2, 4, 1), - overworld_frame(gEventObjectPic_PokefanF, 2, 4, 2), - overworld_frame(gEventObjectPic_PokefanF, 2, 4, 3), - overworld_frame(gEventObjectPic_PokefanF, 2, 4, 4), - overworld_frame(gEventObjectPic_PokefanF, 2, 4, 5), - overworld_frame(gEventObjectPic_PokefanF, 2, 4, 6), - overworld_frame(gEventObjectPic_PokefanF, 2, 4, 7), - overworld_frame(gEventObjectPic_PokefanF, 2, 4, 8), -}; - -const struct SpriteFrameImage gEventObjectPicTable_Man1[] = { - overworld_frame(gEventObjectPic_Man1, 2, 4, 0), - overworld_frame(gEventObjectPic_Man1, 2, 4, 1), - overworld_frame(gEventObjectPic_Man1, 2, 4, 2), - overworld_frame(gEventObjectPic_Man1, 2, 4, 3), - overworld_frame(gEventObjectPic_Man1, 2, 4, 4), - overworld_frame(gEventObjectPic_Man1, 2, 4, 5), - overworld_frame(gEventObjectPic_Man1, 2, 4, 6), - overworld_frame(gEventObjectPic_Man1, 2, 4, 7), - overworld_frame(gEventObjectPic_Man1, 2, 4, 8), -}; - -const struct SpriteFrameImage gEventObjectPicTable_Woman2[] = { - overworld_frame(gEventObjectPic_Woman2, 2, 4, 0), - overworld_frame(gEventObjectPic_Woman2, 2, 4, 1), - overworld_frame(gEventObjectPic_Woman2, 2, 4, 2), - overworld_frame(gEventObjectPic_Woman2, 2, 4, 3), - overworld_frame(gEventObjectPic_Woman2, 2, 4, 4), - overworld_frame(gEventObjectPic_Woman2, 2, 4, 5), - overworld_frame(gEventObjectPic_Woman2, 2, 4, 6), - overworld_frame(gEventObjectPic_Woman2, 2, 4, 7), - overworld_frame(gEventObjectPic_Woman2, 2, 4, 8), -}; - -const struct SpriteFrameImage gEventObjectPicTable_ExpertM[] = { - overworld_frame(gEventObjectPic_ExpertM, 2, 4, 0), - overworld_frame(gEventObjectPic_ExpertM, 2, 4, 1), - overworld_frame(gEventObjectPic_ExpertM, 2, 4, 2), - overworld_frame(gEventObjectPic_ExpertM, 2, 4, 3), - overworld_frame(gEventObjectPic_ExpertM, 2, 4, 4), - overworld_frame(gEventObjectPic_ExpertM, 2, 4, 5), - overworld_frame(gEventObjectPic_ExpertM, 2, 4, 6), - overworld_frame(gEventObjectPic_ExpertM, 2, 4, 7), - overworld_frame(gEventObjectPic_ExpertM, 2, 4, 8), -}; - -const struct SpriteFrameImage gEventObjectPicTable_ExpertF[] = { - overworld_frame(gEventObjectPic_ExpertF, 2, 4, 0), - overworld_frame(gEventObjectPic_ExpertF, 2, 4, 1), - overworld_frame(gEventObjectPic_ExpertF, 2, 4, 2), - overworld_frame(gEventObjectPic_ExpertF, 2, 4, 3), - overworld_frame(gEventObjectPic_ExpertF, 2, 4, 4), - overworld_frame(gEventObjectPic_ExpertF, 2, 4, 5), - overworld_frame(gEventObjectPic_ExpertF, 2, 4, 6), - overworld_frame(gEventObjectPic_ExpertF, 2, 4, 7), - overworld_frame(gEventObjectPic_ExpertF, 2, 4, 8), -}; - -const struct SpriteFrameImage gEventObjectPicTable_Man2[] = { - overworld_frame(gEventObjectPic_Man2, 2, 4, 0), - overworld_frame(gEventObjectPic_Man2, 2, 4, 1), - overworld_frame(gEventObjectPic_Man2, 2, 4, 2), - overworld_frame(gEventObjectPic_Man2, 2, 4, 3), - overworld_frame(gEventObjectPic_Man2, 2, 4, 4), - overworld_frame(gEventObjectPic_Man2, 2, 4, 5), - overworld_frame(gEventObjectPic_Man2, 2, 4, 6), - overworld_frame(gEventObjectPic_Man2, 2, 4, 7), - overworld_frame(gEventObjectPic_Man2, 2, 4, 8), -}; - -const struct SpriteFrameImage gEventObjectPicTable_Woman3[] = { - overworld_frame(gEventObjectPic_Woman3, 2, 4, 0), - overworld_frame(gEventObjectPic_Woman3, 2, 4, 1), - overworld_frame(gEventObjectPic_Woman3, 2, 4, 2), - overworld_frame(gEventObjectPic_Woman3, 2, 4, 3), - overworld_frame(gEventObjectPic_Woman3, 2, 4, 4), - overworld_frame(gEventObjectPic_Woman3, 2, 4, 5), - overworld_frame(gEventObjectPic_Woman3, 2, 4, 6), - overworld_frame(gEventObjectPic_Woman3, 2, 4, 7), - overworld_frame(gEventObjectPic_Woman3, 2, 4, 8), -}; - -const struct SpriteFrameImage gEventObjectPicTable_PokefanM[] = { - overworld_frame(gEventObjectPic_PokefanM, 2, 4, 0), - overworld_frame(gEventObjectPic_PokefanM, 2, 4, 1), - overworld_frame(gEventObjectPic_PokefanM, 2, 4, 2), - overworld_frame(gEventObjectPic_PokefanM, 2, 4, 3), - overworld_frame(gEventObjectPic_PokefanM, 2, 4, 4), - overworld_frame(gEventObjectPic_PokefanM, 2, 4, 5), - overworld_frame(gEventObjectPic_PokefanM, 2, 4, 6), - overworld_frame(gEventObjectPic_PokefanM, 2, 4, 7), - overworld_frame(gEventObjectPic_PokefanM, 2, 4, 8), -}; - -const struct SpriteFrameImage gEventObjectPicTable_Woman4[] = { - overworld_frame(gEventObjectPic_Woman4, 2, 4, 0), - overworld_frame(gEventObjectPic_Woman4, 2, 4, 1), - overworld_frame(gEventObjectPic_Woman4, 2, 4, 2), - overworld_frame(gEventObjectPic_Woman4, 2, 4, 3), - overworld_frame(gEventObjectPic_Woman4, 2, 4, 4), - overworld_frame(gEventObjectPic_Woman4, 2, 4, 5), - overworld_frame(gEventObjectPic_Woman4, 2, 4, 6), - overworld_frame(gEventObjectPic_Woman4, 2, 4, 7), - overworld_frame(gEventObjectPic_Woman4, 2, 4, 8), -}; - -const struct SpriteFrameImage gEventObjectPicTable_Cook[] = { - overworld_frame(gEventObjectPic_Cook, 2, 4, 0), - overworld_frame(gEventObjectPic_Cook, 2, 4, 1), - overworld_frame(gEventObjectPic_Cook, 2, 4, 2), - overworld_frame(gEventObjectPic_Cook, 2, 4, 0), - overworld_frame(gEventObjectPic_Cook, 2, 4, 0), - overworld_frame(gEventObjectPic_Cook, 2, 4, 1), - overworld_frame(gEventObjectPic_Cook, 2, 4, 1), - overworld_frame(gEventObjectPic_Cook, 2, 4, 2), - overworld_frame(gEventObjectPic_Cook, 2, 4, 2), -}; - -const struct SpriteFrameImage gEventObjectPicTable_LinkReceptionist[] = { - overworld_frame(gEventObjectPic_LinkReceptionist, 2, 4, 0), - overworld_frame(gEventObjectPic_LinkReceptionist, 2, 4, 1), - overworld_frame(gEventObjectPic_LinkReceptionist, 2, 4, 2), - overworld_frame(gEventObjectPic_LinkReceptionist, 2, 4, 3), - overworld_frame(gEventObjectPic_LinkReceptionist, 2, 4, 4), - overworld_frame(gEventObjectPic_LinkReceptionist, 2, 4, 5), - overworld_frame(gEventObjectPic_LinkReceptionist, 2, 4, 6), - overworld_frame(gEventObjectPic_LinkReceptionist, 2, 4, 7), - overworld_frame(gEventObjectPic_LinkReceptionist, 2, 4, 8), -}; - -const struct SpriteFrameImage gEventObjectPicTable_OldMan[] = { - overworld_frame(gEventObjectPic_OldMan, 2, 4, 0), - overworld_frame(gEventObjectPic_OldMan, 2, 4, 1), - overworld_frame(gEventObjectPic_OldMan, 2, 4, 2), - overworld_frame(gEventObjectPic_OldMan, 2, 4, 0), - overworld_frame(gEventObjectPic_OldMan, 2, 4, 0), - overworld_frame(gEventObjectPic_OldMan, 2, 4, 1), - overworld_frame(gEventObjectPic_OldMan, 2, 4, 1), - overworld_frame(gEventObjectPic_OldMan, 2, 4, 2), - overworld_frame(gEventObjectPic_OldMan, 2, 4, 2), -}; - -const struct SpriteFrameImage gEventObjectPicTable_OldWoman[] = { - overworld_frame(gEventObjectPic_OldWoman, 2, 4, 0), - overworld_frame(gEventObjectPic_OldWoman, 2, 4, 1), - overworld_frame(gEventObjectPic_OldWoman, 2, 4, 2), - overworld_frame(gEventObjectPic_OldWoman, 2, 4, 3), - overworld_frame(gEventObjectPic_OldWoman, 2, 4, 4), - overworld_frame(gEventObjectPic_OldWoman, 2, 4, 5), - overworld_frame(gEventObjectPic_OldWoman, 2, 4, 6), - overworld_frame(gEventObjectPic_OldWoman, 2, 4, 7), - overworld_frame(gEventObjectPic_OldWoman, 2, 4, 8), -}; - -const struct SpriteFrameImage gEventObjectPicTable_Camper[] = { - overworld_frame(gEventObjectPic_Camper, 2, 4, 0), - overworld_frame(gEventObjectPic_Camper, 2, 4, 1), - overworld_frame(gEventObjectPic_Camper, 2, 4, 2), - overworld_frame(gEventObjectPic_Camper, 2, 4, 3), - overworld_frame(gEventObjectPic_Camper, 2, 4, 4), - overworld_frame(gEventObjectPic_Camper, 2, 4, 5), - overworld_frame(gEventObjectPic_Camper, 2, 4, 6), - overworld_frame(gEventObjectPic_Camper, 2, 4, 7), - overworld_frame(gEventObjectPic_Camper, 2, 4, 8), -}; - -const struct SpriteFrameImage gEventObjectPicTable_Picnicker[] = { - overworld_frame(gEventObjectPic_Picnicker, 2, 4, 0), - overworld_frame(gEventObjectPic_Picnicker, 2, 4, 1), - overworld_frame(gEventObjectPic_Picnicker, 2, 4, 2), - overworld_frame(gEventObjectPic_Picnicker, 2, 4, 3), - overworld_frame(gEventObjectPic_Picnicker, 2, 4, 4), - overworld_frame(gEventObjectPic_Picnicker, 2, 4, 5), - overworld_frame(gEventObjectPic_Picnicker, 2, 4, 6), - overworld_frame(gEventObjectPic_Picnicker, 2, 4, 7), - overworld_frame(gEventObjectPic_Picnicker, 2, 4, 8), -}; - -const struct SpriteFrameImage gEventObjectPicTable_Man3[] = { - overworld_frame(gEventObjectPic_Man3, 2, 4, 0), - overworld_frame(gEventObjectPic_Man3, 2, 4, 1), - overworld_frame(gEventObjectPic_Man3, 2, 4, 2), - overworld_frame(gEventObjectPic_Man3, 2, 4, 3), - overworld_frame(gEventObjectPic_Man3, 2, 4, 4), - overworld_frame(gEventObjectPic_Man3, 2, 4, 5), - overworld_frame(gEventObjectPic_Man3, 2, 4, 6), - overworld_frame(gEventObjectPic_Man3, 2, 4, 7), - overworld_frame(gEventObjectPic_Man3, 2, 4, 8), -}; - -const struct SpriteFrameImage gEventObjectPicTable_Woman5[] = { - overworld_frame(gEventObjectPic_Woman5, 2, 4, 0), - overworld_frame(gEventObjectPic_Woman5, 2, 4, 1), - overworld_frame(gEventObjectPic_Woman5, 2, 4, 2), - overworld_frame(gEventObjectPic_Woman5, 2, 4, 3), - overworld_frame(gEventObjectPic_Woman5, 2, 4, 4), - overworld_frame(gEventObjectPic_Woman5, 2, 4, 5), - overworld_frame(gEventObjectPic_Woman5, 2, 4, 6), - overworld_frame(gEventObjectPic_Woman5, 2, 4, 7), - overworld_frame(gEventObjectPic_Woman5, 2, 4, 8), -}; - -const struct SpriteFrameImage gEventObjectPicTable_Youngster[] = { - overworld_frame(gEventObjectPic_Youngster, 2, 4, 0), - overworld_frame(gEventObjectPic_Youngster, 2, 4, 1), - overworld_frame(gEventObjectPic_Youngster, 2, 4, 2), - overworld_frame(gEventObjectPic_Youngster, 2, 4, 3), - overworld_frame(gEventObjectPic_Youngster, 2, 4, 4), - overworld_frame(gEventObjectPic_Youngster, 2, 4, 5), - overworld_frame(gEventObjectPic_Youngster, 2, 4, 6), - overworld_frame(gEventObjectPic_Youngster, 2, 4, 7), - overworld_frame(gEventObjectPic_Youngster, 2, 4, 8), -}; - -const struct SpriteFrameImage gEventObjectPicTable_BugCatcher[] = { - overworld_frame(gEventObjectPic_BugCatcher, 2, 4, 0), - overworld_frame(gEventObjectPic_BugCatcher, 2, 4, 1), - overworld_frame(gEventObjectPic_BugCatcher, 2, 4, 2), - overworld_frame(gEventObjectPic_BugCatcher, 2, 4, 3), - overworld_frame(gEventObjectPic_BugCatcher, 2, 4, 4), - overworld_frame(gEventObjectPic_BugCatcher, 2, 4, 5), - overworld_frame(gEventObjectPic_BugCatcher, 2, 4, 6), - overworld_frame(gEventObjectPic_BugCatcher, 2, 4, 7), - overworld_frame(gEventObjectPic_BugCatcher, 2, 4, 8), -}; - -const struct SpriteFrameImage gEventObjectPicTable_PsychicM[] = { - overworld_frame(gEventObjectPic_PsychicM, 2, 4, 0), - overworld_frame(gEventObjectPic_PsychicM, 2, 4, 1), - overworld_frame(gEventObjectPic_PsychicM, 2, 4, 2), - overworld_frame(gEventObjectPic_PsychicM, 2, 4, 3), - overworld_frame(gEventObjectPic_PsychicM, 2, 4, 4), - overworld_frame(gEventObjectPic_PsychicM, 2, 4, 5), - overworld_frame(gEventObjectPic_PsychicM, 2, 4, 6), - overworld_frame(gEventObjectPic_PsychicM, 2, 4, 7), - overworld_frame(gEventObjectPic_PsychicM, 2, 4, 8), -}; - -const struct SpriteFrameImage gEventObjectPicTable_SchoolKidM[] = { - overworld_frame(gEventObjectPic_SchoolKidM, 2, 4, 0), - overworld_frame(gEventObjectPic_SchoolKidM, 2, 4, 1), - overworld_frame(gEventObjectPic_SchoolKidM, 2, 4, 2), - overworld_frame(gEventObjectPic_SchoolKidM, 2, 4, 3), - overworld_frame(gEventObjectPic_SchoolKidM, 2, 4, 4), - overworld_frame(gEventObjectPic_SchoolKidM, 2, 4, 5), - overworld_frame(gEventObjectPic_SchoolKidM, 2, 4, 6), - overworld_frame(gEventObjectPic_SchoolKidM, 2, 4, 7), - overworld_frame(gEventObjectPic_SchoolKidM, 2, 4, 8), -}; - -const struct SpriteFrameImage gEventObjectPicTable_Maniac[] = { - overworld_frame(gEventObjectPic_Maniac, 2, 4, 0), - overworld_frame(gEventObjectPic_Maniac, 2, 4, 1), - overworld_frame(gEventObjectPic_Maniac, 2, 4, 2), - overworld_frame(gEventObjectPic_Maniac, 2, 4, 3), - overworld_frame(gEventObjectPic_Maniac, 2, 4, 4), - overworld_frame(gEventObjectPic_Maniac, 2, 4, 5), - overworld_frame(gEventObjectPic_Maniac, 2, 4, 6), - overworld_frame(gEventObjectPic_Maniac, 2, 4, 7), - overworld_frame(gEventObjectPic_Maniac, 2, 4, 8), -}; - -const struct SpriteFrameImage gEventObjectPicTable_HexManiac[] = { - overworld_frame(gEventObjectPic_HexManiac, 2, 4, 0), - overworld_frame(gEventObjectPic_HexManiac, 2, 4, 1), - overworld_frame(gEventObjectPic_HexManiac, 2, 4, 2), - overworld_frame(gEventObjectPic_HexManiac, 2, 4, 3), - overworld_frame(gEventObjectPic_HexManiac, 2, 4, 4), - overworld_frame(gEventObjectPic_HexManiac, 2, 4, 5), - overworld_frame(gEventObjectPic_HexManiac, 2, 4, 6), - overworld_frame(gEventObjectPic_HexManiac, 2, 4, 7), - overworld_frame(gEventObjectPic_HexManiac, 2, 4, 8), -}; - -const struct SpriteFrameImage gEventObjectPicTable_SwimmerM[] = { - overworld_frame(gEventObjectPic_SwimmerM, 2, 4, 0), - overworld_frame(gEventObjectPic_SwimmerM, 2, 4, 1), - overworld_frame(gEventObjectPic_SwimmerM, 2, 4, 2), - overworld_frame(gEventObjectPic_SwimmerM, 2, 4, 3), - overworld_frame(gEventObjectPic_SwimmerM, 2, 4, 4), - overworld_frame(gEventObjectPic_SwimmerM, 2, 4, 5), - overworld_frame(gEventObjectPic_SwimmerM, 2, 4, 6), - overworld_frame(gEventObjectPic_SwimmerM, 2, 4, 7), - overworld_frame(gEventObjectPic_SwimmerM, 2, 4, 8), -}; - -const struct SpriteFrameImage gEventObjectPicTable_SwimmerF[] = { - overworld_frame(gEventObjectPic_SwimmerF, 2, 4, 0), - overworld_frame(gEventObjectPic_SwimmerF, 2, 4, 1), - overworld_frame(gEventObjectPic_SwimmerF, 2, 4, 2), - overworld_frame(gEventObjectPic_SwimmerF, 2, 4, 3), - overworld_frame(gEventObjectPic_SwimmerF, 2, 4, 4), - overworld_frame(gEventObjectPic_SwimmerF, 2, 4, 5), - overworld_frame(gEventObjectPic_SwimmerF, 2, 4, 6), - overworld_frame(gEventObjectPic_SwimmerF, 2, 4, 7), - overworld_frame(gEventObjectPic_SwimmerF, 2, 4, 8), -}; - -const struct SpriteFrameImage gEventObjectPicTable_BlackBelt[] = { - overworld_frame(gEventObjectPic_BlackBelt, 2, 4, 0), - overworld_frame(gEventObjectPic_BlackBelt, 2, 4, 1), - overworld_frame(gEventObjectPic_BlackBelt, 2, 4, 2), - overworld_frame(gEventObjectPic_BlackBelt, 2, 4, 3), - overworld_frame(gEventObjectPic_BlackBelt, 2, 4, 4), - overworld_frame(gEventObjectPic_BlackBelt, 2, 4, 5), - overworld_frame(gEventObjectPic_BlackBelt, 2, 4, 6), - overworld_frame(gEventObjectPic_BlackBelt, 2, 4, 7), - overworld_frame(gEventObjectPic_BlackBelt, 2, 4, 8), -}; - -const struct SpriteFrameImage gEventObjectPicTable_Beauty[] = { - overworld_frame(gEventObjectPic_Beauty, 2, 4, 0), - overworld_frame(gEventObjectPic_Beauty, 2, 4, 1), - overworld_frame(gEventObjectPic_Beauty, 2, 4, 2), - overworld_frame(gEventObjectPic_Beauty, 2, 4, 3), - overworld_frame(gEventObjectPic_Beauty, 2, 4, 4), - overworld_frame(gEventObjectPic_Beauty, 2, 4, 5), - overworld_frame(gEventObjectPic_Beauty, 2, 4, 6), - overworld_frame(gEventObjectPic_Beauty, 2, 4, 7), - overworld_frame(gEventObjectPic_Beauty, 2, 4, 8), -}; - -const struct SpriteFrameImage gEventObjectPicTable_Scientist1[] = { - overworld_frame(gEventObjectPic_Scientist1, 2, 4, 0), - overworld_frame(gEventObjectPic_Scientist1, 2, 4, 1), - overworld_frame(gEventObjectPic_Scientist1, 2, 4, 2), - overworld_frame(gEventObjectPic_Scientist1, 2, 4, 3), - overworld_frame(gEventObjectPic_Scientist1, 2, 4, 4), - overworld_frame(gEventObjectPic_Scientist1, 2, 4, 5), - overworld_frame(gEventObjectPic_Scientist1, 2, 4, 6), - overworld_frame(gEventObjectPic_Scientist1, 2, 4, 7), - overworld_frame(gEventObjectPic_Scientist1, 2, 4, 8), -}; - -const struct SpriteFrameImage gEventObjectPicTable_Lass[] = { - overworld_frame(gEventObjectPic_Lass, 2, 4, 0), - overworld_frame(gEventObjectPic_Lass, 2, 4, 1), - overworld_frame(gEventObjectPic_Lass, 2, 4, 2), - overworld_frame(gEventObjectPic_Lass, 2, 4, 3), - overworld_frame(gEventObjectPic_Lass, 2, 4, 4), - overworld_frame(gEventObjectPic_Lass, 2, 4, 5), - overworld_frame(gEventObjectPic_Lass, 2, 4, 6), - overworld_frame(gEventObjectPic_Lass, 2, 4, 7), - overworld_frame(gEventObjectPic_Lass, 2, 4, 8), -}; - -const struct SpriteFrameImage gEventObjectPicTable_Gentleman[] = { - overworld_frame(gEventObjectPic_Gentleman, 2, 4, 0), - overworld_frame(gEventObjectPic_Gentleman, 2, 4, 1), - overworld_frame(gEventObjectPic_Gentleman, 2, 4, 2), - overworld_frame(gEventObjectPic_Gentleman, 2, 4, 3), - overworld_frame(gEventObjectPic_Gentleman, 2, 4, 4), - overworld_frame(gEventObjectPic_Gentleman, 2, 4, 5), - overworld_frame(gEventObjectPic_Gentleman, 2, 4, 6), - overworld_frame(gEventObjectPic_Gentleman, 2, 4, 7), - overworld_frame(gEventObjectPic_Gentleman, 2, 4, 8), -}; - -const struct SpriteFrameImage gEventObjectPicTable_Sailor[] = { - overworld_frame(gEventObjectPic_Sailor, 2, 4, 0), - overworld_frame(gEventObjectPic_Sailor, 2, 4, 1), - overworld_frame(gEventObjectPic_Sailor, 2, 4, 2), - overworld_frame(gEventObjectPic_Sailor, 2, 4, 3), - overworld_frame(gEventObjectPic_Sailor, 2, 4, 4), - overworld_frame(gEventObjectPic_Sailor, 2, 4, 5), - overworld_frame(gEventObjectPic_Sailor, 2, 4, 6), - overworld_frame(gEventObjectPic_Sailor, 2, 4, 7), - overworld_frame(gEventObjectPic_Sailor, 2, 4, 8), -}; - -const struct SpriteFrameImage gEventObjectPicTable_Fisherman[] = { - overworld_frame(gEventObjectPic_Fisherman, 2, 4, 0), - overworld_frame(gEventObjectPic_Fisherman, 2, 4, 1), - overworld_frame(gEventObjectPic_Fisherman, 2, 4, 2), - overworld_frame(gEventObjectPic_Fisherman, 2, 4, 3), - overworld_frame(gEventObjectPic_Fisherman, 2, 4, 4), - overworld_frame(gEventObjectPic_Fisherman, 2, 4, 5), - overworld_frame(gEventObjectPic_Fisherman, 2, 4, 6), - overworld_frame(gEventObjectPic_Fisherman, 2, 4, 7), - overworld_frame(gEventObjectPic_Fisherman, 2, 4, 8), -}; - -const struct SpriteFrameImage gEventObjectPicTable_RunningTriathleteM[] = { - overworld_frame(gEventObjectPic_RunningTriathleteM, 2, 4, 0), - overworld_frame(gEventObjectPic_RunningTriathleteM, 2, 4, 1), - overworld_frame(gEventObjectPic_RunningTriathleteM, 2, 4, 2), - overworld_frame(gEventObjectPic_RunningTriathleteM, 2, 4, 3), - overworld_frame(gEventObjectPic_RunningTriathleteM, 2, 4, 4), - overworld_frame(gEventObjectPic_RunningTriathleteM, 2, 4, 5), - overworld_frame(gEventObjectPic_RunningTriathleteM, 2, 4, 6), - overworld_frame(gEventObjectPic_RunningTriathleteM, 2, 4, 7), - overworld_frame(gEventObjectPic_RunningTriathleteM, 2, 4, 8), -}; - -const struct SpriteFrameImage gEventObjectPicTable_RunningTriathleteF[] = { - overworld_frame(gEventObjectPic_RunningTriathleteF, 2, 4, 0), - overworld_frame(gEventObjectPic_RunningTriathleteF, 2, 4, 1), - overworld_frame(gEventObjectPic_RunningTriathleteF, 2, 4, 2), - overworld_frame(gEventObjectPic_RunningTriathleteF, 2, 4, 3), - overworld_frame(gEventObjectPic_RunningTriathleteF, 2, 4, 4), - overworld_frame(gEventObjectPic_RunningTriathleteF, 2, 4, 5), - overworld_frame(gEventObjectPic_RunningTriathleteF, 2, 4, 6), - overworld_frame(gEventObjectPic_RunningTriathleteF, 2, 4, 7), - overworld_frame(gEventObjectPic_RunningTriathleteF, 2, 4, 8), -}; - -const struct SpriteFrameImage gEventObjectPicTable_TuberF[] = { - overworld_frame(gEventObjectPic_TuberF, 2, 2, 0), - overworld_frame(gEventObjectPic_TuberF, 2, 2, 1), - overworld_frame(gEventObjectPic_TuberF, 2, 2, 2), - overworld_frame(gEventObjectPic_TuberF, 2, 2, 3), - overworld_frame(gEventObjectPic_TuberF, 2, 2, 4), - overworld_frame(gEventObjectPic_TuberF, 2, 2, 5), - overworld_frame(gEventObjectPic_TuberF, 2, 2, 6), - overworld_frame(gEventObjectPic_TuberF, 2, 2, 7), - overworld_frame(gEventObjectPic_TuberF, 2, 2, 8), -}; - -const struct SpriteFrameImage gEventObjectPicTable_TuberM[] = { - overworld_frame(gEventObjectPic_TuberM, 2, 2, 0), - overworld_frame(gEventObjectPic_TuberM, 2, 2, 1), - overworld_frame(gEventObjectPic_TuberM, 2, 2, 2), - overworld_frame(gEventObjectPic_TuberM, 2, 2, 3), - overworld_frame(gEventObjectPic_TuberM, 2, 2, 4), - overworld_frame(gEventObjectPic_TuberM, 2, 2, 5), - overworld_frame(gEventObjectPic_TuberM, 2, 2, 6), - overworld_frame(gEventObjectPic_TuberM, 2, 2, 7), - overworld_frame(gEventObjectPic_TuberM, 2, 2, 8), -}; - -const struct SpriteFrameImage gEventObjectPicTable_Hiker[] = { - overworld_frame(gEventObjectPic_Hiker, 2, 4, 0), - overworld_frame(gEventObjectPic_Hiker, 2, 4, 1), - overworld_frame(gEventObjectPic_Hiker, 2, 4, 2), - overworld_frame(gEventObjectPic_Hiker, 2, 4, 3), - overworld_frame(gEventObjectPic_Hiker, 2, 4, 4), - overworld_frame(gEventObjectPic_Hiker, 2, 4, 5), - overworld_frame(gEventObjectPic_Hiker, 2, 4, 6), - overworld_frame(gEventObjectPic_Hiker, 2, 4, 7), - overworld_frame(gEventObjectPic_Hiker, 2, 4, 8), -}; - -const struct SpriteFrameImage gEventObjectPicTable_CyclingTriathleteM[] = { - overworld_frame(gEventObjectPic_CyclingTriathleteM, 4, 4, 0), - overworld_frame(gEventObjectPic_CyclingTriathleteM, 4, 4, 1), - overworld_frame(gEventObjectPic_CyclingTriathleteM, 4, 4, 2), - overworld_frame(gEventObjectPic_CyclingTriathleteM, 4, 4, 3), - overworld_frame(gEventObjectPic_CyclingTriathleteM, 4, 4, 4), - overworld_frame(gEventObjectPic_CyclingTriathleteM, 4, 4, 5), - overworld_frame(gEventObjectPic_CyclingTriathleteM, 4, 4, 6), - overworld_frame(gEventObjectPic_CyclingTriathleteM, 4, 4, 7), - overworld_frame(gEventObjectPic_CyclingTriathleteM, 4, 4, 8), -}; - -const struct SpriteFrameImage gEventObjectPicTable_CyclingTriathleteF[] = { - overworld_frame(gEventObjectPic_CyclingTriathleteF, 4, 4, 0), - overworld_frame(gEventObjectPic_CyclingTriathleteF, 4, 4, 1), - overworld_frame(gEventObjectPic_CyclingTriathleteF, 4, 4, 2), - overworld_frame(gEventObjectPic_CyclingTriathleteF, 4, 4, 3), - overworld_frame(gEventObjectPic_CyclingTriathleteF, 4, 4, 4), - overworld_frame(gEventObjectPic_CyclingTriathleteF, 4, 4, 5), - overworld_frame(gEventObjectPic_CyclingTriathleteF, 4, 4, 6), - overworld_frame(gEventObjectPic_CyclingTriathleteF, 4, 4, 7), - overworld_frame(gEventObjectPic_CyclingTriathleteF, 4, 4, 8), -}; - -const struct SpriteFrameImage gEventObjectPicTable_Nurse[] = { - overworld_frame(gEventObjectPic_Nurse, 2, 4, 0), - overworld_frame(gEventObjectPic_Nurse, 2, 4, 1), - overworld_frame(gEventObjectPic_Nurse, 2, 4, 2), - overworld_frame(gEventObjectPic_Nurse, 2, 4, 0), - overworld_frame(gEventObjectPic_Nurse, 2, 4, 0), - overworld_frame(gEventObjectPic_Nurse, 2, 4, 1), - overworld_frame(gEventObjectPic_Nurse, 2, 4, 1), - overworld_frame(gEventObjectPic_Nurse, 2, 4, 2), - overworld_frame(gEventObjectPic_Nurse, 2, 4, 2), - overworld_frame(gEventObjectPic_Nurse, 2, 4, 3), -}; - -const struct SpriteFrameImage gEventObjectPicTable_ItemBall[] = { - obj_frame_tiles(gEventObjectPic_ItemBall), -}; - -const struct SpriteFrameImage gEventObjectPicTable_ProfBirch[] = { - overworld_frame(gEventObjectPic_ProfBirch, 2, 4, 0), - overworld_frame(gEventObjectPic_ProfBirch, 2, 4, 1), - overworld_frame(gEventObjectPic_ProfBirch, 2, 4, 2), - overworld_frame(gEventObjectPic_ProfBirch, 2, 4, 3), - overworld_frame(gEventObjectPic_ProfBirch, 2, 4, 4), - overworld_frame(gEventObjectPic_ProfBirch, 2, 4, 5), - overworld_frame(gEventObjectPic_ProfBirch, 2, 4, 6), - overworld_frame(gEventObjectPic_ProfBirch, 2, 4, 7), - overworld_frame(gEventObjectPic_ProfBirch, 2, 4, 8), -}; - -const struct SpriteFrameImage gEventObjectPicTable_Man4[] = { - overworld_frame(gEventObjectPic_Man4, 2, 4, 0), - overworld_frame(gEventObjectPic_Man4, 2, 4, 1), - overworld_frame(gEventObjectPic_Man4, 2, 4, 2), - overworld_frame(gEventObjectPic_Man4, 2, 4, 3), - overworld_frame(gEventObjectPic_Man4, 2, 4, 4), - overworld_frame(gEventObjectPic_Man4, 2, 4, 5), - overworld_frame(gEventObjectPic_Man4, 2, 4, 6), - overworld_frame(gEventObjectPic_Man4, 2, 4, 7), - overworld_frame(gEventObjectPic_Man4, 2, 4, 8), -}; - -const struct SpriteFrameImage gEventObjectPicTable_Man5[] = { - overworld_frame(gEventObjectPic_Man5, 2, 4, 0), - overworld_frame(gEventObjectPic_Man5, 2, 4, 1), - overworld_frame(gEventObjectPic_Man5, 2, 4, 2), - overworld_frame(gEventObjectPic_Man5, 2, 4, 3), - overworld_frame(gEventObjectPic_Man5, 2, 4, 4), - overworld_frame(gEventObjectPic_Man5, 2, 4, 5), - overworld_frame(gEventObjectPic_Man5, 2, 4, 6), - overworld_frame(gEventObjectPic_Man5, 2, 4, 7), - overworld_frame(gEventObjectPic_Man5, 2, 4, 8), -}; - -const struct SpriteFrameImage gEventObjectPicTable_ReporterM[] = { - overworld_frame(gEventObjectPic_ReporterM, 2, 4, 0), - overworld_frame(gEventObjectPic_ReporterM, 2, 4, 1), - overworld_frame(gEventObjectPic_ReporterM, 2, 4, 2), - overworld_frame(gEventObjectPic_ReporterM, 2, 4, 3), - overworld_frame(gEventObjectPic_ReporterM, 2, 4, 4), - overworld_frame(gEventObjectPic_ReporterM, 2, 4, 5), - overworld_frame(gEventObjectPic_ReporterM, 2, 4, 6), - overworld_frame(gEventObjectPic_ReporterM, 2, 4, 7), - overworld_frame(gEventObjectPic_ReporterM, 2, 4, 8), -}; - -const struct SpriteFrameImage gEventObjectPicTable_ReporterF[] = { - overworld_frame(gEventObjectPic_ReporterF, 2, 4, 0), - overworld_frame(gEventObjectPic_ReporterF, 2, 4, 1), - overworld_frame(gEventObjectPic_ReporterF, 2, 4, 2), - overworld_frame(gEventObjectPic_ReporterF, 2, 4, 3), - overworld_frame(gEventObjectPic_ReporterF, 2, 4, 4), - overworld_frame(gEventObjectPic_ReporterF, 2, 4, 5), - overworld_frame(gEventObjectPic_ReporterF, 2, 4, 6), - overworld_frame(gEventObjectPic_ReporterF, 2, 4, 7), - overworld_frame(gEventObjectPic_ReporterF, 2, 4, 8), -}; - -const struct SpriteFrameImage gEventObjectPicTable_MauvilleOldMan1[] = { - overworld_frame(gEventObjectPic_MauvilleOldMan1, 2, 4, 0), - overworld_frame(gEventObjectPic_MauvilleOldMan1, 2, 4, 1), - overworld_frame(gEventObjectPic_MauvilleOldMan1, 2, 4, 2), - overworld_frame(gEventObjectPic_MauvilleOldMan1, 2, 4, 3), - overworld_frame(gEventObjectPic_MauvilleOldMan1, 2, 4, 4), - overworld_frame(gEventObjectPic_MauvilleOldMan1, 2, 4, 5), - overworld_frame(gEventObjectPic_MauvilleOldMan1, 2, 4, 6), - overworld_frame(gEventObjectPic_MauvilleOldMan1, 2, 4, 7), - overworld_frame(gEventObjectPic_MauvilleOldMan1, 2, 4, 8), -}; - -const struct SpriteFrameImage gEventObjectPicTable_MauvilleOldMan2[] = { - overworld_frame(gEventObjectPic_MauvilleOldMan2, 2, 4, 0), - overworld_frame(gEventObjectPic_MauvilleOldMan2, 2, 4, 1), - overworld_frame(gEventObjectPic_MauvilleOldMan2, 2, 4, 2), - overworld_frame(gEventObjectPic_MauvilleOldMan2, 2, 4, 3), - overworld_frame(gEventObjectPic_MauvilleOldMan2, 2, 4, 4), - overworld_frame(gEventObjectPic_MauvilleOldMan2, 2, 4, 5), - overworld_frame(gEventObjectPic_MauvilleOldMan2, 2, 4, 6), - overworld_frame(gEventObjectPic_MauvilleOldMan2, 2, 4, 7), - overworld_frame(gEventObjectPic_MauvilleOldMan2, 2, 4, 8), -}; - -const struct SpriteFrameImage gEventObjectPicTable_UnusedNatuDoll[] = { - obj_frame_tiles(gEventObjectPic_UnusedNatuDoll), -}; - -const struct SpriteFrameImage gEventObjectPicTable_UnusedMagnemiteDoll[] = { - obj_frame_tiles(gEventObjectPic_UnusedMagnemiteDoll), -}; - -const struct SpriteFrameImage gEventObjectPicTable_UnusedSquirtleDoll[] = { - obj_frame_tiles(gEventObjectPic_UnusedSquirtleDoll), -}; - -const struct SpriteFrameImage gEventObjectPicTable_UnusedWooperDoll[] = { - obj_frame_tiles(gEventObjectPic_UnusedWooperDoll), -}; - -const struct SpriteFrameImage gEventObjectPicTable_UnusedPikachuDoll[] = { - obj_frame_tiles(gEventObjectPic_UnusedPikachuDoll), -}; - -const struct SpriteFrameImage gEventObjectPicTable_UnusedPorygon2Doll[] = { - obj_frame_tiles(gEventObjectPic_UnusedPorygon2Doll), -}; - -const struct SpriteFrameImage gEventObjectPicTable_CuttableTree[] = { - overworld_frame(gEventObjectPic_CuttableTree, 2, 2, 0), - overworld_frame(gEventObjectPic_CuttableTree, 2, 2, 1), - overworld_frame(gEventObjectPic_CuttableTree, 2, 2, 2), - overworld_frame(gEventObjectPic_CuttableTree, 2, 2, 3), -}; - -const struct SpriteFrameImage gEventObjectPicTable_MartEmployee[] = { - overworld_frame(gEventObjectPic_MartEmployee, 2, 4, 0), - overworld_frame(gEventObjectPic_MartEmployee, 2, 4, 1), - overworld_frame(gEventObjectPic_MartEmployee, 2, 4, 2), - overworld_frame(gEventObjectPic_MartEmployee, 2, 4, 3), - overworld_frame(gEventObjectPic_MartEmployee, 2, 4, 4), - overworld_frame(gEventObjectPic_MartEmployee, 2, 4, 5), - overworld_frame(gEventObjectPic_MartEmployee, 2, 4, 6), - overworld_frame(gEventObjectPic_MartEmployee, 2, 4, 7), - overworld_frame(gEventObjectPic_MartEmployee, 2, 4, 8), -}; - -const struct SpriteFrameImage gEventObjectPicTable_RooftopSaleWoman[] = { - overworld_frame(gEventObjectPic_RooftopSaleWoman, 2, 4, 0), - overworld_frame(gEventObjectPic_RooftopSaleWoman, 2, 4, 1), - overworld_frame(gEventObjectPic_RooftopSaleWoman, 2, 4, 2), - overworld_frame(gEventObjectPic_RooftopSaleWoman, 2, 4, 3), - overworld_frame(gEventObjectPic_RooftopSaleWoman, 2, 4, 4), - overworld_frame(gEventObjectPic_RooftopSaleWoman, 2, 4, 5), - overworld_frame(gEventObjectPic_RooftopSaleWoman, 2, 4, 6), - overworld_frame(gEventObjectPic_RooftopSaleWoman, 2, 4, 7), - overworld_frame(gEventObjectPic_RooftopSaleWoman, 2, 4, 8), -}; - -const struct SpriteFrameImage gEventObjectPicTable_Teala[] = { - overworld_frame(gEventObjectPic_Teala, 2, 4, 0), - overworld_frame(gEventObjectPic_Teala, 2, 4, 1), - overworld_frame(gEventObjectPic_Teala, 2, 4, 2), - overworld_frame(gEventObjectPic_Teala, 2, 4, 3), - overworld_frame(gEventObjectPic_Teala, 2, 4, 4), - overworld_frame(gEventObjectPic_Teala, 2, 4, 5), - overworld_frame(gEventObjectPic_Teala, 2, 4, 6), - overworld_frame(gEventObjectPic_Teala, 2, 4, 7), - overworld_frame(gEventObjectPic_Teala, 2, 4, 8), -}; - -const struct SpriteFrameImage gEventObjectPicTable_BreakableRock[] = { - overworld_frame(gEventObjectPic_BreakableRock, 2, 2, 0), - overworld_frame(gEventObjectPic_BreakableRock, 2, 2, 1), - overworld_frame(gEventObjectPic_BreakableRock, 2, 2, 2), - overworld_frame(gEventObjectPic_BreakableRock, 2, 2, 3), -}; - -const struct SpriteFrameImage gEventObjectPicTable_PushableBoulder[] = { - obj_frame_tiles(gEventObjectPic_PushableBoulder), -}; - -const struct SpriteFrameImage gEventObjectPicTable_MrBrineysBoat[] = { - overworld_frame(gEventObjectPic_MrBrineysBoat, 4, 4, 0), - overworld_frame(gEventObjectPic_MrBrineysBoat, 4, 4, 1), - overworld_frame(gEventObjectPic_MrBrineysBoat, 4, 4, 2), - overworld_frame(gEventObjectPic_MrBrineysBoat, 4, 4, 0), - overworld_frame(gEventObjectPic_MrBrineysBoat, 4, 4, 0), - overworld_frame(gEventObjectPic_MrBrineysBoat, 4, 4, 1), - overworld_frame(gEventObjectPic_MrBrineysBoat, 4, 4, 1), - overworld_frame(gEventObjectPic_MrBrineysBoat, 4, 4, 2), - overworld_frame(gEventObjectPic_MrBrineysBoat, 4, 4, 2), -}; - -const struct SpriteFrameImage gEventObjectPicTable_Truck[] = { - obj_frame_tiles(gEventObjectPic_Truck), -}; - -const struct SpriteFrameImage gEventObjectPicTable_VigorothCarryingBox[] = { - overworld_frame(gEventObjectPic_Vigoroth, 4, 4, 0), - overworld_frame(gEventObjectPic_Vigoroth, 4, 4, 0), - overworld_frame(gEventObjectPic_Vigoroth, 4, 4, 0), - overworld_frame(gEventObjectPic_Vigoroth, 4, 4, 1), - overworld_frame(gEventObjectPic_Vigoroth, 4, 4, 2), - overworld_frame(gEventObjectPic_Vigoroth, 4, 4, 1), - overworld_frame(gEventObjectPic_Vigoroth, 4, 4, 2), - overworld_frame(gEventObjectPic_Vigoroth, 4, 4, 1), - overworld_frame(gEventObjectPic_Vigoroth, 4, 4, 2), -}; - -const struct SpriteFrameImage gEventObjectPicTable_VigorothFacingAway[] = { - overworld_frame(gEventObjectPic_Vigoroth, 4, 4, 3), - overworld_frame(gEventObjectPic_Vigoroth, 4, 4, 3), - overworld_frame(gEventObjectPic_Vigoroth, 4, 4, 3), - overworld_frame(gEventObjectPic_Vigoroth, 4, 4, 4), - overworld_frame(gEventObjectPic_Vigoroth, 4, 4, 4), - overworld_frame(gEventObjectPic_Vigoroth, 4, 4, 4), - overworld_frame(gEventObjectPic_Vigoroth, 4, 4, 4), - overworld_frame(gEventObjectPic_Vigoroth, 4, 4, 4), - overworld_frame(gEventObjectPic_Vigoroth, 4, 4, 4), -}; - -const struct SpriteFrameImage gEventObjectPicTable_BirchsBag[] = { - obj_frame_tiles(gEventObjectPic_BirchsBag), -}; - -const struct SpriteFrameImage gEventObjectPicTable_EnemyZigzagoon[] = { - overworld_frame(gEventObjectPic_EnemyZigzagoon, 4, 4, 0), - overworld_frame(gEventObjectPic_EnemyZigzagoon, 4, 4, 1), - overworld_frame(gEventObjectPic_EnemyZigzagoon, 4, 4, 2), - overworld_frame(gEventObjectPic_EnemyZigzagoon, 4, 4, 3), - overworld_frame(gEventObjectPic_EnemyZigzagoon, 4, 4, 4), - overworld_frame(gEventObjectPic_EnemyZigzagoon, 4, 4, 5), - overworld_frame(gEventObjectPic_EnemyZigzagoon, 4, 4, 6), - overworld_frame(gEventObjectPic_EnemyZigzagoon, 4, 4, 7), - overworld_frame(gEventObjectPic_EnemyZigzagoon, 4, 4, 8), -}; - -const struct SpriteFrameImage gEventObjectPicTable_Poochyena[] = { - overworld_frame(gEventObjectPic_Poochyena, 4, 4, 0), - overworld_frame(gEventObjectPic_Poochyena, 4, 4, 1), - overworld_frame(gEventObjectPic_Poochyena, 4, 4, 2), - overworld_frame(gEventObjectPic_Poochyena, 4, 4, 3), - overworld_frame(gEventObjectPic_Poochyena, 4, 4, 4), - overworld_frame(gEventObjectPic_Poochyena, 4, 4, 5), - overworld_frame(gEventObjectPic_Poochyena, 4, 4, 6), - overworld_frame(gEventObjectPic_Poochyena, 4, 4, 7), - overworld_frame(gEventObjectPic_Poochyena, 4, 4, 8), -}; - -const struct SpriteFrameImage gEventObjectPicTable_Artist[] = { - overworld_frame(gEventObjectPic_Artist, 2, 4, 0), - overworld_frame(gEventObjectPic_Artist, 2, 4, 1), - overworld_frame(gEventObjectPic_Artist, 2, 4, 2), - overworld_frame(gEventObjectPic_Artist, 2, 4, 3), - overworld_frame(gEventObjectPic_Artist, 2, 4, 4), - overworld_frame(gEventObjectPic_Artist, 2, 4, 5), - overworld_frame(gEventObjectPic_Artist, 2, 4, 6), - overworld_frame(gEventObjectPic_Artist, 2, 4, 7), - overworld_frame(gEventObjectPic_Artist, 2, 4, 8), -}; - -const struct SpriteFrameImage gEventObjectPicTable_MayNormal[] = { - overworld_frame(gEventObjectPic_MayNormal, 2, 4, 0), - overworld_frame(gEventObjectPic_MayNormal, 2, 4, 1), - overworld_frame(gEventObjectPic_MayNormal, 2, 4, 2), - overworld_frame(gEventObjectPic_MayNormal, 2, 4, 3), - overworld_frame(gEventObjectPic_MayNormal, 2, 4, 4), - overworld_frame(gEventObjectPic_MayNormal, 2, 4, 5), - overworld_frame(gEventObjectPic_MayNormal, 2, 4, 6), - overworld_frame(gEventObjectPic_MayNormal, 2, 4, 7), - overworld_frame(gEventObjectPic_MayNormal, 2, 4, 8), - overworld_frame(gEventObjectPic_MayRunning, 2, 4, 0), - overworld_frame(gEventObjectPic_MayRunning, 2, 4, 1), - overworld_frame(gEventObjectPic_MayRunning, 2, 4, 2), - overworld_frame(gEventObjectPic_MayRunning, 2, 4, 3), - overworld_frame(gEventObjectPic_MayRunning, 2, 4, 4), - overworld_frame(gEventObjectPic_MayRunning, 2, 4, 5), - overworld_frame(gEventObjectPic_MayRunning, 2, 4, 6), - overworld_frame(gEventObjectPic_MayRunning, 2, 4, 7), - overworld_frame(gEventObjectPic_MayRunning, 2, 4, 8), -}; - -const struct SpriteFrameImage gEventObjectPicTable_MayMachBike[] = { - overworld_frame(gEventObjectPic_MayMachBike, 4, 4, 0), - overworld_frame(gEventObjectPic_MayMachBike, 4, 4, 1), - overworld_frame(gEventObjectPic_MayMachBike, 4, 4, 2), - overworld_frame(gEventObjectPic_MayMachBike, 4, 4, 3), - overworld_frame(gEventObjectPic_MayMachBike, 4, 4, 4), - overworld_frame(gEventObjectPic_MayMachBike, 4, 4, 5), - overworld_frame(gEventObjectPic_MayMachBike, 4, 4, 6), - overworld_frame(gEventObjectPic_MayMachBike, 4, 4, 7), - overworld_frame(gEventObjectPic_MayMachBike, 4, 4, 8), -}; - -const struct SpriteFrameImage gEventObjectPicTable_MayAcroBike[] = { - overworld_frame(gEventObjectPic_MayAcroBike, 4, 4, 0), - overworld_frame(gEventObjectPic_MayAcroBike, 4, 4, 1), - overworld_frame(gEventObjectPic_MayAcroBike, 4, 4, 2), - overworld_frame(gEventObjectPic_MayAcroBike, 4, 4, 3), - overworld_frame(gEventObjectPic_MayAcroBike, 4, 4, 4), - overworld_frame(gEventObjectPic_MayAcroBike, 4, 4, 5), - overworld_frame(gEventObjectPic_MayAcroBike, 4, 4, 6), - overworld_frame(gEventObjectPic_MayAcroBike, 4, 4, 7), - overworld_frame(gEventObjectPic_MayAcroBike, 4, 4, 8), - overworld_frame(gEventObjectPic_MayAcroBike, 4, 4, 9), - overworld_frame(gEventObjectPic_MayAcroBike, 4, 4, 10), - overworld_frame(gEventObjectPic_MayAcroBike, 4, 4, 11), - overworld_frame(gEventObjectPic_MayAcroBike, 4, 4, 12), - overworld_frame(gEventObjectPic_MayAcroBike, 4, 4, 13), - overworld_frame(gEventObjectPic_MayAcroBike, 4, 4, 14), - overworld_frame(gEventObjectPic_MayAcroBike, 4, 4, 15), - overworld_frame(gEventObjectPic_MayAcroBike, 4, 4, 16), - overworld_frame(gEventObjectPic_MayAcroBike, 4, 4, 17), - overworld_frame(gEventObjectPic_MayAcroBike, 4, 4, 18), - overworld_frame(gEventObjectPic_MayAcroBike, 4, 4, 19), - overworld_frame(gEventObjectPic_MayAcroBike, 4, 4, 20), - overworld_frame(gEventObjectPic_MayAcroBike, 4, 4, 21), - overworld_frame(gEventObjectPic_MayAcroBike, 4, 4, 22), - overworld_frame(gEventObjectPic_MayAcroBike, 4, 4, 23), - overworld_frame(gEventObjectPic_MayAcroBike, 4, 4, 24), - overworld_frame(gEventObjectPic_MayAcroBike, 4, 4, 25), - overworld_frame(gEventObjectPic_MayAcroBike, 4, 4, 26), -}; - -const struct SpriteFrameImage gEventObjectPicTable_MaySurfing[] = { - overworld_frame(gEventObjectPic_MaySurfing, 4, 4, 0), - overworld_frame(gEventObjectPic_MaySurfing, 4, 4, 2), - overworld_frame(gEventObjectPic_MaySurfing, 4, 4, 4), - overworld_frame(gEventObjectPic_MaySurfing, 4, 4, 0), - overworld_frame(gEventObjectPic_MaySurfing, 4, 4, 0), - overworld_frame(gEventObjectPic_MaySurfing, 4, 4, 2), - overworld_frame(gEventObjectPic_MaySurfing, 4, 4, 2), - overworld_frame(gEventObjectPic_MaySurfing, 4, 4, 4), - overworld_frame(gEventObjectPic_MaySurfing, 4, 4, 4), - overworld_frame(gEventObjectPic_MaySurfing, 4, 4, 1), - overworld_frame(gEventObjectPic_MaySurfing, 4, 4, 3), - overworld_frame(gEventObjectPic_MaySurfing, 4, 4, 5), -}; - -const struct SpriteFrameImage gEventObjectPicTable_MayUnderwater[] = { - overworld_frame(gEventObjectPic_MayUnderwater, 4, 4, 0), - overworld_frame(gEventObjectPic_MayUnderwater, 4, 4, 1), - overworld_frame(gEventObjectPic_MayUnderwater, 4, 4, 2), - overworld_frame(gEventObjectPic_MayUnderwater, 4, 4, 0), - overworld_frame(gEventObjectPic_MayUnderwater, 4, 4, 0), - overworld_frame(gEventObjectPic_MayUnderwater, 4, 4, 1), - overworld_frame(gEventObjectPic_MayUnderwater, 4, 4, 1), - overworld_frame(gEventObjectPic_MayUnderwater, 4, 4, 2), - overworld_frame(gEventObjectPic_MayUnderwater, 4, 4, 2), -}; - -const struct SpriteFrameImage gEventObjectPicTable_MayFieldMove[] = { - overworld_frame(gEventObjectPic_MayFieldMove, 4, 4, 0), - overworld_frame(gEventObjectPic_MayFieldMove, 4, 4, 1), - overworld_frame(gEventObjectPic_MayFieldMove, 4, 4, 2), - overworld_frame(gEventObjectPic_MayFieldMove, 4, 4, 3), - overworld_frame(gEventObjectPic_MayFieldMove, 4, 4, 4), -}; - -const struct SpriteFrameImage gEventObjectPicTable_Cameraman[] = { - overworld_frame(gEventObjectPic_Cameraman, 2, 4, 0), - overworld_frame(gEventObjectPic_Cameraman, 2, 4, 1), - overworld_frame(gEventObjectPic_Cameraman, 2, 4, 2), - overworld_frame(gEventObjectPic_Cameraman, 2, 4, 3), - overworld_frame(gEventObjectPic_Cameraman, 2, 4, 4), - overworld_frame(gEventObjectPic_Cameraman, 2, 4, 5), - overworld_frame(gEventObjectPic_Cameraman, 2, 4, 6), - overworld_frame(gEventObjectPic_Cameraman, 2, 4, 7), - overworld_frame(gEventObjectPic_Cameraman, 2, 4, 8), -}; - -const struct SpriteFrameImage gEventObjectPicTable_MovingBox[] = { - obj_frame_tiles(gEventObjectPic_MovingBox), -}; - -const struct SpriteFrameImage gEventObjectPicTable_CableCar[] = { - obj_frame_tiles(gEventObjectPic_CableCar), -}; - -const struct SpriteFrameImage gEventObjectPicTable_Scientist2[] = { - overworld_frame(gEventObjectPic_Scientist2, 2, 4, 0), - overworld_frame(gEventObjectPic_Scientist2, 2, 4, 1), - overworld_frame(gEventObjectPic_Scientist2, 2, 4, 2), - overworld_frame(gEventObjectPic_Scientist2, 2, 4, 3), - overworld_frame(gEventObjectPic_Scientist2, 2, 4, 4), - overworld_frame(gEventObjectPic_Scientist2, 2, 4, 5), - overworld_frame(gEventObjectPic_Scientist2, 2, 4, 6), - overworld_frame(gEventObjectPic_Scientist2, 2, 4, 7), - overworld_frame(gEventObjectPic_Scientist2, 2, 4, 8), -}; - -const struct SpriteFrameImage gEventObjectPicTable_DevonEmployee[] = { - overworld_frame(gEventObjectPic_DevonEmployee, 2, 4, 0), - overworld_frame(gEventObjectPic_DevonEmployee, 2, 4, 1), - overworld_frame(gEventObjectPic_DevonEmployee, 2, 4, 2), - overworld_frame(gEventObjectPic_DevonEmployee, 2, 4, 3), - overworld_frame(gEventObjectPic_DevonEmployee, 2, 4, 4), - overworld_frame(gEventObjectPic_DevonEmployee, 2, 4, 5), - overworld_frame(gEventObjectPic_DevonEmployee, 2, 4, 6), - overworld_frame(gEventObjectPic_DevonEmployee, 2, 4, 7), - overworld_frame(gEventObjectPic_DevonEmployee, 2, 4, 8), -}; - -const struct SpriteFrameImage gEventObjectPicTable_AquaMemberM[] = { - overworld_frame(gEventObjectPic_AquaMemberM, 2, 4, 0), - overworld_frame(gEventObjectPic_AquaMemberM, 2, 4, 1), - overworld_frame(gEventObjectPic_AquaMemberM, 2, 4, 2), - overworld_frame(gEventObjectPic_AquaMemberM, 2, 4, 3), - overworld_frame(gEventObjectPic_AquaMemberM, 2, 4, 4), - overworld_frame(gEventObjectPic_AquaMemberM, 2, 4, 5), - overworld_frame(gEventObjectPic_AquaMemberM, 2, 4, 6), - overworld_frame(gEventObjectPic_AquaMemberM, 2, 4, 7), - overworld_frame(gEventObjectPic_AquaMemberM, 2, 4, 8), -}; - -const struct SpriteFrameImage gEventObjectPicTable_AquaMemberF[] = { - overworld_frame(gEventObjectPic_AquaMemberF, 2, 4, 0), - overworld_frame(gEventObjectPic_AquaMemberF, 2, 4, 1), - overworld_frame(gEventObjectPic_AquaMemberF, 2, 4, 2), - overworld_frame(gEventObjectPic_AquaMemberF, 2, 4, 3), - overworld_frame(gEventObjectPic_AquaMemberF, 2, 4, 4), - overworld_frame(gEventObjectPic_AquaMemberF, 2, 4, 5), - overworld_frame(gEventObjectPic_AquaMemberF, 2, 4, 6), - overworld_frame(gEventObjectPic_AquaMemberF, 2, 4, 7), - overworld_frame(gEventObjectPic_AquaMemberF, 2, 4, 8), -}; - -const struct SpriteFrameImage gEventObjectPicTable_MagmaMemberM[] = { - overworld_frame(gEventObjectPic_MagmaMemberM, 2, 4, 0), - overworld_frame(gEventObjectPic_MagmaMemberM, 2, 4, 1), - overworld_frame(gEventObjectPic_MagmaMemberM, 2, 4, 2), - overworld_frame(gEventObjectPic_MagmaMemberM, 2, 4, 3), - overworld_frame(gEventObjectPic_MagmaMemberM, 2, 4, 4), - overworld_frame(gEventObjectPic_MagmaMemberM, 2, 4, 5), - overworld_frame(gEventObjectPic_MagmaMemberM, 2, 4, 6), - overworld_frame(gEventObjectPic_MagmaMemberM, 2, 4, 7), - overworld_frame(gEventObjectPic_MagmaMemberM, 2, 4, 8), -}; - -const struct SpriteFrameImage gEventObjectPicTable_MagmaMemberF[] = { - overworld_frame(gEventObjectPic_MagmaMemberF, 2, 4, 0), - overworld_frame(gEventObjectPic_MagmaMemberF, 2, 4, 1), - overworld_frame(gEventObjectPic_MagmaMemberF, 2, 4, 2), - overworld_frame(gEventObjectPic_MagmaMemberF, 2, 4, 3), - overworld_frame(gEventObjectPic_MagmaMemberF, 2, 4, 4), - overworld_frame(gEventObjectPic_MagmaMemberF, 2, 4, 5), - overworld_frame(gEventObjectPic_MagmaMemberF, 2, 4, 6), - overworld_frame(gEventObjectPic_MagmaMemberF, 2, 4, 7), - overworld_frame(gEventObjectPic_MagmaMemberF, 2, 4, 8), -}; - -const struct SpriteFrameImage gEventObjectPicTable_Sidney[] = { - overworld_frame(gEventObjectPic_Sidney, 2, 4, 0), - overworld_frame(gEventObjectPic_Sidney, 2, 4, 1), - overworld_frame(gEventObjectPic_Sidney, 2, 4, 2), - overworld_frame(gEventObjectPic_Sidney, 2, 4, 0), - overworld_frame(gEventObjectPic_Sidney, 2, 4, 0), - overworld_frame(gEventObjectPic_Sidney, 2, 4, 1), - overworld_frame(gEventObjectPic_Sidney, 2, 4, 1), - overworld_frame(gEventObjectPic_Sidney, 2, 4, 2), - overworld_frame(gEventObjectPic_Sidney, 2, 4, 2), -}; - -const struct SpriteFrameImage gEventObjectPicTable_Phoebe[] = { - overworld_frame(gEventObjectPic_Phoebe, 2, 4, 0), - overworld_frame(gEventObjectPic_Phoebe, 2, 4, 1), - overworld_frame(gEventObjectPic_Phoebe, 2, 4, 2), - overworld_frame(gEventObjectPic_Phoebe, 2, 4, 0), - overworld_frame(gEventObjectPic_Phoebe, 2, 4, 0), - overworld_frame(gEventObjectPic_Phoebe, 2, 4, 1), - overworld_frame(gEventObjectPic_Phoebe, 2, 4, 1), - overworld_frame(gEventObjectPic_Phoebe, 2, 4, 2), - overworld_frame(gEventObjectPic_Phoebe, 2, 4, 2), -}; - -const struct SpriteFrameImage gEventObjectPicTable_Glacia[] = { - overworld_frame(gEventObjectPic_Glacia, 2, 4, 0), - overworld_frame(gEventObjectPic_Glacia, 2, 4, 1), - overworld_frame(gEventObjectPic_Glacia, 2, 4, 2), - overworld_frame(gEventObjectPic_Glacia, 2, 4, 0), - overworld_frame(gEventObjectPic_Glacia, 2, 4, 0), - overworld_frame(gEventObjectPic_Glacia, 2, 4, 1), - overworld_frame(gEventObjectPic_Glacia, 2, 4, 1), - overworld_frame(gEventObjectPic_Glacia, 2, 4, 2), - overworld_frame(gEventObjectPic_Glacia, 2, 4, 2), -}; - -const struct SpriteFrameImage gEventObjectPicTable_Drake[] = { - overworld_frame(gEventObjectPic_Drake, 2, 4, 0), - overworld_frame(gEventObjectPic_Drake, 2, 4, 1), - overworld_frame(gEventObjectPic_Drake, 2, 4, 2), - overworld_frame(gEventObjectPic_Drake, 2, 4, 0), - overworld_frame(gEventObjectPic_Drake, 2, 4, 0), - overworld_frame(gEventObjectPic_Drake, 2, 4, 1), - overworld_frame(gEventObjectPic_Drake, 2, 4, 1), - overworld_frame(gEventObjectPic_Drake, 2, 4, 2), - overworld_frame(gEventObjectPic_Drake, 2, 4, 2), -}; - -const struct SpriteFrameImage gEventObjectPicTable_Roxanne[] = { - overworld_frame(gEventObjectPic_Roxanne, 2, 4, 0), - overworld_frame(gEventObjectPic_Roxanne, 2, 4, 1), - overworld_frame(gEventObjectPic_Roxanne, 2, 4, 2), - overworld_frame(gEventObjectPic_Roxanne, 2, 4, 0), - overworld_frame(gEventObjectPic_Roxanne, 2, 4, 0), - overworld_frame(gEventObjectPic_Roxanne, 2, 4, 1), - overworld_frame(gEventObjectPic_Roxanne, 2, 4, 1), - overworld_frame(gEventObjectPic_Roxanne, 2, 4, 2), - overworld_frame(gEventObjectPic_Roxanne, 2, 4, 2), -}; - -const struct SpriteFrameImage gEventObjectPicTable_Brawly[] = { - overworld_frame(gEventObjectPic_Brawly, 2, 4, 0), - overworld_frame(gEventObjectPic_Brawly, 2, 4, 1), - overworld_frame(gEventObjectPic_Brawly, 2, 4, 2), - overworld_frame(gEventObjectPic_Brawly, 2, 4, 0), - overworld_frame(gEventObjectPic_Brawly, 2, 4, 0), - overworld_frame(gEventObjectPic_Brawly, 2, 4, 1), - overworld_frame(gEventObjectPic_Brawly, 2, 4, 1), - overworld_frame(gEventObjectPic_Brawly, 2, 4, 2), - overworld_frame(gEventObjectPic_Brawly, 2, 4, 2), -}; - -const struct SpriteFrameImage gEventObjectPicTable_Wattson[] = { - overworld_frame(gEventObjectPic_Wattson, 2, 4, 0), - overworld_frame(gEventObjectPic_Wattson, 2, 4, 1), - overworld_frame(gEventObjectPic_Wattson, 2, 4, 2), - overworld_frame(gEventObjectPic_Wattson, 2, 4, 0), - overworld_frame(gEventObjectPic_Wattson, 2, 4, 0), - overworld_frame(gEventObjectPic_Wattson, 2, 4, 1), - overworld_frame(gEventObjectPic_Wattson, 2, 4, 1), - overworld_frame(gEventObjectPic_Wattson, 2, 4, 2), - overworld_frame(gEventObjectPic_Wattson, 2, 4, 2), -}; - -const struct SpriteFrameImage gEventObjectPicTable_Flannery[] = { - overworld_frame(gEventObjectPic_Flannery, 2, 4, 0), - overworld_frame(gEventObjectPic_Flannery, 2, 4, 1), - overworld_frame(gEventObjectPic_Flannery, 2, 4, 2), - overworld_frame(gEventObjectPic_Flannery, 2, 4, 0), - overworld_frame(gEventObjectPic_Flannery, 2, 4, 0), - overworld_frame(gEventObjectPic_Flannery, 2, 4, 1), - overworld_frame(gEventObjectPic_Flannery, 2, 4, 1), - overworld_frame(gEventObjectPic_Flannery, 2, 4, 2), - overworld_frame(gEventObjectPic_Flannery, 2, 4, 2), -}; - -const struct SpriteFrameImage gEventObjectPicTable_Norman[] = { - overworld_frame(gEventObjectPic_Norman, 2, 4, 0), - overworld_frame(gEventObjectPic_Norman, 2, 4, 1), - overworld_frame(gEventObjectPic_Norman, 2, 4, 2), - overworld_frame(gEventObjectPic_Norman, 2, 4, 3), - overworld_frame(gEventObjectPic_Norman, 2, 4, 4), - overworld_frame(gEventObjectPic_Norman, 2, 4, 5), - overworld_frame(gEventObjectPic_Norman, 2, 4, 6), - overworld_frame(gEventObjectPic_Norman, 2, 4, 7), - overworld_frame(gEventObjectPic_Norman, 2, 4, 8), -}; - -const struct SpriteFrameImage gEventObjectPicTable_Winona[] = { - overworld_frame(gEventObjectPic_Winona, 2, 4, 0), - overworld_frame(gEventObjectPic_Winona, 2, 4, 1), - overworld_frame(gEventObjectPic_Winona, 2, 4, 2), - overworld_frame(gEventObjectPic_Winona, 2, 4, 0), - overworld_frame(gEventObjectPic_Winona, 2, 4, 0), - overworld_frame(gEventObjectPic_Winona, 2, 4, 1), - overworld_frame(gEventObjectPic_Winona, 2, 4, 1), - overworld_frame(gEventObjectPic_Winona, 2, 4, 2), - overworld_frame(gEventObjectPic_Winona, 2, 4, 2), -}; - -const struct SpriteFrameImage gEventObjectPicTable_Liza[] = { - overworld_frame(gEventObjectPic_Liza, 2, 4, 0), - overworld_frame(gEventObjectPic_Liza, 2, 4, 1), - overworld_frame(gEventObjectPic_Liza, 2, 4, 2), - overworld_frame(gEventObjectPic_Liza, 2, 4, 0), - overworld_frame(gEventObjectPic_Liza, 2, 4, 0), - overworld_frame(gEventObjectPic_Liza, 2, 4, 1), - overworld_frame(gEventObjectPic_Liza, 2, 4, 1), - overworld_frame(gEventObjectPic_Liza, 2, 4, 2), - overworld_frame(gEventObjectPic_Liza, 2, 4, 2), -}; - -const struct SpriteFrameImage gEventObjectPicTable_Tate[] = { - overworld_frame(gEventObjectPic_Tate, 2, 4, 0), - overworld_frame(gEventObjectPic_Tate, 2, 4, 1), - overworld_frame(gEventObjectPic_Tate, 2, 4, 2), - overworld_frame(gEventObjectPic_Tate, 2, 4, 0), - overworld_frame(gEventObjectPic_Tate, 2, 4, 0), - overworld_frame(gEventObjectPic_Tate, 2, 4, 1), - overworld_frame(gEventObjectPic_Tate, 2, 4, 1), - overworld_frame(gEventObjectPic_Tate, 2, 4, 2), - overworld_frame(gEventObjectPic_Tate, 2, 4, 2), -}; - -const struct SpriteFrameImage gEventObjectPicTable_Wallace[] = { - overworld_frame(gEventObjectPic_Wallace, 2, 4, 0), - overworld_frame(gEventObjectPic_Wallace, 2, 4, 1), - overworld_frame(gEventObjectPic_Wallace, 2, 4, 2), - overworld_frame(gEventObjectPic_Wallace, 2, 4, 3), - overworld_frame(gEventObjectPic_Wallace, 2, 4, 4), - overworld_frame(gEventObjectPic_Wallace, 2, 4, 5), - overworld_frame(gEventObjectPic_Wallace, 2, 4, 6), - overworld_frame(gEventObjectPic_Wallace, 2, 4, 7), - overworld_frame(gEventObjectPic_Wallace, 2, 4, 8), -}; - -const struct SpriteFrameImage gEventObjectPicTable_Steven[] = { - overworld_frame(gEventObjectPic_Steven, 2, 4, 0), - overworld_frame(gEventObjectPic_Steven, 2, 4, 1), - overworld_frame(gEventObjectPic_Steven, 2, 4, 2), - overworld_frame(gEventObjectPic_Steven, 2, 4, 3), - overworld_frame(gEventObjectPic_Steven, 2, 4, 4), - overworld_frame(gEventObjectPic_Steven, 2, 4, 5), - overworld_frame(gEventObjectPic_Steven, 2, 4, 6), - overworld_frame(gEventObjectPic_Steven, 2, 4, 7), - overworld_frame(gEventObjectPic_Steven, 2, 4, 8), -}; - -const struct SpriteFrameImage gEventObjectPicTable_Wally[] = { - overworld_frame(gEventObjectPic_Wally, 2, 4, 0), - overworld_frame(gEventObjectPic_Wally, 2, 4, 1), - overworld_frame(gEventObjectPic_Wally, 2, 4, 2), - overworld_frame(gEventObjectPic_Wally, 2, 4, 3), - overworld_frame(gEventObjectPic_Wally, 2, 4, 4), - overworld_frame(gEventObjectPic_Wally, 2, 4, 5), - overworld_frame(gEventObjectPic_Wally, 2, 4, 6), - overworld_frame(gEventObjectPic_Wally, 2, 4, 7), - overworld_frame(gEventObjectPic_Wally, 2, 4, 8), -}; - -const struct SpriteFrameImage gEventObjectPicTable_RubySapphireLittleBoy[] = { - overworld_frame(gEventObjectPic_RubySapphireLittleBoy, 2, 2, 0), - overworld_frame(gEventObjectPic_RubySapphireLittleBoy, 2, 2, 1), - overworld_frame(gEventObjectPic_RubySapphireLittleBoy, 2, 2, 2), - overworld_frame(gEventObjectPic_RubySapphireLittleBoy, 2, 2, 3), - overworld_frame(gEventObjectPic_RubySapphireLittleBoy, 2, 2, 4), - overworld_frame(gEventObjectPic_RubySapphireLittleBoy, 2, 2, 5), - overworld_frame(gEventObjectPic_RubySapphireLittleBoy, 2, 2, 6), - overworld_frame(gEventObjectPic_RubySapphireLittleBoy, 2, 2, 7), - overworld_frame(gEventObjectPic_RubySapphireLittleBoy, 2, 2, 8), -}; - -const struct SpriteFrameImage gEventObjectPicTable_BrendanFishing[] = { - overworld_frame(gEventObjectPic_BrendanFishing, 4, 4, 0), - overworld_frame(gEventObjectPic_BrendanFishing, 4, 4, 1), - overworld_frame(gEventObjectPic_BrendanFishing, 4, 4, 2), - overworld_frame(gEventObjectPic_BrendanFishing, 4, 4, 3), - overworld_frame(gEventObjectPic_BrendanFishing, 4, 4, 4), - overworld_frame(gEventObjectPic_BrendanFishing, 4, 4, 5), - overworld_frame(gEventObjectPic_BrendanFishing, 4, 4, 6), - overworld_frame(gEventObjectPic_BrendanFishing, 4, 4, 7), - overworld_frame(gEventObjectPic_BrendanFishing, 4, 4, 8), - overworld_frame(gEventObjectPic_BrendanFishing, 4, 4, 9), - overworld_frame(gEventObjectPic_BrendanFishing, 4, 4, 10), - overworld_frame(gEventObjectPic_BrendanFishing, 4, 4, 11), -}; - -const struct SpriteFrameImage gEventObjectPicTable_MayFishing[] = { - overworld_frame(gEventObjectPic_MayFishing, 4, 4, 0), - overworld_frame(gEventObjectPic_MayFishing, 4, 4, 1), - overworld_frame(gEventObjectPic_MayFishing, 4, 4, 2), - overworld_frame(gEventObjectPic_MayFishing, 4, 4, 3), - overworld_frame(gEventObjectPic_MayFishing, 4, 4, 4), - overworld_frame(gEventObjectPic_MayFishing, 4, 4, 5), - overworld_frame(gEventObjectPic_MayFishing, 4, 4, 6), - overworld_frame(gEventObjectPic_MayFishing, 4, 4, 7), - overworld_frame(gEventObjectPic_MayFishing, 4, 4, 8), - overworld_frame(gEventObjectPic_MayFishing, 4, 4, 9), - overworld_frame(gEventObjectPic_MayFishing, 4, 4, 10), - overworld_frame(gEventObjectPic_MayFishing, 4, 4, 11), -}; - -const struct SpriteFrameImage gEventObjectPicTable_HotSpringsOldWoman[] = { - overworld_frame(gEventObjectPic_HotSpringsOldWoman, 2, 4, 0), - overworld_frame(gEventObjectPic_HotSpringsOldWoman, 2, 4, 1), - overworld_frame(gEventObjectPic_HotSpringsOldWoman, 2, 4, 2), - overworld_frame(gEventObjectPic_HotSpringsOldWoman, 2, 4, 3), - overworld_frame(gEventObjectPic_HotSpringsOldWoman, 2, 4, 4), - overworld_frame(gEventObjectPic_HotSpringsOldWoman, 2, 4, 5), - overworld_frame(gEventObjectPic_HotSpringsOldWoman, 2, 4, 6), - overworld_frame(gEventObjectPic_HotSpringsOldWoman, 2, 4, 7), - overworld_frame(gEventObjectPic_HotSpringsOldWoman, 2, 4, 8), -}; - -const struct SpriteFrameImage gEventObjectPicTable_SSTidal[] = { - obj_frame_tiles(gEventObjectPic_SSTidal), - obj_frame_tiles(gEventObjectPic_SSTidal), - obj_frame_tiles(gEventObjectPic_SSTidal), - obj_frame_tiles(gEventObjectPic_SSTidal), - obj_frame_tiles(gEventObjectPic_SSTidal), - obj_frame_tiles(gEventObjectPic_SSTidal), - obj_frame_tiles(gEventObjectPic_SSTidal), - obj_frame_tiles(gEventObjectPic_SSTidal), - obj_frame_tiles(gEventObjectPic_SSTidal), -}; - -const struct SpriteFrameImage gEventObjectPicTable_SubmarineShadow[] = { - obj_frame_tiles(gEventObjectPic_SubmarineShadow), - obj_frame_tiles(gEventObjectPic_SubmarineShadow), - obj_frame_tiles(gEventObjectPic_SubmarineShadow), - obj_frame_tiles(gEventObjectPic_SubmarineShadow), - obj_frame_tiles(gEventObjectPic_SubmarineShadow), - obj_frame_tiles(gEventObjectPic_SubmarineShadow), - obj_frame_tiles(gEventObjectPic_SubmarineShadow), - obj_frame_tiles(gEventObjectPic_SubmarineShadow), - obj_frame_tiles(gEventObjectPic_SubmarineShadow), -}; - -const struct SpriteFrameImage gEventObjectPicTable_PichuDoll[] = { - obj_frame_tiles(gEventObjectPic_PichuDoll), -}; - -const struct SpriteFrameImage gEventObjectPicTable_PikachuDoll[] = { - obj_frame_tiles(gEventObjectPic_PikachuDoll), -}; - -const struct SpriteFrameImage gEventObjectPicTable_MarillDoll[] = { - obj_frame_tiles(gEventObjectPic_MarillDoll), -}; - -const struct SpriteFrameImage gEventObjectPicTable_TogepiDoll[] = { - obj_frame_tiles(gEventObjectPic_TogepiDoll), -}; - -const struct SpriteFrameImage gEventObjectPicTable_CyndaquilDoll[] = { - obj_frame_tiles(gEventObjectPic_CyndaquilDoll), -}; - -const struct SpriteFrameImage gEventObjectPicTable_ChikoritaDoll[] = { - obj_frame_tiles(gEventObjectPic_ChikoritaDoll), -}; - -const struct SpriteFrameImage gEventObjectPicTable_TotodileDoll[] = { - obj_frame_tiles(gEventObjectPic_TotodileDoll), -}; - -const struct SpriteFrameImage gEventObjectPicTable_JigglypuffDoll[] = { - obj_frame_tiles(gEventObjectPic_JigglypuffDoll), -}; - -const struct SpriteFrameImage gEventObjectPicTable_MeowthDoll[] = { - obj_frame_tiles(gEventObjectPic_MeowthDoll), -}; - -const struct SpriteFrameImage gEventObjectPicTable_ClefairyDoll[] = { - obj_frame_tiles(gEventObjectPic_ClefairyDoll), -}; - -const struct SpriteFrameImage gEventObjectPicTable_DittoDoll[] = { - obj_frame_tiles(gEventObjectPic_DittoDoll), -}; - -const struct SpriteFrameImage gEventObjectPicTable_SmoochumDoll[] = { - obj_frame_tiles(gEventObjectPic_SmoochumDoll), -}; - -const struct SpriteFrameImage gEventObjectPicTable_TreeckoDoll[] = { - obj_frame_tiles(gEventObjectPic_TreeckoDoll), -}; - -const struct SpriteFrameImage gEventObjectPicTable_TorchicDoll[] = { - obj_frame_tiles(gEventObjectPic_TorchicDoll), -}; - -const struct SpriteFrameImage gEventObjectPicTable_MudkipDoll[] = { - obj_frame_tiles(gEventObjectPic_MudkipDoll), -}; - -const struct SpriteFrameImage gEventObjectPicTable_DuskullDoll[] = { - obj_frame_tiles(gEventObjectPic_DuskullDoll), -}; - -const struct SpriteFrameImage gEventObjectPicTable_WynautDoll[] = { - obj_frame_tiles(gEventObjectPic_WynautDoll), -}; - -const struct SpriteFrameImage gEventObjectPicTable_BaltoyDoll[] = { - obj_frame_tiles(gEventObjectPic_BaltoyDoll), -}; - -const struct SpriteFrameImage gEventObjectPicTable_KecleonDoll[] = { - obj_frame_tiles(gEventObjectPic_KecleonDoll), -}; - -const struct SpriteFrameImage gEventObjectPicTable_AzurillDoll[] = { - obj_frame_tiles(gEventObjectPic_AzurillDoll), -}; - -const struct SpriteFrameImage gEventObjectPicTable_SkittyDoll[] = { - obj_frame_tiles(gEventObjectPic_SkittyDoll), -}; - -const struct SpriteFrameImage gEventObjectPicTable_SwabluDoll[] = { - obj_frame_tiles(gEventObjectPic_SwabluDoll), -}; - -const struct SpriteFrameImage gEventObjectPicTable_GulpinDoll[] = { - obj_frame_tiles(gEventObjectPic_GulpinDoll), -}; - -const struct SpriteFrameImage gEventObjectPicTable_LotadDoll[] = { - obj_frame_tiles(gEventObjectPic_LotadDoll), -}; - -const struct SpriteFrameImage gEventObjectPicTable_SeedotDoll[] = { - obj_frame_tiles(gEventObjectPic_SeedotDoll), -}; - -const struct SpriteFrameImage gEventObjectPicTable_PikaCushion[] = { - obj_frame_tiles(gEventObjectPic_PikaCushion), -}; - -const struct SpriteFrameImage gEventObjectPicTable_RoundCushion[] = { - obj_frame_tiles(gEventObjectPic_RoundCushion), -}; - -const struct SpriteFrameImage gEventObjectPicTable_KissCushion[] = { - obj_frame_tiles(gEventObjectPic_KissCushion), -}; - -const struct SpriteFrameImage gEventObjectPicTable_ZigzagCushion[] = { - obj_frame_tiles(gEventObjectPic_ZigzagCushion), -}; - -const struct SpriteFrameImage gEventObjectPicTable_SpinCushion[] = { - obj_frame_tiles(gEventObjectPic_SpinCushion), -}; - -const struct SpriteFrameImage gEventObjectPicTable_DiamondCushion[] = { - obj_frame_tiles(gEventObjectPic_DiamondCushion), -}; - -const struct SpriteFrameImage gEventObjectPicTable_BallCushion[] = { - obj_frame_tiles(gEventObjectPic_BallCushion), -}; - -const struct SpriteFrameImage gEventObjectPicTable_GrassCushion[] = { - obj_frame_tiles(gEventObjectPic_GrassCushion), -}; - -const struct SpriteFrameImage gEventObjectPicTable_FireCushion[] = { - obj_frame_tiles(gEventObjectPic_FireCushion), -}; - -const struct SpriteFrameImage gEventObjectPicTable_WaterCushion[] = { - obj_frame_tiles(gEventObjectPic_WaterCushion), -}; - -const struct SpriteFrameImage gEventObjectPicTable_BigSnorlaxDoll[] = { - obj_frame_tiles(gEventObjectPic_BigSnorlaxDoll), -}; - -const struct SpriteFrameImage gEventObjectPicTable_BigRhydonDoll[] = { - obj_frame_tiles(gEventObjectPic_BigRhydonDoll), -}; - -const struct SpriteFrameImage gEventObjectPicTable_BigLaprasDoll[] = { - obj_frame_tiles(gEventObjectPic_BigLaprasDoll), -}; - -const struct SpriteFrameImage gEventObjectPicTable_BigVenusaurDoll[] = { - obj_frame_tiles(gEventObjectPic_BigVenusaurDoll), -}; - -const struct SpriteFrameImage gEventObjectPicTable_BigCharizardDoll[] = { - obj_frame_tiles(gEventObjectPic_BigCharizardDoll), -}; - -const struct SpriteFrameImage gEventObjectPicTable_BigBlastoiseDoll[] = { - obj_frame_tiles(gEventObjectPic_BigBlastoiseDoll), -}; - -const struct SpriteFrameImage gEventObjectPicTable_BigWailmerDoll[] = { - obj_frame_tiles(gEventObjectPic_BigWailmerDoll), -}; - -const struct SpriteFrameImage gEventObjectPicTable_BigRegirockDoll[] = { - obj_frame_tiles(gEventObjectPic_BigRegirockDoll), -}; - -const struct SpriteFrameImage gEventObjectPicTable_BigRegiceDoll[] = { - obj_frame_tiles(gEventObjectPic_BigRegiceDoll), -}; - -const struct SpriteFrameImage gEventObjectPicTable_BigRegisteelDoll[] = { - obj_frame_tiles(gEventObjectPic_BigRegisteelDoll), -}; - -const struct SpriteFrameImage gEventObjectPicTable_LatiasLatios[] = { - overworld_frame(gEventObjectPic_LatiasLatios, 4, 4, 0), - overworld_frame(gEventObjectPic_LatiasLatios, 4, 4, 0), - overworld_frame(gEventObjectPic_LatiasLatios, 4, 4, 0), - overworld_frame(gEventObjectPic_LatiasLatios, 4, 4, 1), - overworld_frame(gEventObjectPic_LatiasLatios, 4, 4, 2), - overworld_frame(gEventObjectPic_LatiasLatios, 4, 4, 1), - overworld_frame(gEventObjectPic_LatiasLatios, 4, 4, 2), - overworld_frame(gEventObjectPic_LatiasLatios, 4, 4, 1), - overworld_frame(gEventObjectPic_LatiasLatios, 4, 4, 2), -}; - -const struct SpriteFrameImage gEventObjectPicTable_GameboyKid[] = { - overworld_frame(gEventObjectPic_GameboyKid, 2, 4, 0), - overworld_frame(gEventObjectPic_GameboyKid, 2, 4, 1), - overworld_frame(gEventObjectPic_GameboyKid, 2, 4, 2), - overworld_frame(gEventObjectPic_GameboyKid, 2, 4, 0), - overworld_frame(gEventObjectPic_GameboyKid, 2, 4, 0), - overworld_frame(gEventObjectPic_GameboyKid, 2, 4, 1), - overworld_frame(gEventObjectPic_GameboyKid, 2, 4, 1), - overworld_frame(gEventObjectPic_GameboyKid, 2, 4, 2), - overworld_frame(gEventObjectPic_GameboyKid, 2, 4, 2), -}; - -const struct SpriteFrameImage gEventObjectPicTable_ContestJudge[] = { - overworld_frame(gEventObjectPic_ContestJudge, 2, 4, 0), - overworld_frame(gEventObjectPic_ContestJudge, 2, 4, 1), - overworld_frame(gEventObjectPic_ContestJudge, 2, 4, 2), - overworld_frame(gEventObjectPic_ContestJudge, 2, 4, 3), - overworld_frame(gEventObjectPic_ContestJudge, 2, 4, 4), - overworld_frame(gEventObjectPic_ContestJudge, 2, 4, 5), - overworld_frame(gEventObjectPic_ContestJudge, 2, 4, 6), - overworld_frame(gEventObjectPic_ContestJudge, 2, 4, 7), - overworld_frame(gEventObjectPic_ContestJudge, 2, 4, 8), -}; - -const struct SpriteFrameImage gEventObjectPicTable_BrendanWatering[] = { - overworld_frame(gEventObjectPic_BrendanWatering, 4, 4, 0), - overworld_frame(gEventObjectPic_BrendanWatering, 4, 4, 2), - overworld_frame(gEventObjectPic_BrendanWatering, 4, 4, 4), - overworld_frame(gEventObjectPic_BrendanWatering, 4, 4, 1), - overworld_frame(gEventObjectPic_BrendanWatering, 4, 4, 1), - overworld_frame(gEventObjectPic_BrendanWatering, 4, 4, 3), - overworld_frame(gEventObjectPic_BrendanWatering, 4, 4, 3), - overworld_frame(gEventObjectPic_BrendanWatering, 4, 4, 5), - overworld_frame(gEventObjectPic_BrendanWatering, 4, 4, 5), -}; - -const struct SpriteFrameImage gEventObjectPicTable_MayWatering[] = { - overworld_frame(gEventObjectPic_MayWatering, 4, 4, 0), - overworld_frame(gEventObjectPic_MayWatering, 4, 4, 2), - overworld_frame(gEventObjectPic_MayWatering, 4, 4, 4), - overworld_frame(gEventObjectPic_MayWatering, 4, 4, 1), - overworld_frame(gEventObjectPic_MayWatering, 4, 4, 1), - overworld_frame(gEventObjectPic_MayWatering, 4, 4, 3), - overworld_frame(gEventObjectPic_MayWatering, 4, 4, 3), - overworld_frame(gEventObjectPic_MayWatering, 4, 4, 5), - overworld_frame(gEventObjectPic_MayWatering, 4, 4, 5), -}; - -const struct SpriteFrameImage gEventObjectPicTable_BrendanDecorating[] = { - obj_frame_tiles(gEventObjectPic_BrendanDecorating), -}; - -const struct SpriteFrameImage gEventObjectPicTable_MayDecorating[] = { - obj_frame_tiles(gEventObjectPic_MayDecorating), -}; - -const struct SpriteFrameImage gEventObjectPicTable_Archie[] = { - overworld_frame(gEventObjectPic_Archie, 2, 4, 0), - overworld_frame(gEventObjectPic_Archie, 2, 4, 1), - overworld_frame(gEventObjectPic_Archie, 2, 4, 2), - overworld_frame(gEventObjectPic_Archie, 2, 4, 3), - overworld_frame(gEventObjectPic_Archie, 2, 4, 4), - overworld_frame(gEventObjectPic_Archie, 2, 4, 5), - overworld_frame(gEventObjectPic_Archie, 2, 4, 6), - overworld_frame(gEventObjectPic_Archie, 2, 4, 7), - overworld_frame(gEventObjectPic_Archie, 2, 4, 8), -}; - -const struct SpriteFrameImage gEventObjectPicTable_Maxie[] = { - overworld_frame(gEventObjectPic_Maxie, 2, 4, 0), - overworld_frame(gEventObjectPic_Maxie, 2, 4, 1), - overworld_frame(gEventObjectPic_Maxie, 2, 4, 2), - overworld_frame(gEventObjectPic_Maxie, 2, 4, 3), - overworld_frame(gEventObjectPic_Maxie, 2, 4, 4), - overworld_frame(gEventObjectPic_Maxie, 2, 4, 5), - overworld_frame(gEventObjectPic_Maxie, 2, 4, 6), - overworld_frame(gEventObjectPic_Maxie, 2, 4, 7), - overworld_frame(gEventObjectPic_Maxie, 2, 4, 8), -}; - -const struct SpriteFrameImage gEventObjectPicTable_KyogreFront[] = { - overworld_frame(gEventObjectPic_Kyogre, 4, 4, 0), - overworld_frame(gEventObjectPic_Kyogre, 4, 4, 0), - overworld_frame(gEventObjectPic_Kyogre, 4, 4, 0), - overworld_frame(gEventObjectPic_Kyogre, 4, 4, 1), - overworld_frame(gEventObjectPic_Kyogre, 4, 4, 1), - overworld_frame(gEventObjectPic_Kyogre, 4, 4, 1), - overworld_frame(gEventObjectPic_Kyogre, 4, 4, 1), - overworld_frame(gEventObjectPic_Kyogre, 4, 4, 1), - overworld_frame(gEventObjectPic_Kyogre, 4, 4, 1), -}; - -const struct SpriteFrameImage gEventObjectPicTable_GroudonFront[] = { - overworld_frame(gEventObjectPic_Groudon, 4, 4, 0), - overworld_frame(gEventObjectPic_Groudon, 4, 4, 0), - overworld_frame(gEventObjectPic_Groudon, 4, 4, 0), - overworld_frame(gEventObjectPic_Groudon, 4, 4, 1), - overworld_frame(gEventObjectPic_Groudon, 4, 4, 1), - overworld_frame(gEventObjectPic_Groudon, 4, 4, 1), - overworld_frame(gEventObjectPic_Groudon, 4, 4, 1), - overworld_frame(gEventObjectPic_Groudon, 4, 4, 1), - overworld_frame(gEventObjectPic_Groudon, 4, 4, 1), -}; - -const struct SpriteFrameImage gEventObjectPicTable_KyogreSide[] = { - overworld_frame(gEventObjectPic_Kyogre, 4, 4, 2), - overworld_frame(gEventObjectPic_Kyogre, 4, 4, 2), - overworld_frame(gEventObjectPic_Kyogre, 4, 4, 2), - overworld_frame(gEventObjectPic_Kyogre, 4, 4, 3), - overworld_frame(gEventObjectPic_Kyogre, 4, 4, 3), - overworld_frame(gEventObjectPic_Kyogre, 4, 4, 3), - overworld_frame(gEventObjectPic_Kyogre, 4, 4, 3), - overworld_frame(gEventObjectPic_Kyogre, 4, 4, 3), - overworld_frame(gEventObjectPic_Kyogre, 4, 4, 3), -}; - -const struct SpriteFrameImage gEventObjectPicTable_GroudonSide[] = { - overworld_frame(gEventObjectPic_Groudon, 4, 4, 2), - overworld_frame(gEventObjectPic_Groudon, 4, 4, 2), - overworld_frame(gEventObjectPic_Groudon, 4, 4, 2), - overworld_frame(gEventObjectPic_Groudon, 4, 4, 3), - overworld_frame(gEventObjectPic_Groudon, 4, 4, 3), - overworld_frame(gEventObjectPic_Groudon, 4, 4, 3), - overworld_frame(gEventObjectPic_Groudon, 4, 4, 3), - overworld_frame(gEventObjectPic_Groudon, 4, 4, 3), - overworld_frame(gEventObjectPic_Groudon, 4, 4, 3), -}; - -const struct SpriteFrameImage gEventObjectPicTable_Fossil[] = { - obj_frame_tiles(gEventObjectPic_Fossil), -}; - -const struct SpriteFrameImage gEventObjectPicTable_Regi[] = { - obj_frame_tiles(gEventObjectPic_Regi), - obj_frame_tiles(gEventObjectPic_Regi), - obj_frame_tiles(gEventObjectPic_Regi), - obj_frame_tiles(gEventObjectPic_Regi), - obj_frame_tiles(gEventObjectPic_Regi), - obj_frame_tiles(gEventObjectPic_Regi), - obj_frame_tiles(gEventObjectPic_Regi), - obj_frame_tiles(gEventObjectPic_Regi), - obj_frame_tiles(gEventObjectPic_Regi), -}; - -const struct SpriteFrameImage gEventObjectPicTable_Skitty[] = { - overworld_frame(gEventObjectPic_Skitty, 2, 2, 0), - overworld_frame(gEventObjectPic_Skitty, 2, 2, 1), - overworld_frame(gEventObjectPic_Skitty, 2, 2, 2), - overworld_frame(gEventObjectPic_Skitty, 2, 2, 0), - overworld_frame(gEventObjectPic_Skitty, 2, 2, 0), - overworld_frame(gEventObjectPic_Skitty, 2, 2, 1), - overworld_frame(gEventObjectPic_Skitty, 2, 2, 1), - overworld_frame(gEventObjectPic_Skitty, 2, 2, 2), - overworld_frame(gEventObjectPic_Skitty, 2, 2, 2), -}; - -const struct SpriteFrameImage gEventObjectPicTable_Kecleon[] = { - overworld_frame(gEventObjectPic_Kecleon, 2, 2, 0), - overworld_frame(gEventObjectPic_Kecleon, 2, 2, 1), - overworld_frame(gEventObjectPic_Kecleon, 2, 2, 2), - overworld_frame(gEventObjectPic_Kecleon, 2, 2, 0), - overworld_frame(gEventObjectPic_Kecleon, 2, 2, 0), - overworld_frame(gEventObjectPic_Kecleon, 2, 2, 1), - overworld_frame(gEventObjectPic_Kecleon, 2, 2, 1), - overworld_frame(gEventObjectPic_Kecleon, 2, 2, 2), - overworld_frame(gEventObjectPic_Kecleon, 2, 2, 2), -}; - -const struct SpriteFrameImage gEventObjectPicTable_Rayquaza[] = { - overworld_frame(gEventObjectPic_Rayquaza, 8, 8, 0), - overworld_frame(gEventObjectPic_Rayquaza, 8, 8, 1), - overworld_frame(gEventObjectPic_Rayquaza, 8, 8, 2), - overworld_frame(gEventObjectPic_Rayquaza, 8, 8, 3), - overworld_frame(gEventObjectPic_Rayquaza, 8, 8, 4), -}; - -const struct SpriteFrameImage gEventObjectPicTable_RayquazaStill[] = { - obj_frame_tiles(gEventObjectPic_RayquazaStill), - obj_frame_tiles(gEventObjectPic_RayquazaStill), - obj_frame_tiles(gEventObjectPic_RayquazaStill), - obj_frame_tiles(gEventObjectPic_RayquazaStill), - obj_frame_tiles(gEventObjectPic_RayquazaStill), - obj_frame_tiles(gEventObjectPic_RayquazaStill), - obj_frame_tiles(gEventObjectPic_RayquazaStill), - obj_frame_tiles(gEventObjectPic_RayquazaStill), - obj_frame_tiles(gEventObjectPic_RayquazaStill), -}; - -const struct SpriteFrameImage gEventObjectPicTable_Zigzagoon[] = { - overworld_frame(gEventObjectPic_Zigzagoon, 2, 2, 0), - overworld_frame(gEventObjectPic_Zigzagoon, 2, 2, 1), - overworld_frame(gEventObjectPic_Zigzagoon, 2, 2, 2), - overworld_frame(gEventObjectPic_Zigzagoon, 2, 2, 0), - overworld_frame(gEventObjectPic_Zigzagoon, 2, 2, 0), - overworld_frame(gEventObjectPic_Zigzagoon, 2, 2, 1), - overworld_frame(gEventObjectPic_Zigzagoon, 2, 2, 1), - overworld_frame(gEventObjectPic_Zigzagoon, 2, 2, 2), - overworld_frame(gEventObjectPic_Zigzagoon, 2, 2, 2), -}; - -const struct SpriteFrameImage gEventObjectPicTable_Pikachu[] = { - overworld_frame(gEventObjectPic_Pikachu, 2, 2, 0), - overworld_frame(gEventObjectPic_Pikachu, 2, 2, 1), - overworld_frame(gEventObjectPic_Pikachu, 2, 2, 2), - overworld_frame(gEventObjectPic_Pikachu, 2, 2, 0), - overworld_frame(gEventObjectPic_Pikachu, 2, 2, 0), - overworld_frame(gEventObjectPic_Pikachu, 2, 2, 1), - overworld_frame(gEventObjectPic_Pikachu, 2, 2, 1), - overworld_frame(gEventObjectPic_Pikachu, 2, 2, 2), - overworld_frame(gEventObjectPic_Pikachu, 2, 2, 2), -}; - -const struct SpriteFrameImage gEventObjectPicTable_Azumarill[] = { - overworld_frame(gEventObjectPic_Azumarill, 2, 2, 0), - overworld_frame(gEventObjectPic_Azumarill, 2, 2, 1), - overworld_frame(gEventObjectPic_Azumarill, 2, 2, 2), - overworld_frame(gEventObjectPic_Azumarill, 2, 2, 0), - overworld_frame(gEventObjectPic_Azumarill, 2, 2, 0), - overworld_frame(gEventObjectPic_Azumarill, 2, 2, 1), - overworld_frame(gEventObjectPic_Azumarill, 2, 2, 1), - overworld_frame(gEventObjectPic_Azumarill, 2, 2, 2), - overworld_frame(gEventObjectPic_Azumarill, 2, 2, 2), -}; - -const struct SpriteFrameImage gEventObjectPicTable_Wingull[] = { - overworld_frame(gEventObjectPic_Wingull, 2, 2, 0), - overworld_frame(gEventObjectPic_Wingull, 2, 2, 2), - overworld_frame(gEventObjectPic_Wingull, 2, 2, 4), - overworld_frame(gEventObjectPic_Wingull, 2, 2, 1), - overworld_frame(gEventObjectPic_Wingull, 2, 2, 1), - overworld_frame(gEventObjectPic_Wingull, 2, 2, 3), - overworld_frame(gEventObjectPic_Wingull, 2, 2, 3), - overworld_frame(gEventObjectPic_Wingull, 2, 2, 5), - overworld_frame(gEventObjectPic_Wingull, 2, 2, 5), -}; - -const struct SpriteFrameImage gEventObjectPicTable_TuberMSwimming[] = { - overworld_frame(gEventObjectPic_TuberMSwimming, 2, 2, 0), - overworld_frame(gEventObjectPic_TuberMSwimming, 2, 2, 1), - overworld_frame(gEventObjectPic_TuberMSwimming, 2, 2, 2), - overworld_frame(gEventObjectPic_TuberMSwimming, 2, 2, 3), - overworld_frame(gEventObjectPic_TuberMSwimming, 2, 2, 4), - overworld_frame(gEventObjectPic_TuberMSwimming, 2, 2, 5), - overworld_frame(gEventObjectPic_TuberMSwimming, 2, 2, 6), - overworld_frame(gEventObjectPic_TuberMSwimming, 2, 2, 7), - overworld_frame(gEventObjectPic_TuberMSwimming, 2, 2, 8), -}; - -const struct SpriteFrameImage gEventObjectPicTable_Azurill[] = { - overworld_frame(gEventObjectPic_Azurill, 2, 2, 0), - overworld_frame(gEventObjectPic_Azurill, 2, 2, 1), - overworld_frame(gEventObjectPic_Azurill, 2, 2, 2), - overworld_frame(gEventObjectPic_Azurill, 2, 2, 0), - overworld_frame(gEventObjectPic_Azurill, 2, 2, 0), - overworld_frame(gEventObjectPic_Azurill, 2, 2, 1), - overworld_frame(gEventObjectPic_Azurill, 2, 2, 1), - overworld_frame(gEventObjectPic_Azurill, 2, 2, 2), - overworld_frame(gEventObjectPic_Azurill, 2, 2, 2), -}; - -const struct SpriteFrameImage gEventObjectPicTable_Mom[] = { - overworld_frame(gEventObjectPic_Mom, 2, 4, 0), - overworld_frame(gEventObjectPic_Mom, 2, 4, 1), - overworld_frame(gEventObjectPic_Mom, 2, 4, 2), - overworld_frame(gEventObjectPic_Mom, 2, 4, 3), - overworld_frame(gEventObjectPic_Mom, 2, 4, 4), - overworld_frame(gEventObjectPic_Mom, 2, 4, 5), - overworld_frame(gEventObjectPic_Mom, 2, 4, 6), - overworld_frame(gEventObjectPic_Mom, 2, 4, 7), - overworld_frame(gEventObjectPic_Mom, 2, 4, 8), -}; - -const struct SpriteFrameImage gEventObjectPicTable_Scott[] = { - overworld_frame(gEventObjectPic_Scott, 2, 4, 0), - overworld_frame(gEventObjectPic_Scott, 2, 4, 1), - overworld_frame(gEventObjectPic_Scott, 2, 4, 2), - overworld_frame(gEventObjectPic_Scott, 2, 4, 3), - overworld_frame(gEventObjectPic_Scott, 2, 4, 4), - overworld_frame(gEventObjectPic_Scott, 2, 4, 5), - overworld_frame(gEventObjectPic_Scott, 2, 4, 6), - overworld_frame(gEventObjectPic_Scott, 2, 4, 7), - overworld_frame(gEventObjectPic_Scott, 2, 4, 8), -}; - -const struct SpriteFrameImage gEventObjectPicTable_Juan[] = { - overworld_frame(gEventObjectPic_Juan, 2, 4, 0), - overworld_frame(gEventObjectPic_Juan, 2, 4, 1), - overworld_frame(gEventObjectPic_Juan, 2, 4, 2), - overworld_frame(gEventObjectPic_Juan, 2, 4, 3), - overworld_frame(gEventObjectPic_Juan, 2, 4, 4), - overworld_frame(gEventObjectPic_Juan, 2, 4, 5), - overworld_frame(gEventObjectPic_Juan, 2, 4, 6), - overworld_frame(gEventObjectPic_Juan, 2, 4, 7), - overworld_frame(gEventObjectPic_Juan, 2, 4, 8), -}; - -const struct SpriteFrameImage gEventObjectPicTable_MysteryEventDeliveryman[] = { - overworld_frame(gEventObjectPic_MysteryEventDeliveryman, 2, 4, 0), - overworld_frame(gEventObjectPic_MysteryEventDeliveryman, 2, 4, 1), - overworld_frame(gEventObjectPic_MysteryEventDeliveryman, 2, 4, 2), - overworld_frame(gEventObjectPic_MysteryEventDeliveryman, 2, 4, 0), - overworld_frame(gEventObjectPic_MysteryEventDeliveryman, 2, 4, 0), - overworld_frame(gEventObjectPic_MysteryEventDeliveryman, 2, 4, 1), - overworld_frame(gEventObjectPic_MysteryEventDeliveryman, 2, 4, 1), - overworld_frame(gEventObjectPic_MysteryEventDeliveryman, 2, 4, 2), - overworld_frame(gEventObjectPic_MysteryEventDeliveryman, 2, 4, 2), -}; - -const struct SpriteFrameImage gEventObjectPicTable_Statue[] = { - obj_frame_tiles(gEventObjectPic_Statue), -}; - -const struct SpriteFrameImage gEventObjectPicTable_Dusclops[] = { - overworld_frame(gEventObjectPic_Dusclops, 2, 4, 0), - overworld_frame(gEventObjectPic_Dusclops, 2, 4, 1), - overworld_frame(gEventObjectPic_Dusclops, 2, 4, 2), - overworld_frame(gEventObjectPic_Dusclops, 2, 4, 3), - overworld_frame(gEventObjectPic_Dusclops, 2, 4, 4), - overworld_frame(gEventObjectPic_Dusclops, 2, 4, 5), - overworld_frame(gEventObjectPic_Dusclops, 2, 4, 6), - overworld_frame(gEventObjectPic_Dusclops, 2, 4, 7), - overworld_frame(gEventObjectPic_Dusclops, 2, 4, 8), -}; - -const struct SpriteFrameImage gEventObjectPicTable_Kirlia[] = { - overworld_frame(gEventObjectPic_Kirlia, 2, 4, 0), - overworld_frame(gEventObjectPic_Kirlia, 2, 4, 1), - overworld_frame(gEventObjectPic_Kirlia, 2, 4, 2), - overworld_frame(gEventObjectPic_Kirlia, 2, 4, 3), - overworld_frame(gEventObjectPic_Kirlia, 2, 4, 4), - overworld_frame(gEventObjectPic_Kirlia, 2, 4, 5), - overworld_frame(gEventObjectPic_Kirlia, 2, 4, 6), - overworld_frame(gEventObjectPic_Kirlia, 2, 4, 7), - overworld_frame(gEventObjectPic_Kirlia, 2, 4, 8), -}; - -const struct SpriteFrameImage gEventObjectPicTable_UnionRoomAttendant[] = { - overworld_frame(gEventObjectPic_UnionRoomAttendant, 2, 4, 0), - overworld_frame(gEventObjectPic_UnionRoomAttendant, 2, 4, 1), - overworld_frame(gEventObjectPic_UnionRoomAttendant, 2, 4, 2), - overworld_frame(gEventObjectPic_UnionRoomAttendant, 2, 4, 0), - overworld_frame(gEventObjectPic_UnionRoomAttendant, 2, 4, 0), - overworld_frame(gEventObjectPic_UnionRoomAttendant, 2, 4, 1), - overworld_frame(gEventObjectPic_UnionRoomAttendant, 2, 4, 1), - overworld_frame(gEventObjectPic_UnionRoomAttendant, 2, 4, 2), - overworld_frame(gEventObjectPic_UnionRoomAttendant, 2, 4, 2), -}; - -const struct SpriteFrameImage gEventObjectPicTable_Sudowoodo[] = { - overworld_frame(gEventObjectPic_Sudowoodo, 2, 4, 0), - overworld_frame(gEventObjectPic_Sudowoodo, 2, 4, 0), - overworld_frame(gEventObjectPic_Sudowoodo, 2, 4, 1), - overworld_frame(gEventObjectPic_Sudowoodo, 2, 4, 0), - overworld_frame(gEventObjectPic_Sudowoodo, 2, 4, 0), - overworld_frame(gEventObjectPic_Sudowoodo, 2, 4, 0), - overworld_frame(gEventObjectPic_Sudowoodo, 2, 4, 0), - overworld_frame(gEventObjectPic_Sudowoodo, 2, 4, 1), - overworld_frame(gEventObjectPic_Sudowoodo, 2, 4, 2), -}; - -const struct SpriteFrameImage gEventObjectPicTable_Mew[] = { - overworld_frame(gEventObjectPic_Mew, 2, 4, 0), - overworld_frame(gEventObjectPic_Mew, 2, 4, 1), - overworld_frame(gEventObjectPic_Mew, 2, 4, 2), - overworld_frame(gEventObjectPic_Mew, 2, 4, 3), - overworld_frame(gEventObjectPic_Mew, 2, 4, 4), - overworld_frame(gEventObjectPic_Mew, 2, 4, 5), - overworld_frame(gEventObjectPic_Mew, 2, 4, 6), - overworld_frame(gEventObjectPic_Mew, 2, 4, 7), - overworld_frame(gEventObjectPic_Mew, 2, 4, 8), -}; - -const struct SpriteFrameImage gEventObjectPicTable_Red[] = { - overworld_frame(gEventObjectPic_Red, 2, 4, 0), - overworld_frame(gEventObjectPic_Red, 2, 4, 1), - overworld_frame(gEventObjectPic_Red, 2, 4, 2), - overworld_frame(gEventObjectPic_Red, 2, 4, 3), - overworld_frame(gEventObjectPic_Red, 2, 4, 4), - overworld_frame(gEventObjectPic_Red, 2, 4, 5), - overworld_frame(gEventObjectPic_Red, 2, 4, 6), - overworld_frame(gEventObjectPic_Red, 2, 4, 7), - overworld_frame(gEventObjectPic_Red, 2, 4, 8), -}; - -const struct SpriteFrameImage gEventObjectPicTable_Leaf[] = { - overworld_frame(gEventObjectPic_Leaf, 2, 4, 0), - overworld_frame(gEventObjectPic_Leaf, 2, 4, 1), - overworld_frame(gEventObjectPic_Leaf, 2, 4, 2), - overworld_frame(gEventObjectPic_Leaf, 2, 4, 3), - overworld_frame(gEventObjectPic_Leaf, 2, 4, 4), - overworld_frame(gEventObjectPic_Leaf, 2, 4, 5), - overworld_frame(gEventObjectPic_Leaf, 2, 4, 6), - overworld_frame(gEventObjectPic_Leaf, 2, 4, 7), - overworld_frame(gEventObjectPic_Leaf, 2, 4, 8), -}; - -const struct SpriteFrameImage gEventObjectPicTable_Deoxys[] = { - overworld_frame(gEventObjectPic_Deoxys, 4, 4, 0), - overworld_frame(gEventObjectPic_Deoxys, 4, 4, 0), - overworld_frame(gEventObjectPic_Deoxys, 4, 4, 0), - overworld_frame(gEventObjectPic_Deoxys, 4, 4, 0), - overworld_frame(gEventObjectPic_Deoxys, 4, 4, 1), - overworld_frame(gEventObjectPic_Deoxys, 4, 4, 0), - overworld_frame(gEventObjectPic_Deoxys, 4, 4, 1), - overworld_frame(gEventObjectPic_Deoxys, 4, 4, 0), - overworld_frame(gEventObjectPic_Deoxys, 4, 4, 0), -}; - -const struct SpriteFrameImage gEventObjectPicTable_BirthIslandStone[] = { - obj_frame_tiles(gEventObjectPic_BirthIslandStone), -}; - -const struct SpriteFrameImage gEventObjectPicTable_Anabel[] = { - overworld_frame(gEventObjectPic_Anabel, 2, 4, 0), - overworld_frame(gEventObjectPic_Anabel, 2, 4, 1), - overworld_frame(gEventObjectPic_Anabel, 2, 4, 2), - overworld_frame(gEventObjectPic_Anabel, 2, 4, 3), - overworld_frame(gEventObjectPic_Anabel, 2, 4, 4), - overworld_frame(gEventObjectPic_Anabel, 2, 4, 5), - overworld_frame(gEventObjectPic_Anabel, 2, 4, 6), - overworld_frame(gEventObjectPic_Anabel, 2, 4, 7), - overworld_frame(gEventObjectPic_Anabel, 2, 4, 8), -}; - -const struct SpriteFrameImage gEventObjectPicTable_Tucker[] = { - overworld_frame(gEventObjectPic_Tucker, 2, 4, 0), - overworld_frame(gEventObjectPic_Tucker, 2, 4, 1), - overworld_frame(gEventObjectPic_Tucker, 2, 4, 2), - overworld_frame(gEventObjectPic_Tucker, 2, 4, 3), - overworld_frame(gEventObjectPic_Tucker, 2, 4, 4), - overworld_frame(gEventObjectPic_Tucker, 2, 4, 5), - overworld_frame(gEventObjectPic_Tucker, 2, 4, 6), - overworld_frame(gEventObjectPic_Tucker, 2, 4, 7), - overworld_frame(gEventObjectPic_Tucker, 2, 4, 8), -}; - -const struct SpriteFrameImage gEventObjectPicTable_Spenser[] = { - overworld_frame(gEventObjectPic_Spenser, 2, 4, 0), - overworld_frame(gEventObjectPic_Spenser, 2, 4, 1), - overworld_frame(gEventObjectPic_Spenser, 2, 4, 2), - overworld_frame(gEventObjectPic_Spenser, 2, 4, 3), - overworld_frame(gEventObjectPic_Spenser, 2, 4, 4), - overworld_frame(gEventObjectPic_Spenser, 2, 4, 5), - overworld_frame(gEventObjectPic_Spenser, 2, 4, 6), - overworld_frame(gEventObjectPic_Spenser, 2, 4, 7), - overworld_frame(gEventObjectPic_Spenser, 2, 4, 8), -}; - -const struct SpriteFrameImage gEventObjectPicTable_Greta[] = { - overworld_frame(gEventObjectPic_Greta, 2, 4, 0), - overworld_frame(gEventObjectPic_Greta, 2, 4, 1), - overworld_frame(gEventObjectPic_Greta, 2, 4, 2), - overworld_frame(gEventObjectPic_Greta, 2, 4, 3), - overworld_frame(gEventObjectPic_Greta, 2, 4, 4), - overworld_frame(gEventObjectPic_Greta, 2, 4, 5), - overworld_frame(gEventObjectPic_Greta, 2, 4, 6), - overworld_frame(gEventObjectPic_Greta, 2, 4, 7), - overworld_frame(gEventObjectPic_Greta, 2, 4, 8), -}; - -const struct SpriteFrameImage gEventObjectPicTable_Noland[] = { - overworld_frame(gEventObjectPic_Noland, 2, 4, 0), - overworld_frame(gEventObjectPic_Noland, 2, 4, 1), - overworld_frame(gEventObjectPic_Noland, 2, 4, 2), - overworld_frame(gEventObjectPic_Noland, 2, 4, 3), - overworld_frame(gEventObjectPic_Noland, 2, 4, 4), - overworld_frame(gEventObjectPic_Noland, 2, 4, 5), - overworld_frame(gEventObjectPic_Noland, 2, 4, 6), - overworld_frame(gEventObjectPic_Noland, 2, 4, 7), - overworld_frame(gEventObjectPic_Noland, 2, 4, 8), -}; - -const struct SpriteFrameImage gEventObjectPicTable_Lucy[] = { - overworld_frame(gEventObjectPic_Lucy, 2, 4, 0), - overworld_frame(gEventObjectPic_Lucy, 2, 4, 1), - overworld_frame(gEventObjectPic_Lucy, 2, 4, 2), - overworld_frame(gEventObjectPic_Lucy, 2, 4, 3), - overworld_frame(gEventObjectPic_Lucy, 2, 4, 4), - overworld_frame(gEventObjectPic_Lucy, 2, 4, 5), - overworld_frame(gEventObjectPic_Lucy, 2, 4, 6), - overworld_frame(gEventObjectPic_Lucy, 2, 4, 7), - overworld_frame(gEventObjectPic_Lucy, 2, 4, 8), -}; - -const struct SpriteFrameImage gEventObjectPicTable_Brandon[] = { - overworld_frame(gEventObjectPic_Brandon, 2, 4, 0), - overworld_frame(gEventObjectPic_Brandon, 2, 4, 1), - overworld_frame(gEventObjectPic_Brandon, 2, 4, 2), - overworld_frame(gEventObjectPic_Brandon, 2, 4, 3), - overworld_frame(gEventObjectPic_Brandon, 2, 4, 4), - overworld_frame(gEventObjectPic_Brandon, 2, 4, 5), - overworld_frame(gEventObjectPic_Brandon, 2, 4, 6), - overworld_frame(gEventObjectPic_Brandon, 2, 4, 7), - overworld_frame(gEventObjectPic_Brandon, 2, 4, 8), -}; - -const struct SpriteFrameImage gEventObjectPicTable_Lugia[] = { - overworld_frame(gEventObjectPic_Lugia, 4, 4, 0), - overworld_frame(gEventObjectPic_Lugia, 4, 4, 0), - overworld_frame(gEventObjectPic_Lugia, 4, 4, 0), - overworld_frame(gEventObjectPic_Lugia, 4, 4, 0), - overworld_frame(gEventObjectPic_Lugia, 4, 4, 1), - overworld_frame(gEventObjectPic_Lugia, 4, 4, 0), - overworld_frame(gEventObjectPic_Lugia, 4, 4, 1), - overworld_frame(gEventObjectPic_Lugia, 4, 4, 0), - overworld_frame(gEventObjectPic_Lugia, 4, 4, 1), -}; - -const struct SpriteFrameImage gEventObjectPicTable_HoOh[] = { - overworld_frame(gEventObjectPic_HoOh, 4, 4, 0), - overworld_frame(gEventObjectPic_HoOh, 4, 4, 0), - overworld_frame(gEventObjectPic_HoOh, 4, 4, 0), - overworld_frame(gEventObjectPic_HoOh, 4, 4, 0), - overworld_frame(gEventObjectPic_HoOh, 4, 4, 1), - overworld_frame(gEventObjectPic_HoOh, 4, 4, 0), - overworld_frame(gEventObjectPic_HoOh, 4, 4, 1), - overworld_frame(gEventObjectPic_HoOh, 4, 4, 0), - overworld_frame(gEventObjectPic_HoOh, 4, 4, 1), -}; - -const struct SpriteFrameImage gEventObjectPicTable_RubySapphireBrendan[] = { - overworld_frame(gEventObjectPic_RubySapphireBrendanNormal, 2, 4, 0), - overworld_frame(gEventObjectPic_RubySapphireBrendanNormal, 2, 4, 1), - overworld_frame(gEventObjectPic_RubySapphireBrendanNormal, 2, 4, 2), - overworld_frame(gEventObjectPic_RubySapphireBrendanNormal, 2, 4, 3), - overworld_frame(gEventObjectPic_RubySapphireBrendanNormal, 2, 4, 4), - overworld_frame(gEventObjectPic_RubySapphireBrendanNormal, 2, 4, 5), - overworld_frame(gEventObjectPic_RubySapphireBrendanNormal, 2, 4, 6), - overworld_frame(gEventObjectPic_RubySapphireBrendanNormal, 2, 4, 7), - overworld_frame(gEventObjectPic_RubySapphireBrendanNormal, 2, 4, 8), -}; - -const struct SpriteFrameImage gEventObjectPicTable_RubySapphireMay[] = { - overworld_frame(gEventObjectPic_RubySapphireMayNormal, 2, 4, 0), - overworld_frame(gEventObjectPic_RubySapphireMayNormal, 2, 4, 1), - overworld_frame(gEventObjectPic_RubySapphireMayNormal, 2, 4, 2), - overworld_frame(gEventObjectPic_RubySapphireMayNormal, 2, 4, 3), - overworld_frame(gEventObjectPic_RubySapphireMayNormal, 2, 4, 4), - overworld_frame(gEventObjectPic_RubySapphireMayNormal, 2, 4, 5), - overworld_frame(gEventObjectPic_RubySapphireMayNormal, 2, 4, 6), - overworld_frame(gEventObjectPic_RubySapphireMayNormal, 2, 4, 7), - overworld_frame(gEventObjectPic_RubySapphireMayNormal, 2, 4, 8), -}; diff --git a/src/data/graphics/pokemon.h b/src/data/graphics/pokemon.h index 45e34030f..fd4d8b95d 100644 --- a/src/data/graphics/pokemon.h +++ b/src/data/graphics/pokemon.h @@ -1398,11 +1398,11 @@ const u32 gMonShinyPalette_Misdreavus[] = INCBIN_U32("graphics/pokemon/misdreavu const u8 gMonIcon_Misdreavus[] = INCBIN_U8("graphics/pokemon/misdreavus/icon.4bpp"); const u8 gMonFootprint_Misdreavus[] = INCBIN_U8("graphics/pokemon/misdreavus/footprint.1bpp"); -const u32 gMonStillFrontPic_UnownA[] = INCBIN_U32("graphics/pokemon/unown/front_a.4bpp.lz"); +const u32 gMonStillFrontPic_UnownA[] = INCBIN_U32("graphics/pokemon/unown/a/front.4bpp.lz"); const u32 gMonPalette_Unown[] = INCBIN_U32("graphics/pokemon/unown/normal.gbapal.lz"); -const u32 gMonBackPic_UnownA[] = INCBIN_U32("graphics/pokemon/unown/back_a.4bpp.lz"); +const u32 gMonBackPic_UnownA[] = INCBIN_U32("graphics/pokemon/unown/a/back.4bpp.lz"); const u32 gMonShinyPalette_Unown[] = INCBIN_U32("graphics/pokemon/unown/shiny.gbapal.lz"); -const u8 gMonIcon_UnownA[] = INCBIN_U8("graphics/pokemon/unown/icon_a.4bpp"); +const u8 gMonIcon_UnownA[] = INCBIN_U8("graphics/pokemon/unown/a/icon.4bpp"); const u8 gMonFootprint_Unown[] = INCBIN_U8("graphics/pokemon/unown/footprint.1bpp"); const u32 gMonStillFrontPic_Wobbuffet[] = INCBIN_U32("graphics/pokemon/wobbuffet/front.4bpp.lz"); @@ -1754,10 +1754,10 @@ const u32 gMonShinyPalette_Celebi[] = INCBIN_U32("graphics/pokemon/celebi/shiny. const u8 gMonIcon_Celebi[] = INCBIN_U8("graphics/pokemon/celebi/icon.4bpp"); const u8 gMonFootprint_Celebi[] = INCBIN_U8("graphics/pokemon/celebi/footprint.1bpp"); -const u32 gMonStillFrontPic_DoubleQuestionMark[] = INCBIN_U32("graphics/pokemon/double_question_mark/front.4bpp.lz"); -const u32 gMonPalette_DoubleQuestionMark[] = INCBIN_U32("graphics/pokemon/double_question_mark/normal.gbapal.lz"); -const u32 gMonBackPic_DoubleQuestionMark[] = INCBIN_U32("graphics/pokemon/double_question_mark/back.4bpp.lz"); -const u32 gMonShinyPalette_DoubleQuestionMark[] = INCBIN_U32("graphics/pokemon/double_question_mark/shiny.gbapal.lz"); +const u32 gMonStillFrontPic_DoubleQuestionMark[] = INCBIN_U32("graphics/pokemon/question_mark/double/front.4bpp.lz"); +const u32 gMonPalette_DoubleQuestionMark[] = INCBIN_U32("graphics/pokemon/question_mark/double/normal.gbapal.lz"); +const u32 gMonBackPic_DoubleQuestionMark[] = INCBIN_U32("graphics/pokemon/question_mark/double/back.4bpp.lz"); +const u32 gMonShinyPalette_DoubleQuestionMark[] = INCBIN_U32("graphics/pokemon/question_mark/double/shiny.gbapal.lz"); const u32 gMonStillFrontPic_Treecko[] = INCBIN_U32("graphics/pokemon/treecko/front.4bpp.lz"); const u32 gMonPalette_Treecko[] = INCBIN_U32("graphics/pokemon/treecko/normal.gbapal.lz"); @@ -2714,110 +2714,110 @@ const u8 gMonFootprint_Chimecho[] = INCBIN_U8("graphics/pokemon/chimecho/footpri const u32 gMonStillFrontPic_Egg[] = INCBIN_U32("graphics/pokemon/egg/front.4bpp.lz"); const u32 gMonPalette_Egg[] = INCBIN_U32("graphics/pokemon/egg/normal.gbapal.lz"); -const u32 gMonStillFrontPic_UnownB[] = INCBIN_U32("graphics/pokemon/unown/front_b.4bpp.lz"); -const u32 gMonBackPic_UnownB[] = INCBIN_U32("graphics/pokemon/unown/back_b.4bpp.lz"); -const u8 gMonIcon_UnownB[] = INCBIN_U8("graphics/pokemon/unown/icon_b.4bpp"); +const u32 gMonStillFrontPic_UnownB[] = INCBIN_U32("graphics/pokemon/unown/b/front.4bpp.lz"); +const u32 gMonBackPic_UnownB[] = INCBIN_U32("graphics/pokemon/unown/b/back.4bpp.lz"); +const u8 gMonIcon_UnownB[] = INCBIN_U8("graphics/pokemon/unown/b/icon.4bpp"); -const u32 gMonStillFrontPic_UnownC[] = INCBIN_U32("graphics/pokemon/unown/front_c.4bpp.lz"); -const u32 gMonBackPic_UnownC[] = INCBIN_U32("graphics/pokemon/unown/back_c.4bpp.lz"); -const u8 gMonIcon_UnownC[] = INCBIN_U8("graphics/pokemon/unown/icon_c.4bpp"); +const u32 gMonStillFrontPic_UnownC[] = INCBIN_U32("graphics/pokemon/unown/c/front.4bpp.lz"); +const u32 gMonBackPic_UnownC[] = INCBIN_U32("graphics/pokemon/unown/c/back.4bpp.lz"); +const u8 gMonIcon_UnownC[] = INCBIN_U8("graphics/pokemon/unown/c/icon.4bpp"); -const u32 gMonStillFrontPic_UnownD[] = INCBIN_U32("graphics/pokemon/unown/front_d.4bpp.lz"); -const u32 gMonBackPic_UnownD[] = INCBIN_U32("graphics/pokemon/unown/back_d.4bpp.lz"); -const u8 gMonIcon_UnownD[] = INCBIN_U8("graphics/pokemon/unown/icon_d.4bpp"); +const u32 gMonStillFrontPic_UnownD[] = INCBIN_U32("graphics/pokemon/unown/d/front.4bpp.lz"); +const u32 gMonBackPic_UnownD[] = INCBIN_U32("graphics/pokemon/unown/d/back.4bpp.lz"); +const u8 gMonIcon_UnownD[] = INCBIN_U8("graphics/pokemon/unown/d/icon.4bpp"); -const u32 gMonStillFrontPic_UnownE[] = INCBIN_U32("graphics/pokemon/unown/front_e.4bpp.lz"); -const u32 gMonBackPic_UnownE[] = INCBIN_U32("graphics/pokemon/unown/back_e.4bpp.lz"); -const u8 gMonIcon_UnownE[] = INCBIN_U8("graphics/pokemon/unown/icon_e.4bpp"); +const u32 gMonStillFrontPic_UnownE[] = INCBIN_U32("graphics/pokemon/unown/e/front.4bpp.lz"); +const u32 gMonBackPic_UnownE[] = INCBIN_U32("graphics/pokemon/unown/e/back.4bpp.lz"); +const u8 gMonIcon_UnownE[] = INCBIN_U8("graphics/pokemon/unown/e/icon.4bpp"); -const u32 gMonStillFrontPic_UnownF[] = INCBIN_U32("graphics/pokemon/unown/front_f.4bpp.lz"); -const u32 gMonBackPic_UnownF[] = INCBIN_U32("graphics/pokemon/unown/back_f.4bpp.lz"); -const u8 gMonIcon_UnownF[] = INCBIN_U8("graphics/pokemon/unown/icon_f.4bpp"); +const u32 gMonStillFrontPic_UnownF[] = INCBIN_U32("graphics/pokemon/unown/f/front.4bpp.lz"); +const u32 gMonBackPic_UnownF[] = INCBIN_U32("graphics/pokemon/unown/f/back.4bpp.lz"); +const u8 gMonIcon_UnownF[] = INCBIN_U8("graphics/pokemon/unown/f/icon.4bpp"); -const u32 gMonStillFrontPic_UnownG[] = INCBIN_U32("graphics/pokemon/unown/front_g.4bpp.lz"); -const u32 gMonBackPic_UnownG[] = INCBIN_U32("graphics/pokemon/unown/back_g.4bpp.lz"); -const u8 gMonIcon_UnownG[] = INCBIN_U8("graphics/pokemon/unown/icon_g.4bpp"); +const u32 gMonStillFrontPic_UnownG[] = INCBIN_U32("graphics/pokemon/unown/g/front.4bpp.lz"); +const u32 gMonBackPic_UnownG[] = INCBIN_U32("graphics/pokemon/unown/g/back.4bpp.lz"); +const u8 gMonIcon_UnownG[] = INCBIN_U8("graphics/pokemon/unown/g/icon.4bpp"); -const u32 gMonStillFrontPic_UnownH[] = INCBIN_U32("graphics/pokemon/unown/front_h.4bpp.lz"); -const u32 gMonBackPic_UnownH[] = INCBIN_U32("graphics/pokemon/unown/back_h.4bpp.lz"); -const u8 gMonIcon_UnownH[] = INCBIN_U8("graphics/pokemon/unown/icon_h.4bpp"); +const u32 gMonStillFrontPic_UnownH[] = INCBIN_U32("graphics/pokemon/unown/h/front.4bpp.lz"); +const u32 gMonBackPic_UnownH[] = INCBIN_U32("graphics/pokemon/unown/h/back.4bpp.lz"); +const u8 gMonIcon_UnownH[] = INCBIN_U8("graphics/pokemon/unown/h/icon.4bpp"); -const u32 gMonStillFrontPic_UnownI[] = INCBIN_U32("graphics/pokemon/unown/front_i.4bpp.lz"); -const u32 gMonBackPic_UnownI[] = INCBIN_U32("graphics/pokemon/unown/back_i.4bpp.lz"); -const u8 gMonIcon_UnownI[] = INCBIN_U8("graphics/pokemon/unown/icon_i.4bpp"); +const u32 gMonStillFrontPic_UnownI[] = INCBIN_U32("graphics/pokemon/unown/i/front.4bpp.lz"); +const u32 gMonBackPic_UnownI[] = INCBIN_U32("graphics/pokemon/unown/i/back.4bpp.lz"); +const u8 gMonIcon_UnownI[] = INCBIN_U8("graphics/pokemon/unown/i/icon.4bpp"); -const u32 gMonStillFrontPic_UnownJ[] = INCBIN_U32("graphics/pokemon/unown/front_j.4bpp.lz"); -const u32 gMonBackPic_UnownJ[] = INCBIN_U32("graphics/pokemon/unown/back_j.4bpp.lz"); -const u8 gMonIcon_UnownJ[] = INCBIN_U8("graphics/pokemon/unown/icon_j.4bpp"); +const u32 gMonStillFrontPic_UnownJ[] = INCBIN_U32("graphics/pokemon/unown/j/front.4bpp.lz"); +const u32 gMonBackPic_UnownJ[] = INCBIN_U32("graphics/pokemon/unown/j/back.4bpp.lz"); +const u8 gMonIcon_UnownJ[] = INCBIN_U8("graphics/pokemon/unown/j/icon.4bpp"); -const u32 gMonStillFrontPic_UnownK[] = INCBIN_U32("graphics/pokemon/unown/front_k.4bpp.lz"); -const u32 gMonBackPic_UnownK[] = INCBIN_U32("graphics/pokemon/unown/back_k.4bpp.lz"); -const u8 gMonIcon_UnownK[] = INCBIN_U8("graphics/pokemon/unown/icon_k.4bpp"); +const u32 gMonStillFrontPic_UnownK[] = INCBIN_U32("graphics/pokemon/unown/k/front.4bpp.lz"); +const u32 gMonBackPic_UnownK[] = INCBIN_U32("graphics/pokemon/unown/k/back.4bpp.lz"); +const u8 gMonIcon_UnownK[] = INCBIN_U8("graphics/pokemon/unown/k/icon.4bpp"); -const u32 gMonStillFrontPic_UnownL[] = INCBIN_U32("graphics/pokemon/unown/front_l.4bpp.lz"); -const u32 gMonBackPic_UnownL[] = INCBIN_U32("graphics/pokemon/unown/back_l.4bpp.lz"); -const u8 gMonIcon_UnownL[] = INCBIN_U8("graphics/pokemon/unown/icon_l.4bpp"); +const u32 gMonStillFrontPic_UnownL[] = INCBIN_U32("graphics/pokemon/unown/l/front.4bpp.lz"); +const u32 gMonBackPic_UnownL[] = INCBIN_U32("graphics/pokemon/unown/l/back.4bpp.lz"); +const u8 gMonIcon_UnownL[] = INCBIN_U8("graphics/pokemon/unown/l/icon.4bpp"); -const u32 gMonStillFrontPic_UnownM[] = INCBIN_U32("graphics/pokemon/unown/front_m.4bpp.lz"); -const u32 gMonBackPic_UnownM[] = INCBIN_U32("graphics/pokemon/unown/back_m.4bpp.lz"); -const u8 gMonIcon_UnownM[] = INCBIN_U8("graphics/pokemon/unown/icon_m.4bpp"); +const u32 gMonStillFrontPic_UnownM[] = INCBIN_U32("graphics/pokemon/unown/m/front.4bpp.lz"); +const u32 gMonBackPic_UnownM[] = INCBIN_U32("graphics/pokemon/unown/m/back.4bpp.lz"); +const u8 gMonIcon_UnownM[] = INCBIN_U8("graphics/pokemon/unown/m/icon.4bpp"); -const u32 gMonStillFrontPic_UnownN[] = INCBIN_U32("graphics/pokemon/unown/front_n.4bpp.lz"); -const u32 gMonBackPic_UnownN[] = INCBIN_U32("graphics/pokemon/unown/back_n.4bpp.lz"); -const u8 gMonIcon_UnownN[] = INCBIN_U8("graphics/pokemon/unown/icon_n.4bpp"); +const u32 gMonStillFrontPic_UnownN[] = INCBIN_U32("graphics/pokemon/unown/n/front.4bpp.lz"); +const u32 gMonBackPic_UnownN[] = INCBIN_U32("graphics/pokemon/unown/n/back.4bpp.lz"); +const u8 gMonIcon_UnownN[] = INCBIN_U8("graphics/pokemon/unown/n/icon.4bpp"); -const u32 gMonStillFrontPic_UnownO[] = INCBIN_U32("graphics/pokemon/unown/front_o.4bpp.lz"); -const u32 gMonBackPic_UnownO[] = INCBIN_U32("graphics/pokemon/unown/back_o.4bpp.lz"); -const u8 gMonIcon_UnownO[] = INCBIN_U8("graphics/pokemon/unown/icon_o.4bpp"); +const u32 gMonStillFrontPic_UnownO[] = INCBIN_U32("graphics/pokemon/unown/o/front.4bpp.lz"); +const u32 gMonBackPic_UnownO[] = INCBIN_U32("graphics/pokemon/unown/o/back.4bpp.lz"); +const u8 gMonIcon_UnownO[] = INCBIN_U8("graphics/pokemon/unown/o/icon.4bpp"); -const u32 gMonStillFrontPic_UnownP[] = INCBIN_U32("graphics/pokemon/unown/front_p.4bpp.lz"); -const u32 gMonBackPic_UnownP[] = INCBIN_U32("graphics/pokemon/unown/back_p.4bpp.lz"); -const u8 gMonIcon_UnownP[] = INCBIN_U8("graphics/pokemon/unown/icon_p.4bpp"); +const u32 gMonStillFrontPic_UnownP[] = INCBIN_U32("graphics/pokemon/unown/p/front.4bpp.lz"); +const u32 gMonBackPic_UnownP[] = INCBIN_U32("graphics/pokemon/unown/p/back.4bpp.lz"); +const u8 gMonIcon_UnownP[] = INCBIN_U8("graphics/pokemon/unown/p/icon.4bpp"); -const u32 gMonStillFrontPic_UnownQ[] = INCBIN_U32("graphics/pokemon/unown/front_q.4bpp.lz"); -const u32 gMonBackPic_UnownQ[] = INCBIN_U32("graphics/pokemon/unown/back_q.4bpp.lz"); -const u8 gMonIcon_UnownQ[] = INCBIN_U8("graphics/pokemon/unown/icon_q.4bpp"); +const u32 gMonStillFrontPic_UnownQ[] = INCBIN_U32("graphics/pokemon/unown/q/front.4bpp.lz"); +const u32 gMonBackPic_UnownQ[] = INCBIN_U32("graphics/pokemon/unown/q/back.4bpp.lz"); +const u8 gMonIcon_UnownQ[] = INCBIN_U8("graphics/pokemon/unown/q/icon.4bpp"); -const u32 gMonStillFrontPic_UnownR[] = INCBIN_U32("graphics/pokemon/unown/front_r.4bpp.lz"); -const u32 gMonBackPic_UnownR[] = INCBIN_U32("graphics/pokemon/unown/back_r.4bpp.lz"); -const u8 gMonIcon_UnownR[] = INCBIN_U8("graphics/pokemon/unown/icon_r.4bpp"); +const u32 gMonStillFrontPic_UnownR[] = INCBIN_U32("graphics/pokemon/unown/r/front.4bpp.lz"); +const u32 gMonBackPic_UnownR[] = INCBIN_U32("graphics/pokemon/unown/r/back.4bpp.lz"); +const u8 gMonIcon_UnownR[] = INCBIN_U8("graphics/pokemon/unown/r/icon.4bpp"); -const u32 gMonStillFrontPic_UnownS[] = INCBIN_U32("graphics/pokemon/unown/front_s.4bpp.lz"); -const u32 gMonBackPic_UnownS[] = INCBIN_U32("graphics/pokemon/unown/back_s.4bpp.lz"); -const u8 gMonIcon_UnownS[] = INCBIN_U8("graphics/pokemon/unown/icon_s.4bpp"); +const u32 gMonStillFrontPic_UnownS[] = INCBIN_U32("graphics/pokemon/unown/s/front.4bpp.lz"); +const u32 gMonBackPic_UnownS[] = INCBIN_U32("graphics/pokemon/unown/s/back.4bpp.lz"); +const u8 gMonIcon_UnownS[] = INCBIN_U8("graphics/pokemon/unown/s/icon.4bpp"); -const u32 gMonStillFrontPic_UnownT[] = INCBIN_U32("graphics/pokemon/unown/front_t.4bpp.lz"); -const u32 gMonBackPic_UnownT[] = INCBIN_U32("graphics/pokemon/unown/back_t.4bpp.lz"); -const u8 gMonIcon_UnownT[] = INCBIN_U8("graphics/pokemon/unown/icon_t.4bpp"); +const u32 gMonStillFrontPic_UnownT[] = INCBIN_U32("graphics/pokemon/unown/t/front.4bpp.lz"); +const u32 gMonBackPic_UnownT[] = INCBIN_U32("graphics/pokemon/unown/t/back.4bpp.lz"); +const u8 gMonIcon_UnownT[] = INCBIN_U8("graphics/pokemon/unown/t/icon.4bpp"); -const u32 gMonStillFrontPic_UnownU[] = INCBIN_U32("graphics/pokemon/unown/front_u.4bpp.lz"); -const u32 gMonBackPic_UnownU[] = INCBIN_U32("graphics/pokemon/unown/back_u.4bpp.lz"); -const u8 gMonIcon_UnownU[] = INCBIN_U8("graphics/pokemon/unown/icon_u.4bpp"); +const u32 gMonStillFrontPic_UnownU[] = INCBIN_U32("graphics/pokemon/unown/u/front.4bpp.lz"); +const u32 gMonBackPic_UnownU[] = INCBIN_U32("graphics/pokemon/unown/u/back.4bpp.lz"); +const u8 gMonIcon_UnownU[] = INCBIN_U8("graphics/pokemon/unown/u/icon.4bpp"); -const u32 gMonStillFrontPic_UnownV[] = INCBIN_U32("graphics/pokemon/unown/front_v.4bpp.lz"); -const u32 gMonBackPic_UnownV[] = INCBIN_U32("graphics/pokemon/unown/back_v.4bpp.lz"); -const u8 gMonIcon_UnownV[] = INCBIN_U8("graphics/pokemon/unown/icon_v.4bpp"); +const u32 gMonStillFrontPic_UnownV[] = INCBIN_U32("graphics/pokemon/unown/v/front.4bpp.lz"); +const u32 gMonBackPic_UnownV[] = INCBIN_U32("graphics/pokemon/unown/v/back.4bpp.lz"); +const u8 gMonIcon_UnownV[] = INCBIN_U8("graphics/pokemon/unown/v/icon.4bpp"); -const u32 gMonStillFrontPic_UnownW[] = INCBIN_U32("graphics/pokemon/unown/front_w.4bpp.lz"); -const u32 gMonBackPic_UnownW[] = INCBIN_U32("graphics/pokemon/unown/back_w.4bpp.lz"); -const u8 gMonIcon_UnownW[] = INCBIN_U8("graphics/pokemon/unown/icon_w.4bpp"); +const u32 gMonStillFrontPic_UnownW[] = INCBIN_U32("graphics/pokemon/unown/w/front.4bpp.lz"); +const u32 gMonBackPic_UnownW[] = INCBIN_U32("graphics/pokemon/unown/w/back.4bpp.lz"); +const u8 gMonIcon_UnownW[] = INCBIN_U8("graphics/pokemon/unown/w/icon.4bpp"); -const u32 gMonStillFrontPic_UnownX[] = INCBIN_U32("graphics/pokemon/unown/front_x.4bpp.lz"); -const u32 gMonBackPic_UnownX[] = INCBIN_U32("graphics/pokemon/unown/back_x.4bpp.lz"); -const u8 gMonIcon_UnownX[] = INCBIN_U8("graphics/pokemon/unown/icon_x.4bpp"); +const u32 gMonStillFrontPic_UnownX[] = INCBIN_U32("graphics/pokemon/unown/x/front.4bpp.lz"); +const u32 gMonBackPic_UnownX[] = INCBIN_U32("graphics/pokemon/unown/x/back.4bpp.lz"); +const u8 gMonIcon_UnownX[] = INCBIN_U8("graphics/pokemon/unown/x/icon.4bpp"); -const u32 gMonStillFrontPic_UnownY[] = INCBIN_U32("graphics/pokemon/unown/front_y.4bpp.lz"); -const u32 gMonBackPic_UnownY[] = INCBIN_U32("graphics/pokemon/unown/back_y.4bpp.lz"); -const u8 gMonIcon_UnownY[] = INCBIN_U8("graphics/pokemon/unown/icon_y.4bpp"); +const u32 gMonStillFrontPic_UnownY[] = INCBIN_U32("graphics/pokemon/unown/y/front.4bpp.lz"); +const u32 gMonBackPic_UnownY[] = INCBIN_U32("graphics/pokemon/unown/y/back.4bpp.lz"); +const u8 gMonIcon_UnownY[] = INCBIN_U8("graphics/pokemon/unown/y/icon.4bpp"); -const u32 gMonStillFrontPic_UnownZ[] = INCBIN_U32("graphics/pokemon/unown/front_z.4bpp.lz"); -const u32 gMonBackPic_UnownZ[] = INCBIN_U32("graphics/pokemon/unown/back_z.4bpp.lz"); -const u8 gMonIcon_UnownZ[] = INCBIN_U8("graphics/pokemon/unown/icon_z.4bpp"); +const u32 gMonStillFrontPic_UnownZ[] = INCBIN_U32("graphics/pokemon/unown/z/front.4bpp.lz"); +const u32 gMonBackPic_UnownZ[] = INCBIN_U32("graphics/pokemon/unown/z/back.4bpp.lz"); +const u8 gMonIcon_UnownZ[] = INCBIN_U8("graphics/pokemon/unown/z/icon.4bpp"); -const u32 gMonStillFrontPic_UnownExclamationMark[] = INCBIN_U32("graphics/pokemon/unown/front_exclamation_mark.4bpp.lz"); -const u32 gMonBackPic_UnownExclamationMark[] = INCBIN_U32("graphics/pokemon/unown/back_exclamation_mark.4bpp.lz"); -const u8 gMonIcon_UnownExclamationMark[] = INCBIN_U8("graphics/pokemon/unown/icon_exclamation_mark.4bpp"); +const u32 gMonStillFrontPic_UnownExclamationMark[] = INCBIN_U32("graphics/pokemon/unown/exclamation_mark/front.4bpp.lz"); +const u32 gMonBackPic_UnownExclamationMark[] = INCBIN_U32("graphics/pokemon/unown/exclamation_mark/back.4bpp.lz"); +const u8 gMonIcon_UnownExclamationMark[] = INCBIN_U8("graphics/pokemon/unown/exclamation_mark/icon.4bpp"); -const u32 gMonStillFrontPic_UnownQuestionMark[] = INCBIN_U32("graphics/pokemon/unown/front_question_mark.4bpp.lz"); -const u32 gMonBackPic_UnownQuestionMark[] = INCBIN_U32("graphics/pokemon/unown/back_question_mark.4bpp.lz"); -const u8 gMonIcon_UnownQuestionMark[] = INCBIN_U8("graphics/pokemon/unown/icon_question_mark.4bpp"); +const u32 gMonStillFrontPic_UnownQuestionMark[] = INCBIN_U32("graphics/pokemon/unown/question_mark/front.4bpp.lz"); +const u32 gMonBackPic_UnownQuestionMark[] = INCBIN_U32("graphics/pokemon/unown/question_mark/back.4bpp.lz"); +const u8 gMonIcon_UnownQuestionMark[] = INCBIN_U8("graphics/pokemon/unown/question_mark/icon.4bpp"); diff --git a/src/data/graphics/slot_machine.h b/src/data/graphics/slot_machine.h index 3f351f7ba..a94f2b622 100644 --- a/src/data/graphics/slot_machine.h +++ b/src/data/graphics/slot_machine.h @@ -58,3 +58,6 @@ const u8 gSlotMachineReelTimeExplosion1[] = INCBIN_U8("graphics/slot_machine/ree const u8 gSlotMachineReelTimeShadow[] = INCBIN_U8("graphics/slot_machine/shadow.4bpp"); const u8 gSlotMachineReelTimePikaAura[] = INCBIN_U8("graphics/slot_machine/pika_aura.4bpp"); + +const u8 gUnknown_08DD19F8[] = INCBIN_U8("graphics/unknown/unknown_DD19F8.bin"); +const u8 gUnknown_08DD1A18[] = INCBIN_U8("graphics/unknown/unknown_DD1A18.4bpp"); diff --git a/src/data/lilycove_lady.h b/src/data/lilycove_lady.h index f60e527a5..738a6dc12 100644 --- a/src/data/lilycove_lady.h +++ b/src/data/lilycove_lady.h @@ -6,18 +6,18 @@ static const u16 sContestLadyMonGfxId[] = { - EVENT_OBJ_GFX_ZIGZAGOON_1, - EVENT_OBJ_GFX_SKITTY, - EVENT_OBJ_GFX_POOCHYENA, - EVENT_OBJ_GFX_KECLEON_1, - EVENT_OBJ_GFX_PIKACHU + OBJ_EVENT_GFX_ZIGZAGOON_1, + OBJ_EVENT_GFX_SKITTY, + OBJ_EVENT_GFX_POOCHYENA, + OBJ_EVENT_GFX_KECLEON_1, + OBJ_EVENT_GFX_PIKACHU }; static const u16 sLilycoveLadyGfxId[] = { - EVENT_OBJ_GFX_WOMAN_4, - EVENT_OBJ_GFX_WOMAN_2, - EVENT_OBJ_GFX_GIRL_2 + OBJ_EVENT_GFX_WOMAN_4, + OBJ_EVENT_GFX_WOMAN_2, + OBJ_EVENT_GFX_GIRL_2 }; // Quiz Lady data diff --git a/src/data/field_event_obj/base_oam.h b/src/data/object_events/base_oam.h index af961f492..f74feca32 100755 --- a/src/data/field_event_obj/base_oam.h +++ b/src/data/object_events/base_oam.h @@ -1,46 +1,46 @@ -const struct OamData gEventObjectBaseOam_8x8 = { +const struct OamData gObjectEventBaseOam_8x8 = { .shape = SPRITE_SHAPE(8x8), .size = SPRITE_SIZE(8x8), .priority = 2 }; -const struct OamData gEventObjectBaseOam_16x8 = { +const struct OamData gObjectEventBaseOam_16x8 = { .shape = SPRITE_SHAPE(16x8), .size = SPRITE_SIZE(16x8), .priority = 2 }; -const struct OamData gEventObjectBaseOam_16x16 = { +const struct OamData gObjectEventBaseOam_16x16 = { .shape = SPRITE_SHAPE(16x16), .size = SPRITE_SIZE(16x16), .priority = 2 }; -const struct OamData gEventObjectBaseOam_32x8 = { +const struct OamData gObjectEventBaseOam_32x8 = { .shape = SPRITE_SHAPE(32x8), .size = SPRITE_SIZE(32x8), .priority = 2 }; -const struct OamData gEventObjectBaseOam_64x32 = { +const struct OamData gObjectEventBaseOam_64x32 = { .shape = SPRITE_SHAPE(64x32), .size = SPRITE_SIZE(64x32), .priority = 2 }; -const struct OamData gEventObjectBaseOam_16x32 = { +const struct OamData gObjectEventBaseOam_16x32 = { .shape = SPRITE_SHAPE(16x32), .size = SPRITE_SIZE(16x32), .priority = 2 }; -const struct OamData gEventObjectBaseOam_32x32 = { +const struct OamData gObjectEventBaseOam_32x32 = { .shape = SPRITE_SHAPE(32x32), .size = SPRITE_SIZE(32x32), .priority = 2 }; -const struct OamData gEventObjectBaseOam_64x64 = { +const struct OamData gObjectEventBaseOam_64x64 = { .shape = SPRITE_SHAPE(64x64), .size = SPRITE_SIZE(64x64), .priority = 2 diff --git a/src/data/object_events/berry_tree_graphics_tables.h b/src/data/object_events/berry_tree_graphics_tables.h new file mode 100755 index 000000000..d558b583f --- /dev/null +++ b/src/data/object_events/berry_tree_graphics_tables.h @@ -0,0 +1,565 @@ +const struct SpriteFrameImage gObjectEventPicTable_PechaBerryTree[] = { + overworld_frame(gObjectEventPic_BerryTreeDirtPile, 2, 2, 0), + overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 0), + overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 1), + overworld_frame(gObjectEventPic_PechaBerryTree, 2, 4, 0), + overworld_frame(gObjectEventPic_PechaBerryTree, 2, 4, 1), + overworld_frame(gObjectEventPic_PechaBerryTree, 2, 4, 2), + overworld_frame(gObjectEventPic_PechaBerryTree, 2, 4, 3), + overworld_frame(gObjectEventPic_PechaBerryTree, 2, 4, 4), + overworld_frame(gObjectEventPic_PechaBerryTree, 2, 4, 5), +}; + +const u8 gBerryTreePaletteSlotTable_Pecha[] = {3, 4, 4, 4, 4}; + +const struct SpriteFrameImage gObjectEventPicTable_KelpsyBerryTree[] = { + overworld_frame(gObjectEventPic_BerryTreeDirtPile, 2, 2, 0), + overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 0), + overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 1), + overworld_frame(gObjectEventPic_KelpsyBerryTree, 2, 4, 0), + overworld_frame(gObjectEventPic_KelpsyBerryTree, 2, 4, 1), + overworld_frame(gObjectEventPic_KelpsyBerryTree, 2, 4, 2), + overworld_frame(gObjectEventPic_KelpsyBerryTree, 2, 4, 3), + overworld_frame(gObjectEventPic_KelpsyBerryTree, 2, 4, 4), + overworld_frame(gObjectEventPic_KelpsyBerryTree, 2, 4, 5), +}; + +const u8 gBerryTreePaletteSlotTable_Kelpsy[] = {3, 4, 2, 2, 2}; + +const struct SpriteFrameImage gObjectEventPicTable_WepearBerryTree[] = { + overworld_frame(gObjectEventPic_BerryTreeDirtPile, 2, 2, 0), + overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 0), + overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 1), + overworld_frame(gObjectEventPic_WepearBerryTree, 2, 4, 0), + overworld_frame(gObjectEventPic_WepearBerryTree, 2, 4, 1), + overworld_frame(gObjectEventPic_WepearBerryTree, 2, 4, 2), + overworld_frame(gObjectEventPic_WepearBerryTree, 2, 4, 3), + overworld_frame(gObjectEventPic_WepearBerryTree, 2, 4, 4), + overworld_frame(gObjectEventPic_WepearBerryTree, 2, 4, 5), +}; + +const u8 gBerryTreePaletteSlotTable_Wepear[] = {3, 4, 2, 2, 2}; + +const struct SpriteFrameImage gObjectEventPicTable_IapapaBerryTree[] = { + overworld_frame(gObjectEventPic_BerryTreeDirtPile, 2, 2, 0), + overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 0), + overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 1), + overworld_frame(gObjectEventPic_IapapaBerryTree, 2, 4, 0), + overworld_frame(gObjectEventPic_IapapaBerryTree, 2, 4, 1), + overworld_frame(gObjectEventPic_IapapaBerryTree, 2, 4, 2), + overworld_frame(gObjectEventPic_IapapaBerryTree, 2, 4, 3), + overworld_frame(gObjectEventPic_IapapaBerryTree, 2, 4, 4), + overworld_frame(gObjectEventPic_IapapaBerryTree, 2, 4, 5), +}; + +const u8 gBerryTreePaletteSlotTable_Iapapa[] = {3, 4, 3, 3, 3}; + +const struct SpriteFrameImage gObjectEventPicTable_CheriBerryTree[] = { + overworld_frame(gObjectEventPic_BerryTreeDirtPile, 2, 2, 0), + overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 0), + overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 1), + overworld_frame(gObjectEventPic_CheriBerryTree, 2, 4, 0), + overworld_frame(gObjectEventPic_CheriBerryTree, 2, 4, 1), + overworld_frame(gObjectEventPic_CheriBerryTree, 2, 4, 2), + overworld_frame(gObjectEventPic_CheriBerryTree, 2, 4, 3), + overworld_frame(gObjectEventPic_CheriBerryTree, 2, 4, 4), + overworld_frame(gObjectEventPic_CheriBerryTree, 2, 4, 5), +}; + +const u8 gBerryTreePaletteSlotTable_Cheri[] = {3, 4, 4, 4, 4}; + +const struct SpriteFrameImage gObjectEventPicTable_FigyBerryTree[] = { + overworld_frame(gObjectEventPic_BerryTreeDirtPile, 2, 2, 0), + overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 0), + overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 1), + overworld_frame(gObjectEventPic_FigyBerryTree, 2, 4, 0), + overworld_frame(gObjectEventPic_FigyBerryTree, 2, 4, 1), + overworld_frame(gObjectEventPic_FigyBerryTree, 2, 4, 2), + overworld_frame(gObjectEventPic_FigyBerryTree, 2, 4, 3), + overworld_frame(gObjectEventPic_FigyBerryTree, 2, 4, 4), + overworld_frame(gObjectEventPic_FigyBerryTree, 2, 4, 5), +}; + +const u8 gBerryTreePaletteSlotTable_Figy[] = {3, 4, 3, 3, 3}; + +const struct SpriteFrameImage gObjectEventPicTable_MagoBerryTree[] = { + overworld_frame(gObjectEventPic_BerryTreeDirtPile, 2, 2, 0), + overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 0), + overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 1), + overworld_frame(gObjectEventPic_MagoBerryTree, 2, 4, 0), + overworld_frame(gObjectEventPic_MagoBerryTree, 2, 4, 1), + overworld_frame(gObjectEventPic_MagoBerryTree, 2, 4, 2), + overworld_frame(gObjectEventPic_MagoBerryTree, 2, 4, 3), + overworld_frame(gObjectEventPic_MagoBerryTree, 2, 4, 4), + overworld_frame(gObjectEventPic_MagoBerryTree, 2, 4, 5), +}; + +const u8 gBerryTreePaletteSlotTable_Mago[] = {3, 4, 3, 3, 3}; + +const struct SpriteFrameImage gObjectEventPicTable_LumBerryTree[] = { + overworld_frame(gObjectEventPic_BerryTreeDirtPile, 2, 2, 0), + overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 0), + overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 1), + overworld_frame(gObjectEventPic_LumBerryTree, 2, 4, 0), + overworld_frame(gObjectEventPic_LumBerryTree, 2, 4, 1), + overworld_frame(gObjectEventPic_LumBerryTree, 2, 4, 2), + overworld_frame(gObjectEventPic_LumBerryTree, 2, 4, 3), + overworld_frame(gObjectEventPic_LumBerryTree, 2, 4, 4), + overworld_frame(gObjectEventPic_LumBerryTree, 2, 4, 5), +}; + +const u8 gBerryTreePaletteSlotTable_Lum[] = {3, 4, 4, 4, 4}; + +const struct SpriteFrameImage gObjectEventPicTable_RazzBerryTree[] = { + overworld_frame(gObjectEventPic_BerryTreeDirtPile, 2, 2, 0), + overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 0), + overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 1), + overworld_frame(gObjectEventPic_RazzBerryTree, 2, 4, 0), + overworld_frame(gObjectEventPic_RazzBerryTree, 2, 4, 1), + overworld_frame(gObjectEventPic_RazzBerryTree, 2, 4, 2), + overworld_frame(gObjectEventPic_RazzBerryTree, 2, 4, 3), + overworld_frame(gObjectEventPic_RazzBerryTree, 2, 4, 4), + overworld_frame(gObjectEventPic_RazzBerryTree, 2, 4, 5), +}; + +const u8 gBerryTreePaletteSlotTable_Razz[] = {3, 4, 4, 4, 4}; + +const struct SpriteFrameImage gObjectEventPicTable_GrepaBerryTree[] = { + overworld_frame(gObjectEventPic_BerryTreeDirtPile, 2, 2, 0), + overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 0), + overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 1), + overworld_frame(gObjectEventPic_GrepaBerryTree, 2, 4, 0), + overworld_frame(gObjectEventPic_GrepaBerryTree, 2, 4, 1), + overworld_frame(gObjectEventPic_GrepaBerryTree, 2, 4, 2), + overworld_frame(gObjectEventPic_GrepaBerryTree, 2, 4, 3), + overworld_frame(gObjectEventPic_GrepaBerryTree, 2, 4, 4), + overworld_frame(gObjectEventPic_GrepaBerryTree, 2, 4, 5), +}; + +const u8 gBerryTreePaletteSlotTable_Grepa[] = {3, 4, 3, 3, 3}; + +const struct SpriteFrameImage gObjectEventPicTable_RabutaBerryTree[] = { + overworld_frame(gObjectEventPic_BerryTreeDirtPile, 2, 2, 0), + overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 0), + overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 1), + overworld_frame(gObjectEventPic_RabutaBerryTree, 2, 4, 0), + overworld_frame(gObjectEventPic_RabutaBerryTree, 2, 4, 1), + overworld_frame(gObjectEventPic_RabutaBerryTree, 2, 4, 2), + overworld_frame(gObjectEventPic_RabutaBerryTree, 2, 4, 3), + overworld_frame(gObjectEventPic_RabutaBerryTree, 2, 4, 4), + overworld_frame(gObjectEventPic_RabutaBerryTree, 2, 4, 5), +}; + +const u8 gBerryTreePaletteSlotTable_Rabuta[] = {3, 4, 4, 4, 4}; + +const struct SpriteFrameImage gObjectEventPicTable_NomelBerryTree[] = { + overworld_frame(gObjectEventPic_BerryTreeDirtPile, 2, 2, 0), + overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 0), + overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 1), + overworld_frame(gObjectEventPic_NomelBerryTree, 2, 4, 0), + overworld_frame(gObjectEventPic_NomelBerryTree, 2, 4, 1), + overworld_frame(gObjectEventPic_NomelBerryTree, 2, 4, 2), + overworld_frame(gObjectEventPic_NomelBerryTree, 2, 4, 3), + overworld_frame(gObjectEventPic_NomelBerryTree, 2, 4, 4), + overworld_frame(gObjectEventPic_NomelBerryTree, 2, 4, 5), +}; + +const u8 gBerryTreePaletteSlotTable_Nomel[] = {3, 4, 3, 3, 3}; + +const struct SpriteFrameImage gObjectEventPicTable_LeppaBerryTree[] = { + overworld_frame(gObjectEventPic_BerryTreeDirtPile, 2, 2, 0), + overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 0), + overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 1), + overworld_frame(gObjectEventPic_LeppaBerryTree, 2, 4, 0), + overworld_frame(gObjectEventPic_LeppaBerryTree, 2, 4, 1), + overworld_frame(gObjectEventPic_LeppaBerryTree, 2, 4, 2), + overworld_frame(gObjectEventPic_LeppaBerryTree, 2, 4, 3), + overworld_frame(gObjectEventPic_LeppaBerryTree, 2, 4, 4), + overworld_frame(gObjectEventPic_LeppaBerryTree, 2, 4, 5), +}; + +const u8 gBerryTreePaletteSlotTable_Leppa[] = {3, 4, 3, 3, 3}; + +const struct SpriteFrameImage gObjectEventPicTable_LiechiBerryTree[] = { + overworld_frame(gObjectEventPic_BerryTreeDirtPile, 2, 2, 0), + overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 0), + overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 1), + overworld_frame(gObjectEventPic_LiechiBerryTree, 2, 4, 0), + overworld_frame(gObjectEventPic_LiechiBerryTree, 2, 4, 1), + overworld_frame(gObjectEventPic_LiechiBerryTree, 2, 4, 2), + overworld_frame(gObjectEventPic_LiechiBerryTree, 2, 4, 3), + overworld_frame(gObjectEventPic_LiechiBerryTree, 2, 4, 4), + overworld_frame(gObjectEventPic_LiechiBerryTree, 2, 4, 5), +}; + +const u8 gBerryTreePaletteSlotTable_Liechi[] = {3, 4, 4, 4, 4}; + +const struct SpriteFrameImage gObjectEventPicTable_HondewBerryTree[] = { + overworld_frame(gObjectEventPic_BerryTreeDirtPile, 2, 2, 0), + overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 0), + overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 1), + overworld_frame(gObjectEventPic_HondewBerryTree, 2, 4, 0), + overworld_frame(gObjectEventPic_HondewBerryTree, 2, 4, 1), + overworld_frame(gObjectEventPic_HondewBerryTree, 2, 4, 2), + overworld_frame(gObjectEventPic_HondewBerryTree, 2, 4, 3), + overworld_frame(gObjectEventPic_HondewBerryTree, 2, 4, 4), + overworld_frame(gObjectEventPic_HondewBerryTree, 2, 4, 5), +}; + +const u8 gBerryTreePaletteSlotTable_Hondew[] = {3, 4, 5, 5, 5}; + +const struct SpriteFrameImage gObjectEventPicTable_AguavBerryTree[] = { + overworld_frame(gObjectEventPic_BerryTreeDirtPile, 2, 2, 0), + overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 0), + overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 1), + overworld_frame(gObjectEventPic_AguavBerryTree, 2, 4, 0), + overworld_frame(gObjectEventPic_AguavBerryTree, 2, 4, 1), + overworld_frame(gObjectEventPic_AguavBerryTree, 2, 4, 2), + overworld_frame(gObjectEventPic_AguavBerryTree, 2, 4, 3), + overworld_frame(gObjectEventPic_AguavBerryTree, 2, 4, 4), + overworld_frame(gObjectEventPic_AguavBerryTree, 2, 4, 5), +}; + +const u8 gBerryTreePaletteSlotTable_Aguav[] = {3, 4, 4, 4, 4}; + +const struct SpriteFrameImage gObjectEventPicTable_WikiBerryTree[] = { + overworld_frame(gObjectEventPic_BerryTreeDirtPile, 2, 2, 0), + overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 0), + overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 1), + overworld_frame(gObjectEventPic_WikiBerryTree, 2, 4, 0), + overworld_frame(gObjectEventPic_WikiBerryTree, 2, 4, 1), + overworld_frame(gObjectEventPic_WikiBerryTree, 2, 4, 2), + overworld_frame(gObjectEventPic_WikiBerryTree, 2, 4, 3), + overworld_frame(gObjectEventPic_WikiBerryTree, 2, 4, 4), + overworld_frame(gObjectEventPic_WikiBerryTree, 2, 4, 5), +}; + +const u8 gBerryTreePaletteSlotTable_Wiki[] = {3, 4, 3, 3, 3}; + +const struct SpriteFrameImage gObjectEventPicTable_PomegBerryTree[] = { + overworld_frame(gObjectEventPic_BerryTreeDirtPile, 2, 2, 0), + overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 0), + overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 1), + overworld_frame(gObjectEventPic_PomegBerryTree, 2, 4, 0), + overworld_frame(gObjectEventPic_PomegBerryTree, 2, 4, 1), + overworld_frame(gObjectEventPic_PomegBerryTree, 2, 4, 2), + overworld_frame(gObjectEventPic_PomegBerryTree, 2, 4, 3), + overworld_frame(gObjectEventPic_PomegBerryTree, 2, 4, 4), + overworld_frame(gObjectEventPic_PomegBerryTree, 2, 4, 5), +}; + +const u8 gBerryTreePaletteSlotTable_Pomeg[] = {3, 4, 3, 3, 3}; + +const struct SpriteFrameImage gObjectEventPicTable_RawstBerryTree[] = { + overworld_frame(gObjectEventPic_BerryTreeDirtPile, 2, 2, 0), + overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 0), + overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 1), + overworld_frame(gObjectEventPic_RawstBerryTree, 2, 4, 0), + overworld_frame(gObjectEventPic_RawstBerryTree, 2, 4, 1), + overworld_frame(gObjectEventPic_RawstBerryTree, 2, 4, 2), + overworld_frame(gObjectEventPic_RawstBerryTree, 2, 4, 3), + overworld_frame(gObjectEventPic_RawstBerryTree, 2, 4, 4), + overworld_frame(gObjectEventPic_RawstBerryTree, 2, 4, 5), +}; + +const u8 gBerryTreePaletteSlotTable_Rawst[] = {3, 4, 4, 4, 4}; + +const struct SpriteFrameImage gObjectEventPicTable_SpelonBerryTree[] = { + overworld_frame(gObjectEventPic_BerryTreeDirtPile, 2, 2, 0), + overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 0), + overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 1), + overworld_frame(gObjectEventPic_SpelonBerryTree, 2, 4, 0), + overworld_frame(gObjectEventPic_SpelonBerryTree, 2, 4, 1), + overworld_frame(gObjectEventPic_SpelonBerryTree, 2, 4, 2), + overworld_frame(gObjectEventPic_SpelonBerryTree, 2, 4, 3), + overworld_frame(gObjectEventPic_SpelonBerryTree, 2, 4, 4), + overworld_frame(gObjectEventPic_SpelonBerryTree, 2, 4, 5), +}; + +const u8 gBerryTreePaletteSlotTable_Spelon[] = {3, 4, 3, 3, 3}; + +const struct SpriteFrameImage gObjectEventPicTable_ChestoBerryTree[] = { + overworld_frame(gObjectEventPic_BerryTreeDirtPile, 2, 2, 0), + overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 0), + overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 1), + overworld_frame(gObjectEventPic_ChestoBerryTree, 2, 4, 0), + overworld_frame(gObjectEventPic_ChestoBerryTree, 2, 4, 1), + overworld_frame(gObjectEventPic_ChestoBerryTree, 2, 4, 2), + overworld_frame(gObjectEventPic_ChestoBerryTree, 2, 4, 3), + overworld_frame(gObjectEventPic_ChestoBerryTree, 2, 4, 4), + overworld_frame(gObjectEventPic_ChestoBerryTree, 2, 4, 5), +}; + +const u8 gBerryTreePaletteSlotTable_Chesto[] = {3, 4, 2, 2, 2}; + +const struct SpriteFrameImage gObjectEventPicTable_OranBerryTree[] = { + overworld_frame(gObjectEventPic_BerryTreeDirtPile, 2, 2, 0), + overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 0), + overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 1), + overworld_frame(gObjectEventPic_OranBerryTree, 2, 4, 0), + overworld_frame(gObjectEventPic_OranBerryTree, 2, 4, 1), + overworld_frame(gObjectEventPic_OranBerryTree, 2, 4, 2), + overworld_frame(gObjectEventPic_OranBerryTree, 2, 4, 3), + overworld_frame(gObjectEventPic_OranBerryTree, 2, 4, 4), + overworld_frame(gObjectEventPic_OranBerryTree, 2, 4, 5), +}; + +const u8 gBerryTreePaletteSlotTable_Oran[] = {3, 4, 2, 2, 2}; + +const struct SpriteFrameImage gObjectEventPicTable_PersimBerryTree[] = { + overworld_frame(gObjectEventPic_BerryTreeDirtPile, 2, 2, 0), + overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 0), + overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 1), + overworld_frame(gObjectEventPic_PersimBerryTree, 2, 4, 0), + overworld_frame(gObjectEventPic_PersimBerryTree, 2, 4, 1), + overworld_frame(gObjectEventPic_PersimBerryTree, 2, 4, 2), + overworld_frame(gObjectEventPic_PersimBerryTree, 2, 4, 3), + overworld_frame(gObjectEventPic_PersimBerryTree, 2, 4, 4), + overworld_frame(gObjectEventPic_PersimBerryTree, 2, 4, 5), +}; + +const u8 gBerryTreePaletteSlotTable_Persim[] = {3, 4, 2, 2, 2}; + +const struct SpriteFrameImage gObjectEventPicTable_SitrusBerryTree[] = { + overworld_frame(gObjectEventPic_BerryTreeDirtPile, 2, 2, 0), + overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 0), + overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 1), + overworld_frame(gObjectEventPic_SitrusBerryTree, 2, 4, 0), + overworld_frame(gObjectEventPic_SitrusBerryTree, 2, 4, 1), + overworld_frame(gObjectEventPic_SitrusBerryTree, 2, 4, 2), + overworld_frame(gObjectEventPic_SitrusBerryTree, 2, 4, 3), + overworld_frame(gObjectEventPic_SitrusBerryTree, 2, 4, 4), + overworld_frame(gObjectEventPic_SitrusBerryTree, 2, 4, 5), +}; + +const u8 gBerryTreePaletteSlotTable_Sitrus[] = {3, 4, 4, 4, 4}; + +const struct SpriteFrameImage gObjectEventPicTable_AspearBerryTree[] = { + overworld_frame(gObjectEventPic_BerryTreeDirtPile, 2, 2, 0), + overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 0), + overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 1), + overworld_frame(gObjectEventPic_AspearBerryTree, 2, 4, 0), + overworld_frame(gObjectEventPic_AspearBerryTree, 2, 4, 1), + overworld_frame(gObjectEventPic_AspearBerryTree, 2, 4, 2), + overworld_frame(gObjectEventPic_AspearBerryTree, 2, 4, 3), + overworld_frame(gObjectEventPic_AspearBerryTree, 2, 4, 4), + overworld_frame(gObjectEventPic_AspearBerryTree, 2, 4, 5), +}; + +const u8 gBerryTreePaletteSlotTable_Aspear[] = {3, 4, 3, 3, 3}; + +const struct SpriteFrameImage gObjectEventPicTable_PamtreBerryTree[] = { + overworld_frame(gObjectEventPic_BerryTreeDirtPile, 2, 2, 0), + overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 0), + overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 1), + overworld_frame(gObjectEventPic_PamtreBerryTree, 2, 4, 0), + overworld_frame(gObjectEventPic_PamtreBerryTree, 2, 4, 1), + overworld_frame(gObjectEventPic_PamtreBerryTree, 2, 4, 2), + overworld_frame(gObjectEventPic_PamtreBerryTree, 2, 4, 3), + overworld_frame(gObjectEventPic_PamtreBerryTree, 2, 4, 4), + overworld_frame(gObjectEventPic_PamtreBerryTree, 2, 4, 5), +}; + +const u8 gBerryTreePaletteSlotTable_Pamtre[] = {3, 4, 2, 2, 2}; + +const struct SpriteFrameImage gObjectEventPicTable_CornnBerryTree[] = { + overworld_frame(gObjectEventPic_BerryTreeDirtPile, 2, 2, 0), + overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 0), + overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 1), + overworld_frame(gObjectEventPic_CornnBerryTree, 2, 4, 0), + overworld_frame(gObjectEventPic_CornnBerryTree, 2, 4, 1), + overworld_frame(gObjectEventPic_CornnBerryTree, 2, 4, 2), + overworld_frame(gObjectEventPic_CornnBerryTree, 2, 4, 3), + overworld_frame(gObjectEventPic_CornnBerryTree, 2, 4, 4), + overworld_frame(gObjectEventPic_CornnBerryTree, 2, 4, 5), +}; + +const u8 gBerryTreePaletteSlotTable_Cornn[] = {3, 4, 2, 2, 2}; + +const struct SpriteFrameImage gObjectEventPicTable_LansatBerryTree[] = { + overworld_frame(gObjectEventPic_BerryTreeDirtPile, 2, 2, 0), + overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 0), + overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 1), + overworld_frame(gObjectEventPic_LansatBerryTree, 2, 4, 0), + overworld_frame(gObjectEventPic_LansatBerryTree, 2, 4, 1), + overworld_frame(gObjectEventPic_LansatBerryTree, 2, 4, 2), + overworld_frame(gObjectEventPic_LansatBerryTree, 2, 4, 3), + overworld_frame(gObjectEventPic_LansatBerryTree, 2, 4, 4), + overworld_frame(gObjectEventPic_LansatBerryTree, 2, 4, 5), +}; + +const u8 gBerryTreePaletteSlotTable_Lansat[] = {3, 4, 2, 2, 2}; + +const struct SpriteFrameImage gObjectEventPicTable_DurinBerryTree[] = { + overworld_frame(gObjectEventPic_BerryTreeDirtPile, 2, 2, 0), + overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 0), + overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 1), + overworld_frame(gObjectEventPic_DurinBerryTree, 2, 4, 0), + overworld_frame(gObjectEventPic_DurinBerryTree, 2, 4, 1), + overworld_frame(gObjectEventPic_DurinBerryTree, 2, 4, 2), + overworld_frame(gObjectEventPic_DurinBerryTree, 2, 4, 3), + overworld_frame(gObjectEventPic_DurinBerryTree, 2, 4, 4), + overworld_frame(gObjectEventPic_DurinBerryTree, 2, 4, 5), +}; + +const u8 gBerryTreePaletteSlotTable_Durin[] = {3, 4, 4, 4, 4}; + +const struct SpriteFrameImage gObjectEventPicTable_TamatoBerryTree[] = { + overworld_frame(gObjectEventPic_BerryTreeDirtPile, 2, 2, 0), + overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 0), + overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 1), + overworld_frame(gObjectEventPic_TamatoBerryTree, 2, 4, 0), + overworld_frame(gObjectEventPic_TamatoBerryTree, 2, 4, 1), + overworld_frame(gObjectEventPic_TamatoBerryTree, 2, 4, 2), + overworld_frame(gObjectEventPic_TamatoBerryTree, 2, 4, 3), + overworld_frame(gObjectEventPic_TamatoBerryTree, 2, 4, 4), + overworld_frame(gObjectEventPic_TamatoBerryTree, 2, 4, 5), +}; + +const u8 gBerryTreePaletteSlotTable_Tamato[] = {3, 4, 2, 2, 2}; + +const u8 gDeadBerryTreeObjectEventGraphicsIdTable[] = {OBJ_EVENT_GFX_BERRY_TREE_EARLY_STAGES, OBJ_EVENT_GFX_BERRY_TREE_EARLY_STAGES, OBJ_EVENT_GFX_BERRY_TREE_EARLY_STAGES, OBJ_EVENT_GFX_BERRY_TREE_EARLY_STAGES, OBJ_EVENT_GFX_BERRY_TREE_EARLY_STAGES}; + +const u8 gBerryTreeObjectEventGraphicsIdTable[] = {OBJ_EVENT_GFX_BERRY_TREE_EARLY_STAGES, OBJ_EVENT_GFX_BERRY_TREE_EARLY_STAGES, OBJ_EVENT_GFX_BERRY_TREE_LATE_STAGES, OBJ_EVENT_GFX_BERRY_TREE_LATE_STAGES, OBJ_EVENT_GFX_BERRY_TREE_LATE_STAGES}; + +const struct SpriteFrameImage *const gBerryTreePicTablePointers[] = { + [ITEM_CHERI_BERRY - FIRST_BERRY_INDEX] = gObjectEventPicTable_CheriBerryTree, + [ITEM_CHESTO_BERRY - FIRST_BERRY_INDEX] = gObjectEventPicTable_ChestoBerryTree, + [ITEM_PECHA_BERRY - FIRST_BERRY_INDEX] = gObjectEventPicTable_PechaBerryTree, + [ITEM_RAWST_BERRY - FIRST_BERRY_INDEX] = gObjectEventPicTable_RawstBerryTree, + [ITEM_ASPEAR_BERRY - FIRST_BERRY_INDEX] = gObjectEventPicTable_AspearBerryTree, + [ITEM_LEPPA_BERRY - FIRST_BERRY_INDEX] = gObjectEventPicTable_LeppaBerryTree, + [ITEM_ORAN_BERRY - FIRST_BERRY_INDEX] = gObjectEventPicTable_OranBerryTree, + [ITEM_PERSIM_BERRY - FIRST_BERRY_INDEX] = gObjectEventPicTable_PersimBerryTree, + [ITEM_LUM_BERRY - FIRST_BERRY_INDEX] = gObjectEventPicTable_LumBerryTree, + [ITEM_SITRUS_BERRY - FIRST_BERRY_INDEX] = gObjectEventPicTable_SitrusBerryTree, + [ITEM_FIGY_BERRY - FIRST_BERRY_INDEX] = gObjectEventPicTable_FigyBerryTree, + [ITEM_WIKI_BERRY - FIRST_BERRY_INDEX] = gObjectEventPicTable_WikiBerryTree, + [ITEM_MAGO_BERRY - FIRST_BERRY_INDEX] = gObjectEventPicTable_MagoBerryTree, + [ITEM_AGUAV_BERRY - FIRST_BERRY_INDEX] = gObjectEventPicTable_AguavBerryTree, + [ITEM_IAPAPA_BERRY - FIRST_BERRY_INDEX] = gObjectEventPicTable_IapapaBerryTree, + [ITEM_RAZZ_BERRY - FIRST_BERRY_INDEX] = gObjectEventPicTable_RazzBerryTree, + [ITEM_BLUK_BERRY - FIRST_BERRY_INDEX] = gObjectEventPicTable_RazzBerryTree, + [ITEM_NANAB_BERRY - FIRST_BERRY_INDEX] = gObjectEventPicTable_MagoBerryTree, + [ITEM_WEPEAR_BERRY - FIRST_BERRY_INDEX] = gObjectEventPicTable_WepearBerryTree, + [ITEM_PINAP_BERRY - FIRST_BERRY_INDEX] = gObjectEventPicTable_IapapaBerryTree, + [ITEM_POMEG_BERRY - FIRST_BERRY_INDEX] = gObjectEventPicTable_PomegBerryTree, + [ITEM_KELPSY_BERRY - FIRST_BERRY_INDEX] = gObjectEventPicTable_KelpsyBerryTree, + [ITEM_QUALOT_BERRY - FIRST_BERRY_INDEX] = gObjectEventPicTable_WepearBerryTree, + [ITEM_HONDEW_BERRY - FIRST_BERRY_INDEX] = gObjectEventPicTable_HondewBerryTree, + [ITEM_GREPA_BERRY - FIRST_BERRY_INDEX] = gObjectEventPicTable_GrepaBerryTree, + [ITEM_TAMATO_BERRY - FIRST_BERRY_INDEX] = gObjectEventPicTable_TamatoBerryTree, + [ITEM_CORNN_BERRY - FIRST_BERRY_INDEX] = gObjectEventPicTable_CornnBerryTree, + [ITEM_MAGOST_BERRY - FIRST_BERRY_INDEX] = gObjectEventPicTable_PomegBerryTree, + [ITEM_RABUTA_BERRY - FIRST_BERRY_INDEX] = gObjectEventPicTable_RabutaBerryTree, + [ITEM_NOMEL_BERRY - FIRST_BERRY_INDEX] = gObjectEventPicTable_NomelBerryTree, + [ITEM_SPELON_BERRY - FIRST_BERRY_INDEX] = gObjectEventPicTable_SpelonBerryTree, + [ITEM_PAMTRE_BERRY - FIRST_BERRY_INDEX] = gObjectEventPicTable_PamtreBerryTree, + [ITEM_WATMEL_BERRY - FIRST_BERRY_INDEX] = gObjectEventPicTable_RabutaBerryTree, + [ITEM_DURIN_BERRY - FIRST_BERRY_INDEX] = gObjectEventPicTable_DurinBerryTree, + [ITEM_BELUE_BERRY - FIRST_BERRY_INDEX] = gObjectEventPicTable_HondewBerryTree, + [ITEM_LIECHI_BERRY - FIRST_BERRY_INDEX] = gObjectEventPicTable_LiechiBerryTree, + [ITEM_GANLON_BERRY - FIRST_BERRY_INDEX] = gObjectEventPicTable_HondewBerryTree, + [ITEM_SALAC_BERRY - FIRST_BERRY_INDEX] = gObjectEventPicTable_AguavBerryTree, + [ITEM_PETAYA_BERRY - FIRST_BERRY_INDEX] = gObjectEventPicTable_PomegBerryTree, + [ITEM_APICOT_BERRY - FIRST_BERRY_INDEX] = gObjectEventPicTable_GrepaBerryTree, + [ITEM_LANSAT_BERRY - FIRST_BERRY_INDEX] = gObjectEventPicTable_LansatBerryTree, + [ITEM_STARF_BERRY - FIRST_BERRY_INDEX] = gObjectEventPicTable_CornnBerryTree, + [ITEM_ENIGMA_BERRY - FIRST_BERRY_INDEX] = gObjectEventPicTable_DurinBerryTree, +}; + +const u8 *const gBerryTreePaletteSlotTablePointers[] = { + [ITEM_CHERI_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Cheri, + [ITEM_CHESTO_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Chesto, + [ITEM_PECHA_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Pecha, + [ITEM_RAWST_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Rawst, + [ITEM_ASPEAR_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Aspear, + [ITEM_LEPPA_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Leppa, + [ITEM_ORAN_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Oran, + [ITEM_PERSIM_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Persim, + [ITEM_LUM_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Lum, + [ITEM_SITRUS_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Sitrus, + [ITEM_FIGY_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Figy, + [ITEM_WIKI_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Wiki, + [ITEM_MAGO_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Mago, + [ITEM_AGUAV_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Aguav, + [ITEM_IAPAPA_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Iapapa, + [ITEM_RAZZ_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Razz, + [ITEM_BLUK_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Razz, + [ITEM_NANAB_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Mago, + [ITEM_WEPEAR_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Wepear, + [ITEM_PINAP_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Iapapa, + [ITEM_POMEG_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Pomeg, + [ITEM_KELPSY_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Kelpsy, + [ITEM_QUALOT_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Wepear, + [ITEM_HONDEW_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Hondew, + [ITEM_GREPA_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Grepa, + [ITEM_TAMATO_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Tamato, + [ITEM_CORNN_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Cornn, + [ITEM_MAGOST_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Pomeg, + [ITEM_RABUTA_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Rabuta, + [ITEM_NOMEL_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Nomel, + [ITEM_SPELON_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Spelon, + [ITEM_PAMTRE_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Pamtre, + [ITEM_WATMEL_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Rabuta, + [ITEM_DURIN_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Durin, + [ITEM_BELUE_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Hondew, + [ITEM_LIECHI_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Liechi, + [ITEM_GANLON_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Hondew, + [ITEM_SALAC_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Aguav, + [ITEM_PETAYA_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Pomeg, + [ITEM_APICOT_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Grepa, + [ITEM_LANSAT_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Lansat, + [ITEM_STARF_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Cornn, + [ITEM_ENIGMA_BERRY - FIRST_BERRY_INDEX] = gBerryTreePaletteSlotTable_Durin, +}; + +const u8 *const gBerryTreeObjectEventGraphicsIdTablePointers[] = { + [ITEM_CHERI_BERRY - FIRST_BERRY_INDEX] = gBerryTreeObjectEventGraphicsIdTable, + [ITEM_CHESTO_BERRY - FIRST_BERRY_INDEX] = gBerryTreeObjectEventGraphicsIdTable, + [ITEM_PECHA_BERRY - FIRST_BERRY_INDEX] = gBerryTreeObjectEventGraphicsIdTable, + [ITEM_RAWST_BERRY - FIRST_BERRY_INDEX] = gBerryTreeObjectEventGraphicsIdTable, + [ITEM_ASPEAR_BERRY - FIRST_BERRY_INDEX] = gBerryTreeObjectEventGraphicsIdTable, + [ITEM_LEPPA_BERRY - FIRST_BERRY_INDEX] = gBerryTreeObjectEventGraphicsIdTable, + [ITEM_ORAN_BERRY - FIRST_BERRY_INDEX] = gBerryTreeObjectEventGraphicsIdTable, + [ITEM_PERSIM_BERRY - FIRST_BERRY_INDEX] = gBerryTreeObjectEventGraphicsIdTable, + [ITEM_LUM_BERRY - FIRST_BERRY_INDEX] = gBerryTreeObjectEventGraphicsIdTable, + [ITEM_SITRUS_BERRY - FIRST_BERRY_INDEX] = gBerryTreeObjectEventGraphicsIdTable, + [ITEM_FIGY_BERRY - FIRST_BERRY_INDEX] = gBerryTreeObjectEventGraphicsIdTable, + [ITEM_WIKI_BERRY - FIRST_BERRY_INDEX] = gBerryTreeObjectEventGraphicsIdTable, + [ITEM_MAGO_BERRY - FIRST_BERRY_INDEX] = gBerryTreeObjectEventGraphicsIdTable, + [ITEM_AGUAV_BERRY - FIRST_BERRY_INDEX] = gBerryTreeObjectEventGraphicsIdTable, + [ITEM_IAPAPA_BERRY - FIRST_BERRY_INDEX] = gBerryTreeObjectEventGraphicsIdTable, + [ITEM_RAZZ_BERRY - FIRST_BERRY_INDEX] = gBerryTreeObjectEventGraphicsIdTable, + [ITEM_BLUK_BERRY - FIRST_BERRY_INDEX] = gBerryTreeObjectEventGraphicsIdTable, + [ITEM_NANAB_BERRY - FIRST_BERRY_INDEX] = gBerryTreeObjectEventGraphicsIdTable, + [ITEM_WEPEAR_BERRY - FIRST_BERRY_INDEX] = gBerryTreeObjectEventGraphicsIdTable, + [ITEM_PINAP_BERRY - FIRST_BERRY_INDEX] = gBerryTreeObjectEventGraphicsIdTable, + [ITEM_POMEG_BERRY - FIRST_BERRY_INDEX] = gBerryTreeObjectEventGraphicsIdTable, + [ITEM_KELPSY_BERRY - FIRST_BERRY_INDEX] = gBerryTreeObjectEventGraphicsIdTable, + [ITEM_QUALOT_BERRY - FIRST_BERRY_INDEX] = gBerryTreeObjectEventGraphicsIdTable, + [ITEM_HONDEW_BERRY - FIRST_BERRY_INDEX] = gBerryTreeObjectEventGraphicsIdTable, + [ITEM_GREPA_BERRY - FIRST_BERRY_INDEX] = gBerryTreeObjectEventGraphicsIdTable, + [ITEM_TAMATO_BERRY - FIRST_BERRY_INDEX] = gBerryTreeObjectEventGraphicsIdTable, + [ITEM_CORNN_BERRY - FIRST_BERRY_INDEX] = gBerryTreeObjectEventGraphicsIdTable, + [ITEM_MAGOST_BERRY - FIRST_BERRY_INDEX] = gBerryTreeObjectEventGraphicsIdTable, + [ITEM_RABUTA_BERRY - FIRST_BERRY_INDEX] = gBerryTreeObjectEventGraphicsIdTable, + [ITEM_NOMEL_BERRY - FIRST_BERRY_INDEX] = gBerryTreeObjectEventGraphicsIdTable, + [ITEM_SPELON_BERRY - FIRST_BERRY_INDEX] = gBerryTreeObjectEventGraphicsIdTable, + [ITEM_PAMTRE_BERRY - FIRST_BERRY_INDEX] = gBerryTreeObjectEventGraphicsIdTable, + [ITEM_WATMEL_BERRY - FIRST_BERRY_INDEX] = gBerryTreeObjectEventGraphicsIdTable, + [ITEM_DURIN_BERRY - FIRST_BERRY_INDEX] = gBerryTreeObjectEventGraphicsIdTable, + [ITEM_BELUE_BERRY - FIRST_BERRY_INDEX] = gBerryTreeObjectEventGraphicsIdTable, + [ITEM_LIECHI_BERRY - FIRST_BERRY_INDEX] = gBerryTreeObjectEventGraphicsIdTable, + [ITEM_GANLON_BERRY - FIRST_BERRY_INDEX] = gBerryTreeObjectEventGraphicsIdTable, + [ITEM_SALAC_BERRY - FIRST_BERRY_INDEX] = gBerryTreeObjectEventGraphicsIdTable, + [ITEM_PETAYA_BERRY - FIRST_BERRY_INDEX] = gBerryTreeObjectEventGraphicsIdTable, + [ITEM_APICOT_BERRY - FIRST_BERRY_INDEX] = gBerryTreeObjectEventGraphicsIdTable, + [ITEM_LANSAT_BERRY - FIRST_BERRY_INDEX] = gBerryTreeObjectEventGraphicsIdTable, + [ITEM_STARF_BERRY - FIRST_BERRY_INDEX] = gBerryTreeObjectEventGraphicsIdTable, + [ITEM_ENIGMA_BERRY - FIRST_BERRY_INDEX] = gBerryTreeObjectEventGraphicsIdTable, + // 3 unused berries. + [ITEM_0B0 - FIRST_BERRY_INDEX] = gBerryTreeObjectEventGraphicsIdTable, + [ITEM_0B1 - FIRST_BERRY_INDEX] = gBerryTreeObjectEventGraphicsIdTable, + [ITEM_0B2 - FIRST_BERRY_INDEX] = gBerryTreeObjectEventGraphicsIdTable, +}; diff --git a/src/data/field_event_obj/movement_action_func_tables.h b/src/data/object_events/movement_action_func_tables.h index 8e136b58b..8cf7d1699 100755 --- a/src/data/field_event_obj/movement_action_func_tables.h +++ b/src/data/object_events/movement_action_func_tables.h @@ -1,427 +1,427 @@ -u8 MovementAction_FaceDown_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_FaceDown_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_PauseSpriteAnim(struct EventObject *, struct Sprite *); -u8 MovementAction_FaceUp_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_FaceLeft_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_FaceRight_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_WalkSlowDiagonalUpLeft_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_WalkSlowDiagonalUpLeft_Step1(struct EventObject *, struct Sprite *); -u8 MovementAction_WalkSlowDiagonalUpRight_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_WalkSlowDiagonalUpRight_Step1(struct EventObject *, struct Sprite *); -u8 MovementAction_WalkSlowDiagonalDownLeft_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_WalkSlowDiagonalDownLeft_Step1(struct EventObject *, struct Sprite *); -u8 MovementAction_WalkSlowDiagonalDownRight_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_WalkSlowDiagonalDownRight_Step1(struct EventObject *, struct Sprite *); -u8 MovementAction_WalkSlowDown_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_WalkSlowDown_Step1(struct EventObject *, struct Sprite *); -u8 MovementAction_WalkSlowUp_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_WalkSlowUp_Step1(struct EventObject *, struct Sprite *); -u8 MovementAction_WalkSlowLeft_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_WalkSlowLeft_Step1(struct EventObject *, struct Sprite *); -u8 MovementAction_WalkSlowRight_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_WalkSlowRight_Step1(struct EventObject *, struct Sprite *); -u8 MovementAction_WalkNormalDiagonalUpLeft_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_WalkNormalDiagonalUpLeft_Step1(struct EventObject *, struct Sprite *); -u8 MovementAction_WalkNormalDiagonalUpRight_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_WalkNormalDiagonalUpRight_Step1(struct EventObject *, struct Sprite *); -u8 MovementAction_WalkNormalDiagonalDownLeft_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_WalkNormalDiagonalDownLeft_Step1(struct EventObject *, struct Sprite *); -u8 MovementAction_WalkNormalDiagonalDownRight_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_WalkNormalDiagonalDownRight_Step1(struct EventObject *, struct Sprite *); -u8 MovementAction_WalkNormalDown_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_WalkNormalDown_Step1(struct EventObject *, struct Sprite *); -u8 MovementAction_WalkNormalUp_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_WalkNormalUp_Step1(struct EventObject *, struct Sprite *); -u8 MovementAction_WalkNormalLeft_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_WalkNormalLeft_Step1(struct EventObject *, struct Sprite *); -u8 MovementAction_WalkNormalRight_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_WalkNormalRight_Step1(struct EventObject *, struct Sprite *); -u8 MovementAction_Jump2Down_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_Jump2Down_Step1(struct EventObject *, struct Sprite *); -u8 MovementAction_Jump2Up_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_Jump2Up_Step1(struct EventObject *, struct Sprite *); -u8 MovementAction_Jump2Left_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_Jump2Left_Step1(struct EventObject *, struct Sprite *); -u8 MovementAction_Jump2Right_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_Jump2Right_Step1(struct EventObject *, struct Sprite *); -u8 MovementAction_Delay1_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_Delay_Step1(struct EventObject *, struct Sprite *); -u8 MovementAction_Finish(struct EventObject *, struct Sprite *); -u8 MovementAction_Delay2_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_Delay4_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_Delay8_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_Delay16_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_WalkFastDown_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_WalkFastDown_Step1(struct EventObject *, struct Sprite *); -u8 MovementAction_WalkFastUp_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_WalkFastUp_Step1(struct EventObject *, struct Sprite *); -u8 MovementAction_WalkFastLeft_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_WalkFastLeft_Step1(struct EventObject *, struct Sprite *); -u8 MovementAction_WalkFastRight_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_WalkFastRight_Step1(struct EventObject *, struct Sprite *); -u8 MovementAction_WalkInPlaceSlowDown_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_WalkInPlaceSlow_Step1(struct EventObject *, struct Sprite *); -u8 MovementAction_WalkInPlaceSlowUp_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_WalkInPlaceSlowLeft_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_WalkInPlaceSlowRight_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_WalkInPlaceNormalDown_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_WalkInPlace_Step1(struct EventObject *, struct Sprite *); -u8 MovementAction_WalkInPlaceNormalUp_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_WalkInPlaceNormalLeft_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_WalkInPlaceNormalRight_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_WalkInPlaceFastDown_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_WalkInPlaceFastUp_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_WalkInPlaceFastLeft_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_WalkInPlaceFastRight_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_WalkInPlaceFastestDown_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_WalkInPlaceFastestUp_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_WalkInPlaceFastestLeft_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_WalkInPlaceFastestRight_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_RideWaterCurrentDown_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_RideWaterCurrentDown_Step1(struct EventObject *, struct Sprite *); -u8 MovementAction_RideWaterCurrentUp_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_RideWaterCurrentUp_Step1(struct EventObject *, struct Sprite *); -u8 MovementAction_RideWaterCurrentLeft_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_RideWaterCurrentLeft_Step1(struct EventObject *, struct Sprite *); -u8 MovementAction_RideWaterCurrentRight_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_RideWaterCurrentRight_Step1(struct EventObject *, struct Sprite *); -u8 MovementAction_WalkFastestDown_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_WalkFastestDown_Step1(struct EventObject *, struct Sprite *); -u8 MovementAction_WalkFastestUp_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_WalkFastestUp_Step1(struct EventObject *, struct Sprite *); -u8 MovementAction_WalkFastestLeft_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_WalkFastestLeft_Step1(struct EventObject *, struct Sprite *); -u8 MovementAction_WalkFastestRight_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_WalkFastestRight_Step1(struct EventObject *, struct Sprite *); -u8 MovementAction_SlideDown_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_SlideDown_Step1(struct EventObject *, struct Sprite *); -u8 MovementAction_SlideUp_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_SlideUp_Step1(struct EventObject *, struct Sprite *); -u8 MovementAction_SlideLeft_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_SlideLeft_Step1(struct EventObject *, struct Sprite *); -u8 MovementAction_SlideRight_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_SlideRight_Step1(struct EventObject *, struct Sprite *); -u8 MovementAction_PlayerRunDown_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_PlayerRunDown_Step1(struct EventObject *, struct Sprite *); -u8 MovementAction_PlayerRunUp_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_PlayerRunUp_Step1(struct EventObject *, struct Sprite *); -u8 MovementAction_PlayerRunLeft_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_PlayerRunLeft_Step1(struct EventObject *, struct Sprite *); -u8 MovementAction_PlayerRunRight_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_PlayerRunRight_Step1(struct EventObject *, struct Sprite *); -u8 MovementAction_StartAnimInDirection_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_WaitSpriteAnim(struct EventObject *, struct Sprite *); -u8 MovementAction_JumpSpecialDown_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_JumpSpecialDown_Step1(struct EventObject *, struct Sprite *); -u8 MovementAction_JumpSpecialUp_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_JumpSpecialUp_Step1(struct EventObject *, struct Sprite *); -u8 MovementAction_JumpSpecialLeft_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_JumpSpecialLeft_Step1(struct EventObject *, struct Sprite *); -u8 MovementAction_JumpSpecialRight_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_JumpSpecialRight_Step1(struct EventObject *, struct Sprite *); -u8 MovementAction_FacePlayer_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_FaceAwayPlayer_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_LockFacingDirection_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_UnlockFacingDirection_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_JumpDown_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_JumpDown_Step1(struct EventObject *, struct Sprite *); -u8 MovementAction_JumpUp_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_JumpUp_Step1(struct EventObject *, struct Sprite *); -u8 MovementAction_JumpLeft_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_JumpLeft_Step1(struct EventObject *, struct Sprite *); -u8 MovementAction_JumpRight_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_JumpRight_Step1(struct EventObject *, struct Sprite *); -u8 MovementAction_JumpInPlaceDown_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_JumpInPlaceDown_Step1(struct EventObject *, struct Sprite *); -u8 MovementAction_JumpInPlaceUp_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_JumpInPlaceUp_Step1(struct EventObject *, struct Sprite *); -u8 MovementAction_JumpInPlaceLeft_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_JumpInPlaceLeft_Step1(struct EventObject *, struct Sprite *); -u8 MovementAction_JumpInPlaceRight_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_JumpInPlaceRight_Step1(struct EventObject *, struct Sprite *); -u8 MovementAction_JumpInPlaceDownUp_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_JumpInPlaceDownUp_Step1(struct EventObject *, struct Sprite *); -u8 MovementAction_JumpInPlaceUpDown_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_JumpInPlaceUpDown_Step1(struct EventObject *, struct Sprite *); -u8 MovementAction_JumpInPlaceLeftRight_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_JumpInPlaceLeftRight_Step1(struct EventObject *, struct Sprite *); -u8 MovementAction_JumpInPlaceRightLeft_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_JumpInPlaceRightLeft_Step1(struct EventObject *, struct Sprite *); -u8 MovementAction_FaceOriginalDirection_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_NurseJoyBowDown_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_EnableJumpLandingGroundEffect_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_DisableJumpLandingGroundEffect_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_DisableAnimation_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_RestoreAnimation_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_SetInvisible_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_SetVisible_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_EmoteExclamationMark_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_EmoteQuestionMark_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_EmoteHeart_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_RevealTrainer_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_RevealTrainer_Step1(struct EventObject *, struct Sprite *); -u8 MovementAction_RockSmashBreak_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_RockSmashBreak_Step1(struct EventObject *, struct Sprite *); -u8 MovementAction_RockSmashBreak_Step2(struct EventObject *, struct Sprite *); -u8 MovementAction_CutTree_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_CutTree_Step1(struct EventObject *, struct Sprite *); -u8 MovementAction_CutTree_Step2(struct EventObject *, struct Sprite *); -u8 MovementAction_SetFixedPriority_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_ClearFixedPriority_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_InitAffineAnim_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_ClearAffineAnim_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_HideReflection_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_ShowReflection_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_WalkDownStartAffine_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_WalkDownStartAffine_Step1(struct EventObject *, struct Sprite *); -u8 MovementAction_WalkDownAffine_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_WalkDownAffine_Step1(struct EventObject *, struct Sprite *); -u8 MovementAction_WalkLeftAffine_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_WalkLeftAffine_Step1(struct EventObject *, struct Sprite *); -u8 MovementAction_WalkRightAffine_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_WalkRightAffine_Step1(struct EventObject *, struct Sprite *); -u8 MovementAction_AcroWheelieFaceDown_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_AcroWheelieFaceUp_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_AcroWheelieFaceLeft_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_AcroWheelieFaceRight_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_AcroPopWheelieDown_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_AcroPopWheelieUp_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_AcroPopWheelieLeft_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_AcroPopWheelieRight_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_AcroEndWheelieFaceDown_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_AcroEndWheelieFaceUp_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_AcroEndWheelieFaceLeft_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_AcroEndWheelieFaceRight_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_UnusedAcroActionDown_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_UnusedAcroActionUp_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_UnusedAcroActionLeft_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_UnusedAcroActionRight_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_Figure8_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_Figure8_Step1(struct EventObject *, struct Sprite *); -u8 MovementAction_AcroWheelieHopFaceDown_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_AcroWheelieHopFaceDown_Step1(struct EventObject *, struct Sprite *); -u8 MovementAction_AcroWheelieHopFaceUp_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_AcroWheelieHopFaceUp_Step1(struct EventObject *, struct Sprite *); -u8 MovementAction_AcroWheelieHopFaceLeft_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_AcroWheelieHopFaceLeft_Step1(struct EventObject *, struct Sprite *); -u8 MovementAction_AcroWheelieHopFaceRight_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_AcroWheelieHopFaceRight_Step1(struct EventObject *, struct Sprite *); -u8 MovementAction_AcroWheelieHopDown_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_AcroWheelieHopDown_Step1(struct EventObject *, struct Sprite *); -u8 MovementAction_AcroWheelieHopUp_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_AcroWheelieHopUp_Step1(struct EventObject *, struct Sprite *); -u8 MovementAction_AcroWheelieHopLeft_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_AcroWheelieHopLeft_Step1(struct EventObject *, struct Sprite *); -u8 MovementAction_AcroWheelieHopRight_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_AcroWheelieHopRight_Step1(struct EventObject *, struct Sprite *); -u8 MovementAction_AcroWheelieJumpDown_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_AcroWheelieJumpDown_Step1(struct EventObject *, struct Sprite *); -u8 MovementAction_AcroWheelieJumpUp_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_AcroWheelieJumpUp_Step1(struct EventObject *, struct Sprite *); -u8 MovementAction_AcroWheelieJumpLeft_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_AcroWheelieJumpLeft_Step1(struct EventObject *, struct Sprite *); -u8 MovementAction_AcroWheelieJumpRight_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_AcroWheelieJumpRight_Step1(struct EventObject *, struct Sprite *); -u8 MovementAction_AcroWheelieInPlaceDown_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_AcroWheelieInPlaceUp_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_AcroWheelieInPlaceLeft_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_AcroWheelieInPlaceRight_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_AcroPopWheelieMoveDown_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_AcroPopWheelieMoveDown_Step1(struct EventObject *, struct Sprite *); -u8 MovementAction_AcroPopWheelieMoveUp_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_AcroPopWheelieMoveUp_Step1(struct EventObject *, struct Sprite *); -u8 MovementAction_AcroPopWheelieMoveLeft_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_AcroPopWheelieMoveLeft_Step1(struct EventObject *, struct Sprite *); -u8 MovementAction_AcroPopWheelieMoveRight_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_AcroPopWheelieMoveRight_Step1(struct EventObject *, struct Sprite *); -u8 MovementAction_AcroWheelieMoveDown_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_AcroWheelieMoveDown_Step1(struct EventObject *, struct Sprite *); -u8 MovementAction_AcroWheelieMoveUp_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_AcroWheelieMoveUp_Step1(struct EventObject *, struct Sprite *); -u8 MovementAction_AcroWheelieMoveLeft_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_AcroWheelieMoveLeft_Step1(struct EventObject *, struct Sprite *); -u8 MovementAction_AcroWheelieMoveRight_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_AcroWheelieMoveRight_Step1(struct EventObject *, struct Sprite *); -u8 MovementAction_AcroEndWheelieMoveDown_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_AcroEndWheelieMoveDown_Step1(struct EventObject *, struct Sprite *); -u8 MovementAction_AcroEndWheelieMoveUp_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_AcroEndWheelieMoveUp_Step1(struct EventObject *, struct Sprite *); -u8 MovementAction_AcroEndWheelieMoveLeft_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_AcroEndWheelieMoveLeft_Step1(struct EventObject *, struct Sprite *); -u8 MovementAction_AcroEndWheelieMoveRight_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_AcroEndWheelieMoveRight_Step1(struct EventObject *, struct Sprite *); -u8 MovementAction_Levitate_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_StopLevitate_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_DestroyExtraTaskIfAtTop_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_StoreAndLockAnim_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_Finish(struct EventObject *, struct Sprite *); -u8 MovementAction_FreeAndUnlockAnim_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_FlyUp_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_FlyUp_Step1(struct EventObject *, struct Sprite *); -u8 MovementAction_Fly_Finish(struct EventObject *, struct Sprite *); -u8 MovementAction_FlyDown_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_FlyDown_Step1(struct EventObject *, struct Sprite *); - -u8 (*const gMovementActionFuncs_FaceDown[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_FaceUp[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_FaceLeft[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_FaceRight[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkSlowDown[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkSlowUp[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkSlowLeft[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkSlowRight[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkNormalDown[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkNormalUp[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkNormalLeft[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkNormalRight[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_Jump2Down[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_Jump2Up[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_Jump2Left[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_Jump2Right[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_Delay1[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_Delay2[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_Delay4[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_Delay8[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_Delay16[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkFastDown[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkFastUp[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkFastLeft[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkFastRight[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkInPlaceSlowDown[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkInPlaceSlowUp[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkInPlaceSlowLeft[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkInPlaceSlowRight[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkInPlaceNormalDown[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkInPlaceNormalUp[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkInPlaceNormalLeft[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkInPlaceNormalRight[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkInPlaceFastDown[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkInPlaceFastUp[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkInPlaceFastLeft[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkInPlaceFastRight[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkInPlaceFastestDown[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkInPlaceFastestUp[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkInPlaceFastestLeft[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkInPlaceFastestRight[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_RideWaterCurrentDown[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_RideWaterCurrentUp[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_RideWaterCurrentLeft[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_RideWaterCurrentRight[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkFastestDown[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkFastestUp[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkFastestLeft[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkFastestRight[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_SlideDown[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_SlideUp[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_SlideLeft[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_SlideRight[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_PlayerRunDown[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_PlayerRunUp[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_PlayerRunLeft[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_PlayerRunRight[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_StartAnimInDirection[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_JumpSpecialDown[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_JumpSpecialUp[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_JumpSpecialLeft[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_JumpSpecialRight[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_FacePlayer[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_FaceAwayPlayer[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_LockFacingDirection[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_UnlockFacingDirection[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_JumpDown[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_JumpUp[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_JumpLeft[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_JumpRight[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_JumpInPlaceDown[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_JumpInPlaceUp[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_JumpInPlaceLeft[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_JumpInPlaceRight[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_JumpInPlaceDownUp[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_JumpInPlaceUpDown[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_JumpInPlaceLeftRight[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_JumpInPlaceRightLeft[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_FaceOriginalDirection[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_NurseJoyBowDown[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_EnableJumpLandingGroundEffect[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_DisableJumpLandingGroundEffect[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_DisableAnimation[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_RestoreAnimation[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_SetInvisible[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_SetVisible[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_EmoteExclamationMark[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_EmoteQuestionMark[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_EmoteHeart[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_RevealTrainer[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_RockSmashBreak[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_CutTree[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_SetFixedPriority[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_ClearFixedPriority[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_InitAffineAnim[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_ClearAffineAnim[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_HideReflection[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_ShowReflection[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkDownStartAffine[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkDownAffine[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroWheelieFaceDown[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroWheelieFaceUp[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroWheelieFaceLeft[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroWheelieFaceRight[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroPopWheelieDown[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroPopWheelieUp[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroPopWheelieLeft[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroPopWheelieRight[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroEndWheelieFaceDown[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroEndWheelieFaceUp[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroEndWheelieFaceLeft[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroEndWheelieFaceRight[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroWheelieHopFaceDown[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroWheelieHopFaceUp[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroWheelieHopFaceLeft[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroWheelieHopFaceRight[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroWheelieHopDown[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroWheelieHopUp[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroWheelieHopLeft[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroWheelieHopRight[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroWheelieJumpDown[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroWheelieJumpUp[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroWheelieJumpLeft[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroWheelieJumpRight[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroWheelieInPlaceDown[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroWheelieInPlaceUp[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroWheelieInPlaceLeft[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroWheelieInPlaceRight[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroPopWheelieMoveDown[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroPopWheelieMoveUp[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroPopWheelieMoveLeft[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroPopWheelieMoveRight[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroWheelieMoveDown[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroWheelieMoveUp[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroWheelieMoveLeft[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroWheelieMoveRight[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroEndWheelieMoveDown[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroEndWheelieMoveUp[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroEndWheelieMoveLeft[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroEndWheelieMoveRight[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkNormalDiagonalUpLeft[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkNormalDiagonalUpRight[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkNormalDiagonalDownLeft[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkNormalDiagonalDownRight[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkSlowDiagonalUpLeft[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkSlowDiagonalUpRight[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkSlowDiagonalDownLeft[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkSlowDiagonalDownRight[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_StoreAndLockAnim[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_FreeAndUnlockAnim[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkLeftAffine[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkRightAffine[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_Levitate[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_StopLevitate[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_DestroyExtraTaskIfAtTop[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_Figure8[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_FlyUp[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_FlyDown[])(struct EventObject *, struct Sprite *); - -u8 (*const *const gMovementActionFuncs[])(struct EventObject *, struct Sprite *) = { +u8 MovementAction_FaceDown_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_FaceDown_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_PauseSpriteAnim(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_FaceUp_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_FaceLeft_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_FaceRight_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_WalkSlowDiagonalUpLeft_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_WalkSlowDiagonalUpLeft_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_WalkSlowDiagonalUpRight_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_WalkSlowDiagonalUpRight_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_WalkSlowDiagonalDownLeft_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_WalkSlowDiagonalDownLeft_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_WalkSlowDiagonalDownRight_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_WalkSlowDiagonalDownRight_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_WalkSlowDown_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_WalkSlowDown_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_WalkSlowUp_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_WalkSlowUp_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_WalkSlowLeft_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_WalkSlowLeft_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_WalkSlowRight_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_WalkSlowRight_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_WalkNormalDiagonalUpLeft_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_WalkNormalDiagonalUpLeft_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_WalkNormalDiagonalUpRight_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_WalkNormalDiagonalUpRight_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_WalkNormalDiagonalDownLeft_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_WalkNormalDiagonalDownLeft_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_WalkNormalDiagonalDownRight_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_WalkNormalDiagonalDownRight_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_WalkNormalDown_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_WalkNormalDown_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_WalkNormalUp_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_WalkNormalUp_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_WalkNormalLeft_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_WalkNormalLeft_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_WalkNormalRight_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_WalkNormalRight_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_Jump2Down_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_Jump2Down_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_Jump2Up_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_Jump2Up_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_Jump2Left_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_Jump2Left_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_Jump2Right_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_Jump2Right_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_Delay1_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_Delay_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_Finish(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_Delay2_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_Delay4_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_Delay8_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_Delay16_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_WalkFastDown_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_WalkFastDown_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_WalkFastUp_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_WalkFastUp_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_WalkFastLeft_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_WalkFastLeft_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_WalkFastRight_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_WalkFastRight_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_WalkInPlaceSlowDown_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_WalkInPlaceSlow_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_WalkInPlaceSlowUp_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_WalkInPlaceSlowLeft_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_WalkInPlaceSlowRight_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_WalkInPlaceNormalDown_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_WalkInPlace_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_WalkInPlaceNormalUp_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_WalkInPlaceNormalLeft_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_WalkInPlaceNormalRight_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_WalkInPlaceFastDown_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_WalkInPlaceFastUp_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_WalkInPlaceFastLeft_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_WalkInPlaceFastRight_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_WalkInPlaceFastestDown_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_WalkInPlaceFastestUp_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_WalkInPlaceFastestLeft_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_WalkInPlaceFastestRight_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_RideWaterCurrentDown_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_RideWaterCurrentDown_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_RideWaterCurrentUp_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_RideWaterCurrentUp_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_RideWaterCurrentLeft_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_RideWaterCurrentLeft_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_RideWaterCurrentRight_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_RideWaterCurrentRight_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_WalkFastestDown_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_WalkFastestDown_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_WalkFastestUp_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_WalkFastestUp_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_WalkFastestLeft_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_WalkFastestLeft_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_WalkFastestRight_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_WalkFastestRight_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_SlideDown_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_SlideDown_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_SlideUp_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_SlideUp_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_SlideLeft_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_SlideLeft_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_SlideRight_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_SlideRight_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_PlayerRunDown_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_PlayerRunDown_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_PlayerRunUp_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_PlayerRunUp_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_PlayerRunLeft_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_PlayerRunLeft_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_PlayerRunRight_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_PlayerRunRight_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_StartAnimInDirection_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_WaitSpriteAnim(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_JumpSpecialDown_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_JumpSpecialDown_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_JumpSpecialUp_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_JumpSpecialUp_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_JumpSpecialLeft_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_JumpSpecialLeft_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_JumpSpecialRight_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_JumpSpecialRight_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_FacePlayer_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_FaceAwayPlayer_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_LockFacingDirection_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_UnlockFacingDirection_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_JumpDown_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_JumpDown_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_JumpUp_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_JumpUp_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_JumpLeft_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_JumpLeft_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_JumpRight_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_JumpRight_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_JumpInPlaceDown_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_JumpInPlaceDown_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_JumpInPlaceUp_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_JumpInPlaceUp_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_JumpInPlaceLeft_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_JumpInPlaceLeft_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_JumpInPlaceRight_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_JumpInPlaceRight_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_JumpInPlaceDownUp_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_JumpInPlaceDownUp_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_JumpInPlaceUpDown_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_JumpInPlaceUpDown_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_JumpInPlaceLeftRight_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_JumpInPlaceLeftRight_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_JumpInPlaceRightLeft_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_JumpInPlaceRightLeft_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_FaceOriginalDirection_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_NurseJoyBowDown_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_EnableJumpLandingGroundEffect_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_DisableJumpLandingGroundEffect_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_DisableAnimation_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_RestoreAnimation_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_SetInvisible_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_SetVisible_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_EmoteExclamationMark_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_EmoteQuestionMark_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_EmoteHeart_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_RevealTrainer_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_RevealTrainer_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_RockSmashBreak_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_RockSmashBreak_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_RockSmashBreak_Step2(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_CutTree_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_CutTree_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_CutTree_Step2(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_SetFixedPriority_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_ClearFixedPriority_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_InitAffineAnim_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_ClearAffineAnim_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_HideReflection_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_ShowReflection_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_WalkDownStartAffine_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_WalkDownStartAffine_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_WalkDownAffine_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_WalkDownAffine_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_WalkLeftAffine_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_WalkLeftAffine_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_WalkRightAffine_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_WalkRightAffine_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_AcroWheelieFaceDown_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_AcroWheelieFaceUp_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_AcroWheelieFaceLeft_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_AcroWheelieFaceRight_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_AcroPopWheelieDown_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_AcroPopWheelieUp_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_AcroPopWheelieLeft_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_AcroPopWheelieRight_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_AcroEndWheelieFaceDown_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_AcroEndWheelieFaceUp_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_AcroEndWheelieFaceLeft_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_AcroEndWheelieFaceRight_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_UnusedAcroActionDown_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_UnusedAcroActionUp_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_UnusedAcroActionLeft_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_UnusedAcroActionRight_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_Figure8_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_Figure8_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_AcroWheelieHopFaceDown_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_AcroWheelieHopFaceDown_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_AcroWheelieHopFaceUp_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_AcroWheelieHopFaceUp_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_AcroWheelieHopFaceLeft_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_AcroWheelieHopFaceLeft_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_AcroWheelieHopFaceRight_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_AcroWheelieHopFaceRight_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_AcroWheelieHopDown_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_AcroWheelieHopDown_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_AcroWheelieHopUp_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_AcroWheelieHopUp_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_AcroWheelieHopLeft_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_AcroWheelieHopLeft_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_AcroWheelieHopRight_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_AcroWheelieHopRight_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_AcroWheelieJumpDown_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_AcroWheelieJumpDown_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_AcroWheelieJumpUp_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_AcroWheelieJumpUp_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_AcroWheelieJumpLeft_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_AcroWheelieJumpLeft_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_AcroWheelieJumpRight_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_AcroWheelieJumpRight_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_AcroWheelieInPlaceDown_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_AcroWheelieInPlaceUp_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_AcroWheelieInPlaceLeft_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_AcroWheelieInPlaceRight_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_AcroPopWheelieMoveDown_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_AcroPopWheelieMoveDown_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_AcroPopWheelieMoveUp_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_AcroPopWheelieMoveUp_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_AcroPopWheelieMoveLeft_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_AcroPopWheelieMoveLeft_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_AcroPopWheelieMoveRight_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_AcroPopWheelieMoveRight_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_AcroWheelieMoveDown_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_AcroWheelieMoveDown_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_AcroWheelieMoveUp_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_AcroWheelieMoveUp_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_AcroWheelieMoveLeft_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_AcroWheelieMoveLeft_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_AcroWheelieMoveRight_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_AcroWheelieMoveRight_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_AcroEndWheelieMoveDown_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_AcroEndWheelieMoveDown_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_AcroEndWheelieMoveUp_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_AcroEndWheelieMoveUp_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_AcroEndWheelieMoveLeft_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_AcroEndWheelieMoveLeft_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_AcroEndWheelieMoveRight_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_AcroEndWheelieMoveRight_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_Levitate_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_StopLevitate_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_DestroyExtraTaskIfAtTop_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_StoreAndLockAnim_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_Finish(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_FreeAndUnlockAnim_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_FlyUp_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_FlyUp_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_Fly_Finish(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_FlyDown_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementAction_FlyDown_Step1(struct ObjectEvent *, struct Sprite *); + +u8 (*const gMovementActionFuncs_FaceDown[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_FaceUp[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_FaceLeft[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_FaceRight[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkSlowDown[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkSlowUp[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkSlowLeft[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkSlowRight[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkNormalDown[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkNormalUp[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkNormalLeft[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkNormalRight[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_Jump2Down[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_Jump2Up[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_Jump2Left[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_Jump2Right[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_Delay1[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_Delay2[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_Delay4[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_Delay8[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_Delay16[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkFastDown[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkFastUp[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkFastLeft[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkFastRight[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkInPlaceSlowDown[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkInPlaceSlowUp[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkInPlaceSlowLeft[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkInPlaceSlowRight[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkInPlaceNormalDown[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkInPlaceNormalUp[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkInPlaceNormalLeft[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkInPlaceNormalRight[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkInPlaceFastDown[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkInPlaceFastUp[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkInPlaceFastLeft[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkInPlaceFastRight[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkInPlaceFastestDown[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkInPlaceFastestUp[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkInPlaceFastestLeft[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkInPlaceFastestRight[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_RideWaterCurrentDown[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_RideWaterCurrentUp[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_RideWaterCurrentLeft[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_RideWaterCurrentRight[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkFastestDown[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkFastestUp[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkFastestLeft[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkFastestRight[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_SlideDown[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_SlideUp[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_SlideLeft[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_SlideRight[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_PlayerRunDown[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_PlayerRunUp[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_PlayerRunLeft[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_PlayerRunRight[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_StartAnimInDirection[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_JumpSpecialDown[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_JumpSpecialUp[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_JumpSpecialLeft[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_JumpSpecialRight[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_FacePlayer[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_FaceAwayPlayer[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_LockFacingDirection[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_UnlockFacingDirection[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_JumpDown[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_JumpUp[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_JumpLeft[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_JumpRight[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_JumpInPlaceDown[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_JumpInPlaceUp[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_JumpInPlaceLeft[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_JumpInPlaceRight[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_JumpInPlaceDownUp[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_JumpInPlaceUpDown[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_JumpInPlaceLeftRight[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_JumpInPlaceRightLeft[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_FaceOriginalDirection[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_NurseJoyBowDown[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_EnableJumpLandingGroundEffect[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_DisableJumpLandingGroundEffect[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_DisableAnimation[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_RestoreAnimation[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_SetInvisible[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_SetVisible[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_EmoteExclamationMark[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_EmoteQuestionMark[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_EmoteHeart[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_RevealTrainer[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_RockSmashBreak[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_CutTree[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_SetFixedPriority[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_ClearFixedPriority[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_InitAffineAnim[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_ClearAffineAnim[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_HideReflection[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_ShowReflection[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkDownStartAffine[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkDownAffine[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieFaceDown[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieFaceUp[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieFaceLeft[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieFaceRight[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroPopWheelieDown[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroPopWheelieUp[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroPopWheelieLeft[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroPopWheelieRight[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroEndWheelieFaceDown[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroEndWheelieFaceUp[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroEndWheelieFaceLeft[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroEndWheelieFaceRight[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieHopFaceDown[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieHopFaceUp[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieHopFaceLeft[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieHopFaceRight[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieHopDown[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieHopUp[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieHopLeft[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieHopRight[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieJumpDown[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieJumpUp[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieJumpLeft[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieJumpRight[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieInPlaceDown[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieInPlaceUp[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieInPlaceLeft[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieInPlaceRight[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroPopWheelieMoveDown[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroPopWheelieMoveUp[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroPopWheelieMoveLeft[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroPopWheelieMoveRight[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieMoveDown[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieMoveUp[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieMoveLeft[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieMoveRight[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroEndWheelieMoveDown[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroEndWheelieMoveUp[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroEndWheelieMoveLeft[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroEndWheelieMoveRight[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkNormalDiagonalUpLeft[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkNormalDiagonalUpRight[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkNormalDiagonalDownLeft[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkNormalDiagonalDownRight[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkSlowDiagonalUpLeft[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkSlowDiagonalUpRight[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkSlowDiagonalDownLeft[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkSlowDiagonalDownRight[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_StoreAndLockAnim[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_FreeAndUnlockAnim[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkLeftAffine[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkRightAffine[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_Levitate[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_StopLevitate[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_DestroyExtraTaskIfAtTop[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_Figure8[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_FlyUp[])(struct ObjectEvent *, struct Sprite *); +u8 (*const gMovementActionFuncs_FlyDown[])(struct ObjectEvent *, struct Sprite *); + +u8 (*const *const gMovementActionFuncs[])(struct ObjectEvent *, struct Sprite *) = { [MOVEMENT_ACTION_FACE_DOWN] = gMovementActionFuncs_FaceDown, [MOVEMENT_ACTION_FACE_UP] = gMovementActionFuncs_FaceUp, [MOVEMENT_ACTION_FACE_LEFT] = gMovementActionFuncs_FaceLeft, @@ -582,22 +582,22 @@ u8 (*const *const gMovementActionFuncs[])(struct EventObject *, struct Sprite *) [MOVEMENT_ACTION_FLY_DOWN] = gMovementActionFuncs_FlyDown, }; -u8 (*const gMovementActionFuncs_FaceDown[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_FaceDown[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_FaceDown_Step0, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_FaceUp[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_FaceUp[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_FaceUp_Step0, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_FaceLeft[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_FaceLeft[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_FaceLeft_Step0, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_FaceRight[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_FaceRight[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_FaceRight_Step0, MovementAction_PauseSpriteAnim, }; @@ -610,97 +610,97 @@ u8 (*const gUnknown_0850DEE8[])(u8) = { GetMoveDirectionFastestAnimNum, }; -u8 (*const gMovementActionFuncs_WalkSlowDiagonalUpLeft[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_WalkSlowDiagonalUpLeft[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_WalkSlowDiagonalUpLeft_Step0, MovementAction_WalkSlowDiagonalUpLeft_Step1, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_WalkSlowDiagonalUpRight[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_WalkSlowDiagonalUpRight[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_WalkSlowDiagonalUpRight_Step0, MovementAction_WalkSlowDiagonalUpRight_Step1, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_WalkSlowDiagonalDownLeft[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_WalkSlowDiagonalDownLeft[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_WalkSlowDiagonalDownLeft_Step0, MovementAction_WalkSlowDiagonalDownLeft_Step1, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_WalkSlowDiagonalDownRight[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_WalkSlowDiagonalDownRight[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_WalkSlowDiagonalDownRight_Step0, MovementAction_WalkSlowDiagonalDownRight_Step1, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_WalkSlowDown[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_WalkSlowDown[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_WalkSlowDown_Step0, MovementAction_WalkSlowDown_Step1, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_WalkSlowUp[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_WalkSlowUp[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_WalkSlowUp_Step0, MovementAction_WalkSlowUp_Step1, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_WalkSlowLeft[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_WalkSlowLeft[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_WalkSlowLeft_Step0, MovementAction_WalkSlowLeft_Step1, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_WalkSlowRight[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_WalkSlowRight[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_WalkSlowRight_Step0, MovementAction_WalkSlowRight_Step1, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_WalkNormalDiagonalUpLeft[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_WalkNormalDiagonalUpLeft[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_WalkNormalDiagonalUpLeft_Step0, MovementAction_WalkNormalDiagonalUpLeft_Step1, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_WalkNormalDiagonalUpRight[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_WalkNormalDiagonalUpRight[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_WalkNormalDiagonalUpRight_Step0, MovementAction_WalkNormalDiagonalUpRight_Step1, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_WalkNormalDiagonalDownLeft[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_WalkNormalDiagonalDownLeft[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_WalkNormalDiagonalDownLeft_Step0, MovementAction_WalkNormalDiagonalDownLeft_Step1, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_WalkNormalDiagonalDownRight[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_WalkNormalDiagonalDownRight[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_WalkNormalDiagonalDownRight_Step0, MovementAction_WalkNormalDiagonalDownRight_Step1, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_WalkNormalDown[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_WalkNormalDown[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_WalkNormalDown_Step0, MovementAction_WalkNormalDown_Step1, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_WalkNormalUp[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_WalkNormalUp[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_WalkNormalUp_Step0, MovementAction_WalkNormalUp_Step1, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_WalkNormalLeft[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_WalkNormalLeft[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_WalkNormalLeft_Step0, MovementAction_WalkNormalLeft_Step1, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_WalkNormalRight[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_WalkNormalRight[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_WalkNormalRight_Step0, MovementAction_WalkNormalRight_Step1, MovementAction_PauseSpriteAnim, @@ -709,805 +709,805 @@ u8 (*const gMovementActionFuncs_WalkNormalRight[])(struct EventObject *, struct const s16 gUnknown_0850DFBC[] = {0, 1, 1}; const s16 gUnknown_0850DFC2[] = {0, 0, 1}; -u8 (*const gMovementActionFuncs_Jump2Down[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_Jump2Down[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_Jump2Down_Step0, MovementAction_Jump2Down_Step1, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_Jump2Up[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_Jump2Up[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_Jump2Up_Step0, MovementAction_Jump2Up_Step1, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_Jump2Left[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_Jump2Left[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_Jump2Left_Step0, MovementAction_Jump2Left_Step1, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_Jump2Right[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_Jump2Right[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_Jump2Right_Step0, MovementAction_Jump2Right_Step1, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_Delay1[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_Delay1[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_Delay1_Step0, MovementAction_Delay_Step1, MovementAction_Finish, }; -u8 (*const gMovementActionFuncs_Delay2[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_Delay2[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_Delay2_Step0, MovementAction_Delay_Step1, MovementAction_Finish, }; -u8 (*const gMovementActionFuncs_Delay4[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_Delay4[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_Delay4_Step0, MovementAction_Delay_Step1, MovementAction_Finish, }; -u8 (*const gMovementActionFuncs_Delay8[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_Delay8[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_Delay8_Step0, MovementAction_Delay_Step1, MovementAction_Finish, }; -u8 (*const gMovementActionFuncs_Delay16[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_Delay16[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_Delay16_Step0, MovementAction_Delay_Step1, MovementAction_Finish, }; -u8 (*const gMovementActionFuncs_WalkFastDown[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_WalkFastDown[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_WalkFastDown_Step0, MovementAction_WalkFastDown_Step1, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_WalkFastUp[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_WalkFastUp[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_WalkFastUp_Step0, MovementAction_WalkFastUp_Step1, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_WalkFastLeft[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_WalkFastLeft[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_WalkFastLeft_Step0, MovementAction_WalkFastLeft_Step1, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_WalkFastRight[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_WalkFastRight[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_WalkFastRight_Step0, MovementAction_WalkFastRight_Step1, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_WalkInPlaceSlowDown[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_WalkInPlaceSlowDown[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_WalkInPlaceSlowDown_Step0, MovementAction_WalkInPlaceSlow_Step1, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_WalkInPlaceSlowUp[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_WalkInPlaceSlowUp[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_WalkInPlaceSlowUp_Step0, MovementAction_WalkInPlaceSlow_Step1, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_WalkInPlaceSlowLeft[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_WalkInPlaceSlowLeft[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_WalkInPlaceSlowLeft_Step0, MovementAction_WalkInPlaceSlow_Step1, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_WalkInPlaceSlowRight[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_WalkInPlaceSlowRight[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_WalkInPlaceSlowRight_Step0, MovementAction_WalkInPlaceSlow_Step1, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_WalkInPlaceNormalDown[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_WalkInPlaceNormalDown[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_WalkInPlaceNormalDown_Step0, MovementAction_WalkInPlace_Step1, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_WalkInPlaceNormalUp[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_WalkInPlaceNormalUp[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_WalkInPlaceNormalUp_Step0, MovementAction_WalkInPlace_Step1, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_WalkInPlaceNormalLeft[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_WalkInPlaceNormalLeft[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_WalkInPlaceNormalLeft_Step0, MovementAction_WalkInPlace_Step1, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_WalkInPlaceNormalRight[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_WalkInPlaceNormalRight[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_WalkInPlaceNormalRight_Step0, MovementAction_WalkInPlace_Step1, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_WalkInPlaceFastDown[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_WalkInPlaceFastDown[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_WalkInPlaceFastDown_Step0, MovementAction_WalkInPlace_Step1, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_WalkInPlaceFastUp[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_WalkInPlaceFastUp[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_WalkInPlaceFastUp_Step0, MovementAction_WalkInPlace_Step1, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_WalkInPlaceFastLeft[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_WalkInPlaceFastLeft[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_WalkInPlaceFastLeft_Step0, MovementAction_WalkInPlace_Step1, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_WalkInPlaceFastRight[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_WalkInPlaceFastRight[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_WalkInPlaceFastRight_Step0, MovementAction_WalkInPlace_Step1, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_WalkInPlaceFastestDown[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_WalkInPlaceFastestDown[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_WalkInPlaceFastestDown_Step0, MovementAction_WalkInPlace_Step1, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_WalkInPlaceFastestUp[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_WalkInPlaceFastestUp[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_WalkInPlaceFastestUp_Step0, MovementAction_WalkInPlace_Step1, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_WalkInPlaceFastestLeft[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_WalkInPlaceFastestLeft[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_WalkInPlaceFastestLeft_Step0, MovementAction_WalkInPlace_Step1, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_WalkInPlaceFastestRight[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_WalkInPlaceFastestRight[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_WalkInPlaceFastestRight_Step0, MovementAction_WalkInPlace_Step1, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_RideWaterCurrentDown[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_RideWaterCurrentDown[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_RideWaterCurrentDown_Step0, MovementAction_RideWaterCurrentDown_Step1, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_RideWaterCurrentUp[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_RideWaterCurrentUp[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_RideWaterCurrentUp_Step0, MovementAction_RideWaterCurrentUp_Step1, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_RideWaterCurrentLeft[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_RideWaterCurrentLeft[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_RideWaterCurrentLeft_Step0, MovementAction_RideWaterCurrentLeft_Step1, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_RideWaterCurrentRight[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_RideWaterCurrentRight[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_RideWaterCurrentRight_Step0, MovementAction_RideWaterCurrentRight_Step1, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_WalkFastestDown[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_WalkFastestDown[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_WalkFastestDown_Step0, MovementAction_WalkFastestDown_Step1, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_WalkFastestUp[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_WalkFastestUp[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_WalkFastestUp_Step0, MovementAction_WalkFastestUp_Step1, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_WalkFastestLeft[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_WalkFastestLeft[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_WalkFastestLeft_Step0, MovementAction_WalkFastestLeft_Step1, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_WalkFastestRight[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_WalkFastestRight[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_WalkFastestRight_Step0, MovementAction_WalkFastestRight_Step1, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_SlideDown[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_SlideDown[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_SlideDown_Step0, MovementAction_SlideDown_Step1, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_SlideUp[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_SlideUp[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_SlideUp_Step0, MovementAction_SlideUp_Step1, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_SlideLeft[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_SlideLeft[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_SlideLeft_Step0, MovementAction_SlideLeft_Step1, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_SlideRight[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_SlideRight[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_SlideRight_Step0, MovementAction_SlideRight_Step1, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_PlayerRunDown[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_PlayerRunDown[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_PlayerRunDown_Step0, MovementAction_PlayerRunDown_Step1, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_PlayerRunUp[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_PlayerRunUp[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_PlayerRunUp_Step0, MovementAction_PlayerRunUp_Step1, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_PlayerRunLeft[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_PlayerRunLeft[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_PlayerRunLeft_Step0, MovementAction_PlayerRunLeft_Step1, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_PlayerRunRight[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_PlayerRunRight[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_PlayerRunRight_Step0, MovementAction_PlayerRunRight_Step1, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_StartAnimInDirection[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_StartAnimInDirection[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_StartAnimInDirection_Step0, MovementAction_WaitSpriteAnim, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_JumpSpecialDown[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_JumpSpecialDown[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_JumpSpecialDown_Step0, MovementAction_JumpSpecialDown_Step1, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_JumpSpecialUp[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_JumpSpecialUp[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_JumpSpecialUp_Step0, MovementAction_JumpSpecialUp_Step1, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_JumpSpecialLeft[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_JumpSpecialLeft[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_JumpSpecialLeft_Step0, MovementAction_JumpSpecialLeft_Step1, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_JumpSpecialRight[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_JumpSpecialRight[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_JumpSpecialRight_Step0, MovementAction_JumpSpecialRight_Step1, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_FacePlayer[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_FacePlayer[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_FacePlayer_Step0, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_FaceAwayPlayer[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_FaceAwayPlayer[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_FaceAwayPlayer_Step0, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_LockFacingDirection[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_LockFacingDirection[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_LockFacingDirection_Step0, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_UnlockFacingDirection[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_UnlockFacingDirection[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_UnlockFacingDirection_Step0, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_JumpDown[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_JumpDown[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_JumpDown_Step0, MovementAction_JumpDown_Step1, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_JumpUp[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_JumpUp[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_JumpUp_Step0, MovementAction_JumpUp_Step1, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_JumpLeft[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_JumpLeft[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_JumpLeft_Step0, MovementAction_JumpLeft_Step1, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_JumpRight[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_JumpRight[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_JumpRight_Step0, MovementAction_JumpRight_Step1, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_JumpInPlaceDown[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_JumpInPlaceDown[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_JumpInPlaceDown_Step0, MovementAction_JumpInPlaceDown_Step1, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_JumpInPlaceUp[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_JumpInPlaceUp[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_JumpInPlaceUp_Step0, MovementAction_JumpInPlaceUp_Step1, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_JumpInPlaceLeft[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_JumpInPlaceLeft[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_JumpInPlaceLeft_Step0, MovementAction_JumpInPlaceLeft_Step1, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_JumpInPlaceRight[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_JumpInPlaceRight[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_JumpInPlaceRight_Step0, MovementAction_JumpInPlaceRight_Step1, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_JumpInPlaceDownUp[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_JumpInPlaceDownUp[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_JumpInPlaceDownUp_Step0, MovementAction_JumpInPlaceDownUp_Step1, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_JumpInPlaceUpDown[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_JumpInPlaceUpDown[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_JumpInPlaceUpDown_Step0, MovementAction_JumpInPlaceUpDown_Step1, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_JumpInPlaceLeftRight[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_JumpInPlaceLeftRight[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_JumpInPlaceLeftRight_Step0, MovementAction_JumpInPlaceLeftRight_Step1, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_JumpInPlaceRightLeft[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_JumpInPlaceRightLeft[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_JumpInPlaceRightLeft_Step0, MovementAction_JumpInPlaceRightLeft_Step1, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_FaceOriginalDirection[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_FaceOriginalDirection[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_FaceOriginalDirection_Step0, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_NurseJoyBowDown[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_NurseJoyBowDown[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_NurseJoyBowDown_Step0, MovementAction_WaitSpriteAnim, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_EnableJumpLandingGroundEffect[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_EnableJumpLandingGroundEffect[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_EnableJumpLandingGroundEffect_Step0, MovementAction_Finish, }; -u8 (*const gMovementActionFuncs_DisableJumpLandingGroundEffect[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_DisableJumpLandingGroundEffect[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_DisableJumpLandingGroundEffect_Step0, MovementAction_Finish, }; -u8 (*const gMovementActionFuncs_DisableAnimation[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_DisableAnimation[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_DisableAnimation_Step0, MovementAction_Finish, }; -u8 (*const gMovementActionFuncs_RestoreAnimation[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_RestoreAnimation[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_RestoreAnimation_Step0, MovementAction_Finish, }; -u8 (*const gMovementActionFuncs_SetInvisible[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_SetInvisible[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_SetInvisible_Step0, MovementAction_Finish, }; -u8 (*const gMovementActionFuncs_SetVisible[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_SetVisible[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_SetVisible_Step0, MovementAction_Finish, }; -u8 (*const gMovementActionFuncs_EmoteExclamationMark[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_EmoteExclamationMark[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_EmoteExclamationMark_Step0, MovementAction_Finish, }; -u8 (*const gMovementActionFuncs_EmoteQuestionMark[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_EmoteQuestionMark[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_EmoteQuestionMark_Step0, MovementAction_Finish, }; -u8 (*const gMovementActionFuncs_EmoteHeart[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_EmoteHeart[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_EmoteHeart_Step0, MovementAction_Finish, }; -u8 (*const gMovementActionFuncs_RevealTrainer[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_RevealTrainer[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_RevealTrainer_Step0, MovementAction_RevealTrainer_Step1, MovementAction_Finish, }; -u8 (*const gMovementActionFuncs_RockSmashBreak[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_RockSmashBreak[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_RockSmashBreak_Step0, MovementAction_RockSmashBreak_Step1, MovementAction_RockSmashBreak_Step2, MovementAction_Finish, }; -u8 (*const gMovementActionFuncs_CutTree[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_CutTree[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_CutTree_Step0, MovementAction_CutTree_Step1, MovementAction_CutTree_Step2, MovementAction_Finish, }; -u8 (*const gMovementActionFuncs_SetFixedPriority[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_SetFixedPriority[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_SetFixedPriority_Step0, MovementAction_Finish, }; -u8 (*const gMovementActionFuncs_ClearFixedPriority[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_ClearFixedPriority[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_ClearFixedPriority_Step0, MovementAction_Finish, }; -u8 (*const gMovementActionFuncs_InitAffineAnim[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_InitAffineAnim[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_InitAffineAnim_Step0, MovementAction_Finish, }; -u8 (*const gMovementActionFuncs_ClearAffineAnim[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_ClearAffineAnim[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_ClearAffineAnim_Step0, MovementAction_Finish, }; -u8 (*const gMovementActionFuncs_HideReflection[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_HideReflection[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_HideReflection_Step0, MovementAction_Finish, }; -u8 (*const gMovementActionFuncs_ShowReflection[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_ShowReflection[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_ShowReflection_Step0, MovementAction_Finish, }; -u8 (*const gMovementActionFuncs_WalkDownStartAffine[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_WalkDownStartAffine[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_WalkDownStartAffine_Step0, MovementAction_WalkDownStartAffine_Step1, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_WalkDownAffine[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_WalkDownAffine[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_WalkDownAffine_Step0, MovementAction_WalkDownAffine_Step1, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_WalkLeftAffine[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_WalkLeftAffine[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_WalkLeftAffine_Step0, MovementAction_WalkLeftAffine_Step1, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_WalkRightAffine[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_WalkRightAffine[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_WalkRightAffine_Step0, MovementAction_WalkRightAffine_Step1, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_AcroWheelieFaceDown[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_AcroWheelieFaceDown[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_AcroWheelieFaceDown_Step0, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_AcroWheelieFaceUp[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_AcroWheelieFaceUp[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_AcroWheelieFaceUp_Step0, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_AcroWheelieFaceLeft[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_AcroWheelieFaceLeft[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_AcroWheelieFaceLeft_Step0, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_AcroWheelieFaceRight[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_AcroWheelieFaceRight[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_AcroWheelieFaceRight_Step0, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_AcroPopWheelieDown[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_AcroPopWheelieDown[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_AcroPopWheelieDown_Step0, MovementAction_WaitSpriteAnim, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_AcroPopWheelieUp[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_AcroPopWheelieUp[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_AcroPopWheelieUp_Step0, MovementAction_WaitSpriteAnim, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_AcroPopWheelieLeft[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_AcroPopWheelieLeft[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_AcroPopWheelieLeft_Step0, MovementAction_WaitSpriteAnim, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_AcroPopWheelieRight[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_AcroPopWheelieRight[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_AcroPopWheelieRight_Step0, MovementAction_WaitSpriteAnim, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_AcroEndWheelieFaceDown[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_AcroEndWheelieFaceDown[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_AcroEndWheelieFaceDown_Step0, MovementAction_WaitSpriteAnim, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_AcroEndWheelieFaceUp[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_AcroEndWheelieFaceUp[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_AcroEndWheelieFaceUp_Step0, MovementAction_WaitSpriteAnim, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_AcroEndWheelieFaceLeft[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_AcroEndWheelieFaceLeft[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_AcroEndWheelieFaceLeft_Step0, MovementAction_WaitSpriteAnim, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_AcroEndWheelieFaceRight[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_AcroEndWheelieFaceRight[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_AcroEndWheelieFaceRight_Step0, MovementAction_WaitSpriteAnim, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_AcroUnusedAcroActionDown[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_AcroUnusedAcroActionDown[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_UnusedAcroActionDown_Step0, MovementAction_WaitSpriteAnim, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_AcroUnusedAcroActionUp[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_AcroUnusedAcroActionUp[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_UnusedAcroActionUp_Step0, MovementAction_WaitSpriteAnim, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_AcroUnusedAcroActionLeft[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_AcroUnusedAcroActionLeft[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_UnusedAcroActionLeft_Step0, MovementAction_WaitSpriteAnim, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_AcroUnusedAcroActionRight[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_AcroUnusedAcroActionRight[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_UnusedAcroActionRight_Step0, MovementAction_WaitSpriteAnim, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_Figure8[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_Figure8[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_Figure8_Step0, MovementAction_Figure8_Step1, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_AcroWheelieHopFaceDown[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_AcroWheelieHopFaceDown[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_AcroWheelieHopFaceDown_Step0, MovementAction_AcroWheelieHopFaceDown_Step1, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_AcroWheelieHopFaceUp[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_AcroWheelieHopFaceUp[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_AcroWheelieHopFaceUp_Step0, MovementAction_AcroWheelieHopFaceUp_Step1, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_AcroWheelieHopFaceLeft[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_AcroWheelieHopFaceLeft[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_AcroWheelieHopFaceLeft_Step0, MovementAction_AcroWheelieHopFaceLeft_Step1, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_AcroWheelieHopFaceRight[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_AcroWheelieHopFaceRight[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_AcroWheelieHopFaceRight_Step0, MovementAction_AcroWheelieHopFaceRight_Step1, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_AcroWheelieHopDown[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_AcroWheelieHopDown[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_AcroWheelieHopDown_Step0, MovementAction_AcroWheelieHopDown_Step1, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_AcroWheelieHopUp[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_AcroWheelieHopUp[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_AcroWheelieHopUp_Step0, MovementAction_AcroWheelieHopUp_Step1, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_AcroWheelieHopLeft[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_AcroWheelieHopLeft[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_AcroWheelieHopLeft_Step0, MovementAction_AcroWheelieHopLeft_Step1, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_AcroWheelieHopRight[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_AcroWheelieHopRight[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_AcroWheelieHopRight_Step0, MovementAction_AcroWheelieHopRight_Step1, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_AcroWheelieJumpDown[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_AcroWheelieJumpDown[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_AcroWheelieJumpDown_Step0, MovementAction_AcroWheelieJumpDown_Step1, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_AcroWheelieJumpUp[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_AcroWheelieJumpUp[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_AcroWheelieJumpUp_Step0, MovementAction_AcroWheelieJumpUp_Step1, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_AcroWheelieJumpLeft[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_AcroWheelieJumpLeft[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_AcroWheelieJumpLeft_Step0, MovementAction_AcroWheelieJumpLeft_Step1, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_AcroWheelieJumpRight[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_AcroWheelieJumpRight[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_AcroWheelieJumpRight_Step0, MovementAction_AcroWheelieJumpRight_Step1, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_AcroWheelieInPlaceDown[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_AcroWheelieInPlaceDown[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_AcroWheelieInPlaceDown_Step0, MovementAction_WalkInPlace_Step1, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_AcroWheelieInPlaceUp[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_AcroWheelieInPlaceUp[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_AcroWheelieInPlaceUp_Step0, MovementAction_WalkInPlace_Step1, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_AcroWheelieInPlaceLeft[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_AcroWheelieInPlaceLeft[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_AcroWheelieInPlaceLeft_Step0, MovementAction_WalkInPlace_Step1, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_AcroWheelieInPlaceRight[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_AcroWheelieInPlaceRight[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_AcroWheelieInPlaceRight_Step0, MovementAction_WalkInPlace_Step1, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_AcroPopWheelieMoveDown[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_AcroPopWheelieMoveDown[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_AcroPopWheelieMoveDown_Step0, MovementAction_AcroPopWheelieMoveDown_Step1, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_AcroPopWheelieMoveUp[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_AcroPopWheelieMoveUp[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_AcroPopWheelieMoveUp_Step0, MovementAction_AcroPopWheelieMoveUp_Step1, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_AcroPopWheelieMoveLeft[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_AcroPopWheelieMoveLeft[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_AcroPopWheelieMoveLeft_Step0, MovementAction_AcroPopWheelieMoveLeft_Step1, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_AcroPopWheelieMoveRight[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_AcroPopWheelieMoveRight[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_AcroPopWheelieMoveRight_Step0, MovementAction_AcroPopWheelieMoveRight_Step1, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_AcroWheelieMoveDown[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_AcroWheelieMoveDown[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_AcroWheelieMoveDown_Step0, MovementAction_AcroWheelieMoveDown_Step1, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_AcroWheelieMoveUp[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_AcroWheelieMoveUp[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_AcroWheelieMoveUp_Step0, MovementAction_AcroWheelieMoveUp_Step1, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_AcroWheelieMoveLeft[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_AcroWheelieMoveLeft[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_AcroWheelieMoveLeft_Step0, MovementAction_AcroWheelieMoveLeft_Step1, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_AcroWheelieMoveRight[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_AcroWheelieMoveRight[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_AcroWheelieMoveRight_Step0, MovementAction_AcroWheelieMoveRight_Step1, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_AcroEndWheelieMoveDown[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_AcroEndWheelieMoveDown[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_AcroEndWheelieMoveDown_Step0, MovementAction_AcroEndWheelieMoveDown_Step1, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_AcroEndWheelieMoveUp[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_AcroEndWheelieMoveUp[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_AcroEndWheelieMoveUp_Step0, MovementAction_AcroEndWheelieMoveUp_Step1, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_AcroEndWheelieMoveLeft[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_AcroEndWheelieMoveLeft[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_AcroEndWheelieMoveLeft_Step0, MovementAction_AcroEndWheelieMoveLeft_Step1, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_AcroEndWheelieMoveRight[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_AcroEndWheelieMoveRight[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_AcroEndWheelieMoveRight_Step0, MovementAction_AcroEndWheelieMoveRight_Step1, MovementAction_PauseSpriteAnim, }; -u8 (*const gMovementActionFuncs_Levitate[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_Levitate[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_Levitate_Step0, MovementAction_Finish, }; -u8 (*const gMovementActionFuncs_StopLevitate[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_StopLevitate[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_StopLevitate_Step0, MovementAction_Finish, }; -u8 (*const gMovementActionFuncs_DestroyExtraTaskIfAtTop[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_DestroyExtraTaskIfAtTop[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_DestroyExtraTaskIfAtTop_Step0, MovementAction_Finish, }; diff --git a/src/data/field_event_obj/movement_type_func_tables.h b/src/data/object_events/movement_type_func_tables.h index 3c490011b..7d149a628 100755 --- a/src/data/field_event_obj/movement_type_func_tables.h +++ b/src/data/object_events/movement_type_func_tables.h @@ -1,4 +1,4 @@ -u8 (*const gMovementTypeFuncs_WanderAround[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementTypeFuncs_WanderAround[])(struct ObjectEvent *, struct Sprite *) = { MovementType_WanderAround_Step0, MovementType_WanderAround_Step1, MovementType_WanderAround_Step2, @@ -24,7 +24,7 @@ u8 (*const gGetVectorDirectionFuncs[])(s16, s16, s16, s16) = { GetLimitedVectorDirection_SouthWestEast, }; -u8 (*const gMovementTypeFuncs_LookAround[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementTypeFuncs_LookAround[])(struct ObjectEvent *, struct Sprite *) = { MovementType_LookAround_Step0, MovementType_LookAround_Step1, MovementType_LookAround_Step2, @@ -32,7 +32,7 @@ u8 (*const gMovementTypeFuncs_LookAround[])(struct EventObject *, struct Sprite MovementType_LookAround_Step4, }; -u8 (*const gMovementTypeFuncs_WanderUpAndDown[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementTypeFuncs_WanderUpAndDown[])(struct ObjectEvent *, struct Sprite *) = { MovementType_WanderUpAndDown_Step0, MovementType_WanderUpAndDown_Step1, MovementType_WanderUpAndDown_Step2, @@ -44,7 +44,7 @@ u8 (*const gMovementTypeFuncs_WanderUpAndDown[])(struct EventObject *, struct Sp const u8 gUpAndDownDirections[] = {DIR_SOUTH, DIR_NORTH}; -u8 (*const gMovementTypeFuncs_WanderLeftAndRight[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementTypeFuncs_WanderLeftAndRight[])(struct ObjectEvent *, struct Sprite *) = { MovementType_WanderLeftAndRight_Step0, MovementType_WanderLeftAndRight_Step1, MovementType_WanderLeftAndRight_Step2, @@ -56,13 +56,13 @@ u8 (*const gMovementTypeFuncs_WanderLeftAndRight[])(struct EventObject *, struct const u8 gLeftAndRightDirections[] = {DIR_WEST, DIR_EAST}; -u8 (*const gMovementTypeFuncs_FaceDirection[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementTypeFuncs_FaceDirection[])(struct ObjectEvent *, struct Sprite *) = { MovementType_FaceDirection_Step0, MovementType_FaceDirection_Step1, MovementType_FaceDirection_Step2, }; -u8 (*const gMovementTypeFuncs_BerryTreeGrowth[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementTypeFuncs_BerryTreeGrowth[])(struct ObjectEvent *, struct Sprite *) = { MovementType_BerryTreeGrowth_Step0, MovementType_BerryTreeGrowth_Step1, MovementType_BerryTreeGrowth_Step2, @@ -70,7 +70,7 @@ u8 (*const gMovementTypeFuncs_BerryTreeGrowth[])(struct EventObject *, struct Sp MovementType_BerryTreeGrowth_Step4, }; -u8 (*const gMovementTypeFuncs_FaceDownAndUp[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementTypeFuncs_FaceDownAndUp[])(struct ObjectEvent *, struct Sprite *) = { MovementType_FaceDownAndUp_Step0, MovementType_FaceDownAndUp_Step1, MovementType_FaceDownAndUp_Step2, @@ -78,7 +78,7 @@ u8 (*const gMovementTypeFuncs_FaceDownAndUp[])(struct EventObject *, struct Spri MovementType_FaceDownAndUp_Step4, }; -u8 (*const gMovementTypeFuncs_FaceLeftAndRight[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementTypeFuncs_FaceLeftAndRight[])(struct ObjectEvent *, struct Sprite *) = { MovementType_FaceLeftAndRight_Step0, MovementType_FaceLeftAndRight_Step1, MovementType_FaceLeftAndRight_Step2, @@ -86,7 +86,7 @@ u8 (*const gMovementTypeFuncs_FaceLeftAndRight[])(struct EventObject *, struct S MovementType_FaceLeftAndRight_Step4, }; -u8 (*const gMovementTypeFuncs_FaceUpAndLeft[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementTypeFuncs_FaceUpAndLeft[])(struct ObjectEvent *, struct Sprite *) = { MovementType_FaceUpAndLeft_Step0, MovementType_FaceUpAndLeft_Step1, MovementType_FaceUpAndLeft_Step2, @@ -96,7 +96,7 @@ u8 (*const gMovementTypeFuncs_FaceUpAndLeft[])(struct EventObject *, struct Spri const u8 gUpAndLeftDirections[] = {DIR_NORTH, DIR_WEST}; -u8 (*const gMovementTypeFuncs_FaceUpAndRight[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementTypeFuncs_FaceUpAndRight[])(struct ObjectEvent *, struct Sprite *) = { MovementType_FaceUpAndRight_Step0, MovementType_FaceUpAndRight_Step1, MovementType_FaceUpAndRight_Step2, @@ -106,7 +106,7 @@ u8 (*const gMovementTypeFuncs_FaceUpAndRight[])(struct EventObject *, struct Spr const u8 gUpAndRightDirections[] = {DIR_NORTH, DIR_EAST}; -u8 (*const gMovementTypeFuncs_FaceDownAndLeft[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementTypeFuncs_FaceDownAndLeft[])(struct ObjectEvent *, struct Sprite *) = { MovementType_FaceDownAndLeft_Step0, MovementType_FaceDownAndLeft_Step1, MovementType_FaceDownAndLeft_Step2, @@ -116,7 +116,7 @@ u8 (*const gMovementTypeFuncs_FaceDownAndLeft[])(struct EventObject *, struct Sp const u8 gDownAndLeftDirections[] = {DIR_SOUTH, DIR_WEST}; -u8 (*const gMovementTypeFuncs_FaceDownAndRight[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementTypeFuncs_FaceDownAndRight[])(struct ObjectEvent *, struct Sprite *) = { MovementType_FaceDownAndRight_Step0, MovementType_FaceDownAndRight_Step1, MovementType_FaceDownAndRight_Step2, @@ -126,7 +126,7 @@ u8 (*const gMovementTypeFuncs_FaceDownAndRight[])(struct EventObject *, struct S const u8 gDownAndRightDirections[] = {DIR_SOUTH, DIR_EAST}; -u8 (*const gMovementTypeFuncs_FaceDownUpAndLeft[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementTypeFuncs_FaceDownUpAndLeft[])(struct ObjectEvent *, struct Sprite *) = { MovementType_FaceDownUpAndLeft_Step0, MovementType_FaceDownUpAndLeft_Step1, MovementType_FaceDownUpAndLeft_Step2, @@ -136,7 +136,7 @@ u8 (*const gMovementTypeFuncs_FaceDownUpAndLeft[])(struct EventObject *, struct const u8 gDownUpAndLeftDirections[] = {DIR_NORTH, DIR_SOUTH, DIR_WEST, DIR_SOUTH}; -u8 (*const gMovementTypeFuncs_FaceDownUpAndRight[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementTypeFuncs_FaceDownUpAndRight[])(struct ObjectEvent *, struct Sprite *) = { MovementType_FaceDownUpAndRight_Step0, MovementType_FaceDownUpAndRight_Step1, MovementType_FaceDownUpAndRight_Step2, @@ -146,7 +146,7 @@ u8 (*const gMovementTypeFuncs_FaceDownUpAndRight[])(struct EventObject *, struct const u8 gDownUpAndRightDirections[] = {DIR_SOUTH, DIR_NORTH, DIR_EAST, DIR_SOUTH}; -u8 (*const gMovementTypeFuncs_FaceUpLeftAndRight[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementTypeFuncs_FaceUpLeftAndRight[])(struct ObjectEvent *, struct Sprite *) = { MovementType_FaceUpLeftAndRight_Step0, MovementType_FaceUpLeftAndRight_Step1, MovementType_FaceUpLeftAndRight_Step2, @@ -156,7 +156,7 @@ u8 (*const gMovementTypeFuncs_FaceUpLeftAndRight[])(struct EventObject *, struct const u8 gUpLeftAndRightDirections[] = {DIR_NORTH, DIR_WEST, DIR_EAST, DIR_NORTH}; -u8 (*const gMovementTypeFuncs_FaceDownLeftAndRight[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementTypeFuncs_FaceDownLeftAndRight[])(struct ObjectEvent *, struct Sprite *) = { MovementType_FaceDownLeftAndRight_Step0, MovementType_FaceDownLeftAndRight_Step1, MovementType_FaceDownLeftAndRight_Step2, @@ -166,7 +166,7 @@ u8 (*const gMovementTypeFuncs_FaceDownLeftAndRight[])(struct EventObject *, stru const u8 gDownLeftAndRightDirections[] = {DIR_WEST, DIR_EAST, DIR_SOUTH, DIR_SOUTH}; -u8 (*const gMovementTypeFuncs_RotateCounterclockwise[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementTypeFuncs_RotateCounterclockwise[])(struct ObjectEvent *, struct Sprite *) = { MovementType_RotateCounterclockwise_Step0, MovementType_RotateCounterclockwise_Step1, MovementType_RotateCounterclockwise_Step2, @@ -175,7 +175,7 @@ u8 (*const gMovementTypeFuncs_RotateCounterclockwise[])(struct EventObject *, st const u8 gCounterclockwiseDirections[] = {DIR_SOUTH, DIR_EAST, DIR_WEST, DIR_SOUTH, DIR_NORTH}; -u8 (*const gMovementTypeFuncs_RotateClockwise[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementTypeFuncs_RotateClockwise[])(struct ObjectEvent *, struct Sprite *) = { MovementType_RotateClockwise_Step0, MovementType_RotateClockwise_Step1, MovementType_RotateClockwise_Step2, @@ -184,14 +184,14 @@ u8 (*const gMovementTypeFuncs_RotateClockwise[])(struct EventObject *, struct Sp const u8 gClockwiseDirections[] = {DIR_SOUTH, DIR_WEST, DIR_EAST, DIR_NORTH, DIR_SOUTH}; -u8 (*const gMovementTypeFuncs_WalkBackAndForth[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementTypeFuncs_WalkBackAndForth[])(struct ObjectEvent *, struct Sprite *) = { MovementType_WalkBackAndForth_Step0, MovementType_WalkBackAndForth_Step1, MovementType_WalkBackAndForth_Step2, MovementType_WalkBackAndForth_Step3, }; -u8 (*const gMovementTypeFuncs_WalkSequenceUpRightLeftDown[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementTypeFuncs_WalkSequenceUpRightLeftDown[])(struct ObjectEvent *, struct Sprite *) = { MovementType_WalkSequence_Step0, MovementType_WalkSequenceUpRightLeftDown_Step1, MovementType_WalkSequence_Step2, @@ -199,7 +199,7 @@ u8 (*const gMovementTypeFuncs_WalkSequenceUpRightLeftDown[])(struct EventObject const u8 gUpRightLeftDownDirections[] = {DIR_NORTH, DIR_EAST, DIR_WEST, DIR_SOUTH}; -u8 (*const gMovementTypeFuncs_WalkSequenceRightLeftDownUp[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementTypeFuncs_WalkSequenceRightLeftDownUp[])(struct ObjectEvent *, struct Sprite *) = { MovementType_WalkSequence_Step0, MovementType_WalkSequenceRightLeftDownUp_Step1, MovementType_WalkSequence_Step2, @@ -207,7 +207,7 @@ u8 (*const gMovementTypeFuncs_WalkSequenceRightLeftDownUp[])(struct EventObject const u8 gRightLeftDownUpDirections[] = {DIR_EAST, DIR_WEST, DIR_SOUTH, DIR_NORTH}; -u8 (*const gMovementTypeFuncs_WalkSequenceDownUpRightLeft[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementTypeFuncs_WalkSequenceDownUpRightLeft[])(struct ObjectEvent *, struct Sprite *) = { MovementType_WalkSequence_Step0, MovementType_WalkSequenceDownUpRightLeft_Step1, MovementType_WalkSequence_Step2, @@ -215,7 +215,7 @@ u8 (*const gMovementTypeFuncs_WalkSequenceDownUpRightLeft[])(struct EventObject const u8 gDownUpRightLeftDirections[] = {DIR_SOUTH, DIR_NORTH, DIR_EAST, DIR_WEST}; -u8 (*const gMovementTypeFuncs_WalkSequenceLeftDownUpRight[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementTypeFuncs_WalkSequenceLeftDownUpRight[])(struct ObjectEvent *, struct Sprite *) = { MovementType_WalkSequence_Step0, MovementType_WalkSequenceLeftDownUpRight_Step1, MovementType_WalkSequence_Step2, @@ -223,7 +223,7 @@ u8 (*const gMovementTypeFuncs_WalkSequenceLeftDownUpRight[])(struct EventObject const u8 gLeftDownUpRightDirections[] = {DIR_WEST, DIR_SOUTH, DIR_NORTH, DIR_EAST}; -u8 (*const gMovementTypeFuncs_WalkSequenceUpLeftRightDown[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementTypeFuncs_WalkSequenceUpLeftRightDown[])(struct ObjectEvent *, struct Sprite *) = { MovementType_WalkSequence_Step0, MovementType_WalkSequenceUpLeftRightDown_Step1, MovementType_WalkSequence_Step2, @@ -231,7 +231,7 @@ u8 (*const gMovementTypeFuncs_WalkSequenceUpLeftRightDown[])(struct EventObject const u8 gUpLeftRightDownDirections[] = {DIR_NORTH, DIR_WEST, DIR_EAST, DIR_SOUTH}; -u8 (*const gMovementTypeFuncs_WalkSequenceLeftRightDownUp[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementTypeFuncs_WalkSequenceLeftRightDownUp[])(struct ObjectEvent *, struct Sprite *) = { MovementType_WalkSequence_Step0, MovementType_WalkSequenceLeftRightDownUp_Step1, MovementType_WalkSequence_Step2, @@ -239,13 +239,13 @@ u8 (*const gMovementTypeFuncs_WalkSequenceLeftRightDownUp[])(struct EventObject const u8 gLeftRightDownUpDirections[] = {DIR_WEST, DIR_EAST, DIR_SOUTH, DIR_NORTH}; -u8 (*const gMovementTypeFuncs_WalkSequenceDownUpLeftRight[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementTypeFuncs_WalkSequenceDownUpLeftRight[])(struct ObjectEvent *, struct Sprite *) = { MovementType_WalkSequence_Step0, MovementType_WalkSequenceDownUpLeftRight_Step1, MovementType_WalkSequence_Step2, }; -u8 (*const gMovementTypeFuncs_WalkSequenceRightDownUpLeft[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementTypeFuncs_WalkSequenceRightDownUpLeft[])(struct ObjectEvent *, struct Sprite *) = { MovementType_WalkSequence_Step0, MovementType_WalkSequenceRightDownUpLeft_Step1, MovementType_WalkSequence_Step2, @@ -253,7 +253,7 @@ u8 (*const gMovementTypeFuncs_WalkSequenceRightDownUpLeft[])(struct EventObject const u8 gRightDownUpLeftDirections[] = {DIR_EAST, DIR_SOUTH, DIR_NORTH, DIR_WEST}; -u8 (*const gMovementTypeFuncs_WalkSequenceLeftUpDownRight[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementTypeFuncs_WalkSequenceLeftUpDownRight[])(struct ObjectEvent *, struct Sprite *) = { MovementType_WalkSequence_Step0, MovementType_WalkSequenceLeftUpDownRight_Step1, MovementType_WalkSequence_Step2, @@ -261,7 +261,7 @@ u8 (*const gMovementTypeFuncs_WalkSequenceLeftUpDownRight[])(struct EventObject const u8 gLeftUpDownRightDirections[] = {DIR_WEST, DIR_NORTH, DIR_SOUTH, DIR_EAST}; -u8 (*const gMovementTypeFuncs_WalkSequenceUpDownRightLeft[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementTypeFuncs_WalkSequenceUpDownRightLeft[])(struct ObjectEvent *, struct Sprite *) = { MovementType_WalkSequence_Step0, MovementType_WalkSequenceUpDownRightLeft_Step1, MovementType_WalkSequence_Step2, @@ -269,7 +269,7 @@ u8 (*const gMovementTypeFuncs_WalkSequenceUpDownRightLeft[])(struct EventObject const u8 gUpDownRightLeftDirections[] = {DIR_NORTH, DIR_SOUTH, DIR_EAST, DIR_WEST}; -u8 (*const gMovementTypeFuncs_WalkSequenceRightLeftUpDown[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementTypeFuncs_WalkSequenceRightLeftUpDown[])(struct ObjectEvent *, struct Sprite *) = { MovementType_WalkSequence_Step0, MovementType_WalkSequenceRightLeftUpDown_Step1, MovementType_WalkSequence_Step2, @@ -277,7 +277,7 @@ u8 (*const gMovementTypeFuncs_WalkSequenceRightLeftUpDown[])(struct EventObject const u8 gRightLeftUpDownDirections[] = {DIR_EAST, DIR_WEST, DIR_NORTH, DIR_SOUTH}; -u8 (*const gMovementTypeFuncs_WalkSequenceDownRightLeftUp[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementTypeFuncs_WalkSequenceDownRightLeftUp[])(struct ObjectEvent *, struct Sprite *) = { MovementType_WalkSequence_Step0, MovementType_WalkSequenceDownRightLeftUp_Step1, MovementType_WalkSequence_Step2, @@ -285,7 +285,7 @@ u8 (*const gMovementTypeFuncs_WalkSequenceDownRightLeftUp[])(struct EventObject const u8 gDownRightLeftUpDirections[] = {DIR_SOUTH, DIR_EAST, DIR_WEST, DIR_NORTH}; -u8 (*const gMovementTypeFuncs_WalkSequenceRightUpDownLeft[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementTypeFuncs_WalkSequenceRightUpDownLeft[])(struct ObjectEvent *, struct Sprite *) = { MovementType_WalkSequence_Step0, MovementType_WalkSequenceRightUpDownLeft_Step1, MovementType_WalkSequence_Step2, @@ -293,7 +293,7 @@ u8 (*const gMovementTypeFuncs_WalkSequenceRightUpDownLeft[])(struct EventObject const u8 gRightUpDownLeftDirections[] = {DIR_EAST, DIR_NORTH, DIR_SOUTH, DIR_WEST}; -u8 (*const gMovementTypeFuncs_WalkSequenceUpDownLeftRight[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementTypeFuncs_WalkSequenceUpDownLeftRight[])(struct ObjectEvent *, struct Sprite *) = { MovementType_WalkSequence_Step0, MovementType_WalkSequenceUpDownLeftRight_Step1, MovementType_WalkSequence_Step2, @@ -301,7 +301,7 @@ u8 (*const gMovementTypeFuncs_WalkSequenceUpDownLeftRight[])(struct EventObject const u8 gUpDownLeftRightDirections[] = {DIR_NORTH, DIR_SOUTH, DIR_WEST, DIR_EAST}; -u8 (*const gMovementTypeFuncs_WalkSequenceLeftRightUpDown[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementTypeFuncs_WalkSequenceLeftRightUpDown[])(struct ObjectEvent *, struct Sprite *) = { MovementType_WalkSequence_Step0, MovementType_WalkSequenceLeftRightUpDown_Step1, MovementType_WalkSequence_Step2, @@ -309,7 +309,7 @@ u8 (*const gMovementTypeFuncs_WalkSequenceLeftRightUpDown[])(struct EventObject const u8 gLeftRightUpDownDirections[] = {DIR_WEST, DIR_EAST, DIR_NORTH, DIR_SOUTH}; -u8 (*const gMovementTypeFuncs_WalkSequenceDownLeftRightUp[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementTypeFuncs_WalkSequenceDownLeftRightUp[])(struct ObjectEvent *, struct Sprite *) = { MovementType_WalkSequence_Step0, MovementType_WalkSequenceDownLeftRightUp_Step1, MovementType_WalkSequence_Step2, @@ -317,7 +317,7 @@ u8 (*const gMovementTypeFuncs_WalkSequenceDownLeftRightUp[])(struct EventObject const u8 gDownLeftRightUpDirections[] = {DIR_SOUTH, DIR_WEST, DIR_EAST, DIR_NORTH}; -u8 (*const gMovementTypeFuncs_WalkSequenceUpLeftDownRight[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementTypeFuncs_WalkSequenceUpLeftDownRight[])(struct ObjectEvent *, struct Sprite *) = { MovementType_WalkSequence_Step0, MovementType_WalkSequenceUpLeftDownRight_Step1, MovementType_WalkSequence_Step2, @@ -325,7 +325,7 @@ u8 (*const gMovementTypeFuncs_WalkSequenceUpLeftDownRight[])(struct EventObject const u8 gUpLeftDownRightDirections[] = {DIR_NORTH, DIR_WEST, DIR_SOUTH, DIR_EAST}; -u8 (*const gMovementTypeFuncs_WalkSequenceDownRightUpLeft[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementTypeFuncs_WalkSequenceDownRightUpLeft[])(struct ObjectEvent *, struct Sprite *) = { MovementType_WalkSequence_Step0, MovementType_WalkSequenceDownRightUpLeft_Step1, MovementType_WalkSequence_Step2, @@ -333,7 +333,7 @@ u8 (*const gMovementTypeFuncs_WalkSequenceDownRightUpLeft[])(struct EventObject const u8 gDownRightUpLeftDirections[] = {DIR_SOUTH, DIR_EAST, DIR_NORTH, DIR_WEST}; -u8 (*const gMovementTypeFuncs_WalkSequenceLeftDownRightUp[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementTypeFuncs_WalkSequenceLeftDownRightUp[])(struct ObjectEvent *, struct Sprite *) = { MovementType_WalkSequence_Step0, MovementType_WalkSequenceLeftDownRightUp_Step1, MovementType_WalkSequence_Step2, @@ -341,7 +341,7 @@ u8 (*const gMovementTypeFuncs_WalkSequenceLeftDownRightUp[])(struct EventObject const u8 gLeftDownRightUpDirections[] = {DIR_WEST, DIR_SOUTH, DIR_EAST, DIR_NORTH}; -u8 (*const gMovementTypeFuncs_WalkSequenceRightUpLeftDown[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementTypeFuncs_WalkSequenceRightUpLeftDown[])(struct ObjectEvent *, struct Sprite *) = { MovementType_WalkSequence_Step0, MovementType_WalkSequenceRightUpLeftDown_Step1, MovementType_WalkSequence_Step2, @@ -349,7 +349,7 @@ u8 (*const gMovementTypeFuncs_WalkSequenceRightUpLeftDown[])(struct EventObject const u8 gRightUpLeftDownDirections[] = {DIR_EAST, DIR_NORTH, DIR_WEST, DIR_SOUTH}; -u8 (*const gMovementTypeFuncs_WalkSequenceUpRightDownLeft[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementTypeFuncs_WalkSequenceUpRightDownLeft[])(struct ObjectEvent *, struct Sprite *) = { MovementType_WalkSequence_Step0, MovementType_WalkSequenceUpRightDownLeft_Step1, MovementType_WalkSequence_Step2, @@ -357,7 +357,7 @@ u8 (*const gMovementTypeFuncs_WalkSequenceUpRightDownLeft[])(struct EventObject const u8 gUpRightDownLeftDirections[] = {DIR_NORTH, DIR_EAST, DIR_SOUTH, DIR_WEST}; -u8 (*const gMovementTypeFuncs_WalkSequenceDownLeftUpRight[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementTypeFuncs_WalkSequenceDownLeftUpRight[])(struct ObjectEvent *, struct Sprite *) = { MovementType_WalkSequence_Step0, MovementType_WalkSequenceDownLeftUpRight_Step1, MovementType_WalkSequence_Step2, @@ -365,7 +365,7 @@ u8 (*const gMovementTypeFuncs_WalkSequenceDownLeftUpRight[])(struct EventObject const u8 gDownLeftUpRightDirections[] = {DIR_SOUTH, DIR_WEST, DIR_NORTH, DIR_EAST}; -u8 (*const gMovementTypeFuncs_WalkSequenceLeftUpRightDown[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementTypeFuncs_WalkSequenceLeftUpRightDown[])(struct ObjectEvent *, struct Sprite *) = { MovementType_WalkSequence_Step0, MovementType_WalkSequenceLeftUpRightDown_Step1, MovementType_WalkSequence_Step2, @@ -373,7 +373,7 @@ u8 (*const gMovementTypeFuncs_WalkSequenceLeftUpRightDown[])(struct EventObject const u8 gLeftUpRightDownDirections[] = {DIR_WEST, DIR_NORTH, DIR_EAST, DIR_SOUTH}; -u8 (*const gMovementTypeFuncs_WalkSequenceRightDownLeftUp[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementTypeFuncs_WalkSequenceRightDownLeftUp[])(struct ObjectEvent *, struct Sprite *) = { MovementType_WalkSequence_Step0, MovementType_WalkSequenceRightDownLeftUp_Step1, MovementType_WalkSequence_Step2, @@ -381,13 +381,13 @@ u8 (*const gMovementTypeFuncs_WalkSequenceRightDownLeftUp[])(struct EventObject const u8 gRightDownLeftUpDirections[] = {DIR_EAST, DIR_SOUTH, DIR_WEST, DIR_NORTH}; -u8 (*const gMovementTypeFuncs_CopyPlayer[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementTypeFuncs_CopyPlayer[])(struct ObjectEvent *, struct Sprite *) = { MovementType_CopyPlayer_Step0, MovementType_CopyPlayer_Step1, MovementType_CopyPlayer_Step2, }; -bool8 (*const gCopyPlayerMovementFuncs[])(struct EventObject *, struct Sprite *, u8, bool8(u8)) = { +bool8 (*const gCopyPlayerMovementFuncs[])(struct ObjectEvent *, struct Sprite *, u8, bool8(u8)) = { CopyablePlayerMovement_None, CopyablePlayerMovement_FaceDirection, CopyablePlayerMovement_GoSpeed0, @@ -401,37 +401,37 @@ bool8 (*const gCopyPlayerMovementFuncs[])(struct EventObject *, struct Sprite *, CopyablePlayerMovement_None, }; -u8 (*const gMovementTypeFuncs_CopyPlayerInGrass[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementTypeFuncs_CopyPlayerInGrass[])(struct ObjectEvent *, struct Sprite *) = { MovementType_CopyPlayer_Step0, MovementType_CopyPlayerInGrass_Step1, MovementType_CopyPlayer_Step2, }; -u8 (*const gMovementTypeFuncs_Hidden[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementTypeFuncs_Hidden[])(struct ObjectEvent *, struct Sprite *) = { MovementType_Hidden_Step0, }; -u8 (*const gMovementTypeFuncs_WalkInPlace[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementTypeFuncs_WalkInPlace[])(struct ObjectEvent *, struct Sprite *) = { MovementType_WalkInPlace_Step0, MovementType_MoveInPlace_Step1, }; -u8 (*const gMovementTypeFuncs_WalkSlowlyInPlace[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementTypeFuncs_WalkSlowlyInPlace[])(struct ObjectEvent *, struct Sprite *) = { MovementType_WalkSlowlyInPlace_Step0, MovementType_MoveInPlace_Step1, }; -u8 (*const gMovementTypeFuncs_JogInPlace[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementTypeFuncs_JogInPlace[])(struct ObjectEvent *, struct Sprite *) = { MovementType_JogInPlace_Step0, MovementType_MoveInPlace_Step1, }; -u8 (*const gMovementTypeFuncs_RunInPlace[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementTypeFuncs_RunInPlace[])(struct ObjectEvent *, struct Sprite *) = { MovementType_RunInPlace_Step0, MovementType_MoveInPlace_Step1, }; -u8 (*const gMovementTypeFuncs_Invisible[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementTypeFuncs_Invisible[])(struct ObjectEvent *, struct Sprite *) = { MovementType_Invisible_Step0, MovementType_Invisible_Step1, MovementType_Invisible_Step2, diff --git a/src/data/object_events/object_event_anims.h b/src/data/object_events/object_event_anims.h new file mode 100755 index 000000000..b319c2845 --- /dev/null +++ b/src/data/object_events/object_event_anims.h @@ -0,0 +1,1171 @@ +const union AnimCmd gObjectEventImageAnim_StayStill[] = +{ + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_QuintyPlumpFaceSouth[] = +{ + ANIMCMD_FRAME(0, 16), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_QuintyPlumpFaceNorth[] = +{ + ANIMCMD_FRAME(1, 16), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_QuintyPlumpFaceWest[] = +{ + ANIMCMD_FRAME(2, 16), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_QuintyPlumpFaceEast[] = +{ + ANIMCMD_FRAME(2, 16, .hFlip = TRUE), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_QuintyPlumpGoSouth[] = +{ + ANIMCMD_FRAME(3, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(3, 8, .hFlip = TRUE), + ANIMCMD_FRAME(0, 8), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_QuintyPlumpGoNorth[] = +{ + ANIMCMD_FRAME(4, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(4, 8, .hFlip = TRUE), + ANIMCMD_FRAME(1, 8), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_QuintyPlumpGoWest[] = +{ + ANIMCMD_FRAME(5, 8), + ANIMCMD_FRAME(2, 8), + ANIMCMD_FRAME(6, 8), + ANIMCMD_FRAME(2, 8), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_QuintyPlumpGoEast[] = +{ + ANIMCMD_FRAME(5, 8, .hFlip = TRUE), + ANIMCMD_FRAME(2, 8, .hFlip = TRUE), + ANIMCMD_FRAME(6, 8, .hFlip = TRUE), + ANIMCMD_FRAME(2, 8, .hFlip = TRUE), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_QuintyPlumpGoFastSouth[] = +{ + ANIMCMD_FRAME(3, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(3, 4, .hFlip = TRUE), + ANIMCMD_FRAME(0, 4), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_QuintyPlumpGoFastNorth[] = +{ + ANIMCMD_FRAME(4, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(4, 4, .hFlip = TRUE), + ANIMCMD_FRAME(1, 4), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_QuintyPlumpGoFastWest[] = +{ + ANIMCMD_FRAME(5, 4), + ANIMCMD_FRAME(2, 4), + ANIMCMD_FRAME(6, 4), + ANIMCMD_FRAME(2, 4), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_QuintyPlumpGoFastEast[] = +{ + ANIMCMD_FRAME(5, 4, .hFlip = TRUE), + ANIMCMD_FRAME(2, 4, .hFlip = TRUE), + ANIMCMD_FRAME(6, 4, .hFlip = TRUE), + ANIMCMD_FRAME(2, 4, .hFlip = TRUE), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_QuintyPlumpGoFasterSouth[] = +{ + ANIMCMD_FRAME(3, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(3, 2, .hFlip = TRUE), + ANIMCMD_FRAME(0, 2), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_QuintyPlumpGoFasterNorth[] = +{ + ANIMCMD_FRAME(4, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(4, 2, .hFlip = TRUE), + ANIMCMD_FRAME(1, 2), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_QuintyPlumpGoFasterWest[] = +{ + ANIMCMD_FRAME(5, 2), + ANIMCMD_FRAME(2, 2), + ANIMCMD_FRAME(6, 2), + ANIMCMD_FRAME(2, 2), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_QuintyPlumpGoFasterEast[] = +{ + ANIMCMD_FRAME(5, 2, .hFlip = TRUE), + ANIMCMD_FRAME(2, 2, .hFlip = TRUE), + ANIMCMD_FRAME(6, 2, .hFlip = TRUE), + ANIMCMD_FRAME(2, 2, .hFlip = TRUE), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_QuintyPlumpGoFastestSouth[] = +{ + ANIMCMD_FRAME(3, 1), + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(3, 1, .hFlip = TRUE), + ANIMCMD_FRAME(0, 1), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_QuintyPlumpGoFastestNorth[] = +{ + ANIMCMD_FRAME(4, 1), + ANIMCMD_FRAME(1, 1), + ANIMCMD_FRAME(4, 1, .hFlip = TRUE), + ANIMCMD_FRAME(1, 1), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_QuintyPlumpGoFastestWest[] = +{ + ANIMCMD_FRAME(5, 1), + ANIMCMD_FRAME(2, 1), + ANIMCMD_FRAME(6, 1), + ANIMCMD_FRAME(2, 1), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_QuintyPlumpGoFastestEast[] = +{ + ANIMCMD_FRAME(5, 1, .hFlip = TRUE), + ANIMCMD_FRAME(2, 1, .hFlip = TRUE), + ANIMCMD_FRAME(6, 1, .hFlip = TRUE), + ANIMCMD_FRAME(2, 1, .hFlip = TRUE), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_FaceSouth[] = +{ + ANIMCMD_FRAME(0, 16), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_FaceNorth[] = +{ + ANIMCMD_FRAME(1, 16), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_FaceWest[] = +{ + ANIMCMD_FRAME(2, 16), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_FaceEast[] = +{ + ANIMCMD_FRAME(2, 16, .hFlip = TRUE), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_GoSouth[] = +{ + ANIMCMD_FRAME(3, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(4, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_GoNorth[] = +{ + ANIMCMD_FRAME(5, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(6, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_GoWest[] = +{ + ANIMCMD_FRAME(7, 8), + ANIMCMD_FRAME(2, 8), + ANIMCMD_FRAME(8, 8), + ANIMCMD_FRAME(2, 8), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_GoEast[] = +{ + ANIMCMD_FRAME(7, 8, .hFlip = TRUE), + ANIMCMD_FRAME(2, 8, .hFlip = TRUE), + ANIMCMD_FRAME(8, 8, .hFlip = TRUE), + ANIMCMD_FRAME(2, 8, .hFlip = TRUE), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_GoFastSouth[] = +{ + ANIMCMD_FRAME(3, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(4, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_GoFastNorth[] = +{ + ANIMCMD_FRAME(5, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(6, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_GoFastWest[] = +{ + ANIMCMD_FRAME(7, 4), + ANIMCMD_FRAME(2, 4), + ANIMCMD_FRAME(8, 4), + ANIMCMD_FRAME(2, 4), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_GoFastEast[] = +{ + ANIMCMD_FRAME(7, 4, .hFlip = TRUE), + ANIMCMD_FRAME(2, 4, .hFlip = TRUE), + ANIMCMD_FRAME(8, 4, .hFlip = TRUE), + ANIMCMD_FRAME(2, 4, .hFlip = TRUE), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_GoFasterSouth[] = +{ + ANIMCMD_FRAME(3, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(4, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_GoFasterNorth[] = +{ + ANIMCMD_FRAME(5, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(6, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_GoFasterWest[] = +{ + ANIMCMD_FRAME(7, 2), + ANIMCMD_FRAME(2, 2), + ANIMCMD_FRAME(8, 2), + ANIMCMD_FRAME(2, 2), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_GoFasterEast[] = +{ + ANIMCMD_FRAME(7, 2, .hFlip = TRUE), + ANIMCMD_FRAME(2, 2, .hFlip = TRUE), + ANIMCMD_FRAME(8, 2, .hFlip = TRUE), + ANIMCMD_FRAME(2, 2, .hFlip = TRUE), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_GoFastestSouth[] = +{ + ANIMCMD_FRAME(3, 1), + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(4, 1), + ANIMCMD_FRAME(0, 1), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_GoFastestNorth[] = +{ + ANIMCMD_FRAME(5, 1), + ANIMCMD_FRAME(1, 1), + ANIMCMD_FRAME(6, 1), + ANIMCMD_FRAME(1, 1), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_GoFastestWest[] = +{ + ANIMCMD_FRAME(7, 1), + ANIMCMD_FRAME(2, 1), + ANIMCMD_FRAME(8, 1), + ANIMCMD_FRAME(2, 1), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_GoFastestEast[] = +{ + ANIMCMD_FRAME(7, 1, .hFlip = TRUE), + ANIMCMD_FRAME(2, 1, .hFlip = TRUE), + ANIMCMD_FRAME(8, 1, .hFlip = TRUE), + ANIMCMD_FRAME(2, 1, .hFlip = TRUE), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_RunSouth[] = +{ + ANIMCMD_FRAME(12, 5), + ANIMCMD_FRAME(9, 3), + ANIMCMD_FRAME(13, 5), + ANIMCMD_FRAME(9, 3), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_RunNorth[] = +{ + ANIMCMD_FRAME(14, 5), + ANIMCMD_FRAME(10, 3), + ANIMCMD_FRAME(15, 5), + ANIMCMD_FRAME(10, 3), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_RunWest[] = +{ + ANIMCMD_FRAME(16, 5), + ANIMCMD_FRAME(11, 3), + ANIMCMD_FRAME(17, 5), + ANIMCMD_FRAME(11, 3), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_RunEast[] = +{ + ANIMCMD_FRAME(16, 5, .hFlip = TRUE), + ANIMCMD_FRAME(11, 3, .hFlip = TRUE), + ANIMCMD_FRAME(17, 5, .hFlip = TRUE), + ANIMCMD_FRAME(11, 3, .hFlip = TRUE), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_FieldMove[] = +{ + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(2, 4), + ANIMCMD_FRAME(3, 4), + ANIMCMD_FRAME(4, 8), + ANIMCMD_END, +}; + +const union AnimCmd gObjectEventImageAnim_GetOnOffSurfBlobSouth[] = +{ + ANIMCMD_FRAME(9, 32), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_GetOnOffSurfBlobNorth[] = +{ + ANIMCMD_FRAME(10, 32), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_GetOnOffSurfBlobWest[] = +{ + ANIMCMD_FRAME(11, 32), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_GetOnOffSurfBlobEast[] = +{ + ANIMCMD_FRAME(11, 32, .hFlip = TRUE), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_BunnyHoppyBackWheelSouth[] = +{ + ANIMCMD_FRAME(9, 4), + ANIMCMD_FRAME(10, 4), + ANIMCMD_END, +}; + +const union AnimCmd gObjectEventImageAnim_BunnyHoppyBackWheelNorth[] = +{ + ANIMCMD_FRAME(13, 4), + ANIMCMD_FRAME(14, 4), + ANIMCMD_END, +}; + +const union AnimCmd gObjectEventImageAnim_BunnyHoppyBackWheelWest[] = +{ + ANIMCMD_FRAME(17, 4), + ANIMCMD_FRAME(18, 4), + ANIMCMD_END, +}; + +const union AnimCmd gObjectEventImageAnim_BunnyHoppyBackWheelEast[] = +{ + ANIMCMD_FRAME(17, 4, .hFlip = TRUE), + ANIMCMD_FRAME(18, 4, .hFlip = TRUE), + ANIMCMD_END, +}; + +const union AnimCmd gObjectEventImageAnim_BunnyHoppyFrontWheelSouth[] = +{ + ANIMCMD_FRAME(11, 4), + ANIMCMD_FRAME(12, 4), + ANIMCMD_END, +}; + +const union AnimCmd gObjectEventImageAnim_BunnyHoppyFrontWheelNorth[] = +{ + ANIMCMD_FRAME(15, 4), + ANIMCMD_FRAME(16, 4), + ANIMCMD_END, +}; + +const union AnimCmd gObjectEventImageAnim_BunnyHoppyFrontWheelWest[] = +{ + ANIMCMD_FRAME(19, 4), + ANIMCMD_FRAME(20, 4), + ANIMCMD_END, +}; + +const union AnimCmd gObjectEventImageAnim_BunnyHoppyFrontWheelEast[] = +{ + ANIMCMD_FRAME(19, 4, .hFlip = TRUE), + ANIMCMD_FRAME(20, 4, .hFlip = TRUE), + ANIMCMD_END, +}; + +const union AnimCmd gObjectEventImageAnim_StandingWheelieBackWheelSouth[] = +{ + ANIMCMD_FRAME(9, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_END, +}; + +const union AnimCmd gObjectEventImageAnim_StandingWheelieBackWheelNorth[] = +{ + ANIMCMD_FRAME(13, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_END, +}; + +const union AnimCmd gObjectEventImageAnim_StandingWheelieBackWheelWest[] = +{ + ANIMCMD_FRAME(17, 4), + ANIMCMD_FRAME(2, 4), + ANIMCMD_END, +}; + +const union AnimCmd gObjectEventImageAnim_StandingWheelieBackWheelEast[] = +{ + ANIMCMD_FRAME(17, 4, .hFlip = TRUE), + ANIMCMD_FRAME(2, 4, .hFlip = TRUE), + ANIMCMD_END, +}; + +const union AnimCmd gObjectEventImageAnim_StandingWheelieFrontWheelSouth[] = +{ + ANIMCMD_FRAME(11, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_END, +}; + +const union AnimCmd gObjectEventImageAnim_StandingWheelieFrontWheelNorth[] = +{ + ANIMCMD_FRAME(15, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_END, +}; + +const union AnimCmd gObjectEventImageAnim_StandingWheelieFrontWheelWest[] = +{ + ANIMCMD_FRAME(19, 4), + ANIMCMD_FRAME(2, 4), + ANIMCMD_END, +}; + +const union AnimCmd gObjectEventImageAnim_StandingWheelieFrontWheelEast[] = +{ + ANIMCMD_FRAME(19, 4, .hFlip = TRUE), + ANIMCMD_FRAME(2, 4, .hFlip = TRUE), + ANIMCMD_END, +}; + +const union AnimCmd gObjectEventImageAnim_MovingWheelieSouth[] = +{ + ANIMCMD_FRAME(21, 4), + ANIMCMD_FRAME(10, 4), + ANIMCMD_FRAME(22, 4), + ANIMCMD_FRAME(10, 4), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_MovingWheelieNorth[] = +{ + ANIMCMD_FRAME(23, 4), + ANIMCMD_FRAME(14, 4), + ANIMCMD_FRAME(24, 4), + ANIMCMD_FRAME(14, 4), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_MovingWheelieWest[] = +{ + ANIMCMD_FRAME(25, 4), + ANIMCMD_FRAME(18, 4), + ANIMCMD_FRAME(26, 4), + ANIMCMD_FRAME(18, 4), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_MovingWheelieEast[] = +{ + ANIMCMD_FRAME(25, 4, .hFlip = TRUE), + ANIMCMD_FRAME(18, 4, .hFlip = TRUE), + ANIMCMD_FRAME(26, 4, .hFlip = TRUE), + ANIMCMD_FRAME(18, 4, .hFlip = TRUE), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_BerryTreeStage0[] = +{ + ANIMCMD_FRAME(0, 32), + ANIMCMD_END, +}; + +const union AnimCmd gObjectEventImageAnim_BerryTreeStage1[] = +{ + ANIMCMD_FRAME(1, 32), + ANIMCMD_FRAME(2, 32), + ANIMCMD_END, +}; + +const union AnimCmd gObjectEventImageAnim_BerryTreeStage2[] = +{ + ANIMCMD_FRAME(3, 48), + ANIMCMD_FRAME(4, 48), + ANIMCMD_END, +}; + +const union AnimCmd gObjectEventImageAnim_BerryTreeStage3[] = +{ + ANIMCMD_FRAME(5, 32), + ANIMCMD_FRAME(5, 32), + ANIMCMD_FRAME(6, 32), + ANIMCMD_FRAME(6, 32), + ANIMCMD_END, +}; + +const union AnimCmd gObjectEventImageAnim_BerryTreeStage4[] = +{ + ANIMCMD_FRAME(7, 48), + ANIMCMD_FRAME(7, 48), + ANIMCMD_FRAME(8, 48), + ANIMCMD_FRAME(8, 48), + ANIMCMD_END, +}; + +const union AnimCmd gObjectEventImageAnim_NurseBow[] = +{ + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(9, 32), + ANIMCMD_FRAME(0, 8), + ANIMCMD_END, +}; + +const union AnimCmd gObjectEventImageAnim_RockBreak[] = +{ + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(2, 8), + ANIMCMD_FRAME(3, 8), + ANIMCMD_END, +}; + +const union AnimCmd gObjectEventImageAnim_TreeCut[] = +{ + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(2, 6), + ANIMCMD_FRAME(3, 6), + ANIMCMD_END, +}; + +const union AnimCmd gObjectEventImageAnim_TakeOutRodSouth[] = +{ + ANIMCMD_FRAME(8, 4), + ANIMCMD_FRAME(9, 4), + ANIMCMD_FRAME(10, 4), + ANIMCMD_FRAME(11, 4), + ANIMCMD_END, +}; + +const union AnimCmd gObjectEventImageAnim_TakeOutRodNorth[] = +{ + ANIMCMD_FRAME(4, 4), + ANIMCMD_FRAME(5, 4), + ANIMCMD_FRAME(6, 4), + ANIMCMD_FRAME(7, 4), + ANIMCMD_END, +}; + +const union AnimCmd gObjectEventImageAnim_TakeOutRodWest[] = +{ + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(2, 4), + ANIMCMD_FRAME(3, 4), + ANIMCMD_END, +}; + +const union AnimCmd gObjectEventImageAnim_TakeOutRodEast[] = +{ + ANIMCMD_FRAME(0, 4, .hFlip = TRUE), + ANIMCMD_FRAME(1, 4, .hFlip = TRUE), + ANIMCMD_FRAME(2, 4, .hFlip = TRUE), + ANIMCMD_FRAME(3, 4, .hFlip = TRUE), + ANIMCMD_END, +}; + +const union AnimCmd gObjectEventImageAnim_PutAwayRodSouth[] = +{ + ANIMCMD_FRAME(11, 4), + ANIMCMD_FRAME(10, 6), + ANIMCMD_FRAME(9, 6), + ANIMCMD_FRAME(8, 6), + ANIMCMD_END, +}; + +const union AnimCmd gObjectEventImageAnim_PutAwayRodNorth[] = +{ + ANIMCMD_FRAME(7, 4), + ANIMCMD_FRAME(6, 6), + ANIMCMD_FRAME(5, 6), + ANIMCMD_FRAME(4, 6), + ANIMCMD_END, +}; + +const union AnimCmd gObjectEventImageAnim_PutAwayRodWest[] = +{ + ANIMCMD_FRAME(3, 4), + ANIMCMD_FRAME(2, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_END, +}; + +const union AnimCmd gObjectEventImageAnim_PutAwayRodEast[] = +{ + ANIMCMD_FRAME(3, 4, .hFlip = TRUE), + ANIMCMD_FRAME(2, 4, .hFlip = TRUE), + ANIMCMD_FRAME(1, 4, .hFlip = TRUE), + ANIMCMD_FRAME(0, 4, .hFlip = TRUE), + ANIMCMD_END, +}; + +const union AnimCmd gObjectEventImageAnim_HookedPokemonSouth[] = +{ + ANIMCMD_FRAME(10, 6), + ANIMCMD_FRAME(11, 6), + ANIMCMD_LOOP(1), + ANIMCMD_FRAME(11, 30), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_HookedPokemonNorth[] = +{ + ANIMCMD_FRAME(6, 6), + ANIMCMD_FRAME(7, 6), + ANIMCMD_LOOP(1), + ANIMCMD_FRAME(7, 30), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_HookedPokemonWest[] = +{ + ANIMCMD_FRAME(2, 6), + ANIMCMD_FRAME(3, 6), + ANIMCMD_LOOP(1), + ANIMCMD_FRAME(3, 30), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_HookedPokemonEast[] = +{ + ANIMCMD_FRAME(2, 6, .hFlip = TRUE), + ANIMCMD_FRAME(3, 6, .hFlip = TRUE), + ANIMCMD_LOOP(1), + ANIMCMD_FRAME(3, 30, .hFlip = TRUE), + ANIMCMD_JUMP(0), +}; + +const union AffineAnimCmd gObjectEventRotScalAnim_8508FD8[] = +{ + AFFINEANIMCMD_FRAME(0x0, 0x0, 1, 1), + AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 1), + AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 1), + AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 1), + AFFINEANIMCMD_LOOP(7), + AFFINEANIMCMD_JUMP(0), +}; + +const union AffineAnimCmd gObjectEventRotScalAnim_8509008[] = +{ + AFFINEANIMCMD_FRAME(0x0, 0x0, -1, 1), + AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 1), + AFFINEANIMCMD_LOOP(15), + AFFINEANIMCMD_FRAME(0x0, 0x0, 1, 1), + AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 1), + AFFINEANIMCMD_LOOP(15), + AFFINEANIMCMD_JUMP(0), +}; + +const union AffineAnimCmd gObjectEventRotScalAnim_8509040[] = +{ + AFFINEANIMCMD_FRAME(0x100, 0x100, 10, 0), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gObjectEventRotScalAnim_8509050[] = +{ + AFFINEANIMCMD_FRAME(0x100, 0x100, 10, 0), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gObjectEventRotScalAnim_8509060[] = +{ + AFFINEANIMCMD_FRAME(0x0, 0x0, -1, 1), + AFFINEANIMCMD_LOOP(8), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gObjectEventRotScalAnim_8509078[] = +{ + AFFINEANIMCMD_FRAME(0x0, 0x0, 1, 1), + AFFINEANIMCMD_LOOP(8), + AFFINEANIMCMD_END, +}; + +const union AnimCmd gObjectEventImageAnim_HoOhFlapWings[] = +{ + ANIMCMD_FRAME(3, 8), + ANIMCMD_FRAME(4, 8), + ANIMCMD_FRAME(3, 8), + ANIMCMD_FRAME(4, 8), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_HoOhStayStill[] = +{ + ANIMCMD_FRAME(3, 16), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd *const gObjectEventImageAnimTable_Inanimate[] = { + gObjectEventImageAnim_StayStill, +}; + +const union AnimCmd *const gObjectEventImageAnimTable_QuintyPlump[] = { + gObjectEventImageAnim_QuintyPlumpFaceSouth, + gObjectEventImageAnim_QuintyPlumpFaceNorth, + gObjectEventImageAnim_QuintyPlumpFaceWest, + gObjectEventImageAnim_QuintyPlumpFaceEast, + gObjectEventImageAnim_QuintyPlumpGoSouth, + gObjectEventImageAnim_QuintyPlumpGoNorth, + gObjectEventImageAnim_QuintyPlumpGoWest, + gObjectEventImageAnim_QuintyPlumpGoEast, + gObjectEventImageAnim_QuintyPlumpGoFastSouth, + gObjectEventImageAnim_QuintyPlumpGoFastNorth, + gObjectEventImageAnim_QuintyPlumpGoFastWest, + gObjectEventImageAnim_QuintyPlumpGoFastEast, + gObjectEventImageAnim_QuintyPlumpGoFasterSouth, + gObjectEventImageAnim_QuintyPlumpGoFasterNorth, + gObjectEventImageAnim_QuintyPlumpGoFasterWest, + gObjectEventImageAnim_QuintyPlumpGoFasterEast, + gObjectEventImageAnim_QuintyPlumpGoFastestSouth, + gObjectEventImageAnim_QuintyPlumpGoFastestNorth, + gObjectEventImageAnim_QuintyPlumpGoFastestWest, + gObjectEventImageAnim_QuintyPlumpGoFastestEast, +}; + +const union AnimCmd *const gObjectEventImageAnimTable_Standard[] = { + gObjectEventImageAnim_FaceSouth, + gObjectEventImageAnim_FaceNorth, + gObjectEventImageAnim_FaceWest, + gObjectEventImageAnim_FaceEast, + gObjectEventImageAnim_GoSouth, + gObjectEventImageAnim_GoNorth, + gObjectEventImageAnim_GoWest, + gObjectEventImageAnim_GoEast, + gObjectEventImageAnim_GoFastSouth, + gObjectEventImageAnim_GoFastNorth, + gObjectEventImageAnim_GoFastWest, + gObjectEventImageAnim_GoFastEast, + gObjectEventImageAnim_GoFasterSouth, + gObjectEventImageAnim_GoFasterNorth, + gObjectEventImageAnim_GoFasterWest, + gObjectEventImageAnim_GoFasterEast, + gObjectEventImageAnim_GoFastestSouth, + gObjectEventImageAnim_GoFastestNorth, + gObjectEventImageAnim_GoFastestWest, + gObjectEventImageAnim_GoFastestEast, +}; + +const union AnimCmd *const gObjectEventImageAnimTable_HoOh[] = { + gObjectEventImageAnim_FaceSouth, + gObjectEventImageAnim_FaceNorth, + gObjectEventImageAnim_FaceWest, + gObjectEventImageAnim_FaceEast, + gObjectEventImageAnim_HoOhFlapWings, + gObjectEventImageAnim_HoOhStayStill, + gObjectEventImageAnim_GoWest, + gObjectEventImageAnim_GoEast, + gObjectEventImageAnim_GoFastSouth, + gObjectEventImageAnim_GoFastNorth, + gObjectEventImageAnim_GoFastWest, + gObjectEventImageAnim_GoFastEast, + gObjectEventImageAnim_GoFasterSouth, + gObjectEventImageAnim_GoFasterNorth, + gObjectEventImageAnim_GoFasterWest, + gObjectEventImageAnim_GoFasterEast, + gObjectEventImageAnim_GoFastestSouth, + gObjectEventImageAnim_GoFastestNorth, + gObjectEventImageAnim_GoFastestWest, + gObjectEventImageAnim_GoFastestEast, +}; + +const union AnimCmd *const gObjectEventImageAnimTable_Groudon3[] = { + gObjectEventImageAnim_FaceSouth, + gObjectEventImageAnim_FaceNorth, + gObjectEventImageAnim_FaceWest, + gObjectEventImageAnim_FaceEast, + gObjectEventImageAnim_GoSouth, + gObjectEventImageAnim_GoEast, + gObjectEventImageAnim_GoWest, + gObjectEventImageAnim_GoEast, + gObjectEventImageAnim_GoFastSouth, + gObjectEventImageAnim_GoFastEast, + gObjectEventImageAnim_GoFastWest, + gObjectEventImageAnim_GoFastEast, + gObjectEventImageAnim_GoFasterSouth, + gObjectEventImageAnim_GoFasterEast, + gObjectEventImageAnim_GoFasterWest, + gObjectEventImageAnim_GoFasterEast, + gObjectEventImageAnim_GoFastestSouth, + gObjectEventImageAnim_GoFastestEast, + gObjectEventImageAnim_GoFastestWest, + gObjectEventImageAnim_GoFastestEast, +}; + +const union AnimCmd gObjectEventImageAnim_85091F0[] = +{ + ANIMCMD_FRAME(1, 1), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_85091F8[] = +{ + ANIMCMD_FRAME(4, 1), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_8509200[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_8509208[] = +{ + ANIMCMD_FRAME(2, 1), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_8509210[] = +{ + ANIMCMD_FRAME(3, 1), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_8509218[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_8509220[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_8509228[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gObjectEventImageAnim_8509230[] = +{ + ANIMCMD_FRAME(3, 1), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd *const gObjectEventImageAnimTable_Rayquaza2[] = { + gObjectEventImageAnim_8509218, + gObjectEventImageAnim_8509220, + gObjectEventImageAnim_8509228, + gObjectEventImageAnim_8509230, + gObjectEventImageAnim_8509200, + gObjectEventImageAnim_85091F8, + gObjectEventImageAnim_8509208, + gObjectEventImageAnim_8509210, + gObjectEventImageAnim_8509200, + gObjectEventImageAnim_85091F8, + gObjectEventImageAnim_85091F0, + gObjectEventImageAnim_8509210, + gObjectEventImageAnim_8509200, + gObjectEventImageAnim_85091F8, + gObjectEventImageAnim_8509208, + gObjectEventImageAnim_8509210, + gObjectEventImageAnim_8509200, + gObjectEventImageAnim_85091F8, + gObjectEventImageAnim_8509208, + gObjectEventImageAnim_8509210, +}; + +const union AnimCmd *const gObjectEventImageAnimTable_BrendanMayNormal[] = { + gObjectEventImageAnim_FaceSouth, + gObjectEventImageAnim_FaceNorth, + gObjectEventImageAnim_FaceWest, + gObjectEventImageAnim_FaceEast, + gObjectEventImageAnim_GoSouth, + gObjectEventImageAnim_GoNorth, + gObjectEventImageAnim_GoWest, + gObjectEventImageAnim_GoEast, + gObjectEventImageAnim_GoFastSouth, + gObjectEventImageAnim_GoFastNorth, + gObjectEventImageAnim_GoFastWest, + gObjectEventImageAnim_GoFastEast, + gObjectEventImageAnim_GoFasterSouth, + gObjectEventImageAnim_GoFasterNorth, + gObjectEventImageAnim_GoFasterWest, + gObjectEventImageAnim_GoFasterEast, + gObjectEventImageAnim_GoFastestSouth, + gObjectEventImageAnim_GoFastestNorth, + gObjectEventImageAnim_GoFastestWest, + gObjectEventImageAnim_GoFastestEast, + gObjectEventImageAnim_RunSouth, + gObjectEventImageAnim_RunNorth, + gObjectEventImageAnim_RunWest, + gObjectEventImageAnim_RunEast, +}; + +const union AnimCmd *const gObjectEventImageAnimTable_AcroBike[] = { + gObjectEventImageAnim_FaceSouth, + gObjectEventImageAnim_FaceNorth, + gObjectEventImageAnim_FaceWest, + gObjectEventImageAnim_FaceEast, + gObjectEventImageAnim_GoSouth, + gObjectEventImageAnim_GoNorth, + gObjectEventImageAnim_GoWest, + gObjectEventImageAnim_GoEast, + gObjectEventImageAnim_GoFastSouth, + gObjectEventImageAnim_GoFastNorth, + gObjectEventImageAnim_GoFastWest, + gObjectEventImageAnim_GoFastEast, + gObjectEventImageAnim_GoFasterSouth, + gObjectEventImageAnim_GoFasterNorth, + gObjectEventImageAnim_GoFasterWest, + gObjectEventImageAnim_GoFasterEast, + gObjectEventImageAnim_GoFastestSouth, + gObjectEventImageAnim_GoFastestNorth, + gObjectEventImageAnim_GoFastestWest, + gObjectEventImageAnim_GoFastestEast, + gObjectEventImageAnim_BunnyHoppyBackWheelSouth, + gObjectEventImageAnim_BunnyHoppyBackWheelNorth, + gObjectEventImageAnim_BunnyHoppyBackWheelWest, + gObjectEventImageAnim_BunnyHoppyBackWheelEast, + gObjectEventImageAnim_BunnyHoppyFrontWheelSouth, + gObjectEventImageAnim_BunnyHoppyFrontWheelNorth, + gObjectEventImageAnim_BunnyHoppyFrontWheelWest, + gObjectEventImageAnim_BunnyHoppyFrontWheelEast, + gObjectEventImageAnim_StandingWheelieBackWheelSouth, + gObjectEventImageAnim_StandingWheelieBackWheelNorth, + gObjectEventImageAnim_StandingWheelieBackWheelWest, + gObjectEventImageAnim_StandingWheelieBackWheelEast, + gObjectEventImageAnim_StandingWheelieFrontWheelSouth, + gObjectEventImageAnim_StandingWheelieFrontWheelNorth, + gObjectEventImageAnim_StandingWheelieFrontWheelWest, + gObjectEventImageAnim_StandingWheelieFrontWheelEast, + gObjectEventImageAnim_MovingWheelieSouth, + gObjectEventImageAnim_MovingWheelieNorth, + gObjectEventImageAnim_MovingWheelieWest, + gObjectEventImageAnim_MovingWheelieEast, +}; + +const union AnimCmd *const gObjectEventImageAnimTable_Surfing[] = { + gObjectEventImageAnim_FaceSouth, + gObjectEventImageAnim_FaceNorth, + gObjectEventImageAnim_FaceWest, + gObjectEventImageAnim_FaceEast, + gObjectEventImageAnim_GoSouth, + gObjectEventImageAnim_GoNorth, + gObjectEventImageAnim_GoWest, + gObjectEventImageAnim_GoEast, + gObjectEventImageAnim_GoFastSouth, + gObjectEventImageAnim_GoFastNorth, + gObjectEventImageAnim_GoFastWest, + gObjectEventImageAnim_GoFastEast, + gObjectEventImageAnim_GoFasterSouth, + gObjectEventImageAnim_GoFasterNorth, + gObjectEventImageAnim_GoFasterWest, + gObjectEventImageAnim_GoFasterEast, + gObjectEventImageAnim_GoFastestSouth, + gObjectEventImageAnim_GoFastestNorth, + gObjectEventImageAnim_GoFastestWest, + gObjectEventImageAnim_GoFastestEast, + gObjectEventImageAnim_GetOnOffSurfBlobSouth, + gObjectEventImageAnim_GetOnOffSurfBlobNorth, + gObjectEventImageAnim_GetOnOffSurfBlobWest, + gObjectEventImageAnim_GetOnOffSurfBlobEast, +}; + +const union AnimCmd *const gObjectEventImageAnimTable_Nurse[] = { + gObjectEventImageAnim_FaceSouth, + gObjectEventImageAnim_FaceNorth, + gObjectEventImageAnim_FaceWest, + gObjectEventImageAnim_FaceEast, + gObjectEventImageAnim_GoSouth, + gObjectEventImageAnim_GoNorth, + gObjectEventImageAnim_GoWest, + gObjectEventImageAnim_GoEast, + gObjectEventImageAnim_GoFastSouth, + gObjectEventImageAnim_GoFastNorth, + gObjectEventImageAnim_GoFastWest, + gObjectEventImageAnim_GoFastEast, + gObjectEventImageAnim_GoFasterSouth, + gObjectEventImageAnim_GoFasterNorth, + gObjectEventImageAnim_GoFasterWest, + gObjectEventImageAnim_GoFasterEast, + gObjectEventImageAnim_GoFastestSouth, + gObjectEventImageAnim_GoFastestNorth, + gObjectEventImageAnim_GoFastestWest, + gObjectEventImageAnim_GoFastestEast, + gObjectEventImageAnim_NurseBow, +}; + +const union AnimCmd *const gObjectEventImageAnimTable_FieldMove[] = { + gObjectEventImageAnim_FieldMove, +}; + +const union AnimCmd *const gObjectEventImageAnimTable_BerryTree[] = { + gObjectEventImageAnim_BerryTreeStage0, + gObjectEventImageAnim_BerryTreeStage1, + gObjectEventImageAnim_BerryTreeStage2, + gObjectEventImageAnim_BerryTreeStage3, + gObjectEventImageAnim_BerryTreeStage4, +}; + +const union AnimCmd *const gObjectEventImageAnimTable_BreakableRock[] = { + gObjectEventImageAnim_StayStill, + gObjectEventImageAnim_RockBreak, +}; + +const union AnimCmd *const gObjectEventImageAnimTable_CuttableTree[] = { + gObjectEventImageAnim_StayStill, + gObjectEventImageAnim_TreeCut, +}; + +const union AnimCmd *const gObjectEventImageAnimTable_Fishing[] = { + gObjectEventImageAnim_TakeOutRodSouth, + gObjectEventImageAnim_TakeOutRodNorth, + gObjectEventImageAnim_TakeOutRodWest, + gObjectEventImageAnim_TakeOutRodEast, + gObjectEventImageAnim_PutAwayRodSouth, + gObjectEventImageAnim_PutAwayRodNorth, + gObjectEventImageAnim_PutAwayRodWest, + gObjectEventImageAnim_PutAwayRodEast, + gObjectEventImageAnim_HookedPokemonSouth, + gObjectEventImageAnim_HookedPokemonNorth, + gObjectEventImageAnim_HookedPokemonWest, + gObjectEventImageAnim_HookedPokemonEast, +}; + +const union AffineAnimCmd *const gObjectEventRotScalAnimTable_KyogreGroudon[] = { + gObjectEventRotScalAnim_8508FD8, + gObjectEventRotScalAnim_8509008, + gObjectEventRotScalAnim_8509050, + gObjectEventRotScalAnim_8509040, + gObjectEventRotScalAnim_8509078, + gObjectEventRotScalAnim_8509060, +}; + +const struct UnkStruct_085094AC gUnknown_085094AC[] = { + { + .anims = gObjectEventImageAnimTable_QuintyPlump, + .animPos = {1, 3, 0, 2}, + }, + { + .anims = gObjectEventImageAnimTable_Standard, + .animPos = {1, 3, 0, 2}, + }, + { + .anims = gObjectEventImageAnimTable_BrendanMayNormal, + .animPos = {1, 3, 0, 2}, + }, + { + .anims = gObjectEventImageAnimTable_AcroBike, + .animPos = {1, 3, 0, 2}, + }, + { + .anims = gObjectEventImageAnimTable_Surfing, + .animPos = {1, 3, 0, 2}, + }, + { + .anims = gObjectEventImageAnimTable_Nurse, + .animPos = {1, 3, 0, 2}, + }, + { + .anims = gObjectEventImageAnimTable_Fishing, + .animPos = {1, 3, 0, 2}, + }, + { + NULL, + {0, 0, 0, 0}, + }, +}; diff --git a/src/data/object_events/object_event_graphics.h b/src/data/object_events/object_event_graphics.h new file mode 100755 index 000000000..769a6bb0a --- /dev/null +++ b/src/data/object_events/object_event_graphics.h @@ -0,0 +1,362 @@ +const u32 gObjectEventPic_BrendanNormal[] = INCBIN_U32("graphics/object_events/pics/people/brendan/walking.4bpp"); +const u32 gObjectEventPic_BrendanRunning[] = INCBIN_U32("graphics/object_events/pics/people/brendan/running.4bpp"); +const u16 gObjectEventPalette8[] = INCBIN_U16("graphics/object_events/palettes/08.gbapal"); +const u32 gObjectEventPic_RubySapphireBrendanNormal[] = INCBIN_U32("graphics/object_events/pics/people/ruby_sapphire_brendan/walking.4bpp"); +const u32 gObjectEventPic_RubySapphireBrendanRunning[] = INCBIN_U32("graphics/object_events/pics/people/ruby_sapphire_brendan/running.4bpp"); +const u16 gObjectEventPalette33[] = INCBIN_U16("graphics/object_events/palettes/33.gbapal"); +const u16 gObjectEventPaletteNull1[16] = {}; +const u16 gObjectEventPaletteNull2[16] = {}; +const u16 gObjectEventPaletteNull3[16] = {}; +const u16 gObjectEventPaletteNull4[16] = {}; +const u16 gObjectEventPaletteNull5[16] = {}; +const u16 gObjectEventPaletteNull6[16] = {}; +const u16 gObjectEventPaletteNull7[16] = {}; +const u16 gObjectEventPaletteNull8[16] = {}; +const u16 gObjectEventPaletteNull9[16] = {}; +const u16 gObjectEventPaletteNull10[16] = {}; +const u16 gObjectEventPaletteNull11[16] = {}; +const u16 gObjectEventPaletteNull12[16] = {}; +const u16 gObjectEventPaletteNull13[16] = {}; +const u16 gObjectEventPaletteNull14[16] = {}; +const u16 gObjectEventPaletteNull15[16] = {}; +const u16 gObjectEventPalette9[] = INCBIN_U16("graphics/object_events/palettes/09.gbapal"); +const u16 gObjectEventPalette10[] = INCBIN_U16("graphics/object_events/palettes/10.gbapal"); +const u32 gObjectEventPic_BrendanFieldMove[] = INCBIN_U32("graphics/object_events/pics/people/brendan/field_move.4bpp"); +const u32 gObjectEventPic_BrendanSurfing[] = INCBIN_U32("graphics/object_events/pics/people/brendan/surfing.4bpp"); +const u32 gObjectEventPic_BrendanMachBike[] = INCBIN_U32("graphics/object_events/pics/people/brendan/mach_bike.4bpp"); +const u32 gObjectEventPic_BrendanAcroBike[] = INCBIN_U32("graphics/object_events/pics/people/brendan/acro_bike.4bpp"); +const u32 gObjectEventPic_BrendanFishing[] = INCBIN_U32("graphics/object_events/pics/people/brendan/fishing.4bpp"); +const u32 gObjectEventPic_BrendanWatering[] = INCBIN_U32("graphics/object_events/pics/people/brendan/watering.4bpp"); +const u32 gObjectEventPic_BrendanDecorating[] = INCBIN_U32("graphics/object_events/pics/people/brendan/decorating.4bpp"); +const u32 gObjectEventPic_MayDecorating[] = INCBIN_U32("graphics/object_events/pics/people/may/decorating.4bpp"); +const u32 gObjectEventPic_BrendanUnderwater[] = INCBIN_U32("graphics/object_events/pics/people/brendan/underwater.4bpp"); +const u32 gObjectEventPic_MayUnderwater[] = INCBIN_U32("graphics/object_events/pics/people/may/underwater.4bpp"); +const u16 gObjectEventPalette11[] = INCBIN_U16("graphics/object_events/palettes/11.gbapal"); +const u32 gObjectEventPic_MayNormal[] = INCBIN_U32("graphics/object_events/pics/people/may/walking.4bpp"); +const u32 gObjectEventPic_MayRunning[] = INCBIN_U32("graphics/object_events/pics/people/may/running.4bpp"); +const u16 gObjectEventPalette17[] = INCBIN_U16("graphics/object_events/palettes/17.gbapal"); +const u16 gObjectEventPalette18[] = INCBIN_U16("graphics/object_events/palettes/18.gbapal"); +const u32 gObjectEventPic_RubySapphireMayNormal[] = INCBIN_U32("graphics/object_events/pics/people/ruby_sapphire_may/walking.4bpp"); +const u32 gObjectEventPic_RubySapphireMayRunning[] = INCBIN_U32("graphics/object_events/pics/people/ruby_sapphire_may/running.4bpp"); +const u16 gObjectEventPalette34[] = INCBIN_U16("graphics/object_events/palettes/34.gbapal"); +const u16 gUnusedObjectEventPalette[] = INCBIN_U16("graphics/object_events/palettes/unused_palette.gbapal"); +const u16 gObjectEventPaletteNull16[16] = {}; +const u16 gObjectEventPaletteNull17[16] = {}; +const u16 gObjectEventPaletteNull18[16] = {}; +const u16 gObjectEventPaletteNull19[16] = {}; +const u16 gObjectEventPaletteNull20[16] = {}; +const u16 gObjectEventPaletteNull21[16] = {}; +const u16 gObjectEventPaletteNull22[16] = {}; +const u16 gObjectEventPaletteNull23[16] = {}; +const u16 gObjectEventPaletteNull24[16] = {}; +const u16 gObjectEventPaletteNull25[16] = {}; +const u16 gObjectEventPaletteNull26[16] = {}; +const u16 gObjectEventPaletteNull27[16] = {}; +const u16 gObjectEventPaletteNull28[16] = {}; +const u16 gObjectEventPaletteNull29[16] = {}; +const u32 gObjectEventPic_MayMachBike[] = INCBIN_U32("graphics/object_events/pics/people/may/mach_bike.4bpp"); +const u32 gObjectEventPic_MayAcroBike[] = INCBIN_U32("graphics/object_events/pics/people/may/acro_bike.4bpp"); +const u32 gObjectEventPic_MaySurfing[] = INCBIN_U32("graphics/object_events/pics/people/may/surfing.4bpp"); +const u32 gObjectEventPic_MayFieldMove[] = INCBIN_U32("graphics/object_events/pics/people/may/field_move.4bpp"); +const u32 gObjectEventPic_MayFishing[] = INCBIN_U32("graphics/object_events/pics/people/may/fishing.4bpp"); +const u32 gObjectEventPic_MayWatering[] = INCBIN_U32("graphics/object_events/pics/people/may/watering.4bpp"); +const u16 gObjectEventPalette0[] = INCBIN_U16("graphics/object_events/palettes/00.gbapal"); +const u16 gObjectEventPalette1[] = INCBIN_U16("graphics/object_events/palettes/01.gbapal"); +const u16 gObjectEventPalette2[] = INCBIN_U16("graphics/object_events/palettes/02.gbapal"); +const u16 gObjectEventPalette3[] = INCBIN_U16("graphics/object_events/palettes/03.gbapal"); +const u16 gObjectEventPalette4[] = INCBIN_U16("graphics/object_events/palettes/04.gbapal"); +const u16 gObjectEventPalette5[] = INCBIN_U16("graphics/object_events/palettes/05.gbapal"); +const u16 gObjectEventPalette6[] = INCBIN_U16("graphics/object_events/palettes/06.gbapal"); +const u16 gObjectEventPalette7[] = INCBIN_U16("graphics/object_events/palettes/07.gbapal"); +const u32 gObjectEventPic_NinjaBoy[] = INCBIN_U32("graphics/object_events/pics/people/ninja_boy.4bpp"); +const u32 gObjectEventPic_Twin[] = INCBIN_U32("graphics/object_events/pics/people/twin.4bpp"); +const u32 gObjectEventPic_Boy1[] = INCBIN_U32("graphics/object_events/pics/people/boy_1.4bpp"); +const u32 gObjectEventPic_Girl1[] = INCBIN_U32("graphics/object_events/pics/people/girl_1.4bpp"); +const u32 gObjectEventPic_Boy2[] = INCBIN_U32("graphics/object_events/pics/people/boy_2.4bpp"); +const u32 gObjectEventPic_Girl2[] = INCBIN_U32("graphics/object_events/pics/people/girl_2.4bpp"); +const u32 gObjectEventPic_LittleBoy[] = INCBIN_U32("graphics/object_events/pics/people/little_boy.4bpp"); +const u32 gObjectEventPic_LittleGirl[] = INCBIN_U32("graphics/object_events/pics/people/little_girl.4bpp"); +const u32 gObjectEventPic_Boy3[] = INCBIN_U32("graphics/object_events/pics/people/boy_3.4bpp"); +const u32 gObjectEventPic_Girl3[] = INCBIN_U32("graphics/object_events/pics/people/girl_3.4bpp"); +const u32 gObjectEventPic_RichBoy[] = INCBIN_U32("graphics/object_events/pics/people/rich_boy.4bpp"); +const u32 gObjectEventPic_Woman1[] = INCBIN_U32("graphics/object_events/pics/people/woman_1.4bpp"); +const u32 gObjectEventPic_FatMan[] = INCBIN_U32("graphics/object_events/pics/people/fat_man.4bpp"); +const u32 gObjectEventPic_PokefanF[] = INCBIN_U32("graphics/object_events/pics/people/pokefan_f.4bpp"); +const u32 gObjectEventPic_Man1[] = INCBIN_U32("graphics/object_events/pics/people/man_1.4bpp"); +const u32 gObjectEventPic_Woman2[] = INCBIN_U32("graphics/object_events/pics/people/woman_2.4bpp"); +const u32 gObjectEventPic_ExpertM[] = INCBIN_U32("graphics/object_events/pics/people/expert_m.4bpp"); +const u32 gObjectEventPic_ExpertF[] = INCBIN_U32("graphics/object_events/pics/people/expert_f.4bpp"); +const u32 gObjectEventPic_Man2[] = INCBIN_U32("graphics/object_events/pics/people/man_2.4bpp"); +const u32 gObjectEventPic_Woman3[] = INCBIN_U32("graphics/object_events/pics/people/woman_3.4bpp"); +const u32 gObjectEventPic_PokefanM[] = INCBIN_U32("graphics/object_events/pics/people/pokefan_m.4bpp"); +const u32 gObjectEventPic_Woman4[] = INCBIN_U32("graphics/object_events/pics/people/woman_4.4bpp"); +const u32 gObjectEventPic_Cook[] = INCBIN_U32("graphics/object_events/pics/people/cook.4bpp"); +const u32 gObjectEventPic_LinkReceptionist[] = INCBIN_U32("graphics/object_events/pics/people/link_receptionist.4bpp"); +const u32 gObjectEventPic_OldMan[] = INCBIN_U32("graphics/object_events/pics/people/old_man.4bpp"); +const u32 gObjectEventPic_OldWoman[] = INCBIN_U32("graphics/object_events/pics/people/old_woman.4bpp"); +const u32 gObjectEventPic_Camper[] = INCBIN_U32("graphics/object_events/pics/people/camper.4bpp"); +const u32 gObjectEventPic_Picnicker[] = INCBIN_U32("graphics/object_events/pics/people/picnicker.4bpp"); +const u32 gObjectEventPic_Man3[] = INCBIN_U32("graphics/object_events/pics/people/man_3.4bpp"); +const u32 gObjectEventPic_Woman5[] = INCBIN_U32("graphics/object_events/pics/people/woman_5.4bpp"); +const u32 gObjectEventPic_Youngster[] = INCBIN_U32("graphics/object_events/pics/people/youngster.4bpp"); +const u32 gObjectEventPic_BugCatcher[] = INCBIN_U32("graphics/object_events/pics/people/bug_catcher.4bpp"); +const u32 gObjectEventPic_PsychicM[] = INCBIN_U32("graphics/object_events/pics/people/psychic_m.4bpp"); +const u32 gObjectEventPic_SchoolKidM[] = INCBIN_U32("graphics/object_events/pics/people/school_kid_m.4bpp"); +const u32 gObjectEventPic_Maniac[] = INCBIN_U32("graphics/object_events/pics/people/maniac.4bpp"); +const u32 gObjectEventPic_HexManiac[] = INCBIN_U32("graphics/object_events/pics/people/hex_maniac.4bpp"); +const u32 gObjectEventPic_UnusedWoman[] = INCBIN_U32("graphics/object_events/pics/people/unused_woman.4bpp"); +const u32 gObjectEventPic_SwimmerM[] = INCBIN_U32("graphics/object_events/pics/people/swimmer_m.4bpp"); +const u32 gObjectEventPic_SwimmerF[] = INCBIN_U32("graphics/object_events/pics/people/swimmer_f.4bpp"); +const u32 gObjectEventPic_BlackBelt[] = INCBIN_U32("graphics/object_events/pics/people/black_belt.4bpp"); +const u32 gObjectEventPic_Beauty[] = INCBIN_U32("graphics/object_events/pics/people/beauty.4bpp"); +const u32 gObjectEventPic_Scientist1[] = INCBIN_U32("graphics/object_events/pics/people/scientist_1.4bpp"); +const u32 gObjectEventPic_Lass[] = INCBIN_U32("graphics/object_events/pics/people/lass.4bpp"); +const u32 gObjectEventPic_Gentleman[] = INCBIN_U32("graphics/object_events/pics/people/gentleman.4bpp"); +const u32 gObjectEventPic_Sailor[] = INCBIN_U32("graphics/object_events/pics/people/sailor.4bpp"); +const u32 gObjectEventPic_Fisherman[] = INCBIN_U32("graphics/object_events/pics/people/fisherman.4bpp"); +const u32 gObjectEventPic_RunningTriathleteM[] = INCBIN_U32("graphics/object_events/pics/people/running_triathlete_m.4bpp"); +const u32 gObjectEventPic_RunningTriathleteF[] = INCBIN_U32("graphics/object_events/pics/people/running_triathlete_f.4bpp"); +const u32 gObjectEventPic_TuberF[] = INCBIN_U32("graphics/object_events/pics/people/tuber_f.4bpp"); +const u32 gObjectEventPic_TuberM[] = INCBIN_U32("graphics/object_events/pics/people/tuber_m.4bpp"); +const u32 gObjectEventPic_Hiker[] = INCBIN_U32("graphics/object_events/pics/people/hiker.4bpp"); +const u32 gObjectEventPic_CyclingTriathleteM[] = INCBIN_U32("graphics/object_events/pics/people/cycling_triathlete_m.4bpp"); +const u32 gObjectEventPic_CyclingTriathleteF[] = INCBIN_U32("graphics/object_events/pics/people/cycling_triathlete_f.4bpp"); +const u32 gObjectEventPic_Man4[] = INCBIN_U32("graphics/object_events/pics/people/man_4.4bpp"); +const u32 gObjectEventPic_Man5[] = INCBIN_U32("graphics/object_events/pics/people/man_5.4bpp"); +const u32 gObjectEventPic_Nurse[] = INCBIN_U32("graphics/object_events/pics/people/nurse.4bpp"); +const u32 gObjectEventPic_ItemBall[] = INCBIN_U32("graphics/object_events/pics/misc/item_ball.4bpp"); +const u32 gObjectEventPic_ProfBirch[] = INCBIN_U32("graphics/object_events/pics/people/prof_birch.4bpp"); +const u32 gObjectEventPic_ReporterM[] = INCBIN_U32("graphics/object_events/pics/people/reporter_m.4bpp"); +const u32 gObjectEventPic_ReporterF[] = INCBIN_U32("graphics/object_events/pics/people/reporter_f.4bpp"); +const u32 gObjectEventPic_MauvilleOldMan1[] = INCBIN_U32("graphics/object_events/pics/people/mauville_old_man_1.4bpp"); +const u32 gObjectEventPic_MauvilleOldMan2[] = INCBIN_U32("graphics/object_events/pics/people/mauville_old_man_2.4bpp"); +const u32 gObjectEventPic_MartEmployee[] = INCBIN_U32("graphics/object_events/pics/people/mart_employee.4bpp"); +const u32 gObjectEventPic_RooftopSaleWoman[] = INCBIN_U32("graphics/object_events/pics/people/rooftop_sale_woman.4bpp"); +const u32 gObjectEventPic_Teala[] = INCBIN_U32("graphics/object_events/pics/people/teala.4bpp"); +const u32 gObjectEventPic_Artist[] = INCBIN_U32("graphics/object_events/pics/people/artist.4bpp"); +const u32 gObjectEventPic_Cameraman[] = INCBIN_U32("graphics/object_events/pics/people/cameraman.4bpp"); +const u32 gObjectEventPic_Scientist2[] = INCBIN_U32("graphics/object_events/pics/people/scientist_2.4bpp"); +const u32 gObjectEventPic_DevonEmployee[] = INCBIN_U32("graphics/object_events/pics/people/devon_employee.4bpp"); +const u32 gObjectEventPic_AquaMemberM[] = INCBIN_U32("graphics/object_events/pics/people/team_aqua/aqua_member_m.4bpp"); +const u32 gObjectEventPic_AquaMemberF[] = INCBIN_U32("graphics/object_events/pics/people/team_aqua/aqua_member_f.4bpp"); +const u32 gObjectEventPic_MagmaMemberM[] = INCBIN_U32("graphics/object_events/pics/people/team_magma/magma_member_m.4bpp"); +const u32 gObjectEventPic_MagmaMemberF[] = INCBIN_U32("graphics/object_events/pics/people/team_magma/magma_member_f.4bpp"); +const u32 gObjectEventPic_Sidney[] = INCBIN_U32("graphics/object_events/pics/people/elite_four/sidney.4bpp"); +const u32 gObjectEventPic_Phoebe[] = INCBIN_U32("graphics/object_events/pics/people/elite_four/phoebe.4bpp"); +const u32 gObjectEventPic_Glacia[] = INCBIN_U32("graphics/object_events/pics/people/elite_four/glacia.4bpp"); +const u32 gObjectEventPic_Drake[] = INCBIN_U32("graphics/object_events/pics/people/elite_four/drake.4bpp"); +const u32 gObjectEventPic_Roxanne[] = INCBIN_U32("graphics/object_events/pics/people/gym_leaders/roxanne.4bpp"); +const u32 gObjectEventPic_Brawly[] = INCBIN_U32("graphics/object_events/pics/people/gym_leaders/brawly.4bpp"); +const u32 gObjectEventPic_Wattson[] = INCBIN_U32("graphics/object_events/pics/people/gym_leaders/wattson.4bpp"); +const u32 gObjectEventPic_Flannery[] = INCBIN_U32("graphics/object_events/pics/people/gym_leaders/flannery.4bpp"); +const u32 gObjectEventPic_Norman[] = INCBIN_U32("graphics/object_events/pics/people/gym_leaders/norman.4bpp"); +const u32 gObjectEventPic_Winona[] = INCBIN_U32("graphics/object_events/pics/people/gym_leaders/winona.4bpp"); +const u32 gObjectEventPic_Liza[] = INCBIN_U32("graphics/object_events/pics/people/gym_leaders/liza.4bpp"); +const u32 gObjectEventPic_Tate[] = INCBIN_U32("graphics/object_events/pics/people/gym_leaders/tate.4bpp"); +const u32 gObjectEventPic_Wallace[] = INCBIN_U32("graphics/object_events/pics/people/wallace.4bpp"); +const u32 gObjectEventPic_Steven[] = INCBIN_U32("graphics/object_events/pics/people/steven.4bpp"); +const u32 gObjectEventPic_Wally[] = INCBIN_U32("graphics/object_events/pics/people/wally.4bpp"); +const u32 gObjectEventPic_RubySapphireLittleBoy[] = INCBIN_U32("graphics/object_events/pics/people/rs_little_boy.4bpp"); +const u32 gObjectEventPic_HotSpringsOldWoman[] = INCBIN_U32("graphics/object_events/pics/people/hot_springs_old_woman.4bpp"); +const u32 gObjectEventPic_LatiasLatios[] = INCBIN_U32("graphics/object_events/pics/pokemon/latias_latios.4bpp"); +const u32 gObjectEventPic_GameboyKid[] = INCBIN_U32("graphics/object_events/pics/people/gameboy_kid.4bpp"); +const u32 gObjectEventPic_ContestJudge[] = INCBIN_U32("graphics/object_events/pics/people/contest_judge.4bpp"); +const u32 gObjectEventPic_Archie[] = INCBIN_U32("graphics/object_events/pics/people/team_aqua/archie.4bpp"); +const u32 gObjectEventPic_Maxie[] = INCBIN_U32("graphics/object_events/pics/people/team_magma/maxie.4bpp"); +const u32 gObjectEventPic_Kyogre[] = INCBIN_U32("graphics/object_events/pics/pokemon/kyogre.4bpp"); +const u32 gObjectEventPic_Groudon[] = INCBIN_U32("graphics/object_events/pics/pokemon/groudon.4bpp"); +const u32 gObjectEventPic_Regi[] = INCBIN_U32("graphics/object_events/pics/pokemon/regi.4bpp"); +const u32 gObjectEventPic_Skitty[] = INCBIN_U32("graphics/object_events/pics/pokemon/skitty.4bpp"); +const u32 gObjectEventPic_Kecleon[] = INCBIN_U32("graphics/object_events/pics/pokemon/kecleon.4bpp"); +const u32 gObjectEventPic_Rayquaza[] = INCBIN_U32("graphics/object_events/pics/pokemon/rayquaza.4bpp"); +const u32 gObjectEventPic_RayquazaStill[] = INCBIN_U32("graphics/object_events/pics/pokemon/rayquaza_still.4bpp"); +const u32 gObjectEventPic_Zigzagoon[] = INCBIN_U32("graphics/object_events/pics/pokemon/zigzagoon.4bpp"); +const u32 gObjectEventPic_Pikachu[] = INCBIN_U32("graphics/object_events/pics/pokemon/pikachu.4bpp"); +const u32 gObjectEventPic_Azumarill[] = INCBIN_U32("graphics/object_events/pics/pokemon/azumarill.4bpp"); +const u32 gObjectEventPic_Wingull[] = INCBIN_U32("graphics/object_events/pics/pokemon/wingull.4bpp"); +const u32 gObjectEventPic_TuberMSwimming[] = INCBIN_U32("graphics/object_events/pics/people/tuber_m_swimming.4bpp"); +const u32 gObjectEventPic_Azurill[] = INCBIN_U32("graphics/object_events/pics/pokemon/azurill.4bpp"); +const u32 gObjectEventPic_Mom[] = INCBIN_U32("graphics/object_events/pics/people/mom.4bpp"); +const u16 gObjectEventPalette22[] = INCBIN_U16("graphics/object_events/palettes/22.gbapal"); +const u16 gObjectEventPalette23[] = INCBIN_U16("graphics/object_events/palettes/23.gbapal"); +const u16 gObjectEventPalette24[] = INCBIN_U16("graphics/object_events/palettes/24.gbapal"); +const u16 gObjectEventPalette25[] = INCBIN_U16("graphics/object_events/palettes/25.gbapal"); +const u32 gObjectEventPic_UnusedNatuDoll[] = INCBIN_U32("graphics/object_events/pics/dolls/unused_natu_doll.4bpp"); +const u32 gObjectEventPic_UnusedMagnemiteDoll[] = INCBIN_U32("graphics/object_events/pics/dolls/unused_magnemite_doll.4bpp"); +const u32 gObjectEventPic_UnusedSquirtleDoll[] = INCBIN_U32("graphics/object_events/pics/dolls/unused_squirtle_doll.4bpp"); +const u32 gObjectEventPic_UnusedWooperDoll[] = INCBIN_U32("graphics/object_events/pics/dolls/unused_wooper_doll.4bpp"); +const u32 gObjectEventPic_UnusedPikachuDoll[] = INCBIN_U32("graphics/object_events/pics/dolls/unused_pikachu_doll.4bpp"); +const u32 gObjectEventPic_UnusedPorygon2Doll[] = INCBIN_U32("graphics/object_events/pics/dolls/unused_porygon2_doll.4bpp"); +const u32 gObjectEventPic_PichuDoll[] = INCBIN_U32("graphics/object_events/pics/dolls/pichu_doll.4bpp"); +const u32 gObjectEventPic_PikachuDoll[] = INCBIN_U32("graphics/object_events/pics/dolls/pikachu_doll.4bpp"); +const u32 gObjectEventPic_MarillDoll[] = INCBIN_U32("graphics/object_events/pics/dolls/marill_doll.4bpp"); +const u32 gObjectEventPic_TogepiDoll[] = INCBIN_U32("graphics/object_events/pics/dolls/togepi_doll.4bpp"); +const u32 gObjectEventPic_CyndaquilDoll[] = INCBIN_U32("graphics/object_events/pics/dolls/cyndaquil_doll.4bpp"); +const u32 gObjectEventPic_ChikoritaDoll[] = INCBIN_U32("graphics/object_events/pics/dolls/chikorita_doll.4bpp"); +const u32 gObjectEventPic_TotodileDoll[] = INCBIN_U32("graphics/object_events/pics/dolls/totodile_doll.4bpp"); +const u32 gObjectEventPic_JigglypuffDoll[] = INCBIN_U32("graphics/object_events/pics/dolls/jigglypuff_doll.4bpp"); +const u32 gObjectEventPic_MeowthDoll[] = INCBIN_U32("graphics/object_events/pics/dolls/meowth_doll.4bpp"); +const u32 gObjectEventPic_ClefairyDoll[] = INCBIN_U32("graphics/object_events/pics/dolls/clefairy_doll.4bpp"); +const u32 gObjectEventPic_DittoDoll[] = INCBIN_U32("graphics/object_events/pics/dolls/ditto_doll.4bpp"); +const u32 gObjectEventPic_SmoochumDoll[] = INCBIN_U32("graphics/object_events/pics/dolls/smoochum_doll.4bpp"); +const u32 gObjectEventPic_TreeckoDoll[] = INCBIN_U32("graphics/object_events/pics/dolls/treecko_doll.4bpp"); +const u32 gObjectEventPic_TorchicDoll[] = INCBIN_U32("graphics/object_events/pics/dolls/torchic_doll.4bpp"); +const u32 gObjectEventPic_MudkipDoll[] = INCBIN_U32("graphics/object_events/pics/dolls/mudkip_doll.4bpp"); +const u32 gObjectEventPic_DuskullDoll[] = INCBIN_U32("graphics/object_events/pics/dolls/duskull_doll.4bpp"); +const u32 gObjectEventPic_WynautDoll[] = INCBIN_U32("graphics/object_events/pics/dolls/wynaut_doll.4bpp"); +const u32 gObjectEventPic_BaltoyDoll[] = INCBIN_U32("graphics/object_events/pics/dolls/baltoy_doll.4bpp"); +const u32 gObjectEventPic_KecleonDoll[] = INCBIN_U32("graphics/object_events/pics/dolls/kecleon_doll.4bpp"); +const u32 gObjectEventPic_AzurillDoll[] = INCBIN_U32("graphics/object_events/pics/dolls/azurill_doll.4bpp"); +const u32 gObjectEventPic_SkittyDoll[] = INCBIN_U32("graphics/object_events/pics/dolls/skitty_doll.4bpp"); +const u32 gObjectEventPic_SwabluDoll[] = INCBIN_U32("graphics/object_events/pics/dolls/swablu_doll.4bpp"); +const u32 gObjectEventPic_GulpinDoll[] = INCBIN_U32("graphics/object_events/pics/dolls/gulpin_doll.4bpp"); +const u32 gObjectEventPic_LotadDoll[] = INCBIN_U32("graphics/object_events/pics/dolls/lotad_doll.4bpp"); +const u32 gObjectEventPic_SeedotDoll[] = INCBIN_U32("graphics/object_events/pics/dolls/seedot_doll.4bpp"); +const u32 gObjectEventPic_PikaCushion[] = INCBIN_U32("graphics/object_events/pics/cushions/pika_cushion.4bpp"); +const u32 gObjectEventPic_RoundCushion[] = INCBIN_U32("graphics/object_events/pics/cushions/round_cushion.4bpp"); +const u32 gObjectEventPic_KissCushion[] = INCBIN_U32("graphics/object_events/pics/cushions/kiss_cushion.4bpp"); +const u32 gObjectEventPic_ZigzagCushion[] = INCBIN_U32("graphics/object_events/pics/cushions/zigzag_cushion.4bpp"); +const u32 gObjectEventPic_SpinCushion[] = INCBIN_U32("graphics/object_events/pics/cushions/spin_cushion.4bpp"); +const u32 gObjectEventPic_DiamondCushion[] = INCBIN_U32("graphics/object_events/pics/cushions/diamond_cushion.4bpp"); +const u32 gObjectEventPic_BallCushion[] = INCBIN_U32("graphics/object_events/pics/cushions/ball_cushion.4bpp"); +const u32 gObjectEventPic_GrassCushion[] = INCBIN_U32("graphics/object_events/pics/cushions/grass_cushion.4bpp"); +const u32 gObjectEventPic_FireCushion[] = INCBIN_U32("graphics/object_events/pics/cushions/fire_cushion.4bpp"); +const u32 gObjectEventPic_WaterCushion[] = INCBIN_U32("graphics/object_events/pics/cushions/water_cushion.4bpp"); +const u32 gObjectEventPic_BigSnorlaxDoll[] = INCBIN_U32("graphics/object_events/pics/dolls/big_snorlax_doll.4bpp"); +const u32 gObjectEventPic_BigRhydonDoll[] = INCBIN_U32("graphics/object_events/pics/dolls/big_rhydon_doll.4bpp"); +const u32 gObjectEventPic_BigLaprasDoll[] = INCBIN_U32("graphics/object_events/pics/dolls/big_lapras_doll.4bpp"); +const u32 gObjectEventPic_BigVenusaurDoll[] = INCBIN_U32("graphics/object_events/pics/dolls/big_venusaur_doll.4bpp"); +const u32 gObjectEventPic_BigCharizardDoll[] = INCBIN_U32("graphics/object_events/pics/dolls/big_charizard_doll.4bpp"); +const u32 gObjectEventPic_BigBlastoiseDoll[] = INCBIN_U32("graphics/object_events/pics/dolls/big_blastoise_doll.4bpp"); +const u32 gObjectEventPic_BigWailmerDoll[] = INCBIN_U32("graphics/object_events/pics/dolls/big_wailmer_doll.4bpp"); +const u32 gObjectEventPic_BigRegirockDoll[] = INCBIN_U32("graphics/object_events/pics/dolls/big_regirock_doll.4bpp"); +const u32 gObjectEventPic_BigRegiceDoll[] = INCBIN_U32("graphics/object_events/pics/dolls/big_regice_doll.4bpp"); +const u32 gObjectEventPic_BigRegisteelDoll[] = INCBIN_U32("graphics/object_events/pics/dolls/big_registeel_doll.4bpp"); +const u32 gObjectEventPic_CuttableTree[] = INCBIN_U32("graphics/object_events/pics/misc/cuttable_tree.4bpp"); +const u32 gObjectEventPic_BreakableRock[] = INCBIN_U32("graphics/object_events/pics/misc/breakable_rock.4bpp"); +const u32 gObjectEventPic_PushableBoulder[] = INCBIN_U32("graphics/object_events/pics/misc/pushable_boulder.4bpp"); +const u32 gObjectEventPic_MrBrineysBoat[] = INCBIN_U32("graphics/object_events/pics/misc/mr_brineys_boat.4bpp"); +const u32 gObjectEventPic_Fossil[] = INCBIN_U32("graphics/object_events/pics/misc/fossil.4bpp"); +const u32 gObjectEventPic_SubmarineShadow[] = INCBIN_U32("graphics/object_events/pics/misc/submarine_shadow.4bpp"); +const u16 gObjectEventPalette26[] = INCBIN_U16("graphics/object_events/palettes/26.gbapal"); +const u32 gObjectEventPic_Truck[] = INCBIN_U32("graphics/object_events/pics/misc/truck.4bpp"); +const u16 gObjectEventPalette14[] = INCBIN_U16("graphics/object_events/palettes/14.gbapal"); +const u32 gObjectEventPic_Vigoroth[] = INCBIN_U32("graphics/object_events/pics/pokemon/vigoroth.4bpp"); +const u16 gObjectEventPalette15[] = INCBIN_U16("graphics/object_events/palettes/15.gbapal"); +const u32 gObjectEventPic_BirchsBag[] = INCBIN_U32("graphics/object_events/pics/misc/birchs_bag.4bpp"); +const u32 gObjectEventPic_EnemyZigzagoon[] = INCBIN_U32("graphics/object_events/pics/pokemon/enemy_zigzagoon.4bpp"); +const u16 gObjectEventPalette16[] = INCBIN_U16("graphics/object_events/palettes/16.gbapal"); +const u32 gObjectEventPic_Poochyena[] = INCBIN_U32("graphics/object_events/pics/pokemon/poochyena.4bpp"); +const u16 gObjectEventPalette27[] = INCBIN_U16("graphics/object_events/palettes/27.gbapal"); +const u32 gObjectEventPic_CableCar[] = INCBIN_U32("graphics/object_events/pics/misc/cable_car.4bpp"); +const u16 gObjectEventPalette20[] = INCBIN_U16("graphics/object_events/palettes/20.gbapal"); +const u32 gObjectEventPic_SSTidal[] = INCBIN_U32("graphics/object_events/pics/misc/ss_tidal.4bpp"); +const u16 gObjectEventPalette21[] = INCBIN_U16("graphics/object_events/palettes/21.gbapal"); +const u32 gFieldEffectObjectPic_BerryTreeGrowthSparkle[] = INCBIN_U32("graphics/field_effects/pics/berry_tree_growth_sparkle.4bpp"); +const u32 gObjectEventPic_BerryTreeDirtPile[] = INCBIN_U32("graphics/object_events/pics/berry_trees/dirt_pile.4bpp"); +const u32 gObjectEventPic_BerryTreeSprout[] = INCBIN_U32("graphics/object_events/pics/berry_trees/sprout.4bpp"); +const u32 gObjectEventPic_PechaBerryTree[] = INCBIN_U32("graphics/object_events/pics/berry_trees/pecha.4bpp"); +const u32 gObjectEventPic_KelpsyBerryTree[] = INCBIN_U32("graphics/object_events/pics/berry_trees/kelpsy.4bpp"); +const u32 gObjectEventPic_WepearBerryTree[] = INCBIN_U32("graphics/object_events/pics/berry_trees/wepear.4bpp"); +const u32 gObjectEventPic_IapapaBerryTree[] = INCBIN_U32("graphics/object_events/pics/berry_trees/iapapa.4bpp"); +const u32 gObjectEventPic_CheriBerryTree[] = INCBIN_U32("graphics/object_events/pics/berry_trees/cheri.4bpp"); +const u32 gObjectEventPic_FigyBerryTree[] = INCBIN_U32("graphics/object_events/pics/berry_trees/figy.4bpp"); +const u32 gObjectEventPic_MagoBerryTree[] = INCBIN_U32("graphics/object_events/pics/berry_trees/mago.4bpp"); +const u32 gObjectEventPic_LumBerryTree[] = INCBIN_U32("graphics/object_events/pics/berry_trees/lum.4bpp"); +const u32 gObjectEventPic_RazzBerryTree[] = INCBIN_U32("graphics/object_events/pics/berry_trees/razz.4bpp"); +const u32 gObjectEventPic_GrepaBerryTree[] = INCBIN_U32("graphics/object_events/pics/berry_trees/grepa.4bpp"); +const u32 gObjectEventPic_RabutaBerryTree[] = INCBIN_U32("graphics/object_events/pics/berry_trees/rabuta.4bpp"); +const u32 gObjectEventPic_NomelBerryTree[] = INCBIN_U32("graphics/object_events/pics/berry_trees/nomel.4bpp"); +const u32 gObjectEventPic_LeppaBerryTree[] = INCBIN_U32("graphics/object_events/pics/berry_trees/leppa.4bpp"); +const u32 gObjectEventPic_LiechiBerryTree[] = INCBIN_U32("graphics/object_events/pics/berry_trees/liechi.4bpp"); +const u32 gObjectEventPic_HondewBerryTree[] = INCBIN_U32("graphics/object_events/pics/berry_trees/hondew.4bpp"); +const u32 gObjectEventPic_AguavBerryTree[] = INCBIN_U32("graphics/object_events/pics/berry_trees/aguav.4bpp"); +const u32 gObjectEventPic_WikiBerryTree[] = INCBIN_U32("graphics/object_events/pics/berry_trees/wiki.4bpp"); +const u32 gObjectEventPic_PomegBerryTree[] = INCBIN_U32("graphics/object_events/pics/berry_trees/pomeg.4bpp"); +const u32 gObjectEventPic_RawstBerryTree[] = INCBIN_U32("graphics/object_events/pics/berry_trees/rawst.4bpp"); +const u32 gObjectEventPic_SpelonBerryTree[] = INCBIN_U32("graphics/object_events/pics/berry_trees/spelon.4bpp"); +const u32 gObjectEventPic_ChestoBerryTree[] = INCBIN_U32("graphics/object_events/pics/berry_trees/chesto.4bpp"); +const u32 gObjectEventPic_OranBerryTree[] = INCBIN_U32("graphics/object_events/pics/berry_trees/oran.4bpp"); +const u32 gObjectEventPic_PersimBerryTree[] = INCBIN_U32("graphics/object_events/pics/berry_trees/persim.4bpp"); +const u32 gObjectEventPic_SitrusBerryTree[] = INCBIN_U32("graphics/object_events/pics/berry_trees/sitrus.4bpp"); +const u32 gObjectEventPic_AspearBerryTree[] = INCBIN_U32("graphics/object_events/pics/berry_trees/aspear.4bpp"); +const u32 gObjectEventPic_PamtreBerryTree[] = INCBIN_U32("graphics/object_events/pics/berry_trees/pamtre.4bpp"); +const u32 gObjectEventPic_CornnBerryTree[] = INCBIN_U32("graphics/object_events/pics/berry_trees/cornn.4bpp"); +const u32 gObjectEventPic_LansatBerryTree[] = INCBIN_U32("graphics/object_events/pics/berry_trees/lansat.4bpp"); +const u32 gObjectEventPic_DurinBerryTree[] = INCBIN_U32("graphics/object_events/pics/berry_trees/durin.4bpp"); +const u32 gObjectEventPic_TamatoBerryTree[] = INCBIN_U32("graphics/object_events/pics/berry_trees/tamato.4bpp"); +const u32 gFieldEffectObjectPic_SurfBlob[] = INCBIN_U32("graphics/field_effects/pics/surf_blob.4bpp"); +const u32 gObjectEventPic_QuintyPlump[] = INCBIN_U32("graphics/object_events/pics/people/quinty_plump.4bpp"); +const u16 gObjectEventPalette12[] = INCBIN_U16("graphics/object_events/palettes/12.gbapal"); +const u16 gObjectEventPalette13[] = INCBIN_U16("graphics/object_events/palettes/13.gbapal"); +const u32 gFieldEffectObjectPic_ShadowSmall[] = INCBIN_U32("graphics/field_effects/pics/shadow_small.4bpp"); +const u32 gFieldEffectObjectPic_ShadowMedium[] = INCBIN_U32("graphics/field_effects/pics/shadow_medium.4bpp"); +const u32 gFieldEffectObjectPic_ShadowLarge[] = INCBIN_U32("graphics/field_effects/pics/shadow_large.4bpp"); +const u32 gFieldEffectObjectPic_ShadowExtraLarge[] = INCBIN_U32("graphics/field_effects/pics/shadow_extra_large.4bpp"); +const u32 filler_8368A08[0x48] = {}; +const u8 gFieldEffectPic_CutGrass[] = INCBIN_U8("graphics/field_effects/pics/cut_grass.4bpp"); +const u32 gFieldEffectPic_CutGrass_Copy[] = INCBIN_U32("graphics/field_effects/pics/cut_grass.4bpp"); +const u16 gFieldEffectObjectPalette6[] = INCBIN_U16("graphics/field_effects/palettes/06.gbapal"); +const u32 gFieldEffectObjectPic_Ripple[] = INCBIN_U32("graphics/field_effects/pics/ripple.4bpp"); +const u32 gFieldEffectObjectPic_Ash[] = INCBIN_U32("graphics/field_effects/pics/ash.4bpp"); +const u32 gFieldEffectObjectPic_Arrow[] = INCBIN_U32("graphics/field_effects/pics/arrow.4bpp"); +const u16 gFieldEffectObjectPalette0[] = INCBIN_U16("graphics/field_effects/palettes/00.gbapal"); +const u16 gFieldEffectObjectPalette1[] = INCBIN_U16("graphics/field_effects/palettes/01.gbapal"); +const u32 gFieldEffectObjectPic_GroundImpactDust[] = INCBIN_U32("graphics/field_effects/pics/ground_impact_dust.4bpp"); +const u32 gFieldEffectObjectPic_BikeHopTallGrass[] = INCBIN_U32("graphics/field_effects/pics/bike_hop_tall_grass.4bpp"); +const u32 gUnusedGrass[] = INCBIN_U32("graphics/field_effects/pics/unused_grass.4bpp"); +const u32 gFieldEffectObjectPic_Unknown16[] = INCBIN_U32("graphics/field_effects/pics/unknown_16.4bpp"); +const u32 gFieldEffectObjectPic_Unknown17[] = INCBIN_U32("graphics/field_effects/pics/unknown_17.4bpp"); +const u32 gFieldEffectObjectPic_Unknown18[] = INCBIN_U32("graphics/field_effects/pics/unknown_18.4bpp"); +const u32 gFieldEffectObjectPic_LongGrass[] = INCBIN_U32("graphics/field_effects/pics/long_grass.4bpp"); +const u32 gFieldEffectObjectPic_TallGrass[] = INCBIN_U32("graphics/field_effects/pics/tall_grass.4bpp"); +const u32 gFieldEffectObjectPic_ShortGrass[] = INCBIN_U32("graphics/field_effects/pics/short_grass.4bpp"); +const u32 gFieldEffectObjectPic_SandFootprints[] = INCBIN_U32("graphics/field_effects/pics/sand_footprints.4bpp"); +const u32 gFieldEffectObjectPic_DeepSandFootprints[] = INCBIN_U32("graphics/field_effects/pics/deep_sand_footprints.4bpp"); +const u32 gFieldEffectObjectPic_BikeTireTracks[] = INCBIN_U32("graphics/field_effects/pics/bike_tire_tracks.4bpp"); +const u32 gFieldEffectObjectPic_Unknown19[] = INCBIN_U32("graphics/field_effects/pics/unknown_19.4bpp"); +const u32 gFieldEffectObjectPic_Unknown29[] = INCBIN_U32("graphics/field_effects/pics/unknown_29.4bpp"); +const u32 gFieldEffectObjectPic_BikeHopBigSplash[] = INCBIN_U32("graphics/field_effects/pics/bike_hop_big_splash.4bpp"); +const u32 gFieldEffectObjectPic_Splash[] = INCBIN_U32("graphics/field_effects/pics/splash.4bpp"); +const u32 gFieldEffectObjectPic_BikeHopSmallSplash[] = INCBIN_U32("graphics/field_effects/pics/bike_hop_small_splash.4bpp"); +const u32 gFieldEffectObjectPic_Unknown20[] = INCBIN_U32("graphics/field_effects/pics/unknown_20.4bpp"); +const u32 gFieldEffectObjectPic_TreeDisguise[] = INCBIN_U32("graphics/field_effects/pics/tree_disguise.4bpp"); +const u32 gFieldEffectObjectPic_MountainDisguise[] = INCBIN_U32("graphics/field_effects/pics/mountain_disguise.4bpp"); +const u32 gFieldEffectObjectPic_SandDisguisePlaceholder[] = INCBIN_U32("graphics/field_effects/pics/sand_disguise_placeholder.4bpp"); +const u32 gFieldEffectObjectPic_HotSpringsWater[] = INCBIN_U32("graphics/field_effects/pics/hot_springs_water.4bpp"); +const u16 gFieldEffectObjectPalette2[] = INCBIN_U16("graphics/field_effects/palettes/02.gbapal"); +const u32 gFieldEffectObjectPic_JumpOutOfAsh[] = INCBIN_U32("graphics/field_effects/pics/jump_out_of_ash.4bpp"); +const u32 gFieldEffectObjectPic_LavaridgeGymWarp[] = INCBIN_U32("graphics/field_effects/pics/lavaridge_gym_warp.4bpp"); +const u32 gFieldEffectObjectPic_Bubbles[] = INCBIN_U32("graphics/field_effects/pics/bubbles.4bpp"); +const u32 gFieldEffectObjectPic_Unknown35[] = INCBIN_U32("graphics/field_effects/pics/unknown_35.4bpp"); +const u16 gFieldEffectObjectPalette3[] = INCBIN_U16("graphics/field_effects/palettes/03.gbapal"); +const u32 gFieldEffectObjectPic_Bird[] = INCBIN_U32("graphics/field_effects/pics/bird.4bpp"); +const u32 gObjectEventPic_Juan[] = INCBIN_U32("graphics/object_events/pics/people/gym_leaders/juan.4bpp"); +const u32 gObjectEventPic_Scott[] = INCBIN_U32("graphics/object_events/pics/people/scott.4bpp"); +const u32 gObjectEventPic_Statue[] = INCBIN_U32("graphics/object_events/pics/misc/statue.4bpp"); +const u32 gObjectEventPic_Kirlia[] = INCBIN_U32("graphics/object_events/pics/pokemon/kirlia.4bpp"); +const u32 gObjectEventPic_Dusclops[] = INCBIN_U32("graphics/object_events/pics/pokemon/dusclops.4bpp"); +const u32 gObjectEventPic_MysteryEventDeliveryman[] = INCBIN_U32("graphics/object_events/pics/people/mystery_event_deliveryman.4bpp"); +const u32 gObjectEventPic_UnionRoomAttendant[] = INCBIN_U32("graphics/object_events/pics/people/union_room_attendant.4bpp"); +const u32 gObjectEventPic_MovingBox[] = INCBIN_U32("graphics/object_events/pics/misc/moving_box.4bpp"); +const u16 gObjectEventPalette19[] = INCBIN_U16("graphics/object_events/palettes/19.gbapal"); +const u32 gObjectEventPic_Sudowoodo[] = INCBIN_U32("graphics/object_events/pics/pokemon/sudowoodo.4bpp"); +const u32 gObjectEventPic_Mew[] = INCBIN_U32("graphics/object_events/pics/pokemon/mew.4bpp"); +const u16 gObjectEventPalette28[] = INCBIN_U16("graphics/object_events/palettes/28.gbapal"); +const u32 gObjectEventPic_Red[] = INCBIN_U32("graphics/object_events/pics/people/red.4bpp"); +const u32 gObjectEventPic_Leaf[] = INCBIN_U32("graphics/object_events/pics/people/leaf.4bpp"); +const u16 gObjectEventPalette30[] = INCBIN_U16("graphics/object_events/palettes/30.gbapal"); +const u32 gObjectEventPic_BirthIslandStone[] = INCBIN_U32("graphics/object_events/pics/misc/birth_island_stone.4bpp"); +const u16 gObjectEventPalette29[] = INCBIN_U16("graphics/object_events/palettes/29.gbapal"); +const u32 gObjectEventPic_Deoxys[] = INCBIN_U32("graphics/object_events/pics/pokemon/deoxys.4bpp"); +const u32 gObjectEventPic_Anabel[] = INCBIN_U32("graphics/object_events/pics/people/frontier_brains/anabel.4bpp"); +const u32 gObjectEventPic_Tucker[] = INCBIN_U32("graphics/object_events/pics/people/frontier_brains/tucker.4bpp"); +const u32 gObjectEventPic_Spenser[] = INCBIN_U32("graphics/object_events/pics/people/frontier_brains/spenser.4bpp"); +const u32 gObjectEventPic_Greta[] = INCBIN_U32("graphics/object_events/pics/people/frontier_brains/greta.4bpp"); +const u32 gObjectEventPic_Noland[] = INCBIN_U32("graphics/object_events/pics/people/frontier_brains/noland.4bpp"); +const u32 gObjectEventPic_Lucy[] = INCBIN_U32("graphics/object_events/pics/people/frontier_brains/lucy.4bpp"); +const u32 gObjectEventPic_Brandon[] = INCBIN_U32("graphics/object_events/pics/people/frontier_brains/brandon.4bpp"); +const u32 gObjectEventPic_Lugia[] = INCBIN_U32("graphics/object_events/pics/pokemon/lugia.4bpp"); +const u16 gObjectEventPalette32[] = INCBIN_U16("graphics/object_events/palettes/32.gbapal"); +const u32 gObjectEventPic_HoOh[] = INCBIN_U32("graphics/object_events/pics/pokemon/ho_oh.4bpp"); +const u16 gObjectEventPalette31[] = INCBIN_U16("graphics/object_events/palettes/31.gbapal"); diff --git a/src/data/object_events/object_event_graphics_info.h b/src/data/object_events/object_event_graphics_info.h new file mode 100755 index 000000000..cb221a30b --- /dev/null +++ b/src/data/object_events/object_event_graphics_info.h @@ -0,0 +1,245 @@ +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanNormal = {0xFFFF, OBJ_EVENT_PAL_TAG_8, OBJ_EVENT_PAL_TAG_10, 512, 16, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_BrendanMayNormal, gObjectEventPicTable_BrendanNormal, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanMachBike = {0xFFFF, OBJ_EVENT_PAL_TAG_8, OBJ_EVENT_PAL_TAG_10, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_BrendanMachBike, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanAcroBike = {0xFFFF, OBJ_EVENT_PAL_TAG_8, OBJ_EVENT_PAL_TAG_10, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_AcroBike, gObjectEventPicTable_BrendanAcroBike, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanSurfing = {0xFFFF, OBJ_EVENT_PAL_TAG_8, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_Surfing, gObjectEventPicTable_BrendanSurfing, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanFieldMove = {0xFFFF, OBJ_EVENT_PAL_TAG_8, OBJ_EVENT_PAL_TAG_10, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_FieldMove, gObjectEventPicTable_BrendanFieldMove, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_QuintyPlump = {0xFFFF, OBJ_EVENT_PAL_TAG_12, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_L, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_QuintyPlump, gObjectEventPicTable_QuintyPlump, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_NinjaBoy = {0xFFFF, OBJ_EVENT_PAL_TAG_0, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_NinjaBoy, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Twin = {0xFFFF, OBJ_EVENT_PAL_TAG_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Twin, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Boy1 = {0xFFFF, OBJ_EVENT_PAL_TAG_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Boy1, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Girl1 = {0xFFFF, OBJ_EVENT_PAL_TAG_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Girl1, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Boy2 = {0xFFFF, OBJ_EVENT_PAL_TAG_0, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Boy2, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Girl2 = {0xFFFF, OBJ_EVENT_PAL_TAG_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Girl2, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_LittleBoy = {0xFFFF, OBJ_EVENT_PAL_TAG_3, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_LittleBoy, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_LittleGirl = {0xFFFF, OBJ_EVENT_PAL_TAG_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_LittleGirl, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Boy3 = {0xFFFF, OBJ_EVENT_PAL_TAG_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Boy3, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Girl3 = {0xFFFF, OBJ_EVENT_PAL_TAG_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Girl3, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RichBoy = {0xFFFF, OBJ_EVENT_PAL_TAG_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_RichBoy, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Woman1 = {0xFFFF, OBJ_EVENT_PAL_TAG_0, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Woman1, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_FatMan = {0xFFFF, OBJ_EVENT_PAL_TAG_0, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_FatMan, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_PokefanF = {0xFFFF, OBJ_EVENT_PAL_TAG_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_PokefanF, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Man1 = {0xFFFF, OBJ_EVENT_PAL_TAG_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Man1, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Woman2 = {0xFFFF, OBJ_EVENT_PAL_TAG_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Woman2, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ExpertM = {0xFFFF, OBJ_EVENT_PAL_TAG_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_ExpertM, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ExpertF = {0xFFFF, OBJ_EVENT_PAL_TAG_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_ExpertF, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Man2 = {0xFFFF, OBJ_EVENT_PAL_TAG_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Man2, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Woman3 = {0xFFFF, OBJ_EVENT_PAL_TAG_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Woman3, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_PokefanM = {0xFFFF, OBJ_EVENT_PAL_TAG_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_PokefanM, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Woman4 = {0xFFFF, OBJ_EVENT_PAL_TAG_0, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Woman4, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Cook = {0xFFFF, OBJ_EVENT_PAL_TAG_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Cook, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_LinkReceptionist = {0xFFFF, OBJ_EVENT_PAL_TAG_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_LinkReceptionist, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_OldMan = {0xFFFF, OBJ_EVENT_PAL_TAG_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_OldMan, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_OldWoman = {0xFFFF, OBJ_EVENT_PAL_TAG_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_OldWoman, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Camper = {0xFFFF, OBJ_EVENT_PAL_TAG_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Camper, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Picnicker = {0xFFFF, OBJ_EVENT_PAL_TAG_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Picnicker, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Man3 = {0xFFFF, OBJ_EVENT_PAL_TAG_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Man3, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Woman5 = {0xFFFF, OBJ_EVENT_PAL_TAG_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Woman5, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Youngster = {0xFFFF, OBJ_EVENT_PAL_TAG_0, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Youngster, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BugCatcher = {0xFFFF, OBJ_EVENT_PAL_TAG_0, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_BugCatcher, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_PsychicM = {0xFFFF, OBJ_EVENT_PAL_TAG_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_PsychicM, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SchoolKidM = {0xFFFF, OBJ_EVENT_PAL_TAG_0, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_SchoolKidM, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Maniac = {0xFFFF, OBJ_EVENT_PAL_TAG_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Maniac, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_HexManiac = {0xFFFF, OBJ_EVENT_PAL_TAG_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_HexManiac, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Rayquaza1 = {0xFFFF, OBJ_EVENT_PAL_TAG_2, OBJ_EVENT_PAL_TAG_NONE, 2048, 64, 64, 4, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gObjectEventBaseOam_64x64, gObjectEventSpriteOamTables_64x64, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_RayquazaStill, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SwimmerM = {0xFFFF, OBJ_EVENT_PAL_TAG_0, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_SwimmerM, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SwimmerF = {0xFFFF, OBJ_EVENT_PAL_TAG_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_SwimmerF, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BlackBelt = {0xFFFF, OBJ_EVENT_PAL_TAG_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_BlackBelt, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Beauty = {0xFFFF, OBJ_EVENT_PAL_TAG_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Beauty, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Scientist1 = {0xFFFF, OBJ_EVENT_PAL_TAG_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Scientist1, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Lass = {0xFFFF, OBJ_EVENT_PAL_TAG_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Lass, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Gentleman = {0xFFFF, OBJ_EVENT_PAL_TAG_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Gentleman, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Sailor = {0xFFFF, OBJ_EVENT_PAL_TAG_0, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Sailor, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Fisherman = {0xFFFF, OBJ_EVENT_PAL_TAG_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Fisherman, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RunningTriathleteM = {0xFFFF, OBJ_EVENT_PAL_TAG_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_RunningTriathleteM, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RunningTriathleteF = {0xFFFF, OBJ_EVENT_PAL_TAG_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_RunningTriathleteF, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TuberF = {0xFFFF, OBJ_EVENT_PAL_TAG_0, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_TuberF, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TuberM = {0xFFFF, OBJ_EVENT_PAL_TAG_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_TuberM, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Hiker = {0xFFFF, OBJ_EVENT_PAL_TAG_0, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Hiker, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_CyclingTriathleteM = {0xFFFF, OBJ_EVENT_PAL_TAG_2, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_AcroBike, gObjectEventPicTable_CyclingTriathleteM, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_CyclingTriathleteF = {0xFFFF, OBJ_EVENT_PAL_TAG_0, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_AcroBike, gObjectEventPicTable_CyclingTriathleteF, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Nurse = {0xFFFF, OBJ_EVENT_PAL_TAG_0, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Nurse, gObjectEventPicTable_Nurse, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ItemBall = {0xFFFF, OBJ_EVENT_PAL_TAG_2, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_ItemBall, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BerryTree = {0xFFFF, OBJ_EVENT_PAL_TAG_0, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, NULL, gObjectEventImageAnimTable_BerryTree, gObjectEventPicTable_PechaBerryTree, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BerryTreeEarlyStages = {0xFFFF, OBJ_EVENT_PAL_TAG_0, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_BerryTree, gObjectEventPicTable_PechaBerryTree, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BerryTreeLateStages = {0xFFFF, OBJ_EVENT_PAL_TAG_0, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_BerryTree, gObjectEventPicTable_PechaBerryTree, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ProfBirch = {0xFFFF, OBJ_EVENT_PAL_TAG_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_ProfBirch, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Man4 = {0xFFFF, OBJ_EVENT_PAL_TAG_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Man4, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Man5 = {0xFFFF, OBJ_EVENT_PAL_TAG_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Man5, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ReporterM = {0xFFFF, OBJ_EVENT_PAL_TAG_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_ReporterM, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ReporterF = {0xFFFF, OBJ_EVENT_PAL_TAG_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_ReporterF, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Bard = {0xFFFF, OBJ_EVENT_PAL_TAG_0, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_MauvilleOldMan1, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Hipster = {0xFFFF, OBJ_EVENT_PAL_TAG_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_MauvilleOldMan1, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Trader = {0xFFFF, OBJ_EVENT_PAL_TAG_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_MauvilleOldMan1, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Storyteller = {0xFFFF, OBJ_EVENT_PAL_TAG_0, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_MauvilleOldMan2, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Giddy = {0xFFFF, OBJ_EVENT_PAL_TAG_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_MauvilleOldMan2, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedMauvilleOldMan1 = {0xFFFF, OBJ_EVENT_PAL_TAG_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_MauvilleOldMan2, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedMauvilleOldMan2 = {0xFFFF, OBJ_EVENT_PAL_TAG_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_MauvilleOldMan2, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedNatuDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_2, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_UnusedNatuDoll, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedMagnemiteDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_2, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_UnusedMagnemiteDoll, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedSquirtleDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_0, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_UnusedSquirtleDoll, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedWooperDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_2, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_UnusedWooperDoll, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedPikachuDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_UnusedPikachuDoll, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedPorygon2Doll = {0xFFFF, OBJ_EVENT_PAL_TAG_0, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_UnusedPorygon2Doll, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_CuttableTree = {0xFFFF, OBJ_EVENT_PAL_TAG_2, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_CuttableTree, gObjectEventPicTable_CuttableTree, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MartEmployee = {0xFFFF, OBJ_EVENT_PAL_TAG_0, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_MartEmployee, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RooftopSaleWoman = {0xFFFF, OBJ_EVENT_PAL_TAG_0, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_RooftopSaleWoman, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Teala = {0xFFFF, OBJ_EVENT_PAL_TAG_0, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Teala, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BreakableRock = {0xFFFF, OBJ_EVENT_PAL_TAG_0, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_BreakableRock, gObjectEventPicTable_BreakableRock, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_PushableBoulder = {0xFFFF, OBJ_EVENT_PAL_TAG_0, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_PushableBoulder, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MrBrineysBoat = {0xFFFF, OBJ_EVENT_PAL_TAG_2, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_MrBrineysBoat, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayNormal = {0xFFFF, OBJ_EVENT_PAL_TAG_17, OBJ_EVENT_PAL_TAG_10, 512, 16, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_BrendanMayNormal, gObjectEventPicTable_MayNormal, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayMachBike = {0xFFFF, OBJ_EVENT_PAL_TAG_17, OBJ_EVENT_PAL_TAG_10, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_MayMachBike, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayAcroBike = {0xFFFF, OBJ_EVENT_PAL_TAG_17, OBJ_EVENT_PAL_TAG_10, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_AcroBike, gObjectEventPicTable_MayAcroBike, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MaySurfing = {0xFFFF, OBJ_EVENT_PAL_TAG_17, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_Surfing, gObjectEventPicTable_MaySurfing, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayFieldMove = {0xFFFF, OBJ_EVENT_PAL_TAG_17, OBJ_EVENT_PAL_TAG_10, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_FieldMove, gObjectEventPicTable_MayFieldMove, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Truck = {0xFFFF, OBJ_EVENT_PAL_TAG_14, OBJ_EVENT_PAL_TAG_NONE, 1152, 48, 48, 10, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_Truck, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_Truck, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_VigorothCarryingBox = {0xFFFF, OBJ_EVENT_PAL_TAG_15, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_VigorothCarryingBox, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_VigorothFacingAway = {0xFFFF, OBJ_EVENT_PAL_TAG_15, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_VigorothFacingAway, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BirchsBag = {0xFFFF, OBJ_EVENT_PAL_TAG_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_BirchsBag, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_EnemyZigzagoon = {0xFFFF, OBJ_EVENT_PAL_TAG_16, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_EnemyZigzagoon, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Poochyena = {0xFFFF, OBJ_EVENT_PAL_TAG_27, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Poochyena, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Artist = {0xFFFF, OBJ_EVENT_PAL_TAG_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Artist, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalBrendanNormal = {0xFFFF, OBJ_EVENT_PAL_TAG_8, OBJ_EVENT_PAL_TAG_10, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_BrendanMayNormal, gObjectEventPicTable_BrendanNormal, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalBrendanMachBike = {0xFFFF, OBJ_EVENT_PAL_TAG_8, OBJ_EVENT_PAL_TAG_10, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_BrendanMachBike, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalBrendanAcroBike = {0xFFFF, OBJ_EVENT_PAL_TAG_8, OBJ_EVENT_PAL_TAG_10, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_AcroBike, gObjectEventPicTable_BrendanAcroBike, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalBrendanSurfing = {0xFFFF, OBJ_EVENT_PAL_TAG_8, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_Surfing, gObjectEventPicTable_BrendanSurfing, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalBrendanFieldMove = {0xFFFF, OBJ_EVENT_PAL_TAG_8, OBJ_EVENT_PAL_TAG_10, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_FieldMove, gObjectEventPicTable_BrendanFieldMove, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalMayNormal = {0xFFFF, OBJ_EVENT_PAL_TAG_17, OBJ_EVENT_PAL_TAG_10, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_BrendanMayNormal, gObjectEventPicTable_MayNormal, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalMayMachBike = {0xFFFF, OBJ_EVENT_PAL_TAG_17, OBJ_EVENT_PAL_TAG_10, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_MayMachBike, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalMayAcroBike = {0xFFFF, OBJ_EVENT_PAL_TAG_17, OBJ_EVENT_PAL_TAG_10, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_AcroBike, gObjectEventPicTable_MayAcroBike, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalMaySurfing = {0xFFFF, OBJ_EVENT_PAL_TAG_17, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_Surfing, gObjectEventPicTable_MaySurfing, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalMayFieldMove = {0xFFFF, OBJ_EVENT_PAL_TAG_17, OBJ_EVENT_PAL_TAG_10, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_FieldMove, gObjectEventPicTable_MayFieldMove, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Cameraman = {0xFFFF, OBJ_EVENT_PAL_TAG_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Cameraman, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanUnderwater = {0xFFFF, OBJ_EVENT_PAL_TAG_11, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_BrendanUnderwater, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayUnderwater = {0xFFFF, OBJ_EVENT_PAL_TAG_11, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_MayUnderwater, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MovingBox = {0xFFFF, OBJ_EVENT_PAL_TAG_19, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 10, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_MovingBox, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_CableCar = {0xFFFF, OBJ_EVENT_PAL_TAG_20, OBJ_EVENT_PAL_TAG_NONE, 2048, 64, 64, 10, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_64x64, gObjectEventSpriteOamTables_64x64, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_CableCar, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Scientist2 = {0xFFFF, OBJ_EVENT_PAL_TAG_0, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Scientist2, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_DevonEmployee = {0xFFFF, OBJ_EVENT_PAL_TAG_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_DevonEmployee, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_AquaMemberM = {0xFFFF, OBJ_EVENT_PAL_TAG_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_AquaMemberM, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_AquaMemberF = {0xFFFF, OBJ_EVENT_PAL_TAG_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_AquaMemberF, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MagmaMemberM = {0xFFFF, OBJ_EVENT_PAL_TAG_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_MagmaMemberM, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MagmaMemberF = {0xFFFF, OBJ_EVENT_PAL_TAG_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_MagmaMemberF, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Sidney = {0xFFFF, OBJ_EVENT_PAL_TAG_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Sidney, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Phoebe = {0xFFFF, OBJ_EVENT_PAL_TAG_0, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Phoebe, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Glacia = {0xFFFF, OBJ_EVENT_PAL_TAG_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Glacia, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Drake = {0xFFFF, OBJ_EVENT_PAL_TAG_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Drake, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Roxanne = {0xFFFF, OBJ_EVENT_PAL_TAG_0, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Roxanne, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Brawly = {0xFFFF, OBJ_EVENT_PAL_TAG_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Brawly, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Wattson = {0xFFFF, OBJ_EVENT_PAL_TAG_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Wattson, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Flannery = {0xFFFF, OBJ_EVENT_PAL_TAG_0, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Flannery, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Norman = {0xFFFF, OBJ_EVENT_PAL_TAG_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Norman, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Winona = {0xFFFF, OBJ_EVENT_PAL_TAG_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Winona, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Liza = {0xFFFF, OBJ_EVENT_PAL_TAG_0, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Liza, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Tate = {0xFFFF, OBJ_EVENT_PAL_TAG_0, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Tate, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Wallace = {0xFFFF, OBJ_EVENT_PAL_TAG_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Wallace, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Steven = {0xFFFF, OBJ_EVENT_PAL_TAG_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Steven, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Wally = {0xFFFF, OBJ_EVENT_PAL_TAG_0, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Wally, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RubySapphireLittleBoy = {0xFFFF, OBJ_EVENT_PAL_TAG_0, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_RubySapphireLittleBoy, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanFishing = {0xFFFF, OBJ_EVENT_PAL_TAG_8, OBJ_EVENT_PAL_TAG_10, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_Fishing, gObjectEventPicTable_BrendanFishing, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayFishing = {0xFFFF, OBJ_EVENT_PAL_TAG_17, OBJ_EVENT_PAL_TAG_10, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_Fishing, gObjectEventPicTable_MayFishing, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_HotSpringsOldWoman = {0xFFFF, OBJ_EVENT_PAL_TAG_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_HotSpringsOldWoman, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SSTidal = {0xFFFF, OBJ_EVENT_PAL_TAG_21, OBJ_EVENT_PAL_TAG_NONE, 1920, 96, 40, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_8x8, gObjectEventSpriteOamTables_SSTidal, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_SSTidal, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SubmarineShadow = {0xFFFF, OBJ_EVENT_PAL_TAG_26, OBJ_EVENT_PAL_TAG_NONE, 1408, 88, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_8x8, gObjectEventSpriteOamTables_SubmarineShadow, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_SubmarineShadow, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_PichuDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_PichuDoll, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_PikachuDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_PikachuDoll, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MarillDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_0, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_MarillDoll, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TogepiDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_2, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_TogepiDoll, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_CyndaquilDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_3, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 5, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_CyndaquilDoll, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ChikoritaDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_2, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_ChikoritaDoll, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TotodileDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_0, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_TotodileDoll, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_JigglypuffDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_0, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_JigglypuffDoll, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MeowthDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_MeowthDoll, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ClefairyDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_0, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_ClefairyDoll, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_DittoDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_3, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 5, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_DittoDoll, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SmoochumDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_3, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 5, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_SmoochumDoll, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TreeckoDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_2, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_TreeckoDoll, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TorchicDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_TorchicDoll, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MudkipDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_0, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_MudkipDoll, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_DuskullDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_3, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 5, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_DuskullDoll, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_WynautDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_0, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_WynautDoll, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BaltoyDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_0, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_BaltoyDoll, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_KecleonDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_2, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_KecleonDoll, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_AzurillDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_0, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_AzurillDoll, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SkittyDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_0, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_SkittyDoll, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SwabluDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_0, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_SwabluDoll, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GulpinDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_2, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_GulpinDoll, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_LotadDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_2, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_LotadDoll, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SeedotDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_2, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_SeedotDoll, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_PikaCushion = {0xFFFF, OBJ_EVENT_PAL_TAG_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_PikaCushion, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RoundCushion = {0xFFFF, OBJ_EVENT_PAL_TAG_0, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_RoundCushion, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_KissCushion = {0xFFFF, OBJ_EVENT_PAL_TAG_3, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 5, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_KissCushion, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ZigzagCushion = {0xFFFF, OBJ_EVENT_PAL_TAG_0, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_ZigzagCushion, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SpinCushion = {0xFFFF, OBJ_EVENT_PAL_TAG_0, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_SpinCushion, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_DiamondCushion = {0xFFFF, OBJ_EVENT_PAL_TAG_3, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 5, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_DiamondCushion, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BallCushion = {0xFFFF, OBJ_EVENT_PAL_TAG_2, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_BallCushion, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GrassCushion = {0xFFFF, OBJ_EVENT_PAL_TAG_2, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_GrassCushion, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_FireCushion = {0xFFFF, OBJ_EVENT_PAL_TAG_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_FireCushion, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_WaterCushion = {0xFFFF, OBJ_EVENT_PAL_TAG_0, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_WaterCushion, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigSnorlaxDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_3, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 5, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_BigSnorlaxDoll, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigRhydonDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_3, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 5, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_BigRhydonDoll, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigLaprasDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_0, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_BigLaprasDoll, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigVenusaurDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_2, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 4, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_BigVenusaurDoll, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigCharizardDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_1, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 3, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_BigCharizardDoll, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigBlastoiseDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_0, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_BigBlastoiseDoll, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigWailmerDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_3, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 5, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_BigWailmerDoll, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigRegirockDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_0, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_BigRegirockDoll, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigRegiceDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_2, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 4, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_BigRegiceDoll, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigRegisteelDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_3, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 5, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_BigRegisteelDoll, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Latias = {0xFFFF, OBJ_EVENT_PAL_TAG_1, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_LatiasLatios, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Latios = {0xFFFF, OBJ_EVENT_PAL_TAG_0, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_LatiasLatios, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GameboyKid = {0xFFFF, OBJ_EVENT_PAL_TAG_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_GameboyKid, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ContestJudge = {0xFFFF, OBJ_EVENT_PAL_TAG_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_ContestJudge, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanWatering = {0xFFFF, OBJ_EVENT_PAL_TAG_8, OBJ_EVENT_PAL_TAG_10, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_BrendanWatering, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayWatering = {0xFFFF, OBJ_EVENT_PAL_TAG_17, OBJ_EVENT_PAL_TAG_10, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_MayWatering, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanDecorating = {0xFFFF, OBJ_EVENT_PAL_TAG_8, OBJ_EVENT_PAL_TAG_10, 256, 16, 32, 10, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_BrendanDecorating, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayDecorating = {0xFFFF, OBJ_EVENT_PAL_TAG_17, OBJ_EVENT_PAL_TAG_10, 256, 16, 32, 10, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_MayDecorating, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Archie = {0xFFFF, OBJ_EVENT_PAL_TAG_0, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Archie, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Maxie = {0xFFFF, OBJ_EVENT_PAL_TAG_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Maxie, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Kyogre1 = {0xFFFF, OBJ_EVENT_PAL_TAG_3, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_KyogreFront, gObjectEventRotScalAnimTable_KyogreGroudon}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Groudon1 = {0xFFFF, OBJ_EVENT_PAL_TAG_2, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_GroudonFront, gObjectEventRotScalAnimTable_KyogreGroudon}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Kyogre3 = {0xFFFF, OBJ_EVENT_PAL_TAG_3, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_KyogreSide, gObjectEventRotScalAnimTable_KyogreGroudon}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Groudon3 = {0xFFFF, OBJ_EVENT_PAL_TAG_2, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_Groudon3, gObjectEventPicTable_GroudonSide, gObjectEventRotScalAnimTable_KyogreGroudon}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Fossil = {0xFFFF, OBJ_EVENT_PAL_TAG_0, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_Fossil, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Regirock = {0xFFFF, OBJ_EVENT_PAL_TAG_1, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 3, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Regi, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Regice = {0xFFFF, OBJ_EVENT_PAL_TAG_2, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 4, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Regi, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Registeel = {0xFFFF, OBJ_EVENT_PAL_TAG_3, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 5, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Regi, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Skitty = {0xFFFF, OBJ_EVENT_PAL_TAG_0, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Skitty, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Kecleon1 = {0xFFFF, OBJ_EVENT_PAL_TAG_2, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Kecleon, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Kyogre2 = {0xFFFF, OBJ_EVENT_PAL_TAG_22, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_KyogreFront, gObjectEventRotScalAnimTable_KyogreGroudon}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Groudon2 = {0xFFFF, OBJ_EVENT_PAL_TAG_24, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_GroudonFront, gObjectEventRotScalAnimTable_KyogreGroudon}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Rayquaza2 = {0xFFFF, OBJ_EVENT_PAL_TAG_2, OBJ_EVENT_PAL_TAG_NONE, 2048, 64, 64, 4, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gObjectEventBaseOam_64x64, gObjectEventSpriteOamTables_64x64, gObjectEventImageAnimTable_Rayquaza2, gObjectEventPicTable_Rayquaza, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Zigzagoon = {0xFFFF, OBJ_EVENT_PAL_TAG_0, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Zigzagoon, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Pikachu = {0xFFFF, OBJ_EVENT_PAL_TAG_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Pikachu, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Azumarill = {0xFFFF, OBJ_EVENT_PAL_TAG_0, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Azumarill, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Wingull = {0xFFFF, OBJ_EVENT_PAL_TAG_0, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Wingull, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Kecleon2 = {0xFFFF, OBJ_EVENT_PAL_TAG_2, OBJ_EVENT_PAL_TAG_10, 128, 16, 16, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Kecleon, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TuberMSwimming = {0xFFFF, OBJ_EVENT_PAL_TAG_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_TuberMSwimming, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Azurill = {0xFFFF, OBJ_EVENT_PAL_TAG_0, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Azurill, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Mom = {0xFFFF, OBJ_EVENT_PAL_TAG_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Mom, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_LinkBrendan = {0xFFFF, OBJ_EVENT_PAL_TAG_17, OBJ_EVENT_PAL_TAG_10, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_BrendanMayNormal, gObjectEventPicTable_BrendanNormal, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_LinkMay = {0xFFFF, OBJ_EVENT_PAL_TAG_17, OBJ_EVENT_PAL_TAG_10, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_BrendanMayNormal, gObjectEventPicTable_MayNormal, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Juan = {0xFFFF, OBJ_EVENT_PAL_TAG_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Juan, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Scott = {0xFFFF, OBJ_EVENT_PAL_TAG_0, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Scott, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MysteryEventDeliveryman = {0xFFFF, OBJ_EVENT_PAL_TAG_0, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_MysteryEventDeliveryman, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Statue = {0xFFFF, OBJ_EVENT_PAL_TAG_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_Statue, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Kirlia = {0xFFFF, OBJ_EVENT_PAL_TAG_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_S, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Kirlia, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Dusclops = {0xFFFF, OBJ_EVENT_PAL_TAG_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Dusclops, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnionRoomAttendant = {0xFFFF, OBJ_EVENT_PAL_TAG_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_UnionRoomAttendant, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Red = {0xFFFF, OBJ_EVENT_PAL_TAG_28, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Red, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Leaf = {0xFFFF, OBJ_EVENT_PAL_TAG_28, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Leaf, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Sudowoodo = {0xFFFF, OBJ_EVENT_PAL_TAG_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Sudowoodo, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Mew = {0xFFFF, OBJ_EVENT_PAL_TAG_0, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Mew, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Deoxys = {0xFFFF, OBJ_EVENT_PAL_TAG_29, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Deoxys, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BirthIslandStone = {0xFFFF, OBJ_EVENT_PAL_TAG_30, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_BirthIslandStone, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Anabel = {0xFFFF, OBJ_EVENT_PAL_TAG_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Anabel, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Tucker = {0xFFFF, OBJ_EVENT_PAL_TAG_0, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Tucker, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Greta = {0xFFFF, OBJ_EVENT_PAL_TAG_0, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Greta, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Spenser = {0xFFFF, OBJ_EVENT_PAL_TAG_0, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Spenser, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Noland = {0xFFFF, OBJ_EVENT_PAL_TAG_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Noland, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Lucy = {0xFFFF, OBJ_EVENT_PAL_TAG_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Lucy, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Brandon = {0xFFFF, OBJ_EVENT_PAL_TAG_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Brandon, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RubySapphireBrendan = {0xFFFF, OBJ_EVENT_PAL_TAG_33, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_RubySapphireBrendan, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RubySapphireMay = {0xFFFF, OBJ_EVENT_PAL_TAG_34, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_RubySapphireMay, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Lugia = {0xFFFF, OBJ_EVENT_PAL_TAG_32, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Lugia, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_HoOh = {0xFFFF, OBJ_EVENT_PAL_TAG_31, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_HoOh, gObjectEventPicTable_HoOh, gDummySpriteAffineAnimTable}; diff --git a/src/data/object_events/object_event_graphics_info_pointers.h b/src/data/object_events/object_event_graphics_info_pointers.h new file mode 100755 index 000000000..c72b0279d --- /dev/null +++ b/src/data/object_events/object_event_graphics_info_pointers.h @@ -0,0 +1,499 @@ +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanNormal; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanMachBike; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanSurfing; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanFieldMove; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_QuintyPlump; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_NinjaBoy; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Twin; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Boy1; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Girl1; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Boy2; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Girl2; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_LittleBoy; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_LittleGirl; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Boy3; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Girl3; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RichBoy; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Woman1; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_FatMan; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_PokefanF; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Man1; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Woman2; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ExpertM; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ExpertF; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Man2; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Woman3; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_PokefanM; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Woman4; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Cook; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_LinkReceptionist; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_OldMan; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_OldWoman; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Camper; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Picnicker; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Man3; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Woman5; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Youngster; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BugCatcher; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_PsychicM; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SchoolKidM; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Maniac; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_HexManiac; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Rayquaza1; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SwimmerM; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SwimmerF; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BlackBelt; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Beauty; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Scientist1; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Lass; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Gentleman; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Sailor; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Fisherman; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RunningTriathleteM; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RunningTriathleteF; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TuberF; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TuberM; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Hiker; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_CyclingTriathleteM; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_CyclingTriathleteF; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Nurse; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ItemBall; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BerryTree; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BerryTreeEarlyStages; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BerryTreeLateStages; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanAcroBike; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ProfBirch; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Man4; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Man5; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ReporterM; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ReporterF; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Bard; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Anabel; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Tucker; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Greta; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Spenser; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Noland; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Lucy; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedNatuDoll; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedMagnemiteDoll; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedSquirtleDoll; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedWooperDoll; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedPikachuDoll; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedPorygon2Doll; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_CuttableTree; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MartEmployee; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RooftopSaleWoman; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Teala; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BreakableRock; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_PushableBoulder; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MrBrineysBoat; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayNormal; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayMachBike; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayAcroBike; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MaySurfing; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayFieldMove; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Truck; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_VigorothCarryingBox; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_VigorothFacingAway; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BirchsBag; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_EnemyZigzagoon; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Artist; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalBrendanNormal; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalBrendanMachBike; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalBrendanAcroBike; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalBrendanSurfing; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalBrendanFieldMove; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalMayNormal; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalMayMachBike; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalMayAcroBike; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalMaySurfing; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalMayFieldMove; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Cameraman; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanUnderwater; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayUnderwater; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MovingBox; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_CableCar; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Scientist2; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_DevonEmployee; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_AquaMemberM; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_AquaMemberF; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MagmaMemberM; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MagmaMemberF; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Sidney; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Phoebe; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Glacia; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Drake; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Roxanne; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Brawly; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Wattson; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Flannery; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Norman; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Winona; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Liza; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Tate; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Wallace; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Steven; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Wally; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RubySapphireLittleBoy; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanFishing; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayFishing; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_HotSpringsOldWoman; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SSTidal; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SubmarineShadow; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_PichuDoll; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_PikachuDoll; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MarillDoll; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TogepiDoll; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_CyndaquilDoll; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ChikoritaDoll; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TotodileDoll; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_JigglypuffDoll; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MeowthDoll; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ClefairyDoll; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_DittoDoll; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SmoochumDoll; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TreeckoDoll; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TorchicDoll; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MudkipDoll; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_DuskullDoll; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_WynautDoll; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BaltoyDoll; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_KecleonDoll; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_AzurillDoll; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SkittyDoll; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SwabluDoll; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GulpinDoll; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_LotadDoll; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SeedotDoll; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_PikaCushion; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RoundCushion; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_KissCushion; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ZigzagCushion; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SpinCushion; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_DiamondCushion; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BallCushion; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GrassCushion; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_FireCushion; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_WaterCushion; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigSnorlaxDoll; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigRhydonDoll; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigLaprasDoll; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigVenusaurDoll; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigCharizardDoll; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigBlastoiseDoll; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigWailmerDoll; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigRegirockDoll; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigRegiceDoll; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigRegisteelDoll; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Latias; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Latios; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GameboyKid; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ContestJudge; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanWatering; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayWatering; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanDecorating; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayDecorating; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Archie; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Maxie; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Kyogre1; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Groudon1; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Fossil; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Regirock; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Regice; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Registeel; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Skitty; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Kecleon1; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Kyogre2; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Groudon2; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Rayquaza2; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Zigzagoon; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Pikachu; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Azumarill; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Wingull; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Kecleon2; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TuberMSwimming; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Azurill; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Mom; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_LinkBrendan; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_LinkMay; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Juan; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Scott; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Poochyena; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Kyogre3; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Groudon3; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MysteryEventDeliveryman; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Statue; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Kirlia; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Dusclops; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnionRoomAttendant; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Sudowoodo; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Mew; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Red; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Leaf; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Deoxys; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BirthIslandStone; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Brandon; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RubySapphireBrendan; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RubySapphireMay; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Lugia; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_HoOh; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Bard; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Hipster; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Trader; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Storyteller; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Giddy; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedMauvilleOldMan1; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedMauvilleOldMan2; + + +const struct ObjectEventGraphicsInfo *const gObjectEventGraphicsInfoPointers[NUM_OBJ_EVENT_GFX] = { + [OBJ_EVENT_GFX_BRENDAN_NORMAL] = &gObjectEventGraphicsInfo_BrendanNormal, + [OBJ_EVENT_GFX_BRENDAN_MACH_BIKE] = &gObjectEventGraphicsInfo_BrendanMachBike, + [OBJ_EVENT_GFX_BRENDAN_SURFING] = &gObjectEventGraphicsInfo_BrendanSurfing, + [OBJ_EVENT_GFX_BRENDAN_FIELD_MOVE] = &gObjectEventGraphicsInfo_BrendanFieldMove, + [OBJ_EVENT_GFX_QUINTY_PLUMP] = &gObjectEventGraphicsInfo_QuintyPlump, + [OBJ_EVENT_GFX_NINJA_BOY] = &gObjectEventGraphicsInfo_NinjaBoy, + [OBJ_EVENT_GFX_TWIN] = &gObjectEventGraphicsInfo_Twin, + [OBJ_EVENT_GFX_BOY_1] = &gObjectEventGraphicsInfo_Boy1, + [OBJ_EVENT_GFX_GIRL_1] = &gObjectEventGraphicsInfo_Girl1, + [OBJ_EVENT_GFX_BOY_2] = &gObjectEventGraphicsInfo_Boy2, + [OBJ_EVENT_GFX_GIRL_2] = &gObjectEventGraphicsInfo_Girl2, + [OBJ_EVENT_GFX_LITTLE_BOY] = &gObjectEventGraphicsInfo_LittleBoy, + [OBJ_EVENT_GFX_LITTLE_GIRL] = &gObjectEventGraphicsInfo_LittleGirl, + [OBJ_EVENT_GFX_BOY_3] = &gObjectEventGraphicsInfo_Boy3, + [OBJ_EVENT_GFX_GIRL_3] = &gObjectEventGraphicsInfo_Girl3, + [OBJ_EVENT_GFX_RICH_BOY] = &gObjectEventGraphicsInfo_RichBoy, + [OBJ_EVENT_GFX_WOMAN_1] = &gObjectEventGraphicsInfo_Woman1, + [OBJ_EVENT_GFX_FAT_MAN] = &gObjectEventGraphicsInfo_FatMan, + [OBJ_EVENT_GFX_POKEFAN_F] = &gObjectEventGraphicsInfo_PokefanF, + [OBJ_EVENT_GFX_MAN_1] = &gObjectEventGraphicsInfo_Man1, + [OBJ_EVENT_GFX_WOMAN_2] = &gObjectEventGraphicsInfo_Woman2, + [OBJ_EVENT_GFX_EXPERT_M] = &gObjectEventGraphicsInfo_ExpertM, + [OBJ_EVENT_GFX_EXPERT_F] = &gObjectEventGraphicsInfo_ExpertF, + [OBJ_EVENT_GFX_MAN_2] = &gObjectEventGraphicsInfo_Man2, + [OBJ_EVENT_GFX_WOMAN_3] = &gObjectEventGraphicsInfo_Woman3, + [OBJ_EVENT_GFX_POKEFAN_M] = &gObjectEventGraphicsInfo_PokefanM, + [OBJ_EVENT_GFX_WOMAN_4] = &gObjectEventGraphicsInfo_Woman4, + [OBJ_EVENT_GFX_COOK] = &gObjectEventGraphicsInfo_Cook, + [OBJ_EVENT_GFX_LINK_RECEPTIONIST] = &gObjectEventGraphicsInfo_LinkReceptionist, + [OBJ_EVENT_GFX_OLD_MAN] = &gObjectEventGraphicsInfo_OldMan, + [OBJ_EVENT_GFX_OLD_WOMAN] = &gObjectEventGraphicsInfo_OldWoman, + [OBJ_EVENT_GFX_CAMPER] = &gObjectEventGraphicsInfo_Camper, + [OBJ_EVENT_GFX_PICNICKER] = &gObjectEventGraphicsInfo_Picnicker, + [OBJ_EVENT_GFX_MAN_3] = &gObjectEventGraphicsInfo_Man3, + [OBJ_EVENT_GFX_WOMAN_5] = &gObjectEventGraphicsInfo_Woman5, + [OBJ_EVENT_GFX_YOUNGSTER] = &gObjectEventGraphicsInfo_Youngster, + [OBJ_EVENT_GFX_BUG_CATCHER] = &gObjectEventGraphicsInfo_BugCatcher, + [OBJ_EVENT_GFX_PSYCHIC_M] = &gObjectEventGraphicsInfo_PsychicM, + [OBJ_EVENT_GFX_SCHOOL_KID_M] = &gObjectEventGraphicsInfo_SchoolKidM, + [OBJ_EVENT_GFX_MANIAC] = &gObjectEventGraphicsInfo_Maniac, + [OBJ_EVENT_GFX_HEX_MANIAC] = &gObjectEventGraphicsInfo_HexManiac, + [OBJ_EVENT_GFX_RAYQUAZA_1] = &gObjectEventGraphicsInfo_Rayquaza1, + [OBJ_EVENT_GFX_SWIMMER_M] = &gObjectEventGraphicsInfo_SwimmerM, + [OBJ_EVENT_GFX_SWIMMER_F] = &gObjectEventGraphicsInfo_SwimmerF, + [OBJ_EVENT_GFX_BLACK_BELT] = &gObjectEventGraphicsInfo_BlackBelt, + [OBJ_EVENT_GFX_BEAUTY] = &gObjectEventGraphicsInfo_Beauty, + [OBJ_EVENT_GFX_SCIENTIST_1] = &gObjectEventGraphicsInfo_Scientist1, + [OBJ_EVENT_GFX_LASS] = &gObjectEventGraphicsInfo_Lass, + [OBJ_EVENT_GFX_GENTLEMAN] = &gObjectEventGraphicsInfo_Gentleman, + [OBJ_EVENT_GFX_SAILOR] = &gObjectEventGraphicsInfo_Sailor, + [OBJ_EVENT_GFX_FISHERMAN] = &gObjectEventGraphicsInfo_Fisherman, + [OBJ_EVENT_GFX_RUNNING_TRIATHLETE_M] = &gObjectEventGraphicsInfo_RunningTriathleteM, + [OBJ_EVENT_GFX_RUNNING_TRIATHLETE_F] = &gObjectEventGraphicsInfo_RunningTriathleteF, + [OBJ_EVENT_GFX_TUBER_F] = &gObjectEventGraphicsInfo_TuberF, + [OBJ_EVENT_GFX_TUBER_M] = &gObjectEventGraphicsInfo_TuberM, + [OBJ_EVENT_GFX_HIKER] = &gObjectEventGraphicsInfo_Hiker, + [OBJ_EVENT_GFX_CYCLING_TRIATHLETE_M] = &gObjectEventGraphicsInfo_CyclingTriathleteM, + [OBJ_EVENT_GFX_CYCLING_TRIATHLETE_F] = &gObjectEventGraphicsInfo_CyclingTriathleteF, + [OBJ_EVENT_GFX_NURSE] = &gObjectEventGraphicsInfo_Nurse, + [OBJ_EVENT_GFX_ITEM_BALL] = &gObjectEventGraphicsInfo_ItemBall, + [OBJ_EVENT_GFX_BERRY_TREE] = &gObjectEventGraphicsInfo_BerryTree, + [OBJ_EVENT_GFX_BERRY_TREE_EARLY_STAGES] = &gObjectEventGraphicsInfo_BerryTreeEarlyStages, + [OBJ_EVENT_GFX_BERRY_TREE_LATE_STAGES] = &gObjectEventGraphicsInfo_BerryTreeLateStages, + [OBJ_EVENT_GFX_BRENDAN_ACRO_BIKE] = &gObjectEventGraphicsInfo_BrendanAcroBike, + [OBJ_EVENT_GFX_PROF_BIRCH] = &gObjectEventGraphicsInfo_ProfBirch, + [OBJ_EVENT_GFX_MAN_4] = &gObjectEventGraphicsInfo_Man4, + [OBJ_EVENT_GFX_MAN_5] = &gObjectEventGraphicsInfo_Man5, + [OBJ_EVENT_GFX_REPORTER_M] = &gObjectEventGraphicsInfo_ReporterM, + [OBJ_EVENT_GFX_REPORTER_F] = &gObjectEventGraphicsInfo_ReporterF, + [OBJ_EVENT_GFX_BARD] = &gObjectEventGraphicsInfo_Bard, + [OBJ_EVENT_GFX_ANABEL] = &gObjectEventGraphicsInfo_Anabel, + [OBJ_EVENT_GFX_TUCKER] = &gObjectEventGraphicsInfo_Tucker, + [OBJ_EVENT_GFX_GRETA] = &gObjectEventGraphicsInfo_Greta, + [OBJ_EVENT_GFX_SPENSER] = &gObjectEventGraphicsInfo_Spenser, + [OBJ_EVENT_GFX_NOLAND] = &gObjectEventGraphicsInfo_Noland, + [OBJ_EVENT_GFX_LUCY] = &gObjectEventGraphicsInfo_Lucy, + [OBJ_EVENT_GFX_UNUSED_NATU_DOLL] = &gObjectEventGraphicsInfo_UnusedNatuDoll, + [OBJ_EVENT_GFX_UNUSED_MAGNEMITE_DOLL] = &gObjectEventGraphicsInfo_UnusedMagnemiteDoll, + [OBJ_EVENT_GFX_UNUSED_SQUIRTLE_DOLL] = &gObjectEventGraphicsInfo_UnusedSquirtleDoll, + [OBJ_EVENT_GFX_UNUSED_WOOPER_DOLL] = &gObjectEventGraphicsInfo_UnusedWooperDoll, + [OBJ_EVENT_GFX_UNUSED_PIKACHU_DOLL] = &gObjectEventGraphicsInfo_UnusedPikachuDoll, + [OBJ_EVENT_GFX_UNUSED_PORYGON2_DOLL] = &gObjectEventGraphicsInfo_UnusedPorygon2Doll, + [OBJ_EVENT_GFX_CUTTABLE_TREE] = &gObjectEventGraphicsInfo_CuttableTree, + [OBJ_EVENT_GFX_MART_EMPLOYEE] = &gObjectEventGraphicsInfo_MartEmployee, + [OBJ_EVENT_GFX_ROOFTOP_SALE_WOMAN] = &gObjectEventGraphicsInfo_RooftopSaleWoman, + [OBJ_EVENT_GFX_TEALA] = &gObjectEventGraphicsInfo_Teala, + [OBJ_EVENT_GFX_BREAKABLE_ROCK] = &gObjectEventGraphicsInfo_BreakableRock, + [OBJ_EVENT_GFX_PUSHABLE_BOULDER] = &gObjectEventGraphicsInfo_PushableBoulder, + [OBJ_EVENT_GFX_MR_BRINEYS_BOAT] = &gObjectEventGraphicsInfo_MrBrineysBoat, + [OBJ_EVENT_GFX_MAY_NORMAL] = &gObjectEventGraphicsInfo_MayNormal, + [OBJ_EVENT_GFX_MAY_MACH_BIKE] = &gObjectEventGraphicsInfo_MayMachBike, + [OBJ_EVENT_GFX_MAY_ACRO_BIKE] = &gObjectEventGraphicsInfo_MayAcroBike, + [OBJ_EVENT_GFX_MAY_SURFING] = &gObjectEventGraphicsInfo_MaySurfing, + [OBJ_EVENT_GFX_MAY_FIELD_MOVE] = &gObjectEventGraphicsInfo_MayFieldMove, + [OBJ_EVENT_GFX_TRUCK] = &gObjectEventGraphicsInfo_Truck, + [OBJ_EVENT_GFX_VIGOROTH_CARRYING_BOX] = &gObjectEventGraphicsInfo_VigorothCarryingBox, + [OBJ_EVENT_GFX_VIGOROTH_FACING_AWAY] = &gObjectEventGraphicsInfo_VigorothFacingAway, + [OBJ_EVENT_GFX_BIRCHS_BAG] = &gObjectEventGraphicsInfo_BirchsBag, + [OBJ_EVENT_GFX_ZIGZAGOON_1] = &gObjectEventGraphicsInfo_EnemyZigzagoon, + [OBJ_EVENT_GFX_ARTIST] = &gObjectEventGraphicsInfo_Artist, + [OBJ_EVENT_GFX_RIVAL_BRENDAN_NORMAL] = &gObjectEventGraphicsInfo_RivalBrendanNormal, + [OBJ_EVENT_GFX_RIVAL_BRENDAN_MACH_BIKE] = &gObjectEventGraphicsInfo_RivalBrendanMachBike, + [OBJ_EVENT_GFX_RIVAL_BRENDAN_ACRO_BIKE] = &gObjectEventGraphicsInfo_RivalBrendanAcroBike, + [OBJ_EVENT_GFX_RIVAL_BRENDAN_SURFING] = &gObjectEventGraphicsInfo_RivalBrendanSurfing, + [OBJ_EVENT_GFX_RIVAL_BRENDAN_FIELD_MOVE] = &gObjectEventGraphicsInfo_RivalBrendanFieldMove, + [OBJ_EVENT_GFX_RIVAL_MAY_NORMAL] = &gObjectEventGraphicsInfo_RivalMayNormal, + [OBJ_EVENT_GFX_RIVAL_MAY_MACH_BIKE] = &gObjectEventGraphicsInfo_RivalMayMachBike, + [OBJ_EVENT_GFX_RIVAL_MAY_ACRO_BIKE] = &gObjectEventGraphicsInfo_RivalMayAcroBike, + [OBJ_EVENT_GFX_RIVAL_MAY_SURFING] = &gObjectEventGraphicsInfo_RivalMaySurfing, + [OBJ_EVENT_GFX_RIVAL_MAY_FIELD_MOVE] = &gObjectEventGraphicsInfo_RivalMayFieldMove, + [OBJ_EVENT_GFX_CAMERAMAN] = &gObjectEventGraphicsInfo_Cameraman, + [OBJ_EVENT_GFX_BRENDAN_UNDERWATER] = &gObjectEventGraphicsInfo_BrendanUnderwater, + [OBJ_EVENT_GFX_MAY_UNDERWATER] = &gObjectEventGraphicsInfo_MayUnderwater, + [OBJ_EVENT_GFX_MOVING_BOX] = &gObjectEventGraphicsInfo_MovingBox, + [OBJ_EVENT_GFX_CABLE_CAR] = &gObjectEventGraphicsInfo_CableCar, + [OBJ_EVENT_GFX_SCIENTIST_2] = &gObjectEventGraphicsInfo_Scientist2, + [OBJ_EVENT_GFX_DEVON_EMPLOYEE] = &gObjectEventGraphicsInfo_DevonEmployee, + [OBJ_EVENT_GFX_AQUA_MEMBER_M] = &gObjectEventGraphicsInfo_AquaMemberM, + [OBJ_EVENT_GFX_AQUA_MEMBER_F] = &gObjectEventGraphicsInfo_AquaMemberF, + [OBJ_EVENT_GFX_MAGMA_MEMBER_M] = &gObjectEventGraphicsInfo_MagmaMemberM, + [OBJ_EVENT_GFX_MAGMA_MEMBER_F] = &gObjectEventGraphicsInfo_MagmaMemberF, + [OBJ_EVENT_GFX_SIDNEY] = &gObjectEventGraphicsInfo_Sidney, + [OBJ_EVENT_GFX_PHOEBE] = &gObjectEventGraphicsInfo_Phoebe, + [OBJ_EVENT_GFX_GLACIA] = &gObjectEventGraphicsInfo_Glacia, + [OBJ_EVENT_GFX_DRAKE] = &gObjectEventGraphicsInfo_Drake, + [OBJ_EVENT_GFX_ROXANNE] = &gObjectEventGraphicsInfo_Roxanne, + [OBJ_EVENT_GFX_BRAWLY] = &gObjectEventGraphicsInfo_Brawly, + [OBJ_EVENT_GFX_WATTSON] = &gObjectEventGraphicsInfo_Wattson, + [OBJ_EVENT_GFX_FLANNERY] = &gObjectEventGraphicsInfo_Flannery, + [OBJ_EVENT_GFX_NORMAN] = &gObjectEventGraphicsInfo_Norman, + [OBJ_EVENT_GFX_WINONA] = &gObjectEventGraphicsInfo_Winona, + [OBJ_EVENT_GFX_LIZA] = &gObjectEventGraphicsInfo_Liza, + [OBJ_EVENT_GFX_TATE] = &gObjectEventGraphicsInfo_Tate, + [OBJ_EVENT_GFX_WALLACE] = &gObjectEventGraphicsInfo_Wallace, + [OBJ_EVENT_GFX_STEVEN] = &gObjectEventGraphicsInfo_Steven, + [OBJ_EVENT_GFX_WALLY] = &gObjectEventGraphicsInfo_Wally, + [OBJ_EVENT_GFX_LITTLE_BOY_3] = &gObjectEventGraphicsInfo_RubySapphireLittleBoy, + [OBJ_EVENT_GFX_BRENDAN_FISHING] = &gObjectEventGraphicsInfo_BrendanFishing, + [OBJ_EVENT_GFX_MAY_FISHING] = &gObjectEventGraphicsInfo_MayFishing, + [OBJ_EVENT_GFX_HOT_SPRINGS_OLD_WOMAN] = &gObjectEventGraphicsInfo_HotSpringsOldWoman, + [OBJ_EVENT_GFX_SS_TIDAL] = &gObjectEventGraphicsInfo_SSTidal, + [OBJ_EVENT_GFX_SUBMARINE_SHADOW] = &gObjectEventGraphicsInfo_SubmarineShadow, + [OBJ_EVENT_GFX_PICHU_DOLL] = &gObjectEventGraphicsInfo_PichuDoll, + [OBJ_EVENT_GFX_PIKACHU_DOLL] = &gObjectEventGraphicsInfo_PikachuDoll, + [OBJ_EVENT_GFX_MARILL_DOLL] = &gObjectEventGraphicsInfo_MarillDoll, + [OBJ_EVENT_GFX_TOGEPI_DOLL] = &gObjectEventGraphicsInfo_TogepiDoll, + [OBJ_EVENT_GFX_CYNDAQUIL_DOLL] = &gObjectEventGraphicsInfo_CyndaquilDoll, + [OBJ_EVENT_GFX_CHIKORITA_DOLL] = &gObjectEventGraphicsInfo_ChikoritaDoll, + [OBJ_EVENT_GFX_TOTODILE_DOLL] = &gObjectEventGraphicsInfo_TotodileDoll, + [OBJ_EVENT_GFX_JIGGLYPUFF_DOLL] = &gObjectEventGraphicsInfo_JigglypuffDoll, + [OBJ_EVENT_GFX_MEOWTH_DOLL] = &gObjectEventGraphicsInfo_MeowthDoll, + [OBJ_EVENT_GFX_CLEFAIRY_DOLL] = &gObjectEventGraphicsInfo_ClefairyDoll, + [OBJ_EVENT_GFX_DITTO_DOLL] = &gObjectEventGraphicsInfo_DittoDoll, + [OBJ_EVENT_GFX_SMOOCHUM_DOLL] = &gObjectEventGraphicsInfo_SmoochumDoll, + [OBJ_EVENT_GFX_TREECKO_DOLL] = &gObjectEventGraphicsInfo_TreeckoDoll, + [OBJ_EVENT_GFX_TORCHIC_DOLL] = &gObjectEventGraphicsInfo_TorchicDoll, + [OBJ_EVENT_GFX_MUDKIP_DOLL] = &gObjectEventGraphicsInfo_MudkipDoll, + [OBJ_EVENT_GFX_DUSKULL_DOLL] = &gObjectEventGraphicsInfo_DuskullDoll, + [OBJ_EVENT_GFX_WYNAUT_DOLL] = &gObjectEventGraphicsInfo_WynautDoll, + [OBJ_EVENT_GFX_BALTOY_DOLL] = &gObjectEventGraphicsInfo_BaltoyDoll, + [OBJ_EVENT_GFX_KECLEON_DOLL] = &gObjectEventGraphicsInfo_KecleonDoll, + [OBJ_EVENT_GFX_AZURILL_DOLL] = &gObjectEventGraphicsInfo_AzurillDoll, + [OBJ_EVENT_GFX_SKITTY_DOLL] = &gObjectEventGraphicsInfo_SkittyDoll, + [OBJ_EVENT_GFX_SWABLU_DOLL] = &gObjectEventGraphicsInfo_SwabluDoll, + [OBJ_EVENT_GFX_GULPIN_DOLL] = &gObjectEventGraphicsInfo_GulpinDoll, + [OBJ_EVENT_GFX_LOTAD_DOLL] = &gObjectEventGraphicsInfo_LotadDoll, + [OBJ_EVENT_GFX_SEEDOT_DOLL] = &gObjectEventGraphicsInfo_SeedotDoll, + [OBJ_EVENT_GFX_PIKA_CUSHION] = &gObjectEventGraphicsInfo_PikaCushion, + [OBJ_EVENT_GFX_ROUND_CUSHION] = &gObjectEventGraphicsInfo_RoundCushion, + [OBJ_EVENT_GFX_KISS_CUSHION] = &gObjectEventGraphicsInfo_KissCushion, + [OBJ_EVENT_GFX_ZIGZAG_CUSHION] = &gObjectEventGraphicsInfo_ZigzagCushion, + [OBJ_EVENT_GFX_SPIN_CUSHION] = &gObjectEventGraphicsInfo_SpinCushion, + [OBJ_EVENT_GFX_DIAMOND_CUSHION] = &gObjectEventGraphicsInfo_DiamondCushion, + [OBJ_EVENT_GFX_BALL_CUSHION] = &gObjectEventGraphicsInfo_BallCushion, + [OBJ_EVENT_GFX_GRASS_CUSHION] = &gObjectEventGraphicsInfo_GrassCushion, + [OBJ_EVENT_GFX_FIRE_CUSHION] = &gObjectEventGraphicsInfo_FireCushion, + [OBJ_EVENT_GFX_WATER_CUSHION] = &gObjectEventGraphicsInfo_WaterCushion, + [OBJ_EVENT_GFX_BIG_SNORLAX_DOLL] = &gObjectEventGraphicsInfo_BigSnorlaxDoll, + [OBJ_EVENT_GFX_BIG_RHYDON_DOLL] = &gObjectEventGraphicsInfo_BigRhydonDoll, + [OBJ_EVENT_GFX_BIG_LAPRAS_DOLL] = &gObjectEventGraphicsInfo_BigLaprasDoll, + [OBJ_EVENT_GFX_BIG_VENUSAUR_DOLL] = &gObjectEventGraphicsInfo_BigVenusaurDoll, + [OBJ_EVENT_GFX_BIG_CHARIZARD_DOLL] = &gObjectEventGraphicsInfo_BigCharizardDoll, + [OBJ_EVENT_GFX_BIG_BLASTOISE_DOLL] = &gObjectEventGraphicsInfo_BigBlastoiseDoll, + [OBJ_EVENT_GFX_BIG_WAILMER_DOLL] = &gObjectEventGraphicsInfo_BigWailmerDoll, + [OBJ_EVENT_GFX_BIG_REGIROCK_DOLL] = &gObjectEventGraphicsInfo_BigRegirockDoll, + [OBJ_EVENT_GFX_BIG_REGICE_DOLL] = &gObjectEventGraphicsInfo_BigRegiceDoll, + [OBJ_EVENT_GFX_BIG_REGISTEEL_DOLL] = &gObjectEventGraphicsInfo_BigRegisteelDoll, + [OBJ_EVENT_GFX_LATIAS] = &gObjectEventGraphicsInfo_Latias, + [OBJ_EVENT_GFX_LATIOS] = &gObjectEventGraphicsInfo_Latios, + [OBJ_EVENT_GFX_GAMEBOY_KID] = &gObjectEventGraphicsInfo_GameboyKid, + [OBJ_EVENT_GFX_CONTEST_JUDGE] = &gObjectEventGraphicsInfo_ContestJudge, + [OBJ_EVENT_GFX_BRENDAN_WATERING] = &gObjectEventGraphicsInfo_BrendanWatering, + [OBJ_EVENT_GFX_MAY_WATERING] = &gObjectEventGraphicsInfo_MayWatering, + [OBJ_EVENT_GFX_BRENDAN_DECORATING] = &gObjectEventGraphicsInfo_BrendanDecorating, + [OBJ_EVENT_GFX_MAY_DECORATING] = &gObjectEventGraphicsInfo_MayDecorating, + [OBJ_EVENT_GFX_ARCHIE] = &gObjectEventGraphicsInfo_Archie, + [OBJ_EVENT_GFX_MAXIE] = &gObjectEventGraphicsInfo_Maxie, + [OBJ_EVENT_GFX_KYOGRE_1] = &gObjectEventGraphicsInfo_Kyogre1, + [OBJ_EVENT_GFX_GROUDON_1] = &gObjectEventGraphicsInfo_Groudon1, + [OBJ_EVENT_GFX_FOSSIL] = &gObjectEventGraphicsInfo_Fossil, + [OBJ_EVENT_GFX_REGIROCK] = &gObjectEventGraphicsInfo_Regirock, + [OBJ_EVENT_GFX_REGICE] = &gObjectEventGraphicsInfo_Regice, + [OBJ_EVENT_GFX_REGISTEEL] = &gObjectEventGraphicsInfo_Registeel, + [OBJ_EVENT_GFX_SKITTY] = &gObjectEventGraphicsInfo_Skitty, + [OBJ_EVENT_GFX_KECLEON_1] = &gObjectEventGraphicsInfo_Kecleon1, + [OBJ_EVENT_GFX_KYOGRE_2] = &gObjectEventGraphicsInfo_Kyogre2, + [OBJ_EVENT_GFX_GROUDON_2] = &gObjectEventGraphicsInfo_Groudon2, + [OBJ_EVENT_GFX_RAYQUAZA_2] = &gObjectEventGraphicsInfo_Rayquaza2, + [OBJ_EVENT_GFX_ZIGZAGOON_2] = &gObjectEventGraphicsInfo_Zigzagoon, + [OBJ_EVENT_GFX_PIKACHU] = &gObjectEventGraphicsInfo_Pikachu, + [OBJ_EVENT_GFX_AZUMARILL] = &gObjectEventGraphicsInfo_Azumarill, + [OBJ_EVENT_GFX_WINGULL] = &gObjectEventGraphicsInfo_Wingull, + [OBJ_EVENT_GFX_KECLEON_2] = &gObjectEventGraphicsInfo_Kecleon2, + [OBJ_EVENT_GFX_TUBER_M_SWIMMING] = &gObjectEventGraphicsInfo_TuberMSwimming, + [OBJ_EVENT_GFX_AZURILL] = &gObjectEventGraphicsInfo_Azurill, + [OBJ_EVENT_GFX_MOM] = &gObjectEventGraphicsInfo_Mom, + [OBJ_EVENT_GFX_LINK_BRENDAN] = &gObjectEventGraphicsInfo_LinkBrendan, + [OBJ_EVENT_GFX_LINK_MAY] = &gObjectEventGraphicsInfo_LinkMay, + [OBJ_EVENT_GFX_JUAN] = &gObjectEventGraphicsInfo_Juan, + [OBJ_EVENT_GFX_SCOTT] = &gObjectEventGraphicsInfo_Scott, + [OBJ_EVENT_GFX_POOCHYENA] = &gObjectEventGraphicsInfo_Poochyena, + [OBJ_EVENT_GFX_KYOGRE_3] = &gObjectEventGraphicsInfo_Kyogre3, + [OBJ_EVENT_GFX_GROUDON_3] = &gObjectEventGraphicsInfo_Groudon3, + [OBJ_EVENT_GFX_MYSTERY_GIFT_MAN] = &gObjectEventGraphicsInfo_MysteryEventDeliveryman, + [OBJ_EVENT_GFX_TRICK_HOUSE_STATUE] = &gObjectEventGraphicsInfo_Statue, + [OBJ_EVENT_GFX_KIRLIA] = &gObjectEventGraphicsInfo_Kirlia, + [OBJ_EVENT_GFX_DUSCLOPS] = &gObjectEventGraphicsInfo_Dusclops, + [OBJ_EVENT_GFX_UNION_ROOM_NURSE] = &gObjectEventGraphicsInfo_UnionRoomAttendant, + [OBJ_EVENT_GFX_SUDOWOODO] = &gObjectEventGraphicsInfo_Sudowoodo, + [OBJ_EVENT_GFX_MEW] = &gObjectEventGraphicsInfo_Mew, + [OBJ_EVENT_GFX_RED] = &gObjectEventGraphicsInfo_Red, + [OBJ_EVENT_GFX_LEAF] = &gObjectEventGraphicsInfo_Leaf, + [OBJ_EVENT_GFX_DEOXYS] = &gObjectEventGraphicsInfo_Deoxys, + [OBJ_EVENT_GFX_DEOXYS_TRIANGLE] = &gObjectEventGraphicsInfo_BirthIslandStone, + [OBJ_EVENT_GFX_BRANDON] = &gObjectEventGraphicsInfo_Brandon, + [OBJ_EVENT_GFX_LINK_RS_BRENDAN] = &gObjectEventGraphicsInfo_RubySapphireBrendan, + [OBJ_EVENT_GFX_LINK_RS_MAY] = &gObjectEventGraphicsInfo_RubySapphireMay, + [OBJ_EVENT_GFX_LUGIA] = &gObjectEventGraphicsInfo_Lugia, + [OBJ_EVENT_GFX_HOOH] = &gObjectEventGraphicsInfo_HoOh, +}; + +const struct ObjectEventGraphicsInfo *const gMauvilleOldManGraphicsInfoPointers[] = { + [MAUVILLE_MAN_BARD] = &gObjectEventGraphicsInfo_Bard, + [MAUVILLE_MAN_HIPSTER] = &gObjectEventGraphicsInfo_Hipster, + [MAUVILLE_MAN_TRADER] = &gObjectEventGraphicsInfo_Trader, + [MAUVILLE_MAN_STORYTELLER] = &gObjectEventGraphicsInfo_Storyteller, + [MAUVILLE_MAN_GIDDY] = &gObjectEventGraphicsInfo_Giddy, + [MAUVILLE_MAN_UNUSED1] = &gObjectEventGraphicsInfo_UnusedMauvilleOldMan1, + [MAUVILLE_MAN_UNUSED2] = &gObjectEventGraphicsInfo_UnusedMauvilleOldMan2, +}; diff --git a/src/data/object_events/object_event_pic_tables.h b/src/data/object_events/object_event_pic_tables.h new file mode 100755 index 000000000..9cfdca7c1 --- /dev/null +++ b/src/data/object_events/object_event_pic_tables.h @@ -0,0 +1,2174 @@ +const struct SpriteFrameImage gObjectEventPicTable_BrendanNormal[] = { + overworld_frame(gObjectEventPic_BrendanNormal, 2, 4, 0), + overworld_frame(gObjectEventPic_BrendanNormal, 2, 4, 1), + overworld_frame(gObjectEventPic_BrendanNormal, 2, 4, 2), + overworld_frame(gObjectEventPic_BrendanNormal, 2, 4, 3), + overworld_frame(gObjectEventPic_BrendanNormal, 2, 4, 4), + overworld_frame(gObjectEventPic_BrendanNormal, 2, 4, 5), + overworld_frame(gObjectEventPic_BrendanNormal, 2, 4, 6), + overworld_frame(gObjectEventPic_BrendanNormal, 2, 4, 7), + overworld_frame(gObjectEventPic_BrendanNormal, 2, 4, 8), + overworld_frame(gObjectEventPic_BrendanRunning, 2, 4, 0), + overworld_frame(gObjectEventPic_BrendanRunning, 2, 4, 1), + overworld_frame(gObjectEventPic_BrendanRunning, 2, 4, 2), + overworld_frame(gObjectEventPic_BrendanRunning, 2, 4, 3), + overworld_frame(gObjectEventPic_BrendanRunning, 2, 4, 4), + overworld_frame(gObjectEventPic_BrendanRunning, 2, 4, 5), + overworld_frame(gObjectEventPic_BrendanRunning, 2, 4, 6), + overworld_frame(gObjectEventPic_BrendanRunning, 2, 4, 7), + overworld_frame(gObjectEventPic_BrendanRunning, 2, 4, 8), +}; + +const struct SpriteFrameImage gObjectEventPicTable_BrendanMachBike[] = { + overworld_frame(gObjectEventPic_BrendanMachBike, 4, 4, 0), + overworld_frame(gObjectEventPic_BrendanMachBike, 4, 4, 1), + overworld_frame(gObjectEventPic_BrendanMachBike, 4, 4, 2), + overworld_frame(gObjectEventPic_BrendanMachBike, 4, 4, 3), + overworld_frame(gObjectEventPic_BrendanMachBike, 4, 4, 4), + overworld_frame(gObjectEventPic_BrendanMachBike, 4, 4, 5), + overworld_frame(gObjectEventPic_BrendanMachBike, 4, 4, 6), + overworld_frame(gObjectEventPic_BrendanMachBike, 4, 4, 7), + overworld_frame(gObjectEventPic_BrendanMachBike, 4, 4, 8), +}; + +const struct SpriteFrameImage gObjectEventPicTable_BrendanAcroBike[] = { + overworld_frame(gObjectEventPic_BrendanAcroBike, 4, 4, 0), + overworld_frame(gObjectEventPic_BrendanAcroBike, 4, 4, 1), + overworld_frame(gObjectEventPic_BrendanAcroBike, 4, 4, 2), + overworld_frame(gObjectEventPic_BrendanAcroBike, 4, 4, 3), + overworld_frame(gObjectEventPic_BrendanAcroBike, 4, 4, 4), + overworld_frame(gObjectEventPic_BrendanAcroBike, 4, 4, 5), + overworld_frame(gObjectEventPic_BrendanAcroBike, 4, 4, 6), + overworld_frame(gObjectEventPic_BrendanAcroBike, 4, 4, 7), + overworld_frame(gObjectEventPic_BrendanAcroBike, 4, 4, 8), + overworld_frame(gObjectEventPic_BrendanAcroBike, 4, 4, 9), + overworld_frame(gObjectEventPic_BrendanAcroBike, 4, 4, 10), + overworld_frame(gObjectEventPic_BrendanAcroBike, 4, 4, 11), + overworld_frame(gObjectEventPic_BrendanAcroBike, 4, 4, 12), + overworld_frame(gObjectEventPic_BrendanAcroBike, 4, 4, 13), + overworld_frame(gObjectEventPic_BrendanAcroBike, 4, 4, 14), + overworld_frame(gObjectEventPic_BrendanAcroBike, 4, 4, 15), + overworld_frame(gObjectEventPic_BrendanAcroBike, 4, 4, 16), + overworld_frame(gObjectEventPic_BrendanAcroBike, 4, 4, 17), + overworld_frame(gObjectEventPic_BrendanAcroBike, 4, 4, 18), + overworld_frame(gObjectEventPic_BrendanAcroBike, 4, 4, 19), + overworld_frame(gObjectEventPic_BrendanAcroBike, 4, 4, 20), + overworld_frame(gObjectEventPic_BrendanAcroBike, 4, 4, 21), + overworld_frame(gObjectEventPic_BrendanAcroBike, 4, 4, 22), + overworld_frame(gObjectEventPic_BrendanAcroBike, 4, 4, 23), + overworld_frame(gObjectEventPic_BrendanAcroBike, 4, 4, 24), + overworld_frame(gObjectEventPic_BrendanAcroBike, 4, 4, 25), + overworld_frame(gObjectEventPic_BrendanAcroBike, 4, 4, 26), +}; + +const struct SpriteFrameImage gObjectEventPicTable_BrendanSurfing[] = { + overworld_frame(gObjectEventPic_BrendanSurfing, 4, 4, 0), + overworld_frame(gObjectEventPic_BrendanSurfing, 4, 4, 2), + overworld_frame(gObjectEventPic_BrendanSurfing, 4, 4, 4), + overworld_frame(gObjectEventPic_BrendanSurfing, 4, 4, 0), + overworld_frame(gObjectEventPic_BrendanSurfing, 4, 4, 0), + overworld_frame(gObjectEventPic_BrendanSurfing, 4, 4, 2), + overworld_frame(gObjectEventPic_BrendanSurfing, 4, 4, 2), + overworld_frame(gObjectEventPic_BrendanSurfing, 4, 4, 4), + overworld_frame(gObjectEventPic_BrendanSurfing, 4, 4, 4), + overworld_frame(gObjectEventPic_BrendanSurfing, 4, 4, 1), + overworld_frame(gObjectEventPic_BrendanSurfing, 4, 4, 3), + overworld_frame(gObjectEventPic_BrendanSurfing, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_BrendanUnderwater[] = { + overworld_frame(gObjectEventPic_BrendanUnderwater, 4, 4, 0), + overworld_frame(gObjectEventPic_BrendanUnderwater, 4, 4, 1), + overworld_frame(gObjectEventPic_BrendanUnderwater, 4, 4, 2), + overworld_frame(gObjectEventPic_BrendanUnderwater, 4, 4, 0), + overworld_frame(gObjectEventPic_BrendanUnderwater, 4, 4, 0), + overworld_frame(gObjectEventPic_BrendanUnderwater, 4, 4, 1), + overworld_frame(gObjectEventPic_BrendanUnderwater, 4, 4, 1), + overworld_frame(gObjectEventPic_BrendanUnderwater, 4, 4, 2), + overworld_frame(gObjectEventPic_BrendanUnderwater, 4, 4, 2), +}; + +const struct SpriteFrameImage gObjectEventPicTable_BrendanFieldMove[] = { + overworld_frame(gObjectEventPic_BrendanFieldMove, 4, 4, 0), + overworld_frame(gObjectEventPic_BrendanFieldMove, 4, 4, 1), + overworld_frame(gObjectEventPic_BrendanFieldMove, 4, 4, 2), + overworld_frame(gObjectEventPic_BrendanFieldMove, 4, 4, 3), + overworld_frame(gObjectEventPic_BrendanFieldMove, 4, 4, 4), +}; + +const struct SpriteFrameImage gObjectEventPicTable_QuintyPlump[] = { + overworld_frame(gObjectEventPic_QuintyPlump, 4, 4, 0), + overworld_frame(gObjectEventPic_QuintyPlump, 4, 4, 1), + overworld_frame(gObjectEventPic_QuintyPlump, 4, 4, 2), + overworld_frame(gObjectEventPic_QuintyPlump, 4, 4, 3), + overworld_frame(gObjectEventPic_QuintyPlump, 4, 4, 4), + overworld_frame(gObjectEventPic_QuintyPlump, 4, 4, 5), + overworld_frame(gObjectEventPic_QuintyPlump, 4, 4, 6), +}; + +const struct SpriteFrameImage gObjectEventPicTable_NinjaBoy[] = { + overworld_frame(gObjectEventPic_NinjaBoy, 2, 2, 0), + overworld_frame(gObjectEventPic_NinjaBoy, 2, 2, 1), + overworld_frame(gObjectEventPic_NinjaBoy, 2, 2, 2), + overworld_frame(gObjectEventPic_NinjaBoy, 2, 2, 3), + overworld_frame(gObjectEventPic_NinjaBoy, 2, 2, 4), + overworld_frame(gObjectEventPic_NinjaBoy, 2, 2, 5), + overworld_frame(gObjectEventPic_NinjaBoy, 2, 2, 6), + overworld_frame(gObjectEventPic_NinjaBoy, 2, 2, 7), + overworld_frame(gObjectEventPic_NinjaBoy, 2, 2, 8), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Twin[] = { + overworld_frame(gObjectEventPic_Twin, 2, 4, 0), + overworld_frame(gObjectEventPic_Twin, 2, 4, 1), + overworld_frame(gObjectEventPic_Twin, 2, 4, 2), + overworld_frame(gObjectEventPic_Twin, 2, 4, 3), + overworld_frame(gObjectEventPic_Twin, 2, 4, 4), + overworld_frame(gObjectEventPic_Twin, 2, 4, 5), + overworld_frame(gObjectEventPic_Twin, 2, 4, 6), + overworld_frame(gObjectEventPic_Twin, 2, 4, 7), + overworld_frame(gObjectEventPic_Twin, 2, 4, 8), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Boy1[] = { + overworld_frame(gObjectEventPic_Boy1, 2, 4, 0), + overworld_frame(gObjectEventPic_Boy1, 2, 4, 1), + overworld_frame(gObjectEventPic_Boy1, 2, 4, 2), + overworld_frame(gObjectEventPic_Boy1, 2, 4, 3), + overworld_frame(gObjectEventPic_Boy1, 2, 4, 4), + overworld_frame(gObjectEventPic_Boy1, 2, 4, 5), + overworld_frame(gObjectEventPic_Boy1, 2, 4, 6), + overworld_frame(gObjectEventPic_Boy1, 2, 4, 7), + overworld_frame(gObjectEventPic_Boy1, 2, 4, 8), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Girl1[] = { + overworld_frame(gObjectEventPic_Girl1, 2, 4, 0), + overworld_frame(gObjectEventPic_Girl1, 2, 4, 1), + overworld_frame(gObjectEventPic_Girl1, 2, 4, 2), + overworld_frame(gObjectEventPic_Girl1, 2, 4, 3), + overworld_frame(gObjectEventPic_Girl1, 2, 4, 4), + overworld_frame(gObjectEventPic_Girl1, 2, 4, 5), + overworld_frame(gObjectEventPic_Girl1, 2, 4, 6), + overworld_frame(gObjectEventPic_Girl1, 2, 4, 7), + overworld_frame(gObjectEventPic_Girl1, 2, 4, 8), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Boy2[] = { + overworld_frame(gObjectEventPic_Boy2, 2, 4, 0), + overworld_frame(gObjectEventPic_Boy2, 2, 4, 1), + overworld_frame(gObjectEventPic_Boy2, 2, 4, 2), + overworld_frame(gObjectEventPic_Boy2, 2, 4, 3), + overworld_frame(gObjectEventPic_Boy2, 2, 4, 4), + overworld_frame(gObjectEventPic_Boy2, 2, 4, 5), + overworld_frame(gObjectEventPic_Boy2, 2, 4, 6), + overworld_frame(gObjectEventPic_Boy2, 2, 4, 7), + overworld_frame(gObjectEventPic_Boy2, 2, 4, 8), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Girl2[] = { + overworld_frame(gObjectEventPic_Girl2, 2, 4, 0), + overworld_frame(gObjectEventPic_Girl2, 2, 4, 1), + overworld_frame(gObjectEventPic_Girl2, 2, 4, 2), + overworld_frame(gObjectEventPic_Girl2, 2, 4, 3), + overworld_frame(gObjectEventPic_Girl2, 2, 4, 4), + overworld_frame(gObjectEventPic_Girl2, 2, 4, 5), + overworld_frame(gObjectEventPic_Girl2, 2, 4, 6), + overworld_frame(gObjectEventPic_Girl2, 2, 4, 7), + overworld_frame(gObjectEventPic_Girl2, 2, 4, 8), +}; + +const struct SpriteFrameImage gObjectEventPicTable_LittleBoy[] = { + overworld_frame(gObjectEventPic_LittleBoy, 2, 2, 0), + overworld_frame(gObjectEventPic_LittleBoy, 2, 2, 1), + overworld_frame(gObjectEventPic_LittleBoy, 2, 2, 2), + overworld_frame(gObjectEventPic_LittleBoy, 2, 2, 3), + overworld_frame(gObjectEventPic_LittleBoy, 2, 2, 4), + overworld_frame(gObjectEventPic_LittleBoy, 2, 2, 5), + overworld_frame(gObjectEventPic_LittleBoy, 2, 2, 6), + overworld_frame(gObjectEventPic_LittleBoy, 2, 2, 7), + overworld_frame(gObjectEventPic_LittleBoy, 2, 2, 8), +}; + +const struct SpriteFrameImage gObjectEventPicTable_LittleGirl[] = { + overworld_frame(gObjectEventPic_LittleGirl, 2, 2, 0), + overworld_frame(gObjectEventPic_LittleGirl, 2, 2, 1), + overworld_frame(gObjectEventPic_LittleGirl, 2, 2, 2), + overworld_frame(gObjectEventPic_LittleGirl, 2, 2, 3), + overworld_frame(gObjectEventPic_LittleGirl, 2, 2, 4), + overworld_frame(gObjectEventPic_LittleGirl, 2, 2, 5), + overworld_frame(gObjectEventPic_LittleGirl, 2, 2, 6), + overworld_frame(gObjectEventPic_LittleGirl, 2, 2, 7), + overworld_frame(gObjectEventPic_LittleGirl, 2, 2, 8), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Boy3[] = { + overworld_frame(gObjectEventPic_Boy3, 2, 4, 0), + overworld_frame(gObjectEventPic_Boy3, 2, 4, 1), + overworld_frame(gObjectEventPic_Boy3, 2, 4, 2), + overworld_frame(gObjectEventPic_Boy3, 2, 4, 3), + overworld_frame(gObjectEventPic_Boy3, 2, 4, 4), + overworld_frame(gObjectEventPic_Boy3, 2, 4, 5), + overworld_frame(gObjectEventPic_Boy3, 2, 4, 6), + overworld_frame(gObjectEventPic_Boy3, 2, 4, 7), + overworld_frame(gObjectEventPic_Boy3, 2, 4, 8), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Girl3[] = { + overworld_frame(gObjectEventPic_Girl3, 2, 4, 0), + overworld_frame(gObjectEventPic_Girl3, 2, 4, 1), + overworld_frame(gObjectEventPic_Girl3, 2, 4, 2), + overworld_frame(gObjectEventPic_Girl3, 2, 4, 3), + overworld_frame(gObjectEventPic_Girl3, 2, 4, 4), + overworld_frame(gObjectEventPic_Girl3, 2, 4, 5), + overworld_frame(gObjectEventPic_Girl3, 2, 4, 6), + overworld_frame(gObjectEventPic_Girl3, 2, 4, 7), + overworld_frame(gObjectEventPic_Girl3, 2, 4, 8), +}; + +const struct SpriteFrameImage gObjectEventPicTable_RichBoy[] = { + overworld_frame(gObjectEventPic_RichBoy, 2, 4, 0), + overworld_frame(gObjectEventPic_RichBoy, 2, 4, 1), + overworld_frame(gObjectEventPic_RichBoy, 2, 4, 2), + overworld_frame(gObjectEventPic_RichBoy, 2, 4, 3), + overworld_frame(gObjectEventPic_RichBoy, 2, 4, 4), + overworld_frame(gObjectEventPic_RichBoy, 2, 4, 5), + overworld_frame(gObjectEventPic_RichBoy, 2, 4, 6), + overworld_frame(gObjectEventPic_RichBoy, 2, 4, 7), + overworld_frame(gObjectEventPic_RichBoy, 2, 4, 8), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Woman1[] = { + overworld_frame(gObjectEventPic_Woman1, 2, 4, 0), + overworld_frame(gObjectEventPic_Woman1, 2, 4, 1), + overworld_frame(gObjectEventPic_Woman1, 2, 4, 2), + overworld_frame(gObjectEventPic_Woman1, 2, 4, 3), + overworld_frame(gObjectEventPic_Woman1, 2, 4, 4), + overworld_frame(gObjectEventPic_Woman1, 2, 4, 5), + overworld_frame(gObjectEventPic_Woman1, 2, 4, 6), + overworld_frame(gObjectEventPic_Woman1, 2, 4, 7), + overworld_frame(gObjectEventPic_Woman1, 2, 4, 8), +}; + +const struct SpriteFrameImage gObjectEventPicTable_FatMan[] = { + overworld_frame(gObjectEventPic_FatMan, 2, 4, 0), + overworld_frame(gObjectEventPic_FatMan, 2, 4, 1), + overworld_frame(gObjectEventPic_FatMan, 2, 4, 2), + overworld_frame(gObjectEventPic_FatMan, 2, 4, 3), + overworld_frame(gObjectEventPic_FatMan, 2, 4, 4), + overworld_frame(gObjectEventPic_FatMan, 2, 4, 5), + overworld_frame(gObjectEventPic_FatMan, 2, 4, 6), + overworld_frame(gObjectEventPic_FatMan, 2, 4, 7), + overworld_frame(gObjectEventPic_FatMan, 2, 4, 8), +}; + +const struct SpriteFrameImage gObjectEventPicTable_PokefanF[] = { + overworld_frame(gObjectEventPic_PokefanF, 2, 4, 0), + overworld_frame(gObjectEventPic_PokefanF, 2, 4, 1), + overworld_frame(gObjectEventPic_PokefanF, 2, 4, 2), + overworld_frame(gObjectEventPic_PokefanF, 2, 4, 3), + overworld_frame(gObjectEventPic_PokefanF, 2, 4, 4), + overworld_frame(gObjectEventPic_PokefanF, 2, 4, 5), + overworld_frame(gObjectEventPic_PokefanF, 2, 4, 6), + overworld_frame(gObjectEventPic_PokefanF, 2, 4, 7), + overworld_frame(gObjectEventPic_PokefanF, 2, 4, 8), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Man1[] = { + overworld_frame(gObjectEventPic_Man1, 2, 4, 0), + overworld_frame(gObjectEventPic_Man1, 2, 4, 1), + overworld_frame(gObjectEventPic_Man1, 2, 4, 2), + overworld_frame(gObjectEventPic_Man1, 2, 4, 3), + overworld_frame(gObjectEventPic_Man1, 2, 4, 4), + overworld_frame(gObjectEventPic_Man1, 2, 4, 5), + overworld_frame(gObjectEventPic_Man1, 2, 4, 6), + overworld_frame(gObjectEventPic_Man1, 2, 4, 7), + overworld_frame(gObjectEventPic_Man1, 2, 4, 8), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Woman2[] = { + overworld_frame(gObjectEventPic_Woman2, 2, 4, 0), + overworld_frame(gObjectEventPic_Woman2, 2, 4, 1), + overworld_frame(gObjectEventPic_Woman2, 2, 4, 2), + overworld_frame(gObjectEventPic_Woman2, 2, 4, 3), + overworld_frame(gObjectEventPic_Woman2, 2, 4, 4), + overworld_frame(gObjectEventPic_Woman2, 2, 4, 5), + overworld_frame(gObjectEventPic_Woman2, 2, 4, 6), + overworld_frame(gObjectEventPic_Woman2, 2, 4, 7), + overworld_frame(gObjectEventPic_Woman2, 2, 4, 8), +}; + +const struct SpriteFrameImage gObjectEventPicTable_ExpertM[] = { + overworld_frame(gObjectEventPic_ExpertM, 2, 4, 0), + overworld_frame(gObjectEventPic_ExpertM, 2, 4, 1), + overworld_frame(gObjectEventPic_ExpertM, 2, 4, 2), + overworld_frame(gObjectEventPic_ExpertM, 2, 4, 3), + overworld_frame(gObjectEventPic_ExpertM, 2, 4, 4), + overworld_frame(gObjectEventPic_ExpertM, 2, 4, 5), + overworld_frame(gObjectEventPic_ExpertM, 2, 4, 6), + overworld_frame(gObjectEventPic_ExpertM, 2, 4, 7), + overworld_frame(gObjectEventPic_ExpertM, 2, 4, 8), +}; + +const struct SpriteFrameImage gObjectEventPicTable_ExpertF[] = { + overworld_frame(gObjectEventPic_ExpertF, 2, 4, 0), + overworld_frame(gObjectEventPic_ExpertF, 2, 4, 1), + overworld_frame(gObjectEventPic_ExpertF, 2, 4, 2), + overworld_frame(gObjectEventPic_ExpertF, 2, 4, 3), + overworld_frame(gObjectEventPic_ExpertF, 2, 4, 4), + overworld_frame(gObjectEventPic_ExpertF, 2, 4, 5), + overworld_frame(gObjectEventPic_ExpertF, 2, 4, 6), + overworld_frame(gObjectEventPic_ExpertF, 2, 4, 7), + overworld_frame(gObjectEventPic_ExpertF, 2, 4, 8), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Man2[] = { + overworld_frame(gObjectEventPic_Man2, 2, 4, 0), + overworld_frame(gObjectEventPic_Man2, 2, 4, 1), + overworld_frame(gObjectEventPic_Man2, 2, 4, 2), + overworld_frame(gObjectEventPic_Man2, 2, 4, 3), + overworld_frame(gObjectEventPic_Man2, 2, 4, 4), + overworld_frame(gObjectEventPic_Man2, 2, 4, 5), + overworld_frame(gObjectEventPic_Man2, 2, 4, 6), + overworld_frame(gObjectEventPic_Man2, 2, 4, 7), + overworld_frame(gObjectEventPic_Man2, 2, 4, 8), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Woman3[] = { + overworld_frame(gObjectEventPic_Woman3, 2, 4, 0), + overworld_frame(gObjectEventPic_Woman3, 2, 4, 1), + overworld_frame(gObjectEventPic_Woman3, 2, 4, 2), + overworld_frame(gObjectEventPic_Woman3, 2, 4, 3), + overworld_frame(gObjectEventPic_Woman3, 2, 4, 4), + overworld_frame(gObjectEventPic_Woman3, 2, 4, 5), + overworld_frame(gObjectEventPic_Woman3, 2, 4, 6), + overworld_frame(gObjectEventPic_Woman3, 2, 4, 7), + overworld_frame(gObjectEventPic_Woman3, 2, 4, 8), +}; + +const struct SpriteFrameImage gObjectEventPicTable_PokefanM[] = { + overworld_frame(gObjectEventPic_PokefanM, 2, 4, 0), + overworld_frame(gObjectEventPic_PokefanM, 2, 4, 1), + overworld_frame(gObjectEventPic_PokefanM, 2, 4, 2), + overworld_frame(gObjectEventPic_PokefanM, 2, 4, 3), + overworld_frame(gObjectEventPic_PokefanM, 2, 4, 4), + overworld_frame(gObjectEventPic_PokefanM, 2, 4, 5), + overworld_frame(gObjectEventPic_PokefanM, 2, 4, 6), + overworld_frame(gObjectEventPic_PokefanM, 2, 4, 7), + overworld_frame(gObjectEventPic_PokefanM, 2, 4, 8), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Woman4[] = { + overworld_frame(gObjectEventPic_Woman4, 2, 4, 0), + overworld_frame(gObjectEventPic_Woman4, 2, 4, 1), + overworld_frame(gObjectEventPic_Woman4, 2, 4, 2), + overworld_frame(gObjectEventPic_Woman4, 2, 4, 3), + overworld_frame(gObjectEventPic_Woman4, 2, 4, 4), + overworld_frame(gObjectEventPic_Woman4, 2, 4, 5), + overworld_frame(gObjectEventPic_Woman4, 2, 4, 6), + overworld_frame(gObjectEventPic_Woman4, 2, 4, 7), + overworld_frame(gObjectEventPic_Woman4, 2, 4, 8), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Cook[] = { + overworld_frame(gObjectEventPic_Cook, 2, 4, 0), + overworld_frame(gObjectEventPic_Cook, 2, 4, 1), + overworld_frame(gObjectEventPic_Cook, 2, 4, 2), + overworld_frame(gObjectEventPic_Cook, 2, 4, 0), + overworld_frame(gObjectEventPic_Cook, 2, 4, 0), + overworld_frame(gObjectEventPic_Cook, 2, 4, 1), + overworld_frame(gObjectEventPic_Cook, 2, 4, 1), + overworld_frame(gObjectEventPic_Cook, 2, 4, 2), + overworld_frame(gObjectEventPic_Cook, 2, 4, 2), +}; + +const struct SpriteFrameImage gObjectEventPicTable_LinkReceptionist[] = { + overworld_frame(gObjectEventPic_LinkReceptionist, 2, 4, 0), + overworld_frame(gObjectEventPic_LinkReceptionist, 2, 4, 1), + overworld_frame(gObjectEventPic_LinkReceptionist, 2, 4, 2), + overworld_frame(gObjectEventPic_LinkReceptionist, 2, 4, 3), + overworld_frame(gObjectEventPic_LinkReceptionist, 2, 4, 4), + overworld_frame(gObjectEventPic_LinkReceptionist, 2, 4, 5), + overworld_frame(gObjectEventPic_LinkReceptionist, 2, 4, 6), + overworld_frame(gObjectEventPic_LinkReceptionist, 2, 4, 7), + overworld_frame(gObjectEventPic_LinkReceptionist, 2, 4, 8), +}; + +const struct SpriteFrameImage gObjectEventPicTable_OldMan[] = { + overworld_frame(gObjectEventPic_OldMan, 2, 4, 0), + overworld_frame(gObjectEventPic_OldMan, 2, 4, 1), + overworld_frame(gObjectEventPic_OldMan, 2, 4, 2), + overworld_frame(gObjectEventPic_OldMan, 2, 4, 0), + overworld_frame(gObjectEventPic_OldMan, 2, 4, 0), + overworld_frame(gObjectEventPic_OldMan, 2, 4, 1), + overworld_frame(gObjectEventPic_OldMan, 2, 4, 1), + overworld_frame(gObjectEventPic_OldMan, 2, 4, 2), + overworld_frame(gObjectEventPic_OldMan, 2, 4, 2), +}; + +const struct SpriteFrameImage gObjectEventPicTable_OldWoman[] = { + overworld_frame(gObjectEventPic_OldWoman, 2, 4, 0), + overworld_frame(gObjectEventPic_OldWoman, 2, 4, 1), + overworld_frame(gObjectEventPic_OldWoman, 2, 4, 2), + overworld_frame(gObjectEventPic_OldWoman, 2, 4, 3), + overworld_frame(gObjectEventPic_OldWoman, 2, 4, 4), + overworld_frame(gObjectEventPic_OldWoman, 2, 4, 5), + overworld_frame(gObjectEventPic_OldWoman, 2, 4, 6), + overworld_frame(gObjectEventPic_OldWoman, 2, 4, 7), + overworld_frame(gObjectEventPic_OldWoman, 2, 4, 8), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Camper[] = { + overworld_frame(gObjectEventPic_Camper, 2, 4, 0), + overworld_frame(gObjectEventPic_Camper, 2, 4, 1), + overworld_frame(gObjectEventPic_Camper, 2, 4, 2), + overworld_frame(gObjectEventPic_Camper, 2, 4, 3), + overworld_frame(gObjectEventPic_Camper, 2, 4, 4), + overworld_frame(gObjectEventPic_Camper, 2, 4, 5), + overworld_frame(gObjectEventPic_Camper, 2, 4, 6), + overworld_frame(gObjectEventPic_Camper, 2, 4, 7), + overworld_frame(gObjectEventPic_Camper, 2, 4, 8), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Picnicker[] = { + overworld_frame(gObjectEventPic_Picnicker, 2, 4, 0), + overworld_frame(gObjectEventPic_Picnicker, 2, 4, 1), + overworld_frame(gObjectEventPic_Picnicker, 2, 4, 2), + overworld_frame(gObjectEventPic_Picnicker, 2, 4, 3), + overworld_frame(gObjectEventPic_Picnicker, 2, 4, 4), + overworld_frame(gObjectEventPic_Picnicker, 2, 4, 5), + overworld_frame(gObjectEventPic_Picnicker, 2, 4, 6), + overworld_frame(gObjectEventPic_Picnicker, 2, 4, 7), + overworld_frame(gObjectEventPic_Picnicker, 2, 4, 8), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Man3[] = { + overworld_frame(gObjectEventPic_Man3, 2, 4, 0), + overworld_frame(gObjectEventPic_Man3, 2, 4, 1), + overworld_frame(gObjectEventPic_Man3, 2, 4, 2), + overworld_frame(gObjectEventPic_Man3, 2, 4, 3), + overworld_frame(gObjectEventPic_Man3, 2, 4, 4), + overworld_frame(gObjectEventPic_Man3, 2, 4, 5), + overworld_frame(gObjectEventPic_Man3, 2, 4, 6), + overworld_frame(gObjectEventPic_Man3, 2, 4, 7), + overworld_frame(gObjectEventPic_Man3, 2, 4, 8), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Woman5[] = { + overworld_frame(gObjectEventPic_Woman5, 2, 4, 0), + overworld_frame(gObjectEventPic_Woman5, 2, 4, 1), + overworld_frame(gObjectEventPic_Woman5, 2, 4, 2), + overworld_frame(gObjectEventPic_Woman5, 2, 4, 3), + overworld_frame(gObjectEventPic_Woman5, 2, 4, 4), + overworld_frame(gObjectEventPic_Woman5, 2, 4, 5), + overworld_frame(gObjectEventPic_Woman5, 2, 4, 6), + overworld_frame(gObjectEventPic_Woman5, 2, 4, 7), + overworld_frame(gObjectEventPic_Woman5, 2, 4, 8), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Youngster[] = { + overworld_frame(gObjectEventPic_Youngster, 2, 4, 0), + overworld_frame(gObjectEventPic_Youngster, 2, 4, 1), + overworld_frame(gObjectEventPic_Youngster, 2, 4, 2), + overworld_frame(gObjectEventPic_Youngster, 2, 4, 3), + overworld_frame(gObjectEventPic_Youngster, 2, 4, 4), + overworld_frame(gObjectEventPic_Youngster, 2, 4, 5), + overworld_frame(gObjectEventPic_Youngster, 2, 4, 6), + overworld_frame(gObjectEventPic_Youngster, 2, 4, 7), + overworld_frame(gObjectEventPic_Youngster, 2, 4, 8), +}; + +const struct SpriteFrameImage gObjectEventPicTable_BugCatcher[] = { + overworld_frame(gObjectEventPic_BugCatcher, 2, 4, 0), + overworld_frame(gObjectEventPic_BugCatcher, 2, 4, 1), + overworld_frame(gObjectEventPic_BugCatcher, 2, 4, 2), + overworld_frame(gObjectEventPic_BugCatcher, 2, 4, 3), + overworld_frame(gObjectEventPic_BugCatcher, 2, 4, 4), + overworld_frame(gObjectEventPic_BugCatcher, 2, 4, 5), + overworld_frame(gObjectEventPic_BugCatcher, 2, 4, 6), + overworld_frame(gObjectEventPic_BugCatcher, 2, 4, 7), + overworld_frame(gObjectEventPic_BugCatcher, 2, 4, 8), +}; + +const struct SpriteFrameImage gObjectEventPicTable_PsychicM[] = { + overworld_frame(gObjectEventPic_PsychicM, 2, 4, 0), + overworld_frame(gObjectEventPic_PsychicM, 2, 4, 1), + overworld_frame(gObjectEventPic_PsychicM, 2, 4, 2), + overworld_frame(gObjectEventPic_PsychicM, 2, 4, 3), + overworld_frame(gObjectEventPic_PsychicM, 2, 4, 4), + overworld_frame(gObjectEventPic_PsychicM, 2, 4, 5), + overworld_frame(gObjectEventPic_PsychicM, 2, 4, 6), + overworld_frame(gObjectEventPic_PsychicM, 2, 4, 7), + overworld_frame(gObjectEventPic_PsychicM, 2, 4, 8), +}; + +const struct SpriteFrameImage gObjectEventPicTable_SchoolKidM[] = { + overworld_frame(gObjectEventPic_SchoolKidM, 2, 4, 0), + overworld_frame(gObjectEventPic_SchoolKidM, 2, 4, 1), + overworld_frame(gObjectEventPic_SchoolKidM, 2, 4, 2), + overworld_frame(gObjectEventPic_SchoolKidM, 2, 4, 3), + overworld_frame(gObjectEventPic_SchoolKidM, 2, 4, 4), + overworld_frame(gObjectEventPic_SchoolKidM, 2, 4, 5), + overworld_frame(gObjectEventPic_SchoolKidM, 2, 4, 6), + overworld_frame(gObjectEventPic_SchoolKidM, 2, 4, 7), + overworld_frame(gObjectEventPic_SchoolKidM, 2, 4, 8), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Maniac[] = { + overworld_frame(gObjectEventPic_Maniac, 2, 4, 0), + overworld_frame(gObjectEventPic_Maniac, 2, 4, 1), + overworld_frame(gObjectEventPic_Maniac, 2, 4, 2), + overworld_frame(gObjectEventPic_Maniac, 2, 4, 3), + overworld_frame(gObjectEventPic_Maniac, 2, 4, 4), + overworld_frame(gObjectEventPic_Maniac, 2, 4, 5), + overworld_frame(gObjectEventPic_Maniac, 2, 4, 6), + overworld_frame(gObjectEventPic_Maniac, 2, 4, 7), + overworld_frame(gObjectEventPic_Maniac, 2, 4, 8), +}; + +const struct SpriteFrameImage gObjectEventPicTable_HexManiac[] = { + overworld_frame(gObjectEventPic_HexManiac, 2, 4, 0), + overworld_frame(gObjectEventPic_HexManiac, 2, 4, 1), + overworld_frame(gObjectEventPic_HexManiac, 2, 4, 2), + overworld_frame(gObjectEventPic_HexManiac, 2, 4, 3), + overworld_frame(gObjectEventPic_HexManiac, 2, 4, 4), + overworld_frame(gObjectEventPic_HexManiac, 2, 4, 5), + overworld_frame(gObjectEventPic_HexManiac, 2, 4, 6), + overworld_frame(gObjectEventPic_HexManiac, 2, 4, 7), + overworld_frame(gObjectEventPic_HexManiac, 2, 4, 8), +}; + +const struct SpriteFrameImage gObjectEventPicTable_SwimmerM[] = { + overworld_frame(gObjectEventPic_SwimmerM, 2, 4, 0), + overworld_frame(gObjectEventPic_SwimmerM, 2, 4, 1), + overworld_frame(gObjectEventPic_SwimmerM, 2, 4, 2), + overworld_frame(gObjectEventPic_SwimmerM, 2, 4, 3), + overworld_frame(gObjectEventPic_SwimmerM, 2, 4, 4), + overworld_frame(gObjectEventPic_SwimmerM, 2, 4, 5), + overworld_frame(gObjectEventPic_SwimmerM, 2, 4, 6), + overworld_frame(gObjectEventPic_SwimmerM, 2, 4, 7), + overworld_frame(gObjectEventPic_SwimmerM, 2, 4, 8), +}; + +const struct SpriteFrameImage gObjectEventPicTable_SwimmerF[] = { + overworld_frame(gObjectEventPic_SwimmerF, 2, 4, 0), + overworld_frame(gObjectEventPic_SwimmerF, 2, 4, 1), + overworld_frame(gObjectEventPic_SwimmerF, 2, 4, 2), + overworld_frame(gObjectEventPic_SwimmerF, 2, 4, 3), + overworld_frame(gObjectEventPic_SwimmerF, 2, 4, 4), + overworld_frame(gObjectEventPic_SwimmerF, 2, 4, 5), + overworld_frame(gObjectEventPic_SwimmerF, 2, 4, 6), + overworld_frame(gObjectEventPic_SwimmerF, 2, 4, 7), + overworld_frame(gObjectEventPic_SwimmerF, 2, 4, 8), +}; + +const struct SpriteFrameImage gObjectEventPicTable_BlackBelt[] = { + overworld_frame(gObjectEventPic_BlackBelt, 2, 4, 0), + overworld_frame(gObjectEventPic_BlackBelt, 2, 4, 1), + overworld_frame(gObjectEventPic_BlackBelt, 2, 4, 2), + overworld_frame(gObjectEventPic_BlackBelt, 2, 4, 3), + overworld_frame(gObjectEventPic_BlackBelt, 2, 4, 4), + overworld_frame(gObjectEventPic_BlackBelt, 2, 4, 5), + overworld_frame(gObjectEventPic_BlackBelt, 2, 4, 6), + overworld_frame(gObjectEventPic_BlackBelt, 2, 4, 7), + overworld_frame(gObjectEventPic_BlackBelt, 2, 4, 8), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Beauty[] = { + overworld_frame(gObjectEventPic_Beauty, 2, 4, 0), + overworld_frame(gObjectEventPic_Beauty, 2, 4, 1), + overworld_frame(gObjectEventPic_Beauty, 2, 4, 2), + overworld_frame(gObjectEventPic_Beauty, 2, 4, 3), + overworld_frame(gObjectEventPic_Beauty, 2, 4, 4), + overworld_frame(gObjectEventPic_Beauty, 2, 4, 5), + overworld_frame(gObjectEventPic_Beauty, 2, 4, 6), + overworld_frame(gObjectEventPic_Beauty, 2, 4, 7), + overworld_frame(gObjectEventPic_Beauty, 2, 4, 8), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Scientist1[] = { + overworld_frame(gObjectEventPic_Scientist1, 2, 4, 0), + overworld_frame(gObjectEventPic_Scientist1, 2, 4, 1), + overworld_frame(gObjectEventPic_Scientist1, 2, 4, 2), + overworld_frame(gObjectEventPic_Scientist1, 2, 4, 3), + overworld_frame(gObjectEventPic_Scientist1, 2, 4, 4), + overworld_frame(gObjectEventPic_Scientist1, 2, 4, 5), + overworld_frame(gObjectEventPic_Scientist1, 2, 4, 6), + overworld_frame(gObjectEventPic_Scientist1, 2, 4, 7), + overworld_frame(gObjectEventPic_Scientist1, 2, 4, 8), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Lass[] = { + overworld_frame(gObjectEventPic_Lass, 2, 4, 0), + overworld_frame(gObjectEventPic_Lass, 2, 4, 1), + overworld_frame(gObjectEventPic_Lass, 2, 4, 2), + overworld_frame(gObjectEventPic_Lass, 2, 4, 3), + overworld_frame(gObjectEventPic_Lass, 2, 4, 4), + overworld_frame(gObjectEventPic_Lass, 2, 4, 5), + overworld_frame(gObjectEventPic_Lass, 2, 4, 6), + overworld_frame(gObjectEventPic_Lass, 2, 4, 7), + overworld_frame(gObjectEventPic_Lass, 2, 4, 8), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Gentleman[] = { + overworld_frame(gObjectEventPic_Gentleman, 2, 4, 0), + overworld_frame(gObjectEventPic_Gentleman, 2, 4, 1), + overworld_frame(gObjectEventPic_Gentleman, 2, 4, 2), + overworld_frame(gObjectEventPic_Gentleman, 2, 4, 3), + overworld_frame(gObjectEventPic_Gentleman, 2, 4, 4), + overworld_frame(gObjectEventPic_Gentleman, 2, 4, 5), + overworld_frame(gObjectEventPic_Gentleman, 2, 4, 6), + overworld_frame(gObjectEventPic_Gentleman, 2, 4, 7), + overworld_frame(gObjectEventPic_Gentleman, 2, 4, 8), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Sailor[] = { + overworld_frame(gObjectEventPic_Sailor, 2, 4, 0), + overworld_frame(gObjectEventPic_Sailor, 2, 4, 1), + overworld_frame(gObjectEventPic_Sailor, 2, 4, 2), + overworld_frame(gObjectEventPic_Sailor, 2, 4, 3), + overworld_frame(gObjectEventPic_Sailor, 2, 4, 4), + overworld_frame(gObjectEventPic_Sailor, 2, 4, 5), + overworld_frame(gObjectEventPic_Sailor, 2, 4, 6), + overworld_frame(gObjectEventPic_Sailor, 2, 4, 7), + overworld_frame(gObjectEventPic_Sailor, 2, 4, 8), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Fisherman[] = { + overworld_frame(gObjectEventPic_Fisherman, 2, 4, 0), + overworld_frame(gObjectEventPic_Fisherman, 2, 4, 1), + overworld_frame(gObjectEventPic_Fisherman, 2, 4, 2), + overworld_frame(gObjectEventPic_Fisherman, 2, 4, 3), + overworld_frame(gObjectEventPic_Fisherman, 2, 4, 4), + overworld_frame(gObjectEventPic_Fisherman, 2, 4, 5), + overworld_frame(gObjectEventPic_Fisherman, 2, 4, 6), + overworld_frame(gObjectEventPic_Fisherman, 2, 4, 7), + overworld_frame(gObjectEventPic_Fisherman, 2, 4, 8), +}; + +const struct SpriteFrameImage gObjectEventPicTable_RunningTriathleteM[] = { + overworld_frame(gObjectEventPic_RunningTriathleteM, 2, 4, 0), + overworld_frame(gObjectEventPic_RunningTriathleteM, 2, 4, 1), + overworld_frame(gObjectEventPic_RunningTriathleteM, 2, 4, 2), + overworld_frame(gObjectEventPic_RunningTriathleteM, 2, 4, 3), + overworld_frame(gObjectEventPic_RunningTriathleteM, 2, 4, 4), + overworld_frame(gObjectEventPic_RunningTriathleteM, 2, 4, 5), + overworld_frame(gObjectEventPic_RunningTriathleteM, 2, 4, 6), + overworld_frame(gObjectEventPic_RunningTriathleteM, 2, 4, 7), + overworld_frame(gObjectEventPic_RunningTriathleteM, 2, 4, 8), +}; + +const struct SpriteFrameImage gObjectEventPicTable_RunningTriathleteF[] = { + overworld_frame(gObjectEventPic_RunningTriathleteF, 2, 4, 0), + overworld_frame(gObjectEventPic_RunningTriathleteF, 2, 4, 1), + overworld_frame(gObjectEventPic_RunningTriathleteF, 2, 4, 2), + overworld_frame(gObjectEventPic_RunningTriathleteF, 2, 4, 3), + overworld_frame(gObjectEventPic_RunningTriathleteF, 2, 4, 4), + overworld_frame(gObjectEventPic_RunningTriathleteF, 2, 4, 5), + overworld_frame(gObjectEventPic_RunningTriathleteF, 2, 4, 6), + overworld_frame(gObjectEventPic_RunningTriathleteF, 2, 4, 7), + overworld_frame(gObjectEventPic_RunningTriathleteF, 2, 4, 8), +}; + +const struct SpriteFrameImage gObjectEventPicTable_TuberF[] = { + overworld_frame(gObjectEventPic_TuberF, 2, 2, 0), + overworld_frame(gObjectEventPic_TuberF, 2, 2, 1), + overworld_frame(gObjectEventPic_TuberF, 2, 2, 2), + overworld_frame(gObjectEventPic_TuberF, 2, 2, 3), + overworld_frame(gObjectEventPic_TuberF, 2, 2, 4), + overworld_frame(gObjectEventPic_TuberF, 2, 2, 5), + overworld_frame(gObjectEventPic_TuberF, 2, 2, 6), + overworld_frame(gObjectEventPic_TuberF, 2, 2, 7), + overworld_frame(gObjectEventPic_TuberF, 2, 2, 8), +}; + +const struct SpriteFrameImage gObjectEventPicTable_TuberM[] = { + overworld_frame(gObjectEventPic_TuberM, 2, 2, 0), + overworld_frame(gObjectEventPic_TuberM, 2, 2, 1), + overworld_frame(gObjectEventPic_TuberM, 2, 2, 2), + overworld_frame(gObjectEventPic_TuberM, 2, 2, 3), + overworld_frame(gObjectEventPic_TuberM, 2, 2, 4), + overworld_frame(gObjectEventPic_TuberM, 2, 2, 5), + overworld_frame(gObjectEventPic_TuberM, 2, 2, 6), + overworld_frame(gObjectEventPic_TuberM, 2, 2, 7), + overworld_frame(gObjectEventPic_TuberM, 2, 2, 8), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Hiker[] = { + overworld_frame(gObjectEventPic_Hiker, 2, 4, 0), + overworld_frame(gObjectEventPic_Hiker, 2, 4, 1), + overworld_frame(gObjectEventPic_Hiker, 2, 4, 2), + overworld_frame(gObjectEventPic_Hiker, 2, 4, 3), + overworld_frame(gObjectEventPic_Hiker, 2, 4, 4), + overworld_frame(gObjectEventPic_Hiker, 2, 4, 5), + overworld_frame(gObjectEventPic_Hiker, 2, 4, 6), + overworld_frame(gObjectEventPic_Hiker, 2, 4, 7), + overworld_frame(gObjectEventPic_Hiker, 2, 4, 8), +}; + +const struct SpriteFrameImage gObjectEventPicTable_CyclingTriathleteM[] = { + overworld_frame(gObjectEventPic_CyclingTriathleteM, 4, 4, 0), + overworld_frame(gObjectEventPic_CyclingTriathleteM, 4, 4, 1), + overworld_frame(gObjectEventPic_CyclingTriathleteM, 4, 4, 2), + overworld_frame(gObjectEventPic_CyclingTriathleteM, 4, 4, 3), + overworld_frame(gObjectEventPic_CyclingTriathleteM, 4, 4, 4), + overworld_frame(gObjectEventPic_CyclingTriathleteM, 4, 4, 5), + overworld_frame(gObjectEventPic_CyclingTriathleteM, 4, 4, 6), + overworld_frame(gObjectEventPic_CyclingTriathleteM, 4, 4, 7), + overworld_frame(gObjectEventPic_CyclingTriathleteM, 4, 4, 8), +}; + +const struct SpriteFrameImage gObjectEventPicTable_CyclingTriathleteF[] = { + overworld_frame(gObjectEventPic_CyclingTriathleteF, 4, 4, 0), + overworld_frame(gObjectEventPic_CyclingTriathleteF, 4, 4, 1), + overworld_frame(gObjectEventPic_CyclingTriathleteF, 4, 4, 2), + overworld_frame(gObjectEventPic_CyclingTriathleteF, 4, 4, 3), + overworld_frame(gObjectEventPic_CyclingTriathleteF, 4, 4, 4), + overworld_frame(gObjectEventPic_CyclingTriathleteF, 4, 4, 5), + overworld_frame(gObjectEventPic_CyclingTriathleteF, 4, 4, 6), + overworld_frame(gObjectEventPic_CyclingTriathleteF, 4, 4, 7), + overworld_frame(gObjectEventPic_CyclingTriathleteF, 4, 4, 8), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Nurse[] = { + overworld_frame(gObjectEventPic_Nurse, 2, 4, 0), + overworld_frame(gObjectEventPic_Nurse, 2, 4, 1), + overworld_frame(gObjectEventPic_Nurse, 2, 4, 2), + overworld_frame(gObjectEventPic_Nurse, 2, 4, 0), + overworld_frame(gObjectEventPic_Nurse, 2, 4, 0), + overworld_frame(gObjectEventPic_Nurse, 2, 4, 1), + overworld_frame(gObjectEventPic_Nurse, 2, 4, 1), + overworld_frame(gObjectEventPic_Nurse, 2, 4, 2), + overworld_frame(gObjectEventPic_Nurse, 2, 4, 2), + overworld_frame(gObjectEventPic_Nurse, 2, 4, 3), +}; + +const struct SpriteFrameImage gObjectEventPicTable_ItemBall[] = { + obj_frame_tiles(gObjectEventPic_ItemBall), +}; + +const struct SpriteFrameImage gObjectEventPicTable_ProfBirch[] = { + overworld_frame(gObjectEventPic_ProfBirch, 2, 4, 0), + overworld_frame(gObjectEventPic_ProfBirch, 2, 4, 1), + overworld_frame(gObjectEventPic_ProfBirch, 2, 4, 2), + overworld_frame(gObjectEventPic_ProfBirch, 2, 4, 3), + overworld_frame(gObjectEventPic_ProfBirch, 2, 4, 4), + overworld_frame(gObjectEventPic_ProfBirch, 2, 4, 5), + overworld_frame(gObjectEventPic_ProfBirch, 2, 4, 6), + overworld_frame(gObjectEventPic_ProfBirch, 2, 4, 7), + overworld_frame(gObjectEventPic_ProfBirch, 2, 4, 8), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Man4[] = { + overworld_frame(gObjectEventPic_Man4, 2, 4, 0), + overworld_frame(gObjectEventPic_Man4, 2, 4, 1), + overworld_frame(gObjectEventPic_Man4, 2, 4, 2), + overworld_frame(gObjectEventPic_Man4, 2, 4, 3), + overworld_frame(gObjectEventPic_Man4, 2, 4, 4), + overworld_frame(gObjectEventPic_Man4, 2, 4, 5), + overworld_frame(gObjectEventPic_Man4, 2, 4, 6), + overworld_frame(gObjectEventPic_Man4, 2, 4, 7), + overworld_frame(gObjectEventPic_Man4, 2, 4, 8), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Man5[] = { + overworld_frame(gObjectEventPic_Man5, 2, 4, 0), + overworld_frame(gObjectEventPic_Man5, 2, 4, 1), + overworld_frame(gObjectEventPic_Man5, 2, 4, 2), + overworld_frame(gObjectEventPic_Man5, 2, 4, 3), + overworld_frame(gObjectEventPic_Man5, 2, 4, 4), + overworld_frame(gObjectEventPic_Man5, 2, 4, 5), + overworld_frame(gObjectEventPic_Man5, 2, 4, 6), + overworld_frame(gObjectEventPic_Man5, 2, 4, 7), + overworld_frame(gObjectEventPic_Man5, 2, 4, 8), +}; + +const struct SpriteFrameImage gObjectEventPicTable_ReporterM[] = { + overworld_frame(gObjectEventPic_ReporterM, 2, 4, 0), + overworld_frame(gObjectEventPic_ReporterM, 2, 4, 1), + overworld_frame(gObjectEventPic_ReporterM, 2, 4, 2), + overworld_frame(gObjectEventPic_ReporterM, 2, 4, 3), + overworld_frame(gObjectEventPic_ReporterM, 2, 4, 4), + overworld_frame(gObjectEventPic_ReporterM, 2, 4, 5), + overworld_frame(gObjectEventPic_ReporterM, 2, 4, 6), + overworld_frame(gObjectEventPic_ReporterM, 2, 4, 7), + overworld_frame(gObjectEventPic_ReporterM, 2, 4, 8), +}; + +const struct SpriteFrameImage gObjectEventPicTable_ReporterF[] = { + overworld_frame(gObjectEventPic_ReporterF, 2, 4, 0), + overworld_frame(gObjectEventPic_ReporterF, 2, 4, 1), + overworld_frame(gObjectEventPic_ReporterF, 2, 4, 2), + overworld_frame(gObjectEventPic_ReporterF, 2, 4, 3), + overworld_frame(gObjectEventPic_ReporterF, 2, 4, 4), + overworld_frame(gObjectEventPic_ReporterF, 2, 4, 5), + overworld_frame(gObjectEventPic_ReporterF, 2, 4, 6), + overworld_frame(gObjectEventPic_ReporterF, 2, 4, 7), + overworld_frame(gObjectEventPic_ReporterF, 2, 4, 8), +}; + +const struct SpriteFrameImage gObjectEventPicTable_MauvilleOldMan1[] = { + overworld_frame(gObjectEventPic_MauvilleOldMan1, 2, 4, 0), + overworld_frame(gObjectEventPic_MauvilleOldMan1, 2, 4, 1), + overworld_frame(gObjectEventPic_MauvilleOldMan1, 2, 4, 2), + overworld_frame(gObjectEventPic_MauvilleOldMan1, 2, 4, 3), + overworld_frame(gObjectEventPic_MauvilleOldMan1, 2, 4, 4), + overworld_frame(gObjectEventPic_MauvilleOldMan1, 2, 4, 5), + overworld_frame(gObjectEventPic_MauvilleOldMan1, 2, 4, 6), + overworld_frame(gObjectEventPic_MauvilleOldMan1, 2, 4, 7), + overworld_frame(gObjectEventPic_MauvilleOldMan1, 2, 4, 8), +}; + +const struct SpriteFrameImage gObjectEventPicTable_MauvilleOldMan2[] = { + overworld_frame(gObjectEventPic_MauvilleOldMan2, 2, 4, 0), + overworld_frame(gObjectEventPic_MauvilleOldMan2, 2, 4, 1), + overworld_frame(gObjectEventPic_MauvilleOldMan2, 2, 4, 2), + overworld_frame(gObjectEventPic_MauvilleOldMan2, 2, 4, 3), + overworld_frame(gObjectEventPic_MauvilleOldMan2, 2, 4, 4), + overworld_frame(gObjectEventPic_MauvilleOldMan2, 2, 4, 5), + overworld_frame(gObjectEventPic_MauvilleOldMan2, 2, 4, 6), + overworld_frame(gObjectEventPic_MauvilleOldMan2, 2, 4, 7), + overworld_frame(gObjectEventPic_MauvilleOldMan2, 2, 4, 8), +}; + +const struct SpriteFrameImage gObjectEventPicTable_UnusedNatuDoll[] = { + obj_frame_tiles(gObjectEventPic_UnusedNatuDoll), +}; + +const struct SpriteFrameImage gObjectEventPicTable_UnusedMagnemiteDoll[] = { + obj_frame_tiles(gObjectEventPic_UnusedMagnemiteDoll), +}; + +const struct SpriteFrameImage gObjectEventPicTable_UnusedSquirtleDoll[] = { + obj_frame_tiles(gObjectEventPic_UnusedSquirtleDoll), +}; + +const struct SpriteFrameImage gObjectEventPicTable_UnusedWooperDoll[] = { + obj_frame_tiles(gObjectEventPic_UnusedWooperDoll), +}; + +const struct SpriteFrameImage gObjectEventPicTable_UnusedPikachuDoll[] = { + obj_frame_tiles(gObjectEventPic_UnusedPikachuDoll), +}; + +const struct SpriteFrameImage gObjectEventPicTable_UnusedPorygon2Doll[] = { + obj_frame_tiles(gObjectEventPic_UnusedPorygon2Doll), +}; + +const struct SpriteFrameImage gObjectEventPicTable_CuttableTree[] = { + overworld_frame(gObjectEventPic_CuttableTree, 2, 2, 0), + overworld_frame(gObjectEventPic_CuttableTree, 2, 2, 1), + overworld_frame(gObjectEventPic_CuttableTree, 2, 2, 2), + overworld_frame(gObjectEventPic_CuttableTree, 2, 2, 3), +}; + +const struct SpriteFrameImage gObjectEventPicTable_MartEmployee[] = { + overworld_frame(gObjectEventPic_MartEmployee, 2, 4, 0), + overworld_frame(gObjectEventPic_MartEmployee, 2, 4, 1), + overworld_frame(gObjectEventPic_MartEmployee, 2, 4, 2), + overworld_frame(gObjectEventPic_MartEmployee, 2, 4, 3), + overworld_frame(gObjectEventPic_MartEmployee, 2, 4, 4), + overworld_frame(gObjectEventPic_MartEmployee, 2, 4, 5), + overworld_frame(gObjectEventPic_MartEmployee, 2, 4, 6), + overworld_frame(gObjectEventPic_MartEmployee, 2, 4, 7), + overworld_frame(gObjectEventPic_MartEmployee, 2, 4, 8), +}; + +const struct SpriteFrameImage gObjectEventPicTable_RooftopSaleWoman[] = { + overworld_frame(gObjectEventPic_RooftopSaleWoman, 2, 4, 0), + overworld_frame(gObjectEventPic_RooftopSaleWoman, 2, 4, 1), + overworld_frame(gObjectEventPic_RooftopSaleWoman, 2, 4, 2), + overworld_frame(gObjectEventPic_RooftopSaleWoman, 2, 4, 3), + overworld_frame(gObjectEventPic_RooftopSaleWoman, 2, 4, 4), + overworld_frame(gObjectEventPic_RooftopSaleWoman, 2, 4, 5), + overworld_frame(gObjectEventPic_RooftopSaleWoman, 2, 4, 6), + overworld_frame(gObjectEventPic_RooftopSaleWoman, 2, 4, 7), + overworld_frame(gObjectEventPic_RooftopSaleWoman, 2, 4, 8), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Teala[] = { + overworld_frame(gObjectEventPic_Teala, 2, 4, 0), + overworld_frame(gObjectEventPic_Teala, 2, 4, 1), + overworld_frame(gObjectEventPic_Teala, 2, 4, 2), + overworld_frame(gObjectEventPic_Teala, 2, 4, 3), + overworld_frame(gObjectEventPic_Teala, 2, 4, 4), + overworld_frame(gObjectEventPic_Teala, 2, 4, 5), + overworld_frame(gObjectEventPic_Teala, 2, 4, 6), + overworld_frame(gObjectEventPic_Teala, 2, 4, 7), + overworld_frame(gObjectEventPic_Teala, 2, 4, 8), +}; + +const struct SpriteFrameImage gObjectEventPicTable_BreakableRock[] = { + overworld_frame(gObjectEventPic_BreakableRock, 2, 2, 0), + overworld_frame(gObjectEventPic_BreakableRock, 2, 2, 1), + overworld_frame(gObjectEventPic_BreakableRock, 2, 2, 2), + overworld_frame(gObjectEventPic_BreakableRock, 2, 2, 3), +}; + +const struct SpriteFrameImage gObjectEventPicTable_PushableBoulder[] = { + obj_frame_tiles(gObjectEventPic_PushableBoulder), +}; + +const struct SpriteFrameImage gObjectEventPicTable_MrBrineysBoat[] = { + overworld_frame(gObjectEventPic_MrBrineysBoat, 4, 4, 0), + overworld_frame(gObjectEventPic_MrBrineysBoat, 4, 4, 1), + overworld_frame(gObjectEventPic_MrBrineysBoat, 4, 4, 2), + overworld_frame(gObjectEventPic_MrBrineysBoat, 4, 4, 0), + overworld_frame(gObjectEventPic_MrBrineysBoat, 4, 4, 0), + overworld_frame(gObjectEventPic_MrBrineysBoat, 4, 4, 1), + overworld_frame(gObjectEventPic_MrBrineysBoat, 4, 4, 1), + overworld_frame(gObjectEventPic_MrBrineysBoat, 4, 4, 2), + overworld_frame(gObjectEventPic_MrBrineysBoat, 4, 4, 2), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Truck[] = { + obj_frame_tiles(gObjectEventPic_Truck), +}; + +const struct SpriteFrameImage gObjectEventPicTable_VigorothCarryingBox[] = { + overworld_frame(gObjectEventPic_Vigoroth, 4, 4, 0), + overworld_frame(gObjectEventPic_Vigoroth, 4, 4, 0), + overworld_frame(gObjectEventPic_Vigoroth, 4, 4, 0), + overworld_frame(gObjectEventPic_Vigoroth, 4, 4, 1), + overworld_frame(gObjectEventPic_Vigoroth, 4, 4, 2), + overworld_frame(gObjectEventPic_Vigoroth, 4, 4, 1), + overworld_frame(gObjectEventPic_Vigoroth, 4, 4, 2), + overworld_frame(gObjectEventPic_Vigoroth, 4, 4, 1), + overworld_frame(gObjectEventPic_Vigoroth, 4, 4, 2), +}; + +const struct SpriteFrameImage gObjectEventPicTable_VigorothFacingAway[] = { + overworld_frame(gObjectEventPic_Vigoroth, 4, 4, 3), + overworld_frame(gObjectEventPic_Vigoroth, 4, 4, 3), + overworld_frame(gObjectEventPic_Vigoroth, 4, 4, 3), + overworld_frame(gObjectEventPic_Vigoroth, 4, 4, 4), + overworld_frame(gObjectEventPic_Vigoroth, 4, 4, 4), + overworld_frame(gObjectEventPic_Vigoroth, 4, 4, 4), + overworld_frame(gObjectEventPic_Vigoroth, 4, 4, 4), + overworld_frame(gObjectEventPic_Vigoroth, 4, 4, 4), + overworld_frame(gObjectEventPic_Vigoroth, 4, 4, 4), +}; + +const struct SpriteFrameImage gObjectEventPicTable_BirchsBag[] = { + obj_frame_tiles(gObjectEventPic_BirchsBag), +}; + +const struct SpriteFrameImage gObjectEventPicTable_EnemyZigzagoon[] = { + overworld_frame(gObjectEventPic_EnemyZigzagoon, 4, 4, 0), + overworld_frame(gObjectEventPic_EnemyZigzagoon, 4, 4, 1), + overworld_frame(gObjectEventPic_EnemyZigzagoon, 4, 4, 2), + overworld_frame(gObjectEventPic_EnemyZigzagoon, 4, 4, 3), + overworld_frame(gObjectEventPic_EnemyZigzagoon, 4, 4, 4), + overworld_frame(gObjectEventPic_EnemyZigzagoon, 4, 4, 5), + overworld_frame(gObjectEventPic_EnemyZigzagoon, 4, 4, 6), + overworld_frame(gObjectEventPic_EnemyZigzagoon, 4, 4, 7), + overworld_frame(gObjectEventPic_EnemyZigzagoon, 4, 4, 8), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Poochyena[] = { + overworld_frame(gObjectEventPic_Poochyena, 4, 4, 0), + overworld_frame(gObjectEventPic_Poochyena, 4, 4, 1), + overworld_frame(gObjectEventPic_Poochyena, 4, 4, 2), + overworld_frame(gObjectEventPic_Poochyena, 4, 4, 3), + overworld_frame(gObjectEventPic_Poochyena, 4, 4, 4), + overworld_frame(gObjectEventPic_Poochyena, 4, 4, 5), + overworld_frame(gObjectEventPic_Poochyena, 4, 4, 6), + overworld_frame(gObjectEventPic_Poochyena, 4, 4, 7), + overworld_frame(gObjectEventPic_Poochyena, 4, 4, 8), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Artist[] = { + overworld_frame(gObjectEventPic_Artist, 2, 4, 0), + overworld_frame(gObjectEventPic_Artist, 2, 4, 1), + overworld_frame(gObjectEventPic_Artist, 2, 4, 2), + overworld_frame(gObjectEventPic_Artist, 2, 4, 3), + overworld_frame(gObjectEventPic_Artist, 2, 4, 4), + overworld_frame(gObjectEventPic_Artist, 2, 4, 5), + overworld_frame(gObjectEventPic_Artist, 2, 4, 6), + overworld_frame(gObjectEventPic_Artist, 2, 4, 7), + overworld_frame(gObjectEventPic_Artist, 2, 4, 8), +}; + +const struct SpriteFrameImage gObjectEventPicTable_MayNormal[] = { + overworld_frame(gObjectEventPic_MayNormal, 2, 4, 0), + overworld_frame(gObjectEventPic_MayNormal, 2, 4, 1), + overworld_frame(gObjectEventPic_MayNormal, 2, 4, 2), + overworld_frame(gObjectEventPic_MayNormal, 2, 4, 3), + overworld_frame(gObjectEventPic_MayNormal, 2, 4, 4), + overworld_frame(gObjectEventPic_MayNormal, 2, 4, 5), + overworld_frame(gObjectEventPic_MayNormal, 2, 4, 6), + overworld_frame(gObjectEventPic_MayNormal, 2, 4, 7), + overworld_frame(gObjectEventPic_MayNormal, 2, 4, 8), + overworld_frame(gObjectEventPic_MayRunning, 2, 4, 0), + overworld_frame(gObjectEventPic_MayRunning, 2, 4, 1), + overworld_frame(gObjectEventPic_MayRunning, 2, 4, 2), + overworld_frame(gObjectEventPic_MayRunning, 2, 4, 3), + overworld_frame(gObjectEventPic_MayRunning, 2, 4, 4), + overworld_frame(gObjectEventPic_MayRunning, 2, 4, 5), + overworld_frame(gObjectEventPic_MayRunning, 2, 4, 6), + overworld_frame(gObjectEventPic_MayRunning, 2, 4, 7), + overworld_frame(gObjectEventPic_MayRunning, 2, 4, 8), +}; + +const struct SpriteFrameImage gObjectEventPicTable_MayMachBike[] = { + overworld_frame(gObjectEventPic_MayMachBike, 4, 4, 0), + overworld_frame(gObjectEventPic_MayMachBike, 4, 4, 1), + overworld_frame(gObjectEventPic_MayMachBike, 4, 4, 2), + overworld_frame(gObjectEventPic_MayMachBike, 4, 4, 3), + overworld_frame(gObjectEventPic_MayMachBike, 4, 4, 4), + overworld_frame(gObjectEventPic_MayMachBike, 4, 4, 5), + overworld_frame(gObjectEventPic_MayMachBike, 4, 4, 6), + overworld_frame(gObjectEventPic_MayMachBike, 4, 4, 7), + overworld_frame(gObjectEventPic_MayMachBike, 4, 4, 8), +}; + +const struct SpriteFrameImage gObjectEventPicTable_MayAcroBike[] = { + overworld_frame(gObjectEventPic_MayAcroBike, 4, 4, 0), + overworld_frame(gObjectEventPic_MayAcroBike, 4, 4, 1), + overworld_frame(gObjectEventPic_MayAcroBike, 4, 4, 2), + overworld_frame(gObjectEventPic_MayAcroBike, 4, 4, 3), + overworld_frame(gObjectEventPic_MayAcroBike, 4, 4, 4), + overworld_frame(gObjectEventPic_MayAcroBike, 4, 4, 5), + overworld_frame(gObjectEventPic_MayAcroBike, 4, 4, 6), + overworld_frame(gObjectEventPic_MayAcroBike, 4, 4, 7), + overworld_frame(gObjectEventPic_MayAcroBike, 4, 4, 8), + overworld_frame(gObjectEventPic_MayAcroBike, 4, 4, 9), + overworld_frame(gObjectEventPic_MayAcroBike, 4, 4, 10), + overworld_frame(gObjectEventPic_MayAcroBike, 4, 4, 11), + overworld_frame(gObjectEventPic_MayAcroBike, 4, 4, 12), + overworld_frame(gObjectEventPic_MayAcroBike, 4, 4, 13), + overworld_frame(gObjectEventPic_MayAcroBike, 4, 4, 14), + overworld_frame(gObjectEventPic_MayAcroBike, 4, 4, 15), + overworld_frame(gObjectEventPic_MayAcroBike, 4, 4, 16), + overworld_frame(gObjectEventPic_MayAcroBike, 4, 4, 17), + overworld_frame(gObjectEventPic_MayAcroBike, 4, 4, 18), + overworld_frame(gObjectEventPic_MayAcroBike, 4, 4, 19), + overworld_frame(gObjectEventPic_MayAcroBike, 4, 4, 20), + overworld_frame(gObjectEventPic_MayAcroBike, 4, 4, 21), + overworld_frame(gObjectEventPic_MayAcroBike, 4, 4, 22), + overworld_frame(gObjectEventPic_MayAcroBike, 4, 4, 23), + overworld_frame(gObjectEventPic_MayAcroBike, 4, 4, 24), + overworld_frame(gObjectEventPic_MayAcroBike, 4, 4, 25), + overworld_frame(gObjectEventPic_MayAcroBike, 4, 4, 26), +}; + +const struct SpriteFrameImage gObjectEventPicTable_MaySurfing[] = { + overworld_frame(gObjectEventPic_MaySurfing, 4, 4, 0), + overworld_frame(gObjectEventPic_MaySurfing, 4, 4, 2), + overworld_frame(gObjectEventPic_MaySurfing, 4, 4, 4), + overworld_frame(gObjectEventPic_MaySurfing, 4, 4, 0), + overworld_frame(gObjectEventPic_MaySurfing, 4, 4, 0), + overworld_frame(gObjectEventPic_MaySurfing, 4, 4, 2), + overworld_frame(gObjectEventPic_MaySurfing, 4, 4, 2), + overworld_frame(gObjectEventPic_MaySurfing, 4, 4, 4), + overworld_frame(gObjectEventPic_MaySurfing, 4, 4, 4), + overworld_frame(gObjectEventPic_MaySurfing, 4, 4, 1), + overworld_frame(gObjectEventPic_MaySurfing, 4, 4, 3), + overworld_frame(gObjectEventPic_MaySurfing, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_MayUnderwater[] = { + overworld_frame(gObjectEventPic_MayUnderwater, 4, 4, 0), + overworld_frame(gObjectEventPic_MayUnderwater, 4, 4, 1), + overworld_frame(gObjectEventPic_MayUnderwater, 4, 4, 2), + overworld_frame(gObjectEventPic_MayUnderwater, 4, 4, 0), + overworld_frame(gObjectEventPic_MayUnderwater, 4, 4, 0), + overworld_frame(gObjectEventPic_MayUnderwater, 4, 4, 1), + overworld_frame(gObjectEventPic_MayUnderwater, 4, 4, 1), + overworld_frame(gObjectEventPic_MayUnderwater, 4, 4, 2), + overworld_frame(gObjectEventPic_MayUnderwater, 4, 4, 2), +}; + +const struct SpriteFrameImage gObjectEventPicTable_MayFieldMove[] = { + overworld_frame(gObjectEventPic_MayFieldMove, 4, 4, 0), + overworld_frame(gObjectEventPic_MayFieldMove, 4, 4, 1), + overworld_frame(gObjectEventPic_MayFieldMove, 4, 4, 2), + overworld_frame(gObjectEventPic_MayFieldMove, 4, 4, 3), + overworld_frame(gObjectEventPic_MayFieldMove, 4, 4, 4), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Cameraman[] = { + overworld_frame(gObjectEventPic_Cameraman, 2, 4, 0), + overworld_frame(gObjectEventPic_Cameraman, 2, 4, 1), + overworld_frame(gObjectEventPic_Cameraman, 2, 4, 2), + overworld_frame(gObjectEventPic_Cameraman, 2, 4, 3), + overworld_frame(gObjectEventPic_Cameraman, 2, 4, 4), + overworld_frame(gObjectEventPic_Cameraman, 2, 4, 5), + overworld_frame(gObjectEventPic_Cameraman, 2, 4, 6), + overworld_frame(gObjectEventPic_Cameraman, 2, 4, 7), + overworld_frame(gObjectEventPic_Cameraman, 2, 4, 8), +}; + +const struct SpriteFrameImage gObjectEventPicTable_MovingBox[] = { + obj_frame_tiles(gObjectEventPic_MovingBox), +}; + +const struct SpriteFrameImage gObjectEventPicTable_CableCar[] = { + obj_frame_tiles(gObjectEventPic_CableCar), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Scientist2[] = { + overworld_frame(gObjectEventPic_Scientist2, 2, 4, 0), + overworld_frame(gObjectEventPic_Scientist2, 2, 4, 1), + overworld_frame(gObjectEventPic_Scientist2, 2, 4, 2), + overworld_frame(gObjectEventPic_Scientist2, 2, 4, 3), + overworld_frame(gObjectEventPic_Scientist2, 2, 4, 4), + overworld_frame(gObjectEventPic_Scientist2, 2, 4, 5), + overworld_frame(gObjectEventPic_Scientist2, 2, 4, 6), + overworld_frame(gObjectEventPic_Scientist2, 2, 4, 7), + overworld_frame(gObjectEventPic_Scientist2, 2, 4, 8), +}; + +const struct SpriteFrameImage gObjectEventPicTable_DevonEmployee[] = { + overworld_frame(gObjectEventPic_DevonEmployee, 2, 4, 0), + overworld_frame(gObjectEventPic_DevonEmployee, 2, 4, 1), + overworld_frame(gObjectEventPic_DevonEmployee, 2, 4, 2), + overworld_frame(gObjectEventPic_DevonEmployee, 2, 4, 3), + overworld_frame(gObjectEventPic_DevonEmployee, 2, 4, 4), + overworld_frame(gObjectEventPic_DevonEmployee, 2, 4, 5), + overworld_frame(gObjectEventPic_DevonEmployee, 2, 4, 6), + overworld_frame(gObjectEventPic_DevonEmployee, 2, 4, 7), + overworld_frame(gObjectEventPic_DevonEmployee, 2, 4, 8), +}; + +const struct SpriteFrameImage gObjectEventPicTable_AquaMemberM[] = { + overworld_frame(gObjectEventPic_AquaMemberM, 2, 4, 0), + overworld_frame(gObjectEventPic_AquaMemberM, 2, 4, 1), + overworld_frame(gObjectEventPic_AquaMemberM, 2, 4, 2), + overworld_frame(gObjectEventPic_AquaMemberM, 2, 4, 3), + overworld_frame(gObjectEventPic_AquaMemberM, 2, 4, 4), + overworld_frame(gObjectEventPic_AquaMemberM, 2, 4, 5), + overworld_frame(gObjectEventPic_AquaMemberM, 2, 4, 6), + overworld_frame(gObjectEventPic_AquaMemberM, 2, 4, 7), + overworld_frame(gObjectEventPic_AquaMemberM, 2, 4, 8), +}; + +const struct SpriteFrameImage gObjectEventPicTable_AquaMemberF[] = { + overworld_frame(gObjectEventPic_AquaMemberF, 2, 4, 0), + overworld_frame(gObjectEventPic_AquaMemberF, 2, 4, 1), + overworld_frame(gObjectEventPic_AquaMemberF, 2, 4, 2), + overworld_frame(gObjectEventPic_AquaMemberF, 2, 4, 3), + overworld_frame(gObjectEventPic_AquaMemberF, 2, 4, 4), + overworld_frame(gObjectEventPic_AquaMemberF, 2, 4, 5), + overworld_frame(gObjectEventPic_AquaMemberF, 2, 4, 6), + overworld_frame(gObjectEventPic_AquaMemberF, 2, 4, 7), + overworld_frame(gObjectEventPic_AquaMemberF, 2, 4, 8), +}; + +const struct SpriteFrameImage gObjectEventPicTable_MagmaMemberM[] = { + overworld_frame(gObjectEventPic_MagmaMemberM, 2, 4, 0), + overworld_frame(gObjectEventPic_MagmaMemberM, 2, 4, 1), + overworld_frame(gObjectEventPic_MagmaMemberM, 2, 4, 2), + overworld_frame(gObjectEventPic_MagmaMemberM, 2, 4, 3), + overworld_frame(gObjectEventPic_MagmaMemberM, 2, 4, 4), + overworld_frame(gObjectEventPic_MagmaMemberM, 2, 4, 5), + overworld_frame(gObjectEventPic_MagmaMemberM, 2, 4, 6), + overworld_frame(gObjectEventPic_MagmaMemberM, 2, 4, 7), + overworld_frame(gObjectEventPic_MagmaMemberM, 2, 4, 8), +}; + +const struct SpriteFrameImage gObjectEventPicTable_MagmaMemberF[] = { + overworld_frame(gObjectEventPic_MagmaMemberF, 2, 4, 0), + overworld_frame(gObjectEventPic_MagmaMemberF, 2, 4, 1), + overworld_frame(gObjectEventPic_MagmaMemberF, 2, 4, 2), + overworld_frame(gObjectEventPic_MagmaMemberF, 2, 4, 3), + overworld_frame(gObjectEventPic_MagmaMemberF, 2, 4, 4), + overworld_frame(gObjectEventPic_MagmaMemberF, 2, 4, 5), + overworld_frame(gObjectEventPic_MagmaMemberF, 2, 4, 6), + overworld_frame(gObjectEventPic_MagmaMemberF, 2, 4, 7), + overworld_frame(gObjectEventPic_MagmaMemberF, 2, 4, 8), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Sidney[] = { + overworld_frame(gObjectEventPic_Sidney, 2, 4, 0), + overworld_frame(gObjectEventPic_Sidney, 2, 4, 1), + overworld_frame(gObjectEventPic_Sidney, 2, 4, 2), + overworld_frame(gObjectEventPic_Sidney, 2, 4, 0), + overworld_frame(gObjectEventPic_Sidney, 2, 4, 0), + overworld_frame(gObjectEventPic_Sidney, 2, 4, 1), + overworld_frame(gObjectEventPic_Sidney, 2, 4, 1), + overworld_frame(gObjectEventPic_Sidney, 2, 4, 2), + overworld_frame(gObjectEventPic_Sidney, 2, 4, 2), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Phoebe[] = { + overworld_frame(gObjectEventPic_Phoebe, 2, 4, 0), + overworld_frame(gObjectEventPic_Phoebe, 2, 4, 1), + overworld_frame(gObjectEventPic_Phoebe, 2, 4, 2), + overworld_frame(gObjectEventPic_Phoebe, 2, 4, 0), + overworld_frame(gObjectEventPic_Phoebe, 2, 4, 0), + overworld_frame(gObjectEventPic_Phoebe, 2, 4, 1), + overworld_frame(gObjectEventPic_Phoebe, 2, 4, 1), + overworld_frame(gObjectEventPic_Phoebe, 2, 4, 2), + overworld_frame(gObjectEventPic_Phoebe, 2, 4, 2), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Glacia[] = { + overworld_frame(gObjectEventPic_Glacia, 2, 4, 0), + overworld_frame(gObjectEventPic_Glacia, 2, 4, 1), + overworld_frame(gObjectEventPic_Glacia, 2, 4, 2), + overworld_frame(gObjectEventPic_Glacia, 2, 4, 0), + overworld_frame(gObjectEventPic_Glacia, 2, 4, 0), + overworld_frame(gObjectEventPic_Glacia, 2, 4, 1), + overworld_frame(gObjectEventPic_Glacia, 2, 4, 1), + overworld_frame(gObjectEventPic_Glacia, 2, 4, 2), + overworld_frame(gObjectEventPic_Glacia, 2, 4, 2), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Drake[] = { + overworld_frame(gObjectEventPic_Drake, 2, 4, 0), + overworld_frame(gObjectEventPic_Drake, 2, 4, 1), + overworld_frame(gObjectEventPic_Drake, 2, 4, 2), + overworld_frame(gObjectEventPic_Drake, 2, 4, 0), + overworld_frame(gObjectEventPic_Drake, 2, 4, 0), + overworld_frame(gObjectEventPic_Drake, 2, 4, 1), + overworld_frame(gObjectEventPic_Drake, 2, 4, 1), + overworld_frame(gObjectEventPic_Drake, 2, 4, 2), + overworld_frame(gObjectEventPic_Drake, 2, 4, 2), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Roxanne[] = { + overworld_frame(gObjectEventPic_Roxanne, 2, 4, 0), + overworld_frame(gObjectEventPic_Roxanne, 2, 4, 1), + overworld_frame(gObjectEventPic_Roxanne, 2, 4, 2), + overworld_frame(gObjectEventPic_Roxanne, 2, 4, 0), + overworld_frame(gObjectEventPic_Roxanne, 2, 4, 0), + overworld_frame(gObjectEventPic_Roxanne, 2, 4, 1), + overworld_frame(gObjectEventPic_Roxanne, 2, 4, 1), + overworld_frame(gObjectEventPic_Roxanne, 2, 4, 2), + overworld_frame(gObjectEventPic_Roxanne, 2, 4, 2), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Brawly[] = { + overworld_frame(gObjectEventPic_Brawly, 2, 4, 0), + overworld_frame(gObjectEventPic_Brawly, 2, 4, 1), + overworld_frame(gObjectEventPic_Brawly, 2, 4, 2), + overworld_frame(gObjectEventPic_Brawly, 2, 4, 0), + overworld_frame(gObjectEventPic_Brawly, 2, 4, 0), + overworld_frame(gObjectEventPic_Brawly, 2, 4, 1), + overworld_frame(gObjectEventPic_Brawly, 2, 4, 1), + overworld_frame(gObjectEventPic_Brawly, 2, 4, 2), + overworld_frame(gObjectEventPic_Brawly, 2, 4, 2), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Wattson[] = { + overworld_frame(gObjectEventPic_Wattson, 2, 4, 0), + overworld_frame(gObjectEventPic_Wattson, 2, 4, 1), + overworld_frame(gObjectEventPic_Wattson, 2, 4, 2), + overworld_frame(gObjectEventPic_Wattson, 2, 4, 0), + overworld_frame(gObjectEventPic_Wattson, 2, 4, 0), + overworld_frame(gObjectEventPic_Wattson, 2, 4, 1), + overworld_frame(gObjectEventPic_Wattson, 2, 4, 1), + overworld_frame(gObjectEventPic_Wattson, 2, 4, 2), + overworld_frame(gObjectEventPic_Wattson, 2, 4, 2), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Flannery[] = { + overworld_frame(gObjectEventPic_Flannery, 2, 4, 0), + overworld_frame(gObjectEventPic_Flannery, 2, 4, 1), + overworld_frame(gObjectEventPic_Flannery, 2, 4, 2), + overworld_frame(gObjectEventPic_Flannery, 2, 4, 0), + overworld_frame(gObjectEventPic_Flannery, 2, 4, 0), + overworld_frame(gObjectEventPic_Flannery, 2, 4, 1), + overworld_frame(gObjectEventPic_Flannery, 2, 4, 1), + overworld_frame(gObjectEventPic_Flannery, 2, 4, 2), + overworld_frame(gObjectEventPic_Flannery, 2, 4, 2), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Norman[] = { + overworld_frame(gObjectEventPic_Norman, 2, 4, 0), + overworld_frame(gObjectEventPic_Norman, 2, 4, 1), + overworld_frame(gObjectEventPic_Norman, 2, 4, 2), + overworld_frame(gObjectEventPic_Norman, 2, 4, 3), + overworld_frame(gObjectEventPic_Norman, 2, 4, 4), + overworld_frame(gObjectEventPic_Norman, 2, 4, 5), + overworld_frame(gObjectEventPic_Norman, 2, 4, 6), + overworld_frame(gObjectEventPic_Norman, 2, 4, 7), + overworld_frame(gObjectEventPic_Norman, 2, 4, 8), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Winona[] = { + overworld_frame(gObjectEventPic_Winona, 2, 4, 0), + overworld_frame(gObjectEventPic_Winona, 2, 4, 1), + overworld_frame(gObjectEventPic_Winona, 2, 4, 2), + overworld_frame(gObjectEventPic_Winona, 2, 4, 0), + overworld_frame(gObjectEventPic_Winona, 2, 4, 0), + overworld_frame(gObjectEventPic_Winona, 2, 4, 1), + overworld_frame(gObjectEventPic_Winona, 2, 4, 1), + overworld_frame(gObjectEventPic_Winona, 2, 4, 2), + overworld_frame(gObjectEventPic_Winona, 2, 4, 2), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Liza[] = { + overworld_frame(gObjectEventPic_Liza, 2, 4, 0), + overworld_frame(gObjectEventPic_Liza, 2, 4, 1), + overworld_frame(gObjectEventPic_Liza, 2, 4, 2), + overworld_frame(gObjectEventPic_Liza, 2, 4, 0), + overworld_frame(gObjectEventPic_Liza, 2, 4, 0), + overworld_frame(gObjectEventPic_Liza, 2, 4, 1), + overworld_frame(gObjectEventPic_Liza, 2, 4, 1), + overworld_frame(gObjectEventPic_Liza, 2, 4, 2), + overworld_frame(gObjectEventPic_Liza, 2, 4, 2), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Tate[] = { + overworld_frame(gObjectEventPic_Tate, 2, 4, 0), + overworld_frame(gObjectEventPic_Tate, 2, 4, 1), + overworld_frame(gObjectEventPic_Tate, 2, 4, 2), + overworld_frame(gObjectEventPic_Tate, 2, 4, 0), + overworld_frame(gObjectEventPic_Tate, 2, 4, 0), + overworld_frame(gObjectEventPic_Tate, 2, 4, 1), + overworld_frame(gObjectEventPic_Tate, 2, 4, 1), + overworld_frame(gObjectEventPic_Tate, 2, 4, 2), + overworld_frame(gObjectEventPic_Tate, 2, 4, 2), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Wallace[] = { + overworld_frame(gObjectEventPic_Wallace, 2, 4, 0), + overworld_frame(gObjectEventPic_Wallace, 2, 4, 1), + overworld_frame(gObjectEventPic_Wallace, 2, 4, 2), + overworld_frame(gObjectEventPic_Wallace, 2, 4, 3), + overworld_frame(gObjectEventPic_Wallace, 2, 4, 4), + overworld_frame(gObjectEventPic_Wallace, 2, 4, 5), + overworld_frame(gObjectEventPic_Wallace, 2, 4, 6), + overworld_frame(gObjectEventPic_Wallace, 2, 4, 7), + overworld_frame(gObjectEventPic_Wallace, 2, 4, 8), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Steven[] = { + overworld_frame(gObjectEventPic_Steven, 2, 4, 0), + overworld_frame(gObjectEventPic_Steven, 2, 4, 1), + overworld_frame(gObjectEventPic_Steven, 2, 4, 2), + overworld_frame(gObjectEventPic_Steven, 2, 4, 3), + overworld_frame(gObjectEventPic_Steven, 2, 4, 4), + overworld_frame(gObjectEventPic_Steven, 2, 4, 5), + overworld_frame(gObjectEventPic_Steven, 2, 4, 6), + overworld_frame(gObjectEventPic_Steven, 2, 4, 7), + overworld_frame(gObjectEventPic_Steven, 2, 4, 8), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Wally[] = { + overworld_frame(gObjectEventPic_Wally, 2, 4, 0), + overworld_frame(gObjectEventPic_Wally, 2, 4, 1), + overworld_frame(gObjectEventPic_Wally, 2, 4, 2), + overworld_frame(gObjectEventPic_Wally, 2, 4, 3), + overworld_frame(gObjectEventPic_Wally, 2, 4, 4), + overworld_frame(gObjectEventPic_Wally, 2, 4, 5), + overworld_frame(gObjectEventPic_Wally, 2, 4, 6), + overworld_frame(gObjectEventPic_Wally, 2, 4, 7), + overworld_frame(gObjectEventPic_Wally, 2, 4, 8), +}; + +const struct SpriteFrameImage gObjectEventPicTable_RubySapphireLittleBoy[] = { + overworld_frame(gObjectEventPic_RubySapphireLittleBoy, 2, 2, 0), + overworld_frame(gObjectEventPic_RubySapphireLittleBoy, 2, 2, 1), + overworld_frame(gObjectEventPic_RubySapphireLittleBoy, 2, 2, 2), + overworld_frame(gObjectEventPic_RubySapphireLittleBoy, 2, 2, 3), + overworld_frame(gObjectEventPic_RubySapphireLittleBoy, 2, 2, 4), + overworld_frame(gObjectEventPic_RubySapphireLittleBoy, 2, 2, 5), + overworld_frame(gObjectEventPic_RubySapphireLittleBoy, 2, 2, 6), + overworld_frame(gObjectEventPic_RubySapphireLittleBoy, 2, 2, 7), + overworld_frame(gObjectEventPic_RubySapphireLittleBoy, 2, 2, 8), +}; + +const struct SpriteFrameImage gObjectEventPicTable_BrendanFishing[] = { + overworld_frame(gObjectEventPic_BrendanFishing, 4, 4, 0), + overworld_frame(gObjectEventPic_BrendanFishing, 4, 4, 1), + overworld_frame(gObjectEventPic_BrendanFishing, 4, 4, 2), + overworld_frame(gObjectEventPic_BrendanFishing, 4, 4, 3), + overworld_frame(gObjectEventPic_BrendanFishing, 4, 4, 4), + overworld_frame(gObjectEventPic_BrendanFishing, 4, 4, 5), + overworld_frame(gObjectEventPic_BrendanFishing, 4, 4, 6), + overworld_frame(gObjectEventPic_BrendanFishing, 4, 4, 7), + overworld_frame(gObjectEventPic_BrendanFishing, 4, 4, 8), + overworld_frame(gObjectEventPic_BrendanFishing, 4, 4, 9), + overworld_frame(gObjectEventPic_BrendanFishing, 4, 4, 10), + overworld_frame(gObjectEventPic_BrendanFishing, 4, 4, 11), +}; + +const struct SpriteFrameImage gObjectEventPicTable_MayFishing[] = { + overworld_frame(gObjectEventPic_MayFishing, 4, 4, 0), + overworld_frame(gObjectEventPic_MayFishing, 4, 4, 1), + overworld_frame(gObjectEventPic_MayFishing, 4, 4, 2), + overworld_frame(gObjectEventPic_MayFishing, 4, 4, 3), + overworld_frame(gObjectEventPic_MayFishing, 4, 4, 4), + overworld_frame(gObjectEventPic_MayFishing, 4, 4, 5), + overworld_frame(gObjectEventPic_MayFishing, 4, 4, 6), + overworld_frame(gObjectEventPic_MayFishing, 4, 4, 7), + overworld_frame(gObjectEventPic_MayFishing, 4, 4, 8), + overworld_frame(gObjectEventPic_MayFishing, 4, 4, 9), + overworld_frame(gObjectEventPic_MayFishing, 4, 4, 10), + overworld_frame(gObjectEventPic_MayFishing, 4, 4, 11), +}; + +const struct SpriteFrameImage gObjectEventPicTable_HotSpringsOldWoman[] = { + overworld_frame(gObjectEventPic_HotSpringsOldWoman, 2, 4, 0), + overworld_frame(gObjectEventPic_HotSpringsOldWoman, 2, 4, 1), + overworld_frame(gObjectEventPic_HotSpringsOldWoman, 2, 4, 2), + overworld_frame(gObjectEventPic_HotSpringsOldWoman, 2, 4, 3), + overworld_frame(gObjectEventPic_HotSpringsOldWoman, 2, 4, 4), + overworld_frame(gObjectEventPic_HotSpringsOldWoman, 2, 4, 5), + overworld_frame(gObjectEventPic_HotSpringsOldWoman, 2, 4, 6), + overworld_frame(gObjectEventPic_HotSpringsOldWoman, 2, 4, 7), + overworld_frame(gObjectEventPic_HotSpringsOldWoman, 2, 4, 8), +}; + +const struct SpriteFrameImage gObjectEventPicTable_SSTidal[] = { + obj_frame_tiles(gObjectEventPic_SSTidal), + obj_frame_tiles(gObjectEventPic_SSTidal), + obj_frame_tiles(gObjectEventPic_SSTidal), + obj_frame_tiles(gObjectEventPic_SSTidal), + obj_frame_tiles(gObjectEventPic_SSTidal), + obj_frame_tiles(gObjectEventPic_SSTidal), + obj_frame_tiles(gObjectEventPic_SSTidal), + obj_frame_tiles(gObjectEventPic_SSTidal), + obj_frame_tiles(gObjectEventPic_SSTidal), +}; + +const struct SpriteFrameImage gObjectEventPicTable_SubmarineShadow[] = { + obj_frame_tiles(gObjectEventPic_SubmarineShadow), + obj_frame_tiles(gObjectEventPic_SubmarineShadow), + obj_frame_tiles(gObjectEventPic_SubmarineShadow), + obj_frame_tiles(gObjectEventPic_SubmarineShadow), + obj_frame_tiles(gObjectEventPic_SubmarineShadow), + obj_frame_tiles(gObjectEventPic_SubmarineShadow), + obj_frame_tiles(gObjectEventPic_SubmarineShadow), + obj_frame_tiles(gObjectEventPic_SubmarineShadow), + obj_frame_tiles(gObjectEventPic_SubmarineShadow), +}; + +const struct SpriteFrameImage gObjectEventPicTable_PichuDoll[] = { + obj_frame_tiles(gObjectEventPic_PichuDoll), +}; + +const struct SpriteFrameImage gObjectEventPicTable_PikachuDoll[] = { + obj_frame_tiles(gObjectEventPic_PikachuDoll), +}; + +const struct SpriteFrameImage gObjectEventPicTable_MarillDoll[] = { + obj_frame_tiles(gObjectEventPic_MarillDoll), +}; + +const struct SpriteFrameImage gObjectEventPicTable_TogepiDoll[] = { + obj_frame_tiles(gObjectEventPic_TogepiDoll), +}; + +const struct SpriteFrameImage gObjectEventPicTable_CyndaquilDoll[] = { + obj_frame_tiles(gObjectEventPic_CyndaquilDoll), +}; + +const struct SpriteFrameImage gObjectEventPicTable_ChikoritaDoll[] = { + obj_frame_tiles(gObjectEventPic_ChikoritaDoll), +}; + +const struct SpriteFrameImage gObjectEventPicTable_TotodileDoll[] = { + obj_frame_tiles(gObjectEventPic_TotodileDoll), +}; + +const struct SpriteFrameImage gObjectEventPicTable_JigglypuffDoll[] = { + obj_frame_tiles(gObjectEventPic_JigglypuffDoll), +}; + +const struct SpriteFrameImage gObjectEventPicTable_MeowthDoll[] = { + obj_frame_tiles(gObjectEventPic_MeowthDoll), +}; + +const struct SpriteFrameImage gObjectEventPicTable_ClefairyDoll[] = { + obj_frame_tiles(gObjectEventPic_ClefairyDoll), +}; + +const struct SpriteFrameImage gObjectEventPicTable_DittoDoll[] = { + obj_frame_tiles(gObjectEventPic_DittoDoll), +}; + +const struct SpriteFrameImage gObjectEventPicTable_SmoochumDoll[] = { + obj_frame_tiles(gObjectEventPic_SmoochumDoll), +}; + +const struct SpriteFrameImage gObjectEventPicTable_TreeckoDoll[] = { + obj_frame_tiles(gObjectEventPic_TreeckoDoll), +}; + +const struct SpriteFrameImage gObjectEventPicTable_TorchicDoll[] = { + obj_frame_tiles(gObjectEventPic_TorchicDoll), +}; + +const struct SpriteFrameImage gObjectEventPicTable_MudkipDoll[] = { + obj_frame_tiles(gObjectEventPic_MudkipDoll), +}; + +const struct SpriteFrameImage gObjectEventPicTable_DuskullDoll[] = { + obj_frame_tiles(gObjectEventPic_DuskullDoll), +}; + +const struct SpriteFrameImage gObjectEventPicTable_WynautDoll[] = { + obj_frame_tiles(gObjectEventPic_WynautDoll), +}; + +const struct SpriteFrameImage gObjectEventPicTable_BaltoyDoll[] = { + obj_frame_tiles(gObjectEventPic_BaltoyDoll), +}; + +const struct SpriteFrameImage gObjectEventPicTable_KecleonDoll[] = { + obj_frame_tiles(gObjectEventPic_KecleonDoll), +}; + +const struct SpriteFrameImage gObjectEventPicTable_AzurillDoll[] = { + obj_frame_tiles(gObjectEventPic_AzurillDoll), +}; + +const struct SpriteFrameImage gObjectEventPicTable_SkittyDoll[] = { + obj_frame_tiles(gObjectEventPic_SkittyDoll), +}; + +const struct SpriteFrameImage gObjectEventPicTable_SwabluDoll[] = { + obj_frame_tiles(gObjectEventPic_SwabluDoll), +}; + +const struct SpriteFrameImage gObjectEventPicTable_GulpinDoll[] = { + obj_frame_tiles(gObjectEventPic_GulpinDoll), +}; + +const struct SpriteFrameImage gObjectEventPicTable_LotadDoll[] = { + obj_frame_tiles(gObjectEventPic_LotadDoll), +}; + +const struct SpriteFrameImage gObjectEventPicTable_SeedotDoll[] = { + obj_frame_tiles(gObjectEventPic_SeedotDoll), +}; + +const struct SpriteFrameImage gObjectEventPicTable_PikaCushion[] = { + obj_frame_tiles(gObjectEventPic_PikaCushion), +}; + +const struct SpriteFrameImage gObjectEventPicTable_RoundCushion[] = { + obj_frame_tiles(gObjectEventPic_RoundCushion), +}; + +const struct SpriteFrameImage gObjectEventPicTable_KissCushion[] = { + obj_frame_tiles(gObjectEventPic_KissCushion), +}; + +const struct SpriteFrameImage gObjectEventPicTable_ZigzagCushion[] = { + obj_frame_tiles(gObjectEventPic_ZigzagCushion), +}; + +const struct SpriteFrameImage gObjectEventPicTable_SpinCushion[] = { + obj_frame_tiles(gObjectEventPic_SpinCushion), +}; + +const struct SpriteFrameImage gObjectEventPicTable_DiamondCushion[] = { + obj_frame_tiles(gObjectEventPic_DiamondCushion), +}; + +const struct SpriteFrameImage gObjectEventPicTable_BallCushion[] = { + obj_frame_tiles(gObjectEventPic_BallCushion), +}; + +const struct SpriteFrameImage gObjectEventPicTable_GrassCushion[] = { + obj_frame_tiles(gObjectEventPic_GrassCushion), +}; + +const struct SpriteFrameImage gObjectEventPicTable_FireCushion[] = { + obj_frame_tiles(gObjectEventPic_FireCushion), +}; + +const struct SpriteFrameImage gObjectEventPicTable_WaterCushion[] = { + obj_frame_tiles(gObjectEventPic_WaterCushion), +}; + +const struct SpriteFrameImage gObjectEventPicTable_BigSnorlaxDoll[] = { + obj_frame_tiles(gObjectEventPic_BigSnorlaxDoll), +}; + +const struct SpriteFrameImage gObjectEventPicTable_BigRhydonDoll[] = { + obj_frame_tiles(gObjectEventPic_BigRhydonDoll), +}; + +const struct SpriteFrameImage gObjectEventPicTable_BigLaprasDoll[] = { + obj_frame_tiles(gObjectEventPic_BigLaprasDoll), +}; + +const struct SpriteFrameImage gObjectEventPicTable_BigVenusaurDoll[] = { + obj_frame_tiles(gObjectEventPic_BigVenusaurDoll), +}; + +const struct SpriteFrameImage gObjectEventPicTable_BigCharizardDoll[] = { + obj_frame_tiles(gObjectEventPic_BigCharizardDoll), +}; + +const struct SpriteFrameImage gObjectEventPicTable_BigBlastoiseDoll[] = { + obj_frame_tiles(gObjectEventPic_BigBlastoiseDoll), +}; + +const struct SpriteFrameImage gObjectEventPicTable_BigWailmerDoll[] = { + obj_frame_tiles(gObjectEventPic_BigWailmerDoll), +}; + +const struct SpriteFrameImage gObjectEventPicTable_BigRegirockDoll[] = { + obj_frame_tiles(gObjectEventPic_BigRegirockDoll), +}; + +const struct SpriteFrameImage gObjectEventPicTable_BigRegiceDoll[] = { + obj_frame_tiles(gObjectEventPic_BigRegiceDoll), +}; + +const struct SpriteFrameImage gObjectEventPicTable_BigRegisteelDoll[] = { + obj_frame_tiles(gObjectEventPic_BigRegisteelDoll), +}; + +const struct SpriteFrameImage gObjectEventPicTable_LatiasLatios[] = { + overworld_frame(gObjectEventPic_LatiasLatios, 4, 4, 0), + overworld_frame(gObjectEventPic_LatiasLatios, 4, 4, 0), + overworld_frame(gObjectEventPic_LatiasLatios, 4, 4, 0), + overworld_frame(gObjectEventPic_LatiasLatios, 4, 4, 1), + overworld_frame(gObjectEventPic_LatiasLatios, 4, 4, 2), + overworld_frame(gObjectEventPic_LatiasLatios, 4, 4, 1), + overworld_frame(gObjectEventPic_LatiasLatios, 4, 4, 2), + overworld_frame(gObjectEventPic_LatiasLatios, 4, 4, 1), + overworld_frame(gObjectEventPic_LatiasLatios, 4, 4, 2), +}; + +const struct SpriteFrameImage gObjectEventPicTable_GameboyKid[] = { + overworld_frame(gObjectEventPic_GameboyKid, 2, 4, 0), + overworld_frame(gObjectEventPic_GameboyKid, 2, 4, 1), + overworld_frame(gObjectEventPic_GameboyKid, 2, 4, 2), + overworld_frame(gObjectEventPic_GameboyKid, 2, 4, 0), + overworld_frame(gObjectEventPic_GameboyKid, 2, 4, 0), + overworld_frame(gObjectEventPic_GameboyKid, 2, 4, 1), + overworld_frame(gObjectEventPic_GameboyKid, 2, 4, 1), + overworld_frame(gObjectEventPic_GameboyKid, 2, 4, 2), + overworld_frame(gObjectEventPic_GameboyKid, 2, 4, 2), +}; + +const struct SpriteFrameImage gObjectEventPicTable_ContestJudge[] = { + overworld_frame(gObjectEventPic_ContestJudge, 2, 4, 0), + overworld_frame(gObjectEventPic_ContestJudge, 2, 4, 1), + overworld_frame(gObjectEventPic_ContestJudge, 2, 4, 2), + overworld_frame(gObjectEventPic_ContestJudge, 2, 4, 3), + overworld_frame(gObjectEventPic_ContestJudge, 2, 4, 4), + overworld_frame(gObjectEventPic_ContestJudge, 2, 4, 5), + overworld_frame(gObjectEventPic_ContestJudge, 2, 4, 6), + overworld_frame(gObjectEventPic_ContestJudge, 2, 4, 7), + overworld_frame(gObjectEventPic_ContestJudge, 2, 4, 8), +}; + +const struct SpriteFrameImage gObjectEventPicTable_BrendanWatering[] = { + overworld_frame(gObjectEventPic_BrendanWatering, 4, 4, 0), + overworld_frame(gObjectEventPic_BrendanWatering, 4, 4, 2), + overworld_frame(gObjectEventPic_BrendanWatering, 4, 4, 4), + overworld_frame(gObjectEventPic_BrendanWatering, 4, 4, 1), + overworld_frame(gObjectEventPic_BrendanWatering, 4, 4, 1), + overworld_frame(gObjectEventPic_BrendanWatering, 4, 4, 3), + overworld_frame(gObjectEventPic_BrendanWatering, 4, 4, 3), + overworld_frame(gObjectEventPic_BrendanWatering, 4, 4, 5), + overworld_frame(gObjectEventPic_BrendanWatering, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_MayWatering[] = { + overworld_frame(gObjectEventPic_MayWatering, 4, 4, 0), + overworld_frame(gObjectEventPic_MayWatering, 4, 4, 2), + overworld_frame(gObjectEventPic_MayWatering, 4, 4, 4), + overworld_frame(gObjectEventPic_MayWatering, 4, 4, 1), + overworld_frame(gObjectEventPic_MayWatering, 4, 4, 1), + overworld_frame(gObjectEventPic_MayWatering, 4, 4, 3), + overworld_frame(gObjectEventPic_MayWatering, 4, 4, 3), + overworld_frame(gObjectEventPic_MayWatering, 4, 4, 5), + overworld_frame(gObjectEventPic_MayWatering, 4, 4, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_BrendanDecorating[] = { + obj_frame_tiles(gObjectEventPic_BrendanDecorating), +}; + +const struct SpriteFrameImage gObjectEventPicTable_MayDecorating[] = { + obj_frame_tiles(gObjectEventPic_MayDecorating), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Archie[] = { + overworld_frame(gObjectEventPic_Archie, 2, 4, 0), + overworld_frame(gObjectEventPic_Archie, 2, 4, 1), + overworld_frame(gObjectEventPic_Archie, 2, 4, 2), + overworld_frame(gObjectEventPic_Archie, 2, 4, 3), + overworld_frame(gObjectEventPic_Archie, 2, 4, 4), + overworld_frame(gObjectEventPic_Archie, 2, 4, 5), + overworld_frame(gObjectEventPic_Archie, 2, 4, 6), + overworld_frame(gObjectEventPic_Archie, 2, 4, 7), + overworld_frame(gObjectEventPic_Archie, 2, 4, 8), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Maxie[] = { + overworld_frame(gObjectEventPic_Maxie, 2, 4, 0), + overworld_frame(gObjectEventPic_Maxie, 2, 4, 1), + overworld_frame(gObjectEventPic_Maxie, 2, 4, 2), + overworld_frame(gObjectEventPic_Maxie, 2, 4, 3), + overworld_frame(gObjectEventPic_Maxie, 2, 4, 4), + overworld_frame(gObjectEventPic_Maxie, 2, 4, 5), + overworld_frame(gObjectEventPic_Maxie, 2, 4, 6), + overworld_frame(gObjectEventPic_Maxie, 2, 4, 7), + overworld_frame(gObjectEventPic_Maxie, 2, 4, 8), +}; + +const struct SpriteFrameImage gObjectEventPicTable_KyogreFront[] = { + overworld_frame(gObjectEventPic_Kyogre, 4, 4, 0), + overworld_frame(gObjectEventPic_Kyogre, 4, 4, 0), + overworld_frame(gObjectEventPic_Kyogre, 4, 4, 0), + overworld_frame(gObjectEventPic_Kyogre, 4, 4, 1), + overworld_frame(gObjectEventPic_Kyogre, 4, 4, 1), + overworld_frame(gObjectEventPic_Kyogre, 4, 4, 1), + overworld_frame(gObjectEventPic_Kyogre, 4, 4, 1), + overworld_frame(gObjectEventPic_Kyogre, 4, 4, 1), + overworld_frame(gObjectEventPic_Kyogre, 4, 4, 1), +}; + +const struct SpriteFrameImage gObjectEventPicTable_GroudonFront[] = { + overworld_frame(gObjectEventPic_Groudon, 4, 4, 0), + overworld_frame(gObjectEventPic_Groudon, 4, 4, 0), + overworld_frame(gObjectEventPic_Groudon, 4, 4, 0), + overworld_frame(gObjectEventPic_Groudon, 4, 4, 1), + overworld_frame(gObjectEventPic_Groudon, 4, 4, 1), + overworld_frame(gObjectEventPic_Groudon, 4, 4, 1), + overworld_frame(gObjectEventPic_Groudon, 4, 4, 1), + overworld_frame(gObjectEventPic_Groudon, 4, 4, 1), + overworld_frame(gObjectEventPic_Groudon, 4, 4, 1), +}; + +const struct SpriteFrameImage gObjectEventPicTable_KyogreSide[] = { + overworld_frame(gObjectEventPic_Kyogre, 4, 4, 2), + overworld_frame(gObjectEventPic_Kyogre, 4, 4, 2), + overworld_frame(gObjectEventPic_Kyogre, 4, 4, 2), + overworld_frame(gObjectEventPic_Kyogre, 4, 4, 3), + overworld_frame(gObjectEventPic_Kyogre, 4, 4, 3), + overworld_frame(gObjectEventPic_Kyogre, 4, 4, 3), + overworld_frame(gObjectEventPic_Kyogre, 4, 4, 3), + overworld_frame(gObjectEventPic_Kyogre, 4, 4, 3), + overworld_frame(gObjectEventPic_Kyogre, 4, 4, 3), +}; + +const struct SpriteFrameImage gObjectEventPicTable_GroudonSide[] = { + overworld_frame(gObjectEventPic_Groudon, 4, 4, 2), + overworld_frame(gObjectEventPic_Groudon, 4, 4, 2), + overworld_frame(gObjectEventPic_Groudon, 4, 4, 2), + overworld_frame(gObjectEventPic_Groudon, 4, 4, 3), + overworld_frame(gObjectEventPic_Groudon, 4, 4, 3), + overworld_frame(gObjectEventPic_Groudon, 4, 4, 3), + overworld_frame(gObjectEventPic_Groudon, 4, 4, 3), + overworld_frame(gObjectEventPic_Groudon, 4, 4, 3), + overworld_frame(gObjectEventPic_Groudon, 4, 4, 3), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Fossil[] = { + obj_frame_tiles(gObjectEventPic_Fossil), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Regi[] = { + obj_frame_tiles(gObjectEventPic_Regi), + obj_frame_tiles(gObjectEventPic_Regi), + obj_frame_tiles(gObjectEventPic_Regi), + obj_frame_tiles(gObjectEventPic_Regi), + obj_frame_tiles(gObjectEventPic_Regi), + obj_frame_tiles(gObjectEventPic_Regi), + obj_frame_tiles(gObjectEventPic_Regi), + obj_frame_tiles(gObjectEventPic_Regi), + obj_frame_tiles(gObjectEventPic_Regi), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Skitty[] = { + overworld_frame(gObjectEventPic_Skitty, 2, 2, 0), + overworld_frame(gObjectEventPic_Skitty, 2, 2, 1), + overworld_frame(gObjectEventPic_Skitty, 2, 2, 2), + overworld_frame(gObjectEventPic_Skitty, 2, 2, 0), + overworld_frame(gObjectEventPic_Skitty, 2, 2, 0), + overworld_frame(gObjectEventPic_Skitty, 2, 2, 1), + overworld_frame(gObjectEventPic_Skitty, 2, 2, 1), + overworld_frame(gObjectEventPic_Skitty, 2, 2, 2), + overworld_frame(gObjectEventPic_Skitty, 2, 2, 2), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Kecleon[] = { + overworld_frame(gObjectEventPic_Kecleon, 2, 2, 0), + overworld_frame(gObjectEventPic_Kecleon, 2, 2, 1), + overworld_frame(gObjectEventPic_Kecleon, 2, 2, 2), + overworld_frame(gObjectEventPic_Kecleon, 2, 2, 0), + overworld_frame(gObjectEventPic_Kecleon, 2, 2, 0), + overworld_frame(gObjectEventPic_Kecleon, 2, 2, 1), + overworld_frame(gObjectEventPic_Kecleon, 2, 2, 1), + overworld_frame(gObjectEventPic_Kecleon, 2, 2, 2), + overworld_frame(gObjectEventPic_Kecleon, 2, 2, 2), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Rayquaza[] = { + overworld_frame(gObjectEventPic_Rayquaza, 8, 8, 0), + overworld_frame(gObjectEventPic_Rayquaza, 8, 8, 1), + overworld_frame(gObjectEventPic_Rayquaza, 8, 8, 2), + overworld_frame(gObjectEventPic_Rayquaza, 8, 8, 3), + overworld_frame(gObjectEventPic_Rayquaza, 8, 8, 4), +}; + +const struct SpriteFrameImage gObjectEventPicTable_RayquazaStill[] = { + obj_frame_tiles(gObjectEventPic_RayquazaStill), + obj_frame_tiles(gObjectEventPic_RayquazaStill), + obj_frame_tiles(gObjectEventPic_RayquazaStill), + obj_frame_tiles(gObjectEventPic_RayquazaStill), + obj_frame_tiles(gObjectEventPic_RayquazaStill), + obj_frame_tiles(gObjectEventPic_RayquazaStill), + obj_frame_tiles(gObjectEventPic_RayquazaStill), + obj_frame_tiles(gObjectEventPic_RayquazaStill), + obj_frame_tiles(gObjectEventPic_RayquazaStill), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Zigzagoon[] = { + overworld_frame(gObjectEventPic_Zigzagoon, 2, 2, 0), + overworld_frame(gObjectEventPic_Zigzagoon, 2, 2, 1), + overworld_frame(gObjectEventPic_Zigzagoon, 2, 2, 2), + overworld_frame(gObjectEventPic_Zigzagoon, 2, 2, 0), + overworld_frame(gObjectEventPic_Zigzagoon, 2, 2, 0), + overworld_frame(gObjectEventPic_Zigzagoon, 2, 2, 1), + overworld_frame(gObjectEventPic_Zigzagoon, 2, 2, 1), + overworld_frame(gObjectEventPic_Zigzagoon, 2, 2, 2), + overworld_frame(gObjectEventPic_Zigzagoon, 2, 2, 2), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Pikachu[] = { + overworld_frame(gObjectEventPic_Pikachu, 2, 2, 0), + overworld_frame(gObjectEventPic_Pikachu, 2, 2, 1), + overworld_frame(gObjectEventPic_Pikachu, 2, 2, 2), + overworld_frame(gObjectEventPic_Pikachu, 2, 2, 0), + overworld_frame(gObjectEventPic_Pikachu, 2, 2, 0), + overworld_frame(gObjectEventPic_Pikachu, 2, 2, 1), + overworld_frame(gObjectEventPic_Pikachu, 2, 2, 1), + overworld_frame(gObjectEventPic_Pikachu, 2, 2, 2), + overworld_frame(gObjectEventPic_Pikachu, 2, 2, 2), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Azumarill[] = { + overworld_frame(gObjectEventPic_Azumarill, 2, 2, 0), + overworld_frame(gObjectEventPic_Azumarill, 2, 2, 1), + overworld_frame(gObjectEventPic_Azumarill, 2, 2, 2), + overworld_frame(gObjectEventPic_Azumarill, 2, 2, 0), + overworld_frame(gObjectEventPic_Azumarill, 2, 2, 0), + overworld_frame(gObjectEventPic_Azumarill, 2, 2, 1), + overworld_frame(gObjectEventPic_Azumarill, 2, 2, 1), + overworld_frame(gObjectEventPic_Azumarill, 2, 2, 2), + overworld_frame(gObjectEventPic_Azumarill, 2, 2, 2), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Wingull[] = { + overworld_frame(gObjectEventPic_Wingull, 2, 2, 0), + overworld_frame(gObjectEventPic_Wingull, 2, 2, 2), + overworld_frame(gObjectEventPic_Wingull, 2, 2, 4), + overworld_frame(gObjectEventPic_Wingull, 2, 2, 1), + overworld_frame(gObjectEventPic_Wingull, 2, 2, 1), + overworld_frame(gObjectEventPic_Wingull, 2, 2, 3), + overworld_frame(gObjectEventPic_Wingull, 2, 2, 3), + overworld_frame(gObjectEventPic_Wingull, 2, 2, 5), + overworld_frame(gObjectEventPic_Wingull, 2, 2, 5), +}; + +const struct SpriteFrameImage gObjectEventPicTable_TuberMSwimming[] = { + overworld_frame(gObjectEventPic_TuberMSwimming, 2, 2, 0), + overworld_frame(gObjectEventPic_TuberMSwimming, 2, 2, 1), + overworld_frame(gObjectEventPic_TuberMSwimming, 2, 2, 2), + overworld_frame(gObjectEventPic_TuberMSwimming, 2, 2, 3), + overworld_frame(gObjectEventPic_TuberMSwimming, 2, 2, 4), + overworld_frame(gObjectEventPic_TuberMSwimming, 2, 2, 5), + overworld_frame(gObjectEventPic_TuberMSwimming, 2, 2, 6), + overworld_frame(gObjectEventPic_TuberMSwimming, 2, 2, 7), + overworld_frame(gObjectEventPic_TuberMSwimming, 2, 2, 8), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Azurill[] = { + overworld_frame(gObjectEventPic_Azurill, 2, 2, 0), + overworld_frame(gObjectEventPic_Azurill, 2, 2, 1), + overworld_frame(gObjectEventPic_Azurill, 2, 2, 2), + overworld_frame(gObjectEventPic_Azurill, 2, 2, 0), + overworld_frame(gObjectEventPic_Azurill, 2, 2, 0), + overworld_frame(gObjectEventPic_Azurill, 2, 2, 1), + overworld_frame(gObjectEventPic_Azurill, 2, 2, 1), + overworld_frame(gObjectEventPic_Azurill, 2, 2, 2), + overworld_frame(gObjectEventPic_Azurill, 2, 2, 2), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Mom[] = { + overworld_frame(gObjectEventPic_Mom, 2, 4, 0), + overworld_frame(gObjectEventPic_Mom, 2, 4, 1), + overworld_frame(gObjectEventPic_Mom, 2, 4, 2), + overworld_frame(gObjectEventPic_Mom, 2, 4, 3), + overworld_frame(gObjectEventPic_Mom, 2, 4, 4), + overworld_frame(gObjectEventPic_Mom, 2, 4, 5), + overworld_frame(gObjectEventPic_Mom, 2, 4, 6), + overworld_frame(gObjectEventPic_Mom, 2, 4, 7), + overworld_frame(gObjectEventPic_Mom, 2, 4, 8), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Scott[] = { + overworld_frame(gObjectEventPic_Scott, 2, 4, 0), + overworld_frame(gObjectEventPic_Scott, 2, 4, 1), + overworld_frame(gObjectEventPic_Scott, 2, 4, 2), + overworld_frame(gObjectEventPic_Scott, 2, 4, 3), + overworld_frame(gObjectEventPic_Scott, 2, 4, 4), + overworld_frame(gObjectEventPic_Scott, 2, 4, 5), + overworld_frame(gObjectEventPic_Scott, 2, 4, 6), + overworld_frame(gObjectEventPic_Scott, 2, 4, 7), + overworld_frame(gObjectEventPic_Scott, 2, 4, 8), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Juan[] = { + overworld_frame(gObjectEventPic_Juan, 2, 4, 0), + overworld_frame(gObjectEventPic_Juan, 2, 4, 1), + overworld_frame(gObjectEventPic_Juan, 2, 4, 2), + overworld_frame(gObjectEventPic_Juan, 2, 4, 3), + overworld_frame(gObjectEventPic_Juan, 2, 4, 4), + overworld_frame(gObjectEventPic_Juan, 2, 4, 5), + overworld_frame(gObjectEventPic_Juan, 2, 4, 6), + overworld_frame(gObjectEventPic_Juan, 2, 4, 7), + overworld_frame(gObjectEventPic_Juan, 2, 4, 8), +}; + +const struct SpriteFrameImage gObjectEventPicTable_MysteryEventDeliveryman[] = { + overworld_frame(gObjectEventPic_MysteryEventDeliveryman, 2, 4, 0), + overworld_frame(gObjectEventPic_MysteryEventDeliveryman, 2, 4, 1), + overworld_frame(gObjectEventPic_MysteryEventDeliveryman, 2, 4, 2), + overworld_frame(gObjectEventPic_MysteryEventDeliveryman, 2, 4, 0), + overworld_frame(gObjectEventPic_MysteryEventDeliveryman, 2, 4, 0), + overworld_frame(gObjectEventPic_MysteryEventDeliveryman, 2, 4, 1), + overworld_frame(gObjectEventPic_MysteryEventDeliveryman, 2, 4, 1), + overworld_frame(gObjectEventPic_MysteryEventDeliveryman, 2, 4, 2), + overworld_frame(gObjectEventPic_MysteryEventDeliveryman, 2, 4, 2), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Statue[] = { + obj_frame_tiles(gObjectEventPic_Statue), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Dusclops[] = { + overworld_frame(gObjectEventPic_Dusclops, 2, 4, 0), + overworld_frame(gObjectEventPic_Dusclops, 2, 4, 1), + overworld_frame(gObjectEventPic_Dusclops, 2, 4, 2), + overworld_frame(gObjectEventPic_Dusclops, 2, 4, 3), + overworld_frame(gObjectEventPic_Dusclops, 2, 4, 4), + overworld_frame(gObjectEventPic_Dusclops, 2, 4, 5), + overworld_frame(gObjectEventPic_Dusclops, 2, 4, 6), + overworld_frame(gObjectEventPic_Dusclops, 2, 4, 7), + overworld_frame(gObjectEventPic_Dusclops, 2, 4, 8), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Kirlia[] = { + overworld_frame(gObjectEventPic_Kirlia, 2, 4, 0), + overworld_frame(gObjectEventPic_Kirlia, 2, 4, 1), + overworld_frame(gObjectEventPic_Kirlia, 2, 4, 2), + overworld_frame(gObjectEventPic_Kirlia, 2, 4, 3), + overworld_frame(gObjectEventPic_Kirlia, 2, 4, 4), + overworld_frame(gObjectEventPic_Kirlia, 2, 4, 5), + overworld_frame(gObjectEventPic_Kirlia, 2, 4, 6), + overworld_frame(gObjectEventPic_Kirlia, 2, 4, 7), + overworld_frame(gObjectEventPic_Kirlia, 2, 4, 8), +}; + +const struct SpriteFrameImage gObjectEventPicTable_UnionRoomAttendant[] = { + overworld_frame(gObjectEventPic_UnionRoomAttendant, 2, 4, 0), + overworld_frame(gObjectEventPic_UnionRoomAttendant, 2, 4, 1), + overworld_frame(gObjectEventPic_UnionRoomAttendant, 2, 4, 2), + overworld_frame(gObjectEventPic_UnionRoomAttendant, 2, 4, 0), + overworld_frame(gObjectEventPic_UnionRoomAttendant, 2, 4, 0), + overworld_frame(gObjectEventPic_UnionRoomAttendant, 2, 4, 1), + overworld_frame(gObjectEventPic_UnionRoomAttendant, 2, 4, 1), + overworld_frame(gObjectEventPic_UnionRoomAttendant, 2, 4, 2), + overworld_frame(gObjectEventPic_UnionRoomAttendant, 2, 4, 2), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Sudowoodo[] = { + overworld_frame(gObjectEventPic_Sudowoodo, 2, 4, 0), + overworld_frame(gObjectEventPic_Sudowoodo, 2, 4, 0), + overworld_frame(gObjectEventPic_Sudowoodo, 2, 4, 1), + overworld_frame(gObjectEventPic_Sudowoodo, 2, 4, 0), + overworld_frame(gObjectEventPic_Sudowoodo, 2, 4, 0), + overworld_frame(gObjectEventPic_Sudowoodo, 2, 4, 0), + overworld_frame(gObjectEventPic_Sudowoodo, 2, 4, 0), + overworld_frame(gObjectEventPic_Sudowoodo, 2, 4, 1), + overworld_frame(gObjectEventPic_Sudowoodo, 2, 4, 2), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Mew[] = { + overworld_frame(gObjectEventPic_Mew, 2, 4, 0), + overworld_frame(gObjectEventPic_Mew, 2, 4, 1), + overworld_frame(gObjectEventPic_Mew, 2, 4, 2), + overworld_frame(gObjectEventPic_Mew, 2, 4, 3), + overworld_frame(gObjectEventPic_Mew, 2, 4, 4), + overworld_frame(gObjectEventPic_Mew, 2, 4, 5), + overworld_frame(gObjectEventPic_Mew, 2, 4, 6), + overworld_frame(gObjectEventPic_Mew, 2, 4, 7), + overworld_frame(gObjectEventPic_Mew, 2, 4, 8), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Red[] = { + overworld_frame(gObjectEventPic_Red, 2, 4, 0), + overworld_frame(gObjectEventPic_Red, 2, 4, 1), + overworld_frame(gObjectEventPic_Red, 2, 4, 2), + overworld_frame(gObjectEventPic_Red, 2, 4, 3), + overworld_frame(gObjectEventPic_Red, 2, 4, 4), + overworld_frame(gObjectEventPic_Red, 2, 4, 5), + overworld_frame(gObjectEventPic_Red, 2, 4, 6), + overworld_frame(gObjectEventPic_Red, 2, 4, 7), + overworld_frame(gObjectEventPic_Red, 2, 4, 8), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Leaf[] = { + overworld_frame(gObjectEventPic_Leaf, 2, 4, 0), + overworld_frame(gObjectEventPic_Leaf, 2, 4, 1), + overworld_frame(gObjectEventPic_Leaf, 2, 4, 2), + overworld_frame(gObjectEventPic_Leaf, 2, 4, 3), + overworld_frame(gObjectEventPic_Leaf, 2, 4, 4), + overworld_frame(gObjectEventPic_Leaf, 2, 4, 5), + overworld_frame(gObjectEventPic_Leaf, 2, 4, 6), + overworld_frame(gObjectEventPic_Leaf, 2, 4, 7), + overworld_frame(gObjectEventPic_Leaf, 2, 4, 8), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Deoxys[] = { + overworld_frame(gObjectEventPic_Deoxys, 4, 4, 0), + overworld_frame(gObjectEventPic_Deoxys, 4, 4, 0), + overworld_frame(gObjectEventPic_Deoxys, 4, 4, 0), + overworld_frame(gObjectEventPic_Deoxys, 4, 4, 0), + overworld_frame(gObjectEventPic_Deoxys, 4, 4, 1), + overworld_frame(gObjectEventPic_Deoxys, 4, 4, 0), + overworld_frame(gObjectEventPic_Deoxys, 4, 4, 1), + overworld_frame(gObjectEventPic_Deoxys, 4, 4, 0), + overworld_frame(gObjectEventPic_Deoxys, 4, 4, 0), +}; + +const struct SpriteFrameImage gObjectEventPicTable_BirthIslandStone[] = { + obj_frame_tiles(gObjectEventPic_BirthIslandStone), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Anabel[] = { + overworld_frame(gObjectEventPic_Anabel, 2, 4, 0), + overworld_frame(gObjectEventPic_Anabel, 2, 4, 1), + overworld_frame(gObjectEventPic_Anabel, 2, 4, 2), + overworld_frame(gObjectEventPic_Anabel, 2, 4, 3), + overworld_frame(gObjectEventPic_Anabel, 2, 4, 4), + overworld_frame(gObjectEventPic_Anabel, 2, 4, 5), + overworld_frame(gObjectEventPic_Anabel, 2, 4, 6), + overworld_frame(gObjectEventPic_Anabel, 2, 4, 7), + overworld_frame(gObjectEventPic_Anabel, 2, 4, 8), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Tucker[] = { + overworld_frame(gObjectEventPic_Tucker, 2, 4, 0), + overworld_frame(gObjectEventPic_Tucker, 2, 4, 1), + overworld_frame(gObjectEventPic_Tucker, 2, 4, 2), + overworld_frame(gObjectEventPic_Tucker, 2, 4, 3), + overworld_frame(gObjectEventPic_Tucker, 2, 4, 4), + overworld_frame(gObjectEventPic_Tucker, 2, 4, 5), + overworld_frame(gObjectEventPic_Tucker, 2, 4, 6), + overworld_frame(gObjectEventPic_Tucker, 2, 4, 7), + overworld_frame(gObjectEventPic_Tucker, 2, 4, 8), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Spenser[] = { + overworld_frame(gObjectEventPic_Spenser, 2, 4, 0), + overworld_frame(gObjectEventPic_Spenser, 2, 4, 1), + overworld_frame(gObjectEventPic_Spenser, 2, 4, 2), + overworld_frame(gObjectEventPic_Spenser, 2, 4, 3), + overworld_frame(gObjectEventPic_Spenser, 2, 4, 4), + overworld_frame(gObjectEventPic_Spenser, 2, 4, 5), + overworld_frame(gObjectEventPic_Spenser, 2, 4, 6), + overworld_frame(gObjectEventPic_Spenser, 2, 4, 7), + overworld_frame(gObjectEventPic_Spenser, 2, 4, 8), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Greta[] = { + overworld_frame(gObjectEventPic_Greta, 2, 4, 0), + overworld_frame(gObjectEventPic_Greta, 2, 4, 1), + overworld_frame(gObjectEventPic_Greta, 2, 4, 2), + overworld_frame(gObjectEventPic_Greta, 2, 4, 3), + overworld_frame(gObjectEventPic_Greta, 2, 4, 4), + overworld_frame(gObjectEventPic_Greta, 2, 4, 5), + overworld_frame(gObjectEventPic_Greta, 2, 4, 6), + overworld_frame(gObjectEventPic_Greta, 2, 4, 7), + overworld_frame(gObjectEventPic_Greta, 2, 4, 8), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Noland[] = { + overworld_frame(gObjectEventPic_Noland, 2, 4, 0), + overworld_frame(gObjectEventPic_Noland, 2, 4, 1), + overworld_frame(gObjectEventPic_Noland, 2, 4, 2), + overworld_frame(gObjectEventPic_Noland, 2, 4, 3), + overworld_frame(gObjectEventPic_Noland, 2, 4, 4), + overworld_frame(gObjectEventPic_Noland, 2, 4, 5), + overworld_frame(gObjectEventPic_Noland, 2, 4, 6), + overworld_frame(gObjectEventPic_Noland, 2, 4, 7), + overworld_frame(gObjectEventPic_Noland, 2, 4, 8), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Lucy[] = { + overworld_frame(gObjectEventPic_Lucy, 2, 4, 0), + overworld_frame(gObjectEventPic_Lucy, 2, 4, 1), + overworld_frame(gObjectEventPic_Lucy, 2, 4, 2), + overworld_frame(gObjectEventPic_Lucy, 2, 4, 3), + overworld_frame(gObjectEventPic_Lucy, 2, 4, 4), + overworld_frame(gObjectEventPic_Lucy, 2, 4, 5), + overworld_frame(gObjectEventPic_Lucy, 2, 4, 6), + overworld_frame(gObjectEventPic_Lucy, 2, 4, 7), + overworld_frame(gObjectEventPic_Lucy, 2, 4, 8), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Brandon[] = { + overworld_frame(gObjectEventPic_Brandon, 2, 4, 0), + overworld_frame(gObjectEventPic_Brandon, 2, 4, 1), + overworld_frame(gObjectEventPic_Brandon, 2, 4, 2), + overworld_frame(gObjectEventPic_Brandon, 2, 4, 3), + overworld_frame(gObjectEventPic_Brandon, 2, 4, 4), + overworld_frame(gObjectEventPic_Brandon, 2, 4, 5), + overworld_frame(gObjectEventPic_Brandon, 2, 4, 6), + overworld_frame(gObjectEventPic_Brandon, 2, 4, 7), + overworld_frame(gObjectEventPic_Brandon, 2, 4, 8), +}; + +const struct SpriteFrameImage gObjectEventPicTable_Lugia[] = { + overworld_frame(gObjectEventPic_Lugia, 4, 4, 0), + overworld_frame(gObjectEventPic_Lugia, 4, 4, 0), + overworld_frame(gObjectEventPic_Lugia, 4, 4, 0), + overworld_frame(gObjectEventPic_Lugia, 4, 4, 0), + overworld_frame(gObjectEventPic_Lugia, 4, 4, 1), + overworld_frame(gObjectEventPic_Lugia, 4, 4, 0), + overworld_frame(gObjectEventPic_Lugia, 4, 4, 1), + overworld_frame(gObjectEventPic_Lugia, 4, 4, 0), + overworld_frame(gObjectEventPic_Lugia, 4, 4, 1), +}; + +const struct SpriteFrameImage gObjectEventPicTable_HoOh[] = { + overworld_frame(gObjectEventPic_HoOh, 4, 4, 0), + overworld_frame(gObjectEventPic_HoOh, 4, 4, 0), + overworld_frame(gObjectEventPic_HoOh, 4, 4, 0), + overworld_frame(gObjectEventPic_HoOh, 4, 4, 0), + overworld_frame(gObjectEventPic_HoOh, 4, 4, 1), + overworld_frame(gObjectEventPic_HoOh, 4, 4, 0), + overworld_frame(gObjectEventPic_HoOh, 4, 4, 1), + overworld_frame(gObjectEventPic_HoOh, 4, 4, 0), + overworld_frame(gObjectEventPic_HoOh, 4, 4, 1), +}; + +const struct SpriteFrameImage gObjectEventPicTable_RubySapphireBrendan[] = { + overworld_frame(gObjectEventPic_RubySapphireBrendanNormal, 2, 4, 0), + overworld_frame(gObjectEventPic_RubySapphireBrendanNormal, 2, 4, 1), + overworld_frame(gObjectEventPic_RubySapphireBrendanNormal, 2, 4, 2), + overworld_frame(gObjectEventPic_RubySapphireBrendanNormal, 2, 4, 3), + overworld_frame(gObjectEventPic_RubySapphireBrendanNormal, 2, 4, 4), + overworld_frame(gObjectEventPic_RubySapphireBrendanNormal, 2, 4, 5), + overworld_frame(gObjectEventPic_RubySapphireBrendanNormal, 2, 4, 6), + overworld_frame(gObjectEventPic_RubySapphireBrendanNormal, 2, 4, 7), + overworld_frame(gObjectEventPic_RubySapphireBrendanNormal, 2, 4, 8), +}; + +const struct SpriteFrameImage gObjectEventPicTable_RubySapphireMay[] = { + overworld_frame(gObjectEventPic_RubySapphireMayNormal, 2, 4, 0), + overworld_frame(gObjectEventPic_RubySapphireMayNormal, 2, 4, 1), + overworld_frame(gObjectEventPic_RubySapphireMayNormal, 2, 4, 2), + overworld_frame(gObjectEventPic_RubySapphireMayNormal, 2, 4, 3), + overworld_frame(gObjectEventPic_RubySapphireMayNormal, 2, 4, 4), + overworld_frame(gObjectEventPic_RubySapphireMayNormal, 2, 4, 5), + overworld_frame(gObjectEventPic_RubySapphireMayNormal, 2, 4, 6), + overworld_frame(gObjectEventPic_RubySapphireMayNormal, 2, 4, 7), + overworld_frame(gObjectEventPic_RubySapphireMayNormal, 2, 4, 8), +}; diff --git a/src/data/field_event_obj/event_object_subsprites.h b/src/data/object_events/object_event_subsprites.h index 0b4a80f72..79e75f1e1 100755 --- a/src/data/field_event_obj/event_object_subsprites.h +++ b/src/data/object_events/object_event_subsprites.h @@ -1,4 +1,4 @@ -const struct Subsprite gEventObjectSpriteOamTable_16x16_0[] = { +const struct Subsprite gObjectEventSpriteOamTable_16x16_0[] = { { .x = -8, .y = -8, @@ -9,7 +9,7 @@ const struct Subsprite gEventObjectSpriteOamTable_16x16_0[] = { } }; -const struct Subsprite gEventObjectSpriteOamTable_16x16_1[] = { +const struct Subsprite gObjectEventSpriteOamTable_16x16_1[] = { { .x = -8, .y = -8, @@ -20,7 +20,7 @@ const struct Subsprite gEventObjectSpriteOamTable_16x16_1[] = { } }; -const struct Subsprite gEventObjectSpriteOamTable_16x16_2[] = { +const struct Subsprite gObjectEventSpriteOamTable_16x16_2[] = { { .x = -8, .y = -8, @@ -39,7 +39,7 @@ const struct Subsprite gEventObjectSpriteOamTable_16x16_2[] = { } }; -const struct Subsprite gEventObjectSpriteOamTable_16x16_3[] = { +const struct Subsprite gObjectEventSpriteOamTable_16x16_3[] = { { .x = -8, .y = -8, @@ -58,7 +58,7 @@ const struct Subsprite gEventObjectSpriteOamTable_16x16_3[] = { } }; -const struct Subsprite gEventObjectSpriteOamTable_16x16_4[] = { +const struct Subsprite gObjectEventSpriteOamTable_16x16_4[] = { { .x = -8, .y = -8, @@ -77,16 +77,16 @@ const struct Subsprite gEventObjectSpriteOamTable_16x16_4[] = { } }; -const struct SubspriteTable gEventObjectSpriteOamTables_16x16[] = { +const struct SubspriteTable gObjectEventSpriteOamTables_16x16[] = { {0, NULL}, - {1, gEventObjectSpriteOamTable_16x16_0}, - {1, gEventObjectSpriteOamTable_16x16_1}, - {2, gEventObjectSpriteOamTable_16x16_2}, - {2, gEventObjectSpriteOamTable_16x16_3}, - {2, gEventObjectSpriteOamTable_16x16_4} + {1, gObjectEventSpriteOamTable_16x16_0}, + {1, gObjectEventSpriteOamTable_16x16_1}, + {2, gObjectEventSpriteOamTable_16x16_2}, + {2, gObjectEventSpriteOamTable_16x16_3}, + {2, gObjectEventSpriteOamTable_16x16_4} }; -const struct Subsprite gEventObjectSpriteOamTable_16x32_0[] = { +const struct Subsprite gObjectEventSpriteOamTable_16x32_0[] = { { .x = -8, .y = -16, @@ -97,7 +97,7 @@ const struct Subsprite gEventObjectSpriteOamTable_16x32_0[] = { } }; -const struct Subsprite gEventObjectSpriteOamTable_16x32_1[] = { +const struct Subsprite gObjectEventSpriteOamTable_16x32_1[] = { { .x = -8, .y = -16, @@ -108,7 +108,7 @@ const struct Subsprite gEventObjectSpriteOamTable_16x32_1[] = { } }; -const struct Subsprite gEventObjectSpriteOamTable_16x32_2[] = { +const struct Subsprite gObjectEventSpriteOamTable_16x32_2[] = { { .x = -8, .y = -16, @@ -135,7 +135,7 @@ const struct Subsprite gEventObjectSpriteOamTable_16x32_2[] = { } }; -const struct Subsprite gEventObjectSpriteOamTable_16x32_3[] = { +const struct Subsprite gObjectEventSpriteOamTable_16x32_3[] = { { .x = -8, .y = -16, @@ -154,7 +154,7 @@ const struct Subsprite gEventObjectSpriteOamTable_16x32_3[] = { } }; -const struct Subsprite gEventObjectSpriteOamTable_16x32_4[] = { +const struct Subsprite gObjectEventSpriteOamTable_16x32_4[] = { { .x = -8, .y = -16, @@ -173,16 +173,16 @@ const struct Subsprite gEventObjectSpriteOamTable_16x32_4[] = { } }; -const struct SubspriteTable gEventObjectSpriteOamTables_16x32[] = { +const struct SubspriteTable gObjectEventSpriteOamTables_16x32[] = { {0, NULL}, - {1, gEventObjectSpriteOamTable_16x32_0}, - {1, gEventObjectSpriteOamTable_16x32_1}, - {3, gEventObjectSpriteOamTable_16x32_2}, - {2, gEventObjectSpriteOamTable_16x32_3}, - {2, gEventObjectSpriteOamTable_16x32_4} + {1, gObjectEventSpriteOamTable_16x32_0}, + {1, gObjectEventSpriteOamTable_16x32_1}, + {3, gObjectEventSpriteOamTable_16x32_2}, + {2, gObjectEventSpriteOamTable_16x32_3}, + {2, gObjectEventSpriteOamTable_16x32_4} }; -const struct Subsprite gEventObjectSpriteOamTable_32x32_0[] = { +const struct Subsprite gObjectEventSpriteOamTable_32x32_0[] = { { .x = -16, .y = -16, @@ -193,7 +193,7 @@ const struct Subsprite gEventObjectSpriteOamTable_32x32_0[] = { } }; -const struct Subsprite gEventObjectSpriteOamTable_32x32_1[] = { +const struct Subsprite gObjectEventSpriteOamTable_32x32_1[] = { { .x = -16, .y = -16, @@ -204,7 +204,7 @@ const struct Subsprite gEventObjectSpriteOamTable_32x32_1[] = { } }; -const struct Subsprite gEventObjectSpriteOamTable_32x32_2[] = { +const struct Subsprite gObjectEventSpriteOamTable_32x32_2[] = { { .x = -16, .y = -16, @@ -231,7 +231,7 @@ const struct Subsprite gEventObjectSpriteOamTable_32x32_2[] = { } }; -const struct Subsprite gEventObjectSpriteOamTable_32x32_3[] = { +const struct Subsprite gObjectEventSpriteOamTable_32x32_3[] = { { .x = -16, .y = -16, @@ -250,7 +250,7 @@ const struct Subsprite gEventObjectSpriteOamTable_32x32_3[] = { } }; -const struct Subsprite gEventObjectSpriteOamTable_32x32_4[] = { +const struct Subsprite gObjectEventSpriteOamTable_32x32_4[] = { { .x = -16, .y = -16, @@ -269,16 +269,16 @@ const struct Subsprite gEventObjectSpriteOamTable_32x32_4[] = { } }; -const struct SubspriteTable gEventObjectSpriteOamTables_32x32[] = { +const struct SubspriteTable gObjectEventSpriteOamTables_32x32[] = { {0, NULL}, - {1, gEventObjectSpriteOamTable_32x32_0}, - {1, gEventObjectSpriteOamTable_32x32_1}, - {3, gEventObjectSpriteOamTable_32x32_2}, - {2, gEventObjectSpriteOamTable_32x32_3}, - {2, gEventObjectSpriteOamTable_32x32_4} + {1, gObjectEventSpriteOamTable_32x32_0}, + {1, gObjectEventSpriteOamTable_32x32_1}, + {3, gObjectEventSpriteOamTable_32x32_2}, + {2, gObjectEventSpriteOamTable_32x32_3}, + {2, gObjectEventSpriteOamTable_32x32_4} }; -const struct Subsprite gEventObjectSpriteOamTable_Truck_0[] = { +const struct Subsprite gObjectEventSpriteOamTable_Truck_0[] = { { .x = -24, .y = -24, @@ -377,16 +377,16 @@ const struct Subsprite gEventObjectSpriteOamTable_Truck_0[] = { } }; -const struct SubspriteTable gEventObjectSpriteOamTables_Truck[] = { - {12, gEventObjectSpriteOamTable_Truck_0}, - {12, gEventObjectSpriteOamTable_Truck_0}, - {12, gEventObjectSpriteOamTable_Truck_0}, - {12, gEventObjectSpriteOamTable_Truck_0}, - {12, gEventObjectSpriteOamTable_Truck_0}, - {12, gEventObjectSpriteOamTable_Truck_0} +const struct SubspriteTable gObjectEventSpriteOamTables_Truck[] = { + {12, gObjectEventSpriteOamTable_Truck_0}, + {12, gObjectEventSpriteOamTable_Truck_0}, + {12, gObjectEventSpriteOamTable_Truck_0}, + {12, gObjectEventSpriteOamTable_Truck_0}, + {12, gObjectEventSpriteOamTable_Truck_0}, + {12, gObjectEventSpriteOamTable_Truck_0} }; -const struct Subsprite gEventObjectSpriteOamTable_Unused_0[] = { +const struct Subsprite gObjectEventSpriteOamTable_Unused_0[] = { { .x = -32, .y = -16, @@ -397,7 +397,7 @@ const struct Subsprite gEventObjectSpriteOamTable_Unused_0[] = { } }; -const struct Subsprite gEventObjectSpriteOamTable_Unused_1[] = { +const struct Subsprite gObjectEventSpriteOamTable_Unused_1[] = { { .x = -32, .y = -16, @@ -408,7 +408,7 @@ const struct Subsprite gEventObjectSpriteOamTable_Unused_1[] = { } }; -const struct Subsprite gEventObjectSpriteOamTable_Unused_2[] = { +const struct Subsprite gObjectEventSpriteOamTable_Unused_2[] = { { .x = -32, .y = -16, @@ -419,7 +419,7 @@ const struct Subsprite gEventObjectSpriteOamTable_Unused_2[] = { } }; -const struct Subsprite gEventObjectSpriteOamTable_Unused_3[] = { +const struct Subsprite gObjectEventSpriteOamTable_Unused_3[] = { { .x = -32, .y = -16, @@ -430,16 +430,16 @@ const struct Subsprite gEventObjectSpriteOamTable_Unused_3[] = { } }; -const struct SubspriteTable gEventObjectSpriteOamTables_Unused[] = { +const struct SubspriteTable gObjectEventSpriteOamTables_Unused[] = { {0, NULL}, - {1, gEventObjectSpriteOamTable_Unused_0}, - {1, gEventObjectSpriteOamTable_Unused_1}, - {1, gEventObjectSpriteOamTable_Unused_2}, - {1, gEventObjectSpriteOamTable_Unused_3}, - {1, gEventObjectSpriteOamTable_Unused_3} + {1, gObjectEventSpriteOamTable_Unused_0}, + {1, gObjectEventSpriteOamTable_Unused_1}, + {1, gObjectEventSpriteOamTable_Unused_2}, + {1, gObjectEventSpriteOamTable_Unused_3}, + {1, gObjectEventSpriteOamTable_Unused_3} }; -const struct Subsprite gEventObjectSpriteOamTable_64x64_0[] = { +const struct Subsprite gObjectEventSpriteOamTable_64x64_0[] = { { .x = -32, .y = -32, @@ -450,7 +450,7 @@ const struct Subsprite gEventObjectSpriteOamTable_64x64_0[] = { } }; -const struct Subsprite gEventObjectSpriteOamTable_64x64_1[] = { +const struct Subsprite gObjectEventSpriteOamTable_64x64_1[] = { { .x = -32, .y = -32, @@ -461,7 +461,7 @@ const struct Subsprite gEventObjectSpriteOamTable_64x64_1[] = { } }; -const struct Subsprite gEventObjectSpriteOamTable_64x64_2[] = { +const struct Subsprite gObjectEventSpriteOamTable_64x64_2[] = { { .x = -32, .y = -32, @@ -472,7 +472,7 @@ const struct Subsprite gEventObjectSpriteOamTable_64x64_2[] = { } }; -const struct Subsprite gEventObjectSpriteOamTable_64x64_3[] = { +const struct Subsprite gObjectEventSpriteOamTable_64x64_3[] = { { .x = -32, .y = -32, @@ -483,16 +483,16 @@ const struct Subsprite gEventObjectSpriteOamTable_64x64_3[] = { } }; -const struct SubspriteTable gEventObjectSpriteOamTables_64x64[] = { +const struct SubspriteTable gObjectEventSpriteOamTables_64x64[] = { {0, NULL}, - {1, gEventObjectSpriteOamTable_64x64_0}, - {1, gEventObjectSpriteOamTable_64x64_1}, - {1, gEventObjectSpriteOamTable_64x64_2}, - {1, gEventObjectSpriteOamTable_64x64_3}, - {1, gEventObjectSpriteOamTable_64x64_3} + {1, gObjectEventSpriteOamTable_64x64_0}, + {1, gObjectEventSpriteOamTable_64x64_1}, + {1, gObjectEventSpriteOamTable_64x64_2}, + {1, gObjectEventSpriteOamTable_64x64_3}, + {1, gObjectEventSpriteOamTable_64x64_3} }; -const struct Subsprite gEventObjectSpriteOamTable_SSTidal_0[] = { +const struct Subsprite gObjectEventSpriteOamTable_SSTidal_0[] = { { .x = -48, .y = -20, @@ -615,7 +615,7 @@ const struct Subsprite gEventObjectSpriteOamTable_SSTidal_0[] = { } }; -const struct Subsprite gEventObjectSpriteOamTable_SSTidal_1[] = { +const struct Subsprite gObjectEventSpriteOamTable_SSTidal_1[] = { { .x = -48, .y = -20, @@ -738,7 +738,7 @@ const struct Subsprite gEventObjectSpriteOamTable_SSTidal_1[] = { } }; -const struct Subsprite gEventObjectSpriteOamTable_SSTidal_2[] = { +const struct Subsprite gObjectEventSpriteOamTable_SSTidal_2[] = { { .x = -48, .y = -20, @@ -861,7 +861,7 @@ const struct Subsprite gEventObjectSpriteOamTable_SSTidal_2[] = { } }; -const struct Subsprite gEventObjectSpriteOamTable_SSTidal_3[] = { +const struct Subsprite gObjectEventSpriteOamTable_SSTidal_3[] = { { .x = -48, .y = -20, @@ -984,16 +984,16 @@ const struct Subsprite gEventObjectSpriteOamTable_SSTidal_3[] = { } }; -const struct SubspriteTable gEventObjectSpriteOamTables_SSTidal[] = { - {15, gEventObjectSpriteOamTable_SSTidal_0}, - {15, gEventObjectSpriteOamTable_SSTidal_0}, - {15, gEventObjectSpriteOamTable_SSTidal_1}, - {15, gEventObjectSpriteOamTable_SSTidal_2}, - {15, gEventObjectSpriteOamTable_SSTidal_3}, - {15, gEventObjectSpriteOamTable_SSTidal_3} +const struct SubspriteTable gObjectEventSpriteOamTables_SSTidal[] = { + {15, gObjectEventSpriteOamTable_SSTidal_0}, + {15, gObjectEventSpriteOamTable_SSTidal_0}, + {15, gObjectEventSpriteOamTable_SSTidal_1}, + {15, gObjectEventSpriteOamTable_SSTidal_2}, + {15, gObjectEventSpriteOamTable_SSTidal_3}, + {15, gObjectEventSpriteOamTable_SSTidal_3} }; -const struct Subsprite gEventObjectSpriteOamTable_SubmarineShadow_0[] = { +const struct Subsprite gObjectEventSpriteOamTable_SubmarineShadow_0[] = { { .x = -48, .y = -20, @@ -1124,7 +1124,7 @@ const struct Subsprite gEventObjectSpriteOamTable_SubmarineShadow_0[] = { } }; -const struct Subsprite gEventObjectSpriteOamTable_SubmarineShadow_1[] = { +const struct Subsprite gObjectEventSpriteOamTable_SubmarineShadow_1[] = { { .x = -48, .y = -20, @@ -1255,7 +1255,7 @@ const struct Subsprite gEventObjectSpriteOamTable_SubmarineShadow_1[] = { } }; -const struct Subsprite gEventObjectSpriteOamTable_SubmarineShadow_2[] = { +const struct Subsprite gObjectEventSpriteOamTable_SubmarineShadow_2[] = { { .x = -48, .y = -20, @@ -1386,7 +1386,7 @@ const struct Subsprite gEventObjectSpriteOamTable_SubmarineShadow_2[] = { } }; -const struct Subsprite gEventObjectSpriteOamTable_SubmarineShadow_3[] = { +const struct Subsprite gObjectEventSpriteOamTable_SubmarineShadow_3[] = { { .x = -48, .y = -20, @@ -1517,11 +1517,11 @@ const struct Subsprite gEventObjectSpriteOamTable_SubmarineShadow_3[] = { } }; -const struct SubspriteTable gEventObjectSpriteOamTables_SubmarineShadow[] = { - {16, gEventObjectSpriteOamTable_SubmarineShadow_0}, - {16, gEventObjectSpriteOamTable_SubmarineShadow_0}, - {16, gEventObjectSpriteOamTable_SubmarineShadow_1}, - {16, gEventObjectSpriteOamTable_SubmarineShadow_2}, - {16, gEventObjectSpriteOamTable_SubmarineShadow_3}, - {16, gEventObjectSpriteOamTable_SubmarineShadow_3} +const struct SubspriteTable gObjectEventSpriteOamTables_SubmarineShadow[] = { + {16, gObjectEventSpriteOamTable_SubmarineShadow_0}, + {16, gObjectEventSpriteOamTable_SubmarineShadow_0}, + {16, gObjectEventSpriteOamTable_SubmarineShadow_1}, + {16, gObjectEventSpriteOamTable_SubmarineShadow_2}, + {16, gObjectEventSpriteOamTable_SubmarineShadow_3}, + {16, gObjectEventSpriteOamTable_SubmarineShadow_3} }; diff --git a/src/data/pokemon/base_stats.h b/src/data/pokemon/base_stats.h index 17e677967..2f493bc1b 100644 --- a/src/data/pokemon/base_stats.h +++ b/src/data/pokemon/base_stats.h @@ -1,5 +1,5 @@ -// Maximum value for a female Pokmon is 254 (MON_FEMALE) which is 100% female. -// 255 (MON_GENDERLESS) is reserved for genderless Pokmon. +// Maximum value for a female Pokémon is 254 (MON_FEMALE) which is 100% female. +// 255 (MON_GENDERLESS) is reserved for genderless Pokémon. #define PERCENT_FEMALE(percent) min(254, ((percent * 255) / 100)) #define OLD_UNOWN_BASE_STATS \ diff --git a/src/data/trade.h b/src/data/trade.h index 8601af2a8..b9350863b 100644 --- a/src/data/trade.h +++ b/src/data/trade.h @@ -5,7 +5,7 @@ static const u32 sUnusedStructSizes[] = sizeof(struct SaveBlock1), sizeof(struct MapHeader), // 0x00000530, in RS - sizeof(struct MailStruct), //or EventObject / EventObjectGraphicsInfo + sizeof(struct MailStruct), //or ObjectEvent / ObjectEventGraphicsInfo sizeof(struct Pokemon), //or TrainerCard 0x00000528 // 0x000004D8, in RS }; diff --git a/src/data/wild_encounters.json b/src/data/wild_encounters.json index 19aa40b00..b27de4513 100755 --- a/src/data/wild_encounters.json +++ b/src/data/wild_encounters.json @@ -12214,4 +12214,4 @@ ] } ] -}
\ No newline at end of file +} diff --git a/src/decoration.c b/src/decoration.c index 2a8fe973d..fd41beb6f 100644 --- a/src/decoration.c +++ b/src/decoration.c @@ -1247,22 +1247,22 @@ void SetDecoration(void) if (FlagGet(FLAG_DECORATION_1 + i) == TRUE) { FlagClear(FLAG_DECORATION_1 + i); - for (j = 0; j < gMapHeader.events->eventObjectCount; j++) + for (j = 0; j < gMapHeader.events->objectEventCount; j++) { - if (gMapHeader.events->eventObjects[j].flagId == FLAG_DECORATION_1 + i) + if (gMapHeader.events->objectEvents[j].flagId == FLAG_DECORATION_1 + i) break; } VarSet( - VAR_OBJ_GFX_ID_0 + (gMapHeader.events->eventObjects[j].graphicsId - EVENT_OBJ_GFX_VAR_0), + VAR_OBJ_GFX_ID_0 + (gMapHeader.events->objectEvents[j].graphicsId - OBJ_EVENT_GFX_VAR_0), sPlaceDecorationGraphicsDataBuffer.decoration->tiles[0]); - gSpecialVar_0x8005 = gMapHeader.events->eventObjects[j].localId; + gSpecialVar_0x8005 = gMapHeader.events->objectEvents[j].localId; gSpecialVar_0x8006 = sCurDecorMapX; gSpecialVar_0x8007 = sCurDecorMapY; - TrySpawnEventObject(gSpecialVar_0x8005, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); - TryMoveEventObjectToMapCoords(gSpecialVar_0x8005, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, gSpecialVar_0x8006, gSpecialVar_0x8007); - TryOverrideEventObjectTemplateCoords(gSpecialVar_0x8005, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); + TrySpawnObjectEvent(gSpecialVar_0x8005, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); + TryMoveObjectEventToMapCoords(gSpecialVar_0x8005, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, gSpecialVar_0x8006, gSpecialVar_0x8007); + TryOverrideObjectEventTemplateCoords(gSpecialVar_0x8005, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); break; } } @@ -1366,9 +1366,9 @@ void SetUpPlacingDecorationPlayerAvatar(u8 taskId, struct PlaceDecorationGraphic x -= 8; if (gSaveBlock2Ptr->playerGender == MALE) - sDecor_CameraSpriteObjectIdx2 = AddPseudoEventObject(EVENT_OBJ_GFX_BRENDAN_DECORATING, SpriteCallbackDummy, x, 72, 0); + sDecor_CameraSpriteObjectIdx2 = AddPseudoObjectEvent(OBJ_EVENT_GFX_BRENDAN_DECORATING, SpriteCallbackDummy, x, 72, 0); else - sDecor_CameraSpriteObjectIdx2 = AddPseudoEventObject(EVENT_OBJ_GFX_MAY_DECORATING, SpriteCallbackDummy, x, 72, 0); + sDecor_CameraSpriteObjectIdx2 = AddPseudoObjectEvent(OBJ_EVENT_GFX_MAY_DECORATING, SpriteCallbackDummy, x, 72, 0); gSprites[sDecor_CameraSpriteObjectIdx2].oam.priority = 1; DestroySprite(&gSprites[sDecor_CameraSpriteObjectIdx1]); @@ -1505,7 +1505,7 @@ bool8 CanPlaceDecoration(u8 taskId, const struct Decoration *decoration) if (!sub_81284AC(taskId, curX, curY, behaviorBy)) return FALSE; - behaviorAt = GetEventObjectIdByXYZ(curX, curY, 0); + behaviorAt = GetObjectEventIdByXYZ(curX, curY, 0); if (behaviorAt != 0 && behaviorAt != 16) return FALSE; } @@ -1526,7 +1526,7 @@ bool8 CanPlaceDecoration(u8 taskId, const struct Decoration *decoration) if (!sub_81284AC(taskId, curX, curY, behaviorBy)) return FALSE; - if (GetEventObjectIdByXYZ(curX, curY, 0) != 16) + if (GetObjectEventIdByXYZ(curX, curY, 0) != 16) return FALSE; } } @@ -1543,7 +1543,7 @@ bool8 CanPlaceDecoration(u8 taskId, const struct Decoration *decoration) if (!sub_81284AC(taskId, curX, curY, behaviorBy)) return FALSE; - behaviorAt = GetEventObjectIdByXYZ(curX, curY, 0); + behaviorAt = GetObjectEventIdByXYZ(curX, curY, 0); if (behaviorAt != 0 && behaviorAt != 16) return FALSE; } @@ -1580,7 +1580,7 @@ bool8 CanPlaceDecoration(u8 taskId, const struct Decoration *decoration) return FALSE; } - if (GetEventObjectIdByXYZ(curX, curY, 0) != 16) + if (GetObjectEventIdByXYZ(curX, curY, 0) != 16) return FALSE; } break; @@ -2000,7 +2000,7 @@ u8 gpu_pal_decompress_alloc_tag_and_upload(struct PlaceDecorationGraphicsDataBuf sub_8129048(data); data->decoration = &gDecorations[decor]; if (data->decoration->permission == DECORPERM_SPRITE) - return AddPseudoEventObject(data->decoration->tiles[0], SpriteCallbackDummy, 0, 0, 1); + return AddPseudoObjectEvent(data->decoration->tiles[0], SpriteCallbackDummy, 0, 0, 1); FreeSpritePaletteByTag(PLACE_DECORATION_SELECTOR_TAG); sub_81291E8(data); @@ -2048,7 +2048,7 @@ const u32 *GetDecorationIconPicOrPalette(u16 decor, u8 mode) return gDecorIconTable[decor][mode]; } -u8 AddDecorationIconObjectFromEventObject(u16 tilesTag, u16 paletteTag, u8 decor) +u8 AddDecorationIconObjectFromObjectEvent(u16 tilesTag, u16 paletteTag, u8 decor) { u8 spriteId; struct SpriteSheet sheet; @@ -2079,7 +2079,7 @@ u8 AddDecorationIconObjectFromEventObject(u16 tilesTag, u16 paletteTag, u8 decor } else { - spriteId = AddPseudoEventObject(sPlaceDecorationGraphicsDataBuffer.decoration->tiles[0], SpriteCallbackDummy, 0, 0, 1); + spriteId = AddPseudoObjectEvent(sPlaceDecorationGraphicsDataBuffer.decoration->tiles[0], SpriteCallbackDummy, 0, 0, 1); } return spriteId; } @@ -2099,7 +2099,7 @@ u8 AddDecorationIconObject(u8 decor, s16 x, s16 y, u8 priority, u16 tilesTag, u1 } else if (gDecorIconTable[decor][0] == NULL) { - spriteId = AddDecorationIconObjectFromEventObject(tilesTag, paletteTag, decor); + spriteId = AddDecorationIconObjectFromObjectEvent(tilesTag, paletteTag, decor); if (spriteId == MAX_SPRITES) return MAX_SPRITES; @@ -2143,11 +2143,11 @@ void sub_8129708(void) { gSpecialVar_0x8005 = sDecorRearrangementDataBuffer[gSpecialVar_0x8004].flagId; sub_81296EC(sDecorRearrangementDataBuffer[gSpecialVar_0x8004].idx); - for (i = 0; i < gMapHeader.events->eventObjectCount; i++) + for (i = 0; i < gMapHeader.events->objectEventCount; i++) { - if (gMapHeader.events->eventObjects[i].flagId == gSpecialVar_0x8005) + if (gMapHeader.events->objectEvents[i].flagId == gSpecialVar_0x8005) { - gSpecialVar_0x8006 = gMapHeader.events->eventObjects[i].localId; + gSpecialVar_0x8006 = gMapHeader.events->objectEvents[i].localId; break; } } @@ -2155,15 +2155,15 @@ void sub_8129708(void) } // Unused -void GetEventObjectLocalIdByFlag(void) +void GetObjectEventLocalIdByFlag(void) { u8 i; - for (i = 0; i < gMapHeader.events->eventObjectCount; i++) + for (i = 0; i < gMapHeader.events->objectEventCount; i++) { - if (gMapHeader.events->eventObjects[i].flagId == gSpecialVar_0x8004) + if (gMapHeader.events->objectEvents[i].flagId == gSpecialVar_0x8004) { - gSpecialVar_0x8005 = gMapHeader.events->eventObjects[i].localId; + gSpecialVar_0x8005 = gMapHeader.events->objectEvents[i].localId; break; } } @@ -2252,9 +2252,9 @@ void SetUpPuttingAwayDecorationPlayerAvatar(void) sub_812A39C(); gFieldCamera.spriteId = CreateSprite(&gUnknown_085A7404, 120, 80, 0); if (gSaveBlock2Ptr->playerGender == MALE) - sDecor_CameraSpriteObjectIdx2 = AddPseudoEventObject(EVENT_OBJ_GFX_BRENDAN_DECORATING, SpriteCallbackDummy, 136, 72, 0); + sDecor_CameraSpriteObjectIdx2 = AddPseudoObjectEvent(OBJ_EVENT_GFX_BRENDAN_DECORATING, SpriteCallbackDummy, 136, 72, 0); else - sDecor_CameraSpriteObjectIdx2 = AddPseudoEventObject(EVENT_OBJ_GFX_MAY_DECORATING, SpriteCallbackDummy, 136, 72, 0); + sDecor_CameraSpriteObjectIdx2 = AddPseudoObjectEvent(OBJ_EVENT_GFX_MAY_DECORATING, SpriteCallbackDummy, 136, 72, 0); gSprites[sDecor_CameraSpriteObjectIdx2].oam.priority = 1; DestroySprite(&gSprites[sDecor_CameraSpriteObjectIdx1]); @@ -2455,9 +2455,9 @@ void sub_8129F20(void) yOff = gDecorationContext.pos[sDecorRearrangementDataBuffer[sCurDecorSelectedInRearrangement].idx] & 0x0F; for (i = 0; i < 0x40; i++) { - if (gSaveBlock1Ptr->eventObjectTemplates[i].x == xOff && gSaveBlock1Ptr->eventObjectTemplates[i].y == yOff && !FlagGet(gSaveBlock1Ptr->eventObjectTemplates[i].flagId)) + if (gSaveBlock1Ptr->objectEventTemplates[i].x == xOff && gSaveBlock1Ptr->objectEventTemplates[i].y == yOff && !FlagGet(gSaveBlock1Ptr->objectEventTemplates[i].flagId)) { - sDecorRearrangementDataBuffer[sCurDecorSelectedInRearrangement].flagId = gSaveBlock1Ptr->eventObjectTemplates[i].flagId; + sDecorRearrangementDataBuffer[sCurDecorSelectedInRearrangement].flagId = gSaveBlock1Ptr->objectEventTemplates[i].flagId; break; } } diff --git a/src/dodrio_berry_picking.c b/src/dodrio_berry_picking.c index 958922067..40074e0af 100644 --- a/src/dodrio_berry_picking.c +++ b/src/dodrio_berry_picking.c @@ -2770,22 +2770,22 @@ struct UnkPacket2 u8 id; u8 unk1_0:4; u8 unk1_1:4; - u8 unk2_0:4; - u8 unk2_1:4; - u8 unk3_0:4; - u8 unk3_1:4; - u8 unk4_0:4; - u8 unk4_1:4; - u8 unk5_0:4; - u8 unk5_1:4; - u8 unk6_0:2; - u8 unk6_1:2; - u8 unk6_2:2; - u8 unk6_3:2; - u8 unk7_0:2; - u8 unk7_1:2; - u8 unk7_2:2; - u8 unk7_3:2; + u16 unk2_0:4; + u16 unk2_1:4; + u16 unk3_0:4; + u16 unk3_1:4; + u16 unk4_0:4; + u16 unk4_1:4; + u16 unk5_0:4; + u16 unk5_1:4; + u16 unk6_0:2; + u16 unk6_1:2; + u16 unk6_2:2; + u16 unk6_3:2; + u16 unk7_0:2; + u16 unk7_1:2; + u16 unk7_2:2; + u16 unk7_3:2; u8 unk8_0:2; u8 unk8_1:2; u8 unk8_2:2; @@ -2808,7 +2808,6 @@ struct UnkPacket2 u8 unkB_6:1; }; -#ifdef NONMATCHING static void sub_8027E30(struct DodrioSubstruct_31A0 *arg0, struct DodrioSubstruct_31A0_2C *arg1, struct DodrioSubstruct_31A0_2C *arg2, struct DodrioSubstruct_31A0_2C *arg3, struct DodrioSubstruct_31A0_2C *arg4, struct DodrioSubstruct_31A0_2C *arg5, u8 arg6, u32 arg7, u32 arg8) { struct UnkPacket2 packet; @@ -2860,422 +2859,6 @@ static void sub_8027E30(struct DodrioSubstruct_31A0 *arg0, struct DodrioSubstruc packet.unkB_0 = arg8; sub_800FE50(&packet); } -#else -NAKED -static void sub_8027E30(struct DodrioSubstruct_31A0 *arg0, struct DodrioSubstruct_31A0_2C *arg1, struct DodrioSubstruct_31A0_2C *arg2, struct DodrioSubstruct_31A0_2C *arg3, struct DodrioSubstruct_31A0_2C *arg4, struct DodrioSubstruct_31A0_2C *arg5, u8 arg6, u32 arg7, u32 arg8) -{ - asm_unified(" push {r4-r7,lr}\n\ - mov r7, r10\n\ - mov r6, r9\n\ - mov r5, r8\n\ - push {r5-r7}\n\ - sub sp, 0x20\n\ - ldr r4, [sp, 0x48]\n\ - lsls r4, 24\n\ - str r4, [sp, 0x1C]\n\ - movs r4, 0x14\n\ - adds r4, r0\n\ - mov r9, r4\n\ - mov r5, sp\n\ - movs r4, 0x2\n\ - strb r4, [r5]\n\ - mov r10, sp\n\ - mov r5, r9\n\ - ldrb r4, [r5, 0xB]\n\ - movs r7, 0xF\n\ - adds r5, r7, 0\n\ - ands r5, r4\n\ - mov r6, r10\n\ - ldrb r6, [r6, 0x1]\n\ - mov r8, r6\n\ - movs r4, 0x10\n\ - negs r4, r4\n\ - mov r6, r8\n\ - ands r4, r6\n\ - orrs r4, r5\n\ - mov r5, r10\n\ - strb r4, [r5, 0x1]\n\ - mov r8, sp\n\ - mov r6, r9\n\ - ldrb r5, [r6, 0xC]\n\ - lsls r5, 4\n\ - ands r4, r7\n\ - orrs r4, r5\n\ - mov r5, r8\n\ - strb r4, [r5, 0x1]\n\ - ldrb r5, [r6, 0xD]\n\ - movs r6, 0xF\n\ - ands r5, r6\n\ - mov r4, r10\n\ - ldrb r4, [r4, 0x2]\n\ - mov r8, r4\n\ - movs r4, 0x10\n\ - negs r4, r4\n\ - mov r6, r8\n\ - ands r4, r6\n\ - orrs r4, r5\n\ - mov r5, r10\n\ - strb r4, [r5, 0x2]\n\ - mov r8, sp\n\ - mov r6, r9\n\ - ldrb r5, [r6, 0xE]\n\ - lsls r5, 4\n\ - ands r4, r7\n\ - orrs r4, r5\n\ - mov r5, r8\n\ - strb r4, [r5, 0x2]\n\ - ldrb r5, [r6, 0xF]\n\ - movs r6, 0xF\n\ - ands r5, r6\n\ - mov r4, r10\n\ - ldrb r4, [r4, 0x3]\n\ - mov r8, r4\n\ - movs r4, 0x10\n\ - negs r4, r4\n\ - mov r6, r8\n\ - ands r4, r6\n\ - orrs r4, r5\n\ - mov r5, r10\n\ - strb r4, [r5, 0x3]\n\ - mov r8, sp\n\ - mov r6, r9\n\ - ldrb r5, [r6, 0x10]\n\ - lsls r5, 4\n\ - ands r4, r7\n\ - orrs r4, r5\n\ - mov r5, r8\n\ - strb r4, [r5, 0x3]\n\ - ldrb r5, [r6, 0x11]\n\ - movs r6, 0xF\n\ - ands r5, r6\n\ - mov r4, r10\n\ - ldrb r4, [r4, 0x4]\n\ - mov r8, r4\n\ - movs r4, 0x10\n\ - negs r4, r4\n\ - mov r6, r8\n\ - ands r4, r6\n\ - orrs r4, r5\n\ - mov r5, r10\n\ - strb r4, [r5, 0x4]\n\ - mov r8, sp\n\ - mov r6, r9\n\ - ldrb r5, [r6, 0x12]\n\ - lsls r5, 4\n\ - ands r4, r7\n\ - orrs r4, r5\n\ - mov r5, r8\n\ - strb r4, [r5, 0x4]\n\ - ldrb r4, [r6, 0x13]\n\ - movs r6, 0xF\n\ - ands r4, r6\n\ - mov r6, r8\n\ - ldrb r5, [r6, 0x5]\n\ - movs r6, 0x10\n\ - negs r6, r6\n\ - ands r6, r5\n\ - orrs r6, r4\n\ - str r6, [sp, 0xC]\n\ - mov r4, r8\n\ - strb r6, [r4, 0x5]\n\ - mov r5, sp\n\ - mov r6, r9\n\ - ldrb r4, [r6, 0x14]\n\ - lsls r4, 4\n\ - ldr r6, [sp, 0xC]\n\ - ands r6, r7\n\ - orrs r6, r4\n\ - strb r6, [r5, 0x5]\n\ - mov r7, sp\n\ - movs r4, 0x3\n\ - mov r8, r4\n\ - ldrb r0, [r0, 0x14]\n\ - mov r5, r8\n\ - ands r0, r5\n\ - ldrb r5, [r7, 0x6]\n\ - movs r6, 0x4\n\ - negs r6, r6\n\ - mov r10, r6\n\ - mov r4, r10\n\ - ands r4, r5\n\ - orrs r4, r0\n\ - strb r4, [r7, 0x6]\n\ - mov r5, r9\n\ - ldrb r0, [r5, 0x1]\n\ - mov r6, r8\n\ - ands r0, r6\n\ - lsls r0, 2\n\ - movs r5, 0xD\n\ - negs r5, r5\n\ - ands r5, r4\n\ - orrs r5, r0\n\ - strb r5, [r7, 0x6]\n\ - mov r0, r9\n\ - ldrb r4, [r0, 0x2]\n\ - ands r4, r6\n\ - lsls r4, 4\n\ - movs r0, 0x31\n\ - negs r0, r0\n\ - ands r0, r5\n\ - orrs r0, r4\n\ - strb r0, [r7, 0x6]\n\ - mov r5, sp\n\ - mov r6, r9\n\ - ldrb r4, [r6, 0x3]\n\ - lsls r4, 6\n\ - movs r6, 0x3F\n\ - ands r0, r6\n\ - orrs r0, r4\n\ - strb r0, [r5, 0x6]\n\ - mov r4, r9\n\ - ldrb r0, [r4, 0x4]\n\ - mov r5, r8\n\ - ands r0, r5\n\ - ldrb r5, [r7, 0x7]\n\ - mov r4, r10\n\ - ands r4, r5\n\ - orrs r4, r0\n\ - strb r4, [r7, 0x7]\n\ - mov r6, r9\n\ - ldrb r0, [r6, 0x5]\n\ - mov r5, r8\n\ - ands r0, r5\n\ - lsls r0, 2\n\ - movs r5, 0xD\n\ - negs r5, r5\n\ - ands r5, r4\n\ - orrs r5, r0\n\ - strb r5, [r7, 0x7]\n\ - ldrb r4, [r6, 0x6]\n\ - mov r6, r8\n\ - ands r4, r6\n\ - lsls r4, 4\n\ - movs r0, 0x31\n\ - negs r0, r0\n\ - ands r0, r5\n\ - orrs r0, r4\n\ - strb r0, [r7, 0x7]\n\ - mov r5, sp\n\ - mov r6, r9\n\ - ldrb r4, [r6, 0x7]\n\ - lsls r4, 6\n\ - movs r6, 0x3F\n\ - ands r0, r6\n\ - orrs r0, r4\n\ - strb r0, [r5, 0x7]\n\ - mov r8, sp\n\ - mov r0, r9\n\ - ldrb r4, [r0, 0x8]\n\ - movs r7, 0x3\n\ - adds r0, r7, 0\n\ - ands r0, r4\n\ - mov r4, r8\n\ - ldrb r5, [r4, 0x8]\n\ - mov r4, r10\n\ - ands r4, r5\n\ - orrs r4, r0\n\ - mov r5, r8\n\ - strb r4, [r5, 0x8]\n\ - mov r6, r9\n\ - ldrb r5, [r6, 0x9]\n\ - adds r0, r7, 0\n\ - ands r0, r5\n\ - lsls r0, 2\n\ - movs r5, 0xD\n\ - negs r5, r5\n\ - ands r5, r4\n\ - orrs r5, r0\n\ - mov r0, r8\n\ - strb r5, [r0, 0x8]\n\ - ldrb r0, [r1]\n\ - adds r4, r7, 0\n\ - ands r4, r0\n\ - lsls r4, 4\n\ - movs r0, 0x31\n\ - negs r0, r0\n\ - ands r0, r5\n\ - orrs r0, r4\n\ - mov r4, r8\n\ - strb r0, [r4, 0x8]\n\ - mov r5, sp\n\ - ldrb r4, [r2]\n\ - lsls r4, 6\n\ - movs r6, 0x3F\n\ - ands r0, r6\n\ - orrs r0, r4\n\ - strb r0, [r5, 0x8]\n\ - ldrb r4, [r3]\n\ - adds r0, r7, 0\n\ - ands r0, r4\n\ - ldrb r4, [r5, 0x9]\n\ - mov r6, r10\n\ - ands r6, r4\n\ - orrs r6, r0\n\ - mov r10, r6\n\ - strb r6, [r5, 0x9]\n\ - ldr r0, [sp, 0x40]\n\ - ldrb r4, [r0]\n\ - adds r0, r7, 0\n\ - ands r0, r4\n\ - lsls r0, 2\n\ - movs r4, 0xD\n\ - negs r4, r4\n\ - ands r6, r4\n\ - orrs r6, r0\n\ - str r6, [sp, 0x10]\n\ - strb r6, [r5, 0x9]\n\ - mov r4, sp\n\ - ldr r5, [sp, 0x44]\n\ - ldrb r0, [r5]\n\ - adds r6, r7, 0\n\ - ands r6, r0\n\ - lsls r0, r6, 4\n\ - subs r7, 0x34\n\ - ldr r5, [sp, 0x10]\n\ - ands r7, r5\n\ - orrs r7, r0\n\ - strb r7, [r4, 0x9]\n\ - mov r5, sp\n\ - ldrb r0, [r1, 0x4]\n\ - movs r6, 0x1\n\ - mov r12, r6\n\ - mov r4, r12\n\ - ands r4, r0\n\ - lsls r4, 6\n\ - movs r0, 0x41\n\ - negs r0, r0\n\ - mov r10, r0\n\ - ands r0, r7\n\ - orrs r0, r4\n\ - strb r0, [r5, 0x9]\n\ - ldrb r4, [r2, 0x4]\n\ - lsls r4, 7\n\ - movs r5, 0x7F\n\ - ands r0, r5\n\ - orrs r0, r4\n\ - mov r4, r8\n\ - strb r0, [r4, 0x9]\n\ - ldrb r4, [r3, 0x4]\n\ - mov r0, r12\n\ - ands r0, r4\n\ - mov r5, r8\n\ - ldrb r4, [r5, 0xA]\n\ - movs r7, 0x2\n\ - negs r7, r7\n\ - adds r5, r7, 0\n\ - ands r5, r4\n\ - orrs r5, r0\n\ - mov r6, r8\n\ - strb r5, [r6, 0xA]\n\ - mov r9, sp\n\ - ldr r4, [sp, 0x40]\n\ - ldrb r0, [r4, 0x4]\n\ - mov r4, r12\n\ - ands r4, r0\n\ - lsls r4, 1\n\ - movs r6, 0x3\n\ - negs r6, r6\n\ - mov r8, r6\n\ - mov r0, r8\n\ - ands r0, r5\n\ - orrs r0, r4\n\ - mov r4, r9\n\ - strb r0, [r4, 0xA]\n\ - ldr r6, [sp, 0x44]\n\ - ldrb r5, [r6, 0x4]\n\ - mov r4, r12\n\ - ands r4, r5\n\ - lsls r4, 2\n\ - movs r5, 0x5\n\ - negs r5, r5\n\ - ands r0, r5\n\ - orrs r0, r4\n\ - mov r4, r9\n\ - strb r0, [r4, 0xA]\n\ - mov r4, sp\n\ - ldrb r1, [r1, 0x8]\n\ - mov r0, r12\n\ - ands r0, r1\n\ - lsls r0, 2\n\ - ldrb r1, [r4, 0xB]\n\ - ands r5, r1\n\ - orrs r5, r0\n\ - strb r5, [r4, 0xB]\n\ - ldrb r1, [r2, 0x8]\n\ - mov r0, r12\n\ - ands r0, r1\n\ - lsls r0, 3\n\ - movs r1, 0x9\n\ - negs r1, r1\n\ - ands r1, r5\n\ - orrs r1, r0\n\ - strb r1, [r4, 0xB]\n\ - ldrb r2, [r3, 0x8]\n\ - mov r0, r12\n\ - ands r0, r2\n\ - lsls r0, 4\n\ - movs r2, 0x11\n\ - negs r2, r2\n\ - ands r2, r1\n\ - orrs r2, r0\n\ - strb r2, [r4, 0xB]\n\ - mov r3, sp\n\ - ldr r5, [sp, 0x40]\n\ - ldrb r0, [r5, 0x8]\n\ - mov r1, r12\n\ - ands r1, r0\n\ - lsls r1, 5\n\ - movs r0, 0x21\n\ - negs r0, r0\n\ - ands r0, r2\n\ - orrs r0, r1\n\ - strb r0, [r3, 0xB]\n\ - mov r2, sp\n\ - ldrb r1, [r6, 0x8]\n\ - mov r6, r12\n\ - ands r6, r1\n\ - lsls r1, r6, 6\n\ - mov r3, r10\n\ - ands r0, r3\n\ - orrs r0, r1\n\ - strb r0, [r2, 0xB]\n\ - ldr r4, [sp, 0x1C]\n\ - lsrs r3, r4, 21\n\ - ldrb r1, [r2, 0xA]\n\ - movs r0, 0x7\n\ - ands r0, r1\n\ - orrs r0, r3\n\ - strb r0, [r2, 0xA]\n\ - mov r1, sp\n\ - ldr r5, [sp, 0x4C]\n\ - movs r6, 0x1\n\ - ands r5, r6\n\ - lsls r2, r5, 1\n\ - ldrb r0, [r1, 0xB]\n\ - mov r3, r8\n\ - ands r3, r0\n\ - orrs r3, r2\n\ - mov r8, r3\n\ - strb r3, [r1, 0xB]\n\ - mov r0, sp\n\ - ldr r4, [sp, 0x50]\n\ - ands r4, r6\n\ - mov r5, r8\n\ - ands r5, r7\n\ - orrs r5, r4\n\ - strb r5, [r0, 0xB]\n\ - bl sub_800FE50\n\ - add sp, 0x20\n\ - pop {r3-r5}\n\ - mov r8, r3\n\ - mov r9, r4\n\ - mov r10, r5\n\ - pop {r4-r7}\n\ - pop {r0}\n\ - bx r0\n\ -"); -} -#endif static u32 sub_8028164(u32 unused, struct DodrioSubstruct_31A0 *arg0, struct DodrioSubstruct_31A0_2C *arg1, struct DodrioSubstruct_31A0_2C *arg2, struct DodrioSubstruct_31A0_2C *arg3, struct DodrioSubstruct_31A0_2C *arg4, struct DodrioSubstruct_31A0_2C *arg5, u8 *arg6, u32 *arg7, u32 *arg8) { diff --git a/src/easy_chat.c b/src/easy_chat.c index 86349cbd6..05e366420 100644 --- a/src/easy_chat.c +++ b/src/easy_chat.c @@ -4718,13 +4718,13 @@ static void sub_811E828(void) switch (GetDisplayedPersonType()) { case EASY_CHAT_PERSON_REPORTER_MALE: - graphicsId = EVENT_OBJ_GFX_REPORTER_M; + graphicsId = OBJ_EVENT_GFX_REPORTER_M; break; case EASY_CHAT_PERSON_REPORTER_FEMALE: - graphicsId = EVENT_OBJ_GFX_REPORTER_F; + graphicsId = OBJ_EVENT_GFX_REPORTER_F; break; case EASY_CHAT_PERSON_BOY: - graphicsId = EVENT_OBJ_GFX_BOY_1; + graphicsId = OBJ_EVENT_GFX_BOY_1; break; default: return; @@ -4733,15 +4733,15 @@ static void sub_811E828(void) if (GetEasyChatScreenFrameId() != 4) return; - spriteId = AddPseudoEventObject(graphicsId, SpriteCallbackDummy, 76, 40, 0); + spriteId = AddPseudoObjectEvent(graphicsId, SpriteCallbackDummy, 76, 40, 0); if (spriteId != MAX_SPRITES) { gSprites[spriteId].oam.priority = 0; StartSpriteAnim(&gSprites[spriteId], 2); } - spriteId = AddPseudoEventObject( - gSaveBlock2Ptr->playerGender == MALE ? EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL : EVENT_OBJ_GFX_RIVAL_MAY_NORMAL, + spriteId = AddPseudoObjectEvent( + gSaveBlock2Ptr->playerGender == MALE ? OBJ_EVENT_GFX_RIVAL_BRENDAN_NORMAL : OBJ_EVENT_GFX_RIVAL_MAY_NORMAL, SpriteCallbackDummy, 52, 40, diff --git a/src/event_data.c b/src/event_data.c index 15ca47f7c..2bde09012 100644 --- a/src/event_data.c +++ b/src/event_data.c @@ -193,7 +193,7 @@ bool8 VarSet(u16 id, u16 value) return TRUE; } -u8 VarGetEventObjectGraphicsId(u8 id) +u8 VarGetObjectEventGraphicsId(u8 id) { return VarGet(VAR_OBJ_GFX_ID_0 + id); } diff --git a/src/event_obj_lock.c b/src/event_object_lock.c index 817276694..b728f7774 100644 --- a/src/event_obj_lock.c +++ b/src/event_object_lock.c @@ -1,8 +1,8 @@ #include "global.h" #include "event_data.h" +#include "event_object_lock.h" #include "event_object_movement.h" #include "field_player_avatar.h" -#include "event_obj_lock.h" #include "script_movement.h" #include "task.h" #include "trainer_see.h" @@ -39,9 +39,9 @@ bool8 sub_80983C4(void) } -void ScriptFreezeEventObjects(void) +void ScriptFreezeObjectEvents(void) { - FreezeEventObjects(); + FreezeObjectEvents(); CreateTask(sub_80983A4, 80); } @@ -54,9 +54,9 @@ static void sub_8098400(u8 taskId) sub_808B864(); task->data[0] = 1; } - if (!task->data[1] && !gEventObjects[gSelectedEventObject].singleMovementActive) + if (!task->data[1] && !gObjectEvents[gSelectedObjectEvent].singleMovementActive) { - FreezeEventObject(&gEventObjects[gSelectedEventObject]); + FreezeObjectEvent(&gObjectEvents[gSelectedObjectEvent]); task->data[1] = 1; } if (task->data[0] && task->data[1]) @@ -76,61 +76,61 @@ bool8 sub_809847C(void) } } -void LockSelectedEventObject(void) +void LockSelectedObjectEvent(void) { u8 taskId; - FreezeEventObjectsExceptOne(gSelectedEventObject); + FreezeObjectEventsExceptOne(gSelectedObjectEvent); taskId = CreateTask(sub_8098400, 80); - if (!gEventObjects[gSelectedEventObject].singleMovementActive) + if (!gObjectEvents[gSelectedObjectEvent].singleMovementActive) { - FreezeEventObject(&gEventObjects[gSelectedEventObject]); + FreezeObjectEvent(&gObjectEvents[gSelectedObjectEvent]); gTasks[taskId].data[1] = 1; } } -void ScriptUnfreezeEventObjects(void) +void ScriptUnfreezeObjectEvents(void) { - u8 playerObjectId = GetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0); - EventObjectClearHeldMovementIfFinished(&gEventObjects[playerObjectId]); - ScriptMovement_UnfreezeEventObjects(); - UnfreezeEventObjects(); + u8 playerObjectId = GetObjectEventIdByLocalIdAndMap(OBJ_EVENT_ID_PLAYER, 0, 0); + ObjectEventClearHeldMovementIfFinished(&gObjectEvents[playerObjectId]); + ScriptMovement_UnfreezeObjectEvents(); + UnfreezeObjectEvents(); } void sub_8098524(void) { u8 playerObjectId; - if (gEventObjects[gSelectedEventObject].active) - EventObjectClearHeldMovementIfFinished(&gEventObjects[gSelectedEventObject]); - playerObjectId = GetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0); - EventObjectClearHeldMovementIfFinished(&gEventObjects[playerObjectId]); - ScriptMovement_UnfreezeEventObjects(); - UnfreezeEventObjects(); + if (gObjectEvents[gSelectedObjectEvent].active) + ObjectEventClearHeldMovementIfFinished(&gObjectEvents[gSelectedObjectEvent]); + playerObjectId = GetObjectEventIdByLocalIdAndMap(OBJ_EVENT_ID_PLAYER, 0, 0); + ObjectEventClearHeldMovementIfFinished(&gObjectEvents[playerObjectId]); + ScriptMovement_UnfreezeObjectEvents(); + UnfreezeObjectEvents(); } void Script_FacePlayer(void) { - EventObjectFaceOppositeDirection(&gEventObjects[gSelectedEventObject], gSpecialVar_Facing); + ObjectEventFaceOppositeDirection(&gObjectEvents[gSelectedObjectEvent], gSpecialVar_Facing); } void Script_ClearHeldMovement(void) { - EventObjectClearHeldMovementIfActive(&gEventObjects[gSelectedEventObject]); + ObjectEventClearHeldMovementIfActive(&gObjectEvents[gSelectedObjectEvent]); } static void sub_80985BC(u8 taskId) { struct Task *task = &gTasks[taskId]; - u8 eventObjectId = task->data[2]; + u8 objectEventId = task->data[2]; if (!task->data[0] && IsPlayerStandingStill() == TRUE) { sub_808B864(); task->data[0] = 1; } - if (!task->data[1] && !gEventObjects[eventObjectId].singleMovementActive) + if (!task->data[1] && !gObjectEvents[objectEventId].singleMovementActive) { - FreezeEventObject(&gEventObjects[eventObjectId]); + FreezeObjectEvent(&gObjectEvents[objectEventId]); task->data[1] = 1; } if (task->data[0] && task->data[1]) @@ -140,34 +140,34 @@ static void sub_80985BC(u8 taskId) void sub_8098630(void) { u8 trainerObjectId1, trainerObjectId2, taskId; - trainerObjectId1 = GetChosenApproachingTrainerEventObjectId(0); + trainerObjectId1 = GetChosenApproachingTrainerObjectEventId(0); if(gNoOfApproachingTrainers == 2) { - trainerObjectId2 = GetChosenApproachingTrainerEventObjectId(1); + trainerObjectId2 = GetChosenApproachingTrainerObjectEventId(1); sub_8098074(trainerObjectId1, trainerObjectId2); taskId = CreateTask(sub_80985BC, 80); gTasks[taskId].data[2] = trainerObjectId1; - if(!gEventObjects[trainerObjectId1].singleMovementActive) + if(!gObjectEvents[trainerObjectId1].singleMovementActive) { - FreezeEventObject(&gEventObjects[trainerObjectId1]); + FreezeObjectEvent(&gObjectEvents[trainerObjectId1]); gTasks[taskId].data[1] = 1; } taskId = CreateTask(sub_80985BC, 81); gTasks[taskId].data[2] = trainerObjectId2; - if(!gEventObjects[trainerObjectId2].singleMovementActive) + if(!gObjectEvents[trainerObjectId2].singleMovementActive) { - FreezeEventObject(&gEventObjects[trainerObjectId2]); + FreezeObjectEvent(&gObjectEvents[trainerObjectId2]); gTasks[taskId].data[1] = 1; } } else { - FreezeEventObjectsExceptOne(trainerObjectId1); + FreezeObjectEventsExceptOne(trainerObjectId1); taskId = CreateTask(sub_80985BC, 80); gTasks[taskId].data[2] = trainerObjectId1; - if(!gEventObjects[trainerObjectId1].singleMovementActive) + if(!gObjectEvents[trainerObjectId1].singleMovementActive) { - FreezeEventObject(&gEventObjects[trainerObjectId1]); + FreezeObjectEvent(&gObjectEvents[trainerObjectId1]); gTasks[taskId].data[1] = 1; } } diff --git a/src/event_object_movement.c b/src/event_object_movement.c index 491e3cd6b..464e6acec 100644 --- a/src/event_object_movement.c +++ b/src/event_object_movement.c @@ -22,7 +22,7 @@ #include "trainer_see.h" #include "trainer_hill.h" #include "util.h" -#include "constants/event_object_movement_constants.h" +#include "constants/event_object_movement.h" #include "constants/event_objects.h" #include "constants/field_effects.h" #include "constants/items.h" @@ -31,104 +31,104 @@ // this file was known as evobjmv.c in Game Freak's original source #define movement_type_def(setup, table) \ -static u8 setup##_callback(struct EventObject *, struct Sprite *);\ +static u8 setup##_callback(struct ObjectEvent *, struct Sprite *);\ void setup(struct Sprite *sprite)\ {\ - UpdateEventObjectCurrentMovement(&gEventObjects[sprite->data[0]], sprite, setup##_callback);\ + UpdateObjectEventCurrentMovement(&gObjectEvents[sprite->data[0]], sprite, setup##_callback);\ }\ -static u8 setup##_callback(struct EventObject *eventObject, struct Sprite *sprite)\ +static u8 setup##_callback(struct ObjectEvent *objectEvent, struct Sprite *sprite)\ {\ - return table[sprite->data[1]](eventObject, sprite);\ + return table[sprite->data[1]](objectEvent, sprite);\ } #define movement_type_empty_callback(setup) \ -static u8 setup##_callback(struct EventObject *, struct Sprite *);\ +static u8 setup##_callback(struct ObjectEvent *, struct Sprite *);\ void setup(struct Sprite *sprite)\ {\ - UpdateEventObjectCurrentMovement(&gEventObjects[sprite->data[0]], sprite, setup##_callback);\ + UpdateObjectEventCurrentMovement(&gObjectEvents[sprite->data[0]], sprite, setup##_callback);\ }\ -static u8 setup##_callback(struct EventObject *eventObject, struct Sprite *sprite)\ +static u8 setup##_callback(struct ObjectEvent *objectEvent, struct Sprite *sprite)\ {\ return 0;\ } EWRAM_DATA u8 sCurrentReflectionType = 0; EWRAM_DATA u16 sCurrentSpecialObjectPaletteTag = 0; -EWRAM_DATA struct LockedAnimEventObjects *gLockedAnimEventObjects = {0}; +EWRAM_DATA struct LockedAnimObjectEvents *gLockedAnimObjectEvents = {0}; static void MoveCoordsInDirection(u32, s16 *, s16 *, s16, s16); -static bool8 EventObjectExecSingleMovementAction(struct EventObject *, struct Sprite *); +static bool8 ObjectEventExecSingleMovementAction(struct ObjectEvent *, struct Sprite *); static void SetMovementDelay(struct Sprite *, s16); static bool8 WaitForMovementDelay(struct Sprite *); -static u8 GetCollisionInDirection(struct EventObject *, u8); +static u8 GetCollisionInDirection(struct ObjectEvent *, u8); static u32 state_to_direction(u8, u32, u32); -static void TryEnableEventObjectAnim(struct EventObject *, struct Sprite *); -static void EventObjectExecHeldMovementAction(struct EventObject *, struct Sprite *); -static void UpdateEventObjectSpriteAnimPause(struct EventObject *, struct Sprite *); -static bool8 IsCoordOutsideEventObjectMovementRange(struct EventObject *, s16, s16); -static bool8 IsMetatileDirectionallyImpassable(struct EventObject *, s16, s16, u8); -static bool8 DoesObjectCollideWithObjectAt(struct EventObject *, s16, s16); -static void sub_8096530(struct EventObject *, struct Sprite *); -static void UpdateEventObjSpriteVisibility(struct EventObject *, struct Sprite *); -static void EventObjectUpdateMetatileBehaviors(struct EventObject*); -static void GetGroundEffectFlags_Reflection(struct EventObject*, u32*); -static void GetGroundEffectFlags_TallGrassOnSpawn(struct EventObject*, u32*); -static void GetGroundEffectFlags_LongGrassOnSpawn(struct EventObject*, u32*); -static void GetGroundEffectFlags_SandHeap(struct EventObject*, u32*); -static void GetGroundEffectFlags_ShallowFlowingWater(struct EventObject*, u32*); -static void GetGroundEffectFlags_ShortGrass(struct EventObject*, u32*); -static void GetGroundEffectFlags_HotSprings(struct EventObject*, u32*); -static void GetGroundEffectFlags_TallGrassOnBeginStep(struct EventObject*, u32*); -static void GetGroundEffectFlags_LongGrassOnBeginStep(struct EventObject*, u32*); -static void GetGroundEffectFlags_Tracks(struct EventObject*, u32*); -static void GetGroundEffectFlags_Puddle(struct EventObject*, u32*); -static void GetGroundEffectFlags_Ripple(struct EventObject*, u32*); -static void GetGroundEffectFlags_Seaweed(struct EventObject*, u32*); -static void GetGroundEffectFlags_JumpLanding(struct EventObject*, u32*); -static u8 EventObjectCheckForReflectiveSurface(struct EventObject*); +static void TryEnableObjectEventAnim(struct ObjectEvent *, struct Sprite *); +static void ObjectEventExecHeldMovementAction(struct ObjectEvent *, struct Sprite *); +static void UpdateObjectEventSpriteAnimPause(struct ObjectEvent *, struct Sprite *); +static bool8 IsCoordOutsideObjectEventMovementRange(struct ObjectEvent *, s16, s16); +static bool8 IsMetatileDirectionallyImpassable(struct ObjectEvent *, s16, s16, u8); +static bool8 DoesObjectCollideWithObjectAt(struct ObjectEvent *, s16, s16); +static void sub_8096530(struct ObjectEvent *, struct Sprite *); +static void UpdateObjEventSpriteVisibility(struct ObjectEvent *, struct Sprite *); +static void ObjectEventUpdateMetatileBehaviors(struct ObjectEvent*); +static void GetGroundEffectFlags_Reflection(struct ObjectEvent*, u32*); +static void GetGroundEffectFlags_TallGrassOnSpawn(struct ObjectEvent*, u32*); +static void GetGroundEffectFlags_LongGrassOnSpawn(struct ObjectEvent*, u32*); +static void GetGroundEffectFlags_SandHeap(struct ObjectEvent*, u32*); +static void GetGroundEffectFlags_ShallowFlowingWater(struct ObjectEvent*, u32*); +static void GetGroundEffectFlags_ShortGrass(struct ObjectEvent*, u32*); +static void GetGroundEffectFlags_HotSprings(struct ObjectEvent*, u32*); +static void GetGroundEffectFlags_TallGrassOnBeginStep(struct ObjectEvent*, u32*); +static void GetGroundEffectFlags_LongGrassOnBeginStep(struct ObjectEvent*, u32*); +static void GetGroundEffectFlags_Tracks(struct ObjectEvent*, u32*); +static void GetGroundEffectFlags_Puddle(struct ObjectEvent*, u32*); +static void GetGroundEffectFlags_Ripple(struct ObjectEvent*, u32*); +static void GetGroundEffectFlags_Seaweed(struct ObjectEvent*, u32*); +static void GetGroundEffectFlags_JumpLanding(struct ObjectEvent*, u32*); +static u8 ObjectEventCheckForReflectiveSurface(struct ObjectEvent*); static u8 GetReflectionTypeByMetatileBehavior(u32); static void InitObjectPriorityByZCoord(struct Sprite *sprite, u8 z); -static void EventObjectUpdateSubpriority(struct EventObject*, struct Sprite*); -static void DoTracksGroundEffect_None(struct EventObject*, struct Sprite*, u8); -static void DoTracksGroundEffect_Footprints(struct EventObject*, struct Sprite*, u8); -static void DoTracksGroundEffect_BikeTireTracks(struct EventObject*, struct Sprite*, u8); -static void DoRippleFieldEffect(struct EventObject*, struct Sprite*); -static void DoGroundEffects_OnSpawn(struct EventObject*, struct Sprite*); -static void DoGroundEffects_OnBeginStep(struct EventObject*, struct Sprite*); -static void DoGroundEffects_OnFinishStep(struct EventObject*, struct Sprite*); +static void ObjectEventUpdateSubpriority(struct ObjectEvent*, struct Sprite*); +static void DoTracksGroundEffect_None(struct ObjectEvent*, struct Sprite*, u8); +static void DoTracksGroundEffect_Footprints(struct ObjectEvent*, struct Sprite*, u8); +static void DoTracksGroundEffect_BikeTireTracks(struct ObjectEvent*, struct Sprite*, u8); +static void DoRippleFieldEffect(struct ObjectEvent*, struct Sprite*); +static void DoGroundEffects_OnSpawn(struct ObjectEvent*, struct Sprite*); +static void DoGroundEffects_OnBeginStep(struct ObjectEvent*, struct Sprite*); +static void DoGroundEffects_OnFinishStep(struct ObjectEvent*, struct Sprite*); static void sub_8097D68(struct Sprite*); static void ApplyLevitateMovement(u8); -static bool8 MovementType_Disguise_Callback(struct EventObject *, struct Sprite *); -static bool8 MovementType_Hidden_Callback(struct EventObject *, struct Sprite *); +static bool8 MovementType_Disguise_Callback(struct ObjectEvent *, struct Sprite *); +static bool8 MovementType_Hidden_Callback(struct ObjectEvent *, struct Sprite *); static void CreateReflectionEffectSprites(void); -static u8 GetEventObjectIdByLocalId(u8); -static u8 GetEventObjectIdByLocalIdAndMapInternal(u8, u8, u8); -static bool8 GetAvailableEventObjectId(u16, u8, u8, u8 *); -static void SetEventObjectDynamicGraphicsId(struct EventObject *); -static void RemoveEventObjectInternal(struct EventObject *); -static u16 GetEventObjectFlagIdByEventObjectId(u8); -static void UpdateEventObjectVisibility(struct EventObject *, struct Sprite *); -static void MakeObjectTemplateFromEventObjectTemplate(struct EventObjectTemplate *, struct SpriteTemplate *, const struct SubspriteTable **); -static void GetEventObjectMovingCameraOffset(s16 *, s16 *); -static struct EventObjectTemplate *GetEventObjectTemplateByLocalIdAndMap(u8, u8, u8); -static void LoadEventObjectPalette(u16); -static void RemoveEventObjectIfOutsideView(struct EventObject *); +static u8 GetObjectEventIdByLocalId(u8); +static u8 GetObjectEventIdByLocalIdAndMapInternal(u8, u8, u8); +static bool8 GetAvailableObjectEventId(u16, u8, u8, u8 *); +static void SetObjectEventDynamicGraphicsId(struct ObjectEvent *); +static void RemoveObjectEventInternal(struct ObjectEvent *); +static u16 GetObjectEventFlagIdByObjectEventId(u8); +static void UpdateObjectEventVisibility(struct ObjectEvent *, struct Sprite *); +static void MakeObjectTemplateFromObjectEventTemplate(struct ObjectEventTemplate *, struct SpriteTemplate *, const struct SubspriteTable **); +static void GetObjectEventMovingCameraOffset(s16 *, s16 *); +static struct ObjectEventTemplate *GetObjectEventTemplateByLocalIdAndMap(u8, u8, u8); +static void LoadObjectEventPalette(u16); +static void RemoveObjectEventIfOutsideView(struct ObjectEvent *); static void sub_808E1B8(u8, s16, s16); -static void SetPlayerAvatarEventObjectIdAndObjectId(u8, u8); -static void sub_808E38C(struct EventObject *); +static void SetPlayerAvatarObjectEventIdAndObjectId(u8, u8); +static void sub_808E38C(struct ObjectEvent *); static u8 sub_808E8F4(const struct SpritePalette *); -static u8 FindEventObjectPaletteIndexByTag(u16); +static u8 FindObjectEventPaletteIndexByTag(u16); static void sub_808EAB0(u16, u8); -static bool8 EventObjectDoesZCoordMatch(struct EventObject *, u8); +static bool8 ObjectEventDoesZCoordMatch(struct ObjectEvent *, u8); static void ObjectCB_CameraObject(struct Sprite *); static void CameraObject_0(struct Sprite *); static void CameraObject_1(struct Sprite *); static void CameraObject_2(struct Sprite *); -static struct EventObjectTemplate *FindEventObjectTemplateByLocalId(u8 localId, struct EventObjectTemplate *templates, u8 count); -static void ClearEventObjectMovement(struct EventObject *, struct Sprite *); -static void EventObjectSetSingleMovement(struct EventObject *, struct Sprite *, u8); +static struct ObjectEventTemplate *FindObjectEventTemplateByLocalId(u8 localId, struct ObjectEventTemplate *templates, u8 count); +static void ClearObjectEventMovement(struct ObjectEvent *, struct Sprite *); +static void ObjectEventSetSingleMovement(struct ObjectEvent *, struct Sprite *, u8); static void oamt_npc_ministep_reset(struct Sprite *, u8, u8); -static void UpdateEventObjectSpriteSubpriorityAndVisibility(struct Sprite *); +static void UpdateObjectEventSpriteSubpriorityAndVisibility(struct Sprite *); const u8 gReflectionEffectPaletteMap[] = {1, 1, 6, 7, 8, 9, 6, 7, 8, 9, 11, 11, 0, 0, 0, 0}; @@ -140,7 +140,7 @@ void (*const gCameraObjectFuncs[])(struct Sprite *) = { CameraObject_2, }; -#include "data/field_event_obj/event_object_graphics.h" +#include "data/object_events/object_event_graphics.h" // movement type callbacks static void (*const sMovementTypeCallbacks[])(struct Sprite *) = @@ -396,262 +396,262 @@ const u8 gInitialMovementTypeFacingDirections[] = { [MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_RIGHT] = DIR_EAST, }; -#define EVENT_OBJ_PAL_TAG_0 0x1103 -#define EVENT_OBJ_PAL_TAG_1 0x1104 -#define EVENT_OBJ_PAL_TAG_2 0x1105 -#define EVENT_OBJ_PAL_TAG_3 0x1106 -#define EVENT_OBJ_PAL_TAG_4 0x1107 -#define EVENT_OBJ_PAL_TAG_5 0x1108 -#define EVENT_OBJ_PAL_TAG_6 0x1109 -#define EVENT_OBJ_PAL_TAG_7 0x110A -#define EVENT_OBJ_PAL_TAG_8 0x1100 -#define EVENT_OBJ_PAL_TAG_9 0x1101 -#define EVENT_OBJ_PAL_TAG_10 0x1102 -#define EVENT_OBJ_PAL_TAG_11 0x1115 -#define EVENT_OBJ_PAL_TAG_12 0x110B -#define EVENT_OBJ_PAL_TAG_13 0x110C -#define EVENT_OBJ_PAL_TAG_14 0x110D -#define EVENT_OBJ_PAL_TAG_15 0x110E -#define EVENT_OBJ_PAL_TAG_16 0x110F -#define EVENT_OBJ_PAL_TAG_17 0x1110 -#define EVENT_OBJ_PAL_TAG_18 0x1111 -#define EVENT_OBJ_PAL_TAG_19 0x1112 -#define EVENT_OBJ_PAL_TAG_20 0x1113 -#define EVENT_OBJ_PAL_TAG_21 0x1114 -#define EVENT_OBJ_PAL_TAG_22 0x1116 -#define EVENT_OBJ_PAL_TAG_23 0x1117 -#define EVENT_OBJ_PAL_TAG_24 0x1118 -#define EVENT_OBJ_PAL_TAG_25 0x1119 -#define EVENT_OBJ_PAL_TAG_26 0x111B -#define EVENT_OBJ_PAL_TAG_27 0x111C -#define EVENT_OBJ_PAL_TAG_28 0x111D -#define EVENT_OBJ_PAL_TAG_29 0x111E -#define EVENT_OBJ_PAL_TAG_30 0x111F -#define EVENT_OBJ_PAL_TAG_31 0x1120 -#define EVENT_OBJ_PAL_TAG_32 0x1121 -#define EVENT_OBJ_PAL_TAG_33 0x1122 -#define EVENT_OBJ_PAL_TAG_34 0x1123 -#define EVENT_OBJ_PAL_TAG_NONE 0x11FF - -#include "data/field_event_obj/event_object_graphics_info_pointers.h" -#include "data/field_event_obj/field_effect_object_template_pointers.h" -#include "data/field_event_obj/event_object_pic_tables.h" -#include "data/field_event_obj/event_object_anims.h" -#include "data/field_event_obj/base_oam.h" -#include "data/field_event_obj/event_object_subsprites.h" -#include "data/field_event_obj/event_object_graphics_info.h" - -const struct SpritePalette sEventObjectSpritePalettes[] = { - {gEventObjectPalette0, EVENT_OBJ_PAL_TAG_0}, - {gEventObjectPalette1, EVENT_OBJ_PAL_TAG_1}, - {gEventObjectPalette2, EVENT_OBJ_PAL_TAG_2}, - {gEventObjectPalette3, EVENT_OBJ_PAL_TAG_3}, - {gEventObjectPalette4, EVENT_OBJ_PAL_TAG_4}, - {gEventObjectPalette5, EVENT_OBJ_PAL_TAG_5}, - {gEventObjectPalette6, EVENT_OBJ_PAL_TAG_6}, - {gEventObjectPalette7, EVENT_OBJ_PAL_TAG_7}, - {gEventObjectPalette8, EVENT_OBJ_PAL_TAG_8}, - {gEventObjectPalette9, EVENT_OBJ_PAL_TAG_9}, - {gEventObjectPalette10, EVENT_OBJ_PAL_TAG_10}, - {gEventObjectPalette11, EVENT_OBJ_PAL_TAG_11}, - {gEventObjectPalette12, EVENT_OBJ_PAL_TAG_12}, - {gEventObjectPalette13, EVENT_OBJ_PAL_TAG_13}, - {gEventObjectPalette14, EVENT_OBJ_PAL_TAG_14}, - {gEventObjectPalette15, EVENT_OBJ_PAL_TAG_15}, - {gEventObjectPalette16, EVENT_OBJ_PAL_TAG_16}, - {gEventObjectPalette17, EVENT_OBJ_PAL_TAG_17}, - {gEventObjectPalette18, EVENT_OBJ_PAL_TAG_18}, - {gEventObjectPalette19, EVENT_OBJ_PAL_TAG_19}, - {gEventObjectPalette20, EVENT_OBJ_PAL_TAG_20}, - {gEventObjectPalette21, EVENT_OBJ_PAL_TAG_21}, - {gEventObjectPalette22, EVENT_OBJ_PAL_TAG_22}, - {gEventObjectPalette23, EVENT_OBJ_PAL_TAG_23}, - {gEventObjectPalette24, EVENT_OBJ_PAL_TAG_24}, - {gEventObjectPalette25, EVENT_OBJ_PAL_TAG_25}, - {gEventObjectPalette26, EVENT_OBJ_PAL_TAG_26}, - {gEventObjectPalette27, EVENT_OBJ_PAL_TAG_27}, - {gEventObjectPalette28, EVENT_OBJ_PAL_TAG_28}, - {gEventObjectPalette29, EVENT_OBJ_PAL_TAG_29}, - {gEventObjectPalette30, EVENT_OBJ_PAL_TAG_30}, - {gEventObjectPalette31, EVENT_OBJ_PAL_TAG_31}, - {gEventObjectPalette32, EVENT_OBJ_PAL_TAG_32}, - {gEventObjectPalette33, EVENT_OBJ_PAL_TAG_33}, - {gEventObjectPalette34, EVENT_OBJ_PAL_TAG_34}, +#define OBJ_EVENT_PAL_TAG_0 0x1103 +#define OBJ_EVENT_PAL_TAG_1 0x1104 +#define OBJ_EVENT_PAL_TAG_2 0x1105 +#define OBJ_EVENT_PAL_TAG_3 0x1106 +#define OBJ_EVENT_PAL_TAG_4 0x1107 +#define OBJ_EVENT_PAL_TAG_5 0x1108 +#define OBJ_EVENT_PAL_TAG_6 0x1109 +#define OBJ_EVENT_PAL_TAG_7 0x110A +#define OBJ_EVENT_PAL_TAG_8 0x1100 +#define OBJ_EVENT_PAL_TAG_9 0x1101 +#define OBJ_EVENT_PAL_TAG_10 0x1102 +#define OBJ_EVENT_PAL_TAG_11 0x1115 +#define OBJ_EVENT_PAL_TAG_12 0x110B +#define OBJ_EVENT_PAL_TAG_13 0x110C +#define OBJ_EVENT_PAL_TAG_14 0x110D +#define OBJ_EVENT_PAL_TAG_15 0x110E +#define OBJ_EVENT_PAL_TAG_16 0x110F +#define OBJ_EVENT_PAL_TAG_17 0x1110 +#define OBJ_EVENT_PAL_TAG_18 0x1111 +#define OBJ_EVENT_PAL_TAG_19 0x1112 +#define OBJ_EVENT_PAL_TAG_20 0x1113 +#define OBJ_EVENT_PAL_TAG_21 0x1114 +#define OBJ_EVENT_PAL_TAG_22 0x1116 +#define OBJ_EVENT_PAL_TAG_23 0x1117 +#define OBJ_EVENT_PAL_TAG_24 0x1118 +#define OBJ_EVENT_PAL_TAG_25 0x1119 +#define OBJ_EVENT_PAL_TAG_26 0x111B +#define OBJ_EVENT_PAL_TAG_27 0x111C +#define OBJ_EVENT_PAL_TAG_28 0x111D +#define OBJ_EVENT_PAL_TAG_29 0x111E +#define OBJ_EVENT_PAL_TAG_30 0x111F +#define OBJ_EVENT_PAL_TAG_31 0x1120 +#define OBJ_EVENT_PAL_TAG_32 0x1121 +#define OBJ_EVENT_PAL_TAG_33 0x1122 +#define OBJ_EVENT_PAL_TAG_34 0x1123 +#define OBJ_EVENT_PAL_TAG_NONE 0x11FF + +#include "data/object_events/object_event_graphics_info_pointers.h" +#include "data/field_effects/field_effect_object_template_pointers.h" +#include "data/object_events/object_event_pic_tables.h" +#include "data/object_events/object_event_anims.h" +#include "data/object_events/base_oam.h" +#include "data/object_events/object_event_subsprites.h" +#include "data/object_events/object_event_graphics_info.h" + +const struct SpritePalette sObjectEventSpritePalettes[] = { + {gObjectEventPalette0, OBJ_EVENT_PAL_TAG_0}, + {gObjectEventPalette1, OBJ_EVENT_PAL_TAG_1}, + {gObjectEventPalette2, OBJ_EVENT_PAL_TAG_2}, + {gObjectEventPalette3, OBJ_EVENT_PAL_TAG_3}, + {gObjectEventPalette4, OBJ_EVENT_PAL_TAG_4}, + {gObjectEventPalette5, OBJ_EVENT_PAL_TAG_5}, + {gObjectEventPalette6, OBJ_EVENT_PAL_TAG_6}, + {gObjectEventPalette7, OBJ_EVENT_PAL_TAG_7}, + {gObjectEventPalette8, OBJ_EVENT_PAL_TAG_8}, + {gObjectEventPalette9, OBJ_EVENT_PAL_TAG_9}, + {gObjectEventPalette10, OBJ_EVENT_PAL_TAG_10}, + {gObjectEventPalette11, OBJ_EVENT_PAL_TAG_11}, + {gObjectEventPalette12, OBJ_EVENT_PAL_TAG_12}, + {gObjectEventPalette13, OBJ_EVENT_PAL_TAG_13}, + {gObjectEventPalette14, OBJ_EVENT_PAL_TAG_14}, + {gObjectEventPalette15, OBJ_EVENT_PAL_TAG_15}, + {gObjectEventPalette16, OBJ_EVENT_PAL_TAG_16}, + {gObjectEventPalette17, OBJ_EVENT_PAL_TAG_17}, + {gObjectEventPalette18, OBJ_EVENT_PAL_TAG_18}, + {gObjectEventPalette19, OBJ_EVENT_PAL_TAG_19}, + {gObjectEventPalette20, OBJ_EVENT_PAL_TAG_20}, + {gObjectEventPalette21, OBJ_EVENT_PAL_TAG_21}, + {gObjectEventPalette22, OBJ_EVENT_PAL_TAG_22}, + {gObjectEventPalette23, OBJ_EVENT_PAL_TAG_23}, + {gObjectEventPalette24, OBJ_EVENT_PAL_TAG_24}, + {gObjectEventPalette25, OBJ_EVENT_PAL_TAG_25}, + {gObjectEventPalette26, OBJ_EVENT_PAL_TAG_26}, + {gObjectEventPalette27, OBJ_EVENT_PAL_TAG_27}, + {gObjectEventPalette28, OBJ_EVENT_PAL_TAG_28}, + {gObjectEventPalette29, OBJ_EVENT_PAL_TAG_29}, + {gObjectEventPalette30, OBJ_EVENT_PAL_TAG_30}, + {gObjectEventPalette31, OBJ_EVENT_PAL_TAG_31}, + {gObjectEventPalette32, OBJ_EVENT_PAL_TAG_32}, + {gObjectEventPalette33, OBJ_EVENT_PAL_TAG_33}, + {gObjectEventPalette34, OBJ_EVENT_PAL_TAG_34}, {NULL, 0x0000}, }; const u16 gPlayerReflectionPaletteTags[] = { - EVENT_OBJ_PAL_TAG_9, - EVENT_OBJ_PAL_TAG_9, - EVENT_OBJ_PAL_TAG_9, - EVENT_OBJ_PAL_TAG_9, + OBJ_EVENT_PAL_TAG_9, + OBJ_EVENT_PAL_TAG_9, + OBJ_EVENT_PAL_TAG_9, + OBJ_EVENT_PAL_TAG_9, }; const u16 Unknown_0850BCF0[] = { - EVENT_OBJ_PAL_TAG_18, - EVENT_OBJ_PAL_TAG_18, - EVENT_OBJ_PAL_TAG_18, - EVENT_OBJ_PAL_TAG_18, + OBJ_EVENT_PAL_TAG_18, + OBJ_EVENT_PAL_TAG_18, + OBJ_EVENT_PAL_TAG_18, + OBJ_EVENT_PAL_TAG_18, }; const u16 gPlayerUnderwaterReflectionPaletteTags[] = { - EVENT_OBJ_PAL_TAG_11, - EVENT_OBJ_PAL_TAG_11, - EVENT_OBJ_PAL_TAG_11, - EVENT_OBJ_PAL_TAG_11, + OBJ_EVENT_PAL_TAG_11, + OBJ_EVENT_PAL_TAG_11, + OBJ_EVENT_PAL_TAG_11, + OBJ_EVENT_PAL_TAG_11, }; const struct PairedPalettes gPlayerReflectionPaletteSets[] = { - {EVENT_OBJ_PAL_TAG_8, gPlayerReflectionPaletteTags}, - {EVENT_OBJ_PAL_TAG_17, Unknown_0850BCF0}, - {EVENT_OBJ_PAL_TAG_11, gPlayerUnderwaterReflectionPaletteTags}, - {EVENT_OBJ_PAL_TAG_NONE, NULL}, + {OBJ_EVENT_PAL_TAG_8, gPlayerReflectionPaletteTags}, + {OBJ_EVENT_PAL_TAG_17, Unknown_0850BCF0}, + {OBJ_EVENT_PAL_TAG_11, gPlayerUnderwaterReflectionPaletteTags}, + {OBJ_EVENT_PAL_TAG_NONE, NULL}, }; const u16 gQuintyPlumpReflectionPaletteTags[] = { - EVENT_OBJ_PAL_TAG_13, - EVENT_OBJ_PAL_TAG_13, - EVENT_OBJ_PAL_TAG_13, - EVENT_OBJ_PAL_TAG_13, + OBJ_EVENT_PAL_TAG_13, + OBJ_EVENT_PAL_TAG_13, + OBJ_EVENT_PAL_TAG_13, + OBJ_EVENT_PAL_TAG_13, }; const u16 gTruckReflectionPaletteTags[] = { - EVENT_OBJ_PAL_TAG_14, - EVENT_OBJ_PAL_TAG_14, - EVENT_OBJ_PAL_TAG_14, - EVENT_OBJ_PAL_TAG_14, + OBJ_EVENT_PAL_TAG_14, + OBJ_EVENT_PAL_TAG_14, + OBJ_EVENT_PAL_TAG_14, + OBJ_EVENT_PAL_TAG_14, }; const u16 gVigorothMoverReflectionPaletteTags[] = { - EVENT_OBJ_PAL_TAG_15, - EVENT_OBJ_PAL_TAG_15, - EVENT_OBJ_PAL_TAG_15, - EVENT_OBJ_PAL_TAG_15, + OBJ_EVENT_PAL_TAG_15, + OBJ_EVENT_PAL_TAG_15, + OBJ_EVENT_PAL_TAG_15, + OBJ_EVENT_PAL_TAG_15, }; const u16 gMovingBoxReflectionPaletteTags[] = { - EVENT_OBJ_PAL_TAG_19, - EVENT_OBJ_PAL_TAG_19, - EVENT_OBJ_PAL_TAG_19, - EVENT_OBJ_PAL_TAG_19, + OBJ_EVENT_PAL_TAG_19, + OBJ_EVENT_PAL_TAG_19, + OBJ_EVENT_PAL_TAG_19, + OBJ_EVENT_PAL_TAG_19, }; const u16 gCableCarReflectionPaletteTags[] = { - EVENT_OBJ_PAL_TAG_20, - EVENT_OBJ_PAL_TAG_20, - EVENT_OBJ_PAL_TAG_20, - EVENT_OBJ_PAL_TAG_20, + OBJ_EVENT_PAL_TAG_20, + OBJ_EVENT_PAL_TAG_20, + OBJ_EVENT_PAL_TAG_20, + OBJ_EVENT_PAL_TAG_20, }; const u16 gSSTidalReflectionPaletteTags[] = { - EVENT_OBJ_PAL_TAG_21, - EVENT_OBJ_PAL_TAG_21, - EVENT_OBJ_PAL_TAG_21, - EVENT_OBJ_PAL_TAG_21, + OBJ_EVENT_PAL_TAG_21, + OBJ_EVENT_PAL_TAG_21, + OBJ_EVENT_PAL_TAG_21, + OBJ_EVENT_PAL_TAG_21, }; const u16 gSubmarineShadowReflectionPaletteTags[] = { - EVENT_OBJ_PAL_TAG_26, - EVENT_OBJ_PAL_TAG_26, - EVENT_OBJ_PAL_TAG_26, - EVENT_OBJ_PAL_TAG_26, + OBJ_EVENT_PAL_TAG_26, + OBJ_EVENT_PAL_TAG_26, + OBJ_EVENT_PAL_TAG_26, + OBJ_EVENT_PAL_TAG_26, }; const u16 Unknown_0850BD58[] = { // Kyogre2? - EVENT_OBJ_PAL_TAG_23, - EVENT_OBJ_PAL_TAG_23, - EVENT_OBJ_PAL_TAG_23, - EVENT_OBJ_PAL_TAG_23, + OBJ_EVENT_PAL_TAG_23, + OBJ_EVENT_PAL_TAG_23, + OBJ_EVENT_PAL_TAG_23, + OBJ_EVENT_PAL_TAG_23, }; const u16 Unknown_0850BD60[] = { // Groudon2? - EVENT_OBJ_PAL_TAG_25, - EVENT_OBJ_PAL_TAG_25, - EVENT_OBJ_PAL_TAG_25, - EVENT_OBJ_PAL_TAG_25, + OBJ_EVENT_PAL_TAG_25, + OBJ_EVENT_PAL_TAG_25, + OBJ_EVENT_PAL_TAG_25, + OBJ_EVENT_PAL_TAG_25, }; const u16 Unknown_0850BD68[] = { // Invisible Keckleon? - EVENT_OBJ_PAL_TAG_6, - EVENT_OBJ_PAL_TAG_6, - EVENT_OBJ_PAL_TAG_6, - EVENT_OBJ_PAL_TAG_6, + OBJ_EVENT_PAL_TAG_6, + OBJ_EVENT_PAL_TAG_6, + OBJ_EVENT_PAL_TAG_6, + OBJ_EVENT_PAL_TAG_6, }; const u16 gRedLeafReflectionPaletteTags[] = { - EVENT_OBJ_PAL_TAG_28, - EVENT_OBJ_PAL_TAG_28, - EVENT_OBJ_PAL_TAG_28, - EVENT_OBJ_PAL_TAG_28, + OBJ_EVENT_PAL_TAG_28, + OBJ_EVENT_PAL_TAG_28, + OBJ_EVENT_PAL_TAG_28, + OBJ_EVENT_PAL_TAG_28, }; const struct PairedPalettes gSpecialObjectReflectionPaletteSets[] = { - {EVENT_OBJ_PAL_TAG_8, gPlayerReflectionPaletteTags}, - {EVENT_OBJ_PAL_TAG_17, Unknown_0850BCF0}, - {EVENT_OBJ_PAL_TAG_12, gQuintyPlumpReflectionPaletteTags}, - {EVENT_OBJ_PAL_TAG_14, gTruckReflectionPaletteTags}, - {EVENT_OBJ_PAL_TAG_15, gVigorothMoverReflectionPaletteTags}, - {EVENT_OBJ_PAL_TAG_19, gMovingBoxReflectionPaletteTags}, - {EVENT_OBJ_PAL_TAG_20, gCableCarReflectionPaletteTags}, - {EVENT_OBJ_PAL_TAG_21, gSSTidalReflectionPaletteTags}, - {EVENT_OBJ_PAL_TAG_22, Unknown_0850BD58}, - {EVENT_OBJ_PAL_TAG_24, Unknown_0850BD60}, - {EVENT_OBJ_PAL_TAG_2, Unknown_0850BD68}, - {EVENT_OBJ_PAL_TAG_26, gSubmarineShadowReflectionPaletteTags}, - {EVENT_OBJ_PAL_TAG_28, gRedLeafReflectionPaletteTags}, - {EVENT_OBJ_PAL_TAG_NONE, NULL}, + {OBJ_EVENT_PAL_TAG_8, gPlayerReflectionPaletteTags}, + {OBJ_EVENT_PAL_TAG_17, Unknown_0850BCF0}, + {OBJ_EVENT_PAL_TAG_12, gQuintyPlumpReflectionPaletteTags}, + {OBJ_EVENT_PAL_TAG_14, gTruckReflectionPaletteTags}, + {OBJ_EVENT_PAL_TAG_15, gVigorothMoverReflectionPaletteTags}, + {OBJ_EVENT_PAL_TAG_19, gMovingBoxReflectionPaletteTags}, + {OBJ_EVENT_PAL_TAG_20, gCableCarReflectionPaletteTags}, + {OBJ_EVENT_PAL_TAG_21, gSSTidalReflectionPaletteTags}, + {OBJ_EVENT_PAL_TAG_22, Unknown_0850BD58}, + {OBJ_EVENT_PAL_TAG_24, Unknown_0850BD60}, + {OBJ_EVENT_PAL_TAG_2, Unknown_0850BD68}, + {OBJ_EVENT_PAL_TAG_26, gSubmarineShadowReflectionPaletteTags}, + {OBJ_EVENT_PAL_TAG_28, gRedLeafReflectionPaletteTags}, + {OBJ_EVENT_PAL_TAG_NONE, NULL}, }; const u16 gObjectPaletteTags0[] = { - EVENT_OBJ_PAL_TAG_8, - EVENT_OBJ_PAL_TAG_9, - EVENT_OBJ_PAL_TAG_0, - EVENT_OBJ_PAL_TAG_1, - EVENT_OBJ_PAL_TAG_2, - EVENT_OBJ_PAL_TAG_3, - EVENT_OBJ_PAL_TAG_4, - EVENT_OBJ_PAL_TAG_5, - EVENT_OBJ_PAL_TAG_6, - EVENT_OBJ_PAL_TAG_7, + OBJ_EVENT_PAL_TAG_8, + OBJ_EVENT_PAL_TAG_9, + OBJ_EVENT_PAL_TAG_0, + OBJ_EVENT_PAL_TAG_1, + OBJ_EVENT_PAL_TAG_2, + OBJ_EVENT_PAL_TAG_3, + OBJ_EVENT_PAL_TAG_4, + OBJ_EVENT_PAL_TAG_5, + OBJ_EVENT_PAL_TAG_6, + OBJ_EVENT_PAL_TAG_7, }; const u16 gObjectPaletteTags1[] = { - EVENT_OBJ_PAL_TAG_8, - EVENT_OBJ_PAL_TAG_9, - EVENT_OBJ_PAL_TAG_0, - EVENT_OBJ_PAL_TAG_1, - EVENT_OBJ_PAL_TAG_2, - EVENT_OBJ_PAL_TAG_3, - EVENT_OBJ_PAL_TAG_4, - EVENT_OBJ_PAL_TAG_5, - EVENT_OBJ_PAL_TAG_6, - EVENT_OBJ_PAL_TAG_7, + OBJ_EVENT_PAL_TAG_8, + OBJ_EVENT_PAL_TAG_9, + OBJ_EVENT_PAL_TAG_0, + OBJ_EVENT_PAL_TAG_1, + OBJ_EVENT_PAL_TAG_2, + OBJ_EVENT_PAL_TAG_3, + OBJ_EVENT_PAL_TAG_4, + OBJ_EVENT_PAL_TAG_5, + OBJ_EVENT_PAL_TAG_6, + OBJ_EVENT_PAL_TAG_7, }; const u16 gObjectPaletteTags2[] = { - EVENT_OBJ_PAL_TAG_8, - EVENT_OBJ_PAL_TAG_9, - EVENT_OBJ_PAL_TAG_0, - EVENT_OBJ_PAL_TAG_1, - EVENT_OBJ_PAL_TAG_2, - EVENT_OBJ_PAL_TAG_3, - EVENT_OBJ_PAL_TAG_4, - EVENT_OBJ_PAL_TAG_5, - EVENT_OBJ_PAL_TAG_6, - EVENT_OBJ_PAL_TAG_7, + OBJ_EVENT_PAL_TAG_8, + OBJ_EVENT_PAL_TAG_9, + OBJ_EVENT_PAL_TAG_0, + OBJ_EVENT_PAL_TAG_1, + OBJ_EVENT_PAL_TAG_2, + OBJ_EVENT_PAL_TAG_3, + OBJ_EVENT_PAL_TAG_4, + OBJ_EVENT_PAL_TAG_5, + OBJ_EVENT_PAL_TAG_6, + OBJ_EVENT_PAL_TAG_7, }; const u16 gObjectPaletteTags3[] = { - EVENT_OBJ_PAL_TAG_8, - EVENT_OBJ_PAL_TAG_9, - EVENT_OBJ_PAL_TAG_0, - EVENT_OBJ_PAL_TAG_1, - EVENT_OBJ_PAL_TAG_2, - EVENT_OBJ_PAL_TAG_3, - EVENT_OBJ_PAL_TAG_4, - EVENT_OBJ_PAL_TAG_5, - EVENT_OBJ_PAL_TAG_6, - EVENT_OBJ_PAL_TAG_7, + OBJ_EVENT_PAL_TAG_8, + OBJ_EVENT_PAL_TAG_9, + OBJ_EVENT_PAL_TAG_0, + OBJ_EVENT_PAL_TAG_1, + OBJ_EVENT_PAL_TAG_2, + OBJ_EVENT_PAL_TAG_3, + OBJ_EVENT_PAL_TAG_4, + OBJ_EVENT_PAL_TAG_5, + OBJ_EVENT_PAL_TAG_6, + OBJ_EVENT_PAL_TAG_7, }; const u16 *const gObjectPaletteTagSets[] = { @@ -661,14 +661,14 @@ const u16 *const gObjectPaletteTagSets[] = { gObjectPaletteTags3, }; -#include "data/field_event_obj/berry_tree_graphics_tables.h" -#include "data/field_event_obj/field_effect_objects.h" +#include "data/object_events/berry_tree_graphics_tables.h" +#include "data/field_effects/field_effect_objects.h" const s16 gMovementDelaysMedium[] = {32, 64, 96, 128}; const s16 gMovementDelaysLong[] = {32, 64, 128, 192}; const s16 gMovementDelaysShort[] = {32, 48, 64, 80}; -#include "data/field_event_obj/movement_type_func_tables.h" +#include "data/object_events/movement_type_func_tables.h" const u8 gFaceDirectionAnimNums[] = { [DIR_NONE] = 0, @@ -1089,31 +1089,31 @@ const u8 gUnknown_0850DC3F[][4] = { {3, 4, 2, 1} }; -#include "data/field_event_obj/movement_action_func_tables.h" +#include "data/object_events/movement_action_func_tables.h" // Code -static void ClearEventObject(struct EventObject *eventObject) +static void ClearObjectEvent(struct ObjectEvent *objectEvent) { - *eventObject = (struct EventObject){}; - eventObject->localId = 0xFF; - eventObject->mapNum = 0xFF; - eventObject->mapGroup = 0xFF; - eventObject->movementActionId = 0xFF; + *objectEvent = (struct ObjectEvent){}; + objectEvent->localId = 0xFF; + objectEvent->mapNum = 0xFF; + objectEvent->mapGroup = 0xFF; + objectEvent->movementActionId = 0xFF; } -static void ClearAllEventObjects(void) +static void ClearAllObjectEvents(void) { u8 i; - for (i = 0; i < EVENT_OBJECTS_COUNT; i++) - ClearEventObject(&gEventObjects[i]); + for (i = 0; i < OBJECT_EVENTS_COUNT; i++) + ClearObjectEvent(&gObjectEvents[i]); } -void ResetEventObjects(void) +void ResetObjectEvents(void) { - ClearLinkPlayerEventObjects(); - ClearAllEventObjects(); + ClearLinkPlayerObjectEvents(); + ClearAllObjectEvents(); ClearPlayerAvatarInfo(); CreateReflectionEffectSprites(); } @@ -1133,235 +1133,235 @@ static void CreateReflectionEffectSprites(void) gSprites[spriteId].invisible = TRUE; } -u8 GetFirstInactiveEventObjectId(void) +u8 GetFirstInactiveObjectEventId(void) { u8 i; - for (i = 0; i < EVENT_OBJECTS_COUNT; i++) + for (i = 0; i < OBJECT_EVENTS_COUNT; i++) { - if (!gEventObjects[i].active) + if (!gObjectEvents[i].active) break; } return i; } -u8 GetEventObjectIdByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroupId) +u8 GetObjectEventIdByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroupId) { - if (localId < EVENT_OBJ_ID_PLAYER) + if (localId < OBJ_EVENT_ID_PLAYER) { - return GetEventObjectIdByLocalIdAndMapInternal(localId, mapNum, mapGroupId); + return GetObjectEventIdByLocalIdAndMapInternal(localId, mapNum, mapGroupId); } - return GetEventObjectIdByLocalId(localId); + return GetObjectEventIdByLocalId(localId); } -bool8 TryGetEventObjectIdByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroupId, u8 *eventObjectId) +bool8 TryGetObjectEventIdByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroupId, u8 *objectEventId) { - *eventObjectId = GetEventObjectIdByLocalIdAndMap(localId, mapNum, mapGroupId); - if (*eventObjectId == EVENT_OBJECTS_COUNT) + *objectEventId = GetObjectEventIdByLocalIdAndMap(localId, mapNum, mapGroupId); + if (*objectEventId == OBJECT_EVENTS_COUNT) return TRUE; else return FALSE; } -u8 GetEventObjectIdByXY(s16 x, s16 y) +u8 GetObjectEventIdByXY(s16 x, s16 y) { u8 i; - for (i = 0; i < EVENT_OBJECTS_COUNT; i++) + for (i = 0; i < OBJECT_EVENTS_COUNT; i++) { - if (gEventObjects[i].active && gEventObjects[i].currentCoords.x == x && gEventObjects[i].currentCoords.y == y) + if (gObjectEvents[i].active && gObjectEvents[i].currentCoords.x == x && gObjectEvents[i].currentCoords.y == y) break; } return i; } -static u8 GetEventObjectIdByLocalIdAndMapInternal(u8 localId, u8 mapNum, u8 mapGroupId) +static u8 GetObjectEventIdByLocalIdAndMapInternal(u8 localId, u8 mapNum, u8 mapGroupId) { u8 i; - for (i = 0; i < EVENT_OBJECTS_COUNT; i++) + for (i = 0; i < OBJECT_EVENTS_COUNT; i++) { - if (gEventObjects[i].active && gEventObjects[i].localId == localId && gEventObjects[i].mapNum == mapNum && gEventObjects[i].mapGroup == mapGroupId) + if (gObjectEvents[i].active && gObjectEvents[i].localId == localId && gObjectEvents[i].mapNum == mapNum && gObjectEvents[i].mapGroup == mapGroupId) return i; } - return EVENT_OBJECTS_COUNT; + return OBJECT_EVENTS_COUNT; } -static u8 GetEventObjectIdByLocalId(u8 localId) +static u8 GetObjectEventIdByLocalId(u8 localId) { u8 i; - for (i = 0; i < EVENT_OBJECTS_COUNT; i++) + for (i = 0; i < OBJECT_EVENTS_COUNT; i++) { - if (gEventObjects[i].active && gEventObjects[i].localId == localId) + if (gObjectEvents[i].active && gObjectEvents[i].localId == localId) return i; } - return EVENT_OBJECTS_COUNT; + return OBJECT_EVENTS_COUNT; } -static u8 InitEventObjectStateFromTemplate(struct EventObjectTemplate *template, u8 mapNum, u8 mapGroup) +static u8 InitObjectEventStateFromTemplate(struct ObjectEventTemplate *template, u8 mapNum, u8 mapGroup) { - struct EventObject *eventObject; - u8 eventObjectId; + struct ObjectEvent *objectEvent; + u8 objectEventId; s16 x; s16 y; - if (GetAvailableEventObjectId(template->localId, mapNum, mapGroup, &eventObjectId)) - return EVENT_OBJECTS_COUNT; - eventObject = &gEventObjects[eventObjectId]; - ClearEventObject(eventObject); + if (GetAvailableObjectEventId(template->localId, mapNum, mapGroup, &objectEventId)) + return OBJECT_EVENTS_COUNT; + objectEvent = &gObjectEvents[objectEventId]; + ClearObjectEvent(objectEvent); x = template->x + 7; y = template->y + 7; - eventObject->active = TRUE; - eventObject->triggerGroundEffectsOnMove = TRUE; - eventObject->graphicsId = template->graphicsId; - eventObject->movementType = template->movementType; - eventObject->localId = template->localId; - eventObject->mapNum = mapNum; - eventObject++; eventObject--; - eventObject->mapGroup = mapGroup; - eventObject->initialCoords.x = x; - eventObject->initialCoords.y = y; - eventObject->currentCoords.x = x; - eventObject->currentCoords.y = y; - eventObject->previousCoords.x = x; - eventObject->previousCoords.y = y; - eventObject->currentElevation = template->elevation; - eventObject->previousElevation = template->elevation; - eventObject->range.as_nybbles.x = template->movementRangeX; - eventObject->range.as_nybbles.y = template->movementRangeY; - eventObject->trainerType = template->trainerType; - eventObject->trainerRange_berryTreeId = template->trainerRange_berryTreeId; - eventObject->previousMovementDirection = gInitialMovementTypeFacingDirections[template->movementType]; - SetEventObjectDirection(eventObject, eventObject->previousMovementDirection); - SetEventObjectDynamicGraphicsId(eventObject); + objectEvent->active = TRUE; + objectEvent->triggerGroundEffectsOnMove = TRUE; + objectEvent->graphicsId = template->graphicsId; + objectEvent->movementType = template->movementType; + objectEvent->localId = template->localId; + objectEvent->mapNum = mapNum; + objectEvent++; objectEvent--; + objectEvent->mapGroup = mapGroup; + objectEvent->initialCoords.x = x; + objectEvent->initialCoords.y = y; + objectEvent->currentCoords.x = x; + objectEvent->currentCoords.y = y; + objectEvent->previousCoords.x = x; + objectEvent->previousCoords.y = y; + objectEvent->currentElevation = template->elevation; + objectEvent->previousElevation = template->elevation; + objectEvent->range.as_nybbles.x = template->movementRangeX; + objectEvent->range.as_nybbles.y = template->movementRangeY; + objectEvent->trainerType = template->trainerType; + objectEvent->trainerRange_berryTreeId = template->trainerRange_berryTreeId; + objectEvent->previousMovementDirection = gInitialMovementTypeFacingDirections[template->movementType]; + SetObjectEventDirection(objectEvent, objectEvent->previousMovementDirection); + SetObjectEventDynamicGraphicsId(objectEvent); #ifndef NONMATCHING asm("":::"r5", "r6"); #endif - if (gRangedMovementTypes[eventObject->movementType]) + if (gRangedMovementTypes[objectEvent->movementType]) { - if (eventObject->range.as_nybbles.x == 0) + if (objectEvent->range.as_nybbles.x == 0) { - eventObject->range.as_nybbles.x++; + objectEvent->range.as_nybbles.x++; } - if (eventObject->range.as_nybbles.y == 0) + if (objectEvent->range.as_nybbles.y == 0) { - eventObject->range.as_nybbles.y++; + objectEvent->range.as_nybbles.y++; } } - return eventObjectId; + return objectEventId; } -u8 Unref_TryInitLocalEventObject(u8 localId) +u8 Unref_TryInitLocalObjectEvent(u8 localId) { u8 i; - u8 eventObjectCount; - struct EventObjectTemplate *template; + u8 objectEventCount; + struct ObjectEventTemplate *template; if (gMapHeader.events != NULL) { if (InBattlePyramid()) { - eventObjectCount = GetNumBattlePyramidEventObjects(); + objectEventCount = GetNumBattlePyramidObjectEvents(); } else if (InTrainerHill()) { - eventObjectCount = 2; + objectEventCount = 2; } else { - eventObjectCount = gMapHeader.events->eventObjectCount; + objectEventCount = gMapHeader.events->objectEventCount; } - for (i = 0; i < eventObjectCount; i++) + for (i = 0; i < objectEventCount; i++) { - template = &gSaveBlock1Ptr->eventObjectTemplates[i]; + template = &gSaveBlock1Ptr->objectEventTemplates[i]; if (template->localId == localId && !FlagGet(template->flagId)) { - return InitEventObjectStateFromTemplate(template, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); + return InitObjectEventStateFromTemplate(template, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); } } } - return EVENT_OBJECTS_COUNT; + return OBJECT_EVENTS_COUNT; } -static bool8 GetAvailableEventObjectId(u16 localId, u8 mapNum, u8 mapGroup, u8 *eventObjectId) +static bool8 GetAvailableObjectEventId(u16 localId, u8 mapNum, u8 mapGroup, u8 *objectEventId) // Looks for an empty slot. // Returns FALSE and the location of the available slot -// in *eventObjectId. +// in *objectEventId. // If no slots are available, or if the object is already // loaded, returns TRUE. { u8 i = 0; - for (i = 0; i < EVENT_OBJECTS_COUNT; i++) + for (i = 0; i < OBJECT_EVENTS_COUNT; i++) { - if (!gEventObjects[i].active) + if (!gObjectEvents[i].active) break; - if (gEventObjects[i].localId == localId && gEventObjects[i].mapNum == mapNum && gEventObjects[i].mapGroup == mapGroup) + if (gObjectEvents[i].localId == localId && gObjectEvents[i].mapNum == mapNum && gObjectEvents[i].mapGroup == mapGroup) return TRUE; } - if (i >= EVENT_OBJECTS_COUNT) + if (i >= OBJECT_EVENTS_COUNT) return TRUE; - *eventObjectId = i; + *objectEventId = i; do { - if (gEventObjects[i].active && gEventObjects[i].localId == localId && gEventObjects[i].mapNum == mapNum && gEventObjects[i].mapGroup == mapGroup) + if (gObjectEvents[i].active && gObjectEvents[i].localId == localId && gObjectEvents[i].mapNum == mapNum && gObjectEvents[i].mapGroup == mapGroup) return TRUE; i++; - } while (i < EVENT_OBJECTS_COUNT); + } while (i < OBJECT_EVENTS_COUNT); return FALSE; } -static void RemoveEventObject(struct EventObject *eventObject) +static void RemoveObjectEvent(struct ObjectEvent *objectEvent) { - eventObject->active = FALSE; - RemoveEventObjectInternal(eventObject); + objectEvent->active = FALSE; + RemoveObjectEventInternal(objectEvent); } -void RemoveEventObjectByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup) +void RemoveObjectEventByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup) { - u8 eventObjectId; - if (!TryGetEventObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &eventObjectId)) + u8 objectEventId; + if (!TryGetObjectEventIdByLocalIdAndMap(localId, mapNum, mapGroup, &objectEventId)) { - FlagSet(GetEventObjectFlagIdByEventObjectId(eventObjectId)); - RemoveEventObject(&gEventObjects[eventObjectId]); + FlagSet(GetObjectEventFlagIdByObjectEventId(objectEventId)); + RemoveObjectEvent(&gObjectEvents[objectEventId]); } } -static void RemoveEventObjectInternal(struct EventObject *eventObject) +static void RemoveObjectEventInternal(struct ObjectEvent *objectEvent) { struct SpriteFrameImage image; - image.size = GetEventObjectGraphicsInfo(eventObject->graphicsId)->size; - gSprites[eventObject->spriteId].images = ℑ - DestroySprite(&gSprites[eventObject->spriteId]); + image.size = GetObjectEventGraphicsInfo(objectEvent->graphicsId)->size; + gSprites[objectEvent->spriteId].images = ℑ + DestroySprite(&gSprites[objectEvent->spriteId]); } -void RemoveAllEventObjectsExceptPlayer(void) +void RemoveAllObjectEventsExceptPlayer(void) { u8 i; - for (i = 0; i < EVENT_OBJECTS_COUNT; i++) + for (i = 0; i < OBJECT_EVENTS_COUNT; i++) { - if (i != gPlayerAvatar.eventObjectId) - RemoveEventObject(&gEventObjects[i]); + if (i != gPlayerAvatar.objectEventId) + RemoveObjectEvent(&gObjectEvents[i]); } } -static u8 TrySetupEventObjectSprite(struct EventObjectTemplate *eventObjectTemplate, struct SpriteTemplate *spriteTemplate, u8 mapNum, u8 mapGroup, s16 cameraX, s16 cameraY) +static u8 TrySetupObjectEventSprite(struct ObjectEventTemplate *objectEventTemplate, struct SpriteTemplate *spriteTemplate, u8 mapNum, u8 mapGroup, s16 cameraX, s16 cameraY) { u8 spriteId; u8 paletteSlot; - u8 eventObjectId; + u8 objectEventId; struct Sprite *sprite; - struct EventObject *eventObject; - const struct EventObjectGraphicsInfo *graphicsInfo; + struct ObjectEvent *objectEvent; + const struct ObjectEventGraphicsInfo *graphicsInfo; - eventObjectId = InitEventObjectStateFromTemplate(eventObjectTemplate, mapNum, mapGroup); - if (eventObjectId == EVENT_OBJECTS_COUNT) - return EVENT_OBJECTS_COUNT; + objectEventId = InitObjectEventStateFromTemplate(objectEventTemplate, mapNum, mapGroup); + if (objectEventId == OBJECT_EVENTS_COUNT) + return OBJECT_EVENTS_COUNT; - eventObject = &gEventObjects[eventObjectId]; - graphicsInfo = GetEventObjectGraphicsInfo(eventObject->graphicsId); + objectEvent = &gObjectEvents[objectEventId]; + graphicsInfo = GetObjectEventGraphicsInfo(objectEvent->graphicsId); paletteSlot = graphicsInfo->paletteSlot; if (paletteSlot == 0) { @@ -1377,104 +1377,104 @@ static u8 TrySetupEventObjectSprite(struct EventObjectTemplate *eventObjectTempl sub_808EAB0(graphicsInfo->paletteTag1, paletteSlot); } - if (eventObject->movementType == MOVEMENT_TYPE_INVISIBLE) - eventObject->invisible = TRUE; + if (objectEvent->movementType == MOVEMENT_TYPE_INVISIBLE) + objectEvent->invisible = TRUE; *(u16 *)&spriteTemplate->paletteTag = 0xFFFF; spriteId = CreateSprite(spriteTemplate, 0, 0, 0); if (spriteId == MAX_SPRITES) { - gEventObjects[eventObjectId].active = FALSE; - return EVENT_OBJECTS_COUNT; + gObjectEvents[objectEventId].active = FALSE; + return OBJECT_EVENTS_COUNT; } sprite = &gSprites[spriteId]; - sub_8092FF0(eventObject->currentCoords.x + cameraX, eventObject->currentCoords.y + cameraY, &sprite->pos1.x, &sprite->pos1.y); + sub_8092FF0(objectEvent->currentCoords.x + cameraX, objectEvent->currentCoords.y + cameraY, &sprite->pos1.x, &sprite->pos1.y); sprite->centerToCornerVecX = -(graphicsInfo->width >> 1); sprite->centerToCornerVecY = -(graphicsInfo->height >> 1); sprite->pos1.x += 8; sprite->pos1.y += 16 + sprite->centerToCornerVecY; sprite->oam.paletteNum = paletteSlot; sprite->coordOffsetEnabled = TRUE; - sprite->data[0] = eventObjectId; - eventObject->spriteId = spriteId; - eventObject->inanimate = graphicsInfo->inanimate; - if (!eventObject->inanimate) - StartSpriteAnim(sprite, GetFaceDirectionAnimNum(eventObject->facingDirection)); + sprite->data[0] = objectEventId; + objectEvent->spriteId = spriteId; + objectEvent->inanimate = graphicsInfo->inanimate; + if (!objectEvent->inanimate) + StartSpriteAnim(sprite, GetFaceDirectionAnimNum(objectEvent->facingDirection)); - SetObjectSubpriorityByZCoord(eventObject->previousElevation, sprite, 1); - UpdateEventObjectVisibility(eventObject, sprite); - return eventObjectId; + SetObjectSubpriorityByZCoord(objectEvent->previousElevation, sprite, 1); + UpdateObjectEventVisibility(objectEvent, sprite); + return objectEventId; } -static u8 TrySpawnEventObjectTemplate(struct EventObjectTemplate *eventObjectTemplate, u8 mapNum, u8 mapGroup, s16 cameraX, s16 cameraY) +static u8 TrySpawnObjectEventTemplate(struct ObjectEventTemplate *objectEventTemplate, u8 mapNum, u8 mapGroup, s16 cameraX, s16 cameraY) { - u8 eventObjectId; + u8 objectEventId; struct SpriteTemplate spriteTemplate; struct SpriteFrameImage spriteFrameImage; - const struct EventObjectGraphicsInfo *graphicsInfo; + const struct ObjectEventGraphicsInfo *graphicsInfo; const struct SubspriteTable *subspriteTables = NULL; - graphicsInfo = GetEventObjectGraphicsInfo(eventObjectTemplate->graphicsId); - MakeObjectTemplateFromEventObjectTemplate(eventObjectTemplate, &spriteTemplate, &subspriteTables); + graphicsInfo = GetObjectEventGraphicsInfo(objectEventTemplate->graphicsId); + MakeObjectTemplateFromObjectEventTemplate(objectEventTemplate, &spriteTemplate, &subspriteTables); spriteFrameImage.size = graphicsInfo->size; spriteTemplate.images = &spriteFrameImage; - eventObjectId = TrySetupEventObjectSprite(eventObjectTemplate, &spriteTemplate, mapNum, mapGroup, cameraX, cameraY); - if (eventObjectId == EVENT_OBJECTS_COUNT) - return EVENT_OBJECTS_COUNT; + objectEventId = TrySetupObjectEventSprite(objectEventTemplate, &spriteTemplate, mapNum, mapGroup, cameraX, cameraY); + if (objectEventId == OBJECT_EVENTS_COUNT) + return OBJECT_EVENTS_COUNT; - gSprites[gEventObjects[eventObjectId].spriteId].images = graphicsInfo->images; + gSprites[gObjectEvents[objectEventId].spriteId].images = graphicsInfo->images; if (subspriteTables) - SetSubspriteTables(&gSprites[gEventObjects[eventObjectId].spriteId], subspriteTables); + SetSubspriteTables(&gSprites[gObjectEvents[objectEventId].spriteId], subspriteTables); - return eventObjectId; + return objectEventId; } -u8 SpawnSpecialEventObject(struct EventObjectTemplate *eventObjectTemplate) +u8 SpawnSpecialObjectEvent(struct ObjectEventTemplate *objectEventTemplate) { s16 cameraX; s16 cameraY; - GetEventObjectMovingCameraOffset(&cameraX, &cameraY); - return TrySpawnEventObjectTemplate(eventObjectTemplate, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, cameraX, cameraY); + GetObjectEventMovingCameraOffset(&cameraX, &cameraY); + return TrySpawnObjectEventTemplate(objectEventTemplate, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, cameraX, cameraY); } -u8 SpawnSpecialEventObjectParameterized(u8 graphicsId, u8 movementBehavior, u8 localId, s16 x, s16 y, u8 z) +u8 SpawnSpecialObjectEventParameterized(u8 graphicsId, u8 movementBehavior, u8 localId, s16 x, s16 y, u8 z) { - struct EventObjectTemplate eventObjectTemplate; + struct ObjectEventTemplate objectEventTemplate; x -= 7; y -= 7; - eventObjectTemplate.localId = localId; - eventObjectTemplate.graphicsId = graphicsId; - eventObjectTemplate.unk2 = 0; - eventObjectTemplate.x = x; - eventObjectTemplate.y = y; - eventObjectTemplate.elevation = z; - eventObjectTemplate.movementType = movementBehavior; - eventObjectTemplate.movementRangeX = 0; - eventObjectTemplate.movementRangeY = 0; - eventObjectTemplate.trainerType = 0; - eventObjectTemplate.trainerRange_berryTreeId = 0; - return SpawnSpecialEventObject(&eventObjectTemplate); -} - -u8 TrySpawnEventObject(u8 localId, u8 mapNum, u8 mapGroup) -{ - struct EventObjectTemplate *eventObjectTemplate; + objectEventTemplate.localId = localId; + objectEventTemplate.graphicsId = graphicsId; + objectEventTemplate.unk2 = 0; + objectEventTemplate.x = x; + objectEventTemplate.y = y; + objectEventTemplate.elevation = z; + objectEventTemplate.movementType = movementBehavior; + objectEventTemplate.movementRangeX = 0; + objectEventTemplate.movementRangeY = 0; + objectEventTemplate.trainerType = 0; + objectEventTemplate.trainerRange_berryTreeId = 0; + return SpawnSpecialObjectEvent(&objectEventTemplate); +} + +u8 TrySpawnObjectEvent(u8 localId, u8 mapNum, u8 mapGroup) +{ + struct ObjectEventTemplate *objectEventTemplate; s16 cameraX, cameraY; - eventObjectTemplate = GetEventObjectTemplateByLocalIdAndMap(localId, mapNum, mapGroup); - if (!eventObjectTemplate) - return EVENT_OBJECTS_COUNT; + objectEventTemplate = GetObjectEventTemplateByLocalIdAndMap(localId, mapNum, mapGroup); + if (!objectEventTemplate) + return OBJECT_EVENTS_COUNT; - GetEventObjectMovingCameraOffset(&cameraX, &cameraY); - return TrySpawnEventObjectTemplate(eventObjectTemplate, mapNum, mapGroup, cameraX, cameraY); + GetObjectEventMovingCameraOffset(&cameraX, &cameraY); + return TrySpawnObjectEventTemplate(objectEventTemplate, mapNum, mapGroup, cameraX, cameraY); } -static void MakeObjectTemplateFromEventObjectGraphicsInfo(u16 graphicsId, void (*callback)(struct Sprite *), struct SpriteTemplate *spriteTemplate, const struct SubspriteTable **subspriteTables) +static void MakeObjectTemplateFromObjectEventGraphicsInfo(u16 graphicsId, void (*callback)(struct Sprite *), struct SpriteTemplate *spriteTemplate, const struct SubspriteTable **subspriteTables) { - const struct EventObjectGraphicsInfo *graphicsInfo = GetEventObjectGraphicsInfo(graphicsId); + const struct ObjectEventGraphicsInfo *graphicsInfo = GetObjectEventGraphicsInfo(graphicsId); spriteTemplate->tileTag = graphicsInfo->tileTag; spriteTemplate->paletteTag = graphicsInfo->paletteTag1; @@ -1486,17 +1486,17 @@ static void MakeObjectTemplateFromEventObjectGraphicsInfo(u16 graphicsId, void ( *subspriteTables = graphicsInfo->subspriteTables; } -static void MakeObjectTemplateFromEventObjectGraphicsInfoWithCallbackIndex(u16 graphicsId, u16 callbackIndex, struct SpriteTemplate *spriteTemplate, const struct SubspriteTable **subspriteTables) +static void MakeObjectTemplateFromObjectEventGraphicsInfoWithCallbackIndex(u16 graphicsId, u16 callbackIndex, struct SpriteTemplate *spriteTemplate, const struct SubspriteTable **subspriteTables) { - MakeObjectTemplateFromEventObjectGraphicsInfo(graphicsId, sMovementTypeCallbacks[callbackIndex], spriteTemplate, subspriteTables); + MakeObjectTemplateFromObjectEventGraphicsInfo(graphicsId, sMovementTypeCallbacks[callbackIndex], spriteTemplate, subspriteTables); } -static void MakeObjectTemplateFromEventObjectTemplate(struct EventObjectTemplate *eventObjectTemplate, struct SpriteTemplate *spriteTemplate, const struct SubspriteTable **subspriteTables) +static void MakeObjectTemplateFromObjectEventTemplate(struct ObjectEventTemplate *objectEventTemplate, struct SpriteTemplate *spriteTemplate, const struct SubspriteTable **subspriteTables) { - MakeObjectTemplateFromEventObjectGraphicsInfoWithCallbackIndex(eventObjectTemplate->graphicsId, eventObjectTemplate->movementType, spriteTemplate, subspriteTables); + MakeObjectTemplateFromObjectEventGraphicsInfoWithCallbackIndex(objectEventTemplate->graphicsId, objectEventTemplate->movementType, spriteTemplate, subspriteTables); } -u8 AddPseudoEventObject(u16 graphicsId, void (*callback)(struct Sprite *), s16 x, s16 y, u8 subpriority) +u8 AddPseudoObjectEvent(u16 graphicsId, void (*callback)(struct Sprite *), s16 x, s16 y, u8 subpriority) { struct SpriteTemplate *spriteTemplate; const struct SubspriteTable *subspriteTables; @@ -1504,10 +1504,10 @@ u8 AddPseudoEventObject(u16 graphicsId, void (*callback)(struct Sprite *), s16 x u8 spriteId; spriteTemplate = malloc(sizeof(struct SpriteTemplate)); - MakeObjectTemplateFromEventObjectGraphicsInfo(graphicsId, callback, spriteTemplate, &subspriteTables); + MakeObjectTemplateFromObjectEventGraphicsInfo(graphicsId, callback, spriteTemplate, &subspriteTables); if (spriteTemplate->paletteTag != 0xFFFF) { - LoadEventObjectPalette(spriteTemplate->paletteTag); + LoadObjectEventPalette(spriteTemplate->paletteTag); } spriteId = CreateSprite(spriteTemplate, x, y, subpriority); free(spriteTemplate); @@ -1527,10 +1527,10 @@ u8 sprite_new(u8 graphicsId, u8 a1, s16 x, s16 y, u8 z, u8 direction) struct Sprite *sprite; struct SpriteTemplate spriteTemplate; const struct SubspriteTable *subspriteTables; - const struct EventObjectGraphicsInfo *graphicsInfo; + const struct ObjectEventGraphicsInfo *graphicsInfo; - graphicsInfo = GetEventObjectGraphicsInfo(graphicsId); - MakeObjectTemplateFromEventObjectGraphicsInfo(graphicsId, UpdateEventObjectSpriteSubpriorityAndVisibility, &spriteTemplate, &subspriteTables); + graphicsInfo = GetObjectEventGraphicsInfo(graphicsId); + MakeObjectTemplateFromObjectEventGraphicsInfo(graphicsId, UpdateObjectEventSpriteSubpriorityAndVisibility, &spriteTemplate, &subspriteTables); *(u16 *)&spriteTemplate.paletteTag = 0xFFFF; x += 7; y += 7; @@ -1570,7 +1570,7 @@ u8 sprite_new(u8 graphicsId, u8 a1, s16 x, s16 y, u8 z, u8 direction) return spriteId; } -void TrySpawnEventObjects(s16 cameraX, s16 cameraY) +void TrySpawnObjectEvents(s16 cameraX, s16 cameraY) { u8 i; u8 objectCount; @@ -1584,7 +1584,7 @@ void TrySpawnEventObjects(s16 cameraX, s16 cameraY) if (InBattlePyramid()) { - objectCount = GetNumBattlePyramidEventObjects(); + objectCount = GetNumBattlePyramidObjectEvents(); } else if (InTrainerHill()) { @@ -1592,58 +1592,58 @@ void TrySpawnEventObjects(s16 cameraX, s16 cameraY) } else { - objectCount = gMapHeader.events->eventObjectCount; + objectCount = gMapHeader.events->objectEventCount; } for (i = 0; i < objectCount; i++) { - struct EventObjectTemplate *template = &gSaveBlock1Ptr->eventObjectTemplates[i]; + struct ObjectEventTemplate *template = &gSaveBlock1Ptr->objectEventTemplates[i]; s16 npcX = template->x + 7; s16 npcY = template->y + 7; if (top <= npcY && bottom >= npcY && left <= npcX && right >= npcX && !FlagGet(template->flagId)) - TrySpawnEventObjectTemplate(template, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, cameraX, cameraY); + TrySpawnObjectEventTemplate(template, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, cameraX, cameraY); } } } -void RemoveEventObjectsOutsideView(void) +void RemoveObjectEventsOutsideView(void) { u8 i, j; bool8 isActiveLinkPlayer; - for (i = 0; i < EVENT_OBJECTS_COUNT; i++) + for (i = 0; i < OBJECT_EVENTS_COUNT; i++) { - for (j = 0, isActiveLinkPlayer = FALSE; j < ARRAY_COUNT(gLinkPlayerEventObjects); j++) + for (j = 0, isActiveLinkPlayer = FALSE; j < ARRAY_COUNT(gLinkPlayerObjectEvents); j++) { - if (gLinkPlayerEventObjects[j].active && i == gLinkPlayerEventObjects[j].eventObjId) + if (gLinkPlayerObjectEvents[j].active && i == gLinkPlayerObjectEvents[j].objEventId) isActiveLinkPlayer = TRUE; } if (!isActiveLinkPlayer) { - struct EventObject *eventObject = &gEventObjects[i]; + struct ObjectEvent *objectEvent = &gObjectEvents[i]; - if (eventObject->active && !eventObject->isPlayer) - RemoveEventObjectIfOutsideView(eventObject); + if (objectEvent->active && !objectEvent->isPlayer) + RemoveObjectEventIfOutsideView(objectEvent); } } } -static void RemoveEventObjectIfOutsideView(struct EventObject *eventObject) +static void RemoveObjectEventIfOutsideView(struct ObjectEvent *objectEvent) { s16 left = gSaveBlock1Ptr->pos.x - 2; s16 right = gSaveBlock1Ptr->pos.x + 17; s16 top = gSaveBlock1Ptr->pos.y; s16 bottom = gSaveBlock1Ptr->pos.y + 16; - if (eventObject->currentCoords.x >= left && eventObject->currentCoords.x <= right - && eventObject->currentCoords.y >= top && eventObject->currentCoords.y <= bottom) + if (objectEvent->currentCoords.x >= left && objectEvent->currentCoords.x <= right + && objectEvent->currentCoords.y >= top && objectEvent->currentCoords.y <= bottom) return; - if (eventObject->initialCoords.x >= left && eventObject->initialCoords.x <= right - && eventObject->initialCoords.y >= top && eventObject->initialCoords.y <= bottom) + if (objectEvent->initialCoords.x >= left && objectEvent->initialCoords.x <= right + && objectEvent->initialCoords.y >= top && objectEvent->initialCoords.y <= bottom) return; - RemoveEventObject(eventObject); + RemoveObjectEvent(objectEvent); } void sub_808E16C(s16 x, s16 y) @@ -1651,9 +1651,9 @@ void sub_808E16C(s16 x, s16 y) u8 i; ClearPlayerAvatarInfo(); - for (i = 0; i < EVENT_OBJECTS_COUNT; i++) + for (i = 0; i < OBJECT_EVENTS_COUNT; i++) { - if (gEventObjects[i].active) + if (gObjectEvents[i].active) { sub_808E1B8(i, x, y); } @@ -1661,32 +1661,32 @@ void sub_808E16C(s16 x, s16 y) CreateReflectionEffectSprites(); } -static void sub_808E1B8(u8 eventObjectId, s16 x, s16 y) +static void sub_808E1B8(u8 objectEventId, s16 x, s16 y) { u8 spriteId; u8 paletteSlot; struct Sprite *sprite; - struct EventObject *eventObject; + struct ObjectEvent *objectEvent; struct SpriteTemplate spriteTemplate; struct SpriteFrameImage spriteFrameImage; const struct SubspriteTable *subspriteTables; - const struct EventObjectGraphicsInfo *graphicsInfo; + const struct ObjectEventGraphicsInfo *graphicsInfo; #define i spriteId - for (i = 0; i < ARRAY_COUNT(gLinkPlayerEventObjects); i++) + for (i = 0; i < ARRAY_COUNT(gLinkPlayerObjectEvents); i++) { - if (gLinkPlayerEventObjects[i].active && eventObjectId == gLinkPlayerEventObjects[i].eventObjId) + if (gLinkPlayerObjectEvents[i].active && objectEventId == gLinkPlayerObjectEvents[i].objEventId) { return; } } #undef i - eventObject = &gEventObjects[eventObjectId]; + objectEvent = &gObjectEvents[objectEventId]; subspriteTables = NULL; - graphicsInfo = GetEventObjectGraphicsInfo(eventObject->graphicsId); + graphicsInfo = GetObjectEventGraphicsInfo(objectEvent->graphicsId); spriteFrameImage.size = graphicsInfo->size; - MakeObjectTemplateFromEventObjectGraphicsInfoWithCallbackIndex(eventObject->graphicsId, eventObject->movementType, &spriteTemplate, &subspriteTables); + MakeObjectTemplateFromObjectEventGraphicsInfoWithCallbackIndex(objectEvent->graphicsId, objectEvent->movementType, &spriteTemplate, &subspriteTables); spriteTemplate.images = &spriteFrameImage; *(u16 *)&spriteTemplate.paletteTag = 0xFFFF; paletteSlot = graphicsInfo->paletteSlot; @@ -1708,16 +1708,16 @@ static void sub_808E1B8(u8 eventObjectId, s16 x, s16 y) if (spriteId != MAX_SPRITES) { sprite = &gSprites[spriteId]; - sub_8092FF0(x + eventObject->currentCoords.x, y + eventObject->currentCoords.y, &sprite->pos1.x, &sprite->pos1.y); + sub_8092FF0(x + objectEvent->currentCoords.x, y + objectEvent->currentCoords.y, &sprite->pos1.x, &sprite->pos1.y); sprite->centerToCornerVecX = -(graphicsInfo->width >> 1); sprite->centerToCornerVecY = -(graphicsInfo->height >> 1); sprite->pos1.x += 8; sprite->pos1.y += 16 + sprite->centerToCornerVecY; sprite->images = graphicsInfo->images; - if (eventObject->movementType == MOVEMENT_TYPE_PLAYER) + if (objectEvent->movementType == MOVEMENT_TYPE_PLAYER) { - SetPlayerAvatarEventObjectIdAndObjectId(eventObjectId, spriteId); - eventObject->warpArrowSpriteId = CreateWarpArrowSprite(); + SetPlayerAvatarObjectEventIdAndObjectId(objectEventId, spriteId); + objectEvent->warpArrowSpriteId = CreateWarpArrowSprite(); } if (subspriteTables != NULL) { @@ -1725,46 +1725,46 @@ static void sub_808E1B8(u8 eventObjectId, s16 x, s16 y) } sprite->oam.paletteNum = paletteSlot; sprite->coordOffsetEnabled = TRUE; - sprite->data[0] = eventObjectId; - eventObject->spriteId = spriteId; - if (!eventObject->inanimate && eventObject->movementType != MOVEMENT_TYPE_PLAYER) + sprite->data[0] = objectEventId; + objectEvent->spriteId = spriteId; + if (!objectEvent->inanimate && objectEvent->movementType != MOVEMENT_TYPE_PLAYER) { - StartSpriteAnim(sprite, GetFaceDirectionAnimNum(eventObject->facingDirection)); + StartSpriteAnim(sprite, GetFaceDirectionAnimNum(objectEvent->facingDirection)); } - sub_808E38C(eventObject); - SetObjectSubpriorityByZCoord(eventObject->previousElevation, sprite, 1); + sub_808E38C(objectEvent); + SetObjectSubpriorityByZCoord(objectEvent->previousElevation, sprite, 1); } } -static void sub_808E38C(struct EventObject *eventObject) +static void sub_808E38C(struct ObjectEvent *objectEvent) { - eventObject->singleMovementActive = FALSE; - eventObject->triggerGroundEffectsOnMove = TRUE; - eventObject->hasShadow = FALSE; - eventObject->hasReflection = FALSE; - eventObject->inShortGrass = FALSE; - eventObject->inShallowFlowingWater = FALSE; - eventObject->inSandPile = FALSE; - eventObject->inHotSprings = FALSE; - EventObjectClearHeldMovement(eventObject); + objectEvent->singleMovementActive = FALSE; + objectEvent->triggerGroundEffectsOnMove = TRUE; + objectEvent->hasShadow = FALSE; + objectEvent->hasReflection = FALSE; + objectEvent->inShortGrass = FALSE; + objectEvent->inShallowFlowingWater = FALSE; + objectEvent->inSandPile = FALSE; + objectEvent->inHotSprings = FALSE; + ObjectEventClearHeldMovement(objectEvent); } -static void SetPlayerAvatarEventObjectIdAndObjectId(u8 eventObjectId, u8 spriteId) +static void SetPlayerAvatarObjectEventIdAndObjectId(u8 objectEventId, u8 spriteId) { - gPlayerAvatar.eventObjectId = eventObjectId; + gPlayerAvatar.objectEventId = objectEventId; gPlayerAvatar.spriteId = spriteId; - gPlayerAvatar.gender = GetPlayerAvatarGenderByGraphicsId(gEventObjects[eventObjectId].graphicsId); - SetPlayerAvatarExtraStateTransition(gEventObjects[eventObjectId].graphicsId, 0x20); + gPlayerAvatar.gender = GetPlayerAvatarGenderByGraphicsId(gObjectEvents[objectEventId].graphicsId); + SetPlayerAvatarExtraStateTransition(gObjectEvents[objectEventId].graphicsId, 0x20); } -void EventObjectSetGraphicsId(struct EventObject *eventObject, u8 graphicsId) +void ObjectEventSetGraphicsId(struct ObjectEvent *objectEvent, u8 graphicsId) { - const struct EventObjectGraphicsInfo *graphicsInfo; + const struct ObjectEventGraphicsInfo *graphicsInfo; struct Sprite *sprite; u8 paletteSlot; - graphicsInfo = GetEventObjectGraphicsInfo(graphicsId); - sprite = &gSprites[eventObject->spriteId]; + graphicsInfo = GetObjectEventGraphicsInfo(graphicsId); + sprite = &gSprites[objectEvent->spriteId]; paletteSlot = graphicsInfo->paletteSlot; if (paletteSlot == 0) { @@ -1785,88 +1785,87 @@ void EventObjectSetGraphicsId(struct EventObject *eventObject, u8 graphicsId) sprite->anims = graphicsInfo->anims; sprite->subspriteTables = graphicsInfo->subspriteTables; sprite->oam.paletteNum = paletteSlot; - eventObject->inanimate = graphicsInfo->inanimate; - eventObject->graphicsId = graphicsId; - SetSpritePosToMapCoords(eventObject->currentCoords.x, eventObject->currentCoords.y, &sprite->pos1.x, &sprite->pos1.y); + objectEvent->inanimate = graphicsInfo->inanimate; + objectEvent->graphicsId = graphicsId; + SetSpritePosToMapCoords(objectEvent->currentCoords.x, objectEvent->currentCoords.y, &sprite->pos1.x, &sprite->pos1.y); sprite->centerToCornerVecX = -(graphicsInfo->width >> 1); sprite->centerToCornerVecY = -(graphicsInfo->height >> 1); sprite->pos1.x += 8; sprite->pos1.y += 16 + sprite->centerToCornerVecY; - if (eventObject->trackedByCamera) + if (objectEvent->trackedByCamera) { CameraObjectReset1(); } } -void EventObjectSetGraphicsIdByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup, u8 graphicsId) +void ObjectEventSetGraphicsIdByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup, u8 graphicsId) { - u8 eventObjectId; + u8 objectEventId; - if (!TryGetEventObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &eventObjectId)) + if (!TryGetObjectEventIdByLocalIdAndMap(localId, mapNum, mapGroup, &objectEventId)) { - EventObjectSetGraphicsId(&gEventObjects[eventObjectId], graphicsId); + ObjectEventSetGraphicsId(&gObjectEvents[objectEventId], graphicsId); } } -void EventObjectTurn(struct EventObject *eventObject, u8 direction) +void ObjectEventTurn(struct ObjectEvent *objectEvent, u8 direction) { - SetEventObjectDirection(eventObject, direction); - if (!eventObject->inanimate) + SetObjectEventDirection(objectEvent, direction); + if (!objectEvent->inanimate) { - StartSpriteAnim(&gSprites[eventObject->spriteId], GetFaceDirectionAnimNum(eventObject->facingDirection)); - SeekSpriteAnim(&gSprites[eventObject->spriteId], 0); + StartSpriteAnim(&gSprites[objectEvent->spriteId], GetFaceDirectionAnimNum(objectEvent->facingDirection)); + SeekSpriteAnim(&gSprites[objectEvent->spriteId], 0); } } -void EventObjectTurnByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup, u8 direction) +void ObjectEventTurnByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup, u8 direction) { - u8 eventObjectId; + u8 objectEventId; - if (!TryGetEventObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &eventObjectId)) + if (!TryGetObjectEventIdByLocalIdAndMap(localId, mapNum, mapGroup, &objectEventId)) { - EventObjectTurn(&gEventObjects[eventObjectId], direction); + ObjectEventTurn(&gObjectEvents[objectEventId], direction); } } void PlayerObjectTurn(struct PlayerAvatar *playerAvatar, u8 direction) { - EventObjectTurn(&gEventObjects[playerAvatar->eventObjectId], direction); + ObjectEventTurn(&gObjectEvents[playerAvatar->objectEventId], direction); } -static void get_berry_tree_graphics(struct EventObject *eventObject, struct Sprite *sprite) +static void get_berry_tree_graphics(struct ObjectEvent *objectEvent, struct Sprite *sprite) { u8 berryStage; u8 berryId; - eventObject->invisible = TRUE; + objectEvent->invisible = TRUE; sprite->invisible = TRUE; - berryStage = GetStageByBerryTreeId(eventObject->trainerRange_berryTreeId); + berryStage = GetStageByBerryTreeId(objectEvent->trainerRange_berryTreeId); if (berryStage != 0) { - eventObject->invisible = FALSE; + objectEvent->invisible = FALSE; sprite->invisible = FALSE; - berryId = GetBerryTypeByBerryTreeId(eventObject->trainerRange_berryTreeId) - 1; + berryId = GetBerryTypeByBerryTreeId(objectEvent->trainerRange_berryTreeId) - 1; berryStage--; if (berryId > ITEM_TO_BERRY(LAST_BERRY_INDEX)) berryId = 0; - EventObjectSetGraphicsId(eventObject, gBerryTreeEventObjectGraphicsIdTablePointers[berryId][berryStage]); + ObjectEventSetGraphicsId(objectEvent, gBerryTreeObjectEventGraphicsIdTablePointers[berryId][berryStage]); sprite->images = gBerryTreePicTablePointers[berryId]; sprite->oam.paletteNum = gBerryTreePaletteSlotTablePointers[berryId][berryStage]; StartSpriteAnim(sprite, berryStage); } } -const struct EventObjectGraphicsInfo *GetEventObjectGraphicsInfo(u8 graphicsId) +const struct ObjectEventGraphicsInfo *GetObjectEventGraphicsInfo(u8 graphicsId) { u8 bard; if (graphicsId >= OBJ_EVENT_GFX_VARS) { - graphicsId = VarGetEventObjectGraphicsId(graphicsId - OBJ_EVENT_GFX_VARS); + graphicsId = VarGetObjectEventGraphicsId(graphicsId - OBJ_EVENT_GFX_VARS); } - - if (graphicsId == EVENT_OBJ_GFX_BARD) + if (graphicsId == OBJ_EVENT_GFX_BARD) { bard = GetCurrentMauvilleOldMan(); return gMauvilleOldManGraphicsInfoPointers[bard]; @@ -1874,86 +1873,86 @@ const struct EventObjectGraphicsInfo *GetEventObjectGraphicsInfo(u8 graphicsId) if (graphicsId >= NUM_OBJ_EVENT_GFX) { - graphicsId = EVENT_OBJ_GFX_NINJA_BOY; + graphicsId = OBJ_EVENT_GFX_NINJA_BOY; } - return gEventObjectGraphicsInfoPointers[graphicsId]; + return gObjectEventGraphicsInfoPointers[graphicsId]; } -static void SetEventObjectDynamicGraphicsId(struct EventObject *eventObject) +static void SetObjectEventDynamicGraphicsId(struct ObjectEvent *objectEvent) { - if (eventObject->graphicsId >= OBJ_EVENT_GFX_VARS) + if (objectEvent->graphicsId >= OBJ_EVENT_GFX_VARS) { - eventObject->graphicsId = VarGetEventObjectGraphicsId(eventObject->graphicsId - OBJ_EVENT_GFX_VARS); + objectEvent->graphicsId = VarGetObjectEventGraphicsId(objectEvent->graphicsId - OBJ_EVENT_GFX_VARS); } } void npc_by_local_id_and_map_set_field_1_bit_x20(u8 localId, u8 mapNum, u8 mapGroup, u8 state) { - u8 eventObjectId; + u8 objectEventId; - if (!TryGetEventObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &eventObjectId)) + if (!TryGetObjectEventIdByLocalIdAndMap(localId, mapNum, mapGroup, &objectEventId)) { - gEventObjects[eventObjectId].invisible = state; + gObjectEvents[objectEventId].invisible = state; } } -void EventObjectGetLocalIdAndMap(struct EventObject *eventObject, void *localId, void *mapNum, void *mapGroup) +void ObjectEventGetLocalIdAndMap(struct ObjectEvent *objectEvent, void *localId, void *mapNum, void *mapGroup) { - *(u8*)(localId) = eventObject->localId; - *(u8*)(mapNum) = eventObject->mapNum; - *(u8*)(mapGroup) = eventObject->mapGroup; + *(u8*)(localId) = objectEvent->localId; + *(u8*)(mapNum) = objectEvent->mapNum; + *(u8*)(mapGroup) = objectEvent->mapGroup; } void sub_808E75C(s16 x, s16 y) { - u8 eventObjectId; - struct EventObject *eventObject; + u8 objectEventId; + struct ObjectEvent *objectEvent; - eventObjectId = GetEventObjectIdByXY(x, y); - if (eventObjectId != EVENT_OBJECTS_COUNT) + objectEventId = GetObjectEventIdByXY(x, y); + if (objectEventId != OBJECT_EVENTS_COUNT) { - eventObject = &gEventObjects[eventObjectId]; - eventObject->triggerGroundEffectsOnMove = TRUE; + objectEvent = &gObjectEvents[objectEventId]; + objectEvent->triggerGroundEffectsOnMove = TRUE; } } void sub_808E78C(u8 localId, u8 mapNum, u8 mapGroup, u8 subpriority) { - u8 eventObjectId; - struct EventObject *eventObject; + u8 objectEventId; + struct ObjectEvent *objectEvent; struct Sprite *sprite; - if (!TryGetEventObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &eventObjectId)) + if (!TryGetObjectEventIdByLocalIdAndMap(localId, mapNum, mapGroup, &objectEventId)) { - eventObject = &gEventObjects[eventObjectId]; - sprite = &gSprites[eventObject->spriteId]; - eventObject->fixedPriority = TRUE; + objectEvent = &gObjectEvents[objectEventId]; + sprite = &gSprites[objectEvent->spriteId]; + objectEvent->fixedPriority = TRUE; sprite->subpriority = subpriority; } } void sub_808E7E4(u8 localId, u8 mapNum, u8 mapGroup) { - u8 eventObjectId; - struct EventObject *eventObject; + u8 objectEventId; + struct ObjectEvent *objectEvent; - if (!TryGetEventObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &eventObjectId)) + if (!TryGetObjectEventIdByLocalIdAndMap(localId, mapNum, mapGroup, &objectEventId)) { - eventObject = &gEventObjects[eventObjectId]; - eventObject->fixedPriority = FALSE; - eventObject->triggerGroundEffectsOnMove = TRUE; + objectEvent = &gObjectEvents[objectEventId]; + objectEvent->fixedPriority = FALSE; + objectEvent->triggerGroundEffectsOnMove = TRUE; } } void sub_808E82C(u8 localId, u8 mapNum, u8 mapGroup, s16 x, s16 y) { - u8 eventObjectId; + u8 objectEventId; struct Sprite *sprite; - if (!TryGetEventObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &eventObjectId)) + if (!TryGetObjectEventIdByLocalIdAndMap(localId, mapNum, mapGroup, &objectEventId)) { - sprite = &gSprites[gEventObjects[eventObjectId].spriteId]; + sprite = &gSprites[gObjectEvents[objectEventId].spriteId]; sprite->pos2.x = x; sprite->pos2.y = y; } @@ -1965,23 +1964,23 @@ void FreeAndReserveObjectSpritePalettes(void) gReservedSpritePaletteCount = 12; } -static void LoadEventObjectPalette(u16 paletteTag) +static void LoadObjectEventPalette(u16 paletteTag) { - u16 i = FindEventObjectPaletteIndexByTag(paletteTag); + u16 i = FindObjectEventPaletteIndexByTag(paletteTag); - if (i != EVENT_OBJ_PAL_TAG_NONE) // always true + if (i != OBJ_EVENT_PAL_TAG_NONE) // always true { - sub_808E8F4(&sEventObjectSpritePalettes[i]); + sub_808E8F4(&sObjectEventSpritePalettes[i]); } } -void Unused_LoadEventObjectPaletteSet(u16 *paletteTags) +void Unused_LoadObjectEventPaletteSet(u16 *paletteTags) { u8 i; - for (i = 0; paletteTags[i] != EVENT_OBJ_PAL_TAG_NONE; i++) + for (i = 0; paletteTags[i] != OBJ_EVENT_PAL_TAG_NONE; i++) { - LoadEventObjectPalette(paletteTags[i]); + LoadObjectEventPalette(paletteTags[i]); } } @@ -1996,9 +1995,9 @@ static u8 sub_808E8F4(const struct SpritePalette *spritePalette) void PatchObjectPalette(u16 paletteTag, u8 paletteSlot) { - u8 paletteIndex = FindEventObjectPaletteIndexByTag(paletteTag); + u8 paletteIndex = FindObjectEventPaletteIndexByTag(paletteTag); - LoadPalette(sEventObjectSpritePalettes[paletteIndex].data, 16 * paletteSlot + 0x100, 0x20); + LoadPalette(sObjectEventSpritePalettes[paletteIndex].data, 16 * paletteSlot + 0x100, 0x20); } void PatchObjectPaletteRange(const u16 *paletteTags, u8 minSlot, u8 maxSlot) @@ -2011,13 +2010,13 @@ void PatchObjectPaletteRange(const u16 *paletteTags, u8 minSlot, u8 maxSlot) } } -static u8 FindEventObjectPaletteIndexByTag(u16 tag) +static u8 FindObjectEventPaletteIndexByTag(u16 tag) { u8 i; - for (i = 0; sEventObjectSpritePalettes[i].tag != EVENT_OBJ_PAL_TAG_NONE; i++) + for (i = 0; sObjectEventSpritePalettes[i].tag != OBJ_EVENT_PAL_TAG_NONE; i++) { - if (sEventObjectSpritePalettes[i].tag == tag) + if (sObjectEventSpritePalettes[i].tag == tag) { return i; } @@ -2030,7 +2029,7 @@ void LoadPlayerObjectReflectionPalette(u16 tag, u8 slot) u8 i; PatchObjectPalette(tag, slot); - for (i = 0; gPlayerReflectionPaletteSets[i].tag != EVENT_OBJ_PAL_TAG_NONE; i++) + for (i = 0; gPlayerReflectionPaletteSets[i].tag != OBJ_EVENT_PAL_TAG_NONE; i++) { if (gPlayerReflectionPaletteSets[i].tag == tag) { @@ -2046,7 +2045,7 @@ void LoadSpecialObjectReflectionPalette(u16 tag, u8 slot) sCurrentSpecialObjectPaletteTag = tag; PatchObjectPalette(tag, slot); - for (i = 0; gSpecialObjectReflectionPaletteSets[i].tag != EVENT_OBJ_PAL_TAG_NONE; i++) + for (i = 0; gSpecialObjectReflectionPaletteSets[i].tag != OBJ_EVENT_PAL_TAG_NONE; i++) { if (gSpecialObjectReflectionPaletteSets[i].tag == tag) { @@ -2061,65 +2060,65 @@ static void sub_808EAB0(u16 tag, u8 slot) PatchObjectPalette(tag, slot); } -void unref_sub_808EAC4(struct EventObject *eventObject, s16 x, s16 y) +void unref_sub_808EAC4(struct ObjectEvent *objectEvent, s16 x, s16 y) { - eventObject->previousCoords.x = eventObject->currentCoords.x; - eventObject->previousCoords.y = eventObject->currentCoords.y; - eventObject->currentCoords.x += x; - eventObject->currentCoords.y += y; + objectEvent->previousCoords.x = objectEvent->currentCoords.x; + objectEvent->previousCoords.y = objectEvent->currentCoords.y; + objectEvent->currentCoords.x += x; + objectEvent->currentCoords.y += y; } -void ShiftEventObjectCoords(struct EventObject *eventObject, s16 x, s16 y) +void ShiftObjectEventCoords(struct ObjectEvent *objectEvent, s16 x, s16 y) { - eventObject->previousCoords.x = eventObject->currentCoords.x; - eventObject->previousCoords.y = eventObject->currentCoords.y; - eventObject->currentCoords.x = x; - eventObject->currentCoords.y = y; + objectEvent->previousCoords.x = objectEvent->currentCoords.x; + objectEvent->previousCoords.y = objectEvent->currentCoords.y; + objectEvent->currentCoords.x = x; + objectEvent->currentCoords.y = y; } -static void SetEventObjectCoords(struct EventObject *eventObject, s16 x, s16 y) +static void SetObjectEventCoords(struct ObjectEvent *objectEvent, s16 x, s16 y) { - eventObject->previousCoords.x = x; - eventObject->previousCoords.y = y; - eventObject->currentCoords.x = x; - eventObject->currentCoords.y = y; + objectEvent->previousCoords.x = x; + objectEvent->previousCoords.y = y; + objectEvent->currentCoords.x = x; + objectEvent->currentCoords.y = y; } -void MoveEventObjectToMapCoords(struct EventObject *eventObject, s16 x, s16 y) +void MoveObjectEventToMapCoords(struct ObjectEvent *objectEvent, s16 x, s16 y) { struct Sprite *sprite; - const struct EventObjectGraphicsInfo *graphicsInfo; + const struct ObjectEventGraphicsInfo *graphicsInfo; - sprite = &gSprites[eventObject->spriteId]; - graphicsInfo = GetEventObjectGraphicsInfo(eventObject->graphicsId); - SetEventObjectCoords(eventObject, x, y); - SetSpritePosToMapCoords(eventObject->currentCoords.x, eventObject->currentCoords.y, &sprite->pos1.x, &sprite->pos1.y); + sprite = &gSprites[objectEvent->spriteId]; + graphicsInfo = GetObjectEventGraphicsInfo(objectEvent->graphicsId); + SetObjectEventCoords(objectEvent, x, y); + SetSpritePosToMapCoords(objectEvent->currentCoords.x, objectEvent->currentCoords.y, &sprite->pos1.x, &sprite->pos1.y); sprite->centerToCornerVecX = -(graphicsInfo->width >> 1); sprite->centerToCornerVecY = -(graphicsInfo->height >> 1); sprite->pos1.x += 8; sprite->pos1.y += 16 + sprite->centerToCornerVecY; - sub_808E38C(eventObject); - if (eventObject->trackedByCamera) + sub_808E38C(objectEvent); + if (objectEvent->trackedByCamera) CameraObjectReset1(); } -void TryMoveEventObjectToMapCoords(u8 localId, u8 mapNum, u8 mapGroup, s16 x, s16 y) +void TryMoveObjectEventToMapCoords(u8 localId, u8 mapNum, u8 mapGroup, s16 x, s16 y) { - u8 eventObjectId; - if (!TryGetEventObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &eventObjectId)) + u8 objectEventId; + if (!TryGetObjectEventIdByLocalIdAndMap(localId, mapNum, mapGroup, &objectEventId)) { x += 7; y += 7; - MoveEventObjectToMapCoords(&gEventObjects[eventObjectId], x, y); + MoveObjectEventToMapCoords(&gObjectEvents[objectEventId], x, y); } } -void ShiftStillEventObjectCoords(struct EventObject *eventObject) +void ShiftStillObjectEventCoords(struct ObjectEvent *objectEvent) { - ShiftEventObjectCoords(eventObject, eventObject->currentCoords.x, eventObject->currentCoords.y); + ShiftObjectEventCoords(objectEvent, objectEvent->currentCoords.x, objectEvent->currentCoords.y); } -void UpdateEventObjectCoordsForCameraUpdate(void) +void UpdateObjectEventCoordsForCameraUpdate(void) { u8 i; s16 dx; @@ -2129,52 +2128,52 @@ void UpdateEventObjectCoordsForCameraUpdate(void) { dx = gCamera.x; dy = gCamera.y; - for (i = 0; i < EVENT_OBJECTS_COUNT; i++) + for (i = 0; i < OBJECT_EVENTS_COUNT; i++) { - if (gEventObjects[i].active) + if (gObjectEvents[i].active) { - gEventObjects[i].initialCoords.x -= dx; - gEventObjects[i].initialCoords.y -= dy; - gEventObjects[i].currentCoords.x -= dx; - gEventObjects[i].currentCoords.y -= dy; - gEventObjects[i].previousCoords.x -= dx; - gEventObjects[i].previousCoords.y -= dy; + gObjectEvents[i].initialCoords.x -= dx; + gObjectEvents[i].initialCoords.y -= dy; + gObjectEvents[i].currentCoords.x -= dx; + gObjectEvents[i].currentCoords.y -= dy; + gObjectEvents[i].previousCoords.x -= dx; + gObjectEvents[i].previousCoords.y -= dy; } } } } -u8 GetEventObjectIdByXYZ(u16 x, u16 y, u8 z) +u8 GetObjectEventIdByXYZ(u16 x, u16 y, u8 z) { u8 i; - for (i = 0; i < EVENT_OBJECTS_COUNT; i++) + for (i = 0; i < OBJECT_EVENTS_COUNT; i++) { - if (gEventObjects[i].active) + if (gObjectEvents[i].active) { - if (gEventObjects[i].currentCoords.x == x && gEventObjects[i].currentCoords.y == y && EventObjectDoesZCoordMatch(&gEventObjects[i], z)) + if (gObjectEvents[i].currentCoords.x == x && gObjectEvents[i].currentCoords.y == y && ObjectEventDoesZCoordMatch(&gObjectEvents[i], z)) { return i; } } } - return EVENT_OBJECTS_COUNT; + return OBJECT_EVENTS_COUNT; } -static bool8 EventObjectDoesZCoordMatch(struct EventObject *eventObject, u8 z) +static bool8 ObjectEventDoesZCoordMatch(struct ObjectEvent *objectEvent, u8 z) { - if (eventObject->currentElevation != 0 && z != 0 && eventObject->currentElevation != z) + if (objectEvent->currentElevation != 0 && z != 0 && objectEvent->currentElevation != z) { return FALSE; } return TRUE; } -void UpdateEventObjectsForCameraUpdate(s16 x, s16 y) +void UpdateObjectEventsForCameraUpdate(s16 x, s16 y) { - UpdateEventObjectCoordsForCameraUpdate(); - TrySpawnEventObjects(x, y); - RemoveEventObjectsOutsideView(); + UpdateObjectEventCoordsForCameraUpdate(); + TrySpawnObjectEvents(x, y); + RemoveObjectEventsOutsideView(); } u8 AddCameraObject(u8 linkedSpriteId) @@ -2313,91 +2312,91 @@ u8 CreateCopySpriteAt(struct Sprite *sprite, s16 x, s16 y, u8 subpriority) return MAX_SPRITES; } -void SetEventObjectDirection(struct EventObject *eventObject, u8 direction) +void SetObjectEventDirection(struct ObjectEvent *objectEvent, u8 direction) { s8 d2; - eventObject->previousMovementDirection = eventObject->facingDirection; - if (!eventObject->facingDirectionLocked) + objectEvent->previousMovementDirection = objectEvent->facingDirection; + if (!objectEvent->facingDirectionLocked) { d2 = direction; - eventObject->facingDirection = d2; + objectEvent->facingDirection = d2; } - eventObject->movementDirection = direction; + objectEvent->movementDirection = direction; } -static const u8 *GetEventObjectScriptPointerByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup) +static const u8 *GetObjectEventScriptPointerByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup) { - return GetEventObjectTemplateByLocalIdAndMap(localId, mapNum, mapGroup)->script; + return GetObjectEventTemplateByLocalIdAndMap(localId, mapNum, mapGroup)->script; } -const u8 *GetEventObjectScriptPointerByEventObjectId(u8 eventObjectId) +const u8 *GetObjectEventScriptPointerByObjectEventId(u8 objectEventId) { - return GetEventObjectScriptPointerByLocalIdAndMap(gEventObjects[eventObjectId].localId, gEventObjects[eventObjectId].mapNum, gEventObjects[eventObjectId].mapGroup); + return GetObjectEventScriptPointerByLocalIdAndMap(gObjectEvents[objectEventId].localId, gObjectEvents[objectEventId].mapNum, gObjectEvents[objectEventId].mapGroup); } -static u16 GetEventObjectFlagIdByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup) +static u16 GetObjectEventFlagIdByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup) { - return GetEventObjectTemplateByLocalIdAndMap(localId, mapNum, mapGroup)->flagId; + return GetObjectEventTemplateByLocalIdAndMap(localId, mapNum, mapGroup)->flagId; } -static u16 GetEventObjectFlagIdByEventObjectId(u8 eventObjectId) +static u16 GetObjectEventFlagIdByObjectEventId(u8 objectEventId) { - return GetEventObjectFlagIdByLocalIdAndMap(gEventObjects[eventObjectId].localId, gEventObjects[eventObjectId].mapNum, gEventObjects[eventObjectId].mapGroup); + return GetObjectEventFlagIdByLocalIdAndMap(gObjectEvents[objectEventId].localId, gObjectEvents[objectEventId].mapNum, gObjectEvents[objectEventId].mapGroup); } u8 sub_808F080(u8 localId, u8 mapNum, u8 mapGroup) { - u8 eventObjectId; + u8 objectEventId; - if (TryGetEventObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &eventObjectId)) + if (TryGetObjectEventIdByLocalIdAndMap(localId, mapNum, mapGroup, &objectEventId)) { return 0xFF; } - return gEventObjects[eventObjectId].trainerType; + return gObjectEvents[objectEventId].trainerType; } -u8 sub_808F0BC(u8 eventObjectId) +u8 sub_808F0BC(u8 objectEventId) { - return gEventObjects[eventObjectId].trainerType; + return gObjectEvents[objectEventId].trainerType; } u8 sub_808F0D4(u8 localId, u8 mapNum, u8 mapGroup) { - u8 eventObjectId; + u8 objectEventId; - if (TryGetEventObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &eventObjectId)) + if (TryGetObjectEventIdByLocalIdAndMap(localId, mapNum, mapGroup, &objectEventId)) { return 0xFF; } - return gEventObjects[eventObjectId].trainerRange_berryTreeId; + return gObjectEvents[objectEventId].trainerRange_berryTreeId; } -u8 EventObjectGetBerryTreeId(u8 eventObjectId) +u8 ObjectEventGetBerryTreeId(u8 objectEventId) { - return gEventObjects[eventObjectId].trainerRange_berryTreeId; + return gObjectEvents[objectEventId].trainerRange_berryTreeId; } -static struct EventObjectTemplate *GetEventObjectTemplateByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup) +static struct ObjectEventTemplate *GetObjectEventTemplateByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup) { - struct EventObjectTemplate *templates; + struct ObjectEventTemplate *templates; const struct MapHeader *mapHeader; u8 count; if (gSaveBlock1Ptr->location.mapNum == mapNum && gSaveBlock1Ptr->location.mapGroup == mapGroup) { - templates = gSaveBlock1Ptr->eventObjectTemplates; - count = gMapHeader.events->eventObjectCount; + templates = gSaveBlock1Ptr->objectEventTemplates; + count = gMapHeader.events->objectEventCount; } else { mapHeader = Overworld_GetMapHeaderByGroupAndId(mapGroup, mapNum); - templates = mapHeader->events->eventObjects; - count = mapHeader->events->eventObjectCount; + templates = mapHeader->events->objectEvents; + count = mapHeader->events->objectEventCount; } - return FindEventObjectTemplateByLocalId(localId, templates, count); + return FindObjectEventTemplateByLocalId(localId, templates, count); } -static struct EventObjectTemplate *FindEventObjectTemplateByLocalId(u8 localId, struct EventObjectTemplate *templates, u8 count) +static struct ObjectEventTemplate *FindObjectEventTemplateByLocalId(u8 localId, struct ObjectEventTemplate *templates, u8 count) { u8 i; @@ -2411,84 +2410,84 @@ static struct EventObjectTemplate *FindEventObjectTemplateByLocalId(u8 localId, return NULL; } -struct EventObjectTemplate *GetBaseTemplateForEventObject(const struct EventObject *eventObject) +struct ObjectEventTemplate *GetBaseTemplateForObjectEvent(const struct ObjectEvent *objectEvent) { int i; - if (eventObject->mapNum != gSaveBlock1Ptr->location.mapNum || eventObject->mapGroup != gSaveBlock1Ptr->location.mapGroup) + if (objectEvent->mapNum != gSaveBlock1Ptr->location.mapNum || objectEvent->mapGroup != gSaveBlock1Ptr->location.mapGroup) { return NULL; } - for (i = 0; i < EVENT_OBJECT_TEMPLATES_COUNT; i++) + for (i = 0; i < OBJECT_EVENT_TEMPLATES_COUNT; i++) { - if (eventObject->localId == gSaveBlock1Ptr->eventObjectTemplates[i].localId) + if (objectEvent->localId == gSaveBlock1Ptr->objectEventTemplates[i].localId) { - return &gSaveBlock1Ptr->eventObjectTemplates[i]; + return &gSaveBlock1Ptr->objectEventTemplates[i]; } } return NULL; } -void OverrideTemplateCoordsForEventObject(const struct EventObject *eventObject) +void OverrideTemplateCoordsForObjectEvent(const struct ObjectEvent *objectEvent) { - struct EventObjectTemplate *eventObjectTemplate; + struct ObjectEventTemplate *objectEventTemplate; - eventObjectTemplate = GetBaseTemplateForEventObject(eventObject); - if (eventObjectTemplate != NULL) + objectEventTemplate = GetBaseTemplateForObjectEvent(objectEvent); + if (objectEventTemplate != NULL) { - eventObjectTemplate->x = eventObject->currentCoords.x - 7; - eventObjectTemplate->y = eventObject->currentCoords.y - 7; + objectEventTemplate->x = objectEvent->currentCoords.x - 7; + objectEventTemplate->y = objectEvent->currentCoords.y - 7; } } -static void OverrideEventObjectTemplateScript(const struct EventObject *eventObject, const u8 *script) +static void OverrideObjectEventTemplateScript(const struct ObjectEvent *objectEvent, const u8 *script) { - struct EventObjectTemplate *eventObjectTemplate; + struct ObjectEventTemplate *objectEventTemplate; - eventObjectTemplate = GetBaseTemplateForEventObject(eventObject); - if (eventObjectTemplate) - eventObjectTemplate->script = script; + objectEventTemplate = GetBaseTemplateForObjectEvent(objectEvent); + if (objectEventTemplate) + objectEventTemplate->script = script; } -void TryOverrideTemplateCoordsForEventObject(const struct EventObject *eventObject, u8 movementType) +void TryOverrideTemplateCoordsForObjectEvent(const struct ObjectEvent *objectEvent, u8 movementType) { - struct EventObjectTemplate *eventObjectTemplate; + struct ObjectEventTemplate *objectEventTemplate; - eventObjectTemplate = GetBaseTemplateForEventObject(eventObject); - if (eventObjectTemplate != NULL) + objectEventTemplate = GetBaseTemplateForObjectEvent(objectEvent); + if (objectEventTemplate != NULL) { - eventObjectTemplate->movementType = movementType; + objectEventTemplate->movementType = movementType; } } -void TryOverrideEventObjectTemplateCoords(u8 localId, u8 mapNum, u8 mapGroup) +void TryOverrideObjectEventTemplateCoords(u8 localId, u8 mapNum, u8 mapGroup) { - u8 eventObjectId; - if (!TryGetEventObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &eventObjectId)) - OverrideTemplateCoordsForEventObject(&gEventObjects[eventObjectId]); + u8 objectEventId; + if (!TryGetObjectEventIdByLocalIdAndMap(localId, mapNum, mapGroup, &objectEventId)) + OverrideTemplateCoordsForObjectEvent(&gObjectEvents[objectEventId]); } void OverrideSecretBaseDecorationSpriteScript(u8 localId, u8 mapNum, u8 mapGroup, u8 decorationCategory) { - u8 eventObjectId; - if (!TryGetEventObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &eventObjectId)) + u8 objectEventId; + if (!TryGetObjectEventIdByLocalIdAndMap(localId, mapNum, mapGroup, &objectEventId)) { switch (decorationCategory) { case DECORCAT_DOLL: - OverrideEventObjectTemplateScript(&gEventObjects[eventObjectId], SecretBase_EventScript_DollInteract); + OverrideObjectEventTemplateScript(&gObjectEvents[objectEventId], SecretBase_EventScript_DollInteract); break; case DECORCAT_CUSHION: - OverrideEventObjectTemplateScript(&gEventObjects[eventObjectId], SecretBase_EventScript_CushionInteract); + OverrideObjectEventTemplateScript(&gObjectEvents[objectEventId], SecretBase_EventScript_CushionInteract); break; } } } -void InitEventObjectPalettes(u8 palSlot) +void InitObjectEventPalettes(u8 palSlot) { FreeAndReserveObjectSpritePalettes(); - sCurrentSpecialObjectPaletteTag = EVENT_OBJ_PAL_TAG_NONE; + sCurrentSpecialObjectPaletteTag = OBJ_EVENT_PAL_TAG_NONE; sCurrentReflectionType = palSlot; if (palSlot == 1) { @@ -2509,36 +2508,36 @@ u16 GetObjectPaletteTag(u8 palSlot) { return gObjectPaletteTagSets[sCurrentReflectionType][palSlot]; } - for (i = 0; gSpecialObjectReflectionPaletteSets[i].tag != EVENT_OBJ_PAL_TAG_NONE; i++) + for (i = 0; gSpecialObjectReflectionPaletteSets[i].tag != OBJ_EVENT_PAL_TAG_NONE; i++) { if (gSpecialObjectReflectionPaletteSets[i].tag == sCurrentSpecialObjectPaletteTag) { return gSpecialObjectReflectionPaletteSets[i].data[sCurrentReflectionType]; } } - return EVENT_OBJ_PAL_TAG_NONE; + return OBJ_EVENT_PAL_TAG_NONE; } movement_type_empty_callback(MovementType_None) movement_type_def(MovementType_WanderAround, gMovementTypeFuncs_WanderAround) -bool8 MovementType_WanderAround_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_WanderAround_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - ClearEventObjectMovement(eventObject, sprite); + ClearObjectEventMovement(objectEvent, sprite); sprite->data[1] = 1; return TRUE; } -bool8 MovementType_WanderAround_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_WanderAround_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - EventObjectSetSingleMovement(eventObject, sprite, GetFaceDirectionMovementAction(eventObject->facingDirection)); + ObjectEventSetSingleMovement(objectEvent, sprite, GetFaceDirectionMovementAction(objectEvent->facingDirection)); sprite->data[1] = 2; return TRUE; } -bool8 MovementType_WanderAround_Step2(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_WanderAround_Step2(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (!EventObjectExecSingleMovementAction(eventObject, sprite)) + if (!ObjectEventExecSingleMovementAction(objectEvent, sprite)) { return FALSE; } @@ -2547,7 +2546,7 @@ bool8 MovementType_WanderAround_Step2(struct EventObject *eventObject, struct Sp return TRUE; } -bool8 MovementType_WanderAround_Step3(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_WanderAround_Step3(struct ObjectEvent *objectEvent, struct Sprite *sprite) { if (WaitForMovementDelay(sprite)) { @@ -2557,40 +2556,40 @@ bool8 MovementType_WanderAround_Step3(struct EventObject *eventObject, struct Sp return FALSE; } -bool8 MovementType_WanderAround_Step4(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_WanderAround_Step4(struct ObjectEvent *objectEvent, struct Sprite *sprite) { u8 directions[4]; u8 chosenDirection; memcpy(directions, gStandardDirections, sizeof directions); chosenDirection = directions[Random() & 3]; - SetEventObjectDirection(eventObject, chosenDirection); + SetObjectEventDirection(objectEvent, chosenDirection); sprite->data[1] = 5; - if (GetCollisionInDirection(eventObject, chosenDirection)) + if (GetCollisionInDirection(objectEvent, chosenDirection)) sprite->data[1] = 1; return TRUE; } -bool8 MovementType_WanderAround_Step5(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_WanderAround_Step5(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - EventObjectSetSingleMovement(eventObject, sprite, GetWalkNormalMovementAction(eventObject->movementDirection)); - eventObject->singleMovementActive = 1; + ObjectEventSetSingleMovement(objectEvent, sprite, GetWalkNormalMovementAction(objectEvent->movementDirection)); + objectEvent->singleMovementActive = 1; sprite->data[1] = 6; return TRUE; } -bool8 MovementType_WanderAround_Step6(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_WanderAround_Step6(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (EventObjectExecSingleMovementAction(eventObject, sprite)) + if (ObjectEventExecSingleMovementAction(objectEvent, sprite)) { - eventObject->singleMovementActive = 0; + objectEvent->singleMovementActive = 0; sprite->data[1] = 1; } return FALSE; } -bool8 EventObjectIsTrainerAndCloseToPlayer(struct EventObject *eventObject) +bool8 ObjectEventIsTrainerAndCloseToPlayer(struct ObjectEvent *objectEvent) { s16 playerX; s16 playerY; @@ -2605,17 +2604,17 @@ bool8 EventObjectIsTrainerAndCloseToPlayer(struct EventObject *eventObject) { return FALSE; } - if (eventObject->trainerType != 1 && eventObject->trainerType != 3) + if (objectEvent->trainerType != 1 && objectEvent->trainerType != 3) { return FALSE; } PlayerGetDestCoords(&playerX, &playerY); - objX = eventObject->currentCoords.x; - objY = eventObject->currentCoords.y; - minX = objX - eventObject->trainerRange_berryTreeId; - minY = objY - eventObject->trainerRange_berryTreeId; - maxX = objX + eventObject->trainerRange_berryTreeId; - maxY = objY + eventObject->trainerRange_berryTreeId; + objX = objectEvent->currentCoords.x; + objY = objectEvent->currentCoords.y; + minX = objX - objectEvent->trainerRange_berryTreeId; + minY = objY - objectEvent->trainerRange_berryTreeId; + maxX = objX + objectEvent->trainerRange_berryTreeId; + maxY = objY + objectEvent->trainerRange_berryTreeId; if (minX > playerX || maxX < playerX || minY > playerY || maxY < playerY) { return FALSE; @@ -2814,18 +2813,18 @@ u8 GetLimitedVectorDirection_SouthWestEast(s16 dx, s16 dy, s16 absdx, s16 absdy) return direction; } -u8 TryGetTrainerEncounterDirection(struct EventObject *eventObject, u8 movementType) +u8 TryGetTrainerEncounterDirection(struct ObjectEvent *objectEvent, u8 movementType) { s16 dx, dy; s16 absdx, absdy; - if (!EventObjectIsTrainerAndCloseToPlayer(eventObject)) + if (!ObjectEventIsTrainerAndCloseToPlayer(objectEvent)) { return 0; } PlayerGetDestCoords(&dx, &dy); - dx -= eventObject->currentCoords.x; - dy -= eventObject->currentCoords.y; + dx -= objectEvent->currentCoords.x; + dy -= objectEvent->currentCoords.y; absdx = dx; absdy = dy; if (absdx < 0) @@ -2841,34 +2840,34 @@ u8 TryGetTrainerEncounterDirection(struct EventObject *eventObject, u8 movementT movement_type_def(MovementType_LookAround, gMovementTypeFuncs_LookAround) -bool8 MovementType_LookAround_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_LookAround_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - ClearEventObjectMovement(eventObject, sprite); + ClearObjectEventMovement(objectEvent, sprite); sprite->data[1] = 1; return TRUE; } -bool8 MovementType_LookAround_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_LookAround_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - EventObjectSetSingleMovement(eventObject, sprite, GetFaceDirectionMovementAction(eventObject->facingDirection)); + ObjectEventSetSingleMovement(objectEvent, sprite, GetFaceDirectionMovementAction(objectEvent->facingDirection)); sprite->data[1] = 2; return TRUE; } -bool8 MovementType_LookAround_Step2(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_LookAround_Step2(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (EventObjectExecSingleMovementAction(eventObject, sprite)) + if (ObjectEventExecSingleMovementAction(objectEvent, sprite)) { SetMovementDelay(sprite, gMovementDelaysMedium[Random() & 3]); - eventObject->singleMovementActive = 0; + objectEvent->singleMovementActive = 0; sprite->data[1] = 3; } return FALSE; } -bool8 MovementType_LookAround_Step3(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_LookAround_Step3(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (WaitForMovementDelay(sprite) || EventObjectIsTrainerAndCloseToPlayer(eventObject)) + if (WaitForMovementDelay(sprite) || ObjectEventIsTrainerAndCloseToPlayer(objectEvent)) { sprite->data[1] = 4; return TRUE; @@ -2876,39 +2875,39 @@ bool8 MovementType_LookAround_Step3(struct EventObject *eventObject, struct Spri return FALSE; } -bool8 MovementType_LookAround_Step4(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_LookAround_Step4(struct ObjectEvent *objectEvent, struct Sprite *sprite) { u8 direction; u8 directions[4]; memcpy(directions, gStandardDirections, sizeof directions); - direction = TryGetTrainerEncounterDirection(eventObject, RUNFOLLOW_ANY); + direction = TryGetTrainerEncounterDirection(objectEvent, RUNFOLLOW_ANY); if (direction == DIR_NONE) direction = directions[Random() & 3]; - SetEventObjectDirection(eventObject, direction); + SetObjectEventDirection(objectEvent, direction); sprite->data[1] = 1; return TRUE; } movement_type_def(MovementType_WanderUpAndDown, gMovementTypeFuncs_WanderUpAndDown) -bool8 MovementType_WanderUpAndDown_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_WanderUpAndDown_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - ClearEventObjectMovement(eventObject, sprite); + ClearObjectEventMovement(objectEvent, sprite); sprite->data[1] = 1; return TRUE; } -bool8 MovementType_WanderUpAndDown_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_WanderUpAndDown_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - EventObjectSetSingleMovement(eventObject, sprite, GetFaceDirectionMovementAction(eventObject->facingDirection)); + ObjectEventSetSingleMovement(objectEvent, sprite, GetFaceDirectionMovementAction(objectEvent->facingDirection)); sprite->data[1] = 2; return TRUE; } -bool8 MovementType_WanderUpAndDown_Step2(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_WanderUpAndDown_Step2(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (!EventObjectExecSingleMovementAction(eventObject, sprite)) + if (!ObjectEventExecSingleMovementAction(objectEvent, sprite)) { return FALSE; } @@ -2917,7 +2916,7 @@ bool8 MovementType_WanderUpAndDown_Step2(struct EventObject *eventObject, struct return TRUE; } -bool8 MovementType_WanderUpAndDown_Step3(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_WanderUpAndDown_Step3(struct ObjectEvent *objectEvent, struct Sprite *sprite) { if (WaitForMovementDelay(sprite)) { @@ -2927,33 +2926,33 @@ bool8 MovementType_WanderUpAndDown_Step3(struct EventObject *eventObject, struct return FALSE; } -bool8 MovementType_WanderUpAndDown_Step4(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_WanderUpAndDown_Step4(struct ObjectEvent *objectEvent, struct Sprite *sprite) { u8 direction; u8 directions[2]; memcpy(directions, gUpAndDownDirections, sizeof directions); direction = directions[Random() & 1]; - SetEventObjectDirection(eventObject, direction); + SetObjectEventDirection(objectEvent, direction); sprite->data[1] = 5; - if (GetCollisionInDirection(eventObject, direction)) + if (GetCollisionInDirection(objectEvent, direction)) sprite->data[1] = 1; return TRUE; } -bool8 MovementType_WanderUpAndDown_Step5(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_WanderUpAndDown_Step5(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - EventObjectSetSingleMovement(eventObject, sprite, GetWalkNormalMovementAction(eventObject->movementDirection)); - eventObject->singleMovementActive = 1; + ObjectEventSetSingleMovement(objectEvent, sprite, GetWalkNormalMovementAction(objectEvent->movementDirection)); + objectEvent->singleMovementActive = 1; sprite->data[1] = 6; return TRUE; } -bool8 MovementType_WanderUpAndDown_Step6(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_WanderUpAndDown_Step6(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (EventObjectExecSingleMovementAction(eventObject, sprite)) + if (ObjectEventExecSingleMovementAction(objectEvent, sprite)) { - eventObject->singleMovementActive = 0; + objectEvent->singleMovementActive = 0; sprite->data[1] = 1; } return FALSE; @@ -2961,23 +2960,23 @@ bool8 MovementType_WanderUpAndDown_Step6(struct EventObject *eventObject, struct movement_type_def(MovementType_WanderLeftAndRight, gMovementTypeFuncs_WanderLeftAndRight) -bool8 MovementType_WanderLeftAndRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_WanderLeftAndRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - ClearEventObjectMovement(eventObject, sprite); + ClearObjectEventMovement(objectEvent, sprite); sprite->data[1] = 1; return TRUE; } -bool8 MovementType_WanderLeftAndRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_WanderLeftAndRight_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - EventObjectSetSingleMovement(eventObject, sprite, GetFaceDirectionMovementAction(eventObject->facingDirection)); + ObjectEventSetSingleMovement(objectEvent, sprite, GetFaceDirectionMovementAction(objectEvent->facingDirection)); sprite->data[1] = 2; return TRUE; } -bool8 MovementType_WanderLeftAndRight_Step2(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_WanderLeftAndRight_Step2(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (!EventObjectExecSingleMovementAction(eventObject, sprite)) + if (!ObjectEventExecSingleMovementAction(objectEvent, sprite)) { return FALSE; } @@ -2986,7 +2985,7 @@ bool8 MovementType_WanderLeftAndRight_Step2(struct EventObject *eventObject, str return TRUE; } -bool8 MovementType_WanderLeftAndRight_Step3(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_WanderLeftAndRight_Step3(struct ObjectEvent *objectEvent, struct Sprite *sprite) { if (WaitForMovementDelay(sprite)) { @@ -2996,33 +2995,33 @@ bool8 MovementType_WanderLeftAndRight_Step3(struct EventObject *eventObject, str return FALSE; } -bool8 MovementType_WanderLeftAndRight_Step4(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_WanderLeftAndRight_Step4(struct ObjectEvent *objectEvent, struct Sprite *sprite) { u8 direction; u8 directions[2]; memcpy(directions, gLeftAndRightDirections, sizeof directions); direction = directions[Random() & 1]; - SetEventObjectDirection(eventObject, direction); + SetObjectEventDirection(objectEvent, direction); sprite->data[1] = 5; - if (GetCollisionInDirection(eventObject, direction)) + if (GetCollisionInDirection(objectEvent, direction)) sprite->data[1] = 1; return TRUE; } -bool8 MovementType_WanderLeftAndRight_Step5(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_WanderLeftAndRight_Step5(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - EventObjectSetSingleMovement(eventObject, sprite, GetWalkNormalMovementAction(eventObject->movementDirection)); - eventObject->singleMovementActive = 1; + ObjectEventSetSingleMovement(objectEvent, sprite, GetWalkNormalMovementAction(objectEvent->movementDirection)); + objectEvent->singleMovementActive = 1; sprite->data[1] = 6; return TRUE; } -bool8 MovementType_WanderLeftAndRight_Step6(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_WanderLeftAndRight_Step6(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (EventObjectExecSingleMovementAction(eventObject, sprite)) + if (ObjectEventExecSingleMovementAction(objectEvent, sprite)) { - eventObject->singleMovementActive = 0; + objectEvent->singleMovementActive = 0; sprite->data[1] = 1; } return FALSE; @@ -3030,17 +3029,17 @@ bool8 MovementType_WanderLeftAndRight_Step6(struct EventObject *eventObject, str movement_type_def(MovementType_FaceDirection, gMovementTypeFuncs_FaceDirection) -bool8 MovementType_FaceDirection_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceDirection_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - ClearEventObjectMovement(eventObject, sprite); - EventObjectSetSingleMovement(eventObject, sprite, GetFaceDirectionMovementAction(eventObject->facingDirection)); + ClearObjectEventMovement(objectEvent, sprite); + ObjectEventSetSingleMovement(objectEvent, sprite, GetFaceDirectionMovementAction(objectEvent->facingDirection)); sprite->data[1] = 1; return TRUE; } -bool8 MovementType_FaceDirection_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceDirection_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (EventObjectExecSingleMovementAction(eventObject, sprite)) + if (ObjectEventExecSingleMovementAction(objectEvent, sprite)) { sprite->data[1] = 2; return TRUE; @@ -3048,44 +3047,44 @@ bool8 MovementType_FaceDirection_Step1(struct EventObject *eventObject, struct S return FALSE; } -bool8 MovementType_FaceDirection_Step2(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceDirection_Step2(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - eventObject->singleMovementActive = 0; + objectEvent->singleMovementActive = 0; return FALSE; } -static bool8 EventObjectCB2_BerryTree(struct EventObject *eventObject, struct Sprite *sprite); -extern bool8 (*const gMovementTypeFuncs_BerryTreeGrowth[])(struct EventObject *eventObject, struct Sprite *sprite); +static bool8 ObjectEventCB2_BerryTree(struct ObjectEvent *objectEvent, struct Sprite *sprite); +extern bool8 (*const gMovementTypeFuncs_BerryTreeGrowth[])(struct ObjectEvent *objectEvent, struct Sprite *sprite); void MovementType_BerryTreeGrowth(struct Sprite *sprite) { - struct EventObject *eventObject; + struct ObjectEvent *objectEvent; - eventObject = &gEventObjects[sprite->data[0]]; + objectEvent = &gObjectEvents[sprite->data[0]]; if (!(sprite->data[7] & 1)) { - get_berry_tree_graphics(eventObject, sprite); + get_berry_tree_graphics(objectEvent, sprite); sprite->data[7] |= 1; } - UpdateEventObjectCurrentMovement(eventObject, sprite, EventObjectCB2_BerryTree); + UpdateObjectEventCurrentMovement(objectEvent, sprite, ObjectEventCB2_BerryTree); } -static bool8 EventObjectCB2_BerryTree(struct EventObject *eventObject, struct Sprite *sprite) +static bool8 ObjectEventCB2_BerryTree(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - return gMovementTypeFuncs_BerryTreeGrowth[sprite->data[1]](eventObject, sprite); + return gMovementTypeFuncs_BerryTreeGrowth[sprite->data[1]](objectEvent, sprite); } -bool8 MovementType_BerryTreeGrowth_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_BerryTreeGrowth_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { u8 berryStage; - ClearEventObjectMovement(eventObject, sprite); - eventObject->invisible = TRUE; + ClearObjectEventMovement(objectEvent, sprite); + objectEvent->invisible = TRUE; sprite->invisible = TRUE; - berryStage = GetStageByBerryTreeId(eventObject->trainerRange_berryTreeId); + berryStage = GetStageByBerryTreeId(objectEvent->trainerRange_berryTreeId); if (berryStage == 0) { if (!(sprite->data[7] & 4) && sprite->animNum == 4) { - gFieldEffectArguments[0] = eventObject->currentCoords.x; - gFieldEffectArguments[1] = eventObject->currentCoords.y; + gFieldEffectArguments[0] = objectEvent->currentCoords.x; + gFieldEffectArguments[1] = objectEvent->currentCoords.y; gFieldEffectArguments[2] = sprite->subpriority - 1; gFieldEffectArguments[3] = sprite->oam.priority; FieldEffectStart(FLDEFF_BERRY_TREE_GROWTH_SPARKLE); @@ -3093,7 +3092,7 @@ bool8 MovementType_BerryTreeGrowth_Step0(struct EventObject *eventObject, struct } return FALSE; } - eventObject->invisible = FALSE; + objectEvent->invisible = FALSE; sprite->invisible = FALSE; berryStage --; if (sprite->animNum != berryStage) @@ -3101,15 +3100,15 @@ bool8 MovementType_BerryTreeGrowth_Step0(struct EventObject *eventObject, struct sprite->data[1] = 2; return TRUE; } - get_berry_tree_graphics(eventObject, sprite); - EventObjectSetSingleMovement(eventObject, sprite, MOVEMENT_ACTION_START_ANIM_IN_DIRECTION); + get_berry_tree_graphics(objectEvent, sprite); + ObjectEventSetSingleMovement(objectEvent, sprite, MOVEMENT_ACTION_START_ANIM_IN_DIRECTION); sprite->data[1] = 1; return TRUE; } -bool8 MovementType_BerryTreeGrowth_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_BerryTreeGrowth_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (EventObjectExecSingleMovementAction(eventObject, sprite)) + if (ObjectEventExecSingleMovementAction(objectEvent, sprite)) { sprite->data[1] = 0; return TRUE; @@ -3117,28 +3116,28 @@ bool8 MovementType_BerryTreeGrowth_Step1(struct EventObject *eventObject, struct return FALSE; } -bool8 MovementType_BerryTreeGrowth_Step2(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_BerryTreeGrowth_Step2(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - eventObject->singleMovementActive = 1; + objectEvent->singleMovementActive = 1; sprite->data[1] = 3; sprite->data[2] = 0; sprite->data[7] |= 2; - gFieldEffectArguments[0] = eventObject->currentCoords.x; - gFieldEffectArguments[1] = eventObject->currentCoords.y; + gFieldEffectArguments[0] = objectEvent->currentCoords.x; + gFieldEffectArguments[1] = objectEvent->currentCoords.y; gFieldEffectArguments[2] = sprite->subpriority - 1; gFieldEffectArguments[3] = sprite->oam.priority; FieldEffectStart(FLDEFF_BERRY_TREE_GROWTH_SPARKLE); return TRUE; } -bool8 MovementType_BerryTreeGrowth_Step3(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_BerryTreeGrowth_Step3(struct ObjectEvent *objectEvent, struct Sprite *sprite) { sprite->data[2]++; - eventObject->invisible = (sprite->data[2] & 0x02) >> 1; + objectEvent->invisible = (sprite->data[2] & 0x02) >> 1; sprite->animPaused = TRUE; if (sprite->data[2] > 64) { - get_berry_tree_graphics(eventObject, sprite); + get_berry_tree_graphics(objectEvent, sprite); sprite->data[1] = 4; sprite->data[2] = 0; return TRUE; @@ -3146,10 +3145,10 @@ bool8 MovementType_BerryTreeGrowth_Step3(struct EventObject *eventObject, struct return FALSE; } -bool8 MovementType_BerryTreeGrowth_Step4(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_BerryTreeGrowth_Step4(struct ObjectEvent *objectEvent, struct Sprite *sprite) { sprite->data[2]++; - eventObject->invisible = (sprite->data[2] & 0x02) >> 1; + objectEvent->invisible = (sprite->data[2] & 0x02) >> 1; sprite->animPaused = TRUE; if (sprite->data[2] > 64) { @@ -3162,34 +3161,34 @@ bool8 MovementType_BerryTreeGrowth_Step4(struct EventObject *eventObject, struct movement_type_def(MovementType_FaceDownAndUp, gMovementTypeFuncs_FaceDownAndUp) -bool8 MovementType_FaceDownAndUp_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceDownAndUp_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - ClearEventObjectMovement(eventObject, sprite); + ClearObjectEventMovement(objectEvent, sprite); sprite->data[1] = 1; return TRUE; } -bool8 MovementType_FaceDownAndUp_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceDownAndUp_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - EventObjectSetSingleMovement(eventObject, sprite, GetFaceDirectionMovementAction(eventObject->facingDirection)); + ObjectEventSetSingleMovement(objectEvent, sprite, GetFaceDirectionMovementAction(objectEvent->facingDirection)); sprite->data[1] = 2; return TRUE; } -bool8 MovementType_FaceDownAndUp_Step2(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceDownAndUp_Step2(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (EventObjectExecSingleMovementAction(eventObject, sprite)) + if (ObjectEventExecSingleMovementAction(objectEvent, sprite)) { SetMovementDelay(sprite, gMovementDelaysMedium[Random() & 3]); - eventObject->singleMovementActive = 0; + objectEvent->singleMovementActive = 0; sprite->data[1] = 3; } return FALSE; } -bool8 MovementType_FaceDownAndUp_Step3(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceDownAndUp_Step3(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (WaitForMovementDelay(sprite) || EventObjectIsTrainerAndCloseToPlayer(eventObject)) + if (WaitForMovementDelay(sprite) || ObjectEventIsTrainerAndCloseToPlayer(objectEvent)) { sprite->data[1] = 4; return TRUE; @@ -3197,51 +3196,51 @@ bool8 MovementType_FaceDownAndUp_Step3(struct EventObject *eventObject, struct S return FALSE; } -bool8 MovementType_FaceDownAndUp_Step4(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceDownAndUp_Step4(struct ObjectEvent *objectEvent, struct Sprite *sprite) { u8 direction; u8 directions[2]; memcpy(directions, gUpAndDownDirections, sizeof gUpAndDownDirections); - direction = TryGetTrainerEncounterDirection(eventObject, RUNFOLLOW_NORTH_SOUTH); + direction = TryGetTrainerEncounterDirection(objectEvent, RUNFOLLOW_NORTH_SOUTH); if (direction == 0) { direction = directions[Random() & 1]; } - SetEventObjectDirection(eventObject, direction); + SetObjectEventDirection(objectEvent, direction); sprite->data[1] = 1; return TRUE; } movement_type_def(MovementType_FaceLeftAndRight, gMovementTypeFuncs_FaceLeftAndRight) -bool8 MovementType_FaceLeftAndRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceLeftAndRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - ClearEventObjectMovement(eventObject, sprite); + ClearObjectEventMovement(objectEvent, sprite); sprite->data[1] = 1; return TRUE; } -bool8 MovementType_FaceLeftAndRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceLeftAndRight_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - EventObjectSetSingleMovement(eventObject, sprite, GetFaceDirectionMovementAction(eventObject->facingDirection)); + ObjectEventSetSingleMovement(objectEvent, sprite, GetFaceDirectionMovementAction(objectEvent->facingDirection)); sprite->data[1] = 2; return TRUE; } -bool8 MovementType_FaceLeftAndRight_Step2(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceLeftAndRight_Step2(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (EventObjectExecSingleMovementAction(eventObject, sprite)) + if (ObjectEventExecSingleMovementAction(objectEvent, sprite)) { SetMovementDelay(sprite, gMovementDelaysMedium[Random() & 3]); - eventObject->singleMovementActive = 0; + objectEvent->singleMovementActive = 0; sprite->data[1] = 3; } return FALSE; } -bool8 MovementType_FaceLeftAndRight_Step3(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceLeftAndRight_Step3(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (WaitForMovementDelay(sprite) || EventObjectIsTrainerAndCloseToPlayer(eventObject)) + if (WaitForMovementDelay(sprite) || ObjectEventIsTrainerAndCloseToPlayer(objectEvent)) { sprite->data[1] = 4; return TRUE; @@ -3249,51 +3248,51 @@ bool8 MovementType_FaceLeftAndRight_Step3(struct EventObject *eventObject, struc return FALSE; } -bool8 MovementType_FaceLeftAndRight_Step4(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceLeftAndRight_Step4(struct ObjectEvent *objectEvent, struct Sprite *sprite) { u8 direction; u8 directions[2]; memcpy(directions, gLeftAndRightDirections, sizeof gLeftAndRightDirections); - direction = TryGetTrainerEncounterDirection(eventObject, RUNFOLLOW_EAST_WEST); + direction = TryGetTrainerEncounterDirection(objectEvent, RUNFOLLOW_EAST_WEST); if (direction == 0) { direction = directions[Random() & 1]; } - SetEventObjectDirection(eventObject, direction); + SetObjectEventDirection(objectEvent, direction); sprite->data[1] = 1; return TRUE; } movement_type_def(MovementType_FaceUpAndLeft, gMovementTypeFuncs_FaceUpAndLeft) -bool8 MovementType_FaceUpAndLeft_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceUpAndLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - ClearEventObjectMovement(eventObject, sprite); + ClearObjectEventMovement(objectEvent, sprite); sprite->data[1] = 1; return TRUE; } -bool8 MovementType_FaceUpAndLeft_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceUpAndLeft_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - EventObjectSetSingleMovement(eventObject, sprite, GetFaceDirectionMovementAction(eventObject->facingDirection)); + ObjectEventSetSingleMovement(objectEvent, sprite, GetFaceDirectionMovementAction(objectEvent->facingDirection)); sprite->data[1] = 2; return TRUE; } -bool8 MovementType_FaceUpAndLeft_Step2(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceUpAndLeft_Step2(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (EventObjectExecSingleMovementAction(eventObject, sprite)) + if (ObjectEventExecSingleMovementAction(objectEvent, sprite)) { SetMovementDelay(sprite, gMovementDelaysShort[Random() & 3]); - eventObject->singleMovementActive = 0; + objectEvent->singleMovementActive = 0; sprite->data[1] = 3; } return FALSE; } -bool8 MovementType_FaceUpAndLeft_Step3(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceUpAndLeft_Step3(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (WaitForMovementDelay(sprite) || EventObjectIsTrainerAndCloseToPlayer(eventObject)) + if (WaitForMovementDelay(sprite) || ObjectEventIsTrainerAndCloseToPlayer(objectEvent)) { sprite->data[1] = 4; return TRUE; @@ -3301,51 +3300,51 @@ bool8 MovementType_FaceUpAndLeft_Step3(struct EventObject *eventObject, struct S return FALSE; } -bool8 MovementType_FaceUpAndLeft_Step4(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceUpAndLeft_Step4(struct ObjectEvent *objectEvent, struct Sprite *sprite) { u8 direction; u8 directions[2]; memcpy(directions, gUpAndLeftDirections, sizeof gUpAndLeftDirections); - direction = TryGetTrainerEncounterDirection(eventObject, RUNFOLLOW_NORTH_WEST); + direction = TryGetTrainerEncounterDirection(objectEvent, RUNFOLLOW_NORTH_WEST); if (direction == 0) { direction = directions[Random() & 1]; } - SetEventObjectDirection(eventObject, direction); + SetObjectEventDirection(objectEvent, direction); sprite->data[1] = 1; return TRUE; } movement_type_def(MovementType_FaceUpAndRight, gMovementTypeFuncs_FaceUpAndRight) -bool8 MovementType_FaceUpAndRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceUpAndRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - ClearEventObjectMovement(eventObject, sprite); + ClearObjectEventMovement(objectEvent, sprite); sprite->data[1] = 1; return TRUE; } -bool8 MovementType_FaceUpAndRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceUpAndRight_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - EventObjectSetSingleMovement(eventObject, sprite, GetFaceDirectionMovementAction(eventObject->facingDirection)); + ObjectEventSetSingleMovement(objectEvent, sprite, GetFaceDirectionMovementAction(objectEvent->facingDirection)); sprite->data[1] = 2; return TRUE; } -bool8 MovementType_FaceUpAndRight_Step2(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceUpAndRight_Step2(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (EventObjectExecSingleMovementAction(eventObject, sprite)) + if (ObjectEventExecSingleMovementAction(objectEvent, sprite)) { SetMovementDelay(sprite, gMovementDelaysShort[Random() & 3]); - eventObject->singleMovementActive = 0; + objectEvent->singleMovementActive = 0; sprite->data[1] = 3; } return FALSE; } -bool8 MovementType_FaceUpAndRight_Step3(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceUpAndRight_Step3(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (WaitForMovementDelay(sprite) || EventObjectIsTrainerAndCloseToPlayer(eventObject)) + if (WaitForMovementDelay(sprite) || ObjectEventIsTrainerAndCloseToPlayer(objectEvent)) { sprite->data[1] = 4; return TRUE; @@ -3353,51 +3352,51 @@ bool8 MovementType_FaceUpAndRight_Step3(struct EventObject *eventObject, struct return FALSE; } -bool8 MovementType_FaceUpAndRight_Step4(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceUpAndRight_Step4(struct ObjectEvent *objectEvent, struct Sprite *sprite) { u8 direction; u8 directions[2]; memcpy(directions, gUpAndRightDirections, sizeof gUpAndRightDirections); - direction = TryGetTrainerEncounterDirection(eventObject, RUNFOLLOW_NORTH_EAST); + direction = TryGetTrainerEncounterDirection(objectEvent, RUNFOLLOW_NORTH_EAST); if (direction == 0) { direction = directions[Random() & 1]; } - SetEventObjectDirection(eventObject, direction); + SetObjectEventDirection(objectEvent, direction); sprite->data[1] = 1; return TRUE; } movement_type_def(MovementType_FaceDownAndLeft, gMovementTypeFuncs_FaceDownAndLeft) -bool8 MovementType_FaceDownAndLeft_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceDownAndLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - ClearEventObjectMovement(eventObject, sprite); + ClearObjectEventMovement(objectEvent, sprite); sprite->data[1] = 1; return TRUE; } -bool8 MovementType_FaceDownAndLeft_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceDownAndLeft_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - EventObjectSetSingleMovement(eventObject, sprite, GetFaceDirectionMovementAction(eventObject->facingDirection)); + ObjectEventSetSingleMovement(objectEvent, sprite, GetFaceDirectionMovementAction(objectEvent->facingDirection)); sprite->data[1] = 2; return TRUE; } -bool8 MovementType_FaceDownAndLeft_Step2(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceDownAndLeft_Step2(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (EventObjectExecSingleMovementAction(eventObject, sprite)) + if (ObjectEventExecSingleMovementAction(objectEvent, sprite)) { SetMovementDelay(sprite, gMovementDelaysShort[Random() & 3]); - eventObject->singleMovementActive = 0; + objectEvent->singleMovementActive = 0; sprite->data[1] = 3; } return FALSE; } -bool8 MovementType_FaceDownAndLeft_Step3(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceDownAndLeft_Step3(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (WaitForMovementDelay(sprite) || EventObjectIsTrainerAndCloseToPlayer(eventObject)) + if (WaitForMovementDelay(sprite) || ObjectEventIsTrainerAndCloseToPlayer(objectEvent)) { sprite->data[1] = 4; return TRUE; @@ -3405,51 +3404,51 @@ bool8 MovementType_FaceDownAndLeft_Step3(struct EventObject *eventObject, struct return FALSE; } -bool8 MovementType_FaceDownAndLeft_Step4(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceDownAndLeft_Step4(struct ObjectEvent *objectEvent, struct Sprite *sprite) { u8 direction; u8 directions[2]; memcpy(directions, gDownAndLeftDirections, sizeof gDownAndLeftDirections); - direction = TryGetTrainerEncounterDirection(eventObject, RUNFOLLOW_SOUTH_WEST); + direction = TryGetTrainerEncounterDirection(objectEvent, RUNFOLLOW_SOUTH_WEST); if (direction == 0) { direction = directions[Random() & 1]; } - SetEventObjectDirection(eventObject, direction); + SetObjectEventDirection(objectEvent, direction); sprite->data[1] = 1; return TRUE; } movement_type_def(MovementType_FaceDownAndRight, gMovementTypeFuncs_FaceDownAndRight) -bool8 MovementType_FaceDownAndRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceDownAndRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - ClearEventObjectMovement(eventObject, sprite); + ClearObjectEventMovement(objectEvent, sprite); sprite->data[1] = 1; return TRUE; } -bool8 MovementType_FaceDownAndRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceDownAndRight_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - EventObjectSetSingleMovement(eventObject, sprite, GetFaceDirectionMovementAction(eventObject->facingDirection)); + ObjectEventSetSingleMovement(objectEvent, sprite, GetFaceDirectionMovementAction(objectEvent->facingDirection)); sprite->data[1] = 2; return TRUE; } -bool8 MovementType_FaceDownAndRight_Step2(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceDownAndRight_Step2(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (EventObjectExecSingleMovementAction(eventObject, sprite)) + if (ObjectEventExecSingleMovementAction(objectEvent, sprite)) { SetMovementDelay(sprite, gMovementDelaysShort[Random() & 3]); - eventObject->singleMovementActive = 0; + objectEvent->singleMovementActive = 0; sprite->data[1] = 3; } return FALSE; } -bool8 MovementType_FaceDownAndRight_Step3(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceDownAndRight_Step3(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (WaitForMovementDelay(sprite) || EventObjectIsTrainerAndCloseToPlayer(eventObject)) + if (WaitForMovementDelay(sprite) || ObjectEventIsTrainerAndCloseToPlayer(objectEvent)) { sprite->data[1] = 4; return TRUE; @@ -3457,51 +3456,51 @@ bool8 MovementType_FaceDownAndRight_Step3(struct EventObject *eventObject, struc return FALSE; } -bool8 MovementType_FaceDownAndRight_Step4(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceDownAndRight_Step4(struct ObjectEvent *objectEvent, struct Sprite *sprite) { u8 direction; u8 directions[2]; memcpy(directions, gDownAndRightDirections, sizeof gDownAndRightDirections); - direction = TryGetTrainerEncounterDirection(eventObject, RUNFOLLOW_SOUTH_EAST); + direction = TryGetTrainerEncounterDirection(objectEvent, RUNFOLLOW_SOUTH_EAST); if (direction == 0) { direction = directions[Random() & 1]; } - SetEventObjectDirection(eventObject, direction); + SetObjectEventDirection(objectEvent, direction); sprite->data[1] = 1; return TRUE; } movement_type_def(MovementType_FaceDownUpAndLeft, gMovementTypeFuncs_FaceDownUpAndLeft) -bool8 MovementType_FaceDownUpAndLeft_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceDownUpAndLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - ClearEventObjectMovement(eventObject, sprite); + ClearObjectEventMovement(objectEvent, sprite); sprite->data[1] = 1; return TRUE; } -bool8 MovementType_FaceDownUpAndLeft_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceDownUpAndLeft_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - EventObjectSetSingleMovement(eventObject, sprite, GetFaceDirectionMovementAction(eventObject->facingDirection)); + ObjectEventSetSingleMovement(objectEvent, sprite, GetFaceDirectionMovementAction(objectEvent->facingDirection)); sprite->data[1] = 2; return TRUE; } -bool8 MovementType_FaceDownUpAndLeft_Step2(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceDownUpAndLeft_Step2(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (EventObjectExecSingleMovementAction(eventObject, sprite)) + if (ObjectEventExecSingleMovementAction(objectEvent, sprite)) { SetMovementDelay(sprite, gMovementDelaysShort[Random() & 3]); - eventObject->singleMovementActive = 0; + objectEvent->singleMovementActive = 0; sprite->data[1] = 3; } return FALSE; } -bool8 MovementType_FaceDownUpAndLeft_Step3(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceDownUpAndLeft_Step3(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (WaitForMovementDelay(sprite) || EventObjectIsTrainerAndCloseToPlayer(eventObject)) + if (WaitForMovementDelay(sprite) || ObjectEventIsTrainerAndCloseToPlayer(objectEvent)) { sprite->data[1] = 4; return TRUE; @@ -3509,51 +3508,51 @@ bool8 MovementType_FaceDownUpAndLeft_Step3(struct EventObject *eventObject, stru return FALSE; } -bool8 MovementType_FaceDownUpAndLeft_Step4(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceDownUpAndLeft_Step4(struct ObjectEvent *objectEvent, struct Sprite *sprite) { u8 direction; u8 directions[4]; memcpy(directions, gDownUpAndLeftDirections, sizeof gDownUpAndLeftDirections); - direction = TryGetTrainerEncounterDirection(eventObject, RUNFOLLOW_NORTH_SOUTH_WEST); + direction = TryGetTrainerEncounterDirection(objectEvent, RUNFOLLOW_NORTH_SOUTH_WEST); if (direction == 0) { direction = directions[Random() & 3]; } - SetEventObjectDirection(eventObject, direction); + SetObjectEventDirection(objectEvent, direction); sprite->data[1] = 1; return TRUE; } movement_type_def(MovementType_FaceDownUpAndRight, gMovementTypeFuncs_FaceDownUpAndRight) -bool8 MovementType_FaceDownUpAndRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceDownUpAndRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - ClearEventObjectMovement(eventObject, sprite); + ClearObjectEventMovement(objectEvent, sprite); sprite->data[1] = 1; return TRUE; } -bool8 MovementType_FaceDownUpAndRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceDownUpAndRight_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - EventObjectSetSingleMovement(eventObject, sprite, GetFaceDirectionMovementAction(eventObject->facingDirection)); + ObjectEventSetSingleMovement(objectEvent, sprite, GetFaceDirectionMovementAction(objectEvent->facingDirection)); sprite->data[1] = 2; return TRUE; } -bool8 MovementType_FaceDownUpAndRight_Step2(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceDownUpAndRight_Step2(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (EventObjectExecSingleMovementAction(eventObject, sprite)) + if (ObjectEventExecSingleMovementAction(objectEvent, sprite)) { SetMovementDelay(sprite, gMovementDelaysShort[Random() & 3]); - eventObject->singleMovementActive = 0; + objectEvent->singleMovementActive = 0; sprite->data[1] = 3; } return FALSE; } -bool8 MovementType_FaceDownUpAndRight_Step3(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceDownUpAndRight_Step3(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (WaitForMovementDelay(sprite) || EventObjectIsTrainerAndCloseToPlayer(eventObject)) + if (WaitForMovementDelay(sprite) || ObjectEventIsTrainerAndCloseToPlayer(objectEvent)) { sprite->data[1] = 4; return TRUE; @@ -3561,51 +3560,51 @@ bool8 MovementType_FaceDownUpAndRight_Step3(struct EventObject *eventObject, str return FALSE; } -bool8 MovementType_FaceDownUpAndRight_Step4(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceDownUpAndRight_Step4(struct ObjectEvent *objectEvent, struct Sprite *sprite) { u8 direction; u8 directions[4]; memcpy(directions, gDownUpAndRightDirections, sizeof gDownUpAndRightDirections); - direction = TryGetTrainerEncounterDirection(eventObject, RUNFOLLOW_NORTH_SOUTH_EAST); + direction = TryGetTrainerEncounterDirection(objectEvent, RUNFOLLOW_NORTH_SOUTH_EAST); if (direction == 0) { direction = directions[Random() & 3]; } - SetEventObjectDirection(eventObject, direction); + SetObjectEventDirection(objectEvent, direction); sprite->data[1] = 1; return TRUE; } movement_type_def(MovementType_FaceUpRightAndLeft, gMovementTypeFuncs_FaceUpLeftAndRight) -bool8 MovementType_FaceUpLeftAndRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceUpLeftAndRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - ClearEventObjectMovement(eventObject, sprite); + ClearObjectEventMovement(objectEvent, sprite); sprite->data[1] = 1; return TRUE; } -bool8 MovementType_FaceUpLeftAndRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceUpLeftAndRight_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - EventObjectSetSingleMovement(eventObject, sprite, GetFaceDirectionMovementAction(eventObject->facingDirection)); + ObjectEventSetSingleMovement(objectEvent, sprite, GetFaceDirectionMovementAction(objectEvent->facingDirection)); sprite->data[1] = 2; return TRUE; } -bool8 MovementType_FaceUpLeftAndRight_Step2(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceUpLeftAndRight_Step2(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (EventObjectExecSingleMovementAction(eventObject, sprite)) + if (ObjectEventExecSingleMovementAction(objectEvent, sprite)) { SetMovementDelay(sprite, gMovementDelaysShort[Random() & 3]); - eventObject->singleMovementActive = 0; + objectEvent->singleMovementActive = 0; sprite->data[1] = 3; } return FALSE; } -bool8 MovementType_FaceUpLeftAndRight_Step3(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceUpLeftAndRight_Step3(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (WaitForMovementDelay(sprite) || EventObjectIsTrainerAndCloseToPlayer(eventObject)) + if (WaitForMovementDelay(sprite) || ObjectEventIsTrainerAndCloseToPlayer(objectEvent)) { sprite->data[1] = 4; return TRUE; @@ -3613,51 +3612,51 @@ bool8 MovementType_FaceUpLeftAndRight_Step3(struct EventObject *eventObject, str return FALSE; } -bool8 MovementType_FaceUpLeftAndRight_Step4(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceUpLeftAndRight_Step4(struct ObjectEvent *objectEvent, struct Sprite *sprite) { u8 direction; u8 directions[4]; memcpy(directions, gUpLeftAndRightDirections, sizeof gUpLeftAndRightDirections); - direction = TryGetTrainerEncounterDirection(eventObject, RUNFOLLOW_NORTH_EAST_WEST); + direction = TryGetTrainerEncounterDirection(objectEvent, RUNFOLLOW_NORTH_EAST_WEST); if (direction == 0) { direction = directions[Random() & 3]; } - SetEventObjectDirection(eventObject, direction); + SetObjectEventDirection(objectEvent, direction); sprite->data[1] = 1; return TRUE; } movement_type_def(MovementType_FaceDownRightAndLeft, gMovementTypeFuncs_FaceDownLeftAndRight) -bool8 MovementType_FaceDownLeftAndRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceDownLeftAndRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - ClearEventObjectMovement(eventObject, sprite); + ClearObjectEventMovement(objectEvent, sprite); sprite->data[1] = 1; return TRUE; } -bool8 MovementType_FaceDownLeftAndRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceDownLeftAndRight_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - EventObjectSetSingleMovement(eventObject, sprite, GetFaceDirectionMovementAction(eventObject->facingDirection)); + ObjectEventSetSingleMovement(objectEvent, sprite, GetFaceDirectionMovementAction(objectEvent->facingDirection)); sprite->data[1] = 2; return TRUE; } -bool8 MovementType_FaceDownLeftAndRight_Step2(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceDownLeftAndRight_Step2(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (EventObjectExecSingleMovementAction(eventObject, sprite)) + if (ObjectEventExecSingleMovementAction(objectEvent, sprite)) { SetMovementDelay(sprite, gMovementDelaysShort[Random() & 3]); - eventObject->singleMovementActive = 0; + objectEvent->singleMovementActive = 0; sprite->data[1] = 3; } return FALSE; } -bool8 MovementType_FaceDownLeftAndRight_Step3(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceDownLeftAndRight_Step3(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (WaitForMovementDelay(sprite) || EventObjectIsTrainerAndCloseToPlayer(eventObject)) + if (WaitForMovementDelay(sprite) || ObjectEventIsTrainerAndCloseToPlayer(objectEvent)) { sprite->data[1] = 4; return TRUE; @@ -3665,34 +3664,34 @@ bool8 MovementType_FaceDownLeftAndRight_Step3(struct EventObject *eventObject, s return FALSE; } -bool8 MovementType_FaceDownLeftAndRight_Step4(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceDownLeftAndRight_Step4(struct ObjectEvent *objectEvent, struct Sprite *sprite) { u8 direction; u8 directions[4]; memcpy(directions, gDownLeftAndRightDirections, sizeof gDownLeftAndRightDirections); - direction = TryGetTrainerEncounterDirection(eventObject, RUNFOLLOW_SOUTH_EAST_WEST); + direction = TryGetTrainerEncounterDirection(objectEvent, RUNFOLLOW_SOUTH_EAST_WEST); if (direction == 0) { direction = directions[Random() & 3]; } - SetEventObjectDirection(eventObject, direction); + SetObjectEventDirection(objectEvent, direction); sprite->data[1] = 1; return TRUE; } movement_type_def(MovementType_RotateCounterclockwise, gMovementTypeFuncs_RotateCounterclockwise) -bool8 MovementType_RotateCounterclockwise_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_RotateCounterclockwise_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - ClearEventObjectMovement(eventObject, sprite); - EventObjectSetSingleMovement(eventObject, sprite, GetFaceDirectionMovementAction(eventObject->facingDirection)); + ClearObjectEventMovement(objectEvent, sprite); + ObjectEventSetSingleMovement(objectEvent, sprite, GetFaceDirectionMovementAction(objectEvent->facingDirection)); sprite->data[1] = 1; return TRUE; } -bool8 MovementType_RotateCounterclockwise_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_RotateCounterclockwise_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (EventObjectExecSingleMovementAction(eventObject, sprite)) + if (ObjectEventExecSingleMovementAction(objectEvent, sprite)) { SetMovementDelay(sprite, 48); sprite->data[1] = 2; @@ -3700,43 +3699,43 @@ bool8 MovementType_RotateCounterclockwise_Step1(struct EventObject *eventObject, return FALSE; } -bool8 MovementType_RotateCounterclockwise_Step2(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_RotateCounterclockwise_Step2(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (WaitForMovementDelay(sprite) || EventObjectIsTrainerAndCloseToPlayer(eventObject)) + if (WaitForMovementDelay(sprite) || ObjectEventIsTrainerAndCloseToPlayer(objectEvent)) { sprite->data[1] = 3; } return FALSE; } -bool8 MovementType_RotateCounterclockwise_Step3(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_RotateCounterclockwise_Step3(struct ObjectEvent *objectEvent, struct Sprite *sprite) { u8 direction; u8 directions[5]; memcpy(directions, gCounterclockwiseDirections, sizeof gCounterclockwiseDirections); - direction = TryGetTrainerEncounterDirection(eventObject, RUNFOLLOW_ANY); + direction = TryGetTrainerEncounterDirection(objectEvent, RUNFOLLOW_ANY); if (direction == 0) { - direction = directions[eventObject->facingDirection]; + direction = directions[objectEvent->facingDirection]; } - SetEventObjectDirection(eventObject, direction); + SetObjectEventDirection(objectEvent, direction); sprite->data[1] = 0; return TRUE; } movement_type_def(MovementType_RotateClockwise, gMovementTypeFuncs_RotateClockwise) -bool8 MovementType_RotateClockwise_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_RotateClockwise_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - ClearEventObjectMovement(eventObject, sprite); - EventObjectSetSingleMovement(eventObject, sprite, GetFaceDirectionMovementAction(eventObject->facingDirection)); + ClearObjectEventMovement(objectEvent, sprite); + ObjectEventSetSingleMovement(objectEvent, sprite, GetFaceDirectionMovementAction(objectEvent->facingDirection)); sprite->data[1] = 1; return TRUE; } -bool8 MovementType_RotateClockwise_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_RotateClockwise_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (EventObjectExecSingleMovementAction(eventObject, sprite)) + if (ObjectEventExecSingleMovementAction(objectEvent, sprite)) { SetMovementDelay(sprite, 48); sprite->data[1] = 2; @@ -3744,132 +3743,132 @@ bool8 MovementType_RotateClockwise_Step1(struct EventObject *eventObject, struct return FALSE; } -bool8 MovementType_RotateClockwise_Step2(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_RotateClockwise_Step2(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (WaitForMovementDelay(sprite) || EventObjectIsTrainerAndCloseToPlayer(eventObject)) + if (WaitForMovementDelay(sprite) || ObjectEventIsTrainerAndCloseToPlayer(objectEvent)) { sprite->data[1] = 3; } return FALSE; } -bool8 MovementType_RotateClockwise_Step3(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_RotateClockwise_Step3(struct ObjectEvent *objectEvent, struct Sprite *sprite) { u8 direction; u8 directions[5]; memcpy(directions, gClockwiseDirections, sizeof gClockwiseDirections); - direction = TryGetTrainerEncounterDirection(eventObject, RUNFOLLOW_ANY); + direction = TryGetTrainerEncounterDirection(objectEvent, RUNFOLLOW_ANY); if (direction == 0) { - direction = directions[eventObject->facingDirection]; + direction = directions[objectEvent->facingDirection]; } - SetEventObjectDirection(eventObject, direction); + SetObjectEventDirection(objectEvent, direction); sprite->data[1] = 0; return TRUE; } movement_type_def(MovementType_WalkBackAndForth, gMovementTypeFuncs_WalkBackAndForth) -bool8 MovementType_WalkBackAndForth_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_WalkBackAndForth_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - ClearEventObjectMovement(eventObject, sprite); + ClearObjectEventMovement(objectEvent, sprite); sprite->data[1] = 1; return TRUE; } -bool8 MovementType_WalkBackAndForth_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_WalkBackAndForth_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { u8 direction; - direction = gInitialMovementTypeFacingDirections[eventObject->movementType]; - if (eventObject->directionSequenceIndex) + direction = gInitialMovementTypeFacingDirections[objectEvent->movementType]; + if (objectEvent->directionSequenceIndex) { direction = GetOppositeDirection(direction); } - SetEventObjectDirection(eventObject, direction); + SetObjectEventDirection(objectEvent, direction); sprite->data[1] = 2; return TRUE; } -bool8 MovementType_WalkBackAndForth_Step2(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_WalkBackAndForth_Step2(struct ObjectEvent *objectEvent, struct Sprite *sprite) { bool8 collision; u8 movementActionId; - if (eventObject->directionSequenceIndex && eventObject->initialCoords.x == eventObject->currentCoords.x && eventObject->initialCoords.y == eventObject->currentCoords.y) + if (objectEvent->directionSequenceIndex && objectEvent->initialCoords.x == objectEvent->currentCoords.x && objectEvent->initialCoords.y == objectEvent->currentCoords.y) { - eventObject->directionSequenceIndex = 0; - SetEventObjectDirection(eventObject, GetOppositeDirection(eventObject->movementDirection)); + objectEvent->directionSequenceIndex = 0; + SetObjectEventDirection(objectEvent, GetOppositeDirection(objectEvent->movementDirection)); } - collision = GetCollisionInDirection(eventObject, eventObject->movementDirection); - movementActionId = GetWalkNormalMovementAction(eventObject->movementDirection); + collision = GetCollisionInDirection(objectEvent, objectEvent->movementDirection); + movementActionId = GetWalkNormalMovementAction(objectEvent->movementDirection); if (collision == COLLISION_OUTSIDE_RANGE) { - eventObject->directionSequenceIndex++; - SetEventObjectDirection(eventObject, GetOppositeDirection(eventObject->movementDirection)); - movementActionId = GetWalkNormalMovementAction(eventObject->movementDirection); - collision = GetCollisionInDirection(eventObject, eventObject->movementDirection); + objectEvent->directionSequenceIndex++; + SetObjectEventDirection(objectEvent, GetOppositeDirection(objectEvent->movementDirection)); + movementActionId = GetWalkNormalMovementAction(objectEvent->movementDirection); + collision = GetCollisionInDirection(objectEvent, objectEvent->movementDirection); } if (collision) - movementActionId = GetWalkInPlaceNormalMovementAction(eventObject->facingDirection); + movementActionId = GetWalkInPlaceNormalMovementAction(objectEvent->facingDirection); - EventObjectSetSingleMovement(eventObject, sprite, movementActionId); - eventObject->singleMovementActive = 1; + ObjectEventSetSingleMovement(objectEvent, sprite, movementActionId); + objectEvent->singleMovementActive = 1; sprite->data[1] = 3; return TRUE; } -bool8 MovementType_WalkBackAndForth_Step3(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_WalkBackAndForth_Step3(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (EventObjectExecSingleMovementAction(eventObject, sprite)) + if (ObjectEventExecSingleMovementAction(objectEvent, sprite)) { - eventObject->singleMovementActive = 0; + objectEvent->singleMovementActive = 0; sprite->data[1] = 1; } return FALSE; } -bool8 MovementType_WalkSequence_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_WalkSequence_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - ClearEventObjectMovement(eventObject, sprite); + ClearObjectEventMovement(objectEvent, sprite); sprite->data[1] = 1; return TRUE; } -bool8 MoveNextDirectionInSequence(struct EventObject *eventObject, struct Sprite *sprite, u8 *route) +bool8 MoveNextDirectionInSequence(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 *route) { u8 collision; u8 movementActionId; - if (eventObject->directionSequenceIndex == 3 && eventObject->initialCoords.x == eventObject->currentCoords.x && eventObject->initialCoords.y == eventObject->currentCoords.y) - eventObject->directionSequenceIndex = 0; + if (objectEvent->directionSequenceIndex == 3 && objectEvent->initialCoords.x == objectEvent->currentCoords.x && objectEvent->initialCoords.y == objectEvent->currentCoords.y) + objectEvent->directionSequenceIndex = 0; - SetEventObjectDirection(eventObject, route[eventObject->directionSequenceIndex]); - movementActionId = GetWalkNormalMovementAction(eventObject->movementDirection); - collision = GetCollisionInDirection(eventObject, eventObject->movementDirection); + SetObjectEventDirection(objectEvent, route[objectEvent->directionSequenceIndex]); + movementActionId = GetWalkNormalMovementAction(objectEvent->movementDirection); + collision = GetCollisionInDirection(objectEvent, objectEvent->movementDirection); if (collision == COLLISION_OUTSIDE_RANGE) { - eventObject->directionSequenceIndex++; - SetEventObjectDirection(eventObject, route[eventObject->directionSequenceIndex]); - movementActionId = GetWalkNormalMovementAction(eventObject->movementDirection); - collision = GetCollisionInDirection(eventObject, eventObject->movementDirection); + objectEvent->directionSequenceIndex++; + SetObjectEventDirection(objectEvent, route[objectEvent->directionSequenceIndex]); + movementActionId = GetWalkNormalMovementAction(objectEvent->movementDirection); + collision = GetCollisionInDirection(objectEvent, objectEvent->movementDirection); } if (collision) - movementActionId = GetWalkInPlaceNormalMovementAction(eventObject->facingDirection); + movementActionId = GetWalkInPlaceNormalMovementAction(objectEvent->facingDirection); - EventObjectSetSingleMovement(eventObject, sprite, movementActionId); - eventObject->singleMovementActive = 1; + ObjectEventSetSingleMovement(objectEvent, sprite, movementActionId); + objectEvent->singleMovementActive = 1; sprite->data[1] = 2; return TRUE; } -bool8 MovementType_WalkSequence_Step2(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_WalkSequence_Step2(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (EventObjectExecSingleMovementAction(eventObject, sprite)) + if (ObjectEventExecSingleMovementAction(objectEvent, sprite)) { - eventObject->singleMovementActive = 0; + objectEvent->singleMovementActive = 0; sprite->data[1] = 1; } return FALSE; @@ -3877,579 +3876,579 @@ bool8 MovementType_WalkSequence_Step2(struct EventObject *eventObject, struct Sp movement_type_def(MovementType_WalkSequenceUpRightLeftDown, gMovementTypeFuncs_WalkSequenceUpRightLeftDown) -u8 MovementType_WalkSequenceUpRightLeftDown_Step1(struct EventObject *eventObject, struct Sprite *sprite) +u8 MovementType_WalkSequenceUpRightLeftDown_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { u8 directions[sizeof(gUpRightLeftDownDirections)]; memcpy(directions, gUpRightLeftDownDirections, sizeof(gUpRightLeftDownDirections)); - if (eventObject->directionSequenceIndex == 2 && eventObject->initialCoords.x == eventObject->currentCoords.x) + if (objectEvent->directionSequenceIndex == 2 && objectEvent->initialCoords.x == objectEvent->currentCoords.x) { - eventObject->directionSequenceIndex = 3; + objectEvent->directionSequenceIndex = 3; } - return MoveNextDirectionInSequence(eventObject, sprite, directions); + return MoveNextDirectionInSequence(objectEvent, sprite, directions); } movement_type_def(MovementType_WalkSequenceRightLeftDownUp, gMovementTypeFuncs_WalkSequenceRightLeftDownUp) -u8 MovementType_WalkSequenceRightLeftDownUp_Step1(struct EventObject *eventObject, struct Sprite *sprite) +u8 MovementType_WalkSequenceRightLeftDownUp_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { u8 directions[sizeof(gRightLeftDownUpDirections)]; memcpy(directions, gRightLeftDownUpDirections, sizeof(gRightLeftDownUpDirections)); - if (eventObject->directionSequenceIndex == 1 && eventObject->initialCoords.x == eventObject->currentCoords.x) + if (objectEvent->directionSequenceIndex == 1 && objectEvent->initialCoords.x == objectEvent->currentCoords.x) { - eventObject->directionSequenceIndex = 2; + objectEvent->directionSequenceIndex = 2; } - return MoveNextDirectionInSequence(eventObject, sprite, directions); + return MoveNextDirectionInSequence(objectEvent, sprite, directions); } movement_type_def(MovementType_WalkSequenceDownUpRightLeft, gMovementTypeFuncs_WalkSequenceDownUpRightLeft) -u8 MovementType_WalkSequenceDownUpRightLeft_Step1(struct EventObject *eventObject, struct Sprite *sprite) +u8 MovementType_WalkSequenceDownUpRightLeft_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { u8 directions[sizeof(gDownUpRightLeftDirections)]; memcpy(directions, gDownUpRightLeftDirections, sizeof(gDownUpRightLeftDirections)); - if (eventObject->directionSequenceIndex == 1 && eventObject->initialCoords.y == eventObject->currentCoords.y) + if (objectEvent->directionSequenceIndex == 1 && objectEvent->initialCoords.y == objectEvent->currentCoords.y) { - eventObject->directionSequenceIndex = 2; + objectEvent->directionSequenceIndex = 2; } - return MoveNextDirectionInSequence(eventObject, sprite, directions); + return MoveNextDirectionInSequence(objectEvent, sprite, directions); } movement_type_def(MovementType_WalkSequenceLeftDownUpRight, gMovementTypeFuncs_WalkSequenceLeftDownUpRight) -u8 MovementType_WalkSequenceLeftDownUpRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) +u8 MovementType_WalkSequenceLeftDownUpRight_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { u8 directions[sizeof(gLeftDownUpRightDirections)]; memcpy(directions, gLeftDownUpRightDirections, sizeof(gLeftDownUpRightDirections)); - if (eventObject->directionSequenceIndex == 2 && eventObject->initialCoords.y == eventObject->currentCoords.y) + if (objectEvent->directionSequenceIndex == 2 && objectEvent->initialCoords.y == objectEvent->currentCoords.y) { - eventObject->directionSequenceIndex = 3; + objectEvent->directionSequenceIndex = 3; } - return MoveNextDirectionInSequence(eventObject, sprite, directions); + return MoveNextDirectionInSequence(objectEvent, sprite, directions); } movement_type_def(MovementType_WalkSequenceUpLeftRightDown, gMovementTypeFuncs_WalkSequenceUpLeftRightDown) -u8 MovementType_WalkSequenceUpLeftRightDown_Step1(struct EventObject *eventObject, struct Sprite *sprite) +u8 MovementType_WalkSequenceUpLeftRightDown_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { u8 directions[sizeof(gUpLeftRightDownDirections)]; memcpy(directions, gUpLeftRightDownDirections, sizeof(gUpLeftRightDownDirections)); - if (eventObject->directionSequenceIndex == 2 && eventObject->initialCoords.x == eventObject->currentCoords.x) + if (objectEvent->directionSequenceIndex == 2 && objectEvent->initialCoords.x == objectEvent->currentCoords.x) { - eventObject->directionSequenceIndex = 3; + objectEvent->directionSequenceIndex = 3; } - return MoveNextDirectionInSequence(eventObject, sprite, directions); + return MoveNextDirectionInSequence(objectEvent, sprite, directions); } movement_type_def(MovementType_WalkSequenceLeftRightDownUp, gMovementTypeFuncs_WalkSequenceLeftRightDownUp) -u8 MovementType_WalkSequenceLeftRightDownUp_Step1(struct EventObject *eventObject, struct Sprite *sprite) +u8 MovementType_WalkSequenceLeftRightDownUp_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { u8 directions[sizeof(gLeftRightDownUpDirections)]; memcpy(directions, gLeftRightDownUpDirections, sizeof(gLeftRightDownUpDirections)); - if (eventObject->directionSequenceIndex == 1 && eventObject->initialCoords.x == eventObject->currentCoords.x) + if (objectEvent->directionSequenceIndex == 1 && objectEvent->initialCoords.x == objectEvent->currentCoords.x) { - eventObject->directionSequenceIndex = 2; + objectEvent->directionSequenceIndex = 2; } - return MoveNextDirectionInSequence(eventObject, sprite, directions); + return MoveNextDirectionInSequence(objectEvent, sprite, directions); } movement_type_def(MovementType_WalkSequenceDownUpLeftRight, gMovementTypeFuncs_WalkSequenceDownUpLeftRight) -u8 MovementType_WalkSequenceDownUpLeftRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) +u8 MovementType_WalkSequenceDownUpLeftRight_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { u8 directions[sizeof(gStandardDirections)]; memcpy(directions, gStandardDirections, sizeof(gStandardDirections)); - if (eventObject->directionSequenceIndex == 1 && eventObject->initialCoords.y == eventObject->currentCoords.y) + if (objectEvent->directionSequenceIndex == 1 && objectEvent->initialCoords.y == objectEvent->currentCoords.y) { - eventObject->directionSequenceIndex = 2; + objectEvent->directionSequenceIndex = 2; } - return MoveNextDirectionInSequence(eventObject, sprite, directions); + return MoveNextDirectionInSequence(objectEvent, sprite, directions); } movement_type_def(MovementType_WalkSequenceRightDownUpLeft, gMovementTypeFuncs_WalkSequenceRightDownUpLeft) -u8 MovementType_WalkSequenceRightDownUpLeft_Step1(struct EventObject *eventObject, struct Sprite *sprite) +u8 MovementType_WalkSequenceRightDownUpLeft_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { u8 directions[sizeof(gRightDownUpLeftDirections)]; memcpy(directions, gRightDownUpLeftDirections, sizeof(gRightDownUpLeftDirections)); - if (eventObject->directionSequenceIndex == 2 && eventObject->initialCoords.y == eventObject->currentCoords.y) + if (objectEvent->directionSequenceIndex == 2 && objectEvent->initialCoords.y == objectEvent->currentCoords.y) { - eventObject->directionSequenceIndex = 3; + objectEvent->directionSequenceIndex = 3; } - return MoveNextDirectionInSequence(eventObject, sprite, directions); + return MoveNextDirectionInSequence(objectEvent, sprite, directions); } movement_type_def(MovementType_WalkSequenceLeftUpDownRight, gMovementTypeFuncs_WalkSequenceLeftUpDownRight) -u8 MovementType_WalkSequenceLeftUpDownRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) +u8 MovementType_WalkSequenceLeftUpDownRight_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { u8 directions[sizeof(gLeftUpDownRightDirections)]; memcpy(directions, gLeftUpDownRightDirections, sizeof(gLeftUpDownRightDirections)); - if (eventObject->directionSequenceIndex == 2 && eventObject->initialCoords.y == eventObject->currentCoords.y) + if (objectEvent->directionSequenceIndex == 2 && objectEvent->initialCoords.y == objectEvent->currentCoords.y) { - eventObject->directionSequenceIndex = 3; + objectEvent->directionSequenceIndex = 3; } - return MoveNextDirectionInSequence(eventObject, sprite, directions); + return MoveNextDirectionInSequence(objectEvent, sprite, directions); } movement_type_def(MovementType_WalkSequenceUpDownRightLeft, gMovementTypeFuncs_WalkSequenceUpDownRightLeft) -u8 MovementType_WalkSequenceUpDownRightLeft_Step1(struct EventObject *eventObject, struct Sprite *sprite) +u8 MovementType_WalkSequenceUpDownRightLeft_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { u8 directions[sizeof(gUpDownRightLeftDirections)]; memcpy(directions, gUpDownRightLeftDirections, sizeof(gUpDownRightLeftDirections)); - if (eventObject->directionSequenceIndex == 1 && eventObject->initialCoords.y == eventObject->currentCoords.y) + if (objectEvent->directionSequenceIndex == 1 && objectEvent->initialCoords.y == objectEvent->currentCoords.y) { - eventObject->directionSequenceIndex = 2; + objectEvent->directionSequenceIndex = 2; } - return MoveNextDirectionInSequence(eventObject, sprite, directions); + return MoveNextDirectionInSequence(objectEvent, sprite, directions); } movement_type_def(MovementType_WalkSequenceRightLeftUpDown, gMovementTypeFuncs_WalkSequenceRightLeftUpDown) -u8 MovementType_WalkSequenceRightLeftUpDown_Step1(struct EventObject *eventObject, struct Sprite *sprite) +u8 MovementType_WalkSequenceRightLeftUpDown_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { u8 directions[sizeof(gRightLeftUpDownDirections)]; memcpy(directions, gRightLeftUpDownDirections, sizeof(gRightLeftUpDownDirections)); - if (eventObject->directionSequenceIndex == 1 && eventObject->initialCoords.x == eventObject->currentCoords.x) + if (objectEvent->directionSequenceIndex == 1 && objectEvent->initialCoords.x == objectEvent->currentCoords.x) { - eventObject->directionSequenceIndex = 2; + objectEvent->directionSequenceIndex = 2; } - return MoveNextDirectionInSequence(eventObject, sprite, directions); + return MoveNextDirectionInSequence(objectEvent, sprite, directions); } movement_type_def(MovementType_WalkSequenceDownRightLeftUp, gMovementTypeFuncs_WalkSequenceDownRightLeftUp) -u8 MovementType_WalkSequenceDownRightLeftUp_Step1(struct EventObject *eventObject, struct Sprite *sprite) +u8 MovementType_WalkSequenceDownRightLeftUp_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { u8 directions[sizeof(gDownRightLeftUpDirections)]; memcpy(directions, gDownRightLeftUpDirections, sizeof(gDownRightLeftUpDirections)); - if (eventObject->directionSequenceIndex == 2 && eventObject->initialCoords.x == eventObject->currentCoords.x) + if (objectEvent->directionSequenceIndex == 2 && objectEvent->initialCoords.x == objectEvent->currentCoords.x) { - eventObject->directionSequenceIndex = 3; + objectEvent->directionSequenceIndex = 3; } - return MoveNextDirectionInSequence(eventObject, sprite, directions); + return MoveNextDirectionInSequence(objectEvent, sprite, directions); } movement_type_def(MovementType_WalkSequenceRightUpDownLeft, gMovementTypeFuncs_WalkSequenceRightUpDownLeft) -u8 MovementType_WalkSequenceRightUpDownLeft_Step1(struct EventObject *eventObject, struct Sprite *sprite) +u8 MovementType_WalkSequenceRightUpDownLeft_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { u8 directions[sizeof(gRightUpDownLeftDirections)]; memcpy(directions, gRightUpDownLeftDirections, sizeof(gRightUpDownLeftDirections)); - if (eventObject->directionSequenceIndex == 2 && eventObject->initialCoords.y == eventObject->currentCoords.y) + if (objectEvent->directionSequenceIndex == 2 && objectEvent->initialCoords.y == objectEvent->currentCoords.y) { - eventObject->directionSequenceIndex = 3; + objectEvent->directionSequenceIndex = 3; } - return MoveNextDirectionInSequence(eventObject, sprite, directions); + return MoveNextDirectionInSequence(objectEvent, sprite, directions); } movement_type_def(MovementType_WalkSequenceUpDownLeftRight, gMovementTypeFuncs_WalkSequenceUpDownLeftRight) -u8 MovementType_WalkSequenceUpDownLeftRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) +u8 MovementType_WalkSequenceUpDownLeftRight_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { u8 directions[sizeof(gUpDownLeftRightDirections)]; memcpy(directions, gUpDownLeftRightDirections, sizeof(gUpDownLeftRightDirections)); - if (eventObject->directionSequenceIndex == 1 && eventObject->initialCoords.y == eventObject->currentCoords.y) + if (objectEvent->directionSequenceIndex == 1 && objectEvent->initialCoords.y == objectEvent->currentCoords.y) { - eventObject->directionSequenceIndex = 2; + objectEvent->directionSequenceIndex = 2; } - return MoveNextDirectionInSequence(eventObject, sprite, directions); + return MoveNextDirectionInSequence(objectEvent, sprite, directions); } movement_type_def(MovementType_WalkSequenceLeftRightUpDown, gMovementTypeFuncs_WalkSequenceLeftRightUpDown) -u8 MovementType_WalkSequenceLeftRightUpDown_Step1(struct EventObject *eventObject, struct Sprite *sprite) +u8 MovementType_WalkSequenceLeftRightUpDown_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { u8 directions[sizeof(gLeftRightUpDownDirections)]; memcpy(directions, gLeftRightUpDownDirections, sizeof(gLeftRightUpDownDirections)); - if (eventObject->directionSequenceIndex == 1 && eventObject->initialCoords.x == eventObject->currentCoords.x) + if (objectEvent->directionSequenceIndex == 1 && objectEvent->initialCoords.x == objectEvent->currentCoords.x) { - eventObject->directionSequenceIndex = 2; + objectEvent->directionSequenceIndex = 2; } - return MoveNextDirectionInSequence(eventObject, sprite, directions); + return MoveNextDirectionInSequence(objectEvent, sprite, directions); } movement_type_def(MovementType_WalkSequenceDownLeftRightUp, gMovementTypeFuncs_WalkSequenceDownLeftRightUp) -u8 MovementType_WalkSequenceDownLeftRightUp_Step1(struct EventObject *eventObject, struct Sprite *sprite) +u8 MovementType_WalkSequenceDownLeftRightUp_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { u8 directions[sizeof(gDownLeftRightUpDirections)]; memcpy(directions, gDownLeftRightUpDirections, sizeof(gDownLeftRightUpDirections)); - if (eventObject->directionSequenceIndex == 2 && eventObject->initialCoords.x == eventObject->currentCoords.x) + if (objectEvent->directionSequenceIndex == 2 && objectEvent->initialCoords.x == objectEvent->currentCoords.x) { - eventObject->directionSequenceIndex = 3; + objectEvent->directionSequenceIndex = 3; } - return MoveNextDirectionInSequence(eventObject, sprite, directions); + return MoveNextDirectionInSequence(objectEvent, sprite, directions); } movement_type_def(MovementType_WalkSequenceUpLeftDownRight, gMovementTypeFuncs_WalkSequenceUpLeftDownRight) -u8 MovementType_WalkSequenceUpLeftDownRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) +u8 MovementType_WalkSequenceUpLeftDownRight_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { u8 directions[sizeof(gUpLeftDownRightDirections)]; memcpy(directions, gUpLeftDownRightDirections, sizeof(gUpLeftDownRightDirections)); - if (eventObject->directionSequenceIndex == 2 && eventObject->initialCoords.y == eventObject->currentCoords.y) + if (objectEvent->directionSequenceIndex == 2 && objectEvent->initialCoords.y == objectEvent->currentCoords.y) { - eventObject->directionSequenceIndex = 3; + objectEvent->directionSequenceIndex = 3; } - return MoveNextDirectionInSequence(eventObject, sprite, directions); + return MoveNextDirectionInSequence(objectEvent, sprite, directions); } movement_type_def(MovementType_WalkSequenceDownRightUpLeft, gMovementTypeFuncs_WalkSequenceDownRightUpLeft) -u8 MovementType_WalkSequenceDownRightUpLeft_Step1(struct EventObject *eventObject, struct Sprite *sprite) +u8 MovementType_WalkSequenceDownRightUpLeft_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { u8 directions[sizeof(gDownRightUpLeftDirections)]; memcpy(directions, gDownRightUpLeftDirections, sizeof(gDownRightUpLeftDirections)); - if (eventObject->directionSequenceIndex == 2 && eventObject->initialCoords.y == eventObject->currentCoords.y) + if (objectEvent->directionSequenceIndex == 2 && objectEvent->initialCoords.y == objectEvent->currentCoords.y) { - eventObject->directionSequenceIndex = 3; + objectEvent->directionSequenceIndex = 3; } - return MoveNextDirectionInSequence(eventObject, sprite, directions); + return MoveNextDirectionInSequence(objectEvent, sprite, directions); } movement_type_def(MovementType_WalkSequenceLeftDownRightUp, gMovementTypeFuncs_WalkSequenceLeftDownRightUp) -u8 MovementType_WalkSequenceLeftDownRightUp_Step1(struct EventObject *eventObject, struct Sprite *sprite) +u8 MovementType_WalkSequenceLeftDownRightUp_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { u8 directions[sizeof(gLeftDownRightUpDirections)]; memcpy(directions, gLeftDownRightUpDirections, sizeof(gLeftDownRightUpDirections)); - if (eventObject->directionSequenceIndex == 2 && eventObject->initialCoords.x == eventObject->currentCoords.x) + if (objectEvent->directionSequenceIndex == 2 && objectEvent->initialCoords.x == objectEvent->currentCoords.x) { - eventObject->directionSequenceIndex = 3; + objectEvent->directionSequenceIndex = 3; } - return MoveNextDirectionInSequence(eventObject, sprite, directions); + return MoveNextDirectionInSequence(objectEvent, sprite, directions); } movement_type_def(MovementType_WalkSequenceRightUpLeftDown, gMovementTypeFuncs_WalkSequenceRightUpLeftDown) -u8 MovementType_WalkSequenceRightUpLeftDown_Step1(struct EventObject *eventObject, struct Sprite *sprite) +u8 MovementType_WalkSequenceRightUpLeftDown_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { u8 directions[sizeof(gRightUpLeftDownDirections)]; memcpy(directions, gRightUpLeftDownDirections, sizeof(gRightUpLeftDownDirections)); - if (eventObject->directionSequenceIndex == 2 && eventObject->initialCoords.x == eventObject->currentCoords.x) + if (objectEvent->directionSequenceIndex == 2 && objectEvent->initialCoords.x == objectEvent->currentCoords.x) { - eventObject->directionSequenceIndex = 3; + objectEvent->directionSequenceIndex = 3; } - return MoveNextDirectionInSequence(eventObject, sprite, directions); + return MoveNextDirectionInSequence(objectEvent, sprite, directions); } movement_type_def(MovementType_WalkSequenceUpRightDownLeft, gMovementTypeFuncs_WalkSequenceUpRightDownLeft) -u8 MovementType_WalkSequenceUpRightDownLeft_Step1(struct EventObject *eventObject, struct Sprite *sprite) +u8 MovementType_WalkSequenceUpRightDownLeft_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { u8 directions[sizeof(gUpRightDownLeftDirections)]; memcpy(directions, gUpRightDownLeftDirections, sizeof(gUpRightDownLeftDirections)); - if (eventObject->directionSequenceIndex == 2 && eventObject->initialCoords.y == eventObject->currentCoords.y) + if (objectEvent->directionSequenceIndex == 2 && objectEvent->initialCoords.y == objectEvent->currentCoords.y) { - eventObject->directionSequenceIndex = 3; + objectEvent->directionSequenceIndex = 3; } - return MoveNextDirectionInSequence(eventObject, sprite, directions); + return MoveNextDirectionInSequence(objectEvent, sprite, directions); } movement_type_def(MovementType_WalkSequenceDownLeftUpRight, gMovementTypeFuncs_WalkSequenceDownLeftUpRight) -u8 MovementType_WalkSequenceDownLeftUpRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) +u8 MovementType_WalkSequenceDownLeftUpRight_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { u8 directions[sizeof(gDownLeftUpRightDirections)]; memcpy(directions, gDownLeftUpRightDirections, sizeof(gDownLeftUpRightDirections)); - if (eventObject->directionSequenceIndex == 2 && eventObject->initialCoords.y == eventObject->currentCoords.y) + if (objectEvent->directionSequenceIndex == 2 && objectEvent->initialCoords.y == objectEvent->currentCoords.y) { - eventObject->directionSequenceIndex = 3; + objectEvent->directionSequenceIndex = 3; } - return MoveNextDirectionInSequence(eventObject, sprite, directions); + return MoveNextDirectionInSequence(objectEvent, sprite, directions); } movement_type_def(MovementType_WalkSequenceLeftUpRightDown, gMovementTypeFuncs_WalkSequenceLeftUpRightDown) -u8 MovementType_WalkSequenceLeftUpRightDown_Step1(struct EventObject *eventObject, struct Sprite *sprite) +u8 MovementType_WalkSequenceLeftUpRightDown_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { u8 directions[sizeof(gLeftUpRightDownDirections)]; memcpy(directions, gLeftUpRightDownDirections, sizeof(gLeftUpRightDownDirections)); - if (eventObject->directionSequenceIndex == 2 && eventObject->initialCoords.x == eventObject->currentCoords.x) + if (objectEvent->directionSequenceIndex == 2 && objectEvent->initialCoords.x == objectEvent->currentCoords.x) { - eventObject->directionSequenceIndex = 3; + objectEvent->directionSequenceIndex = 3; } - return MoveNextDirectionInSequence(eventObject, sprite, directions); + return MoveNextDirectionInSequence(objectEvent, sprite, directions); } movement_type_def(MovementType_WalkSequenceRightDownLeftUp, gMovementTypeFuncs_WalkSequenceRightDownLeftUp) -u8 MovementType_WalkSequenceRightDownLeftUp_Step1(struct EventObject *eventObject, struct Sprite *sprite) +u8 MovementType_WalkSequenceRightDownLeftUp_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { u8 directions[sizeof(gRightDownLeftUpDirections)]; memcpy(directions, gRightDownLeftUpDirections, sizeof(gRightDownLeftUpDirections)); - if (eventObject->directionSequenceIndex == 2 && eventObject->initialCoords.x == eventObject->currentCoords.x) + if (objectEvent->directionSequenceIndex == 2 && objectEvent->initialCoords.x == objectEvent->currentCoords.x) { - eventObject->directionSequenceIndex = 3; + objectEvent->directionSequenceIndex = 3; } - return MoveNextDirectionInSequence(eventObject, sprite, directions); + return MoveNextDirectionInSequence(objectEvent, sprite, directions); } movement_type_def(MovementType_CopyPlayer, gMovementTypeFuncs_CopyPlayer) -bool8 MovementType_CopyPlayer_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_CopyPlayer_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - ClearEventObjectMovement(eventObject, sprite); - if (eventObject->directionSequenceIndex == 0) + ClearObjectEventMovement(objectEvent, sprite); + if (objectEvent->directionSequenceIndex == 0) { - eventObject->directionSequenceIndex = GetPlayerFacingDirection(); + objectEvent->directionSequenceIndex = GetPlayerFacingDirection(); } sprite->data[1] = 1; return TRUE; } -bool8 MovementType_CopyPlayer_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_CopyPlayer_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (gEventObjects[gPlayerAvatar.eventObjectId].movementActionId == 0xFF || gPlayerAvatar.tileTransitionState == T_TILE_CENTER) + if (gObjectEvents[gPlayerAvatar.objectEventId].movementActionId == 0xFF || gPlayerAvatar.tileTransitionState == T_TILE_CENTER) { return FALSE; } - return gCopyPlayerMovementFuncs[PlayerGetCopyableMovement()](eventObject, sprite, GetPlayerMovementDirection(), NULL); + return gCopyPlayerMovementFuncs[PlayerGetCopyableMovement()](objectEvent, sprite, GetPlayerMovementDirection(), NULL); } -bool8 MovementType_CopyPlayer_Step2(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_CopyPlayer_Step2(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (EventObjectExecSingleMovementAction(eventObject, sprite)) + if (ObjectEventExecSingleMovementAction(objectEvent, sprite)) { - eventObject->singleMovementActive = 0; + objectEvent->singleMovementActive = 0; sprite->data[1] = 1; } return FALSE; } -bool8 CopyablePlayerMovement_None(struct EventObject *eventObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCallback(u8)) +bool8 CopyablePlayerMovement_None(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 playerDirection, bool8 tileCallback(u8)) { return FALSE; } -bool8 CopyablePlayerMovement_FaceDirection(struct EventObject *eventObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCallback(u8)) +bool8 CopyablePlayerMovement_FaceDirection(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 playerDirection, bool8 tileCallback(u8)) { - EventObjectSetSingleMovement(eventObject, sprite, GetFaceDirectionMovementAction(state_to_direction(gInitialMovementTypeFacingDirections[eventObject->movementType], eventObject->directionSequenceIndex, playerDirection))); - eventObject->singleMovementActive = 1; + ObjectEventSetSingleMovement(objectEvent, sprite, GetFaceDirectionMovementAction(state_to_direction(gInitialMovementTypeFacingDirections[objectEvent->movementType], objectEvent->directionSequenceIndex, playerDirection))); + objectEvent->singleMovementActive = 1; sprite->data[1] = 2; return TRUE; } -bool8 CopyablePlayerMovement_GoSpeed0(struct EventObject *eventObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCallback(u8)) +bool8 CopyablePlayerMovement_GoSpeed0(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 playerDirection, bool8 tileCallback(u8)) { u32 direction; s16 x; s16 y; direction = playerDirection; - if (EventObjectIsFarawayIslandMew(eventObject)) + if (ObjectEventIsFarawayIslandMew(objectEvent)) { direction = GetMewMoveDirection(); if (direction == DIR_NONE) { direction = playerDirection; - direction = state_to_direction(gInitialMovementTypeFacingDirections[eventObject->movementType], eventObject->directionSequenceIndex, direction); - EventObjectMoveDestCoords(eventObject, direction, &x, &y); - EventObjectSetSingleMovement(eventObject, sprite, GetFaceDirectionMovementAction(direction)); - eventObject->singleMovementActive = 1; + direction = state_to_direction(gInitialMovementTypeFacingDirections[objectEvent->movementType], objectEvent->directionSequenceIndex, direction); + ObjectEventMoveDestCoords(objectEvent, direction, &x, &y); + ObjectEventSetSingleMovement(objectEvent, sprite, GetFaceDirectionMovementAction(direction)); + objectEvent->singleMovementActive = 1; sprite->data[1] = 2; return TRUE; } } else { - direction = state_to_direction(gInitialMovementTypeFacingDirections[eventObject->movementType], eventObject->directionSequenceIndex, direction); + direction = state_to_direction(gInitialMovementTypeFacingDirections[objectEvent->movementType], objectEvent->directionSequenceIndex, direction); } - EventObjectMoveDestCoords(eventObject, direction, &x, &y); - EventObjectSetSingleMovement(eventObject, sprite, GetWalkNormalMovementAction(direction)); - if (GetCollisionAtCoords(eventObject, x, y, direction) || (tileCallback != NULL && !tileCallback(MapGridGetMetatileBehaviorAt(x, y)))) + ObjectEventMoveDestCoords(objectEvent, direction, &x, &y); + ObjectEventSetSingleMovement(objectEvent, sprite, GetWalkNormalMovementAction(direction)); + if (GetCollisionAtCoords(objectEvent, x, y, direction) || (tileCallback != NULL && !tileCallback(MapGridGetMetatileBehaviorAt(x, y)))) { - EventObjectSetSingleMovement(eventObject, sprite, GetFaceDirectionMovementAction(direction)); + ObjectEventSetSingleMovement(objectEvent, sprite, GetFaceDirectionMovementAction(direction)); } - eventObject->singleMovementActive = 1; + objectEvent->singleMovementActive = 1; sprite->data[1] = 2; return TRUE; } -bool8 CopyablePlayerMovement_GoSpeed1(struct EventObject *eventObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCallback(u8)) +bool8 CopyablePlayerMovement_GoSpeed1(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 playerDirection, bool8 tileCallback(u8)) { u32 direction; s16 x; s16 y; direction = playerDirection; - direction = state_to_direction(gInitialMovementTypeFacingDirections[eventObject->movementType], eventObject->directionSequenceIndex, direction); - EventObjectMoveDestCoords(eventObject, direction, &x, &y); - EventObjectSetSingleMovement(eventObject, sprite, GetWalkFastMovementAction(direction)); - if (GetCollisionAtCoords(eventObject, x, y, direction) || (tileCallback != NULL && !tileCallback(MapGridGetMetatileBehaviorAt(x, y)))) + direction = state_to_direction(gInitialMovementTypeFacingDirections[objectEvent->movementType], objectEvent->directionSequenceIndex, direction); + ObjectEventMoveDestCoords(objectEvent, direction, &x, &y); + ObjectEventSetSingleMovement(objectEvent, sprite, GetWalkFastMovementAction(direction)); + if (GetCollisionAtCoords(objectEvent, x, y, direction) || (tileCallback != NULL && !tileCallback(MapGridGetMetatileBehaviorAt(x, y)))) { - EventObjectSetSingleMovement(eventObject, sprite, GetFaceDirectionMovementAction(direction)); + ObjectEventSetSingleMovement(objectEvent, sprite, GetFaceDirectionMovementAction(direction)); } - eventObject->singleMovementActive = TRUE; + objectEvent->singleMovementActive = TRUE; sprite->data[1] = 2; return TRUE; } -bool8 CopyablePlayerMovement_GoSpeed2(struct EventObject *eventObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCallback(u8)) +bool8 CopyablePlayerMovement_GoSpeed2(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 playerDirection, bool8 tileCallback(u8)) { u32 direction; s16 x; s16 y; direction = playerDirection; - direction = state_to_direction(gInitialMovementTypeFacingDirections[eventObject->movementType], eventObject->directionSequenceIndex, direction); - EventObjectMoveDestCoords(eventObject, direction, &x, &y); - EventObjectSetSingleMovement(eventObject, sprite, GetWalkFastestMovementAction(direction)); - if (GetCollisionAtCoords(eventObject, x, y, direction) || (tileCallback != NULL && !tileCallback(MapGridGetMetatileBehaviorAt(x, y)))) + direction = state_to_direction(gInitialMovementTypeFacingDirections[objectEvent->movementType], objectEvent->directionSequenceIndex, direction); + ObjectEventMoveDestCoords(objectEvent, direction, &x, &y); + ObjectEventSetSingleMovement(objectEvent, sprite, GetWalkFastestMovementAction(direction)); + if (GetCollisionAtCoords(objectEvent, x, y, direction) || (tileCallback != NULL && !tileCallback(MapGridGetMetatileBehaviorAt(x, y)))) { - EventObjectSetSingleMovement(eventObject, sprite, GetFaceDirectionMovementAction(direction)); + ObjectEventSetSingleMovement(objectEvent, sprite, GetFaceDirectionMovementAction(direction)); } - eventObject->singleMovementActive = TRUE; + objectEvent->singleMovementActive = TRUE; sprite->data[1] = 2; return TRUE; } -bool8 CopyablePlayerMovement_Slide(struct EventObject *eventObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCallback(u8)) +bool8 CopyablePlayerMovement_Slide(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 playerDirection, bool8 tileCallback(u8)) { u32 direction; s16 x; s16 y; direction = playerDirection; - direction = state_to_direction(gInitialMovementTypeFacingDirections[eventObject->movementType], eventObject->directionSequenceIndex, direction); - EventObjectMoveDestCoords(eventObject, direction, &x, &y); - EventObjectSetSingleMovement(eventObject, sprite, GetSlideMovementAction(direction)); - if (GetCollisionAtCoords(eventObject, x, y, direction) || (tileCallback != NULL && !tileCallback(MapGridGetMetatileBehaviorAt(x, y)))) + direction = state_to_direction(gInitialMovementTypeFacingDirections[objectEvent->movementType], objectEvent->directionSequenceIndex, direction); + ObjectEventMoveDestCoords(objectEvent, direction, &x, &y); + ObjectEventSetSingleMovement(objectEvent, sprite, GetSlideMovementAction(direction)); + if (GetCollisionAtCoords(objectEvent, x, y, direction) || (tileCallback != NULL && !tileCallback(MapGridGetMetatileBehaviorAt(x, y)))) { - EventObjectSetSingleMovement(eventObject, sprite, GetFaceDirectionMovementAction(direction)); + ObjectEventSetSingleMovement(objectEvent, sprite, GetFaceDirectionMovementAction(direction)); } - eventObject->singleMovementActive = TRUE; + objectEvent->singleMovementActive = TRUE; sprite->data[1] = 2; return TRUE; } -bool8 cph_IM_DIFFERENT(struct EventObject *eventObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCallback(u8)) +bool8 cph_IM_DIFFERENT(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 playerDirection, bool8 tileCallback(u8)) { u32 direction; direction = playerDirection; - direction = state_to_direction(gInitialMovementTypeFacingDirections[eventObject->movementType], eventObject->directionSequenceIndex, direction); - EventObjectSetSingleMovement(eventObject, sprite, GetJumpInPlaceMovementAction(direction)); - eventObject->singleMovementActive = TRUE; + direction = state_to_direction(gInitialMovementTypeFacingDirections[objectEvent->movementType], objectEvent->directionSequenceIndex, direction); + ObjectEventSetSingleMovement(objectEvent, sprite, GetJumpInPlaceMovementAction(direction)); + objectEvent->singleMovementActive = TRUE; sprite->data[1] = 2; return TRUE; } -bool8 CopyablePlayerMovement_GoSpeed4(struct EventObject *eventObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCallback(u8)) +bool8 CopyablePlayerMovement_GoSpeed4(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 playerDirection, bool8 tileCallback(u8)) { u32 direction; s16 x; s16 y; direction = playerDirection; - direction = state_to_direction(gInitialMovementTypeFacingDirections[eventObject->movementType], eventObject->directionSequenceIndex, direction); - EventObjectMoveDestCoords(eventObject, direction, &x, &y); - EventObjectSetSingleMovement(eventObject, sprite, GetJumpMovementAction(direction)); - if (GetCollisionAtCoords(eventObject, x, y, direction) || (tileCallback != NULL && !tileCallback(MapGridGetMetatileBehaviorAt(x, y)))) + direction = state_to_direction(gInitialMovementTypeFacingDirections[objectEvent->movementType], objectEvent->directionSequenceIndex, direction); + ObjectEventMoveDestCoords(objectEvent, direction, &x, &y); + ObjectEventSetSingleMovement(objectEvent, sprite, GetJumpMovementAction(direction)); + if (GetCollisionAtCoords(objectEvent, x, y, direction) || (tileCallback != NULL && !tileCallback(MapGridGetMetatileBehaviorAt(x, y)))) { - EventObjectSetSingleMovement(eventObject, sprite, GetFaceDirectionMovementAction(direction)); + ObjectEventSetSingleMovement(objectEvent, sprite, GetFaceDirectionMovementAction(direction)); } - eventObject->singleMovementActive = TRUE; + objectEvent->singleMovementActive = TRUE; sprite->data[1] = 2; return TRUE; } -bool8 CopyablePlayerMovement_Jump(struct EventObject *eventObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCallback(u8)) +bool8 CopyablePlayerMovement_Jump(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 playerDirection, bool8 tileCallback(u8)) { u32 direction; s16 x; s16 y; direction = playerDirection; - direction = state_to_direction(gInitialMovementTypeFacingDirections[eventObject->movementType], eventObject->directionSequenceIndex, direction); - x = eventObject->currentCoords.x; - y = eventObject->currentCoords.y; + direction = state_to_direction(gInitialMovementTypeFacingDirections[objectEvent->movementType], objectEvent->directionSequenceIndex, direction); + x = objectEvent->currentCoords.x; + y = objectEvent->currentCoords.y; MoveCoordsInDirection(direction, &x, &y, 2, 2); - EventObjectSetSingleMovement(eventObject, sprite, GetJump2MovementAction(direction)); - if (GetCollisionAtCoords(eventObject, x, y, direction) || (tileCallback != NULL && !tileCallback(MapGridGetMetatileBehaviorAt(x, y)))) + ObjectEventSetSingleMovement(objectEvent, sprite, GetJump2MovementAction(direction)); + if (GetCollisionAtCoords(objectEvent, x, y, direction) || (tileCallback != NULL && !tileCallback(MapGridGetMetatileBehaviorAt(x, y)))) { - EventObjectSetSingleMovement(eventObject, sprite, GetFaceDirectionMovementAction(direction)); + ObjectEventSetSingleMovement(objectEvent, sprite, GetFaceDirectionMovementAction(direction)); } - eventObject->singleMovementActive = TRUE; + objectEvent->singleMovementActive = TRUE; sprite->data[1] = 2; return TRUE; } movement_type_def(MovementType_CopyPlayerInGrass, gMovementTypeFuncs_CopyPlayerInGrass) -bool8 MovementType_CopyPlayerInGrass_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_CopyPlayerInGrass_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (gEventObjects[gPlayerAvatar.eventObjectId].movementActionId == 0xFF || gPlayerAvatar.tileTransitionState == T_TILE_CENTER) + if (gObjectEvents[gPlayerAvatar.objectEventId].movementActionId == 0xFF || gPlayerAvatar.tileTransitionState == T_TILE_CENTER) { return FALSE; } - return gCopyPlayerMovementFuncs[PlayerGetCopyableMovement()](eventObject, sprite, GetPlayerMovementDirection(), MetatileBehavior_IsPokeGrass); + return gCopyPlayerMovementFuncs[PlayerGetCopyableMovement()](objectEvent, sprite, GetPlayerMovementDirection(), MetatileBehavior_IsPokeGrass); } void MovementType_TreeDisguise(struct Sprite *sprite) { - struct EventObject *eventObject; + struct ObjectEvent *objectEvent; - eventObject = &gEventObjects[sprite->data[0]]; - if (eventObject->directionSequenceIndex == 0 || (eventObject->directionSequenceIndex == 1 && !sprite->data[7])) + objectEvent = &gObjectEvents[sprite->data[0]]; + if (objectEvent->directionSequenceIndex == 0 || (objectEvent->directionSequenceIndex == 1 && !sprite->data[7])) { - EventObjectGetLocalIdAndMap(eventObject, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]); - eventObject->fieldEffectSpriteId = FieldEffectStart(FLDEFF_TREE_DISGUISE); - eventObject->directionSequenceIndex = 1; + ObjectEventGetLocalIdAndMap(objectEvent, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]); + objectEvent->fieldEffectSpriteId = FieldEffectStart(FLDEFF_TREE_DISGUISE); + objectEvent->directionSequenceIndex = 1; sprite->data[7]++; } - UpdateEventObjectCurrentMovement(&gEventObjects[sprite->data[0]], sprite, MovementType_Disguise_Callback); + UpdateObjectEventCurrentMovement(&gObjectEvents[sprite->data[0]], sprite, MovementType_Disguise_Callback); } -static bool8 MovementType_Disguise_Callback(struct EventObject *eventObject, struct Sprite *sprite) +static bool8 MovementType_Disguise_Callback(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - ClearEventObjectMovement(eventObject, sprite); + ClearObjectEventMovement(objectEvent, sprite); return FALSE; } void MovementType_MountainDisguise(struct Sprite *sprite) { - struct EventObject *eventObject; + struct ObjectEvent *objectEvent; - eventObject = &gEventObjects[sprite->data[0]]; - if (eventObject->directionSequenceIndex == 0 || (eventObject->directionSequenceIndex == 1 && !sprite->data[7])) + objectEvent = &gObjectEvents[sprite->data[0]]; + if (objectEvent->directionSequenceIndex == 0 || (objectEvent->directionSequenceIndex == 1 && !sprite->data[7])) { - EventObjectGetLocalIdAndMap(eventObject, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]); - eventObject->fieldEffectSpriteId = FieldEffectStart(FLDEFF_MOUNTAIN_DISGUISE); - eventObject->directionSequenceIndex = 1; + ObjectEventGetLocalIdAndMap(objectEvent, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]); + objectEvent->fieldEffectSpriteId = FieldEffectStart(FLDEFF_MOUNTAIN_DISGUISE); + objectEvent->directionSequenceIndex = 1; sprite->data[7]++; } - UpdateEventObjectCurrentMovement(&gEventObjects[sprite->data[0]], sprite, MovementType_Disguise_Callback); + UpdateObjectEventCurrentMovement(&gObjectEvents[sprite->data[0]], sprite, MovementType_Disguise_Callback); } void MovementType_Hidden(struct Sprite *sprite) { if (!sprite->data[7]) { - gEventObjects[sprite->data[0]].fixedPriority = TRUE; + gObjectEvents[sprite->data[0]].fixedPriority = TRUE; sprite->subspriteMode = SUBSPRITES_IGNORE_PRIORITY; sprite->oam.priority = 3; sprite->data[7]++; } - UpdateEventObjectCurrentMovement(&gEventObjects[sprite->data[0]], sprite, MovementType_Hidden_Callback); + UpdateObjectEventCurrentMovement(&gObjectEvents[sprite->data[0]], sprite, MovementType_Hidden_Callback); } -static bool8 MovementType_Hidden_Callback(struct EventObject *eventObject, struct Sprite *sprite) +static bool8 MovementType_Hidden_Callback(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - return gMovementTypeFuncs_Hidden[sprite->data[1]](eventObject, sprite); + return gMovementTypeFuncs_Hidden[sprite->data[1]](objectEvent, sprite); } -bool8 MovementType_Hidden_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_Hidden_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - ClearEventObjectMovement(eventObject, sprite); + ClearObjectEventMovement(objectEvent, sprite); return FALSE; } -bool8 MovementType_MoveInPlace_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_MoveInPlace_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (EventObjectExecSingleMovementAction(eventObject, sprite)) + if (ObjectEventExecSingleMovementAction(objectEvent, sprite)) { sprite->data[1] = 0; } @@ -4458,57 +4457,57 @@ bool8 MovementType_MoveInPlace_Step1(struct EventObject *eventObject, struct Spr movement_type_def(MovementType_WalkInPlace, gMovementTypeFuncs_WalkInPlace) -bool8 MovementType_WalkInPlace_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_WalkInPlace_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - ClearEventObjectMovement(eventObject, sprite); - EventObjectSetSingleMovement(eventObject, sprite, GetWalkInPlaceNormalMovementAction(eventObject->facingDirection)); + ClearObjectEventMovement(objectEvent, sprite); + ObjectEventSetSingleMovement(objectEvent, sprite, GetWalkInPlaceNormalMovementAction(objectEvent->facingDirection)); sprite->data[1] = 1; return TRUE; } movement_type_def(MovementType_WalkSlowlyInPlace, gMovementTypeFuncs_WalkSlowlyInPlace) -bool8 MovementType_WalkSlowlyInPlace_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_WalkSlowlyInPlace_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - ClearEventObjectMovement(eventObject, sprite); - EventObjectSetSingleMovement(eventObject, sprite, GetWalkInPlaceSlowMovementAction(eventObject->facingDirection)); + ClearObjectEventMovement(objectEvent, sprite); + ObjectEventSetSingleMovement(objectEvent, sprite, GetWalkInPlaceSlowMovementAction(objectEvent->facingDirection)); sprite->data[1] = 1; return TRUE; } movement_type_def(MovementType_JogInPlace, gMovementTypeFuncs_JogInPlace) -bool8 MovementType_JogInPlace_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_JogInPlace_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - ClearEventObjectMovement(eventObject, sprite); - EventObjectSetSingleMovement(eventObject, sprite, GetWalkInPlaceFastMovementAction(eventObject->facingDirection)); + ClearObjectEventMovement(objectEvent, sprite); + ObjectEventSetSingleMovement(objectEvent, sprite, GetWalkInPlaceFastMovementAction(objectEvent->facingDirection)); sprite->data[1] = 1; return TRUE; } movement_type_def(MovementType_RunInPlace, gMovementTypeFuncs_RunInPlace) -bool8 MovementType_RunInPlace_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_RunInPlace_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - ClearEventObjectMovement(eventObject, sprite); - EventObjectSetSingleMovement(eventObject, sprite, GetWalkInPlaceFastestMovementAction(eventObject->facingDirection)); + ClearObjectEventMovement(objectEvent, sprite); + ObjectEventSetSingleMovement(objectEvent, sprite, GetWalkInPlaceFastestMovementAction(objectEvent->facingDirection)); sprite->data[1] = 1; return TRUE; } movement_type_def(MovementType_Invisible, gMovementTypeFuncs_Invisible) -bool8 MovementType_Invisible_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_Invisible_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - ClearEventObjectMovement(eventObject, sprite); - EventObjectSetSingleMovement(eventObject, sprite, GetFaceDirectionMovementAction(eventObject->facingDirection)); - eventObject->invisible = TRUE; + ClearObjectEventMovement(objectEvent, sprite); + ObjectEventSetSingleMovement(objectEvent, sprite, GetFaceDirectionMovementAction(objectEvent->facingDirection)); + objectEvent->invisible = TRUE; sprite->data[1] = 1; return TRUE; } -bool8 MovementType_Invisible_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_Invisible_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (EventObjectExecSingleMovementAction(eventObject, sprite)) + if (ObjectEventExecSingleMovementAction(objectEvent, sprite)) { sprite->data[1] = 2; return TRUE; @@ -4516,18 +4515,18 @@ bool8 MovementType_Invisible_Step1(struct EventObject *eventObject, struct Sprit return FALSE; } -bool8 MovementType_Invisible_Step2(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_Invisible_Step2(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - eventObject->singleMovementActive = 0; + objectEvent->singleMovementActive = 0; return FALSE; } -static void ClearEventObjectMovement(struct EventObject *eventObject, struct Sprite *sprite) +static void ClearObjectEventMovement(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - eventObject->singleMovementActive = 0; - eventObject->heldMovementActive = FALSE; - eventObject->heldMovementFinished = FALSE; - eventObject->movementActionId = 0xFF; + objectEvent->singleMovementActive = 0; + objectEvent->heldMovementActive = FALSE; + objectEvent->heldMovementFinished = FALSE; + objectEvent->movementActionId = 0xFF; sprite->data[1] = 0; } @@ -4620,11 +4619,11 @@ static const struct UnkStruct_085094AC *sub_8092A4C(const union AnimCmd *const * return NULL; } -void npc_apply_anim_looping(struct EventObject *eventObject, struct Sprite *sprite, u8 animNum) +void npc_apply_anim_looping(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 animNum) { const struct UnkStruct_085094AC *unk85094AC; - if (!eventObject->inanimate) + if (!objectEvent->inanimate) { sprite->animNum = animNum; unk85094AC = sub_8092A4C(sprite->anims); @@ -4643,11 +4642,11 @@ void npc_apply_anim_looping(struct EventObject *eventObject, struct Sprite *spri } } -void obj_npc_animation_step(struct EventObject *eventObject, struct Sprite *sprite, u8 animNum) +void obj_npc_animation_step(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 animNum) { const struct UnkStruct_085094AC *unk85094AC; - if (!eventObject->inanimate) + if (!objectEvent->inanimate) { u8 animPos; @@ -4684,13 +4683,13 @@ u8 GetDirectionToFace(s16 x1, s16 y1, s16 x2, s16 y2) return DIR_SOUTH; } -void SetTrainerMovementType(struct EventObject *eventObject, u8 movementType) +void SetTrainerMovementType(struct ObjectEvent *objectEvent, u8 movementType) { - eventObject->movementType = movementType; - eventObject->directionSequenceIndex = 0; - eventObject->playerCopyableMovement = 0; - gSprites[eventObject->spriteId].callback = sMovementTypeCallbacks[movementType]; - gSprites[eventObject->spriteId].data[1] = 0; + objectEvent->movementType = movementType; + objectEvent->directionSequenceIndex = 0; + objectEvent->playerCopyableMovement = 0; + gSprites[objectEvent->spriteId].callback = sMovementTypeCallbacks[movementType]; + gSprites[objectEvent->spriteId].data[1] = 0; } u8 GetTrainerFacingDirectionMovementType(u8 direction) @@ -4698,67 +4697,67 @@ u8 GetTrainerFacingDirectionMovementType(u8 direction) return gTrainerFacingDirectionMovementTypes[direction]; } -static u8 GetCollisionInDirection(struct EventObject *eventObject, u8 direction) +static u8 GetCollisionInDirection(struct ObjectEvent *objectEvent, u8 direction) { s16 x; s16 y; - x = eventObject->currentCoords.x; - y = eventObject->currentCoords.y; + x = objectEvent->currentCoords.x; + y = objectEvent->currentCoords.y; MoveCoords(direction, &x, &y); - return GetCollisionAtCoords(eventObject, x, y, direction); + return GetCollisionAtCoords(objectEvent, x, y, direction); } -u8 GetCollisionAtCoords(struct EventObject *eventObject, s16 x, s16 y, u32 dir) +u8 GetCollisionAtCoords(struct ObjectEvent *objectEvent, s16 x, s16 y, u32 dir) { u8 direction = dir; - if (IsCoordOutsideEventObjectMovementRange(eventObject, x, y)) + if (IsCoordOutsideObjectEventMovementRange(objectEvent, x, y)) return COLLISION_OUTSIDE_RANGE; - else if (MapGridIsImpassableAt(x, y) || GetMapBorderIdAt(x, y) == -1 || IsMetatileDirectionallyImpassable(eventObject, x, y, direction)) + else if (MapGridIsImpassableAt(x, y) || GetMapBorderIdAt(x, y) == -1 || IsMetatileDirectionallyImpassable(objectEvent, x, y, direction)) return COLLISION_IMPASSABLE; - else if (eventObject->trackedByCamera && !CanCameraMoveInDirection(direction)) + else if (objectEvent->trackedByCamera && !CanCameraMoveInDirection(direction)) return COLLISION_IMPASSABLE; - else if (IsZCoordMismatchAt(eventObject->currentElevation, x, y)) + else if (IsZCoordMismatchAt(objectEvent->currentElevation, x, y)) return COLLISION_ELEVATION_MISMATCH; - else if (DoesObjectCollideWithObjectAt(eventObject, x, y)) - return COLLISION_EVENT_OBJECT; + else if (DoesObjectCollideWithObjectAt(objectEvent, x, y)) + return COLLISION_OBJECT_EVENT; return COLLISION_NONE; } -u8 GetCollisionFlagsAtCoords(struct EventObject *eventObject, s16 x, s16 y, u8 direction) +u8 GetCollisionFlagsAtCoords(struct ObjectEvent *objectEvent, s16 x, s16 y, u8 direction) { u8 flags = 0; - if (IsCoordOutsideEventObjectMovementRange(eventObject, x, y)) + if (IsCoordOutsideObjectEventMovementRange(objectEvent, x, y)) flags |= 1; - if (MapGridIsImpassableAt(x, y) || GetMapBorderIdAt(x, y) == -1 || IsMetatileDirectionallyImpassable(eventObject, x, y, direction) || (eventObject->trackedByCamera && !CanCameraMoveInDirection(direction))) + if (MapGridIsImpassableAt(x, y) || GetMapBorderIdAt(x, y) == -1 || IsMetatileDirectionallyImpassable(objectEvent, x, y, direction) || (objectEvent->trackedByCamera && !CanCameraMoveInDirection(direction))) flags |= 2; - if (IsZCoordMismatchAt(eventObject->currentElevation, x, y)) + if (IsZCoordMismatchAt(objectEvent->currentElevation, x, y)) flags |= 4; - if (DoesObjectCollideWithObjectAt(eventObject, x, y)) + if (DoesObjectCollideWithObjectAt(objectEvent, x, y)) flags |= 8; return flags; } -static bool8 IsCoordOutsideEventObjectMovementRange(struct EventObject *eventObject, s16 x, s16 y) +static bool8 IsCoordOutsideObjectEventMovementRange(struct ObjectEvent *objectEvent, s16 x, s16 y) { s16 left; s16 right; s16 top; s16 bottom; - if (eventObject->range.as_nybbles.x != 0) + if (objectEvent->range.as_nybbles.x != 0) { - left = eventObject->initialCoords.x - eventObject->range.as_nybbles.x; - right = eventObject->initialCoords.x + eventObject->range.as_nybbles.x; + left = objectEvent->initialCoords.x - objectEvent->range.as_nybbles.x; + right = objectEvent->initialCoords.x + objectEvent->range.as_nybbles.x; if (left > x || right < x) { return TRUE; } } - if (eventObject->range.as_nybbles.y != 0) + if (objectEvent->range.as_nybbles.y != 0) { - top = eventObject->initialCoords.y - eventObject->range.as_nybbles.y; - bottom = eventObject->initialCoords.y + eventObject->range.as_nybbles.y; + top = objectEvent->initialCoords.y - objectEvent->range.as_nybbles.y; + bottom = objectEvent->initialCoords.y + objectEvent->range.as_nybbles.y; if (top > y || bottom < y) { return TRUE; @@ -4767,9 +4766,9 @@ static bool8 IsCoordOutsideEventObjectMovementRange(struct EventObject *eventObj return FALSE; } -static bool8 IsMetatileDirectionallyImpassable(struct EventObject *eventObject, s16 x, s16 y, u8 direction) +static bool8 IsMetatileDirectionallyImpassable(struct ObjectEvent *objectEvent, s16 x, s16 y, u8 direction) { - if (gOppositeDirectionBlockedMetatileFuncs[direction - 1](eventObject->currentMetatileBehavior) + if (gOppositeDirectionBlockedMetatileFuncs[direction - 1](objectEvent->currentMetatileBehavior) || gDirectionBlockedMetatileFuncs[direction - 1](MapGridGetMetatileBehaviorAt(x, y))) { return TRUE; @@ -4777,19 +4776,19 @@ static bool8 IsMetatileDirectionallyImpassable(struct EventObject *eventObject, return FALSE; } -static bool8 DoesObjectCollideWithObjectAt(struct EventObject *eventObject, s16 x, s16 y) +static bool8 DoesObjectCollideWithObjectAt(struct ObjectEvent *objectEvent, s16 x, s16 y) { u8 i; - struct EventObject *curObject; + struct ObjectEvent *curObject; - for (i = 0; i < EVENT_OBJECTS_COUNT; i++) + for (i = 0; i < OBJECT_EVENTS_COUNT; i++) { - curObject = &gEventObjects[i]; - if (curObject->active && curObject != eventObject) + curObject = &gObjectEvents[i]; + if (curObject->active && curObject != objectEvent) { if ((curObject->currentCoords.x == x && curObject->currentCoords.y == y) || (curObject->previousCoords.x == x && curObject->previousCoords.y == y)) { - if (AreZCoordsCompatible(eventObject->currentElevation, curObject->currentElevation)) + if (AreZCoordsCompatible(objectEvent->currentElevation, curObject->currentElevation)) { return TRUE; } @@ -4801,10 +4800,10 @@ static bool8 DoesObjectCollideWithObjectAt(struct EventObject *eventObject, s16 bool8 IsBerryTreeSparkling(u8 localId, u8 mapNum, u8 mapGroup) { - u8 eventObjectId; + u8 objectEventId; - if (!TryGetEventObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &eventObjectId) - && gSprites[gEventObjects[eventObjectId].spriteId].data[7] & 2) + if (!TryGetObjectEventIdByLocalIdAndMap(localId, mapNum, mapGroup, &objectEventId) + && gSprites[gObjectEvents[objectEventId].spriteId].data[7] & 2) { return TRUE; } @@ -4814,11 +4813,11 @@ bool8 IsBerryTreeSparkling(u8 localId, u8 mapNum, u8 mapGroup) void sub_8092EF0(u8 localId, u8 mapNum, u8 mapGroup) { - u8 eventObjectId; + u8 objectEventId; - if (!TryGetEventObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &eventObjectId)) + if (!TryGetObjectEventIdByLocalIdAndMap(localId, mapNum, mapGroup, &objectEventId)) { - gSprites[gEventObjects[eventObjectId].spriteId].data[7] |= 0x04; + gSprites[gObjectEvents[objectEventId].spriteId].data[7] |= 0x04; } } @@ -4884,7 +4883,7 @@ void sub_80930E0(s16 *x, s16 *y, s16 dx, s16 dy) *y += dy; } -static void GetEventObjectMovingCameraOffset(s16 *x, s16 *y) +static void GetObjectEventMovingCameraOffset(s16 *x, s16 *y) { *x = 0; *y = 0; @@ -4906,106 +4905,106 @@ static void GetEventObjectMovingCameraOffset(s16 *x, s16 *y) } } -void EventObjectMoveDestCoords(struct EventObject *eventObject, u32 direction, s16 *x, s16 *y) +void ObjectEventMoveDestCoords(struct ObjectEvent *objectEvent, u32 direction, s16 *x, s16 *y) { u8 newDirn = direction; - *x = eventObject->currentCoords.x; - *y = eventObject->currentCoords.y; + *x = objectEvent->currentCoords.x; + *y = objectEvent->currentCoords.y; MoveCoords(newDirn, x, y); } -bool8 EventObjectIsMovementOverridden(struct EventObject *eventObject) +bool8 ObjectEventIsMovementOverridden(struct ObjectEvent *objectEvent) { - if (eventObject->singleMovementActive || eventObject->heldMovementActive) + if (objectEvent->singleMovementActive || objectEvent->heldMovementActive) return TRUE; return FALSE; } -bool8 EventObjectIsHeldMovementActive(struct EventObject *eventObject) +bool8 ObjectEventIsHeldMovementActive(struct ObjectEvent *objectEvent) { - if (eventObject->heldMovementActive && eventObject->movementActionId != 0xFF) + if (objectEvent->heldMovementActive && objectEvent->movementActionId != 0xFF) return TRUE; return FALSE; } -bool8 EventObjectSetHeldMovement(struct EventObject *eventObject, u8 movementActionId) +bool8 ObjectEventSetHeldMovement(struct ObjectEvent *objectEvent, u8 movementActionId) { - if (EventObjectIsMovementOverridden(eventObject)) + if (ObjectEventIsMovementOverridden(objectEvent)) return TRUE; - UnfreezeEventObject(eventObject); - eventObject->movementActionId = movementActionId; - eventObject->heldMovementActive = TRUE; - eventObject->heldMovementFinished = FALSE; - gSprites[eventObject->spriteId].data[2] = 0; + UnfreezeObjectEvent(objectEvent); + objectEvent->movementActionId = movementActionId; + objectEvent->heldMovementActive = TRUE; + objectEvent->heldMovementFinished = FALSE; + gSprites[objectEvent->spriteId].data[2] = 0; return FALSE; } -void EventObjectForceSetHeldMovement(struct EventObject *eventObject, u8 movementActionId) +void ObjectEventForceSetHeldMovement(struct ObjectEvent *objectEvent, u8 movementActionId) { - EventObjectClearHeldMovementIfActive(eventObject); - EventObjectSetHeldMovement(eventObject, movementActionId); + ObjectEventClearHeldMovementIfActive(objectEvent); + ObjectEventSetHeldMovement(objectEvent, movementActionId); } -void EventObjectClearHeldMovementIfActive(struct EventObject *eventObject) +void ObjectEventClearHeldMovementIfActive(struct ObjectEvent *objectEvent) { - if (eventObject->heldMovementActive) - EventObjectClearHeldMovement(eventObject); + if (objectEvent->heldMovementActive) + ObjectEventClearHeldMovement(objectEvent); } -void EventObjectClearHeldMovement(struct EventObject *eventObject) +void ObjectEventClearHeldMovement(struct ObjectEvent *objectEvent) { - eventObject->movementActionId = 0xFF; - eventObject->heldMovementActive = FALSE; - eventObject->heldMovementFinished = FALSE; - gSprites[eventObject->spriteId].data[1] = 0; - gSprites[eventObject->spriteId].data[2] = 0; + objectEvent->movementActionId = 0xFF; + objectEvent->heldMovementActive = FALSE; + objectEvent->heldMovementFinished = FALSE; + gSprites[objectEvent->spriteId].data[1] = 0; + gSprites[objectEvent->spriteId].data[2] = 0; } -u8 EventObjectCheckHeldMovementStatus(struct EventObject *eventObject) +u8 ObjectEventCheckHeldMovementStatus(struct ObjectEvent *objectEvent) { - if (eventObject->heldMovementActive) - return eventObject->heldMovementFinished; + if (objectEvent->heldMovementActive) + return objectEvent->heldMovementFinished; return 16; } -u8 EventObjectClearHeldMovementIfFinished(struct EventObject *eventObject) +u8 ObjectEventClearHeldMovementIfFinished(struct ObjectEvent *objectEvent) { - u8 heldMovementStatus = EventObjectCheckHeldMovementStatus(eventObject); + u8 heldMovementStatus = ObjectEventCheckHeldMovementStatus(objectEvent); if (heldMovementStatus != 0 && heldMovementStatus != 16) - EventObjectClearHeldMovementIfActive(eventObject); + ObjectEventClearHeldMovementIfActive(objectEvent); return heldMovementStatus; } -u8 EventObjectGetHeldMovementActionId(struct EventObject *eventObject) +u8 ObjectEventGetHeldMovementActionId(struct ObjectEvent *objectEvent) { - if (eventObject->heldMovementActive) - return eventObject->movementActionId; + if (objectEvent->heldMovementActive) + return objectEvent->movementActionId; return 0xFF; } -void UpdateEventObjectCurrentMovement(struct EventObject *eventObject, struct Sprite *sprite, bool8 (*callback)(struct EventObject *, struct Sprite *)) +void UpdateObjectEventCurrentMovement(struct ObjectEvent *objectEvent, struct Sprite *sprite, bool8 (*callback)(struct ObjectEvent *, struct Sprite *)) { - DoGroundEffects_OnSpawn(eventObject, sprite); - TryEnableEventObjectAnim(eventObject, sprite); - if (EventObjectIsHeldMovementActive(eventObject)) + DoGroundEffects_OnSpawn(objectEvent, sprite); + TryEnableObjectEventAnim(objectEvent, sprite); + if (ObjectEventIsHeldMovementActive(objectEvent)) { - EventObjectExecHeldMovementAction(eventObject, sprite); + ObjectEventExecHeldMovementAction(objectEvent, sprite); } - else if (!eventObject->frozen) + else if (!objectEvent->frozen) { - while (callback(eventObject, sprite)); + while (callback(objectEvent, sprite)); } - DoGroundEffects_OnBeginStep(eventObject, sprite); - DoGroundEffects_OnFinishStep(eventObject, sprite); - UpdateEventObjectSpriteAnimPause(eventObject, sprite); - UpdateEventObjectVisibility(eventObject, sprite); - EventObjectUpdateSubpriority(eventObject, sprite); + DoGroundEffects_OnBeginStep(objectEvent, sprite); + DoGroundEffects_OnFinishStep(objectEvent, sprite); + UpdateObjectEventSpriteAnimPause(objectEvent, sprite); + UpdateObjectEventVisibility(objectEvent, sprite); + ObjectEventUpdateSubpriority(objectEvent, sprite); } #define dirn_to_anim(name, table)\ @@ -5037,9 +5036,9 @@ dirn_to_anim(GetWalkInPlaceNormalMovementAction, gWalkInPlaceNormalMovementActio dirn_to_anim(GetWalkInPlaceFastMovementAction, gWalkInPlaceFastMovementActions); dirn_to_anim(GetWalkInPlaceFastestMovementAction, gWalkInPlaceFastestMovementActions); -bool8 EventObjectFaceOppositeDirection(struct EventObject *eventObject, u8 direction) +bool8 ObjectEventFaceOppositeDirection(struct ObjectEvent *objectEvent, u8 direction) { - return EventObjectSetHeldMovement(eventObject, GetFaceDirectionMovementAction(GetOppositeDirection(direction))); + return ObjectEventSetHeldMovement(objectEvent, GetFaceDirectionMovementAction(GetOppositeDirection(direction))); } dirn_to_anim(GetAcroWheelieFaceDirectionMovementAction, gAcroWheelieFaceDirectionMovementActions); @@ -5086,154 +5085,154 @@ static u32 state_to_direction(u8 a0, u32 a1, u32 a2) return gUnknown_0850DC3F[a0 - 1][zffuOffset - 1]; } -static void EventObjectExecHeldMovementAction(struct EventObject *eventObject, struct Sprite *sprite) +static void ObjectEventExecHeldMovementAction(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (gMovementActionFuncs[eventObject->movementActionId][sprite->data[2]](eventObject, sprite)) + if (gMovementActionFuncs[objectEvent->movementActionId][sprite->data[2]](objectEvent, sprite)) { - eventObject->heldMovementFinished = TRUE; + objectEvent->heldMovementFinished = TRUE; } } -static bool8 EventObjectExecSingleMovementAction(struct EventObject *eventObject, struct Sprite *sprite) +static bool8 ObjectEventExecSingleMovementAction(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (gMovementActionFuncs[eventObject->movementActionId][sprite->data[2]](eventObject, sprite)) + if (gMovementActionFuncs[objectEvent->movementActionId][sprite->data[2]](objectEvent, sprite)) { - eventObject->movementActionId = 0xFF; + objectEvent->movementActionId = 0xFF; sprite->data[2] = 0; return TRUE; } return FALSE; } -static void EventObjectSetSingleMovement(struct EventObject *eventObject, struct Sprite *sprite, u8 animId) +static void ObjectEventSetSingleMovement(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 animId) { - eventObject->movementActionId = animId; + objectEvent->movementActionId = animId; sprite->data[2] = 0; } -static void FaceDirection(struct EventObject *eventObject, struct Sprite *sprite, u8 direction) +static void FaceDirection(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 direction) { - SetEventObjectDirection(eventObject, direction); - ShiftStillEventObjectCoords(eventObject); - obj_npc_animation_step(eventObject, sprite, GetMoveDirectionAnimNum(eventObject->facingDirection)); + SetObjectEventDirection(objectEvent, direction); + ShiftStillObjectEventCoords(objectEvent); + obj_npc_animation_step(objectEvent, sprite, GetMoveDirectionAnimNum(objectEvent->facingDirection)); sprite->animPaused = TRUE; sprite->data[2] = 1; } -bool8 MovementAction_FaceDown_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_FaceDown_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - FaceDirection(eventObject, sprite, DIR_SOUTH); + FaceDirection(objectEvent, sprite, DIR_SOUTH); return TRUE; } -bool8 MovementAction_FaceUp_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_FaceUp_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - FaceDirection(eventObject, sprite, DIR_NORTH); + FaceDirection(objectEvent, sprite, DIR_NORTH); return TRUE; } -bool8 MovementAction_FaceLeft_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_FaceLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - FaceDirection(eventObject, sprite, DIR_WEST); + FaceDirection(objectEvent, sprite, DIR_WEST); return TRUE; } -bool8 MovementAction_FaceRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_FaceRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - FaceDirection(eventObject, sprite, DIR_EAST); + FaceDirection(objectEvent, sprite, DIR_EAST); return TRUE; } -void npc_apply_direction(struct EventObject *eventObject, struct Sprite *sprite, u8 direction, u8 speed) +void npc_apply_direction(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 direction, u8 speed) { s16 x; s16 y; - x = eventObject->currentCoords.x; - y = eventObject->currentCoords.y; - SetEventObjectDirection(eventObject, direction); + x = objectEvent->currentCoords.x; + y = objectEvent->currentCoords.y; + SetObjectEventDirection(objectEvent, direction); MoveCoords(direction, &x, &y); - ShiftEventObjectCoords(eventObject, x, y); + ShiftObjectEventCoords(objectEvent, x, y); oamt_npc_ministep_reset(sprite, direction, speed); sprite->animPaused = FALSE; - if (gLockedAnimEventObjects != NULL && FindLockedEventObjectIndex(eventObject) != EVENT_OBJECTS_COUNT) + if (gLockedAnimObjectEvents != NULL && FindLockedObjectEventIndex(objectEvent) != OBJECT_EVENTS_COUNT) { sprite->animPaused = TRUE; } - eventObject->triggerGroundEffectsOnMove = TRUE; + objectEvent->triggerGroundEffectsOnMove = TRUE; sprite->data[2] = 1; } -void do_go_anim(struct EventObject *eventObject, struct Sprite *sprite, u8 direction, u8 speed) +void do_go_anim(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 direction, u8 speed) { u8 (*functions[ARRAY_COUNT(gUnknown_0850DEE8)])(u8); memcpy(functions, gUnknown_0850DEE8, sizeof gUnknown_0850DEE8); - npc_apply_direction(eventObject, sprite, direction, speed); - npc_apply_anim_looping(eventObject, sprite, functions[speed](eventObject->facingDirection)); + npc_apply_direction(objectEvent, sprite, direction, speed); + npc_apply_anim_looping(objectEvent, sprite, functions[speed](objectEvent->facingDirection)); } -void StartRunningAnim(struct EventObject *eventObject, struct Sprite *sprite, u8 direction) +void StartRunningAnim(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 direction) { - npc_apply_direction(eventObject, sprite, direction, 1); - npc_apply_anim_looping(eventObject, sprite, GetRunningDirectionAnimNum(eventObject->facingDirection)); + npc_apply_direction(objectEvent, sprite, direction, 1); + npc_apply_anim_looping(objectEvent, sprite, GetRunningDirectionAnimNum(objectEvent->facingDirection)); } -bool8 npc_obj_ministep_stop_on_arrival(struct EventObject *eventObject, struct Sprite *sprite) +bool8 npc_obj_ministep_stop_on_arrival(struct ObjectEvent *objectEvent, struct Sprite *sprite) { if (obj_npc_ministep(sprite)) { - ShiftStillEventObjectCoords(eventObject); - eventObject->triggerGroundEffectsOnStop = TRUE; + ShiftStillObjectEventCoords(objectEvent); + objectEvent->triggerGroundEffectsOnStop = TRUE; sprite->animPaused = TRUE; return TRUE; } return FALSE; } -void sub_8093AF0(struct EventObject *eventObject, struct Sprite *sprite, u8 direction) +void sub_8093AF0(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 direction) { s16 x; s16 y; - x = eventObject->currentCoords.x; - y = eventObject->currentCoords.y; - SetEventObjectDirection(eventObject, direction); + x = objectEvent->currentCoords.x; + y = objectEvent->currentCoords.y; + SetObjectEventDirection(objectEvent, direction); MoveCoords(direction, &x, &y); - ShiftEventObjectCoords(eventObject, x, y); + ShiftObjectEventCoords(objectEvent, x, y); sub_80976DC(sprite, direction); sprite->animPaused = FALSE; - eventObject->triggerGroundEffectsOnMove = TRUE; + objectEvent->triggerGroundEffectsOnMove = TRUE; sprite->data[2] = 1; } -void sub_8093B60(struct EventObject *eventObject, struct Sprite *sprite, u8 direction) +void sub_8093B60(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 direction) { - sub_8093AF0(eventObject, sprite, direction); - npc_apply_anim_looping(eventObject, sprite, GetMoveDirectionAnimNum(eventObject->facingDirection)); + sub_8093AF0(objectEvent, sprite, direction); + npc_apply_anim_looping(objectEvent, sprite, GetMoveDirectionAnimNum(objectEvent->facingDirection)); } -bool8 an_walk_any_2(struct EventObject *eventObject, struct Sprite *sprite) +bool8 an_walk_any_2(struct ObjectEvent *objectEvent, struct Sprite *sprite) { if (sub_80976EC(sprite)) { - ShiftStillEventObjectCoords(eventObject); - eventObject->triggerGroundEffectsOnStop = TRUE; + ShiftStillObjectEventCoords(objectEvent); + objectEvent->triggerGroundEffectsOnStop = TRUE; sprite->animPaused = TRUE; return TRUE; } return FALSE; } -bool8 MovementAction_WalkSlowDiagonalUpLeft_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_WalkSlowDiagonalUpLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_8093B60(eventObject, sprite, DIR_NORTHWEST); - return MovementAction_WalkSlowDiagonalUpLeft_Step1(eventObject, sprite); + sub_8093B60(objectEvent, sprite, DIR_NORTHWEST); + return MovementAction_WalkSlowDiagonalUpLeft_Step1(objectEvent, sprite); } -bool8 MovementAction_WalkSlowDiagonalUpLeft_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_WalkSlowDiagonalUpLeft_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (an_walk_any_2(eventObject, sprite)) + if (an_walk_any_2(objectEvent, sprite)) { sprite->data[2] = 2; return TRUE; @@ -5241,15 +5240,15 @@ bool8 MovementAction_WalkSlowDiagonalUpLeft_Step1(struct EventObject *eventObjec return FALSE; } -bool8 MovementAction_WalkSlowDiagonalUpRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_WalkSlowDiagonalUpRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_8093B60(eventObject, sprite, DIR_NORTHEAST); - return MovementAction_WalkSlowDiagonalUpRight_Step1(eventObject, sprite); + sub_8093B60(objectEvent, sprite, DIR_NORTHEAST); + return MovementAction_WalkSlowDiagonalUpRight_Step1(objectEvent, sprite); } -bool8 MovementAction_WalkSlowDiagonalUpRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_WalkSlowDiagonalUpRight_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (an_walk_any_2(eventObject, sprite)) + if (an_walk_any_2(objectEvent, sprite)) { sprite->data[2] = 2; return TRUE; @@ -5257,15 +5256,15 @@ bool8 MovementAction_WalkSlowDiagonalUpRight_Step1(struct EventObject *eventObje return FALSE; } -bool8 MovementAction_WalkSlowDiagonalDownLeft_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_WalkSlowDiagonalDownLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_8093B60(eventObject, sprite, DIR_SOUTHWEST); - return MovementAction_WalkSlowDiagonalDownLeft_Step1(eventObject, sprite); + sub_8093B60(objectEvent, sprite, DIR_SOUTHWEST); + return MovementAction_WalkSlowDiagonalDownLeft_Step1(objectEvent, sprite); } -bool8 MovementAction_WalkSlowDiagonalDownLeft_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_WalkSlowDiagonalDownLeft_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (an_walk_any_2(eventObject, sprite)) + if (an_walk_any_2(objectEvent, sprite)) { sprite->data[2] = 2; return TRUE; @@ -5273,15 +5272,15 @@ bool8 MovementAction_WalkSlowDiagonalDownLeft_Step1(struct EventObject *eventObj return FALSE; } -bool8 MovementAction_WalkSlowDiagonalDownRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_WalkSlowDiagonalDownRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_8093B60(eventObject, sprite, DIR_SOUTHEAST); - return MovementAction_WalkSlowDiagonalDownRight_Step1(eventObject, sprite); + sub_8093B60(objectEvent, sprite, DIR_SOUTHEAST); + return MovementAction_WalkSlowDiagonalDownRight_Step1(objectEvent, sprite); } -bool8 MovementAction_WalkSlowDiagonalDownRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_WalkSlowDiagonalDownRight_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (an_walk_any_2(eventObject, sprite)) + if (an_walk_any_2(objectEvent, sprite)) { sprite->data[2] = 2; return TRUE; @@ -5289,15 +5288,15 @@ bool8 MovementAction_WalkSlowDiagonalDownRight_Step1(struct EventObject *eventOb return FALSE; } -bool8 MovementAction_WalkSlowDown_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_WalkSlowDown_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_8093B60(eventObject, sprite, DIR_SOUTH); - return MovementAction_WalkSlowDown_Step1(eventObject, sprite); + sub_8093B60(objectEvent, sprite, DIR_SOUTH); + return MovementAction_WalkSlowDown_Step1(objectEvent, sprite); } -bool8 MovementAction_WalkSlowDown_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_WalkSlowDown_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (an_walk_any_2(eventObject, sprite)) + if (an_walk_any_2(objectEvent, sprite)) { sprite->data[2] = 2; return TRUE; @@ -5305,15 +5304,15 @@ bool8 MovementAction_WalkSlowDown_Step1(struct EventObject *eventObject, struct return FALSE; } -bool8 MovementAction_WalkSlowUp_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_WalkSlowUp_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_8093B60(eventObject, sprite, DIR_NORTH); - return MovementAction_WalkSlowUp_Step1(eventObject, sprite); + sub_8093B60(objectEvent, sprite, DIR_NORTH); + return MovementAction_WalkSlowUp_Step1(objectEvent, sprite); } -bool8 MovementAction_WalkSlowUp_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_WalkSlowUp_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (an_walk_any_2(eventObject, sprite)) + if (an_walk_any_2(objectEvent, sprite)) { sprite->data[2] = 2; return TRUE; @@ -5321,15 +5320,15 @@ bool8 MovementAction_WalkSlowUp_Step1(struct EventObject *eventObject, struct Sp return FALSE; } -bool8 MovementAction_WalkSlowLeft_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_WalkSlowLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_8093B60(eventObject, sprite, DIR_WEST); - return MovementAction_WalkSlowLeft_Step1(eventObject, sprite); + sub_8093B60(objectEvent, sprite, DIR_WEST); + return MovementAction_WalkSlowLeft_Step1(objectEvent, sprite); } -bool8 MovementAction_WalkSlowLeft_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_WalkSlowLeft_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (an_walk_any_2(eventObject, sprite)) + if (an_walk_any_2(objectEvent, sprite)) { sprite->data[2] = 2; return TRUE; @@ -5337,15 +5336,15 @@ bool8 MovementAction_WalkSlowLeft_Step1(struct EventObject *eventObject, struct return FALSE; } -bool8 MovementAction_WalkSlowRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_WalkSlowRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_8093B60(eventObject, sprite, DIR_EAST); - return MovementAction_WalkSlowRight_Step1(eventObject, sprite); + sub_8093B60(objectEvent, sprite, DIR_EAST); + return MovementAction_WalkSlowRight_Step1(objectEvent, sprite); } -bool8 MovementAction_WalkSlowRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_WalkSlowRight_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (an_walk_any_2(eventObject, sprite)) + if (an_walk_any_2(objectEvent, sprite)) { sprite->data[2] = 2; return TRUE; @@ -5353,15 +5352,15 @@ bool8 MovementAction_WalkSlowRight_Step1(struct EventObject *eventObject, struct return FALSE; } -bool8 MovementAction_WalkNormalDiagonalUpLeft_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_WalkNormalDiagonalUpLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - do_go_anim(eventObject, sprite, DIR_NORTHWEST, 0); - return MovementAction_WalkNormalDiagonalUpLeft_Step1(eventObject, sprite); + do_go_anim(objectEvent, sprite, DIR_NORTHWEST, 0); + return MovementAction_WalkNormalDiagonalUpLeft_Step1(objectEvent, sprite); } -bool8 MovementAction_WalkNormalDiagonalUpLeft_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_WalkNormalDiagonalUpLeft_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) + if (npc_obj_ministep_stop_on_arrival(objectEvent, sprite)) { sprite->data[2] = 2; return TRUE; @@ -5369,15 +5368,15 @@ bool8 MovementAction_WalkNormalDiagonalUpLeft_Step1(struct EventObject *eventObj return FALSE; } -bool8 MovementAction_WalkNormalDiagonalUpRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_WalkNormalDiagonalUpRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - do_go_anim(eventObject, sprite, DIR_NORTHEAST, 0); - return MovementAction_WalkNormalDiagonalUpRight_Step1(eventObject, sprite); + do_go_anim(objectEvent, sprite, DIR_NORTHEAST, 0); + return MovementAction_WalkNormalDiagonalUpRight_Step1(objectEvent, sprite); } -bool8 MovementAction_WalkNormalDiagonalUpRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_WalkNormalDiagonalUpRight_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) + if (npc_obj_ministep_stop_on_arrival(objectEvent, sprite)) { sprite->data[2] = 2; return TRUE; @@ -5385,15 +5384,15 @@ bool8 MovementAction_WalkNormalDiagonalUpRight_Step1(struct EventObject *eventOb return FALSE; } -bool8 MovementAction_WalkNormalDiagonalDownLeft_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_WalkNormalDiagonalDownLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - do_go_anim(eventObject, sprite, DIR_SOUTHWEST, 0); - return MovementAction_WalkNormalDiagonalDownLeft_Step1(eventObject, sprite); + do_go_anim(objectEvent, sprite, DIR_SOUTHWEST, 0); + return MovementAction_WalkNormalDiagonalDownLeft_Step1(objectEvent, sprite); } -bool8 MovementAction_WalkNormalDiagonalDownLeft_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_WalkNormalDiagonalDownLeft_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) + if (npc_obj_ministep_stop_on_arrival(objectEvent, sprite)) { sprite->data[2] = 2; return TRUE; @@ -5401,15 +5400,15 @@ bool8 MovementAction_WalkNormalDiagonalDownLeft_Step1(struct EventObject *eventO return FALSE; } -bool8 MovementAction_WalkNormalDiagonalDownRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_WalkNormalDiagonalDownRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - do_go_anim(eventObject, sprite, DIR_SOUTHEAST, 0); - return MovementAction_WalkNormalDiagonalDownRight_Step1(eventObject, sprite); + do_go_anim(objectEvent, sprite, DIR_SOUTHEAST, 0); + return MovementAction_WalkNormalDiagonalDownRight_Step1(objectEvent, sprite); } -bool8 MovementAction_WalkNormalDiagonalDownRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_WalkNormalDiagonalDownRight_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) + if (npc_obj_ministep_stop_on_arrival(objectEvent, sprite)) { sprite->data[2] = 2; return TRUE; @@ -5417,15 +5416,15 @@ bool8 MovementAction_WalkNormalDiagonalDownRight_Step1(struct EventObject *event return FALSE; } -bool8 MovementAction_WalkNormalDown_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_WalkNormalDown_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - do_go_anim(eventObject, sprite, DIR_SOUTH, 0); - return MovementAction_WalkNormalDown_Step1(eventObject, sprite); + do_go_anim(objectEvent, sprite, DIR_SOUTH, 0); + return MovementAction_WalkNormalDown_Step1(objectEvent, sprite); } -bool8 MovementAction_WalkNormalDown_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_WalkNormalDown_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) + if (npc_obj_ministep_stop_on_arrival(objectEvent, sprite)) { sprite->data[2] = 2; return TRUE; @@ -5433,15 +5432,15 @@ bool8 MovementAction_WalkNormalDown_Step1(struct EventObject *eventObject, struc return FALSE; } -bool8 MovementAction_WalkNormalUp_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_WalkNormalUp_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - do_go_anim(eventObject, sprite, DIR_NORTH, 0); - return MovementAction_WalkNormalUp_Step1(eventObject, sprite); + do_go_anim(objectEvent, sprite, DIR_NORTH, 0); + return MovementAction_WalkNormalUp_Step1(objectEvent, sprite); } -bool8 MovementAction_WalkNormalUp_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_WalkNormalUp_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) + if (npc_obj_ministep_stop_on_arrival(objectEvent, sprite)) { sprite->data[2] = 2; return TRUE; @@ -5449,15 +5448,15 @@ bool8 MovementAction_WalkNormalUp_Step1(struct EventObject *eventObject, struct return FALSE; } -bool8 MovementAction_WalkNormalLeft_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_WalkNormalLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - do_go_anim(eventObject, sprite, DIR_WEST, 0); - return MovementAction_WalkNormalLeft_Step1(eventObject, sprite); + do_go_anim(objectEvent, sprite, DIR_WEST, 0); + return MovementAction_WalkNormalLeft_Step1(objectEvent, sprite); } -bool8 MovementAction_WalkNormalLeft_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_WalkNormalLeft_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) + if (npc_obj_ministep_stop_on_arrival(objectEvent, sprite)) { sprite->data[2] = 2; return TRUE; @@ -5465,15 +5464,15 @@ bool8 MovementAction_WalkNormalLeft_Step1(struct EventObject *eventObject, struc return FALSE; } -bool8 MovementAction_WalkNormalRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_WalkNormalRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - do_go_anim(eventObject, sprite, DIR_EAST, 0); - return MovementAction_WalkNormalRight_Step1(eventObject, sprite); + do_go_anim(objectEvent, sprite, DIR_EAST, 0); + return MovementAction_WalkNormalRight_Step1(objectEvent, sprite); } -bool8 MovementAction_WalkNormalRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_WalkNormalRight_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) + if (npc_obj_ministep_stop_on_arrival(objectEvent, sprite)) { sprite->data[2] = 2; return TRUE; @@ -5481,7 +5480,7 @@ bool8 MovementAction_WalkNormalRight_Step1(struct EventObject *eventObject, stru return FALSE; } -void sub_8093FC4(struct EventObject *eventObject, struct Sprite *sprite, u8 direction, u8 speed, u8 a5) +void sub_8093FC4(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 direction, u8 speed, u8 a5) { s16 displacements[ARRAY_COUNT(gUnknown_0850DFBC)]; s16 x; @@ -5490,24 +5489,24 @@ void sub_8093FC4(struct EventObject *eventObject, struct Sprite *sprite, u8 dire memcpy(displacements, gUnknown_0850DFBC, sizeof gUnknown_0850DFBC); x = 0; y = 0; - SetEventObjectDirection(eventObject, direction); + SetObjectEventDirection(objectEvent, direction); MoveCoordsInDirection(direction, &x, &y, displacements[speed], displacements[speed]); - ShiftEventObjectCoords(eventObject, eventObject->currentCoords.x + x, eventObject->currentCoords.y + y); + ShiftObjectEventCoords(objectEvent, objectEvent->currentCoords.x + x, objectEvent->currentCoords.y + y); sub_809783C(sprite, direction, speed, a5); sprite->data[2] = 1; sprite->animPaused = 0; - eventObject->triggerGroundEffectsOnMove = 1; - eventObject->disableCoveringGroundEffects = 1; + objectEvent->triggerGroundEffectsOnMove = 1; + objectEvent->disableCoveringGroundEffects = 1; } -void maybe_shadow_1(struct EventObject *eventObject, struct Sprite *sprite, u8 direction, u8 speed, u8 a4) +void maybe_shadow_1(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 direction, u8 speed, u8 a4) { - sub_8093FC4(eventObject, sprite, direction, speed, a4); - npc_apply_anim_looping(eventObject, sprite, GetMoveDirectionAnimNum(eventObject->facingDirection)); - DoShadowFieldEffect(eventObject); + sub_8093FC4(objectEvent, sprite, direction, speed, a4); + npc_apply_anim_looping(objectEvent, sprite, GetMoveDirectionAnimNum(objectEvent->facingDirection)); + DoShadowFieldEffect(objectEvent); } -u8 sub_80940C4(struct EventObject *eventObject, struct Sprite *sprite, u8 callback(struct Sprite *)) +u8 sub_80940C4(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 callback(struct Sprite *)) { s16 displacements[ARRAY_COUNT(gUnknown_0850DFC2)]; s16 x; @@ -5520,125 +5519,125 @@ u8 sub_80940C4(struct EventObject *eventObject, struct Sprite *sprite, u8 callba { x = 0; y = 0; - MoveCoordsInDirection(eventObject->movementDirection, &x, &y, displacements[sprite->data[4]], displacements[sprite->data[4]]); - ShiftEventObjectCoords(eventObject, eventObject->currentCoords.x + x, eventObject->currentCoords.y + y); - eventObject->triggerGroundEffectsOnMove = TRUE; - eventObject->disableCoveringGroundEffects = TRUE; + MoveCoordsInDirection(objectEvent->movementDirection, &x, &y, displacements[sprite->data[4]], displacements[sprite->data[4]]); + ShiftObjectEventCoords(objectEvent, objectEvent->currentCoords.x + x, objectEvent->currentCoords.y + y); + objectEvent->triggerGroundEffectsOnMove = TRUE; + objectEvent->disableCoveringGroundEffects = TRUE; } else if (result == 0xFF) { - ShiftStillEventObjectCoords(eventObject); - eventObject->triggerGroundEffectsOnStop = TRUE; - eventObject->landingJump = TRUE; + ShiftStillObjectEventCoords(objectEvent); + objectEvent->triggerGroundEffectsOnStop = TRUE; + objectEvent->landingJump = TRUE; sprite->animPaused = TRUE; } return result; } -u8 sub_8094188(struct EventObject *eventObject, struct Sprite *sprite) +u8 sub_8094188(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - return sub_80940C4(eventObject, sprite, sub_809785C); + return sub_80940C4(objectEvent, sprite, sub_809785C); } -u8 sub_809419C(struct EventObject *eventObject, struct Sprite *sprite) +u8 sub_809419C(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - return sub_80940C4(eventObject, sprite, sub_80978E4); + return sub_80940C4(objectEvent, sprite, sub_80978E4); } -bool8 sub_80941B0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 sub_80941B0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (sub_8094188(eventObject, sprite) == 0xFF) + if (sub_8094188(objectEvent, sprite) == 0xFF) { return TRUE; } return FALSE; } -bool8 sub_80941C8(struct EventObject *eventObject, struct Sprite *sprite) +bool8 sub_80941C8(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (sub_809419C(eventObject, sprite) == 0xFF) + if (sub_809419C(objectEvent, sprite) == 0xFF) { return TRUE; } return FALSE; } -bool8 sub_80941E0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 sub_80941E0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - switch (sub_8094188(eventObject, sprite)) + switch (sub_8094188(objectEvent, sprite)) { case 255: return TRUE; case 1: - SetEventObjectDirection(eventObject, GetOppositeDirection(eventObject->movementDirection)); - obj_npc_animation_step(eventObject, sprite, GetMoveDirectionAnimNum(eventObject->facingDirection)); + SetObjectEventDirection(objectEvent, GetOppositeDirection(objectEvent->movementDirection)); + obj_npc_animation_step(objectEvent, sprite, GetMoveDirectionAnimNum(objectEvent->facingDirection)); default: return FALSE; } } -bool8 MovementAction_Jump2Down_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_Jump2Down_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - maybe_shadow_1(eventObject, sprite, DIR_SOUTH, 2, 0); - return MovementAction_Jump2Down_Step1(eventObject, sprite); + maybe_shadow_1(objectEvent, sprite, DIR_SOUTH, 2, 0); + return MovementAction_Jump2Down_Step1(objectEvent, sprite); } -bool8 MovementAction_Jump2Down_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_Jump2Down_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (sub_80941B0(eventObject, sprite)) + if (sub_80941B0(objectEvent, sprite)) { - eventObject->hasShadow = FALSE; + objectEvent->hasShadow = FALSE; sprite->data[2] = 2; return TRUE; } return FALSE; } -bool8 MovementAction_Jump2Up_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_Jump2Up_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - maybe_shadow_1(eventObject, sprite, DIR_NORTH, 2, 0); - return MovementAction_Jump2Up_Step1(eventObject, sprite); + maybe_shadow_1(objectEvent, sprite, DIR_NORTH, 2, 0); + return MovementAction_Jump2Up_Step1(objectEvent, sprite); } -bool8 MovementAction_Jump2Up_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_Jump2Up_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (sub_80941B0(eventObject, sprite)) + if (sub_80941B0(objectEvent, sprite)) { - eventObject->hasShadow = FALSE; + objectEvent->hasShadow = FALSE; sprite->data[2] = 2; return TRUE; } return FALSE; } -bool8 MovementAction_Jump2Left_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_Jump2Left_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - maybe_shadow_1(eventObject, sprite, DIR_WEST, 2, 0); - return MovementAction_Jump2Left_Step1(eventObject, sprite); + maybe_shadow_1(objectEvent, sprite, DIR_WEST, 2, 0); + return MovementAction_Jump2Left_Step1(objectEvent, sprite); } -bool8 MovementAction_Jump2Left_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_Jump2Left_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (sub_80941B0(eventObject, sprite)) + if (sub_80941B0(objectEvent, sprite)) { - eventObject->hasShadow = FALSE; + objectEvent->hasShadow = FALSE; sprite->data[2] = 2; return TRUE; } return FALSE; } -bool8 MovementAction_Jump2Right_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_Jump2Right_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - maybe_shadow_1(eventObject, sprite, DIR_EAST, 2, 0); - return MovementAction_Jump2Right_Step1(eventObject, sprite); + maybe_shadow_1(objectEvent, sprite, DIR_EAST, 2, 0); + return MovementAction_Jump2Right_Step1(objectEvent, sprite); } -bool8 MovementAction_Jump2Right_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_Jump2Right_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (sub_80941B0(eventObject, sprite)) + if (sub_80941B0(objectEvent, sprite)) { - eventObject->hasShadow = FALSE; + objectEvent->hasShadow = FALSE; sprite->data[2] = 2; return TRUE; } @@ -5652,7 +5651,7 @@ void sub_8094390(struct Sprite *sprite, u16 duration) sprite->data[3] = duration; } -bool8 MovementAction_Delay_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_Delay_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { if (-- sprite->data[3] == 0) { @@ -5662,45 +5661,45 @@ bool8 MovementAction_Delay_Step1(struct EventObject *eventObject, struct Sprite return FALSE; } -bool8 MovementAction_Delay1_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_Delay1_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { sub_8094390(sprite, 1); - return MovementAction_Delay_Step1(eventObject, sprite); + return MovementAction_Delay_Step1(objectEvent, sprite); } -bool8 MovementAction_Delay2_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_Delay2_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { sub_8094390(sprite, 2); - return MovementAction_Delay_Step1(eventObject, sprite); + return MovementAction_Delay_Step1(objectEvent, sprite); } -bool8 MovementAction_Delay4_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_Delay4_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { sub_8094390(sprite, 4); - return MovementAction_Delay_Step1(eventObject, sprite); + return MovementAction_Delay_Step1(objectEvent, sprite); } -bool8 MovementAction_Delay8_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_Delay8_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { sub_8094390(sprite, 8); - return MovementAction_Delay_Step1(eventObject, sprite); + return MovementAction_Delay_Step1(objectEvent, sprite); } -bool8 MovementAction_Delay16_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_Delay16_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { sub_8094390(sprite, 16); - return MovementAction_Delay_Step1(eventObject, sprite); + return MovementAction_Delay_Step1(objectEvent, sprite); } -bool8 MovementAction_WalkFastDown_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_WalkFastDown_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - do_go_anim(eventObject, sprite, DIR_SOUTH, 1); - return MovementAction_WalkFastDown_Step1(eventObject, sprite); + do_go_anim(objectEvent, sprite, DIR_SOUTH, 1); + return MovementAction_WalkFastDown_Step1(objectEvent, sprite); } -bool8 MovementAction_WalkFastDown_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_WalkFastDown_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) + if (npc_obj_ministep_stop_on_arrival(objectEvent, sprite)) { sprite->data[2] = 2; return TRUE; @@ -5708,15 +5707,15 @@ bool8 MovementAction_WalkFastDown_Step1(struct EventObject *eventObject, struct return FALSE; } -bool8 MovementAction_WalkFastUp_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_WalkFastUp_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - do_go_anim(eventObject, sprite, DIR_NORTH, 1); - return MovementAction_WalkFastUp_Step1(eventObject, sprite); + do_go_anim(objectEvent, sprite, DIR_NORTH, 1); + return MovementAction_WalkFastUp_Step1(objectEvent, sprite); } -bool8 MovementAction_WalkFastUp_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_WalkFastUp_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) + if (npc_obj_ministep_stop_on_arrival(objectEvent, sprite)) { sprite->data[2] = 2; return TRUE; @@ -5724,15 +5723,15 @@ bool8 MovementAction_WalkFastUp_Step1(struct EventObject *eventObject, struct Sp return FALSE; } -bool8 MovementAction_WalkFastLeft_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_WalkFastLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - do_go_anim(eventObject, sprite, DIR_WEST, 1); - return MovementAction_WalkFastLeft_Step1(eventObject, sprite); + do_go_anim(objectEvent, sprite, DIR_WEST, 1); + return MovementAction_WalkFastLeft_Step1(objectEvent, sprite); } -bool8 MovementAction_WalkFastLeft_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_WalkFastLeft_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) + if (npc_obj_ministep_stop_on_arrival(objectEvent, sprite)) { sprite->data[2] = 2; return TRUE; @@ -5740,15 +5739,15 @@ bool8 MovementAction_WalkFastLeft_Step1(struct EventObject *eventObject, struct return FALSE; } -bool8 MovementAction_WalkFastRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_WalkFastRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - do_go_anim(eventObject, sprite, DIR_EAST, 1); - return MovementAction_WalkFastRight_Step1(eventObject, sprite); + do_go_anim(objectEvent, sprite, DIR_EAST, 1); + return MovementAction_WalkFastRight_Step1(objectEvent, sprite); } -bool8 MovementAction_WalkFastRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_WalkFastRight_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) + if (npc_obj_ministep_stop_on_arrival(objectEvent, sprite)) { sprite->data[2] = 2; return TRUE; @@ -5757,16 +5756,16 @@ bool8 MovementAction_WalkFastRight_Step1(struct EventObject *eventObject, struct } -void sub_8094554(struct EventObject *eventObject, struct Sprite *sprite, u8 direction, u8 animNum, u16 duration) +void sub_8094554(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 direction, u8 animNum, u16 duration) { - SetEventObjectDirection(eventObject, direction); - npc_apply_anim_looping(eventObject, sprite, animNum); + SetObjectEventDirection(objectEvent, direction); + npc_apply_anim_looping(objectEvent, sprite, animNum); sprite->animPaused = FALSE; sprite->data[2] = 1; sprite->data[3] = duration; } -bool8 MovementAction_WalkInPlace_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_WalkInPlace_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { if (-- sprite->data[3] == 0) { @@ -5777,120 +5776,120 @@ bool8 MovementAction_WalkInPlace_Step1(struct EventObject *eventObject, struct S return FALSE; } -bool8 MovementAction_WalkInPlaceSlow_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_WalkInPlaceSlow_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { if (sprite->data[3] & 1) { sprite->animDelayCounter++; } - return MovementAction_WalkInPlace_Step1(eventObject, sprite); + return MovementAction_WalkInPlace_Step1(objectEvent, sprite); } -bool8 MovementAction_WalkInPlaceSlowDown_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_WalkInPlaceSlowDown_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_8094554(eventObject, sprite, DIR_SOUTH, GetMoveDirectionAnimNum(DIR_SOUTH), 32); - return MovementAction_WalkInPlaceSlow_Step1(eventObject, sprite); + sub_8094554(objectEvent, sprite, DIR_SOUTH, GetMoveDirectionAnimNum(DIR_SOUTH), 32); + return MovementAction_WalkInPlaceSlow_Step1(objectEvent, sprite); } -bool8 MovementAction_WalkInPlaceSlowUp_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_WalkInPlaceSlowUp_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_8094554(eventObject, sprite, DIR_NORTH, GetMoveDirectionAnimNum(DIR_NORTH), 32); - return MovementAction_WalkInPlaceSlow_Step1(eventObject, sprite); + sub_8094554(objectEvent, sprite, DIR_NORTH, GetMoveDirectionAnimNum(DIR_NORTH), 32); + return MovementAction_WalkInPlaceSlow_Step1(objectEvent, sprite); } -bool8 MovementAction_WalkInPlaceSlowLeft_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_WalkInPlaceSlowLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_8094554(eventObject, sprite, DIR_WEST, GetMoveDirectionAnimNum(DIR_WEST), 32); - return MovementAction_WalkInPlaceSlow_Step1(eventObject, sprite); + sub_8094554(objectEvent, sprite, DIR_WEST, GetMoveDirectionAnimNum(DIR_WEST), 32); + return MovementAction_WalkInPlaceSlow_Step1(objectEvent, sprite); } -bool8 MovementAction_WalkInPlaceSlowRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_WalkInPlaceSlowRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_8094554(eventObject, sprite, DIR_EAST, GetMoveDirectionAnimNum(DIR_EAST), 32); - return MovementAction_WalkInPlaceSlow_Step1(eventObject, sprite); + sub_8094554(objectEvent, sprite, DIR_EAST, GetMoveDirectionAnimNum(DIR_EAST), 32); + return MovementAction_WalkInPlaceSlow_Step1(objectEvent, sprite); } -bool8 MovementAction_WalkInPlaceNormalDown_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_WalkInPlaceNormalDown_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_8094554(eventObject, sprite, DIR_SOUTH, GetMoveDirectionAnimNum(DIR_SOUTH), 16); - return MovementAction_WalkInPlace_Step1(eventObject, sprite); + sub_8094554(objectEvent, sprite, DIR_SOUTH, GetMoveDirectionAnimNum(DIR_SOUTH), 16); + return MovementAction_WalkInPlace_Step1(objectEvent, sprite); } -bool8 MovementAction_WalkInPlaceNormalUp_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_WalkInPlaceNormalUp_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_8094554(eventObject, sprite, DIR_NORTH, GetMoveDirectionAnimNum(DIR_NORTH), 16); - return MovementAction_WalkInPlace_Step1(eventObject, sprite); + sub_8094554(objectEvent, sprite, DIR_NORTH, GetMoveDirectionAnimNum(DIR_NORTH), 16); + return MovementAction_WalkInPlace_Step1(objectEvent, sprite); } -bool8 MovementAction_WalkInPlaceNormalLeft_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_WalkInPlaceNormalLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_8094554(eventObject, sprite, DIR_WEST, GetMoveDirectionAnimNum(DIR_WEST), 16); - return MovementAction_WalkInPlace_Step1(eventObject, sprite); + sub_8094554(objectEvent, sprite, DIR_WEST, GetMoveDirectionAnimNum(DIR_WEST), 16); + return MovementAction_WalkInPlace_Step1(objectEvent, sprite); } -bool8 MovementAction_WalkInPlaceNormalRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_WalkInPlaceNormalRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_8094554(eventObject, sprite, DIR_EAST, GetMoveDirectionAnimNum(DIR_EAST), 16); - return MovementAction_WalkInPlace_Step1(eventObject, sprite); + sub_8094554(objectEvent, sprite, DIR_EAST, GetMoveDirectionAnimNum(DIR_EAST), 16); + return MovementAction_WalkInPlace_Step1(objectEvent, sprite); } -bool8 MovementAction_WalkInPlaceFastDown_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_WalkInPlaceFastDown_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_8094554(eventObject, sprite, DIR_SOUTH, GetMoveDirectionFastAnimNum(DIR_SOUTH), 8); - return MovementAction_WalkInPlace_Step1(eventObject, sprite); + sub_8094554(objectEvent, sprite, DIR_SOUTH, GetMoveDirectionFastAnimNum(DIR_SOUTH), 8); + return MovementAction_WalkInPlace_Step1(objectEvent, sprite); } -bool8 MovementAction_WalkInPlaceFastUp_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_WalkInPlaceFastUp_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_8094554(eventObject, sprite, DIR_NORTH, GetMoveDirectionFastAnimNum(DIR_NORTH), 8); - return MovementAction_WalkInPlace_Step1(eventObject, sprite); + sub_8094554(objectEvent, sprite, DIR_NORTH, GetMoveDirectionFastAnimNum(DIR_NORTH), 8); + return MovementAction_WalkInPlace_Step1(objectEvent, sprite); } -bool8 MovementAction_WalkInPlaceFastLeft_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_WalkInPlaceFastLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_8094554(eventObject, sprite, DIR_WEST, GetMoveDirectionFastAnimNum(DIR_WEST), 8); - return MovementAction_WalkInPlace_Step1(eventObject, sprite); + sub_8094554(objectEvent, sprite, DIR_WEST, GetMoveDirectionFastAnimNum(DIR_WEST), 8); + return MovementAction_WalkInPlace_Step1(objectEvent, sprite); } -bool8 MovementAction_WalkInPlaceFastRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_WalkInPlaceFastRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_8094554(eventObject, sprite, DIR_EAST, GetMoveDirectionFastAnimNum(DIR_EAST), 8); - return MovementAction_WalkInPlace_Step1(eventObject, sprite); + sub_8094554(objectEvent, sprite, DIR_EAST, GetMoveDirectionFastAnimNum(DIR_EAST), 8); + return MovementAction_WalkInPlace_Step1(objectEvent, sprite); } -bool8 MovementAction_WalkInPlaceFastestDown_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_WalkInPlaceFastestDown_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_8094554(eventObject, sprite, DIR_SOUTH, GetMoveDirectionFasterAnimNum(DIR_SOUTH), 4); - return MovementAction_WalkInPlace_Step1(eventObject, sprite); + sub_8094554(objectEvent, sprite, DIR_SOUTH, GetMoveDirectionFasterAnimNum(DIR_SOUTH), 4); + return MovementAction_WalkInPlace_Step1(objectEvent, sprite); } -bool8 MovementAction_WalkInPlaceFastestUp_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_WalkInPlaceFastestUp_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_8094554(eventObject, sprite, DIR_NORTH, GetMoveDirectionFasterAnimNum(DIR_NORTH), 4); - return MovementAction_WalkInPlace_Step1(eventObject, sprite); + sub_8094554(objectEvent, sprite, DIR_NORTH, GetMoveDirectionFasterAnimNum(DIR_NORTH), 4); + return MovementAction_WalkInPlace_Step1(objectEvent, sprite); } -bool8 MovementAction_WalkInPlaceFastestLeft_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_WalkInPlaceFastestLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_8094554(eventObject, sprite, DIR_WEST, GetMoveDirectionFasterAnimNum(DIR_WEST), 4); - return MovementAction_WalkInPlace_Step1(eventObject, sprite); + sub_8094554(objectEvent, sprite, DIR_WEST, GetMoveDirectionFasterAnimNum(DIR_WEST), 4); + return MovementAction_WalkInPlace_Step1(objectEvent, sprite); } -bool8 MovementAction_WalkInPlaceFastestRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_WalkInPlaceFastestRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_8094554(eventObject, sprite, DIR_EAST, GetMoveDirectionFasterAnimNum(DIR_EAST), 4); - return MovementAction_WalkInPlace_Step1(eventObject, sprite); + sub_8094554(objectEvent, sprite, DIR_EAST, GetMoveDirectionFasterAnimNum(DIR_EAST), 4); + return MovementAction_WalkInPlace_Step1(objectEvent, sprite); } -bool8 MovementAction_RideWaterCurrentDown_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_RideWaterCurrentDown_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - do_go_anim(eventObject, sprite, DIR_SOUTH, 2); - return MovementAction_RideWaterCurrentDown_Step1(eventObject, sprite); + do_go_anim(objectEvent, sprite, DIR_SOUTH, 2); + return MovementAction_RideWaterCurrentDown_Step1(objectEvent, sprite); } -bool8 MovementAction_RideWaterCurrentDown_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_RideWaterCurrentDown_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) + if (npc_obj_ministep_stop_on_arrival(objectEvent, sprite)) { sprite->data[2] = 2; return TRUE; @@ -5898,15 +5897,15 @@ bool8 MovementAction_RideWaterCurrentDown_Step1(struct EventObject *eventObject, return FALSE; } -bool8 MovementAction_RideWaterCurrentUp_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_RideWaterCurrentUp_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - do_go_anim(eventObject, sprite, DIR_NORTH, 2); - return MovementAction_RideWaterCurrentUp_Step1(eventObject, sprite); + do_go_anim(objectEvent, sprite, DIR_NORTH, 2); + return MovementAction_RideWaterCurrentUp_Step1(objectEvent, sprite); } -bool8 MovementAction_RideWaterCurrentUp_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_RideWaterCurrentUp_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) + if (npc_obj_ministep_stop_on_arrival(objectEvent, sprite)) { sprite->data[2] = 2; return TRUE; @@ -5914,15 +5913,15 @@ bool8 MovementAction_RideWaterCurrentUp_Step1(struct EventObject *eventObject, s return FALSE; } -bool8 MovementAction_RideWaterCurrentLeft_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_RideWaterCurrentLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - do_go_anim(eventObject, sprite, DIR_WEST, 2); - return MovementAction_RideWaterCurrentLeft_Step1(eventObject, sprite); + do_go_anim(objectEvent, sprite, DIR_WEST, 2); + return MovementAction_RideWaterCurrentLeft_Step1(objectEvent, sprite); } -bool8 MovementAction_RideWaterCurrentLeft_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_RideWaterCurrentLeft_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) + if (npc_obj_ministep_stop_on_arrival(objectEvent, sprite)) { sprite->data[2] = 2; return TRUE; @@ -5930,15 +5929,15 @@ bool8 MovementAction_RideWaterCurrentLeft_Step1(struct EventObject *eventObject, return FALSE; } -bool8 MovementAction_RideWaterCurrentRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_RideWaterCurrentRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - do_go_anim(eventObject, sprite, DIR_EAST, 2); - return MovementAction_RideWaterCurrentRight_Step1(eventObject, sprite); + do_go_anim(objectEvent, sprite, DIR_EAST, 2); + return MovementAction_RideWaterCurrentRight_Step1(objectEvent, sprite); } -bool8 MovementAction_RideWaterCurrentRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_RideWaterCurrentRight_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) + if (npc_obj_ministep_stop_on_arrival(objectEvent, sprite)) { sprite->data[2] = 2; return TRUE; @@ -5946,15 +5945,15 @@ bool8 MovementAction_RideWaterCurrentRight_Step1(struct EventObject *eventObject return FALSE; } -bool8 MovementAction_WalkFastestDown_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_WalkFastestDown_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - do_go_anim(eventObject, sprite, DIR_SOUTH, 3); - return MovementAction_WalkFastestDown_Step1(eventObject, sprite); + do_go_anim(objectEvent, sprite, DIR_SOUTH, 3); + return MovementAction_WalkFastestDown_Step1(objectEvent, sprite); } -bool8 MovementAction_WalkFastestDown_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_WalkFastestDown_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) + if (npc_obj_ministep_stop_on_arrival(objectEvent, sprite)) { sprite->data[2] = 2; return TRUE; @@ -5962,15 +5961,15 @@ bool8 MovementAction_WalkFastestDown_Step1(struct EventObject *eventObject, stru return FALSE; } -bool8 MovementAction_WalkFastestUp_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_WalkFastestUp_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - do_go_anim(eventObject, sprite, DIR_NORTH, 3); - return MovementAction_WalkFastestUp_Step1(eventObject, sprite); + do_go_anim(objectEvent, sprite, DIR_NORTH, 3); + return MovementAction_WalkFastestUp_Step1(objectEvent, sprite); } -bool8 MovementAction_WalkFastestUp_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_WalkFastestUp_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) + if (npc_obj_ministep_stop_on_arrival(objectEvent, sprite)) { sprite->data[2] = 2; return TRUE; @@ -5978,15 +5977,15 @@ bool8 MovementAction_WalkFastestUp_Step1(struct EventObject *eventObject, struct return FALSE; } -bool8 MovementAction_WalkFastestLeft_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_WalkFastestLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - do_go_anim(eventObject, sprite, DIR_WEST, 3); - return MovementAction_WalkFastestLeft_Step1(eventObject, sprite); + do_go_anim(objectEvent, sprite, DIR_WEST, 3); + return MovementAction_WalkFastestLeft_Step1(objectEvent, sprite); } -bool8 MovementAction_WalkFastestLeft_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_WalkFastestLeft_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) + if (npc_obj_ministep_stop_on_arrival(objectEvent, sprite)) { sprite->data[2] = 2; return TRUE; @@ -5994,15 +5993,15 @@ bool8 MovementAction_WalkFastestLeft_Step1(struct EventObject *eventObject, stru return FALSE; } -bool8 MovementAction_WalkFastestRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_WalkFastestRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - do_go_anim(eventObject, sprite, DIR_EAST, 3); - return MovementAction_WalkFastestRight_Step1(eventObject, sprite); + do_go_anim(objectEvent, sprite, DIR_EAST, 3); + return MovementAction_WalkFastestRight_Step1(objectEvent, sprite); } -bool8 MovementAction_WalkFastestRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_WalkFastestRight_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) + if (npc_obj_ministep_stop_on_arrival(objectEvent, sprite)) { sprite->data[2] = 2; return TRUE; @@ -6010,15 +6009,15 @@ bool8 MovementAction_WalkFastestRight_Step1(struct EventObject *eventObject, str return FALSE; } -bool8 MovementAction_SlideDown_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_SlideDown_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - do_go_anim(eventObject, sprite, DIR_SOUTH, 4); - return MovementAction_SlideDown_Step1(eventObject, sprite); + do_go_anim(objectEvent, sprite, DIR_SOUTH, 4); + return MovementAction_SlideDown_Step1(objectEvent, sprite); } -bool8 MovementAction_SlideDown_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_SlideDown_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) + if (npc_obj_ministep_stop_on_arrival(objectEvent, sprite)) { sprite->data[2] = 2; return TRUE; @@ -6026,15 +6025,15 @@ bool8 MovementAction_SlideDown_Step1(struct EventObject *eventObject, struct Spr return FALSE; } -bool8 MovementAction_SlideUp_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_SlideUp_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - do_go_anim(eventObject, sprite, DIR_NORTH, 4); - return MovementAction_SlideUp_Step1(eventObject, sprite); + do_go_anim(objectEvent, sprite, DIR_NORTH, 4); + return MovementAction_SlideUp_Step1(objectEvent, sprite); } -bool8 MovementAction_SlideUp_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_SlideUp_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) + if (npc_obj_ministep_stop_on_arrival(objectEvent, sprite)) { sprite->data[2] = 2; return TRUE; @@ -6042,15 +6041,15 @@ bool8 MovementAction_SlideUp_Step1(struct EventObject *eventObject, struct Sprit return FALSE; } -bool8 MovementAction_SlideLeft_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_SlideLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - do_go_anim(eventObject, sprite, DIR_WEST, 4); - return MovementAction_SlideLeft_Step1(eventObject, sprite); + do_go_anim(objectEvent, sprite, DIR_WEST, 4); + return MovementAction_SlideLeft_Step1(objectEvent, sprite); } -bool8 MovementAction_SlideLeft_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_SlideLeft_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) + if (npc_obj_ministep_stop_on_arrival(objectEvent, sprite)) { sprite->data[2] = 2; return TRUE; @@ -6058,15 +6057,15 @@ bool8 MovementAction_SlideLeft_Step1(struct EventObject *eventObject, struct Spr return FALSE; } -bool8 MovementAction_SlideRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_SlideRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - do_go_anim(eventObject, sprite, DIR_EAST, 4); - return MovementAction_SlideRight_Step1(eventObject, sprite); + do_go_anim(objectEvent, sprite, DIR_EAST, 4); + return MovementAction_SlideRight_Step1(objectEvent, sprite); } -bool8 MovementAction_SlideRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_SlideRight_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) + if (npc_obj_ministep_stop_on_arrival(objectEvent, sprite)) { sprite->data[2] = 2; return TRUE; @@ -6074,15 +6073,15 @@ bool8 MovementAction_SlideRight_Step1(struct EventObject *eventObject, struct Sp return FALSE; } -bool8 MovementAction_PlayerRunDown_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_PlayerRunDown_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - StartRunningAnim(eventObject, sprite, DIR_SOUTH); - return MovementAction_PlayerRunDown_Step1(eventObject, sprite); + StartRunningAnim(objectEvent, sprite, DIR_SOUTH); + return MovementAction_PlayerRunDown_Step1(objectEvent, sprite); } -bool8 MovementAction_PlayerRunDown_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_PlayerRunDown_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) + if (npc_obj_ministep_stop_on_arrival(objectEvent, sprite)) { sprite->data[2] = 2; return TRUE; @@ -6090,15 +6089,15 @@ bool8 MovementAction_PlayerRunDown_Step1(struct EventObject *eventObject, struct return FALSE; } -bool8 MovementAction_PlayerRunUp_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_PlayerRunUp_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - StartRunningAnim(eventObject, sprite, DIR_NORTH); - return MovementAction_PlayerRunUp_Step1(eventObject, sprite); + StartRunningAnim(objectEvent, sprite, DIR_NORTH); + return MovementAction_PlayerRunUp_Step1(objectEvent, sprite); } -bool8 MovementAction_PlayerRunUp_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_PlayerRunUp_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) + if (npc_obj_ministep_stop_on_arrival(objectEvent, sprite)) { sprite->data[2] = 2; return TRUE; @@ -6106,15 +6105,15 @@ bool8 MovementAction_PlayerRunUp_Step1(struct EventObject *eventObject, struct S return FALSE; } -bool8 MovementAction_PlayerRunLeft_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_PlayerRunLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - StartRunningAnim(eventObject, sprite, DIR_WEST); - return MovementAction_PlayerRunLeft_Step1(eventObject, sprite); + StartRunningAnim(objectEvent, sprite, DIR_WEST); + return MovementAction_PlayerRunLeft_Step1(objectEvent, sprite); } -bool8 MovementAction_PlayerRunLeft_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_PlayerRunLeft_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) + if (npc_obj_ministep_stop_on_arrival(objectEvent, sprite)) { sprite->data[2] = 2; return TRUE; @@ -6122,15 +6121,15 @@ bool8 MovementAction_PlayerRunLeft_Step1(struct EventObject *eventObject, struct return FALSE; } -bool8 MovementAction_PlayerRunRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_PlayerRunRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - StartRunningAnim(eventObject, sprite, DIR_EAST); - return MovementAction_PlayerRunRight_Step1(eventObject, sprite); + StartRunningAnim(objectEvent, sprite, DIR_EAST); + return MovementAction_PlayerRunRight_Step1(objectEvent, sprite); } -bool8 MovementAction_PlayerRunRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_PlayerRunRight_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) + if (npc_obj_ministep_stop_on_arrival(objectEvent, sprite)) { sprite->data[2] = 2; return TRUE; @@ -6138,20 +6137,20 @@ bool8 MovementAction_PlayerRunRight_Step1(struct EventObject *eventObject, struc return FALSE; } -void StartSpriteAnimInDirection(struct EventObject *eventObject, struct Sprite *sprite, u8 direction, u8 animNum) +void StartSpriteAnimInDirection(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 direction, u8 animNum) { SetAndStartSpriteAnim(sprite, animNum, 0); - SetEventObjectDirection(eventObject, direction); + SetObjectEventDirection(objectEvent, direction); sprite->data[2] = 1; } -bool8 MovementAction_StartAnimInDirection_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_StartAnimInDirection_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - StartSpriteAnimInDirection(eventObject, sprite, eventObject->movementDirection, sprite->animNum); + StartSpriteAnimInDirection(objectEvent, sprite, objectEvent->movementDirection, sprite->animNum); return FALSE; } -bool8 MovementAction_WaitSpriteAnim(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_WaitSpriteAnim(struct ObjectEvent *objectEvent, struct Sprite *sprite) { if (SpriteAnimEnded(sprite)) { @@ -6161,420 +6160,420 @@ bool8 MovementAction_WaitSpriteAnim(struct EventObject *eventObject, struct Spri return FALSE; } -void sub_8094DE4(struct EventObject *eventObject, struct Sprite *sprite, u8 direction) +void sub_8094DE4(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 direction) { - sub_8093FC4(eventObject, sprite, direction, 1, 0); + sub_8093FC4(objectEvent, sprite, direction, 1, 0); StartSpriteAnim(sprite, GetJumpSpecialDirectionAnimNum(direction)); } -bool8 MovementAction_JumpSpecialDown_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_JumpSpecialDown_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_8094DE4(eventObject, sprite, DIR_SOUTH); - return MovementAction_JumpSpecialDown_Step1(eventObject, sprite); + sub_8094DE4(objectEvent, sprite, DIR_SOUTH); + return MovementAction_JumpSpecialDown_Step1(objectEvent, sprite); } -bool8 MovementAction_JumpSpecialDown_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_JumpSpecialDown_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (sub_80941C8(eventObject, sprite)) + if (sub_80941C8(objectEvent, sprite)) { sprite->data[2] = 2; - eventObject->landingJump = FALSE; + objectEvent->landingJump = FALSE; return TRUE; } return FALSE; } -bool8 MovementAction_JumpSpecialUp_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_JumpSpecialUp_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_8094DE4(eventObject, sprite, DIR_NORTH); - return MovementAction_JumpSpecialUp_Step1(eventObject, sprite); + sub_8094DE4(objectEvent, sprite, DIR_NORTH); + return MovementAction_JumpSpecialUp_Step1(objectEvent, sprite); } -bool8 MovementAction_JumpSpecialUp_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_JumpSpecialUp_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (sub_80941C8(eventObject, sprite)) + if (sub_80941C8(objectEvent, sprite)) { sprite->data[2] = 2; - eventObject->landingJump = FALSE; + objectEvent->landingJump = FALSE; return TRUE; } return FALSE; } -bool8 MovementAction_JumpSpecialLeft_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_JumpSpecialLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_8094DE4(eventObject, sprite, DIR_WEST); - return MovementAction_JumpSpecialLeft_Step1(eventObject, sprite); + sub_8094DE4(objectEvent, sprite, DIR_WEST); + return MovementAction_JumpSpecialLeft_Step1(objectEvent, sprite); } -bool8 MovementAction_JumpSpecialLeft_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_JumpSpecialLeft_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (sub_80941C8(eventObject, sprite)) + if (sub_80941C8(objectEvent, sprite)) { sprite->data[2] = 2; - eventObject->landingJump = FALSE; + objectEvent->landingJump = FALSE; return TRUE; } return FALSE; } -bool8 MovementAction_JumpSpecialRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_JumpSpecialRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_8094DE4(eventObject, sprite, DIR_EAST); - return MovementAction_JumpSpecialRight_Step1(eventObject, sprite); + sub_8094DE4(objectEvent, sprite, DIR_EAST); + return MovementAction_JumpSpecialRight_Step1(objectEvent, sprite); } -bool8 MovementAction_JumpSpecialRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_JumpSpecialRight_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (sub_80941C8(eventObject, sprite)) + if (sub_80941C8(objectEvent, sprite)) { sprite->data[2] = 2; - eventObject->landingJump = FALSE; + objectEvent->landingJump = FALSE; return TRUE; } return FALSE; } -bool8 MovementAction_FacePlayer_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_FacePlayer_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { u8 playerObjectId; - if (!TryGetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0, &playerObjectId)) + if (!TryGetObjectEventIdByLocalIdAndMap(OBJ_EVENT_ID_PLAYER, 0, 0, &playerObjectId)) { - FaceDirection(eventObject, sprite, GetDirectionToFace(eventObject->currentCoords.x, eventObject->currentCoords.y, gEventObjects[playerObjectId].currentCoords.x, gEventObjects[playerObjectId].currentCoords.y)); + FaceDirection(objectEvent, sprite, GetDirectionToFace(objectEvent->currentCoords.x, objectEvent->currentCoords.y, gObjectEvents[playerObjectId].currentCoords.x, gObjectEvents[playerObjectId].currentCoords.y)); } sprite->data[2] = 1; return TRUE; } -bool8 MovementAction_FaceAwayPlayer_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_FaceAwayPlayer_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { u8 playerObjectId; - if (!TryGetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0, &playerObjectId)) + if (!TryGetObjectEventIdByLocalIdAndMap(OBJ_EVENT_ID_PLAYER, 0, 0, &playerObjectId)) { - FaceDirection(eventObject, sprite, GetOppositeDirection(GetDirectionToFace(eventObject->currentCoords.x, eventObject->currentCoords.y, gEventObjects[playerObjectId].currentCoords.x, gEventObjects[playerObjectId].currentCoords.y))); + FaceDirection(objectEvent, sprite, GetOppositeDirection(GetDirectionToFace(objectEvent->currentCoords.x, objectEvent->currentCoords.y, gObjectEvents[playerObjectId].currentCoords.x, gObjectEvents[playerObjectId].currentCoords.y))); } sprite->data[2] = 1; return TRUE; } -bool8 MovementAction_LockFacingDirection_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_LockFacingDirection_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - eventObject->facingDirectionLocked = TRUE; + objectEvent->facingDirectionLocked = TRUE; sprite->data[2] = 1; return TRUE; } -bool8 MovementAction_UnlockFacingDirection_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_UnlockFacingDirection_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - eventObject->facingDirectionLocked = FALSE; + objectEvent->facingDirectionLocked = FALSE; sprite->data[2] = 1; return TRUE; } -bool8 MovementAction_JumpDown_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_JumpDown_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - maybe_shadow_1(eventObject, sprite, DIR_SOUTH, 1, 2); - return MovementAction_JumpDown_Step1(eventObject, sprite); + maybe_shadow_1(objectEvent, sprite, DIR_SOUTH, 1, 2); + return MovementAction_JumpDown_Step1(objectEvent, sprite); } -bool8 MovementAction_JumpDown_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_JumpDown_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (sub_80941B0(eventObject, sprite)) + if (sub_80941B0(objectEvent, sprite)) { - eventObject->hasShadow = 0; + objectEvent->hasShadow = 0; sprite->data[2] = 2; return TRUE; } return FALSE; } -bool8 MovementAction_JumpUp_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_JumpUp_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - maybe_shadow_1(eventObject, sprite, DIR_NORTH, 1, 2); - return MovementAction_JumpUp_Step1(eventObject, sprite); + maybe_shadow_1(objectEvent, sprite, DIR_NORTH, 1, 2); + return MovementAction_JumpUp_Step1(objectEvent, sprite); } -bool8 MovementAction_JumpUp_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_JumpUp_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (sub_80941B0(eventObject, sprite)) + if (sub_80941B0(objectEvent, sprite)) { - eventObject->hasShadow = 0; + objectEvent->hasShadow = 0; sprite->data[2] = 2; return TRUE; } return FALSE; } -bool8 MovementAction_JumpLeft_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_JumpLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - maybe_shadow_1(eventObject, sprite, DIR_WEST, 1, 2); - return MovementAction_JumpLeft_Step1(eventObject, sprite); + maybe_shadow_1(objectEvent, sprite, DIR_WEST, 1, 2); + return MovementAction_JumpLeft_Step1(objectEvent, sprite); } -bool8 MovementAction_JumpLeft_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_JumpLeft_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (sub_80941B0(eventObject, sprite)) + if (sub_80941B0(objectEvent, sprite)) { - eventObject->hasShadow = 0; + objectEvent->hasShadow = 0; sprite->data[2] = 2; return TRUE; } return FALSE; } -bool8 MovementAction_JumpRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_JumpRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - maybe_shadow_1(eventObject, sprite, DIR_EAST, 1, 2); - return MovementAction_JumpRight_Step1(eventObject, sprite); + maybe_shadow_1(objectEvent, sprite, DIR_EAST, 1, 2); + return MovementAction_JumpRight_Step1(objectEvent, sprite); } -bool8 MovementAction_JumpRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_JumpRight_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (sub_80941B0(eventObject, sprite)) + if (sub_80941B0(objectEvent, sprite)) { - eventObject->hasShadow = 0; + objectEvent->hasShadow = 0; sprite->data[2] = 2; return TRUE; } return FALSE; } -bool8 MovementAction_JumpInPlaceDown_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_JumpInPlaceDown_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - maybe_shadow_1(eventObject, sprite, DIR_SOUTH, 0, 0); - return MovementAction_JumpInPlaceDown_Step1(eventObject, sprite); + maybe_shadow_1(objectEvent, sprite, DIR_SOUTH, 0, 0); + return MovementAction_JumpInPlaceDown_Step1(objectEvent, sprite); } -bool8 MovementAction_JumpInPlaceDown_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_JumpInPlaceDown_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (sub_80941B0(eventObject, sprite)) + if (sub_80941B0(objectEvent, sprite)) { - eventObject->hasShadow = 0; + objectEvent->hasShadow = 0; sprite->data[2] = 2; return TRUE; } return FALSE; } -bool8 MovementAction_JumpInPlaceUp_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_JumpInPlaceUp_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - maybe_shadow_1(eventObject, sprite, DIR_NORTH, 0, 0); - return MovementAction_JumpInPlaceUp_Step1(eventObject, sprite); + maybe_shadow_1(objectEvent, sprite, DIR_NORTH, 0, 0); + return MovementAction_JumpInPlaceUp_Step1(objectEvent, sprite); } -bool8 MovementAction_JumpInPlaceUp_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_JumpInPlaceUp_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (sub_80941B0(eventObject, sprite)) + if (sub_80941B0(objectEvent, sprite)) { - eventObject->hasShadow = 0; + objectEvent->hasShadow = 0; sprite->data[2] = 2; return TRUE; } return FALSE; } -bool8 MovementAction_JumpInPlaceLeft_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_JumpInPlaceLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - maybe_shadow_1(eventObject, sprite, DIR_WEST, 0, 0); - return MovementAction_JumpInPlaceLeft_Step1(eventObject, sprite); + maybe_shadow_1(objectEvent, sprite, DIR_WEST, 0, 0); + return MovementAction_JumpInPlaceLeft_Step1(objectEvent, sprite); } -bool8 MovementAction_JumpInPlaceLeft_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_JumpInPlaceLeft_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (sub_80941B0(eventObject, sprite)) + if (sub_80941B0(objectEvent, sprite)) { - eventObject->hasShadow = 0; + objectEvent->hasShadow = 0; sprite->data[2] = 2; return TRUE; } return FALSE; } -bool8 MovementAction_JumpInPlaceRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_JumpInPlaceRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - maybe_shadow_1(eventObject, sprite, DIR_EAST, 0, 0); - return MovementAction_JumpInPlaceRight_Step1(eventObject, sprite); + maybe_shadow_1(objectEvent, sprite, DIR_EAST, 0, 0); + return MovementAction_JumpInPlaceRight_Step1(objectEvent, sprite); } -bool8 MovementAction_JumpInPlaceRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_JumpInPlaceRight_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (sub_80941B0(eventObject, sprite)) + if (sub_80941B0(objectEvent, sprite)) { - eventObject->hasShadow = 0; + objectEvent->hasShadow = 0; sprite->data[2] = 2; return TRUE; } return FALSE; } -bool8 MovementAction_JumpInPlaceDownUp_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_JumpInPlaceDownUp_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - maybe_shadow_1(eventObject, sprite, DIR_SOUTH, 0, 2); - return MovementAction_JumpInPlaceDownUp_Step1(eventObject, sprite); + maybe_shadow_1(objectEvent, sprite, DIR_SOUTH, 0, 2); + return MovementAction_JumpInPlaceDownUp_Step1(objectEvent, sprite); } -bool8 MovementAction_JumpInPlaceDownUp_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_JumpInPlaceDownUp_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (sub_80941E0(eventObject, sprite)) + if (sub_80941E0(objectEvent, sprite)) { - eventObject->hasShadow = 0; + objectEvent->hasShadow = 0; sprite->data[2] = 2; return TRUE; } return FALSE; } -bool8 MovementAction_JumpInPlaceUpDown_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_JumpInPlaceUpDown_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - maybe_shadow_1(eventObject, sprite, DIR_NORTH, 0, 2); - return MovementAction_JumpInPlaceUpDown_Step1(eventObject, sprite); + maybe_shadow_1(objectEvent, sprite, DIR_NORTH, 0, 2); + return MovementAction_JumpInPlaceUpDown_Step1(objectEvent, sprite); } -bool8 MovementAction_JumpInPlaceUpDown_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_JumpInPlaceUpDown_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (sub_80941E0(eventObject, sprite)) + if (sub_80941E0(objectEvent, sprite)) { - eventObject->hasShadow = 0; + objectEvent->hasShadow = 0; sprite->data[2] = 2; return TRUE; } return FALSE; } -bool8 MovementAction_JumpInPlaceLeftRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_JumpInPlaceLeftRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - maybe_shadow_1(eventObject, sprite, DIR_WEST, 0, 2); - return MovementAction_JumpInPlaceLeftRight_Step1(eventObject, sprite); + maybe_shadow_1(objectEvent, sprite, DIR_WEST, 0, 2); + return MovementAction_JumpInPlaceLeftRight_Step1(objectEvent, sprite); } -bool8 MovementAction_JumpInPlaceLeftRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_JumpInPlaceLeftRight_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (sub_80941E0(eventObject, sprite)) + if (sub_80941E0(objectEvent, sprite)) { - eventObject->hasShadow = 0; + objectEvent->hasShadow = 0; sprite->data[2] = 2; return TRUE; } return FALSE; } -bool8 MovementAction_JumpInPlaceRightLeft_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_JumpInPlaceRightLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - maybe_shadow_1(eventObject, sprite, DIR_EAST, 0, 2); - return MovementAction_JumpInPlaceRightLeft_Step1(eventObject, sprite); + maybe_shadow_1(objectEvent, sprite, DIR_EAST, 0, 2); + return MovementAction_JumpInPlaceRightLeft_Step1(objectEvent, sprite); } -bool8 MovementAction_JumpInPlaceRightLeft_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_JumpInPlaceRightLeft_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (sub_80941E0(eventObject, sprite)) + if (sub_80941E0(objectEvent, sprite)) { - eventObject->hasShadow = 0; + objectEvent->hasShadow = 0; sprite->data[2] = 2; return TRUE; } return FALSE; } -bool8 MovementAction_FaceOriginalDirection_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_FaceOriginalDirection_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - FaceDirection(eventObject, sprite, gInitialMovementTypeFacingDirections[eventObject->movementType]); + FaceDirection(objectEvent, sprite, gInitialMovementTypeFacingDirections[objectEvent->movementType]); return TRUE; } -bool8 MovementAction_NurseJoyBowDown_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_NurseJoyBowDown_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - StartSpriteAnimInDirection(eventObject, sprite, DIR_SOUTH, 0x14); + StartSpriteAnimInDirection(objectEvent, sprite, DIR_SOUTH, 0x14); return FALSE; } -bool8 MovementAction_EnableJumpLandingGroundEffect_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_EnableJumpLandingGroundEffect_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - eventObject->disableJumpLandingGroundEffect = FALSE; + objectEvent->disableJumpLandingGroundEffect = FALSE; sprite->data[2] = 1; return TRUE; } -bool8 MovementAction_DisableJumpLandingGroundEffect_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_DisableJumpLandingGroundEffect_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - eventObject->disableJumpLandingGroundEffect = TRUE; + objectEvent->disableJumpLandingGroundEffect = TRUE; sprite->data[2] = 1; return TRUE; } -bool8 MovementAction_DisableAnimation_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_DisableAnimation_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - eventObject->inanimate = TRUE; + objectEvent->inanimate = TRUE; sprite->data[2] = 1; return TRUE; } -bool8 MovementAction_RestoreAnimation_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_RestoreAnimation_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - eventObject->inanimate = GetEventObjectGraphicsInfo(eventObject->graphicsId)->inanimate; + objectEvent->inanimate = GetObjectEventGraphicsInfo(objectEvent->graphicsId)->inanimate; sprite->data[2] = 1; return TRUE; } -bool8 MovementAction_SetInvisible_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_SetInvisible_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - eventObject->invisible = TRUE; + objectEvent->invisible = TRUE; sprite->data[2] = 1; return TRUE; } -bool8 MovementAction_SetVisible_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_SetVisible_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - eventObject->invisible = FALSE; + objectEvent->invisible = FALSE; sprite->data[2] = 1; return TRUE; } -bool8 MovementAction_EmoteExclamationMark_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_EmoteExclamationMark_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - EventObjectGetLocalIdAndMap(eventObject, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]); + ObjectEventGetLocalIdAndMap(objectEvent, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]); FieldEffectStart(FLDEFF_EXCLAMATION_MARK_ICON); sprite->data[2] = 1; return TRUE; } -bool8 MovementAction_EmoteQuestionMark_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_EmoteQuestionMark_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - EventObjectGetLocalIdAndMap(eventObject, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]); + ObjectEventGetLocalIdAndMap(objectEvent, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]); FieldEffectStart(FLDEFF_QUESTION_MARK_ICON); sprite->data[2] = 1; return TRUE; } -bool8 MovementAction_EmoteHeart_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_EmoteHeart_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - EventObjectGetLocalIdAndMap(eventObject, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]); + ObjectEventGetLocalIdAndMap(objectEvent, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]); FieldEffectStart(FLDEFF_HEART_ICON); sprite->data[2] = 1; return TRUE; } -bool8 MovementAction_RevealTrainer_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_RevealTrainer_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (eventObject->movementType == MOVEMENT_TYPE_HIDDEN) + if (objectEvent->movementType == MOVEMENT_TYPE_HIDDEN) { - sub_80B4578(eventObject); + sub_80B4578(objectEvent); return FALSE; } - if (eventObject->movementType != MOVEMENT_TYPE_TREE_DISGUISE && eventObject->movementType != MOVEMENT_TYPE_MOUNTAIN_DISGUISE) + if (objectEvent->movementType != MOVEMENT_TYPE_TREE_DISGUISE && objectEvent->movementType != MOVEMENT_TYPE_MOUNTAIN_DISGUISE) { sprite->data[2] = 2; return TRUE; } - sub_8155D78(eventObject); + sub_8155D78(objectEvent); sprite->data[2] = 1; - return MovementAction_RevealTrainer_Step1(eventObject, sprite); + return MovementAction_RevealTrainer_Step1(objectEvent, sprite); } -bool8 MovementAction_RevealTrainer_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_RevealTrainer_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (sub_8155DA0(eventObject)) + if (sub_8155DA0(objectEvent)) { sprite->data[2] = 2; return TRUE; @@ -6582,14 +6581,14 @@ bool8 MovementAction_RevealTrainer_Step1(struct EventObject *eventObject, struct return FALSE; } -bool8 MovementAction_RockSmashBreak_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_RockSmashBreak_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { SetAndStartSpriteAnim(sprite, 1, 0); sprite->data[2] = 1; return FALSE; } -bool8 MovementAction_RockSmashBreak_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_RockSmashBreak_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { if (SpriteAnimEnded(sprite)) { @@ -6599,25 +6598,25 @@ bool8 MovementAction_RockSmashBreak_Step1(struct EventObject *eventObject, struc return FALSE; } -bool8 MovementAction_RockSmashBreak_Step2(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_RockSmashBreak_Step2(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - eventObject->invisible ^= TRUE; + objectEvent->invisible ^= TRUE; if (WaitForMovementDelay(sprite)) { - eventObject->invisible = TRUE; + objectEvent->invisible = TRUE; sprite->data[2] = 3; } return FALSE; } -bool8 MovementAction_CutTree_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_CutTree_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { SetAndStartSpriteAnim(sprite, 1, 0); sprite->data[2] = 1; return FALSE; } -bool8 MovementAction_CutTree_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_CutTree_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { if (SpriteAnimEnded(sprite)) { @@ -6627,32 +6626,32 @@ bool8 MovementAction_CutTree_Step1(struct EventObject *eventObject, struct Sprit return FALSE; } -bool8 MovementAction_CutTree_Step2(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_CutTree_Step2(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - eventObject->invisible ^= TRUE; + objectEvent->invisible ^= TRUE; if (WaitForMovementDelay(sprite)) { - eventObject->invisible = TRUE; + objectEvent->invisible = TRUE; sprite->data[2] = 3; } return FALSE; } -bool8 MovementAction_SetFixedPriority_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_SetFixedPriority_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - eventObject->fixedPriority = TRUE; + objectEvent->fixedPriority = TRUE; sprite->data[2] = 1; return TRUE; } -bool8 MovementAction_ClearFixedPriority_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_ClearFixedPriority_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - eventObject->fixedPriority = FALSE; + objectEvent->fixedPriority = FALSE; sprite->data[2] = 1; return TRUE; } -bool8 MovementAction_InitAffineAnim_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_InitAffineAnim_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { sprite->oam.affineMode = ST_OAM_AFFINE_DOUBLE; InitSpriteAffineAnim(sprite); @@ -6661,7 +6660,7 @@ bool8 MovementAction_InitAffineAnim_Step0(struct EventObject *eventObject, struc return TRUE; } -bool8 MovementAction_ClearAffineAnim_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_ClearAffineAnim_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { FreeOamMatrix(sprite->oam.matrixNum); sprite->oam.affineMode = ST_OAM_AFFINE_OFF; @@ -6669,29 +6668,29 @@ bool8 MovementAction_ClearAffineAnim_Step0(struct EventObject *eventObject, stru return TRUE; } -bool8 MovementAction_HideReflection_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_HideReflection_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - eventObject->hideReflection = TRUE; + objectEvent->hideReflection = TRUE; return TRUE; } -bool8 MovementAction_ShowReflection_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_ShowReflection_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - eventObject->hideReflection = FALSE; + objectEvent->hideReflection = FALSE; return TRUE; } -bool8 MovementAction_WalkDownStartAffine_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_WalkDownStartAffine_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_8093B60(eventObject, sprite, DIR_SOUTH); + sub_8093B60(objectEvent, sprite, DIR_SOUTH); sprite->affineAnimPaused = FALSE; StartSpriteAffineAnimIfDifferent(sprite, 0); - return MovementAction_WalkDownStartAffine_Step1(eventObject, sprite); + return MovementAction_WalkDownStartAffine_Step1(objectEvent, sprite); } -bool8 MovementAction_WalkDownStartAffine_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_WalkDownStartAffine_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (an_walk_any_2(eventObject, sprite)) + if (an_walk_any_2(objectEvent, sprite)) { sprite->affineAnimPaused = TRUE; sprite->data[2] = 2; @@ -6700,17 +6699,17 @@ bool8 MovementAction_WalkDownStartAffine_Step1(struct EventObject *eventObject, return FALSE; } -bool8 MovementAction_WalkDownAffine_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_WalkDownAffine_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_8093B60(eventObject, sprite, DIR_SOUTH); + sub_8093B60(objectEvent, sprite, DIR_SOUTH); sprite->affineAnimPaused = FALSE; ChangeSpriteAffineAnimIfDifferent(sprite, 1); - return MovementAction_WalkDownAffine_Step1(eventObject, sprite); + return MovementAction_WalkDownAffine_Step1(objectEvent, sprite); } -bool8 MovementAction_WalkDownAffine_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_WalkDownAffine_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (an_walk_any_2(eventObject, sprite)) + if (an_walk_any_2(objectEvent, sprite)) { sprite->affineAnimPaused = TRUE; sprite->data[2] = 2; @@ -6719,17 +6718,17 @@ bool8 MovementAction_WalkDownAffine_Step1(struct EventObject *eventObject, struc return FALSE; } -bool8 MovementAction_WalkLeftAffine_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_WalkLeftAffine_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - do_go_anim(eventObject, sprite, DIR_WEST, 1); + do_go_anim(objectEvent, sprite, DIR_WEST, 1); sprite->affineAnimPaused = FALSE; ChangeSpriteAffineAnimIfDifferent(sprite, 2); - return MovementAction_WalkLeftAffine_Step1(eventObject, sprite); + return MovementAction_WalkLeftAffine_Step1(objectEvent, sprite); } -bool8 MovementAction_WalkLeftAffine_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_WalkLeftAffine_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) + if (npc_obj_ministep_stop_on_arrival(objectEvent, sprite)) { sprite->affineAnimPaused = TRUE; sprite->data[2] = 2; @@ -6738,17 +6737,17 @@ bool8 MovementAction_WalkLeftAffine_Step1(struct EventObject *eventObject, struc return FALSE; } -bool8 MovementAction_WalkRightAffine_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_WalkRightAffine_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - do_go_anim(eventObject, sprite, DIR_EAST, 1); + do_go_anim(objectEvent, sprite, DIR_EAST, 1); sprite->affineAnimPaused = FALSE; ChangeSpriteAffineAnimIfDifferent(sprite, 3); - return MovementAction_WalkRightAffine_Step1(eventObject, sprite); + return MovementAction_WalkRightAffine_Step1(objectEvent, sprite); } -bool8 MovementAction_WalkRightAffine_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_WalkRightAffine_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) + if (npc_obj_ministep_stop_on_arrival(objectEvent, sprite)) { sprite->affineAnimPaused = TRUE; sprite->data[2] = 2; @@ -6757,139 +6756,139 @@ bool8 MovementAction_WalkRightAffine_Step1(struct EventObject *eventObject, stru return FALSE; } -static void sub_80958C0(struct EventObject *eventObject, struct Sprite *sprite, u8 direction) +static void sub_80958C0(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 direction) { - SetEventObjectDirection(eventObject, direction); - ShiftStillEventObjectCoords(eventObject); - obj_npc_animation_step(eventObject, sprite, GetAcroWheeliePedalDirectionAnimNum(direction)); + SetObjectEventDirection(objectEvent, direction); + ShiftStillObjectEventCoords(objectEvent); + obj_npc_animation_step(objectEvent, sprite, GetAcroWheeliePedalDirectionAnimNum(direction)); sprite->animPaused = TRUE; sprite->data[2] = 1; } -bool8 MovementAction_AcroWheelieFaceDown_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieFaceDown_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_80958C0(eventObject, sprite, DIR_SOUTH); + sub_80958C0(objectEvent, sprite, DIR_SOUTH); return TRUE; } -bool8 MovementAction_AcroWheelieFaceUp_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieFaceUp_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_80958C0(eventObject, sprite, DIR_NORTH); + sub_80958C0(objectEvent, sprite, DIR_NORTH); return TRUE; } -bool8 MovementAction_AcroWheelieFaceLeft_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieFaceLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_80958C0(eventObject, sprite, DIR_WEST); + sub_80958C0(objectEvent, sprite, DIR_WEST); return TRUE; } -bool8 MovementAction_AcroWheelieFaceRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieFaceRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_80958C0(eventObject, sprite, DIR_EAST); + sub_80958C0(objectEvent, sprite, DIR_EAST); return TRUE; } -bool8 MovementAction_AcroPopWheelieDown_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_AcroPopWheelieDown_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - StartSpriteAnimInDirection(eventObject, sprite, DIR_SOUTH, GetAcroWheelieDirectionAnimNum(DIR_SOUTH)); + StartSpriteAnimInDirection(objectEvent, sprite, DIR_SOUTH, GetAcroWheelieDirectionAnimNum(DIR_SOUTH)); return FALSE; } -bool8 MovementAction_AcroPopWheelieUp_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_AcroPopWheelieUp_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - StartSpriteAnimInDirection(eventObject, sprite, DIR_NORTH, GetAcroWheelieDirectionAnimNum(DIR_NORTH)); + StartSpriteAnimInDirection(objectEvent, sprite, DIR_NORTH, GetAcroWheelieDirectionAnimNum(DIR_NORTH)); return FALSE; } -bool8 MovementAction_AcroPopWheelieLeft_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_AcroPopWheelieLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - StartSpriteAnimInDirection(eventObject, sprite, DIR_WEST, GetAcroWheelieDirectionAnimNum(DIR_WEST)); + StartSpriteAnimInDirection(objectEvent, sprite, DIR_WEST, GetAcroWheelieDirectionAnimNum(DIR_WEST)); return FALSE; } -bool8 MovementAction_AcroPopWheelieRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_AcroPopWheelieRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - StartSpriteAnimInDirection(eventObject, sprite, DIR_EAST, GetAcroWheelieDirectionAnimNum(DIR_EAST)); + StartSpriteAnimInDirection(objectEvent, sprite, DIR_EAST, GetAcroWheelieDirectionAnimNum(DIR_EAST)); return FALSE; } -bool8 MovementAction_AcroEndWheelieFaceDown_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_AcroEndWheelieFaceDown_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - StartSpriteAnimInDirection(eventObject, sprite, DIR_SOUTH, GetAcroEndWheelieDirectionAnimNum(DIR_SOUTH)); + StartSpriteAnimInDirection(objectEvent, sprite, DIR_SOUTH, GetAcroEndWheelieDirectionAnimNum(DIR_SOUTH)); return FALSE; } -bool8 MovementAction_AcroEndWheelieFaceUp_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_AcroEndWheelieFaceUp_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - StartSpriteAnimInDirection(eventObject, sprite, DIR_NORTH, GetAcroEndWheelieDirectionAnimNum(DIR_NORTH)); + StartSpriteAnimInDirection(objectEvent, sprite, DIR_NORTH, GetAcroEndWheelieDirectionAnimNum(DIR_NORTH)); return FALSE; } -bool8 MovementAction_AcroEndWheelieFaceLeft_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_AcroEndWheelieFaceLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - StartSpriteAnimInDirection(eventObject, sprite, DIR_WEST, GetAcroEndWheelieDirectionAnimNum(DIR_WEST)); + StartSpriteAnimInDirection(objectEvent, sprite, DIR_WEST, GetAcroEndWheelieDirectionAnimNum(DIR_WEST)); return FALSE; } -bool8 MovementAction_AcroEndWheelieFaceRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_AcroEndWheelieFaceRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - StartSpriteAnimInDirection(eventObject, sprite, DIR_EAST, GetAcroEndWheelieDirectionAnimNum(DIR_EAST)); + StartSpriteAnimInDirection(objectEvent, sprite, DIR_EAST, GetAcroEndWheelieDirectionAnimNum(DIR_EAST)); return FALSE; } -bool8 MovementAction_UnusedAcroActionDown_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_UnusedAcroActionDown_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - StartSpriteAnimInDirection(eventObject, sprite, DIR_SOUTH, GetAcroUnusedActionDirectionAnimNum(DIR_SOUTH)); + StartSpriteAnimInDirection(objectEvent, sprite, DIR_SOUTH, GetAcroUnusedActionDirectionAnimNum(DIR_SOUTH)); return FALSE; } -bool8 MovementAction_UnusedAcroActionUp_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_UnusedAcroActionUp_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - StartSpriteAnimInDirection(eventObject, sprite, DIR_NORTH, GetAcroUnusedActionDirectionAnimNum(DIR_NORTH)); + StartSpriteAnimInDirection(objectEvent, sprite, DIR_NORTH, GetAcroUnusedActionDirectionAnimNum(DIR_NORTH)); return FALSE; } -bool8 MovementAction_UnusedAcroActionLeft_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_UnusedAcroActionLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - StartSpriteAnimInDirection(eventObject, sprite, DIR_WEST, GetAcroUnusedActionDirectionAnimNum(DIR_WEST)); + StartSpriteAnimInDirection(objectEvent, sprite, DIR_WEST, GetAcroUnusedActionDirectionAnimNum(DIR_WEST)); return FALSE; } -bool8 MovementAction_UnusedAcroActionRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_UnusedAcroActionRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - StartSpriteAnimInDirection(eventObject, sprite, DIR_EAST, GetAcroUnusedActionDirectionAnimNum(DIR_EAST)); + StartSpriteAnimInDirection(objectEvent, sprite, DIR_EAST, GetAcroUnusedActionDirectionAnimNum(DIR_EAST)); return FALSE; } -void sub_8095AF0(struct EventObject *eventObject, struct Sprite *sprite) +void sub_8095AF0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { sub_8097750(sprite); sprite->animPaused = FALSE; } -bool8 sub_8095B0C(struct EventObject *eventObject, struct Sprite *sprite) +bool8 sub_8095B0C(struct ObjectEvent *objectEvent, struct Sprite *sprite) { if (sub_8097758(sprite)) { - ShiftStillEventObjectCoords(eventObject); - eventObject->triggerGroundEffectsOnStop = TRUE; + ShiftStillObjectEventCoords(objectEvent); + objectEvent->triggerGroundEffectsOnStop = TRUE; sprite->animPaused = TRUE; return TRUE; } return FALSE; } -bool8 MovementAction_Figure8_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_Figure8_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_8095AF0(eventObject, sprite); + sub_8095AF0(objectEvent, sprite); sprite->data[2] = 1; - return MovementAction_Figure8_Step1(eventObject, sprite); + return MovementAction_Figure8_Step1(objectEvent, sprite); } -bool8 MovementAction_Figure8_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_Figure8_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (sub_8095B0C(eventObject, sprite)) + if (sub_8095B0C(objectEvent, sprite)) { sprite->data[2] = 2; return TRUE; @@ -6897,257 +6896,257 @@ bool8 MovementAction_Figure8_Step1(struct EventObject *eventObject, struct Sprit return FALSE; } -void sub_8095B84(struct EventObject *eventObject, struct Sprite *sprite, u8 direction, u8 speed, u8 a4) +void sub_8095B84(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 direction, u8 speed, u8 a4) { - sub_8093FC4(eventObject, sprite, direction, speed, a4); + sub_8093FC4(objectEvent, sprite, direction, speed, a4); StartSpriteAnimIfDifferent(sprite, GetAcroWheelieDirectionAnimNum(direction)); - DoShadowFieldEffect(eventObject); + DoShadowFieldEffect(objectEvent); } -bool8 MovementAction_AcroWheelieHopFaceDown_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieHopFaceDown_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_8095B84(eventObject, sprite, DIR_SOUTH, 0, 1); - return MovementAction_AcroWheelieHopFaceDown_Step1(eventObject, sprite); + sub_8095B84(objectEvent, sprite, DIR_SOUTH, 0, 1); + return MovementAction_AcroWheelieHopFaceDown_Step1(objectEvent, sprite); } -bool8 MovementAction_AcroWheelieHopFaceDown_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieHopFaceDown_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (sub_80941B0(eventObject, sprite)) + if (sub_80941B0(objectEvent, sprite)) { - eventObject->hasShadow = FALSE; + objectEvent->hasShadow = FALSE; sprite->data[2] = 2; return TRUE; } return FALSE; } -bool8 MovementAction_AcroWheelieHopFaceUp_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieHopFaceUp_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_8095B84(eventObject, sprite, DIR_NORTH, 0, 1); - return MovementAction_AcroWheelieHopFaceUp_Step1(eventObject, sprite); + sub_8095B84(objectEvent, sprite, DIR_NORTH, 0, 1); + return MovementAction_AcroWheelieHopFaceUp_Step1(objectEvent, sprite); } -bool8 MovementAction_AcroWheelieHopFaceUp_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieHopFaceUp_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (sub_80941B0(eventObject, sprite)) + if (sub_80941B0(objectEvent, sprite)) { - eventObject->hasShadow = FALSE; + objectEvent->hasShadow = FALSE; sprite->data[2] = 2; return TRUE; } return FALSE; } -bool8 MovementAction_AcroWheelieHopFaceLeft_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieHopFaceLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_8095B84(eventObject, sprite, DIR_WEST, 0, 1); - return MovementAction_AcroWheelieHopFaceLeft_Step1(eventObject, sprite); + sub_8095B84(objectEvent, sprite, DIR_WEST, 0, 1); + return MovementAction_AcroWheelieHopFaceLeft_Step1(objectEvent, sprite); } -bool8 MovementAction_AcroWheelieHopFaceLeft_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieHopFaceLeft_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (sub_80941B0(eventObject, sprite)) + if (sub_80941B0(objectEvent, sprite)) { - eventObject->hasShadow = FALSE; + objectEvent->hasShadow = FALSE; sprite->data[2] = 2; return TRUE; } return FALSE; } -bool8 MovementAction_AcroWheelieHopFaceRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieHopFaceRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_8095B84(eventObject, sprite, DIR_EAST, 0, 1); - return MovementAction_AcroWheelieHopFaceRight_Step1(eventObject, sprite); + sub_8095B84(objectEvent, sprite, DIR_EAST, 0, 1); + return MovementAction_AcroWheelieHopFaceRight_Step1(objectEvent, sprite); } -bool8 MovementAction_AcroWheelieHopFaceRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieHopFaceRight_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (sub_80941B0(eventObject, sprite)) + if (sub_80941B0(objectEvent, sprite)) { - eventObject->hasShadow = FALSE; + objectEvent->hasShadow = FALSE; sprite->data[2] = 2; return TRUE; } return FALSE; } -bool8 MovementAction_AcroWheelieHopDown_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieHopDown_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_8095B84(eventObject, sprite, DIR_SOUTH, 1, 1); - return MovementAction_AcroWheelieHopDown_Step1(eventObject, sprite); + sub_8095B84(objectEvent, sprite, DIR_SOUTH, 1, 1); + return MovementAction_AcroWheelieHopDown_Step1(objectEvent, sprite); } -bool8 MovementAction_AcroWheelieHopDown_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieHopDown_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (sub_80941B0(eventObject, sprite)) + if (sub_80941B0(objectEvent, sprite)) { - eventObject->hasShadow = FALSE; + objectEvent->hasShadow = FALSE; sprite->data[2] = 2; return TRUE; } return FALSE; } -bool8 MovementAction_AcroWheelieHopUp_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieHopUp_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_8095B84(eventObject, sprite, DIR_NORTH, 1, 1); - return MovementAction_AcroWheelieHopUp_Step1(eventObject, sprite); + sub_8095B84(objectEvent, sprite, DIR_NORTH, 1, 1); + return MovementAction_AcroWheelieHopUp_Step1(objectEvent, sprite); } -bool8 MovementAction_AcroWheelieHopUp_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieHopUp_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (sub_80941B0(eventObject, sprite)) + if (sub_80941B0(objectEvent, sprite)) { - eventObject->hasShadow = FALSE; + objectEvent->hasShadow = FALSE; sprite->data[2] = 2; return TRUE; } return FALSE; } -bool8 MovementAction_AcroWheelieHopLeft_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieHopLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_8095B84(eventObject, sprite, DIR_WEST, 1, 1); - return MovementAction_AcroWheelieHopLeft_Step1(eventObject, sprite); + sub_8095B84(objectEvent, sprite, DIR_WEST, 1, 1); + return MovementAction_AcroWheelieHopLeft_Step1(objectEvent, sprite); } -bool8 MovementAction_AcroWheelieHopLeft_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieHopLeft_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (sub_80941B0(eventObject, sprite)) + if (sub_80941B0(objectEvent, sprite)) { - eventObject->hasShadow = FALSE; + objectEvent->hasShadow = FALSE; sprite->data[2] = 2; return TRUE; } return FALSE; } -bool8 MovementAction_AcroWheelieHopRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieHopRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_8095B84(eventObject, sprite, DIR_EAST, 1, 1); - return MovementAction_AcroWheelieHopRight_Step1(eventObject, sprite); + sub_8095B84(objectEvent, sprite, DIR_EAST, 1, 1); + return MovementAction_AcroWheelieHopRight_Step1(objectEvent, sprite); } -bool8 MovementAction_AcroWheelieHopRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieHopRight_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (sub_80941B0(eventObject, sprite)) + if (sub_80941B0(objectEvent, sprite)) { - eventObject->hasShadow = FALSE; + objectEvent->hasShadow = FALSE; sprite->data[2] = 2; return TRUE; } return FALSE; } -bool8 MovementAction_AcroWheelieJumpDown_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieJumpDown_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_8095B84(eventObject, sprite, DIR_SOUTH, 2, 0); - return MovementAction_AcroWheelieJumpDown_Step1(eventObject, sprite); + sub_8095B84(objectEvent, sprite, DIR_SOUTH, 2, 0); + return MovementAction_AcroWheelieJumpDown_Step1(objectEvent, sprite); } -bool8 MovementAction_AcroWheelieJumpDown_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieJumpDown_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (sub_80941B0(eventObject, sprite)) + if (sub_80941B0(objectEvent, sprite)) { - eventObject->hasShadow = FALSE; + objectEvent->hasShadow = FALSE; sprite->data[2] = 2; return TRUE; } return FALSE; } -bool8 MovementAction_AcroWheelieJumpUp_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieJumpUp_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_8095B84(eventObject, sprite, DIR_NORTH, 2, 0); - return MovementAction_AcroWheelieJumpUp_Step1(eventObject, sprite); + sub_8095B84(objectEvent, sprite, DIR_NORTH, 2, 0); + return MovementAction_AcroWheelieJumpUp_Step1(objectEvent, sprite); } -bool8 MovementAction_AcroWheelieJumpUp_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieJumpUp_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (sub_80941B0(eventObject, sprite)) + if (sub_80941B0(objectEvent, sprite)) { - eventObject->hasShadow = FALSE; + objectEvent->hasShadow = FALSE; sprite->data[2] = 2; return TRUE; } return FALSE; } -bool8 MovementAction_AcroWheelieJumpLeft_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieJumpLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_8095B84(eventObject, sprite, DIR_WEST, 2, 0); - return MovementAction_AcroWheelieJumpLeft_Step1(eventObject, sprite); + sub_8095B84(objectEvent, sprite, DIR_WEST, 2, 0); + return MovementAction_AcroWheelieJumpLeft_Step1(objectEvent, sprite); } -bool8 MovementAction_AcroWheelieJumpLeft_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieJumpLeft_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (sub_80941B0(eventObject, sprite)) + if (sub_80941B0(objectEvent, sprite)) { - eventObject->hasShadow = FALSE; + objectEvent->hasShadow = FALSE; sprite->data[2] = 2; return TRUE; } return FALSE; } -bool8 MovementAction_AcroWheelieJumpRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieJumpRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_8095B84(eventObject, sprite, DIR_EAST, 2, 0); - return MovementAction_AcroWheelieJumpRight_Step1(eventObject, sprite); + sub_8095B84(objectEvent, sprite, DIR_EAST, 2, 0); + return MovementAction_AcroWheelieJumpRight_Step1(objectEvent, sprite); } -bool8 MovementAction_AcroWheelieJumpRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieJumpRight_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (sub_80941B0(eventObject, sprite)) + if (sub_80941B0(objectEvent, sprite)) { - eventObject->hasShadow = FALSE; + objectEvent->hasShadow = FALSE; sprite->data[2] = 2; return TRUE; } return FALSE; } -bool8 MovementAction_AcroWheelieInPlaceDown_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieInPlaceDown_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_8094554(eventObject, sprite, DIR_SOUTH, GetAcroWheeliePedalDirectionAnimNum(DIR_SOUTH), 8); - return MovementAction_WalkInPlace_Step1(eventObject, sprite); + sub_8094554(objectEvent, sprite, DIR_SOUTH, GetAcroWheeliePedalDirectionAnimNum(DIR_SOUTH), 8); + return MovementAction_WalkInPlace_Step1(objectEvent, sprite); } -bool8 MovementAction_AcroWheelieInPlaceUp_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieInPlaceUp_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_8094554(eventObject, sprite, DIR_NORTH, GetAcroWheeliePedalDirectionAnimNum(DIR_NORTH), 8); - return MovementAction_WalkInPlace_Step1(eventObject, sprite); + sub_8094554(objectEvent, sprite, DIR_NORTH, GetAcroWheeliePedalDirectionAnimNum(DIR_NORTH), 8); + return MovementAction_WalkInPlace_Step1(objectEvent, sprite); } -bool8 MovementAction_AcroWheelieInPlaceLeft_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieInPlaceLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_8094554(eventObject, sprite, DIR_WEST, GetAcroWheeliePedalDirectionAnimNum(DIR_WEST), 8); - return MovementAction_WalkInPlace_Step1(eventObject, sprite); + sub_8094554(objectEvent, sprite, DIR_WEST, GetAcroWheeliePedalDirectionAnimNum(DIR_WEST), 8); + return MovementAction_WalkInPlace_Step1(objectEvent, sprite); } -bool8 MovementAction_AcroWheelieInPlaceRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieInPlaceRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_8094554(eventObject, sprite, DIR_EAST, GetAcroWheeliePedalDirectionAnimNum(DIR_EAST), 8); - return MovementAction_WalkInPlace_Step1(eventObject, sprite); + sub_8094554(objectEvent, sprite, DIR_EAST, GetAcroWheeliePedalDirectionAnimNum(DIR_EAST), 8); + return MovementAction_WalkInPlace_Step1(objectEvent, sprite); } -void sub_80960C8(struct EventObject *eventObject, struct Sprite *sprite, u8 direction, u8 speed) +void sub_80960C8(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 direction, u8 speed) { - npc_apply_direction(eventObject, sprite, direction, speed); - StartSpriteAnim(sprite, GetAcroWheelieDirectionAnimNum(eventObject->facingDirection)); + npc_apply_direction(objectEvent, sprite, direction, speed); + StartSpriteAnim(sprite, GetAcroWheelieDirectionAnimNum(objectEvent->facingDirection)); SeekSpriteAnim(sprite, 0); } -bool8 MovementAction_AcroPopWheelieMoveDown_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_AcroPopWheelieMoveDown_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_80960C8(eventObject, sprite, DIR_SOUTH, 1); - return MovementAction_AcroPopWheelieMoveDown_Step1(eventObject, sprite); + sub_80960C8(objectEvent, sprite, DIR_SOUTH, 1); + return MovementAction_AcroPopWheelieMoveDown_Step1(objectEvent, sprite); } -bool8 MovementAction_AcroPopWheelieMoveDown_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_AcroPopWheelieMoveDown_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) + if (npc_obj_ministep_stop_on_arrival(objectEvent, sprite)) { sprite->data[2] = 2; return TRUE; @@ -7155,15 +7154,15 @@ bool8 MovementAction_AcroPopWheelieMoveDown_Step1(struct EventObject *eventObjec return FALSE; } -bool8 MovementAction_AcroPopWheelieMoveUp_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_AcroPopWheelieMoveUp_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_80960C8(eventObject, sprite, DIR_NORTH, 1); - return MovementAction_AcroPopWheelieMoveUp_Step1(eventObject, sprite); + sub_80960C8(objectEvent, sprite, DIR_NORTH, 1); + return MovementAction_AcroPopWheelieMoveUp_Step1(objectEvent, sprite); } -bool8 MovementAction_AcroPopWheelieMoveUp_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_AcroPopWheelieMoveUp_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) + if (npc_obj_ministep_stop_on_arrival(objectEvent, sprite)) { sprite->data[2] = 2; return TRUE; @@ -7171,15 +7170,15 @@ bool8 MovementAction_AcroPopWheelieMoveUp_Step1(struct EventObject *eventObject, return FALSE; } -bool8 MovementAction_AcroPopWheelieMoveLeft_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_AcroPopWheelieMoveLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_80960C8(eventObject, sprite, DIR_WEST, 1); - return MovementAction_AcroPopWheelieMoveLeft_Step1(eventObject, sprite); + sub_80960C8(objectEvent, sprite, DIR_WEST, 1); + return MovementAction_AcroPopWheelieMoveLeft_Step1(objectEvent, sprite); } -bool8 MovementAction_AcroPopWheelieMoveLeft_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_AcroPopWheelieMoveLeft_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) + if (npc_obj_ministep_stop_on_arrival(objectEvent, sprite)) { sprite->data[2] = 2; return TRUE; @@ -7187,15 +7186,15 @@ bool8 MovementAction_AcroPopWheelieMoveLeft_Step1(struct EventObject *eventObjec return FALSE; } -bool8 MovementAction_AcroPopWheelieMoveRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_AcroPopWheelieMoveRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_80960C8(eventObject, sprite, DIR_EAST, 1); - return MovementAction_AcroPopWheelieMoveRight_Step1(eventObject, sprite); + sub_80960C8(objectEvent, sprite, DIR_EAST, 1); + return MovementAction_AcroPopWheelieMoveRight_Step1(objectEvent, sprite); } -bool8 MovementAction_AcroPopWheelieMoveRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_AcroPopWheelieMoveRight_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) + if (npc_obj_ministep_stop_on_arrival(objectEvent, sprite)) { sprite->data[2] = 2; return TRUE; @@ -7203,21 +7202,21 @@ bool8 MovementAction_AcroPopWheelieMoveRight_Step1(struct EventObject *eventObje return FALSE; } -void sub_8096200(struct EventObject *eventObject, struct Sprite *sprite, u8 direction, u8 speed) +void sub_8096200(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 direction, u8 speed) { - npc_apply_direction(eventObject, sprite, direction, speed); - npc_apply_anim_looping(eventObject, sprite, GetAcroWheeliePedalDirectionAnimNum(eventObject->facingDirection)); + npc_apply_direction(objectEvent, sprite, direction, speed); + npc_apply_anim_looping(objectEvent, sprite, GetAcroWheeliePedalDirectionAnimNum(objectEvent->facingDirection)); } -bool8 MovementAction_AcroWheelieMoveDown_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieMoveDown_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_8096200(eventObject, sprite, DIR_SOUTH, 1); - return MovementAction_AcroWheelieMoveDown_Step1(eventObject, sprite); + sub_8096200(objectEvent, sprite, DIR_SOUTH, 1); + return MovementAction_AcroWheelieMoveDown_Step1(objectEvent, sprite); } -bool8 MovementAction_AcroWheelieMoveDown_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieMoveDown_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) + if (npc_obj_ministep_stop_on_arrival(objectEvent, sprite)) { sprite->data[2] = 2; return TRUE; @@ -7225,15 +7224,15 @@ bool8 MovementAction_AcroWheelieMoveDown_Step1(struct EventObject *eventObject, return FALSE; } -bool8 MovementAction_AcroWheelieMoveUp_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieMoveUp_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_8096200(eventObject, sprite, DIR_NORTH, 1); - return MovementAction_AcroWheelieMoveUp_Step1(eventObject, sprite); + sub_8096200(objectEvent, sprite, DIR_NORTH, 1); + return MovementAction_AcroWheelieMoveUp_Step1(objectEvent, sprite); } -bool8 MovementAction_AcroWheelieMoveUp_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieMoveUp_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) + if (npc_obj_ministep_stop_on_arrival(objectEvent, sprite)) { sprite->data[2] = 2; return TRUE; @@ -7241,15 +7240,15 @@ bool8 MovementAction_AcroWheelieMoveUp_Step1(struct EventObject *eventObject, st return FALSE; } -bool8 MovementAction_AcroWheelieMoveLeft_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieMoveLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_8096200(eventObject, sprite, DIR_WEST, 1); - return MovementAction_AcroWheelieMoveLeft_Step1(eventObject, sprite); + sub_8096200(objectEvent, sprite, DIR_WEST, 1); + return MovementAction_AcroWheelieMoveLeft_Step1(objectEvent, sprite); } -bool8 MovementAction_AcroWheelieMoveLeft_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieMoveLeft_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) + if (npc_obj_ministep_stop_on_arrival(objectEvent, sprite)) { sprite->data[2] = 2; return TRUE; @@ -7257,15 +7256,15 @@ bool8 MovementAction_AcroWheelieMoveLeft_Step1(struct EventObject *eventObject, return FALSE; } -bool8 MovementAction_AcroWheelieMoveRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieMoveRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_8096200(eventObject, sprite, DIR_EAST, 1); - return MovementAction_AcroWheelieMoveRight_Step1(eventObject, sprite); + sub_8096200(objectEvent, sprite, DIR_EAST, 1); + return MovementAction_AcroWheelieMoveRight_Step1(objectEvent, sprite); } -bool8 MovementAction_AcroWheelieMoveRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieMoveRight_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) + if (npc_obj_ministep_stop_on_arrival(objectEvent, sprite)) { sprite->data[2] = 2; return TRUE; @@ -7273,22 +7272,22 @@ bool8 MovementAction_AcroWheelieMoveRight_Step1(struct EventObject *eventObject, return FALSE; } -void sub_8096330(struct EventObject *eventObject, struct Sprite *sprite, u8 direction, u8 speed) +void sub_8096330(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 direction, u8 speed) { - npc_apply_direction(eventObject, sprite, direction, speed); - StartSpriteAnim(sprite, GetAcroEndWheelieDirectionAnimNum(eventObject->facingDirection)); + npc_apply_direction(objectEvent, sprite, direction, speed); + StartSpriteAnim(sprite, GetAcroEndWheelieDirectionAnimNum(objectEvent->facingDirection)); SeekSpriteAnim(sprite, 0); } -bool8 MovementAction_AcroEndWheelieMoveDown_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_AcroEndWheelieMoveDown_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_8096330(eventObject, sprite, DIR_SOUTH, 1); - return MovementAction_AcroEndWheelieMoveDown_Step1(eventObject, sprite); + sub_8096330(objectEvent, sprite, DIR_SOUTH, 1); + return MovementAction_AcroEndWheelieMoveDown_Step1(objectEvent, sprite); } -bool8 MovementAction_AcroEndWheelieMoveDown_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_AcroEndWheelieMoveDown_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) + if (npc_obj_ministep_stop_on_arrival(objectEvent, sprite)) { sprite->data[2] = 2; return TRUE; @@ -7296,15 +7295,15 @@ bool8 MovementAction_AcroEndWheelieMoveDown_Step1(struct EventObject *eventObjec return FALSE; } -bool8 MovementAction_AcroEndWheelieMoveUp_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_AcroEndWheelieMoveUp_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_8096330(eventObject, sprite, DIR_NORTH, 1); - return MovementAction_AcroEndWheelieMoveUp_Step1(eventObject, sprite); + sub_8096330(objectEvent, sprite, DIR_NORTH, 1); + return MovementAction_AcroEndWheelieMoveUp_Step1(objectEvent, sprite); } -bool8 MovementAction_AcroEndWheelieMoveUp_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_AcroEndWheelieMoveUp_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) + if (npc_obj_ministep_stop_on_arrival(objectEvent, sprite)) { sprite->data[2] = 2; return TRUE; @@ -7312,15 +7311,15 @@ bool8 MovementAction_AcroEndWheelieMoveUp_Step1(struct EventObject *eventObject, return FALSE; } -bool8 MovementAction_AcroEndWheelieMoveLeft_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_AcroEndWheelieMoveLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_8096330(eventObject, sprite, DIR_WEST, 1); - return MovementAction_AcroEndWheelieMoveLeft_Step1(eventObject, sprite); + sub_8096330(objectEvent, sprite, DIR_WEST, 1); + return MovementAction_AcroEndWheelieMoveLeft_Step1(objectEvent, sprite); } -bool8 MovementAction_AcroEndWheelieMoveLeft_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_AcroEndWheelieMoveLeft_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) + if (npc_obj_ministep_stop_on_arrival(objectEvent, sprite)) { sprite->data[2] = 2; return TRUE; @@ -7328,15 +7327,15 @@ bool8 MovementAction_AcroEndWheelieMoveLeft_Step1(struct EventObject *eventObjec return FALSE; } -bool8 MovementAction_AcroEndWheelieMoveRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_AcroEndWheelieMoveRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_8096330(eventObject, sprite, DIR_EAST, 1); - return MovementAction_AcroEndWheelieMoveRight_Step1(eventObject, sprite); + sub_8096330(objectEvent, sprite, DIR_EAST, 1); + return MovementAction_AcroEndWheelieMoveRight_Step1(objectEvent, sprite); } -bool8 MovementAction_AcroEndWheelieMoveRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_AcroEndWheelieMoveRight_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) + if (npc_obj_ministep_stop_on_arrival(objectEvent, sprite)) { sprite->data[2] = 2; return TRUE; @@ -7344,75 +7343,75 @@ bool8 MovementAction_AcroEndWheelieMoveRight_Step1(struct EventObject *eventObje return FALSE; } -bool8 MovementAction_Levitate_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_Levitate_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - CreateLevitateMovementTask(eventObject); + CreateLevitateMovementTask(objectEvent); sprite->data[2] = 1; return TRUE; } -bool8 MovementAction_StopLevitate_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_StopLevitate_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - DestroyExtraMovementTask(eventObject->warpArrowSpriteId); + DestroyExtraMovementTask(objectEvent->warpArrowSpriteId); sprite->pos2.y = 0; sprite->data[2] = 1; return TRUE; } -bool8 MovementAction_DestroyExtraTaskIfAtTop_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_DestroyExtraTaskIfAtTop_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { if (sprite->pos2.y == 0) { - DestroyExtraMovementTask(eventObject->warpArrowSpriteId); + DestroyExtraMovementTask(objectEvent->warpArrowSpriteId); sprite->data[2] = 1; return TRUE; } return FALSE; } -u8 MovementAction_Finish(struct EventObject *eventObject, struct Sprite *sprite) +u8 MovementAction_Finish(struct ObjectEvent *objectEvent, struct Sprite *sprite) { return TRUE; } -bool8 MovementAction_PauseSpriteAnim(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_PauseSpriteAnim(struct ObjectEvent *objectEvent, struct Sprite *sprite) { sprite->animPaused = TRUE; return TRUE; } -static void UpdateEventObjectSpriteAnimPause(struct EventObject *eventObject, struct Sprite *sprite) +static void UpdateObjectEventSpriteAnimPause(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (eventObject->disableAnim) + if (objectEvent->disableAnim) { sprite->animPaused = TRUE; } } -static void TryEnableEventObjectAnim(struct EventObject *eventObject, struct Sprite *sprite) +static void TryEnableObjectEventAnim(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (eventObject->enableAnim) + if (objectEvent->enableAnim) { sprite->animPaused = FALSE; - eventObject->disableAnim = FALSE; - eventObject->enableAnim = FALSE; + objectEvent->disableAnim = FALSE; + objectEvent->enableAnim = FALSE; } } -static void UpdateEventObjectVisibility(struct EventObject *eventObject, struct Sprite *sprite) +static void UpdateObjectEventVisibility(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_8096530(eventObject, sprite); - UpdateEventObjSpriteVisibility(eventObject, sprite); + sub_8096530(objectEvent, sprite); + UpdateObjEventSpriteVisibility(objectEvent, sprite); } -static void sub_8096530(struct EventObject *eventObject, struct Sprite *sprite) +static void sub_8096530(struct ObjectEvent *objectEvent, struct Sprite *sprite) { u16 x, y; u16 x2, y2; - const struct EventObjectGraphicsInfo *graphicsInfo; + const struct ObjectEventGraphicsInfo *graphicsInfo; - eventObject->offScreen = FALSE; - graphicsInfo = GetEventObjectGraphicsInfo(eventObject->graphicsId); + objectEvent->offScreen = FALSE; + graphicsInfo = GetObjectEventGraphicsInfo(objectEvent->graphicsId); if (sprite->coordOffsetEnabled) { x = sprite->pos1.x + sprite->pos2.x + sprite->centerToCornerVecX + gSpriteCoordOffsetX; @@ -7429,221 +7428,221 @@ static void sub_8096530(struct EventObject *eventObject, struct Sprite *sprite) y2 += graphicsInfo->height; if ((s16)x >= 0x100 || (s16)x2 < -0x10) { - eventObject->offScreen = TRUE; + objectEvent->offScreen = TRUE; } if ((s16)y >= 0xB0 || (s16)y2 < -0x10) { - eventObject->offScreen = TRUE; + objectEvent->offScreen = TRUE; } } -static void UpdateEventObjSpriteVisibility(struct EventObject *eventObject, struct Sprite *sprite) +static void UpdateObjEventSpriteVisibility(struct ObjectEvent *objectEvent, struct Sprite *sprite) { sprite->invisible = FALSE; - if (eventObject->invisible || eventObject->offScreen) + if (objectEvent->invisible || objectEvent->offScreen) { sprite->invisible = TRUE; } } -static void GetAllGroundEffectFlags_OnSpawn(struct EventObject *eventObj, u32 *flags) +static void GetAllGroundEffectFlags_OnSpawn(struct ObjectEvent *objEvent, u32 *flags) { - EventObjectUpdateMetatileBehaviors(eventObj); - GetGroundEffectFlags_Reflection(eventObj, flags); - GetGroundEffectFlags_TallGrassOnSpawn(eventObj, flags); - GetGroundEffectFlags_LongGrassOnSpawn(eventObj, flags); - GetGroundEffectFlags_SandHeap(eventObj, flags); - GetGroundEffectFlags_ShallowFlowingWater(eventObj, flags); - GetGroundEffectFlags_ShortGrass(eventObj, flags); - GetGroundEffectFlags_HotSprings(eventObj, flags); + ObjectEventUpdateMetatileBehaviors(objEvent); + GetGroundEffectFlags_Reflection(objEvent, flags); + GetGroundEffectFlags_TallGrassOnSpawn(objEvent, flags); + GetGroundEffectFlags_LongGrassOnSpawn(objEvent, flags); + GetGroundEffectFlags_SandHeap(objEvent, flags); + GetGroundEffectFlags_ShallowFlowingWater(objEvent, flags); + GetGroundEffectFlags_ShortGrass(objEvent, flags); + GetGroundEffectFlags_HotSprings(objEvent, flags); } -static void GetAllGroundEffectFlags_OnBeginStep(struct EventObject *eventObj, u32 *flags) +static void GetAllGroundEffectFlags_OnBeginStep(struct ObjectEvent *objEvent, u32 *flags) { - EventObjectUpdateMetatileBehaviors(eventObj); - GetGroundEffectFlags_Reflection(eventObj, flags); - GetGroundEffectFlags_TallGrassOnBeginStep(eventObj, flags); - GetGroundEffectFlags_LongGrassOnBeginStep(eventObj, flags); - GetGroundEffectFlags_Tracks(eventObj, flags); - GetGroundEffectFlags_SandHeap(eventObj, flags); - GetGroundEffectFlags_ShallowFlowingWater(eventObj, flags); - GetGroundEffectFlags_Puddle(eventObj, flags); - GetGroundEffectFlags_ShortGrass(eventObj, flags); - GetGroundEffectFlags_HotSprings(eventObj, flags); + ObjectEventUpdateMetatileBehaviors(objEvent); + GetGroundEffectFlags_Reflection(objEvent, flags); + GetGroundEffectFlags_TallGrassOnBeginStep(objEvent, flags); + GetGroundEffectFlags_LongGrassOnBeginStep(objEvent, flags); + GetGroundEffectFlags_Tracks(objEvent, flags); + GetGroundEffectFlags_SandHeap(objEvent, flags); + GetGroundEffectFlags_ShallowFlowingWater(objEvent, flags); + GetGroundEffectFlags_Puddle(objEvent, flags); + GetGroundEffectFlags_ShortGrass(objEvent, flags); + GetGroundEffectFlags_HotSprings(objEvent, flags); } -static void GetAllGroundEffectFlags_OnFinishStep(struct EventObject *eventObj, u32 *flags) +static void GetAllGroundEffectFlags_OnFinishStep(struct ObjectEvent *objEvent, u32 *flags) { - EventObjectUpdateMetatileBehaviors(eventObj); - GetGroundEffectFlags_ShallowFlowingWater(eventObj, flags); - GetGroundEffectFlags_SandHeap(eventObj, flags); - GetGroundEffectFlags_Puddle(eventObj, flags); - GetGroundEffectFlags_Ripple(eventObj, flags); - GetGroundEffectFlags_ShortGrass(eventObj, flags); - GetGroundEffectFlags_HotSprings(eventObj, flags); - GetGroundEffectFlags_Seaweed(eventObj, flags); - GetGroundEffectFlags_JumpLanding(eventObj, flags); + ObjectEventUpdateMetatileBehaviors(objEvent); + GetGroundEffectFlags_ShallowFlowingWater(objEvent, flags); + GetGroundEffectFlags_SandHeap(objEvent, flags); + GetGroundEffectFlags_Puddle(objEvent, flags); + GetGroundEffectFlags_Ripple(objEvent, flags); + GetGroundEffectFlags_ShortGrass(objEvent, flags); + GetGroundEffectFlags_HotSprings(objEvent, flags); + GetGroundEffectFlags_Seaweed(objEvent, flags); + GetGroundEffectFlags_JumpLanding(objEvent, flags); } -static void EventObjectUpdateMetatileBehaviors(struct EventObject *eventObj) +static void ObjectEventUpdateMetatileBehaviors(struct ObjectEvent *objEvent) { - eventObj->previousMetatileBehavior = MapGridGetMetatileBehaviorAt(eventObj->previousCoords.x, eventObj->previousCoords.y); - eventObj->currentMetatileBehavior = MapGridGetMetatileBehaviorAt(eventObj->currentCoords.x, eventObj->currentCoords.y); + objEvent->previousMetatileBehavior = MapGridGetMetatileBehaviorAt(objEvent->previousCoords.x, objEvent->previousCoords.y); + objEvent->currentMetatileBehavior = MapGridGetMetatileBehaviorAt(objEvent->currentCoords.x, objEvent->currentCoords.y); } -static void GetGroundEffectFlags_Reflection(struct EventObject *eventObj, u32 *flags) +static void GetGroundEffectFlags_Reflection(struct ObjectEvent *objEvent, u32 *flags) { u32 reflectionFlags[2] = { GROUND_EFFECT_FLAG_REFLECTION, GROUND_EFFECT_FLAG_ICE_REFLECTION }; - u8 type = EventObjectCheckForReflectiveSurface(eventObj); + u8 type = ObjectEventCheckForReflectiveSurface(objEvent); if (type) { - if (!eventObj->hasReflection) + if (!objEvent->hasReflection) { - eventObj->hasReflection = 0; - eventObj->hasReflection = 1; + objEvent->hasReflection = 0; + objEvent->hasReflection = 1; *flags |= reflectionFlags[type - 1]; } } else { - eventObj->hasReflection = 0; + objEvent->hasReflection = 0; } } -static void GetGroundEffectFlags_TallGrassOnSpawn(struct EventObject *eventObj, u32 *flags) +static void GetGroundEffectFlags_TallGrassOnSpawn(struct ObjectEvent *objEvent, u32 *flags) { - if (MetatileBehavior_IsTallGrass(eventObj->currentMetatileBehavior)) + if (MetatileBehavior_IsTallGrass(objEvent->currentMetatileBehavior)) *flags |= GROUND_EFFECT_FLAG_TALL_GRASS_ON_SPAWN; } -static void GetGroundEffectFlags_TallGrassOnBeginStep(struct EventObject *eventObj, u32 *flags) +static void GetGroundEffectFlags_TallGrassOnBeginStep(struct ObjectEvent *objEvent, u32 *flags) { - if (MetatileBehavior_IsTallGrass(eventObj->currentMetatileBehavior)) + if (MetatileBehavior_IsTallGrass(objEvent->currentMetatileBehavior)) *flags |= GROUND_EFFECT_FLAG_TALL_GRASS_ON_MOVE; } -static void GetGroundEffectFlags_LongGrassOnSpawn(struct EventObject *eventObj, u32 *flags) +static void GetGroundEffectFlags_LongGrassOnSpawn(struct ObjectEvent *objEvent, u32 *flags) { - if (MetatileBehavior_IsLongGrass(eventObj->currentMetatileBehavior)) + if (MetatileBehavior_IsLongGrass(objEvent->currentMetatileBehavior)) *flags |= GROUND_EFFECT_FLAG_LONG_GRASS_ON_SPAWN; } -static void GetGroundEffectFlags_LongGrassOnBeginStep(struct EventObject *eventObj, u32 *flags) +static void GetGroundEffectFlags_LongGrassOnBeginStep(struct ObjectEvent *objEvent, u32 *flags) { - if (MetatileBehavior_IsLongGrass(eventObj->currentMetatileBehavior)) + if (MetatileBehavior_IsLongGrass(objEvent->currentMetatileBehavior)) *flags |= GROUND_EFFECT_FLAG_LONG_GRASS_ON_MOVE; } -static void GetGroundEffectFlags_Tracks(struct EventObject *eventObj, u32 *flags) +static void GetGroundEffectFlags_Tracks(struct ObjectEvent *objEvent, u32 *flags) { - if (MetatileBehavior_IsDeepSand(eventObj->previousMetatileBehavior)) + if (MetatileBehavior_IsDeepSand(objEvent->previousMetatileBehavior)) { *flags |= GROUND_EFFECT_FLAG_DEEP_SAND; } - else if (MetatileBehavior_IsSandOrDeepSand(eventObj->previousMetatileBehavior) - || MetatileBehavior_IsFootprints(eventObj->previousMetatileBehavior)) + else if (MetatileBehavior_IsSandOrDeepSand(objEvent->previousMetatileBehavior) + || MetatileBehavior_IsFootprints(objEvent->previousMetatileBehavior)) { *flags |= GROUND_EFFECT_FLAG_SAND; } } -static void GetGroundEffectFlags_SandHeap(struct EventObject *eventObj, u32 *flags) +static void GetGroundEffectFlags_SandHeap(struct ObjectEvent *objEvent, u32 *flags) { - if (MetatileBehavior_IsDeepSand(eventObj->currentMetatileBehavior) - && MetatileBehavior_IsDeepSand(eventObj->previousMetatileBehavior)) + if (MetatileBehavior_IsDeepSand(objEvent->currentMetatileBehavior) + && MetatileBehavior_IsDeepSand(objEvent->previousMetatileBehavior)) { - if (!eventObj->inSandPile) + if (!objEvent->inSandPile) { - eventObj->inSandPile = 0; - eventObj->inSandPile = 1; + objEvent->inSandPile = 0; + objEvent->inSandPile = 1; *flags |= GROUND_EFFECT_FLAG_SAND_PILE; } } else { - eventObj->inSandPile = 0; + objEvent->inSandPile = 0; } } -static void GetGroundEffectFlags_ShallowFlowingWater(struct EventObject *eventObj, u32 *flags) +static void GetGroundEffectFlags_ShallowFlowingWater(struct ObjectEvent *objEvent, u32 *flags) { - if ((MetatileBehavior_IsShallowFlowingWater(eventObj->currentMetatileBehavior) - && MetatileBehavior_IsShallowFlowingWater(eventObj->previousMetatileBehavior)) - || (MetatileBehavior_IsPacifidlogLog(eventObj->currentMetatileBehavior) - && MetatileBehavior_IsPacifidlogLog(eventObj->previousMetatileBehavior))) + if ((MetatileBehavior_IsShallowFlowingWater(objEvent->currentMetatileBehavior) + && MetatileBehavior_IsShallowFlowingWater(objEvent->previousMetatileBehavior)) + || (MetatileBehavior_IsPacifidlogLog(objEvent->currentMetatileBehavior) + && MetatileBehavior_IsPacifidlogLog(objEvent->previousMetatileBehavior))) { - if (!eventObj->inShallowFlowingWater) + if (!objEvent->inShallowFlowingWater) { - eventObj->inShallowFlowingWater = 0; - eventObj->inShallowFlowingWater = 1; + objEvent->inShallowFlowingWater = 0; + objEvent->inShallowFlowingWater = 1; *flags |= GROUND_EFFECT_FLAG_SHALLOW_FLOWING_WATER; } } else { - eventObj->inShallowFlowingWater = 0; + objEvent->inShallowFlowingWater = 0; } } -static void GetGroundEffectFlags_Puddle(struct EventObject *eventObj, u32 *flags) +static void GetGroundEffectFlags_Puddle(struct ObjectEvent *objEvent, u32 *flags) { - if (MetatileBehavior_IsPuddle(eventObj->currentMetatileBehavior) - && MetatileBehavior_IsPuddle(eventObj->previousMetatileBehavior)) + if (MetatileBehavior_IsPuddle(objEvent->currentMetatileBehavior) + && MetatileBehavior_IsPuddle(objEvent->previousMetatileBehavior)) { *flags |= GROUND_EFFECT_FLAG_PUDDLE; } } -static void GetGroundEffectFlags_Ripple(struct EventObject *eventObj, u32 *flags) +static void GetGroundEffectFlags_Ripple(struct ObjectEvent *objEvent, u32 *flags) { - if (MetatileBehavior_HasRipples(eventObj->currentMetatileBehavior)) + if (MetatileBehavior_HasRipples(objEvent->currentMetatileBehavior)) *flags |= GROUND_EFFECT_FLAG_RIPPLES; } -static void GetGroundEffectFlags_ShortGrass(struct EventObject *eventObj, u32 *flags) +static void GetGroundEffectFlags_ShortGrass(struct ObjectEvent *objEvent, u32 *flags) { - if (MetatileBehavior_IsShortGrass(eventObj->currentMetatileBehavior) - && MetatileBehavior_IsShortGrass(eventObj->previousMetatileBehavior)) + if (MetatileBehavior_IsShortGrass(objEvent->currentMetatileBehavior) + && MetatileBehavior_IsShortGrass(objEvent->previousMetatileBehavior)) { - if (!eventObj->inShortGrass) + if (!objEvent->inShortGrass) { - eventObj->inShortGrass = 0; - eventObj->inShortGrass = 1; + objEvent->inShortGrass = 0; + objEvent->inShortGrass = 1; *flags |= GROUND_EFFECT_FLAG_SHORT_GRASS; } } else { - eventObj->inShortGrass = 0; + objEvent->inShortGrass = 0; } } -static void GetGroundEffectFlags_HotSprings(struct EventObject *eventObj, u32 *flags) +static void GetGroundEffectFlags_HotSprings(struct ObjectEvent *objEvent, u32 *flags) { - if (MetatileBehavior_IsHotSprings(eventObj->currentMetatileBehavior) - && MetatileBehavior_IsHotSprings(eventObj->previousMetatileBehavior)) + if (MetatileBehavior_IsHotSprings(objEvent->currentMetatileBehavior) + && MetatileBehavior_IsHotSprings(objEvent->previousMetatileBehavior)) { - if (!eventObj->inHotSprings) + if (!objEvent->inHotSprings) { - eventObj->inHotSprings = 0; - eventObj->inHotSprings = 1; + objEvent->inHotSprings = 0; + objEvent->inHotSprings = 1; *flags |= GROUND_EFFECT_FLAG_HOT_SPRINGS; } } else { - eventObj->inHotSprings = 0; + objEvent->inHotSprings = 0; } } -static void GetGroundEffectFlags_Seaweed(struct EventObject *eventObj, u32 *flags) +static void GetGroundEffectFlags_Seaweed(struct ObjectEvent *objEvent, u32 *flags) { - if (MetatileBehavior_IsSeaweed(eventObj->currentMetatileBehavior)) + if (MetatileBehavior_IsSeaweed(objEvent->currentMetatileBehavior)) *flags |= GROUND_EFFECT_FLAG_SEAWEED; } -static void GetGroundEffectFlags_JumpLanding(struct EventObject *eventObj, u32 *flags) +static void GetGroundEffectFlags_JumpLanding(struct ObjectEvent *objEvent, u32 *flags) { typedef bool8 (*MetatileFunc)(u8); @@ -7665,13 +7664,13 @@ static void GetGroundEffectFlags_JumpLanding(struct EventObject *eventObj, u32 * GROUND_EFFECT_FLAG_LAND_ON_NORMAL_GROUND, }; - if (eventObj->landingJump && !eventObj->disableJumpLandingGroundEffect) + if (objEvent->landingJump && !objEvent->disableJumpLandingGroundEffect) { u8 i; for (i = 0; i < ARRAY_COUNT(metatileFuncs); i++) { - if (metatileFuncs[i](eventObj->currentMetatileBehavior)) + if (metatileFuncs[i](objEvent->currentMetatileBehavior)) { *flags |= jumpLandingFlags[i]; return; @@ -7680,9 +7679,9 @@ static void GetGroundEffectFlags_JumpLanding(struct EventObject *eventObj, u32 * } } -static u8 EventObjectCheckForReflectiveSurface(struct EventObject *eventObj) +static u8 ObjectEventCheckForReflectiveSurface(struct ObjectEvent *objEvent) { - const struct EventObjectGraphicsInfo *info = GetEventObjectGraphicsInfo(eventObj->graphicsId); + const struct ObjectEventGraphicsInfo *info = GetObjectEventGraphicsInfo(objEvent->graphicsId); // ceil div by tile width? s16 width = (info->width + 8) >> 4; @@ -7701,14 +7700,14 @@ static u8 EventObjectCheckForReflectiveSurface(struct EventObject *eventObj) for (i = 0, one = 1; i < height; i++) { - RETURN_REFLECTION_TYPE_AT(eventObj->currentCoords.x, eventObj->currentCoords.y + one + i) - RETURN_REFLECTION_TYPE_AT(eventObj->previousCoords.x, eventObj->previousCoords.y + one + i) + RETURN_REFLECTION_TYPE_AT(objEvent->currentCoords.x, objEvent->currentCoords.y + one + i) + RETURN_REFLECTION_TYPE_AT(objEvent->previousCoords.x, objEvent->previousCoords.y + one + i) for (j = 1; j < width; j++) { - RETURN_REFLECTION_TYPE_AT(eventObj->currentCoords.x + j, eventObj->currentCoords.y + one + i) - RETURN_REFLECTION_TYPE_AT(eventObj->currentCoords.x - j, eventObj->currentCoords.y + one + i) - RETURN_REFLECTION_TYPE_AT(eventObj->previousCoords.x + j, eventObj->previousCoords.y + one + i) - RETURN_REFLECTION_TYPE_AT(eventObj->previousCoords.x - j, eventObj->previousCoords.y + one + i) + RETURN_REFLECTION_TYPE_AT(objEvent->currentCoords.x + j, objEvent->currentCoords.y + one + i) + RETURN_REFLECTION_TYPE_AT(objEvent->currentCoords.x - j, objEvent->currentCoords.y + one + i) + RETURN_REFLECTION_TYPE_AT(objEvent->previousCoords.x + j, objEvent->previousCoords.y + one + i) + RETURN_REFLECTION_TYPE_AT(objEvent->previousCoords.x - j, objEvent->previousCoords.y + one + i) } } return 0; @@ -7752,20 +7751,20 @@ u8 GetLedgeJumpDirection(s16 x, s16 y, u8 z) return 0; } -static void SetEventObjectSpriteOamTableForLongGrass(struct EventObject *eventObj, struct Sprite *sprite) +static void SetObjectEventSpriteOamTableForLongGrass(struct ObjectEvent *objEvent, struct Sprite *sprite) { - if (eventObj->disableCoveringGroundEffects) + if (objEvent->disableCoveringGroundEffects) return; - if (!MetatileBehavior_IsLongGrass(eventObj->currentMetatileBehavior)) + if (!MetatileBehavior_IsLongGrass(objEvent->currentMetatileBehavior)) return; - if (!MetatileBehavior_IsLongGrass(eventObj->previousMetatileBehavior)) + if (!MetatileBehavior_IsLongGrass(objEvent->previousMetatileBehavior)) return; sprite->subspriteTableNum = 4; - if (ZCoordToPriority(eventObj->previousElevation) == 1) + if (ZCoordToPriority(objEvent->previousElevation) == 1) sprite->subspriteTableNum = 5; } @@ -7791,54 +7790,54 @@ static const u8 sUnknown_08376050[] = { 0x73, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x00, 0x00, 0x73 }; -// Each byte corresponds to a sprite priority for an event object. -// This is directly the inverse of gEventObjectPriorities_08376070. -static const u8 sEventObjectPriorities_08376060[] = { +// Each byte corresponds to a sprite priority for an object event. +// This is directly the inverse of gObjectEventPriorities_08376070. +static const u8 sObjectEventPriorities_08376060[] = { 2, 2, 2, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 0, 0, 2 }; -// Each byte corresponds to a sprite priority for an event object. -// This is the inverse of gEventObjectPriorities_08376060. +// Each byte corresponds to a sprite priority for an object event. +// This is the inverse of gObjectEventPriorities_08376060. // 1 = Above player sprite // 2 = Below player sprite -static const u8 sEventObjectPriorities_08376070[] = { +static const u8 sObjectEventPriorities_08376070[] = { 1, 1, 1, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 0, 0, 1, }; -void UpdateEventObjectZCoordAndPriority(struct EventObject *eventObj, struct Sprite *sprite) +void UpdateObjectEventZCoordAndPriority(struct ObjectEvent *objEvent, struct Sprite *sprite) { - if (eventObj->fixedPriority) + if (objEvent->fixedPriority) return; - EventObjectUpdateZCoord(eventObj); + ObjectEventUpdateZCoord(objEvent); - sprite->subspriteTableNum = sEventObjectPriorities_08376070[eventObj->previousElevation]; - sprite->oam.priority = sEventObjectPriorities_08376060[eventObj->previousElevation]; + sprite->subspriteTableNum = sObjectEventPriorities_08376070[objEvent->previousElevation]; + sprite->oam.priority = sObjectEventPriorities_08376060[objEvent->previousElevation]; } static void InitObjectPriorityByZCoord(struct Sprite *sprite, u8 z) { - sprite->subspriteTableNum = sEventObjectPriorities_08376070[z]; - sprite->oam.priority = sEventObjectPriorities_08376060[z]; + sprite->subspriteTableNum = sObjectEventPriorities_08376070[z]; + sprite->oam.priority = sObjectEventPriorities_08376060[z]; } u8 ZCoordToPriority(u8 z) { - return sEventObjectPriorities_08376060[z]; + return sObjectEventPriorities_08376060[z]; } -void EventObjectUpdateZCoord(struct EventObject *eventObj) +void ObjectEventUpdateZCoord(struct ObjectEvent *objEvent) { - u8 z = MapGridGetZCoordAt(eventObj->currentCoords.x, eventObj->currentCoords.y); - u8 z2 = MapGridGetZCoordAt(eventObj->previousCoords.x, eventObj->previousCoords.y); + u8 z = MapGridGetZCoordAt(objEvent->currentCoords.x, objEvent->currentCoords.y); + u8 z2 = MapGridGetZCoordAt(objEvent->previousCoords.x, objEvent->previousCoords.y); if (z == 0xF || z2 == 0xF) return; - eventObj->currentElevation = z; + objEvent->currentElevation = z; if (z != 0 && z != 0xF) - eventObj->previousElevation = z; + objEvent->previousElevation = z; } void SetObjectSubpriorityByZCoord(u8 a, struct Sprite *sprite, u8 b) @@ -7851,12 +7850,12 @@ void SetObjectSubpriorityByZCoord(u8 a, struct Sprite *sprite, u8 b) sprite->subpriority = tmp3 + sUnknown_08376050[a] + b; } -static void EventObjectUpdateSubpriority(struct EventObject *eventObj, struct Sprite *sprite) +static void ObjectEventUpdateSubpriority(struct ObjectEvent *objEvent, struct Sprite *sprite) { - if (eventObj->fixedPriority) + if (objEvent->fixedPriority) return; - SetObjectSubpriorityByZCoord(eventObj->previousElevation, sprite, 1); + SetObjectSubpriorityByZCoord(objEvent->previousElevation, sprite, 1); } bool8 AreZCoordsCompatible(u8 a, u8 b) @@ -7870,96 +7869,96 @@ bool8 AreZCoordsCompatible(u8 a, u8 b) return TRUE; } -void GroundEffect_SpawnOnTallGrass(struct EventObject *eventObj, struct Sprite *sprite) +void GroundEffect_SpawnOnTallGrass(struct ObjectEvent *objEvent, struct Sprite *sprite) { - gFieldEffectArguments[0] = eventObj->currentCoords.x; - gFieldEffectArguments[1] = eventObj->currentCoords.y; - gFieldEffectArguments[2] = eventObj->previousElevation; + gFieldEffectArguments[0] = objEvent->currentCoords.x; + gFieldEffectArguments[1] = objEvent->currentCoords.y; + gFieldEffectArguments[2] = objEvent->previousElevation; gFieldEffectArguments[3] = 2; - gFieldEffectArguments[4] = eventObj->localId << 8 | eventObj->mapNum; - gFieldEffectArguments[5] = eventObj->mapGroup; + gFieldEffectArguments[4] = objEvent->localId << 8 | objEvent->mapNum; + gFieldEffectArguments[5] = objEvent->mapGroup; gFieldEffectArguments[6] = (u8)gSaveBlock1Ptr->location.mapNum << 8 | (u8)gSaveBlock1Ptr->location.mapGroup; gFieldEffectArguments[7] = 1; FieldEffectStart(FLDEFF_TALL_GRASS); } -void GroundEffect_StepOnTallGrass(struct EventObject *eventObj, struct Sprite *sprite) +void GroundEffect_StepOnTallGrass(struct ObjectEvent *objEvent, struct Sprite *sprite) { - gFieldEffectArguments[0] = eventObj->currentCoords.x; - gFieldEffectArguments[1] = eventObj->currentCoords.y; - gFieldEffectArguments[2] = eventObj->previousElevation; + gFieldEffectArguments[0] = objEvent->currentCoords.x; + gFieldEffectArguments[1] = objEvent->currentCoords.y; + gFieldEffectArguments[2] = objEvent->previousElevation; gFieldEffectArguments[3] = 2; - gFieldEffectArguments[4] = eventObj->localId << 8 | eventObj->mapNum; - gFieldEffectArguments[5] = eventObj->mapGroup; + gFieldEffectArguments[4] = objEvent->localId << 8 | objEvent->mapNum; + gFieldEffectArguments[5] = objEvent->mapGroup; gFieldEffectArguments[6] = (u8)gSaveBlock1Ptr->location.mapNum << 8 | (u8)gSaveBlock1Ptr->location.mapGroup; gFieldEffectArguments[7] = 0; FieldEffectStart(FLDEFF_TALL_GRASS); } -void GroundEffect_SpawnOnLongGrass(struct EventObject *eventObj, struct Sprite *sprite) +void GroundEffect_SpawnOnLongGrass(struct ObjectEvent *objEvent, struct Sprite *sprite) { - gFieldEffectArguments[0] = eventObj->currentCoords.x; - gFieldEffectArguments[1] = eventObj->currentCoords.y; - gFieldEffectArguments[2] = eventObj->previousElevation; + gFieldEffectArguments[0] = objEvent->currentCoords.x; + gFieldEffectArguments[1] = objEvent->currentCoords.y; + gFieldEffectArguments[2] = objEvent->previousElevation; gFieldEffectArguments[3] = 2; - gFieldEffectArguments[4] = eventObj->localId << 8 | eventObj->mapNum; - gFieldEffectArguments[5] = eventObj->mapGroup; + gFieldEffectArguments[4] = objEvent->localId << 8 | objEvent->mapNum; + gFieldEffectArguments[5] = objEvent->mapGroup; gFieldEffectArguments[6] = (u8)gSaveBlock1Ptr->location.mapNum << 8 | (u8)gSaveBlock1Ptr->location.mapGroup; gFieldEffectArguments[7] = 1; FieldEffectStart(FLDEFF_LONG_GRASS); } -void GroundEffect_StepOnLongGrass(struct EventObject *eventObj, struct Sprite *sprite) +void GroundEffect_StepOnLongGrass(struct ObjectEvent *objEvent, struct Sprite *sprite) { - gFieldEffectArguments[0] = eventObj->currentCoords.x; - gFieldEffectArguments[1] = eventObj->currentCoords.y; - gFieldEffectArguments[2] = eventObj->previousElevation; + gFieldEffectArguments[0] = objEvent->currentCoords.x; + gFieldEffectArguments[1] = objEvent->currentCoords.y; + gFieldEffectArguments[2] = objEvent->previousElevation; gFieldEffectArguments[3] = 2; - gFieldEffectArguments[4] = (eventObj->localId << 8) | eventObj->mapNum; - gFieldEffectArguments[5] = eventObj->mapGroup; + gFieldEffectArguments[4] = (objEvent->localId << 8) | objEvent->mapNum; + gFieldEffectArguments[5] = objEvent->mapGroup; gFieldEffectArguments[6] = (u8)gSaveBlock1Ptr->location.mapNum << 8 | (u8)gSaveBlock1Ptr->location.mapGroup; gFieldEffectArguments[7] = 0; FieldEffectStart(FLDEFF_LONG_GRASS); } -void GroundEffect_WaterReflection(struct EventObject *eventObj, struct Sprite *sprite) +void GroundEffect_WaterReflection(struct ObjectEvent *objEvent, struct Sprite *sprite) { - SetUpReflection(eventObj, sprite, 0); + SetUpReflection(objEvent, sprite, 0); } -void GroundEffect_IceReflection(struct EventObject *eventObj, struct Sprite *sprite) +void GroundEffect_IceReflection(struct ObjectEvent *objEvent, struct Sprite *sprite) { - SetUpReflection(eventObj, sprite, 1); + SetUpReflection(objEvent, sprite, 1); } -void GroundEffect_FlowingWater(struct EventObject *eventObj, struct Sprite *sprite) +void GroundEffect_FlowingWater(struct ObjectEvent *objEvent, struct Sprite *sprite) { - StartFieldEffectForEventObject(FLDEFF_FEET_IN_FLOWING_WATER, eventObj); + StartFieldEffectForObjectEvent(FLDEFF_FEET_IN_FLOWING_WATER, objEvent); } -static void (*const sGroundEffectTracksFuncs[])(struct EventObject *eventObj, struct Sprite *sprite, u8 a) = { +static void (*const sGroundEffectTracksFuncs[])(struct ObjectEvent *objEvent, struct Sprite *sprite, u8 a) = { DoTracksGroundEffect_None, DoTracksGroundEffect_Footprints, DoTracksGroundEffect_BikeTireTracks, }; -void GroundEffect_SandTracks(struct EventObject *eventObj, struct Sprite *sprite) +void GroundEffect_SandTracks(struct ObjectEvent *objEvent, struct Sprite *sprite) { - const struct EventObjectGraphicsInfo *info = GetEventObjectGraphicsInfo(eventObj->graphicsId); - sGroundEffectTracksFuncs[info->tracks](eventObj, sprite, 0); + const struct ObjectEventGraphicsInfo *info = GetObjectEventGraphicsInfo(objEvent->graphicsId); + sGroundEffectTracksFuncs[info->tracks](objEvent, sprite, 0); } -void GroundEffect_DeepSandTracks(struct EventObject *eventObj, struct Sprite *sprite) +void GroundEffect_DeepSandTracks(struct ObjectEvent *objEvent, struct Sprite *sprite) { - const struct EventObjectGraphicsInfo *info = GetEventObjectGraphicsInfo(eventObj->graphicsId); - sGroundEffectTracksFuncs[info->tracks](eventObj, sprite, 1); + const struct ObjectEventGraphicsInfo *info = GetObjectEventGraphicsInfo(objEvent->graphicsId); + sGroundEffectTracksFuncs[info->tracks](objEvent, sprite, 1); } -static void DoTracksGroundEffect_None(struct EventObject *eventObj, struct Sprite *sprite, u8 a) +static void DoTracksGroundEffect_None(struct ObjectEvent *objEvent, struct Sprite *sprite, u8 a) { } -static void DoTracksGroundEffect_Footprints(struct EventObject *eventObj, struct Sprite *sprite, u8 a) +static void DoTracksGroundEffect_Footprints(struct ObjectEvent *objEvent, struct Sprite *sprite, u8 a) { // First half-word is a Field Effect script id. (gFieldEffectScriptPointers) u16 sandFootprints_FieldEffectData[2] = { @@ -7967,15 +7966,15 @@ static void DoTracksGroundEffect_Footprints(struct EventObject *eventObj, struct FLDEFF_DEEP_SAND_FOOTPRINTS }; - gFieldEffectArguments[0] = eventObj->previousCoords.x; - gFieldEffectArguments[1] = eventObj->previousCoords.y; + gFieldEffectArguments[0] = objEvent->previousCoords.x; + gFieldEffectArguments[1] = objEvent->previousCoords.y; gFieldEffectArguments[2] = 149; gFieldEffectArguments[3] = 2; - gFieldEffectArguments[4] = eventObj->facingDirection; + gFieldEffectArguments[4] = objEvent->facingDirection; FieldEffectStart(sandFootprints_FieldEffectData[a]); } -static void DoTracksGroundEffect_BikeTireTracks(struct EventObject *eventObj, struct Sprite *sprite, u8 a) +static void DoTracksGroundEffect_BikeTireTracks(struct ObjectEvent *objEvent, struct Sprite *sprite, u8 a) { // Specifies which bike track shape to show next. // For example, when the bike turns from up to right, it will show @@ -7990,108 +7989,108 @@ static void DoTracksGroundEffect_BikeTireTracks(struct EventObject *eventObj, st 6, 7, 3, 4, }; - if (eventObj->currentCoords.x != eventObj->previousCoords.x || eventObj->currentCoords.y != eventObj->previousCoords.y) + if (objEvent->currentCoords.x != objEvent->previousCoords.x || objEvent->currentCoords.y != objEvent->previousCoords.y) { - gFieldEffectArguments[0] = eventObj->previousCoords.x; - gFieldEffectArguments[1] = eventObj->previousCoords.y; + gFieldEffectArguments[0] = objEvent->previousCoords.x; + gFieldEffectArguments[1] = objEvent->previousCoords.y; gFieldEffectArguments[2] = 149; gFieldEffectArguments[3] = 2; gFieldEffectArguments[4] = - bikeTireTracks_Transitions[eventObj->previousMovementDirection][eventObj->facingDirection - 5]; + bikeTireTracks_Transitions[objEvent->previousMovementDirection][objEvent->facingDirection - 5]; FieldEffectStart(FLDEFF_BIKE_TIRE_TRACKS); } } -void GroundEffect_Ripple(struct EventObject *eventObj, struct Sprite *sprite) +void GroundEffect_Ripple(struct ObjectEvent *objEvent, struct Sprite *sprite) { - DoRippleFieldEffect(eventObj, sprite); + DoRippleFieldEffect(objEvent, sprite); } -void GroundEffect_StepOnPuddle(struct EventObject *eventObj, struct Sprite *sprite) +void GroundEffect_StepOnPuddle(struct ObjectEvent *objEvent, struct Sprite *sprite) { - StartFieldEffectForEventObject(FLDEFF_SPLASH, eventObj); + StartFieldEffectForObjectEvent(FLDEFF_SPLASH, objEvent); } -void GroundEffect_SandHeap(struct EventObject *eventObj, struct Sprite *sprite) +void GroundEffect_SandHeap(struct ObjectEvent *objEvent, struct Sprite *sprite) { - StartFieldEffectForEventObject(FLDEFF_SAND_PILE, eventObj); + StartFieldEffectForObjectEvent(FLDEFF_SAND_PILE, objEvent); } -void GroundEffect_JumpOnTallGrass(struct EventObject *eventObj, struct Sprite *sprite) +void GroundEffect_JumpOnTallGrass(struct ObjectEvent *objEvent, struct Sprite *sprite) { u8 spriteId; - gFieldEffectArguments[0] = eventObj->currentCoords.x; - gFieldEffectArguments[1] = eventObj->currentCoords.y; - gFieldEffectArguments[2] = eventObj->previousElevation; + gFieldEffectArguments[0] = objEvent->currentCoords.x; + gFieldEffectArguments[1] = objEvent->currentCoords.y; + gFieldEffectArguments[2] = objEvent->previousElevation; gFieldEffectArguments[3] = 2; FieldEffectStart(FLDEFF_JUMP_TALL_GRASS); spriteId = FindTallGrassFieldEffectSpriteId( - eventObj->localId, - eventObj->mapNum, - eventObj->mapGroup, - eventObj->currentCoords.x, - eventObj->currentCoords.y); + objEvent->localId, + objEvent->mapNum, + objEvent->mapGroup, + objEvent->currentCoords.x, + objEvent->currentCoords.y); if (spriteId == MAX_SPRITES) - GroundEffect_SpawnOnTallGrass(eventObj, sprite); + GroundEffect_SpawnOnTallGrass(objEvent, sprite); } -void GroundEffect_JumpOnLongGrass(struct EventObject *eventObj, struct Sprite *sprite) +void GroundEffect_JumpOnLongGrass(struct ObjectEvent *objEvent, struct Sprite *sprite) { - gFieldEffectArguments[0] = eventObj->currentCoords.x; - gFieldEffectArguments[1] = eventObj->currentCoords.y; - gFieldEffectArguments[2] = eventObj->previousElevation; + gFieldEffectArguments[0] = objEvent->currentCoords.x; + gFieldEffectArguments[1] = objEvent->currentCoords.y; + gFieldEffectArguments[2] = objEvent->previousElevation; gFieldEffectArguments[3] = 2; FieldEffectStart(FLDEFF_JUMP_LONG_GRASS); } -void GroundEffect_JumpOnShallowWater(struct EventObject *eventObj, struct Sprite *sprite) +void GroundEffect_JumpOnShallowWater(struct ObjectEvent *objEvent, struct Sprite *sprite) { - gFieldEffectArguments[0] = eventObj->currentCoords.x; - gFieldEffectArguments[1] = eventObj->currentCoords.y; - gFieldEffectArguments[2] = eventObj->previousElevation; + gFieldEffectArguments[0] = objEvent->currentCoords.x; + gFieldEffectArguments[1] = objEvent->currentCoords.y; + gFieldEffectArguments[2] = objEvent->previousElevation; gFieldEffectArguments[3] = sprite->oam.priority; FieldEffectStart(FLDEFF_JUMP_SMALL_SPLASH); } -void GroundEffect_JumpOnWater(struct EventObject *eventObj, struct Sprite *sprite) +void GroundEffect_JumpOnWater(struct ObjectEvent *objEvent, struct Sprite *sprite) { - gFieldEffectArguments[0] = eventObj->currentCoords.x; - gFieldEffectArguments[1] = eventObj->currentCoords.y; - gFieldEffectArguments[2] = eventObj->previousElevation; + gFieldEffectArguments[0] = objEvent->currentCoords.x; + gFieldEffectArguments[1] = objEvent->currentCoords.y; + gFieldEffectArguments[2] = objEvent->previousElevation; gFieldEffectArguments[3] = sprite->oam.priority; FieldEffectStart(FLDEFF_JUMP_BIG_SPLASH); } -void GroundEffect_JumpLandingDust(struct EventObject *eventObj, struct Sprite *sprite) +void GroundEffect_JumpLandingDust(struct ObjectEvent *objEvent, struct Sprite *sprite) { - gFieldEffectArguments[0] = eventObj->currentCoords.x; - gFieldEffectArguments[1] = eventObj->currentCoords.y; - gFieldEffectArguments[2] = eventObj->previousElevation; + gFieldEffectArguments[0] = objEvent->currentCoords.x; + gFieldEffectArguments[1] = objEvent->currentCoords.y; + gFieldEffectArguments[2] = objEvent->previousElevation; gFieldEffectArguments[3] = sprite->oam.priority; FieldEffectStart(FLDEFF_DUST); } -void GroundEffect_ShortGrass(struct EventObject *eventObj, struct Sprite *sprite) +void GroundEffect_ShortGrass(struct ObjectEvent *objEvent, struct Sprite *sprite) { - StartFieldEffectForEventObject(FLDEFF_SHORT_GRASS, eventObj); + StartFieldEffectForObjectEvent(FLDEFF_SHORT_GRASS, objEvent); } -void GroundEffect_HotSprings(struct EventObject *eventObj, struct Sprite *sprite) +void GroundEffect_HotSprings(struct ObjectEvent *objEvent, struct Sprite *sprite) { - StartFieldEffectForEventObject(FLDEFF_HOT_SPRINGS_WATER, eventObj); + StartFieldEffectForObjectEvent(FLDEFF_HOT_SPRINGS_WATER, objEvent); } -void GroundEffect_Seaweed(struct EventObject *eventObj, struct Sprite *sprite) +void GroundEffect_Seaweed(struct ObjectEvent *objEvent, struct Sprite *sprite) { - gFieldEffectArguments[0] = eventObj->currentCoords.x; - gFieldEffectArguments[1] = eventObj->currentCoords.y; + gFieldEffectArguments[0] = objEvent->currentCoords.x; + gFieldEffectArguments[1] = objEvent->currentCoords.y; FieldEffectStart(FLDEFF_BUBBLES); } -static void (*const sGroundEffectFuncs[])(struct EventObject *eventObj, struct Sprite *sprite) = { +static void (*const sGroundEffectFuncs[])(struct ObjectEvent *objEvent, struct Sprite *sprite) = { GroundEffect_SpawnOnTallGrass, GroundEffect_StepOnTallGrass, GroundEffect_SpawnOnLongGrass, @@ -8114,26 +8113,26 @@ static void (*const sGroundEffectFuncs[])(struct EventObject *eventObj, struct S GroundEffect_Seaweed }; -static void DoFlaggedGroundEffects(struct EventObject *eventObj, struct Sprite *sprite, u32 flags) +static void DoFlaggedGroundEffects(struct ObjectEvent *objEvent, struct Sprite *sprite, u32 flags) { u8 i; - if (EventObjectIsFarawayIslandMew(eventObj) == TRUE && !sub_81D4A58(eventObj)) + if (ObjectEventIsFarawayIslandMew(objEvent) == TRUE && !sub_81D4A58(objEvent)) return; for (i = 0; i < ARRAY_COUNT(sGroundEffectFuncs); i++, flags >>= 1) if (flags & 1) - sGroundEffectFuncs[i](eventObj, sprite); + sGroundEffectFuncs[i](objEvent, sprite); } -void filters_out_some_ground_effects(struct EventObject *eventObj, u32 *flags) +void filters_out_some_ground_effects(struct ObjectEvent *objEvent, u32 *flags) { - if (eventObj->disableCoveringGroundEffects) + if (objEvent->disableCoveringGroundEffects) { - eventObj->inShortGrass = 0; - eventObj->inSandPile = 0; - eventObj->inShallowFlowingWater = 0; - eventObj->inHotSprings = 0; + objEvent->inShortGrass = 0; + objEvent->inSandPile = 0; + objEvent->inShallowFlowingWater = 0; + objEvent->inHotSprings = 0; *flags &= ~(GROUND_EFFECT_FLAG_HOT_SPRINGS | GROUND_EFFECT_FLAG_SHORT_GRASS | GROUND_EFFECT_FLAG_SAND_PILE @@ -8142,111 +8141,111 @@ void filters_out_some_ground_effects(struct EventObject *eventObj, u32 *flags) } } -void FilterOutStepOnPuddleGroundEffectIfJumping(struct EventObject *eventObj, u32 *flags) +void FilterOutStepOnPuddleGroundEffectIfJumping(struct ObjectEvent *objEvent, u32 *flags) { - if (eventObj->landingJump) + if (objEvent->landingJump) *flags &= ~GROUND_EFFECT_FLAG_PUDDLE; } -static void DoGroundEffects_OnSpawn(struct EventObject *eventObj, struct Sprite *sprite) +static void DoGroundEffects_OnSpawn(struct ObjectEvent *objEvent, struct Sprite *sprite) { u32 flags; - if (eventObj->triggerGroundEffectsOnMove) + if (objEvent->triggerGroundEffectsOnMove) { flags = 0; - UpdateEventObjectZCoordAndPriority(eventObj, sprite); - GetAllGroundEffectFlags_OnSpawn(eventObj, &flags); - SetEventObjectSpriteOamTableForLongGrass(eventObj, sprite); - DoFlaggedGroundEffects(eventObj, sprite, flags); - eventObj->triggerGroundEffectsOnMove = 0; - eventObj->disableCoveringGroundEffects = 0; + UpdateObjectEventZCoordAndPriority(objEvent, sprite); + GetAllGroundEffectFlags_OnSpawn(objEvent, &flags); + SetObjectEventSpriteOamTableForLongGrass(objEvent, sprite); + DoFlaggedGroundEffects(objEvent, sprite, flags); + objEvent->triggerGroundEffectsOnMove = 0; + objEvent->disableCoveringGroundEffects = 0; } } -static void DoGroundEffects_OnBeginStep(struct EventObject *eventObj, struct Sprite *sprite) +static void DoGroundEffects_OnBeginStep(struct ObjectEvent *objEvent, struct Sprite *sprite) { u32 flags; - if (eventObj->triggerGroundEffectsOnMove) + if (objEvent->triggerGroundEffectsOnMove) { flags = 0; - UpdateEventObjectZCoordAndPriority(eventObj, sprite); - GetAllGroundEffectFlags_OnBeginStep(eventObj, &flags); - SetEventObjectSpriteOamTableForLongGrass(eventObj, sprite); - filters_out_some_ground_effects(eventObj, &flags); - DoFlaggedGroundEffects(eventObj, sprite, flags); - eventObj->triggerGroundEffectsOnMove = 0; - eventObj->disableCoveringGroundEffects = 0; + UpdateObjectEventZCoordAndPriority(objEvent, sprite); + GetAllGroundEffectFlags_OnBeginStep(objEvent, &flags); + SetObjectEventSpriteOamTableForLongGrass(objEvent, sprite); + filters_out_some_ground_effects(objEvent, &flags); + DoFlaggedGroundEffects(objEvent, sprite, flags); + objEvent->triggerGroundEffectsOnMove = 0; + objEvent->disableCoveringGroundEffects = 0; } } -static void DoGroundEffects_OnFinishStep(struct EventObject *eventObj, struct Sprite *sprite) +static void DoGroundEffects_OnFinishStep(struct ObjectEvent *objEvent, struct Sprite *sprite) { u32 flags; - if (eventObj->triggerGroundEffectsOnStop) + if (objEvent->triggerGroundEffectsOnStop) { flags = 0; - UpdateEventObjectZCoordAndPriority(eventObj, sprite); - GetAllGroundEffectFlags_OnFinishStep(eventObj, &flags); - SetEventObjectSpriteOamTableForLongGrass(eventObj, sprite); - FilterOutStepOnPuddleGroundEffectIfJumping(eventObj, &flags); - DoFlaggedGroundEffects(eventObj, sprite, flags); - eventObj->triggerGroundEffectsOnStop = 0; - eventObj->landingJump = 0; + UpdateObjectEventZCoordAndPriority(objEvent, sprite); + GetAllGroundEffectFlags_OnFinishStep(objEvent, &flags); + SetObjectEventSpriteOamTableForLongGrass(objEvent, sprite); + FilterOutStepOnPuddleGroundEffectIfJumping(objEvent, &flags); + DoFlaggedGroundEffects(objEvent, sprite, flags); + objEvent->triggerGroundEffectsOnStop = 0; + objEvent->landingJump = 0; } } -bool8 FreezeEventObject(struct EventObject *eventObject) +bool8 FreezeObjectEvent(struct ObjectEvent *objectEvent) { - if (eventObject->heldMovementActive || eventObject->frozen) + if (objectEvent->heldMovementActive || objectEvent->frozen) { return TRUE; } else { - eventObject->frozen = 1; - eventObject->spriteAnimPausedBackup = gSprites[eventObject->spriteId].animPaused; - eventObject->spriteAffineAnimPausedBackup = gSprites[eventObject->spriteId].affineAnimPaused; - gSprites[eventObject->spriteId].animPaused = 1; - gSprites[eventObject->spriteId].affineAnimPaused = 1; + objectEvent->frozen = 1; + objectEvent->spriteAnimPausedBackup = gSprites[objectEvent->spriteId].animPaused; + objectEvent->spriteAffineAnimPausedBackup = gSprites[objectEvent->spriteId].affineAnimPaused; + gSprites[objectEvent->spriteId].animPaused = 1; + gSprites[objectEvent->spriteId].affineAnimPaused = 1; return FALSE; } } -void FreezeEventObjects(void) +void FreezeObjectEvents(void) { u8 i; - for (i = 0; i < EVENT_OBJECTS_COUNT; i++) - if (gEventObjects[i].active && i != gPlayerAvatar.eventObjectId) - FreezeEventObject(&gEventObjects[i]); + for (i = 0; i < OBJECT_EVENTS_COUNT; i++) + if (gObjectEvents[i].active && i != gPlayerAvatar.objectEventId) + FreezeObjectEvent(&gObjectEvents[i]); } -void FreezeEventObjectsExceptOne(u8 eventObjectId) +void FreezeObjectEventsExceptOne(u8 objectEventId) { u8 i; - for (i = 0; i < EVENT_OBJECTS_COUNT; i++) - if (i != eventObjectId && gEventObjects[i].active && i != gPlayerAvatar.eventObjectId) - FreezeEventObject(&gEventObjects[i]); + for (i = 0; i < OBJECT_EVENTS_COUNT; i++) + if (i != objectEventId && gObjectEvents[i].active && i != gPlayerAvatar.objectEventId) + FreezeObjectEvent(&gObjectEvents[i]); } -void UnfreezeEventObject(struct EventObject *eventObject) +void UnfreezeObjectEvent(struct ObjectEvent *objectEvent) { - if (eventObject->active && eventObject->frozen) + if (objectEvent->active && objectEvent->frozen) { - eventObject->frozen = 0; - gSprites[eventObject->spriteId].animPaused = eventObject->spriteAnimPausedBackup; - gSprites[eventObject->spriteId].affineAnimPaused = eventObject->spriteAffineAnimPausedBackup; + objectEvent->frozen = 0; + gSprites[objectEvent->spriteId].animPaused = objectEvent->spriteAnimPausedBackup; + gSprites[objectEvent->spriteId].affineAnimPaused = objectEvent->spriteAffineAnimPausedBackup; } } -void UnfreezeEventObjects(void) +void UnfreezeObjectEvents(void) { u8 i; - for (i = 0; i < EVENT_OBJECTS_COUNT; i++) - if (gEventObjects[i].active) - UnfreezeEventObject(&gEventObjects[i]); + for (i = 0; i < OBJECT_EVENTS_COUNT; i++) + if (gObjectEvents[i].active) + UnfreezeObjectEvent(&gObjectEvents[i]); } static void Step1(struct Sprite *sprite, u8 dir) @@ -8601,7 +8600,7 @@ bool8 SpriteAnimEnded(struct Sprite *sprite) return FALSE; } -void UpdateEventObjectSpriteVisibility(struct Sprite *sprite, bool8 invisible) +void UpdateObjectEventSpriteVisibility(struct Sprite *sprite, bool8 invisible) { u16 x, y; s16 x2, y2; @@ -8628,11 +8627,11 @@ void UpdateEventObjectSpriteVisibility(struct Sprite *sprite, bool8 invisible) sprite->invisible = TRUE; } -static void UpdateEventObjectSpriteSubpriorityAndVisibility(struct Sprite *sprite) +static void UpdateObjectEventSpriteSubpriorityAndVisibility(struct Sprite *sprite) { sub_8097D68(sprite); SetObjectSubpriorityByZCoord(sprite->data[1], sprite, 1); - UpdateEventObjectSpriteVisibility(sprite, sprite->data[2]); + UpdateObjectEventSpriteVisibility(sprite, sprite->data[2]); } void sub_8097AF0(void) @@ -8642,7 +8641,7 @@ void sub_8097AF0(void) for(i = 0; i < MAX_SPRITES; i++) { struct Sprite *sprite = &gSprites[i]; - if(sprite->inUse && sprite->callback == UpdateEventObjectSpriteSubpriorityAndVisibility) + if(sprite->inUse && sprite->callback == UpdateObjectEventSpriteSubpriorityAndVisibility) DestroySprite(sprite); } } @@ -8654,7 +8653,7 @@ int sub_8097B2C(u8 var) // this should return a u8, because all that call this s for(i = 0; i < MAX_SPRITES; i++) { struct Sprite *sprite = &gSprites[i]; - if(sprite->inUse && sprite->callback == UpdateEventObjectSpriteSubpriorityAndVisibility && (u8)sprite->data[0] == var) + if(sprite->inUse && sprite->callback == UpdateObjectEventSpriteSubpriorityAndVisibility && (u8)sprite->data[0] == var) return i; } return MAX_SPRITES; @@ -8675,7 +8674,7 @@ void sub_8097BB4(u8 var1, u8 graphicsId) if(spriteId != MAX_SPRITES) { struct Sprite *sprite = &gSprites[spriteId]; - const struct EventObjectGraphicsInfo *graphicsInfo = GetEventObjectGraphicsInfo(graphicsId); + const struct ObjectEventGraphicsInfo *graphicsInfo = GetObjectEventGraphicsInfo(graphicsId); u16 tileNum = sprite->oam.tileNum; sprite->oam = *graphicsInfo->oam; @@ -8799,24 +8798,24 @@ bool32 sub_8097D9C(u8 var) return FALSE; } -u32 StartFieldEffectForEventObject(u8 fieldEffectId, struct EventObject *eventObject) +u32 StartFieldEffectForObjectEvent(u8 fieldEffectId, struct ObjectEvent *objectEvent) { - EventObjectGetLocalIdAndMap(eventObject, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]); + ObjectEventGetLocalIdAndMap(objectEvent, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]); return FieldEffectStart(fieldEffectId); } -void DoShadowFieldEffect(struct EventObject *eventObject) +void DoShadowFieldEffect(struct ObjectEvent *objectEvent) { - if (!eventObject->hasShadow) + if (!objectEvent->hasShadow) { - eventObject->hasShadow = 1; - StartFieldEffectForEventObject(FLDEFF_SHADOW, eventObject); + objectEvent->hasShadow = 1; + StartFieldEffectForObjectEvent(FLDEFF_SHADOW, objectEvent); } } -static void DoRippleFieldEffect(struct EventObject *eventObject, struct Sprite *sprite) +static void DoRippleFieldEffect(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - const struct EventObjectGraphicsInfo *graphicsInfo = GetEventObjectGraphicsInfo(eventObject->graphicsId); + const struct ObjectEventGraphicsInfo *graphicsInfo = GetObjectEventGraphicsInfo(objectEvent->graphicsId); gFieldEffectArguments[0] = sprite->pos1.x; gFieldEffectArguments[1] = sprite->pos1.y + (graphicsInfo->height >> 1) - 2; gFieldEffectArguments[2] = 151; @@ -8824,38 +8823,38 @@ static void DoRippleFieldEffect(struct EventObject *eventObject, struct Sprite * FieldEffectStart(FLDEFF_RIPPLE); } -u8 (*const gMovementActionFuncs_StoreAndLockAnim[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_StoreAndLockAnim[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_StoreAndLockAnim_Step0, MovementAction_Finish, }; -u8 (*const gMovementActionFuncs_FreeAndUnlockAnim[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_FreeAndUnlockAnim[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_FreeAndUnlockAnim_Step0, MovementAction_Finish, }; -u8 (*const gMovementActionFuncs_FlyUp[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_FlyUp[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_FlyUp_Step0, MovementAction_FlyUp_Step1, MovementAction_Fly_Finish, }; -u8 (*const gMovementActionFuncs_FlyDown[])(struct EventObject *, struct Sprite *) = { +u8 (*const gMovementActionFuncs_FlyDown[])(struct ObjectEvent *, struct Sprite *) = { MovementAction_FlyDown_Step0, MovementAction_FlyDown_Step1, MovementAction_Fly_Finish, }; -u8 MovementAction_StoreAndLockAnim_Step0(struct EventObject *eventObject, struct Sprite *sprite) +u8 MovementAction_StoreAndLockAnim_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { u32 one; bool32 ableToStore = FALSE; - if (gLockedAnimEventObjects == NULL) + if (gLockedAnimObjectEvents == NULL) { - gLockedAnimEventObjects = AllocZeroed(sizeof(struct LockedAnimEventObjects)); - gLockedAnimEventObjects->eventObjectIds[0] = eventObject->localId; + gLockedAnimObjectEvents = AllocZeroed(sizeof(struct LockedAnimObjectEvents)); + gLockedAnimObjectEvents->objectEventIds[0] = objectEvent->localId; // needed to match - gLockedAnimEventObjects->count = (one = 1); + gLockedAnimObjectEvents->count = (one = 1); ableToStore = one; } else @@ -8865,10 +8864,10 @@ u8 MovementAction_StoreAndLockAnim_Step0(struct EventObject *eventObject, struct bool32 found; for (firstFreeSlot = 16, found = FALSE, i = 0; i < 16; i++) { - if (firstFreeSlot == 16 && gLockedAnimEventObjects->eventObjectIds[i] == 0) + if (firstFreeSlot == 16 && gLockedAnimObjectEvents->objectEventIds[i] == 0) firstFreeSlot = i; - if (gLockedAnimEventObjects->eventObjectIds[i] == eventObject->localId) + if (gLockedAnimObjectEvents->objectEventIds[i] == objectEvent->localId) { found = TRUE; break; @@ -8877,44 +8876,44 @@ u8 MovementAction_StoreAndLockAnim_Step0(struct EventObject *eventObject, struct if (!found && firstFreeSlot != 16) { - gLockedAnimEventObjects->eventObjectIds[firstFreeSlot] = eventObject->localId; - gLockedAnimEventObjects->count++; + gLockedAnimObjectEvents->objectEventIds[firstFreeSlot] = objectEvent->localId; + gLockedAnimObjectEvents->count++; ableToStore = TRUE; } } if (ableToStore == TRUE) { - eventObject->inanimate = TRUE; - eventObject->facingDirectionLocked = TRUE; + objectEvent->inanimate = TRUE; + objectEvent->facingDirectionLocked = TRUE; } sprite->data[2] = 1; return TRUE; } -u8 MovementAction_FreeAndUnlockAnim_Step0(struct EventObject *eventObject, struct Sprite *sprite) +u8 MovementAction_FreeAndUnlockAnim_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { bool32 ableToStore; u8 index; sprite->data[2] = 1; - if (gLockedAnimEventObjects != NULL) + if (gLockedAnimObjectEvents != NULL) { ableToStore = FALSE; - index = FindLockedEventObjectIndex(eventObject); + index = FindLockedObjectEventIndex(objectEvent); if (index != 16) { - gLockedAnimEventObjects->eventObjectIds[index] = 0; - gLockedAnimEventObjects->count--; + gLockedAnimObjectEvents->objectEventIds[index] = 0; + gLockedAnimObjectEvents->count--; ableToStore = TRUE; } - if (gLockedAnimEventObjects->count == 0) - FREE_AND_SET_NULL(gLockedAnimEventObjects); + if (gLockedAnimObjectEvents->count == 0) + FREE_AND_SET_NULL(gLockedAnimObjectEvents); if (ableToStore == TRUE) { - eventObject->inanimate = GetEventObjectGraphicsInfo(eventObject->graphicsId)->inanimate; - eventObject->facingDirectionLocked = FALSE; + objectEvent->inanimate = GetObjectEventGraphicsInfo(objectEvent->graphicsId)->inanimate; + objectEvent->facingDirectionLocked = FALSE; sprite->animPaused = 0; } } @@ -8922,36 +8921,36 @@ u8 MovementAction_FreeAndUnlockAnim_Step0(struct EventObject *eventObject, struc return TRUE; } -u8 FindLockedEventObjectIndex(struct EventObject *eventObject) +u8 FindLockedObjectEventIndex(struct ObjectEvent *objectEvent) { u8 i; - for (i = 0; i < EVENT_OBJECTS_COUNT; i++) + for (i = 0; i < OBJECT_EVENTS_COUNT; i++) { - if (gLockedAnimEventObjects->eventObjectIds[i] == eventObject->localId) + if (gLockedAnimObjectEvents->objectEventIds[i] == objectEvent->localId) return i; } - return EVENT_OBJECTS_COUNT; + return OBJECT_EVENTS_COUNT; } -void CreateLevitateMovementTask(struct EventObject *eventObject) +void CreateLevitateMovementTask(struct ObjectEvent *objectEvent) { u8 taskId = CreateTask(ApplyLevitateMovement, 0xFF); struct Task *task = &gTasks[taskId]; - StoreWordInTwoHalfwords(&task->data[0], (u32)eventObject); - eventObject->warpArrowSpriteId = taskId; + StoreWordInTwoHalfwords(&task->data[0], (u32)objectEvent); + objectEvent->warpArrowSpriteId = taskId; task->data[3] = 0xFFFF; } static void ApplyLevitateMovement(u8 taskId) { - struct EventObject *eventObject; + struct ObjectEvent *objectEvent; struct Sprite *sprite; struct Task *task = &gTasks[taskId]; - LoadWordFromTwoHalfwords(&task->data[0], (u32 *)&eventObject); // load the map object pointer. - sprite = &gSprites[eventObject->spriteId]; + LoadWordFromTwoHalfwords(&task->data[0], (u32 *)&objectEvent); // load the map object pointer. + sprite = &gSprites[objectEvent->spriteId]; if(!(task->data[2] & 0x3)) sprite->pos2.y += task->data[3]; @@ -8964,10 +8963,10 @@ static void ApplyLevitateMovement(u8 taskId) void DestroyExtraMovementTask(u8 taskId) { - struct EventObject *eventObject; + struct ObjectEvent *objectEvent; struct Task *task = &gTasks[taskId]; - LoadWordFromTwoHalfwords(&task->data[0], (u32 *)&eventObject); // unused eventObject + LoadWordFromTwoHalfwords(&task->data[0], (u32 *)&objectEvent); // unused objectEvent DestroyTask(taskId); } @@ -8975,22 +8974,22 @@ void sub_8098074(u8 var1, u8 var2) { u8 i; - for(i = 0; i < EVENT_OBJECTS_COUNT; i++) + for(i = 0; i < OBJECT_EVENTS_COUNT; i++) { if(i != var1 && i != var2 && - gEventObjects[i].active && i != gPlayerAvatar.eventObjectId) - FreezeEventObject(&gEventObjects[i]); + gObjectEvents[i].active && i != gPlayerAvatar.objectEventId) + FreezeObjectEvent(&gObjectEvents[i]); } } -u8 MovementAction_FlyUp_Step0(struct EventObject *eventObject, struct Sprite *sprite) +u8 MovementAction_FlyUp_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { sprite->pos2.y = 0; sprite->data[2]++; return FALSE; } -u8 MovementAction_FlyUp_Step1(struct EventObject *eventObject, struct Sprite *sprite) +u8 MovementAction_FlyUp_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { sprite->pos2.y -= 8; @@ -8999,14 +8998,14 @@ u8 MovementAction_FlyUp_Step1(struct EventObject *eventObject, struct Sprite *sp return FALSE; } -u8 MovementAction_FlyDown_Step0(struct EventObject *eventObject, struct Sprite *sprite) +u8 MovementAction_FlyDown_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { sprite->pos2.y = -160; sprite->data[2]++; return FALSE; } -u8 MovementAction_FlyDown_Step1(struct EventObject *eventObject, struct Sprite *sprite) +u8 MovementAction_FlyDown_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { sprite->pos2.y += 8; @@ -9016,7 +9015,7 @@ u8 MovementAction_FlyDown_Step1(struct EventObject *eventObject, struct Sprite * } // though this function returns TRUE without doing anything, this header is required due to being in an array of functions which needs it. -u8 MovementAction_Fly_Finish(struct EventObject *eventObject, struct Sprite *sprite) +u8 MovementAction_Fly_Finish(struct ObjectEvent *objectEvent, struct Sprite *sprite) { return TRUE; } diff --git a/src/faraway_island.c b/src/faraway_island.c index 6a835a02b..f8e3eac14 100755 --- a/src/faraway_island.c +++ b/src/faraway_island.c @@ -12,10 +12,10 @@ #include "constants/vars.h" static u8 sub_81D4890(u8); -static bool8 sub_81D4C14(struct EventObject*, u8); -static u8 sub_81D4C9C(struct EventObject*, u8); -static u8 sub_81D4C58(struct EventObject*, u8); -static u8 sub_81D4CE0(struct EventObject*, u8); +static bool8 sub_81D4C14(struct ObjectEvent*, u8); +static u8 sub_81D4C9C(struct ObjectEvent*, u8); +static u8 sub_81D4C58(struct ObjectEvent*, u8); +static u8 sub_81D4CE0(struct ObjectEvent*, u8); static u8 sub_81D4D24(u8); static bool8 CanMewWalkToCoords(s16, s16); @@ -36,26 +36,26 @@ static const s16 sFarawayIslandRockCoords[4][2] = {20, 20}, }; -static u8 GetMewEventObjectId(void) +static u8 GetMewObjectEventId(void) { - u8 eventObjectId; - TryGetEventObjectIdByLocalIdAndMap(1, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, &eventObjectId); - return eventObjectId; + u8 objectEventId; + TryGetObjectEventIdByLocalIdAndMap(1, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, &objectEventId); + return objectEventId; } u32 GetMewMoveDirection(void) { u8 i; int skip; - struct EventObject *mew = &gEventObjects[GetMewEventObjectId()]; + struct ObjectEvent *mew = &gObjectEvents[GetMewObjectEventId()]; - sPlayerToMewDeltaX = gEventObjects[gPlayerAvatar.eventObjectId].previousCoords.x - mew->currentCoords.x; - sPlayerToMewDeltaY = gEventObjects[gPlayerAvatar.eventObjectId].previousCoords.y - mew->currentCoords.y; + sPlayerToMewDeltaX = gObjectEvents[gPlayerAvatar.objectEventId].previousCoords.x - mew->currentCoords.x; + sPlayerToMewDeltaY = gObjectEvents[gPlayerAvatar.objectEventId].previousCoords.y - mew->currentCoords.y; for (i = 0; i < ARRAY_COUNT(sMewDirectionCandidates); i++) sMewDirectionCandidates[i] = DIR_NONE; - if (gEventObjects[gPlayerAvatar.eventObjectId].previousCoords.x == gEventObjects[gPlayerAvatar.eventObjectId].currentCoords.x - && gEventObjects[gPlayerAvatar.eventObjectId].previousCoords.y == gEventObjects[gPlayerAvatar.eventObjectId].currentCoords.y) + if (gObjectEvents[gPlayerAvatar.objectEventId].previousCoords.x == gObjectEvents[gPlayerAvatar.objectEventId].currentCoords.x + && gObjectEvents[gPlayerAvatar.objectEventId].previousCoords.y == gObjectEvents[gPlayerAvatar.objectEventId].currentCoords.y) { return DIR_NONE; } @@ -70,10 +70,10 @@ u32 GetMewMoveDirection(void) for (i = 0; i < ARRAY_COUNT(sFarawayIslandRockCoords); i++) { - if (gEventObjects[gPlayerAvatar.eventObjectId].previousCoords.x == sFarawayIslandRockCoords[i][0]) + if (gObjectEvents[gPlayerAvatar.objectEventId].previousCoords.x == sFarawayIslandRockCoords[i][0]) { skip = 0; - if (gEventObjects[gPlayerAvatar.eventObjectId].previousCoords.y < sFarawayIslandRockCoords[i][1]) + if (gObjectEvents[gPlayerAvatar.objectEventId].previousCoords.y < sFarawayIslandRockCoords[i][1]) { if (mew->currentCoords.y <= sFarawayIslandRockCoords[i][1]) skip = 1; @@ -88,7 +88,7 @@ u32 GetMewMoveDirection(void) { if (sPlayerToMewDeltaX > 0) { - if (mew->currentCoords.x + 1 == gEventObjects[gPlayerAvatar.eventObjectId].previousCoords.x) + if (mew->currentCoords.x + 1 == gObjectEvents[gPlayerAvatar.objectEventId].previousCoords.x) { if (CanMewWalkToCoords(mew->currentCoords.x + 1, mew->currentCoords.y)) return DIR_EAST; @@ -96,14 +96,14 @@ u32 GetMewMoveDirection(void) } else if (sPlayerToMewDeltaX < 0) { - if (mew->currentCoords.x - 1 == gEventObjects[gPlayerAvatar.eventObjectId].previousCoords.x) + if (mew->currentCoords.x - 1 == gObjectEvents[gPlayerAvatar.objectEventId].previousCoords.x) { if (CanMewWalkToCoords(mew->currentCoords.x - 1, mew->currentCoords.y)) return DIR_WEST; } } - if (mew->currentCoords.x == gEventObjects[gPlayerAvatar.eventObjectId].previousCoords.x) + if (mew->currentCoords.x == gObjectEvents[gPlayerAvatar.objectEventId].previousCoords.x) { if (sPlayerToMewDeltaY > 0) { @@ -119,10 +119,10 @@ u32 GetMewMoveDirection(void) } } - if (gEventObjects[gPlayerAvatar.eventObjectId].previousCoords.y == sFarawayIslandRockCoords[i][1]) + if (gObjectEvents[gPlayerAvatar.objectEventId].previousCoords.y == sFarawayIslandRockCoords[i][1]) { skip = 0; - if (gEventObjects[gPlayerAvatar.eventObjectId].previousCoords.x < sFarawayIslandRockCoords[i][0]) + if (gObjectEvents[gPlayerAvatar.objectEventId].previousCoords.x < sFarawayIslandRockCoords[i][0]) { if (mew->currentCoords.x <= sFarawayIslandRockCoords[i][0]) skip = 1; @@ -137,7 +137,7 @@ u32 GetMewMoveDirection(void) { if (sPlayerToMewDeltaY > 0) { - if (mew->currentCoords.y + 1 == gEventObjects[gPlayerAvatar.eventObjectId].previousCoords.y) + if (mew->currentCoords.y + 1 == gObjectEvents[gPlayerAvatar.objectEventId].previousCoords.y) { if (CanMewWalkToCoords(mew->currentCoords.x, mew->currentCoords.y + 1)) return DIR_SOUTH; @@ -145,14 +145,14 @@ u32 GetMewMoveDirection(void) } else if (sPlayerToMewDeltaY < 0) { - if (mew->currentCoords.y - 1 == gEventObjects[gPlayerAvatar.eventObjectId].previousCoords.y) + if (mew->currentCoords.y - 1 == gObjectEvents[gPlayerAvatar.objectEventId].previousCoords.y) { if (CanMewWalkToCoords(mew->currentCoords.x, mew->currentCoords.y - 1)) return DIR_NORTH; } } - if (mew->currentCoords.y == gEventObjects[gPlayerAvatar.eventObjectId].previousCoords.y) + if (mew->currentCoords.y == gObjectEvents[gPlayerAvatar.objectEventId].previousCoords.y) { if (sPlayerToMewDeltaX > 0) { @@ -211,13 +211,13 @@ u32 GetMewMoveDirection(void) if (sPlayerToMewDeltaY == 0) { - if (gEventObjects[gPlayerAvatar.eventObjectId].currentCoords.y > mew->currentCoords.y) + if (gObjectEvents[gPlayerAvatar.objectEventId].currentCoords.y > mew->currentCoords.y) { if (CanMewWalkToCoords(mew->currentCoords.x, mew->currentCoords.y - 1)) return DIR_NORTH; } - if (gEventObjects[gPlayerAvatar.eventObjectId].currentCoords.y < mew->currentCoords.y) + if (gObjectEvents[gPlayerAvatar.objectEventId].currentCoords.y < mew->currentCoords.y) { if (CanMewWalkToCoords(mew->currentCoords.x, mew->currentCoords.y + 1)) return DIR_SOUTH; @@ -232,13 +232,13 @@ u32 GetMewMoveDirection(void) if (sPlayerToMewDeltaX == 0) { - if (gEventObjects[gPlayerAvatar.eventObjectId].currentCoords.x > mew->currentCoords.x) + if (gObjectEvents[gPlayerAvatar.objectEventId].currentCoords.x > mew->currentCoords.x) { if (CanMewWalkToCoords(mew->currentCoords.x - 1, mew->currentCoords.y)) return DIR_WEST; } - if (gEventObjects[gPlayerAvatar.eventObjectId].currentCoords.x < mew->currentCoords.x) + if (gObjectEvents[gPlayerAvatar.objectEventId].currentCoords.x < mew->currentCoords.x) { if (CanMewWalkToCoords(mew->currentCoords.x + 1, mew->currentCoords.y)) return DIR_EAST; @@ -256,8 +256,8 @@ u32 GetMewMoveDirection(void) static bool8 CanMewWalkToCoords(s16 x, s16 y) { - if (gEventObjects[gPlayerAvatar.eventObjectId].currentCoords.x == x - && gEventObjects[gPlayerAvatar.eventObjectId].currentCoords.y == y) + if (gObjectEvents[gPlayerAvatar.objectEventId].currentCoords.x == x + && gObjectEvents[gPlayerAvatar.objectEventId].currentCoords.y == y) { return FALSE; } @@ -269,7 +269,7 @@ static u8 sub_81D4890(u8 ignoredDir) { u8 i; u8 count = 0; - struct EventObject *mew = &gEventObjects[GetMewEventObjectId()]; + struct ObjectEvent *mew = &gObjectEvents[GetMewObjectEventId()]; for (i = 0; i < ARRAY_COUNT(sMewDirectionCandidates); i++) sMewDirectionCandidates[i] = DIR_NONE; @@ -318,12 +318,12 @@ void UpdateFarawayIslandStepCounter(void) } } -bool8 EventObjectIsFarawayIslandMew(struct EventObject *eventObject) +bool8 ObjectEventIsFarawayIslandMew(struct ObjectEvent *objectEvent) { if (gSaveBlock1Ptr->location.mapNum == MAP_NUM(FARAWAY_ISLAND_INTERIOR) && gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(FARAWAY_ISLAND_INTERIOR)) { - if (eventObject->graphicsId == EVENT_OBJ_GFX_MEW) + if (objectEvent->graphicsId == OBJ_EVENT_GFX_MEW) return TRUE; } @@ -342,7 +342,7 @@ bool8 IsMewPlayingHideAndSeek(void) return FALSE; } -bool8 sub_81D4A58(struct EventObject *eventObject) +bool8 sub_81D4A58(struct ObjectEvent *objectEvent) { if (VarGet(VAR_FARAWAY_ISLAND_STEP_COUNTER) != 0xFFFF && VarGet(VAR_FARAWAY_ISLAND_STEP_COUNTER) % 4 == 0) @@ -356,7 +356,7 @@ void sub_81D4A90(void) s16 x; s16 y; u8 spriteId; - struct EventObject *mew = &gEventObjects[GetMewEventObjectId()]; + struct ObjectEvent *mew = &gObjectEvents[GetMewObjectEventId()]; mew->invisible = 0; if (gSpecialVar_0x8004 == 1) @@ -396,7 +396,7 @@ void sub_81D4BEC(void) DestroySprite(&gSprites[sUnknown_0203CF50]); } -static bool8 sub_81D4C14(struct EventObject *mew, u8 index) +static bool8 sub_81D4C14(struct ObjectEvent *mew, u8 index) { if (sPlayerToMewDeltaY > 0 && CanMewWalkToCoords(mew->currentCoords.x, mew->currentCoords.y - 1)) { @@ -407,7 +407,7 @@ static bool8 sub_81D4C14(struct EventObject *mew, u8 index) return FALSE; } -static u8 sub_81D4C58(struct EventObject *mew, u8 index) +static u8 sub_81D4C58(struct ObjectEvent *mew, u8 index) { if (sPlayerToMewDeltaX < 0 && CanMewWalkToCoords(mew->currentCoords.x + 1, mew->currentCoords.y)) { @@ -418,7 +418,7 @@ static u8 sub_81D4C58(struct EventObject *mew, u8 index) return FALSE; } -static u8 sub_81D4C9C(struct EventObject *mew, u8 index) +static u8 sub_81D4C9C(struct ObjectEvent *mew, u8 index) { if (sPlayerToMewDeltaY < 0 && CanMewWalkToCoords(mew->currentCoords.x, mew->currentCoords.y + 1)) { @@ -429,7 +429,7 @@ static u8 sub_81D4C9C(struct EventObject *mew, u8 index) return FALSE; } -static u8 sub_81D4CE0(struct EventObject *mew, u8 index) +static u8 sub_81D4CE0(struct ObjectEvent *mew, u8 index) { if (sPlayerToMewDeltaX > 0 && CanMewWalkToCoords(mew->currentCoords.x - 1, mew->currentCoords.y)) { diff --git a/src/field_camera.c b/src/field_camera.c index 7f294afdb..c5b32ff3b 100644 --- a/src/field_camera.c +++ b/src/field_camera.c @@ -299,7 +299,7 @@ static void DrawMetatile(s32 metatileLayerType, u16 *metatiles, u16 offset) gBGTilemapBuffers1[offset + 0x20] = metatiles[2]; gBGTilemapBuffers1[offset + 0x21] = metatiles[3]; - // Draw metatile's top layer to the top background layer, which covers event object sprites. + // Draw metatile's top layer to the top background layer, which covers object event sprites. gBGTilemapBuffers2[offset] = metatiles[4]; gBGTilemapBuffers2[offset + 1] = metatiles[5]; gBGTilemapBuffers2[offset + 0x20] = metatiles[6]; @@ -415,7 +415,7 @@ void CameraUpdate(void) if (deltaX != 0 || deltaY != 0) { CameraMove(deltaX, deltaY); - UpdateEventObjectsForCameraUpdate(deltaX, deltaY); + UpdateObjectEventsForCameraUpdate(deltaX, deltaY); RotatingGatePuzzleCameraUpdate(deltaX, deltaY); ResetBerryTreeSparkleFlags(); tilemap_move_something(&sFieldCameraOffset, deltaX * 2, deltaY * 2); @@ -430,7 +430,7 @@ void CameraUpdate(void) void MoveCameraAndRedrawMap(int deltaX, int deltaY) //unused { CameraMove(deltaX, deltaY); - UpdateEventObjectsForCameraUpdate(deltaX, deltaY); + UpdateObjectEventsForCameraUpdate(deltaX, deltaY); DrawWholeMapView(); gTotalCameraPixelOffsetX -= deltaX * 16; gTotalCameraPixelOffsetY -= deltaY * 16; diff --git a/src/field_control_avatar.c b/src/field_control_avatar.c index 4af42ca2f..e41b5a69a 100644 --- a/src/field_control_avatar.c +++ b/src/field_control_avatar.c @@ -28,7 +28,7 @@ #include "trainer_see.h" #include "trainer_hill.h" #include "wild_encounter.h" -#include "constants/bg_event_constants.h" +#include "constants/event_bg.h" #include "constants/event_objects.h" #include "constants/field_poison.h" #include "constants/map_types.h" @@ -39,14 +39,14 @@ static EWRAM_DATA u8 sWildEncounterImmunitySteps = 0; static EWRAM_DATA u16 sPreviousPlayerMetatileBehavior = 0; -u8 gSelectedEventObject; +u8 gSelectedObjectEvent; static void GetPlayerPosition(struct MapPosition *); static void GetInFrontOfPlayerPosition(struct MapPosition *); static u16 GetPlayerCurMetatileBehavior(int); static bool8 TryStartInteractionScript(struct MapPosition*, u16, u8); static const u8 *GetInteractionScript(struct MapPosition*, u8, u8); -static const u8 *GetInteractedEventObjectScript(struct MapPosition *, u8, u8); +static const u8 *GetInteractedObjectEventScript(struct MapPosition *, u8, u8); static const u8 *GetInteractedBackgroundEventScript(struct MapPosition *, u8, u8); static const u8 *GetInteractedMetatileScript(struct MapPosition *, u8, u8); static const u8 *GetInteractedWaterScript(struct MapPosition *, u8, u8); @@ -139,7 +139,7 @@ int ProcessPlayerFieldInput(struct FieldInput *input) u16 metatileBehavior; gSpecialVar_LastTalked = 0; - gSelectedEventObject = 0; + gSelectedObjectEvent = 0; playerDirection = GetPlayerFacingDirection(); GetPlayerPosition(&position); @@ -240,7 +240,7 @@ static bool8 TryStartInteractionScript(struct MapPosition *position, u16 metatil static const u8 *GetInteractionScript(struct MapPosition *position, u8 metatileBehavior, u8 direction) { - const u8 *script = GetInteractedEventObjectScript(position, metatileBehavior, direction); + const u8 *script = GetInteractedObjectEventScript(position, metatileBehavior, direction); if (script != NULL) return script; @@ -261,54 +261,54 @@ static const u8 *GetInteractionScript(struct MapPosition *position, u8 metatileB const u8 *GetInteractedLinkPlayerScript(struct MapPosition *position, u8 metatileBehavior, u8 direction) { - u8 eventObjectId; + u8 objectEventId; s32 i; if (!MetatileBehavior_IsCounter(MapGridGetMetatileBehaviorAt(position->x, position->y))) - eventObjectId = GetEventObjectIdByXYZ(position->x, position->y, position->height); + objectEventId = GetObjectEventIdByXYZ(position->x, position->y, position->height); else - eventObjectId = GetEventObjectIdByXYZ(position->x + gDirectionToVectors[direction].x, position->y + gDirectionToVectors[direction].y, position->height); + objectEventId = GetObjectEventIdByXYZ(position->x + gDirectionToVectors[direction].x, position->y + gDirectionToVectors[direction].y, position->height); - if (eventObjectId == EVENT_OBJECTS_COUNT || gEventObjects[eventObjectId].localId == EVENT_OBJ_ID_PLAYER) + if (objectEventId == OBJECT_EVENTS_COUNT || gObjectEvents[objectEventId].localId == OBJ_EVENT_ID_PLAYER) return NULL; for (i = 0; i < 4; i++) { - if (gLinkPlayerEventObjects[i].active == TRUE && gLinkPlayerEventObjects[i].eventObjId == eventObjectId) + if (gLinkPlayerObjectEvents[i].active == TRUE && gLinkPlayerObjectEvents[i].objEventId == objectEventId) return NULL; } - gSelectedEventObject = eventObjectId; - gSpecialVar_LastTalked = gEventObjects[eventObjectId].localId; + gSelectedObjectEvent = objectEventId; + gSpecialVar_LastTalked = gObjectEvents[objectEventId].localId; gSpecialVar_Facing = direction; - return GetEventObjectScriptPointerByEventObjectId(eventObjectId); + return GetObjectEventScriptPointerByObjectEventId(objectEventId); } -static const u8 *GetInteractedEventObjectScript(struct MapPosition *position, u8 metatileBehavior, u8 direction) +static const u8 *GetInteractedObjectEventScript(struct MapPosition *position, u8 metatileBehavior, u8 direction) { - u8 eventObjectId; + u8 objectEventId; const u8 *script; - eventObjectId = GetEventObjectIdByXYZ(position->x, position->y, position->height); - if (eventObjectId == EVENT_OBJECTS_COUNT || gEventObjects[eventObjectId].localId == EVENT_OBJ_ID_PLAYER) + objectEventId = GetObjectEventIdByXYZ(position->x, position->y, position->height); + if (objectEventId == OBJECT_EVENTS_COUNT || gObjectEvents[objectEventId].localId == OBJ_EVENT_ID_PLAYER) { if (MetatileBehavior_IsCounter(metatileBehavior) != TRUE) return NULL; - // Look for an event object on the other side of the counter. - eventObjectId = GetEventObjectIdByXYZ(position->x + gDirectionToVectors[direction].x, position->y + gDirectionToVectors[direction].y, position->height); - if (eventObjectId == EVENT_OBJECTS_COUNT || gEventObjects[eventObjectId].localId == EVENT_OBJ_ID_PLAYER) + // Look for an object event on the other side of the counter. + objectEventId = GetObjectEventIdByXYZ(position->x + gDirectionToVectors[direction].x, position->y + gDirectionToVectors[direction].y, position->height); + if (objectEventId == OBJECT_EVENTS_COUNT || gObjectEvents[objectEventId].localId == OBJ_EVENT_ID_PLAYER) return NULL; } - gSelectedEventObject = eventObjectId; - gSpecialVar_LastTalked = gEventObjects[eventObjectId].localId; + gSelectedObjectEvent = objectEventId; + gSpecialVar_LastTalked = gObjectEvents[objectEventId].localId; gSpecialVar_Facing = direction; if (InTrainerHill() == TRUE) script = GetTrainerHillTrainerScript(); else - script = GetEventObjectScriptPointerByEventObjectId(eventObjectId); + script = GetObjectEventScriptPointerByObjectEventId(objectEventId); script = GetRamScript(gSpecialVar_LastTalked, script); return script; @@ -983,14 +983,14 @@ u8 TrySetDiveWarp(void) return 0; } -const u8 *GetEventObjectScriptPointerPlayerFacing(void) +const u8 *GetObjectEventScriptPointerPlayerFacing(void) { u8 direction; struct MapPosition position; direction = GetPlayerMovementDirection(); GetInFrontOfPlayerPosition(&position); - return GetInteractedEventObjectScript(&position, MapGridGetMetatileBehaviorAt(position.x, position.y), direction); + return GetInteractedObjectEventScript(&position, MapGridGetMetatileBehaviorAt(position.x, position.y), direction); } int SetCableClubWarp(void) diff --git a/src/field_effect.c b/src/field_effect.c index 6bbd1df3c..c4e9fc40a 100644 --- a/src/field_effect.c +++ b/src/field_effect.c @@ -27,7 +27,7 @@ #include "trig.h" #include "util.h" #include "constants/field_effects.h" -#include "constants/event_object_movement_constants.h" +#include "constants/event_object_movement.h" #include "constants/metatile_behaviors.h" #include "constants/rgb.h" #include "constants/songs.h" @@ -102,11 +102,11 @@ static bool8 sub_80B72D0(struct Task *); static bool8 sub_80B72F4(struct Task *); static void sub_80B7384(u8); -static bool8 sub_80B73D0(struct Task *, struct EventObject *); -static bool8 waterfall_1_do_anim_probably(struct Task *, struct EventObject *); -static bool8 waterfall_2_wait_anim_finish_probably(struct Task *, struct EventObject *); -static bool8 sub_80B7450(struct Task *, struct EventObject *); -static bool8 sub_80B7478(struct Task *, struct EventObject *); +static bool8 sub_80B73D0(struct Task *, struct ObjectEvent *); +static bool8 waterfall_1_do_anim_probably(struct Task *, struct ObjectEvent *); +static bool8 waterfall_2_wait_anim_finish_probably(struct Task *, struct ObjectEvent *); +static bool8 sub_80B7450(struct Task *, struct ObjectEvent *); +static bool8 sub_80B7478(struct Task *, struct ObjectEvent *); static void Task_Dive(u8); static bool8 dive_1_lock(struct Task *); @@ -114,26 +114,26 @@ static bool8 dive_2_unknown(struct Task *); static bool8 dive_3_unknown(struct Task *); static void Task_LavaridgeGymB1FWarp(u8); -static bool8 LavaridgeGymB1FWarpEffect_1(struct Task *, struct EventObject *, struct Sprite *); -static bool8 LavaridgeGymB1FWarpEffect_2(struct Task *, struct EventObject *, struct Sprite *); -static bool8 LavaridgeGymB1FWarpEffect_3(struct Task *, struct EventObject *, struct Sprite *); -static bool8 LavaridgeGymB1FWarpEffect_4(struct Task *, struct EventObject *, struct Sprite *); -static bool8 LavaridgeGymB1FWarpEffect_5(struct Task *, struct EventObject *, struct Sprite *); -static bool8 LavaridgeGymB1FWarpEffect_6(struct Task *, struct EventObject *, struct Sprite *); +static bool8 LavaridgeGymB1FWarpEffect_1(struct Task *, struct ObjectEvent *, struct Sprite *); +static bool8 LavaridgeGymB1FWarpEffect_2(struct Task *, struct ObjectEvent *, struct Sprite *); +static bool8 LavaridgeGymB1FWarpEffect_3(struct Task *, struct ObjectEvent *, struct Sprite *); +static bool8 LavaridgeGymB1FWarpEffect_4(struct Task *, struct ObjectEvent *, struct Sprite *); +static bool8 LavaridgeGymB1FWarpEffect_5(struct Task *, struct ObjectEvent *, struct Sprite *); +static bool8 LavaridgeGymB1FWarpEffect_6(struct Task *, struct ObjectEvent *, struct Sprite *); static void FieldCB_LavaridgeGymB1FWarpExit(void); static void Task_LavaridgeGymB1FWarpExit(u8); -static bool8 LavaridgeGymB1FWarpExitEffect_1(struct Task *, struct EventObject *, struct Sprite *); -static bool8 LavaridgeGymB1FWarpExitEffect_2(struct Task *, struct EventObject *, struct Sprite *); -static bool8 LavaridgeGymB1FWarpExitEffect_3(struct Task *, struct EventObject *, struct Sprite *); -static bool8 LavaridgeGymB1FWarpExitEffect_4(struct Task *, struct EventObject *, struct Sprite *); +static bool8 LavaridgeGymB1FWarpExitEffect_1(struct Task *, struct ObjectEvent *, struct Sprite *); +static bool8 LavaridgeGymB1FWarpExitEffect_2(struct Task *, struct ObjectEvent *, struct Sprite *); +static bool8 LavaridgeGymB1FWarpExitEffect_3(struct Task *, struct ObjectEvent *, struct Sprite *); +static bool8 LavaridgeGymB1FWarpExitEffect_4(struct Task *, struct ObjectEvent *, struct Sprite *); static void Task_LavaridgeGym1FWarp(u8); -static bool8 LavaridgeGym1FWarpEffect_1(struct Task *, struct EventObject *, struct Sprite *); -static bool8 LavaridgeGym1FWarpEffect_2(struct Task *, struct EventObject *, struct Sprite *); -static bool8 LavaridgeGym1FWarpEffect_3(struct Task *, struct EventObject *, struct Sprite *); -static bool8 LavaridgeGym1FWarpEffect_4(struct Task *, struct EventObject *, struct Sprite *); -static bool8 LavaridgeGym1FWarpEffect_5(struct Task *, struct EventObject *, struct Sprite *); +static bool8 LavaridgeGym1FWarpEffect_1(struct Task *, struct ObjectEvent *, struct Sprite *); +static bool8 LavaridgeGym1FWarpEffect_2(struct Task *, struct ObjectEvent *, struct Sprite *); +static bool8 LavaridgeGym1FWarpEffect_3(struct Task *, struct ObjectEvent *, struct Sprite *); +static bool8 LavaridgeGym1FWarpEffect_4(struct Task *, struct ObjectEvent *, struct Sprite *); +static bool8 LavaridgeGym1FWarpEffect_5(struct Task *, struct ObjectEvent *, struct Sprite *); static void DoEscapeRopeFieldEffect(u8); static void EscapeRopeFieldEffect_Step0(struct Task *); @@ -245,12 +245,12 @@ const u32 gNewGameBirchPic[] = INCBIN_U32("graphics/birch_speech/birch.4bpp"); const u32 gUnusedBirchBeauty[] = INCBIN_U32("graphics/unused/intro_birch_beauty.4bpp"); const u16 gNewGameBirchPalette[16] = INCBIN_U16("graphics/birch_speech/birch.gbapal"); const u32 gSpriteImage_855A970[] = INCBIN_U32("graphics/misc/pokeball_glow.4bpp"); -const u16 gFieldEffectObjectPalette4[16] = INCBIN_U16("graphics/event_objects/palettes/field_effect_object_palette_04.gbapal"); +const u16 gFieldEffectObjectPalette4[16] = INCBIN_U16("graphics/field_effects/palettes/04.gbapal"); const u32 gSpriteImage_855A9B0[] = INCBIN_U32("graphics/misc/pokecenter_monitor/0.4bpp"); const u32 gSpriteImage_855AA70[] = INCBIN_U32("graphics/misc/pokecenter_monitor/1.4bpp"); const u32 gSpriteImage_855AB30[] = INCBIN_U32("graphics/misc/big_hof_monitor.4bpp"); const u8 gSpriteImage_855AD30[] = INCBIN_U8("graphics/misc/small_hof_monitor.4bpp"); -const u16 gFieldEffectObjectPalette5[16] = INCBIN_U16("graphics/event_objects/palettes/field_effect_object_palette_05.gbapal"); +const u16 gFieldEffectObjectPalette5[16] = INCBIN_U16("graphics/field_effects/palettes/05.gbapal"); // Graphics for the lights streaking past your Pokemon when it uses a field move. const u32 gFieldMoveStreaksTiles[] = INCBIN_U32("graphics/misc/field_move_streaks.4bpp"); @@ -627,7 +627,7 @@ bool8 (*const gUnknown_0855C3FC[])(struct Task *) = sub_80B72F4, }; -bool8 (*const gUnknown_0855C418[])(struct Task *, struct EventObject *) = +bool8 (*const gUnknown_0855C418[])(struct Task *, struct ObjectEvent *) = { sub_80B73D0, waterfall_1_do_anim_probably, @@ -643,7 +643,7 @@ bool8 (*const gUnknown_0855C42C[])(struct Task *) = dive_3_unknown, }; -bool8 (*const sLavaridgeGymB1FWarpEffectFuncs[])(struct Task *, struct EventObject *, struct Sprite *) = +bool8 (*const sLavaridgeGymB1FWarpEffectFuncs[])(struct Task *, struct ObjectEvent *, struct Sprite *) = { LavaridgeGymB1FWarpEffect_1, LavaridgeGymB1FWarpEffect_2, @@ -653,7 +653,7 @@ bool8 (*const sLavaridgeGymB1FWarpEffectFuncs[])(struct Task *, struct EventObje LavaridgeGymB1FWarpEffect_6, }; -bool8 (*const sLavaridgeGymB1FWarpExitEffectFuncs[])(struct Task *, struct EventObject *, struct Sprite *) = +bool8 (*const sLavaridgeGymB1FWarpExitEffectFuncs[])(struct Task *, struct ObjectEvent *, struct Sprite *) = { LavaridgeGymB1FWarpExitEffect_1, LavaridgeGymB1FWarpExitEffect_2, @@ -661,7 +661,7 @@ bool8 (*const sLavaridgeGymB1FWarpExitEffectFuncs[])(struct Task *, struct Event LavaridgeGymB1FWarpExitEffect_4, }; -bool8 (*const sLavaridgeGym1FWarpEffectFuncs[])(struct Task *, struct EventObject *, struct Sprite *) = +bool8 (*const sLavaridgeGym1FWarpEffectFuncs[])(struct Task *, struct ObjectEvent *, struct Sprite *) = { LavaridgeGym1FWarpEffect_1, LavaridgeGym1FWarpEffect_2, @@ -932,177 +932,47 @@ void FreeResourcesAndDestroySprite(struct Sprite *sprite, u8 spriteId) FreeAndDestroyMonPicSprite(spriteId); } -#ifdef NONMATCHING +// r, g, b are between 0 and 16 void MultiplyInvertedPaletteRGBComponents(u16 i, u8 r, u8 g, u8 b) { int curRed; int curGreen; int curBlue; + u16 outPal; - curRed = gPlttBufferUnfaded[i] & 0x1f; - curGreen = (gPlttBufferUnfaded[i] & (0x1f << 5)) >> 5; - curBlue = (gPlttBufferUnfaded[i] & (0x1f << 10)) >> 10; + outPal = gPlttBufferUnfaded[i]; + curRed = outPal & 0x1f; + curGreen = (outPal & (0x1f << 5)) >> 5; + curBlue = (outPal & (0x1f << 10)) >> 10; curRed += (((0x1f - curRed) * r) >> 4); curGreen += (((0x1f - curGreen) * g) >> 4); curBlue += (((0x1f - curBlue) * b) >> 4); - gPlttBufferFaded[i] = RGB(curRed, curGreen, curBlue); + outPal = curRed; + outPal |= curGreen << 5; + outPal |= curBlue << 10; + gPlttBufferFaded[i] = outPal; } +// r, g, b are between 0 and 16 void MultiplyPaletteRGBComponents(u16 i, u8 r, u8 g, u8 b) { int curRed; int curGreen; int curBlue; + u16 outPal; - curRed = gPlttBufferUnfaded[i] & 0x1f; - curGreen = (gPlttBufferUnfaded[i] & (0x1f << 5)) >> 5; - curBlue = (gPlttBufferUnfaded[i] & (0x1f << 10)) >> 10; + outPal = gPlttBufferUnfaded[i]; + curRed = outPal & 0x1f; + curGreen = (outPal & (0x1f << 5)) >> 5; + curBlue = (outPal & (0x1f << 10)) >> 10; curRed -= ((curRed * r) >> 4); curGreen -= ((curGreen * g) >> 4); curBlue -= ((curBlue * b) >> 4); - gPlttBufferFaded[i] = RGB(curRed, curGreen, curBlue); + outPal = curRed; + outPal |= curGreen << 5; + outPal |= curBlue << 10; + gPlttBufferFaded[i] = outPal; } -#else -NAKED -void MultiplyInvertedPaletteRGBComponents(u16 i, u8 r, u8 g, u8 b) -{ - asm(".syntax unified\n" - "\tpush {r4-r7,lr}\n" - "\tmov r7, r9\n" - "\tmov r6, r8\n" - "\tpush {r6,r7}\n" - "\tlsls r0, 16\n" - "\tlsls r1, 24\n" - "\tlsrs r1, 24\n" - "\tlsls r2, 24\n" - "\tlsrs r2, 24\n" - "\tlsls r3, 24\n" - "\tlsrs r3, 24\n" - "\tldr r4, _08085D00 @ =gPlttBufferUnfaded\n" - "\tlsrs r0, 15\n" - "\tadds r4, r0, r4\n" - "\tldrh r4, [r4]\n" - "\tmovs r5, 0x1F\n" - "\tmov r9, r5\n" - "\tmov r8, r4\n" - "\tmov r6, r8\n" - "\tands r6, r5\n" - "\tmov r8, r6\n" - "\tmovs r6, 0xF8\n" - "\tlsls r6, 2\n" - "\tands r6, r4\n" - "\tlsrs r6, 5\n" - "\tmovs r5, 0xF8\n" - "\tlsls r5, 7\n" - "\tands r4, r5\n" - "\tlsrs r4, 10\n" - "\tmov r7, r9\n" - "\tmov r5, r8\n" - "\tsubs r7, r5\n" - "\tmov r12, r7\n" - "\tmov r7, r12\n" - "\tmuls r7, r1\n" - "\tadds r1, r7, 0\n" - "\tasrs r1, 4\n" - "\tadd r8, r1\n" - "\tmov r5, r9\n" - "\tsubs r1, r5, r6\n" - "\tmuls r1, r2\n" - "\tasrs r1, 4\n" - "\tadds r6, r1\n" - "\tsubs r5, r4\n" - "\tmov r9, r5\n" - "\tmov r1, r9\n" - "\tmuls r1, r3\n" - "\tasrs r1, 4\n" - "\tadds r4, r1\n" - "\tmov r7, r8\n" - "\tlsls r7, 16\n" - "\tlsls r6, 21\n" - "\torrs r6, r7\n" - "\tlsls r4, 26\n" - "\torrs r4, r6\n" - "\tlsrs r4, 16\n" - "\tldr r1, _08085D04 @ =gPlttBufferFaded\n" - "\tadds r0, r1\n" - "\tstrh r4, [r0]\n" - "\tpop {r3,r4}\n" - "\tmov r8, r3\n" - "\tmov r9, r4\n" - "\tpop {r4-r7}\n" - "\tpop {r0}\n" - "\tbx r0\n" - "\t.align 2, 0\n" - "_08085D00: .4byte gPlttBufferUnfaded\n" - "_08085D04: .4byte gPlttBufferFaded\n" - ".syntax divided"); -} - -NAKED -void MultiplyPaletteRGBComponents(u16 i, u8 r, u8 g, u8 b) -{ - asm(".syntax unified\n" - "\tpush {r4-r6,lr}\n" - "\tmov r6, r8\n" - "\tpush {r6}\n" - "\tlsls r0, 16\n" - "\tlsls r1, 24\n" - "\tlsrs r1, 24\n" - "\tlsls r2, 24\n" - "\tlsrs r2, 24\n" - "\tlsls r3, 24\n" - "\tlsrs r3, 24\n" - "\tldr r4, _08085D78 @ =gPlttBufferUnfaded\n" - "\tlsrs r0, 15\n" - "\tadds r4, r0, r4\n" - "\tldrh r4, [r4]\n" - "\tmovs r5, 0x1F\n" - "\tmov r8, r5\n" - "\tmov r6, r8\n" - "\tands r6, r4\n" - "\tmov r8, r6\n" - "\tmovs r5, 0xF8\n" - "\tlsls r5, 2\n" - "\tands r5, r4\n" - "\tlsrs r5, 5\n" - "\tmovs r6, 0xF8\n" - "\tlsls r6, 7\n" - "\tands r4, r6\n" - "\tlsrs r4, 10\n" - "\tmov r6, r8\n" - "\tmuls r6, r1\n" - "\tadds r1, r6, 0\n" - "\tasrs r1, 4\n" - "\tmov r6, r8\n" - "\tsubs r6, r1\n" - "\tadds r1, r5, 0\n" - "\tmuls r1, r2\n" - "\tasrs r1, 4\n" - "\tsubs r5, r1\n" - "\tadds r1, r4, 0\n" - "\tmuls r1, r3\n" - "\tasrs r1, 4\n" - "\tsubs r4, r1\n" - "\tlsls r6, 16\n" - "\tlsls r5, 21\n" - "\torrs r5, r6\n" - "\tlsls r4, 26\n" - "\torrs r4, r5\n" - "\tlsrs r4, 16\n" - "\tldr r1, _08085D7C @ =gPlttBufferFaded\n" - "\tadds r0, r1\n" - "\tstrh r4, [r0]\n" - "\tpop {r3}\n" - "\tmov r8, r3\n" - "\tpop {r4-r6}\n" - "\tpop {r0}\n" - "\tbx r0\n" - "\t.align 2, 0\n" - "_08085D78: .4byte gPlttBufferUnfaded\n" - "_08085D7C: .4byte gPlttBufferFaded\n" - ".syntax divided"); -} -#endif bool8 FldEff_PokecenterHeal(void) { @@ -1430,7 +1300,7 @@ static void FieldCallback_Fly(void) FadeInFromBlack(); CreateTask(task00_8084310, 0); ScriptContext2_Enable(); - FreezeEventObjects(); + FreezeObjectEvents(); gFieldCallback = NULL; } @@ -1467,13 +1337,13 @@ static void mapldr_08084390(void) Overworld_PlaySpecialMapMusic(); FadeInFromBlack(); CreateTask(c3_080843F8, 0); - gEventObjects[gPlayerAvatar.eventObjectId].invisible = TRUE; + gObjectEvents[gPlayerAvatar.objectEventId].invisible = TRUE; if (gPlayerAvatar.flags & 0x08) { - EventObjectTurn(&gEventObjects[gPlayerAvatar.eventObjectId], DIR_WEST); + ObjectEventTurn(&gObjectEvents[gPlayerAvatar.objectEventId], DIR_WEST); } ScriptContext2_Enable(); - FreezeEventObjects(); + FreezeObjectEvents(); gFieldCallback = NULL; } @@ -1493,7 +1363,7 @@ static void c3_080843F8(u8 taskId) if (!FieldEffectActiveListContains(FLDEFF_FLY_IN)) { ScriptContext2_Disable(); - UnfreezeEventObjects(); + UnfreezeObjectEvents(); DestroyTask(taskId); } } @@ -1503,7 +1373,7 @@ void FieldCB_FallWarpExit(void) Overworld_PlaySpecialMapMusic(); WarpFadeInScreen(); ScriptContext2_Enable(); - FreezeEventObjects(); + FreezeObjectEvents(); CreateTask(Task_FallWarpFieldEffect, 0); gFieldCallback = NULL; } @@ -1517,14 +1387,14 @@ static void Task_FallWarpFieldEffect(u8 taskId) static bool8 FallWarpEffect_1(struct Task *task) { - struct EventObject *playerObject; + struct ObjectEvent *playerObject; struct Sprite *playerSprite; - playerObject = &gEventObjects[gPlayerAvatar.eventObjectId]; + playerObject = &gObjectEvents[gPlayerAvatar.objectEventId]; playerSprite = &gSprites[gPlayerAvatar.spriteId]; CameraObjectReset2(); - gEventObjects[gPlayerAvatar.eventObjectId].invisible = TRUE; + gObjectEvents[gPlayerAvatar.objectEventId].invisible = TRUE; gPlayerAvatar.preventStep = TRUE; - EventObjectSetHeldMovement(playerObject, GetFaceDirectionMovementAction(GetPlayerFacingDirection())); + ObjectEventSetHeldMovement(playerObject, GetFaceDirectionMovementAction(GetPlayerFacingDirection())); task->data[4] = playerSprite->subspriteMode; playerObject->fixedPriority = 1; playerSprite->oam.priority = 1; @@ -1551,7 +1421,7 @@ static bool8 FallWarpEffect_3(struct Task *task) sprite->pos2.y = -(sprite->pos1.y + sprite->centerToCornerVecY + gSpriteCoordOffsetY + centerToCornerVecY); task->data[1] = 1; task->data[2] = 0; - gEventObjects[gPlayerAvatar.eventObjectId].invisible = FALSE; + gObjectEvents[gPlayerAvatar.objectEventId].invisible = FALSE; PlaySE(SE_RU_HYUU); task->data[0]++; return FALSE; @@ -1559,10 +1429,10 @@ static bool8 FallWarpEffect_3(struct Task *task) static bool8 FallWarpEffect_4(struct Task *task) { - struct EventObject *eventObject; + struct ObjectEvent *objectEvent; struct Sprite *sprite; - eventObject = &gEventObjects[gPlayerAvatar.eventObjectId]; + objectEvent = &gObjectEvents[gPlayerAvatar.objectEventId]; sprite = &gSprites[gPlayerAvatar.spriteId]; sprite->pos2.y += task->data[1]; if (task->data[1] < 8) @@ -1576,15 +1446,15 @@ static bool8 FallWarpEffect_4(struct Task *task) if (task->data[3] == 0 && sprite->pos2.y >= -16) { task->data[3]++; - eventObject->fixedPriority = 0; + objectEvent->fixedPriority = 0; sprite->subspriteMode = task->data[4]; - eventObject->triggerGroundEffectsOnMove = 1; + objectEvent->triggerGroundEffectsOnMove = 1; } if (sprite->pos2.y >= 0) { PlaySE(SE_W070); - eventObject->triggerGroundEffectsOnStop = 1; - eventObject->landingJump = 1; + objectEvent->triggerGroundEffectsOnStop = 1; + objectEvent->landingJump = 1; sprite->pos2.y = 0; task->data[0]++; } @@ -1621,7 +1491,7 @@ static bool8 FallWarpEffect_7(struct Task *task) gPlayerAvatar.preventStep = FALSE; ScriptContext2_Disable(); CameraObjectReset1(); - UnfreezeEventObjects(); + UnfreezeObjectEvents(); InstallCameraPanAheadCallback(); DestroyTask(FindTaskIdByFunc(Task_FallWarpFieldEffect)); return FALSE; @@ -1647,7 +1517,7 @@ static void Task_EscalatorWarpFieldEffect(u8 taskId) static bool8 EscalatorWarpEffect_1(struct Task *task) { - FreezeEventObjects(); + FreezeObjectEvents(); CameraObjectReset2(); sub_80E1558(task->data[1]); task->data[0]++; @@ -1656,11 +1526,11 @@ static bool8 EscalatorWarpEffect_1(struct Task *task) static bool8 EscalatorWarpEffect_2(struct Task *task) { - struct EventObject *eventObject; - eventObject = &gEventObjects[gPlayerAvatar.eventObjectId]; - if (!EventObjectIsMovementOverridden(eventObject) || EventObjectClearHeldMovementIfFinished(eventObject)) + struct ObjectEvent *objectEvent; + objectEvent = &gObjectEvents[gPlayerAvatar.objectEventId]; + if (!ObjectEventIsMovementOverridden(objectEvent) || ObjectEventClearHeldMovementIfFinished(objectEvent)) { - EventObjectSetHeldMovement(eventObject, GetFaceDirectionMovementAction(GetPlayerFacingDirection())); + ObjectEventSetHeldMovement(objectEvent, GetFaceDirectionMovementAction(GetPlayerFacingDirection())); task->data[0]++; task->data[2] = 0; task->data[3] = 0; @@ -1771,13 +1641,13 @@ static void sub_80B70DC(u8 taskId) static bool8 sub_80B7114(struct Task *task) { - struct EventObject *eventObject; + struct ObjectEvent *objectEvent; s16 x; s16 y; u8 behavior; CameraObjectReset2(); - eventObject = &gEventObjects[gPlayerAvatar.eventObjectId]; - EventObjectSetHeldMovement(eventObject, GetFaceDirectionMovementAction(DIR_EAST)); + objectEvent = &gObjectEvents[gPlayerAvatar.objectEventId]; + ObjectEventSetHeldMovement(objectEvent, GetFaceDirectionMovementAction(DIR_EAST)); PlayerGetDestCoords(&x, &y); behavior = MapGridGetMetatileBehaviorAt(x, y); task->data[0]++; @@ -1867,13 +1737,13 @@ static bool8 sub_80B72D0(struct Task *task) static bool8 sub_80B72F4(struct Task *task) { - struct EventObject *eventObject; - eventObject = &gEventObjects[gPlayerAvatar.eventObjectId]; - if (EventObjectClearHeldMovementIfFinished(eventObject)) + struct ObjectEvent *objectEvent; + objectEvent = &gObjectEvents[gPlayerAvatar.objectEventId]; + if (ObjectEventClearHeldMovementIfFinished(objectEvent)) { CameraObjectReset1(); ScriptContext2_Disable(); - EventObjectSetHeldMovement(eventObject, GetWalkNormalMovementAction(DIR_EAST)); + ObjectEventSetHeldMovement(objectEvent, GetWalkNormalMovementAction(DIR_EAST)); DestroyTask(FindTaskIdByFunc(sub_80B70DC)); } return FALSE; @@ -1890,10 +1760,10 @@ bool8 FldEff_UseWaterfall(void) static void sub_80B7384(u8 taskId) { - while (gUnknown_0855C418[gTasks[taskId].data[0]](&gTasks[taskId], &gEventObjects[gPlayerAvatar.eventObjectId])); + while (gUnknown_0855C418[gTasks[taskId].data[0]](&gTasks[taskId], &gObjectEvents[gPlayerAvatar.objectEventId])); } -static bool8 sub_80B73D0(struct Task *task, struct EventObject *eventObject) +static bool8 sub_80B73D0(struct Task *task, struct ObjectEvent *objectEvent) { ScriptContext2_Enable(); gPlayerAvatar.preventStep = TRUE; @@ -1901,12 +1771,12 @@ static bool8 sub_80B73D0(struct Task *task, struct EventObject *eventObject) return FALSE; } -static bool8 waterfall_1_do_anim_probably(struct Task *task, struct EventObject *eventObject) +static bool8 waterfall_1_do_anim_probably(struct Task *task, struct ObjectEvent *objectEvent) { ScriptContext2_Enable(); - if (!EventObjectIsMovementOverridden(eventObject)) + if (!ObjectEventIsMovementOverridden(objectEvent)) { - EventObjectClearHeldMovementIfFinished(eventObject); + ObjectEventClearHeldMovementIfFinished(objectEvent); gFieldEffectArguments[0] = task->data[1]; FieldEffectStart(FLDEFF_FIELD_MOVE_SHOW_MON_INIT); task->data[0]++; @@ -1914,7 +1784,7 @@ static bool8 waterfall_1_do_anim_probably(struct Task *task, struct EventObject return FALSE; } -static bool8 waterfall_2_wait_anim_finish_probably(struct Task *task, struct EventObject *eventObject) +static bool8 waterfall_2_wait_anim_finish_probably(struct Task *task, struct ObjectEvent *objectEvent) { if (FieldEffectActiveListContains(FLDEFF_FIELD_MOVE_SHOW_MON)) { @@ -1924,20 +1794,20 @@ static bool8 waterfall_2_wait_anim_finish_probably(struct Task *task, struct Eve return TRUE; } -static bool8 sub_80B7450(struct Task *task, struct EventObject *eventObject) +static bool8 sub_80B7450(struct Task *task, struct ObjectEvent *objectEvent) { - EventObjectSetHeldMovement(eventObject, GetWalkSlowMovementAction(DIR_NORTH)); + ObjectEventSetHeldMovement(objectEvent, GetWalkSlowMovementAction(DIR_NORTH)); task->data[0]++; return FALSE; } -static bool8 sub_80B7478(struct Task *task, struct EventObject *eventObject) +static bool8 sub_80B7478(struct Task *task, struct ObjectEvent *objectEvent) { - if (!EventObjectClearHeldMovementIfFinished(eventObject)) + if (!ObjectEventClearHeldMovementIfFinished(objectEvent)) { return FALSE; } - if (MetatileBehavior_IsWaterfall(eventObject->currentMetatileBehavior)) + if (MetatileBehavior_IsWaterfall(objectEvent->currentMetatileBehavior)) { task->data[0] = 3; return TRUE; @@ -1986,7 +1856,7 @@ static bool8 dive_3_unknown(struct Task *task) PlayerGetDestCoords(&mapPosition.x, &mapPosition.y); if (!FieldEffectActiveListContains(FLDEFF_FIELD_MOVE_SHOW_MON)) { - dive_warp(&mapPosition, gEventObjects[gPlayerAvatar.eventObjectId].currentMetatileBehavior); + dive_warp(&mapPosition, gObjectEvents[gPlayerAvatar.objectEventId].currentMetatileBehavior); DestroyTask(FindTaskIdByFunc(Task_Dive)); FieldEffectActiveListRemove(FLDEFF_USE_DIVE); } @@ -2000,22 +1870,22 @@ void StartLavaridgeGymB1FWarp(u8 priority) static void Task_LavaridgeGymB1FWarp(u8 taskId) { - while (sLavaridgeGymB1FWarpEffectFuncs[gTasks[taskId].data[0]](&gTasks[taskId], &gEventObjects[gPlayerAvatar.eventObjectId], &gSprites[gPlayerAvatar.spriteId])); + while (sLavaridgeGymB1FWarpEffectFuncs[gTasks[taskId].data[0]](&gTasks[taskId], &gObjectEvents[gPlayerAvatar.objectEventId], &gSprites[gPlayerAvatar.spriteId])); } -static bool8 LavaridgeGymB1FWarpEffect_1(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) +static bool8 LavaridgeGymB1FWarpEffect_1(struct Task *task, struct ObjectEvent *objectEvent, struct Sprite *sprite) { - FreezeEventObjects(); + FreezeObjectEvents(); CameraObjectReset2(); SetCameraPanningCallback(NULL); gPlayerAvatar.preventStep = TRUE; - eventObject->fixedPriority = 1; + objectEvent->fixedPriority = 1; task->data[1] = 1; task->data[0]++; return TRUE; } -static bool8 LavaridgeGymB1FWarpEffect_2(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) +static bool8 LavaridgeGymB1FWarpEffect_2(struct Task *task, struct ObjectEvent *objectEvent, struct Sprite *sprite) { SetCameraPanning(0, task->data[1]); task->data[1] = -task->data[1]; @@ -2028,12 +1898,12 @@ static bool8 LavaridgeGymB1FWarpEffect_2(struct Task *task, struct EventObject * return FALSE; } -static bool8 LavaridgeGymB1FWarpEffect_3(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) +static bool8 LavaridgeGymB1FWarpEffect_3(struct Task *task, struct ObjectEvent *objectEvent, struct Sprite *sprite) { sprite->pos2.y = 0; task->data[3] = 1; - gFieldEffectArguments[0] = eventObject->currentCoords.x; - gFieldEffectArguments[1] = eventObject->currentCoords.y; + gFieldEffectArguments[0] = objectEvent->currentCoords.x; + gFieldEffectArguments[1] = objectEvent->currentCoords.y; gFieldEffectArguments[2] = sprite->subpriority - 1; gFieldEffectArguments[3] = sprite->oam.priority; FieldEffectStart(FLDEFF_LAVARIDGE_GYM_WARP); @@ -2042,7 +1912,7 @@ static bool8 LavaridgeGymB1FWarpEffect_3(struct Task *task, struct EventObject * return TRUE; } -static bool8 LavaridgeGymB1FWarpEffect_4(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) +static bool8 LavaridgeGymB1FWarpEffect_4(struct Task *task, struct ObjectEvent *objectEvent, struct Sprite *sprite) { s16 centerToCornerVecY; SetCameraPanning(0, task->data[1]); @@ -2074,7 +1944,7 @@ static bool8 LavaridgeGymB1FWarpEffect_4(struct Task *task, struct EventObject * if (task->data[5] == 0 && sprite->pos2.y < -0x10) { task->data[5]++; - eventObject->fixedPriority = 1; + objectEvent->fixedPriority = 1; sprite->oam.priority = 1; sprite->subspriteMode = SUBSPRITES_IGNORE_PRIORITY; } @@ -2085,7 +1955,7 @@ static bool8 LavaridgeGymB1FWarpEffect_4(struct Task *task, struct EventObject * return FALSE; } -static bool8 LavaridgeGymB1FWarpEffect_5(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) +static bool8 LavaridgeGymB1FWarpEffect_5(struct Task *task, struct ObjectEvent *objectEvent, struct Sprite *sprite) { TryFadeOutOldMapMusic(); WarpFadeOutScreen(); @@ -2093,7 +1963,7 @@ static bool8 LavaridgeGymB1FWarpEffect_5(struct Task *task, struct EventObject * return FALSE; } -static bool8 LavaridgeGymB1FWarpEffect_6(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) +static bool8 LavaridgeGymB1FWarpEffect_6(struct Task *task, struct ObjectEvent *objectEvent, struct Sprite *sprite) { if (!gPaletteFade.active && BGMusicStopped() == TRUE) { @@ -2116,25 +1986,25 @@ static void FieldCB_LavaridgeGymB1FWarpExit(void) static void Task_LavaridgeGymB1FWarpExit(u8 taskId) { - while (sLavaridgeGymB1FWarpExitEffectFuncs[gTasks[taskId].data[0]](&gTasks[taskId], &gEventObjects[gPlayerAvatar.eventObjectId], &gSprites[gPlayerAvatar.spriteId])); + while (sLavaridgeGymB1FWarpExitEffectFuncs[gTasks[taskId].data[0]](&gTasks[taskId], &gObjectEvents[gPlayerAvatar.objectEventId], &gSprites[gPlayerAvatar.spriteId])); } -static bool8 LavaridgeGymB1FWarpExitEffect_1(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) +static bool8 LavaridgeGymB1FWarpExitEffect_1(struct Task *task, struct ObjectEvent *objectEvent, struct Sprite *sprite) { CameraObjectReset2(); - FreezeEventObjects(); + FreezeObjectEvents(); gPlayerAvatar.preventStep = TRUE; - eventObject->invisible = TRUE; + objectEvent->invisible = TRUE; task->data[0]++; return FALSE; } -static bool8 LavaridgeGymB1FWarpExitEffect_2(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) +static bool8 LavaridgeGymB1FWarpExitEffect_2(struct Task *task, struct ObjectEvent *objectEvent, struct Sprite *sprite) { if (IsWeatherNotFadingIn()) { - gFieldEffectArguments[0] = eventObject->currentCoords.x; - gFieldEffectArguments[1] = eventObject->currentCoords.y; + gFieldEffectArguments[0] = objectEvent->currentCoords.x; + gFieldEffectArguments[1] = objectEvent->currentCoords.y; gFieldEffectArguments[2] = sprite->subpriority - 1; gFieldEffectArguments[3] = sprite->oam.priority; task->data[1] = FieldEffectStart(FLDEFF_POP_OUT_OF_ASH); @@ -2143,27 +2013,27 @@ static bool8 LavaridgeGymB1FWarpExitEffect_2(struct Task *task, struct EventObje return FALSE; } -static bool8 LavaridgeGymB1FWarpExitEffect_3(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) +static bool8 LavaridgeGymB1FWarpExitEffect_3(struct Task *task, struct ObjectEvent *objectEvent, struct Sprite *sprite) { sprite = &gSprites[task->data[1]]; if (sprite->animCmdIndex > 1) { task->data[0]++; - eventObject->invisible = FALSE; + objectEvent->invisible = FALSE; CameraObjectReset1(); PlaySE(SE_W091); - EventObjectSetHeldMovement(eventObject, GetJumpMovementAction(DIR_EAST)); + ObjectEventSetHeldMovement(objectEvent, GetJumpMovementAction(DIR_EAST)); } return FALSE; } -static bool8 LavaridgeGymB1FWarpExitEffect_4(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) +static bool8 LavaridgeGymB1FWarpExitEffect_4(struct Task *task, struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (EventObjectClearHeldMovementIfFinished(eventObject)) + if (ObjectEventClearHeldMovementIfFinished(objectEvent)) { gPlayerAvatar.preventStep = FALSE; ScriptContext2_Disable(); - UnfreezeEventObjects(); + UnfreezeObjectEvents(); DestroyTask(FindTaskIdByFunc(Task_LavaridgeGymB1FWarpExit)); } return FALSE; @@ -2195,27 +2065,27 @@ void StartLavaridgeGym1FWarp(u8 priority) static void Task_LavaridgeGym1FWarp(u8 taskId) { - while(sLavaridgeGym1FWarpEffectFuncs[gTasks[taskId].data[0]](&gTasks[taskId], &gEventObjects[gPlayerAvatar.eventObjectId], &gSprites[gPlayerAvatar.spriteId])); + while(sLavaridgeGym1FWarpEffectFuncs[gTasks[taskId].data[0]](&gTasks[taskId], &gObjectEvents[gPlayerAvatar.objectEventId], &gSprites[gPlayerAvatar.spriteId])); } -static bool8 LavaridgeGym1FWarpEffect_1(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) +static bool8 LavaridgeGym1FWarpEffect_1(struct Task *task, struct ObjectEvent *objectEvent, struct Sprite *sprite) { - FreezeEventObjects(); + FreezeObjectEvents(); CameraObjectReset2(); gPlayerAvatar.preventStep = TRUE; - eventObject->fixedPriority = 1; + objectEvent->fixedPriority = 1; task->data[0]++; return FALSE; } -static bool8 LavaridgeGym1FWarpEffect_2(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) +static bool8 LavaridgeGym1FWarpEffect_2(struct Task *task, struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (EventObjectClearHeldMovementIfFinished(eventObject)) + if (ObjectEventClearHeldMovementIfFinished(objectEvent)) { if (task->data[1] > 3) { - gFieldEffectArguments[0] = eventObject->currentCoords.x; - gFieldEffectArguments[1] = eventObject->currentCoords.y; + gFieldEffectArguments[0] = objectEvent->currentCoords.x; + gFieldEffectArguments[1] = objectEvent->currentCoords.y; gFieldEffectArguments[2] = sprite->subpriority - 1; gFieldEffectArguments[3] = sprite->oam.priority; task->data[1] = FieldEffectStart(FLDEFF_POP_OUT_OF_ASH); @@ -2223,24 +2093,24 @@ static bool8 LavaridgeGym1FWarpEffect_2(struct Task *task, struct EventObject *e } else { task->data[1]++; - EventObjectSetHeldMovement(eventObject, GetWalkInPlaceFastestMovementAction(eventObject->facingDirection)); + ObjectEventSetHeldMovement(objectEvent, GetWalkInPlaceFastestMovementAction(objectEvent->facingDirection)); PlaySE(SE_FU_ZUZUZU); } } return FALSE; } -static bool8 LavaridgeGym1FWarpEffect_3(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) +static bool8 LavaridgeGym1FWarpEffect_3(struct Task *task, struct ObjectEvent *objectEvent, struct Sprite *sprite) { if (gSprites[task->data[1]].animCmdIndex == 2) { - eventObject->invisible = TRUE; + objectEvent->invisible = TRUE; task->data[0]++; } return FALSE; } -static bool8 LavaridgeGym1FWarpEffect_4(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) +static bool8 LavaridgeGym1FWarpEffect_4(struct Task *task, struct ObjectEvent *objectEvent, struct Sprite *sprite) { if (!FieldEffectActiveListContains(FLDEFF_POP_OUT_OF_ASH)) { @@ -2251,7 +2121,7 @@ static bool8 LavaridgeGym1FWarpEffect_4(struct Task *task, struct EventObject *e return FALSE; } -static bool8 LavaridgeGym1FWarpEffect_5(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) +static bool8 LavaridgeGym1FWarpEffect_5(struct Task *task, struct ObjectEvent *objectEvent, struct Sprite *sprite) { if (!gPaletteFade.active && BGMusicStopped() == TRUE) { @@ -2284,7 +2154,7 @@ void SpriteCB_PopOutOfAsh(struct Sprite *sprite) void StartEscapeRopeFieldEffect(void) { ScriptContext2_Enable(); - FreezeEventObjects(); + FreezeObjectEvents(); CreateTask(DoEscapeRopeFieldEffect, 0x50); } @@ -2302,19 +2172,19 @@ static void EscapeRopeFieldEffect_Step0(struct Task *task) static void EscapeRopeFieldEffect_Step1(struct Task *task) { - struct EventObject *eventObject; + struct ObjectEvent *objectEvent; u8 spinDirections[5] = {DIR_SOUTH, DIR_WEST, DIR_EAST, DIR_NORTH, DIR_SOUTH}; if (task->data[14] != 0 && (--task->data[14]) == 0) { TryFadeOutOldMapMusic(); WarpFadeOutScreen(); } - eventObject = &gEventObjects[gPlayerAvatar.eventObjectId]; - if (!EventObjectIsMovementOverridden(eventObject) || EventObjectClearHeldMovementIfFinished(eventObject)) + objectEvent = &gObjectEvents[gPlayerAvatar.objectEventId]; + if (!ObjectEventIsMovementOverridden(objectEvent) || ObjectEventClearHeldMovementIfFinished(objectEvent)) { if (task->data[14] == 0 && !gPaletteFade.active && BGMusicStopped() == TRUE) { - SetEventObjectDirection(eventObject, task->data[15]); + SetObjectEventDirection(objectEvent, task->data[15]); SetWarpDestinationToEscapeWarp(); WarpIntoMap(); gFieldCallback = mapldr_080859D4; @@ -2322,7 +2192,7 @@ static void EscapeRopeFieldEffect_Step1(struct Task *task) DestroyTask(FindTaskIdByFunc(DoEscapeRopeFieldEffect)); } else if (task->data[1] == 0 || (--task->data[1]) == 0) { - EventObjectSetHeldMovement(eventObject, GetFaceDirectionMovementAction(spinDirections[eventObject->facingDirection])); + ObjectEventSetHeldMovement(objectEvent, GetFaceDirectionMovementAction(spinDirections[objectEvent->facingDirection])); if (task->data[2] < 12) { task->data[2]++; @@ -2342,9 +2212,9 @@ static void mapldr_080859D4(void) Overworld_PlaySpecialMapMusic(); WarpFadeInScreen(); ScriptContext2_Enable(); - FreezeEventObjects(); + FreezeObjectEvents(); gFieldCallback = NULL; - gEventObjects[gPlayerAvatar.eventObjectId].invisible = TRUE; + gObjectEvents[gPlayerAvatar.objectEventId].invisible = TRUE; CreateTask(sub_80B7E94, 0); } @@ -2365,29 +2235,29 @@ static void sub_80B7EC4(struct Task *task) static void sub_80B7EE8(struct Task *task) { u8 spinDirections[5] = {1, 3, 4, 2, 1}; - struct EventObject *eventObject = &gEventObjects[gPlayerAvatar.eventObjectId]; + struct ObjectEvent *objectEvent = &gObjectEvents[gPlayerAvatar.objectEventId]; if (task->data[1] == 0 || (--task->data[1]) == 0) { - if (EventObjectIsMovementOverridden(eventObject) && !EventObjectClearHeldMovementIfFinished(eventObject)) + if (ObjectEventIsMovementOverridden(objectEvent) && !ObjectEventClearHeldMovementIfFinished(objectEvent)) { return; } if (task->data[2] >= 32 && task->data[15] == GetPlayerFacingDirection()) { - eventObject->invisible = FALSE; + objectEvent->invisible = FALSE; ScriptContext2_Disable(); - UnfreezeEventObjects(); + UnfreezeObjectEvents(); DestroyTask(FindTaskIdByFunc(sub_80B7E94)); return; } - EventObjectSetHeldMovement(eventObject, GetFaceDirectionMovementAction(spinDirections[eventObject->facingDirection])); + ObjectEventSetHeldMovement(objectEvent, GetFaceDirectionMovementAction(spinDirections[objectEvent->facingDirection])); if (task->data[2] < 32) { task->data[2]++; } task->data[1] = task->data[2] >> 2; } - eventObject->invisible ^= 1; + objectEvent->invisible ^= 1; } void CreateTeleportFieldEffectTask(void) @@ -2410,7 +2280,7 @@ static void ExecuteTeleportFieldEffectTask(u8 taskId) static void TeleportFieldEffectTask1(struct Task *task) { ScriptContext2_Enable(); - FreezeEventObjects(); + FreezeObjectEvents(); CameraObjectReset2(); task->data[15] = GetPlayerFacingDirection(); task->data[0]++; @@ -2419,14 +2289,14 @@ static void TeleportFieldEffectTask1(struct Task *task) static void TeleportFieldEffectTask2(struct Task *task) { u8 spinDirections[5] = {DIR_SOUTH, DIR_WEST, DIR_EAST, DIR_NORTH, DIR_SOUTH}; - struct EventObject *eventObject = &gEventObjects[gPlayerAvatar.eventObjectId]; + struct ObjectEvent *objectEvent = &gObjectEvents[gPlayerAvatar.objectEventId]; if (task->data[1] == 0 || (--task->data[1]) == 0) { - EventObjectTurn(eventObject, spinDirections[eventObject->facingDirection]); + ObjectEventTurn(objectEvent, spinDirections[objectEvent->facingDirection]); task->data[1] = 8; task->data[2]++; } - if (task->data[2] > 7 && task->data[15] == eventObject->facingDirection) + if (task->data[2] > 7 && task->data[15] == objectEvent->facingDirection) { task->data[0]++; task->data[1] = 4; @@ -2439,12 +2309,12 @@ static void TeleportFieldEffectTask2(struct Task *task) static void TeleportFieldEffectTask3(struct Task *task) { u8 spinDirections[5] = {DIR_SOUTH, DIR_WEST, DIR_EAST, DIR_NORTH, DIR_SOUTH}; - struct EventObject *eventObject = &gEventObjects[gPlayerAvatar.eventObjectId]; + struct ObjectEvent *objectEvent = &gObjectEvents[gPlayerAvatar.objectEventId]; struct Sprite *sprite = &gSprites[gPlayerAvatar.spriteId]; if ((--task->data[1]) <= 0) { task->data[1] = 4; - EventObjectTurn(eventObject, spinDirections[eventObject->facingDirection]); + ObjectEventTurn(objectEvent, spinDirections[objectEvent->facingDirection]); } sprite->pos1.y -= task->data[3]; task->data[4] += task->data[3]; @@ -2490,9 +2360,9 @@ static void mapldr_08085D88(void) Overworld_PlaySpecialMapMusic(); WarpFadeInScreen(); ScriptContext2_Enable(); - FreezeEventObjects(); + FreezeObjectEvents(); gFieldCallback = NULL; - gEventObjects[gPlayerAvatar.eventObjectId].invisible = TRUE; + gObjectEvents[gPlayerAvatar.objectEventId].invisible = TRUE; CameraObjectReset2(); CreateTask(sub_80B8250, 0); } @@ -2517,7 +2387,7 @@ static void sub_80B8280(struct Task *task) sprite = &gSprites[gPlayerAvatar.spriteId]; centerToCornerVecY = -(sprite->centerToCornerVecY << 1); sprite->pos2.y = -(sprite->pos1.y + sprite->centerToCornerVecY + gSpriteCoordOffsetY + centerToCornerVecY); - gEventObjects[gPlayerAvatar.eventObjectId].invisible = FALSE; + gObjectEvents[gPlayerAvatar.objectEventId].invisible = FALSE; task->data[0]++; task->data[1] = 8; task->data[2] = 1; @@ -2530,14 +2400,14 @@ static void sub_80B8280(struct Task *task) static void sub_80B830C(struct Task *task) { u8 spinDirections[5] = {1, 3, 4, 2, 1}; - struct EventObject *eventObject = &gEventObjects[gPlayerAvatar.eventObjectId]; + struct ObjectEvent *objectEvent = &gObjectEvents[gPlayerAvatar.objectEventId]; struct Sprite *sprite = &gSprites[gPlayerAvatar.spriteId]; if ((sprite->pos2.y += task->data[1]) >= -8) { if (task->data[13] == 0) { task->data[13]++; - eventObject->triggerGroundEffectsOnMove = 1; + objectEvent->triggerGroundEffectsOnMove = 1; sprite->subspriteMode = task->data[14]; } } else @@ -2555,7 +2425,7 @@ static void sub_80B830C(struct Task *task) if ((--task->data[2]) == 0) { task->data[2] = 4; - EventObjectTurn(eventObject, spinDirections[eventObject->facingDirection]); + ObjectEventTurn(objectEvent, spinDirections[objectEvent->facingDirection]); } if (sprite->pos2.y >= 0) { @@ -2569,16 +2439,16 @@ static void sub_80B830C(struct Task *task) static void sub_80B8410(struct Task *task) { u8 spinDirections[5] = {1, 3, 4, 2, 1}; - struct EventObject *eventObject = &gEventObjects[gPlayerAvatar.eventObjectId]; + struct ObjectEvent *objectEvent = &gObjectEvents[gPlayerAvatar.objectEventId]; if ((--task->data[1]) == 0) { - EventObjectTurn(eventObject, spinDirections[eventObject->facingDirection]); + ObjectEventTurn(objectEvent, spinDirections[objectEvent->facingDirection]); task->data[1] = 8; - if ((++task->data[2]) > 4 && task->data[14] == eventObject->facingDirection) + if ((++task->data[2]) > 4 && task->data[14] == objectEvent->facingDirection) { ScriptContext2_Disable(); CameraObjectReset1(); - UnfreezeEventObjects(); + UnfreezeObjectEvents(); DestroyTask(FindTaskIdByFunc(sub_80B8250)); } } @@ -3008,31 +2878,31 @@ static void sub_80B8D84(u8 taskId) static void sub_80B8DB4(struct Task *task) { ScriptContext2_Enable(); - FreezeEventObjects(); + FreezeObjectEvents(); gPlayerAvatar.preventStep = TRUE; SetPlayerAvatarStateMask(8); PlayerGetDestCoords(&task->data[1], &task->data[2]); - MoveCoords(gEventObjects[gPlayerAvatar.eventObjectId].movementDirection, &task->data[1], &task->data[2]); + MoveCoords(gObjectEvents[gPlayerAvatar.objectEventId].movementDirection, &task->data[1], &task->data[2]); task->data[0]++; } static void sub_80B8E14(struct Task *task) { - struct EventObject *eventObject; - eventObject = &gEventObjects[gPlayerAvatar.eventObjectId]; - if (!EventObjectIsMovementOverridden(eventObject) || EventObjectClearHeldMovementIfFinished(eventObject)) + struct ObjectEvent *objectEvent; + objectEvent = &gObjectEvents[gPlayerAvatar.objectEventId]; + if (!ObjectEventIsMovementOverridden(objectEvent) || ObjectEventClearHeldMovementIfFinished(objectEvent)) { sub_808C114(); - EventObjectSetHeldMovement(eventObject, MOVEMENT_ACTION_START_ANIM_IN_DIRECTION); + ObjectEventSetHeldMovement(objectEvent, MOVEMENT_ACTION_START_ANIM_IN_DIRECTION); task->data[0]++; } } static void sub_80B8E60(struct Task *task) { - struct EventObject *eventObject; - eventObject = &gEventObjects[gPlayerAvatar.eventObjectId]; - if (EventObjectCheckHeldMovementStatus(eventObject)) + struct ObjectEvent *objectEvent; + objectEvent = &gObjectEvents[gPlayerAvatar.objectEventId]; + if (ObjectEventCheckHeldMovementStatus(objectEvent)) { gFieldEffectArguments[0] = task->data[15] | 0x80000000; FieldEffectStart(FLDEFF_FIELD_MOVE_SHOW_MON_INIT); @@ -3042,32 +2912,32 @@ static void sub_80B8E60(struct Task *task) static void sub_80B8EA8(struct Task *task) { - struct EventObject *eventObject; + struct ObjectEvent *objectEvent; if (!FieldEffectActiveListContains(FLDEFF_FIELD_MOVE_SHOW_MON)) { - eventObject = &gEventObjects[gPlayerAvatar.eventObjectId]; - EventObjectSetGraphicsId(eventObject, GetPlayerAvatarGraphicsIdByStateId(3)); - EventObjectClearHeldMovementIfFinished(eventObject); - EventObjectSetHeldMovement(eventObject, GetJumpSpecialMovementAction(eventObject->movementDirection)); + objectEvent = &gObjectEvents[gPlayerAvatar.objectEventId]; + ObjectEventSetGraphicsId(objectEvent, GetPlayerAvatarGraphicsIdByStateId(3)); + ObjectEventClearHeldMovementIfFinished(objectEvent); + ObjectEventSetHeldMovement(objectEvent, GetJumpSpecialMovementAction(objectEvent->movementDirection)); gFieldEffectArguments[0] = task->data[1]; gFieldEffectArguments[1] = task->data[2]; - gFieldEffectArguments[2] = gPlayerAvatar.eventObjectId; - eventObject->fieldEffectSpriteId = FieldEffectStart(FLDEFF_SURF_BLOB); + gFieldEffectArguments[2] = gPlayerAvatar.objectEventId; + objectEvent->fieldEffectSpriteId = FieldEffectStart(FLDEFF_SURF_BLOB); task->data[0]++; } } static void sub_80B8F24(struct Task *task) { - struct EventObject *eventObject; - eventObject = &gEventObjects[gPlayerAvatar.eventObjectId]; - if (EventObjectClearHeldMovementIfFinished(eventObject)) + struct ObjectEvent *objectEvent; + objectEvent = &gObjectEvents[gPlayerAvatar.objectEventId]; + if (ObjectEventClearHeldMovementIfFinished(objectEvent)) { gPlayerAvatar.preventStep = FALSE; gPlayerAvatar.flags &= 0xdf; - EventObjectSetHeldMovement(eventObject, GetFaceDirectionMovementAction(eventObject->movementDirection)); - sub_81555AC(eventObject->fieldEffectSpriteId, 1); - UnfreezeEventObjects(); + ObjectEventSetHeldMovement(objectEvent, GetFaceDirectionMovementAction(objectEvent->movementDirection)); + sub_81555AC(objectEvent->fieldEffectSpriteId, 1); + UnfreezeObjectEvents(); ScriptContext2_Disable(); FieldEffectActiveListRemove(FLDEFF_USE_SURF); DestroyTask(FindTaskIdByFunc(sub_80B8D84)); @@ -3172,22 +3042,22 @@ static void sub_80B91D4(u8 taskId) static void sub_80B9204(struct Task *task) { - struct EventObject *eventObject = &gEventObjects[gPlayerAvatar.eventObjectId]; - if (!EventObjectIsMovementOverridden(eventObject) || EventObjectClearHeldMovementIfFinished(eventObject)) + struct ObjectEvent *objectEvent = &gObjectEvents[gPlayerAvatar.objectEventId]; + if (!ObjectEventIsMovementOverridden(objectEvent) || ObjectEventClearHeldMovementIfFinished(objectEvent)) { task->data[15] = gPlayerAvatar.flags; gPlayerAvatar.preventStep = TRUE; SetPlayerAvatarStateMask(1); sub_808C114(); - EventObjectSetHeldMovement(eventObject, MOVEMENT_ACTION_START_ANIM_IN_DIRECTION); + ObjectEventSetHeldMovement(objectEvent, MOVEMENT_ACTION_START_ANIM_IN_DIRECTION); task->data[0]++; } } static void sub_80B925C(struct Task *task) { - struct EventObject *eventObject = &gEventObjects[gPlayerAvatar.eventObjectId]; - if (EventObjectClearHeldMovementIfFinished(eventObject)) + struct ObjectEvent *objectEvent = &gObjectEvents[gPlayerAvatar.objectEventId]; + if (ObjectEventClearHeldMovementIfFinished(objectEvent)) { task->data[0]++; gFieldEffectArguments[0] = task->data[1]; @@ -3199,11 +3069,11 @@ static void sub_80B92A0(struct Task *task) { if (!FieldEffectActiveListContains(FLDEFF_FIELD_MOVE_SHOW_MON)) { - struct EventObject *eventObject = &gEventObjects[gPlayerAvatar.eventObjectId]; + struct ObjectEvent *objectEvent = &gObjectEvents[gPlayerAvatar.objectEventId]; if (task->data[15] & 0x08) { - sub_81555AC(eventObject->fieldEffectSpriteId, 2); - sub_81555D8(eventObject->fieldEffectSpriteId, 0); + sub_81555AC(objectEvent->fieldEffectSpriteId, 2); + sub_81555D8(objectEvent->fieldEffectSpriteId, 0); } task->data[1] = sub_80B94C4(); task->data[0]++; @@ -3217,14 +3087,14 @@ static void sub_80B92F8(struct Task *task) task->data[0]++; task->data[2] = 16; SetPlayerAvatarTransitionFlags(PLAYER_AVATAR_FLAG_ON_FOOT); - EventObjectSetHeldMovement(&gEventObjects[gPlayerAvatar.eventObjectId], MOVEMENT_ACTION_FACE_LEFT); + ObjectEventSetHeldMovement(&gObjectEvents[gPlayerAvatar.objectEventId], MOVEMENT_ACTION_FACE_LEFT); } } static void sub_80B933C(struct Task *task) { - struct EventObject *eventObject = &gEventObjects[gPlayerAvatar.eventObjectId]; - if ((task->data[2] == 0 || (--task->data[2]) == 0) && EventObjectClearHeldMovementIfFinished(eventObject)) + struct ObjectEvent *objectEvent = &gObjectEvents[gPlayerAvatar.objectEventId]; + if ((task->data[2] == 0 || (--task->data[2]) == 0) && ObjectEventClearHeldMovementIfFinished(objectEvent)) { task->data[0]++; PlaySE(SE_W019); @@ -3236,14 +3106,14 @@ static void sub_80B9390(struct Task *task) { if ((++task->data[2]) >= 8) { - struct EventObject *eventObject = &gEventObjects[gPlayerAvatar.eventObjectId]; - EventObjectSetGraphicsId(eventObject, GetPlayerAvatarGraphicsIdByStateId(0x03)); - StartSpriteAnim(&gSprites[eventObject->spriteId], 0x16); - eventObject->inanimate = 1; - EventObjectSetHeldMovement(eventObject, MOVEMENT_ACTION_JUMP_IN_PLACE_LEFT); + struct ObjectEvent *objectEvent = &gObjectEvents[gPlayerAvatar.objectEventId]; + ObjectEventSetGraphicsId(objectEvent, GetPlayerAvatarGraphicsIdByStateId(0x03)); + StartSpriteAnim(&gSprites[objectEvent->spriteId], 0x16); + objectEvent->inanimate = 1; + ObjectEventSetHeldMovement(objectEvent, MOVEMENT_ACTION_JUMP_IN_PLACE_LEFT); if (task->data[15] & 0x08) { - DestroySprite(&gSprites[eventObject->fieldEffectSpriteId]); + DestroySprite(&gSprites[objectEvent->fieldEffectSpriteId]); } task->data[0]++; task->data[2] = 0; @@ -3254,11 +3124,11 @@ static void sub_80B9418(struct Task *task) { if ((++task->data[2]) >= 10) { - struct EventObject *eventObject = &gEventObjects[gPlayerAvatar.eventObjectId]; - EventObjectClearHeldMovementIfActive(eventObject); - eventObject->inanimate = 0; - eventObject->hasShadow = 0; - sub_80B9560(task->data[1], eventObject->spriteId); + struct ObjectEvent *objectEvent = &gObjectEvents[gPlayerAvatar.objectEventId]; + ObjectEventClearHeldMovementIfActive(objectEvent); + objectEvent->inanimate = 0; + objectEvent->hasShadow = 0; + sub_80B9560(task->data[1], objectEvent->spriteId); CameraObjectReset2(); task->data[0]++; } @@ -3460,9 +3330,9 @@ static void sub_80B97D4(u8 taskId) static void sub_80B9804(struct Task *task) { - struct EventObject *eventObject; - eventObject = &gEventObjects[gPlayerAvatar.eventObjectId]; - if (!EventObjectIsMovementOverridden(eventObject) || EventObjectClearHeldMovementIfFinished(eventObject)) + struct ObjectEvent *objectEvent; + objectEvent = &gObjectEvents[gPlayerAvatar.objectEventId]; + if (!ObjectEventIsMovementOverridden(objectEvent) || ObjectEventClearHeldMovementIfFinished(objectEvent)) { task->data[0]++; task->data[2] = 17; @@ -3471,27 +3341,27 @@ static void sub_80B9804(struct Task *task) SetPlayerAvatarStateMask(0x01); if (task->data[15] & 0x08) { - sub_81555AC(eventObject->fieldEffectSpriteId, 0); + sub_81555AC(objectEvent->fieldEffectSpriteId, 0); } - EventObjectSetGraphicsId(eventObject, GetPlayerAvatarGraphicsIdByStateId(0x3)); + ObjectEventSetGraphicsId(objectEvent, GetPlayerAvatarGraphicsIdByStateId(0x3)); CameraObjectReset2(); - EventObjectTurn(eventObject, DIR_WEST); - StartSpriteAnim(&gSprites[eventObject->spriteId], 0x16); - eventObject->invisible = FALSE; + ObjectEventTurn(objectEvent, DIR_WEST); + StartSpriteAnim(&gSprites[objectEvent->spriteId], 0x16); + objectEvent->invisible = FALSE; task->data[1] = sub_80B94C4(); sub_80B9524(task->data[1]); - sub_80B9560(task->data[1], eventObject->spriteId); + sub_80B9560(task->data[1], objectEvent->spriteId); } } static void sub_80B98B8(struct Task *task) { - struct EventObject *eventObject; + struct ObjectEvent *objectEvent; struct Sprite *sprite; if (task->data[2] == 0 || (--task->data[2]) == 0) { - eventObject = &gEventObjects[gPlayerAvatar.eventObjectId]; - sprite = &gSprites[eventObject->spriteId]; + objectEvent = &gObjectEvents[gPlayerAvatar.objectEventId]; + sprite = &gSprites[objectEvent->spriteId]; sub_80B9560(task->data[1], 0x40); sprite->pos1.x += sprite->pos2.x; sprite->pos1.y += sprite->pos2.y; @@ -3534,26 +3404,26 @@ static void sub_80B9924(struct Task *task) static void sub_80B9978(struct Task *task) { - struct EventObject *eventObject; + struct ObjectEvent *objectEvent; struct Sprite *sprite; if (sub_80B9508(task->data[1])) { - eventObject = &gEventObjects[gPlayerAvatar.eventObjectId]; - sprite = &gSprites[eventObject->spriteId]; - eventObject->inanimate = 0; - MoveEventObjectToMapCoords(eventObject, eventObject->currentCoords.x, eventObject->currentCoords.y); + objectEvent = &gObjectEvents[gPlayerAvatar.objectEventId]; + sprite = &gSprites[objectEvent->spriteId]; + objectEvent->inanimate = 0; + MoveObjectEventToMapCoords(objectEvent, objectEvent->currentCoords.x, objectEvent->currentCoords.y); sprite->pos2.x = 0; sprite->pos2.y = 0; sprite->coordOffsetEnabled = 1; sub_808C114(); - EventObjectSetHeldMovement(eventObject, MOVEMENT_ACTION_START_ANIM_IN_DIRECTION); + ObjectEventSetHeldMovement(objectEvent, MOVEMENT_ACTION_START_ANIM_IN_DIRECTION); task->data[0]++; } } static void sub_80B99F0(struct Task *task) { - if (EventObjectClearHeldMovementIfFinished(&gEventObjects[gPlayerAvatar.eventObjectId])) + if (ObjectEventClearHeldMovementIfFinished(&gObjectEvents[gPlayerAvatar.objectEventId])) { task->data[0]++; sub_80B9794(task->data[1]); @@ -3573,18 +3443,18 @@ static void sub_80B9A28(struct Task *task) static void sub_80B9A60(struct Task *task) { u8 state; - struct EventObject *eventObject; + struct ObjectEvent *objectEvent; if ((--task->data[1]) == 0) { - eventObject = &gEventObjects[gPlayerAvatar.eventObjectId]; + objectEvent = &gObjectEvents[gPlayerAvatar.objectEventId]; state = 0; if (task->data[15] & 0x08) { state = 3; - sub_81555AC(eventObject->fieldEffectSpriteId, 1); + sub_81555AC(objectEvent->fieldEffectSpriteId, 1); } - EventObjectSetGraphicsId(eventObject, GetPlayerAvatarGraphicsIdByStateId(state)); - EventObjectTurn(eventObject, DIR_SOUTH); + ObjectEventSetGraphicsId(objectEvent, GetPlayerAvatarGraphicsIdByStateId(state)); + ObjectEventTurn(objectEvent, DIR_SOUTH); gPlayerAvatar.flags = task->data[15]; gPlayerAvatar.preventStep = FALSE; FieldEffectActiveListRemove(FLDEFF_FLY_IN); @@ -3595,11 +3465,11 @@ static void sub_80B9A60(struct Task *task) bool8 sub_80B9ADC(void) { u8 taskId; - u8 eventObjectIdBuffer; - if (!TryGetEventObjectIdByLocalIdAndMap(gFieldEffectArguments[0], gFieldEffectArguments[1], gFieldEffectArguments[2], &eventObjectIdBuffer)) + u8 objectEventIdBuffer; + if (!TryGetObjectEventIdByLocalIdAndMap(gFieldEffectArguments[0], gFieldEffectArguments[1], gFieldEffectArguments[2], &objectEventIdBuffer)) { taskId = CreateTask(sub_80B9BE8, 0x50); - gTasks[taskId].data[2] = eventObjectIdBuffer; + gTasks[taskId].data[2] = objectEventIdBuffer; gTasks[taskId].data[6] = gFieldEffectArguments[0]; gTasks[taskId].data[7] = gFieldEffectArguments[1]; gTasks[taskId].data[8] = gFieldEffectArguments[2]; @@ -3678,8 +3548,8 @@ void sub_80B9C54(s16* data, u8 taskId) { if (++data[3] > 0x78) { - struct Sprite *sprite = &gSprites[gEventObjects[data[2]].spriteId]; - gEventObjects[data[2]].invisible = TRUE; + struct Sprite *sprite = &gSprites[gObjectEvents[data[2]].spriteId]; + gObjectEvents[data[2]].invisible = TRUE; BlendPalettes(0x0000FFFF, 0x10, RGB_WHITE); BeginNormalPaletteFade(0x0000FFFF, 0, 0x10, 0, RGB_WHITE); sub_80B9D24(sprite); @@ -3695,7 +3565,7 @@ void sub_80B9CDC(s16* a0, u8 taskId) if (!gPaletteFade.active && !FuncIsActiveTask(sub_80B9B3C)) { InstallCameraPanAheadCallback(); - RemoveEventObjectByLocalIdAndMap(a0[6], a0[7], a0[8]); + RemoveObjectEventByLocalIdAndMap(a0[6], a0[7], a0[8]); FieldEffectActiveListRemove(0x41); DestroyTask(taskId); } @@ -3790,24 +3660,24 @@ static void sub_80B9DB8(struct Sprite* sprite) bool8 Fldeff_MoveDeoxysRock(struct Sprite* sprite) { - u8 eventObjectIdBuffer; - if (!TryGetEventObjectIdByLocalIdAndMap(gFieldEffectArguments[0], gFieldEffectArguments[1], gFieldEffectArguments[2], &eventObjectIdBuffer)) + u8 objectEventIdBuffer; + if (!TryGetObjectEventIdByLocalIdAndMap(gFieldEffectArguments[0], gFieldEffectArguments[1], gFieldEffectArguments[2], &objectEventIdBuffer)) { - struct EventObject *object; + struct ObjectEvent *object; int xPos, yPos; u8 taskId; - object = &gEventObjects[eventObjectIdBuffer]; + object = &gObjectEvents[objectEventIdBuffer]; xPos = object->currentCoords.x - 7; yPos = object->currentCoords.y - 7; xPos = (gFieldEffectArguments[3] - xPos) * 16; yPos = (gFieldEffectArguments[4] - yPos) * 16; - ShiftEventObjectCoords(object, gFieldEffectArguments[3] + 7, gFieldEffectArguments[4] + 7); + ShiftObjectEventCoords(object, gFieldEffectArguments[3] + 7, gFieldEffectArguments[4] + 7); taskId = CreateTask(Fldeff_MoveDeoxysRock_Step, 0x50); gTasks[taskId].data[1] = object->spriteId; gTasks[taskId].data[2] = gSprites[object->spriteId].pos1.x + xPos; gTasks[taskId].data[3] = gSprites[object->spriteId].pos1.y + yPos; gTasks[taskId].data[8] = gFieldEffectArguments[5]; - gTasks[taskId].data[9] = eventObjectIdBuffer; + gTasks[taskId].data[9] = objectEventIdBuffer; } return FALSE; } @@ -3836,10 +3706,10 @@ static void Fldeff_MoveDeoxysRock_Step(u8 taskId) } else { - struct EventObject *object = &gEventObjects[data[9]]; + struct ObjectEvent *object = &gObjectEvents[data[9]]; sprite->pos1.x = data[2]; sprite->pos1.y = data[3]; - ShiftStillEventObjectCoords(object); + ShiftStillObjectEventCoords(object); object->triggerGroundEffectsOnStop = TRUE; FieldEffectActiveListRemove(0x42); DestroyTask(taskId); diff --git a/src/field_effect_helpers.c b/src/field_effect_helpers.c index 547a2851b..52c30ab0f 100755 --- a/src/field_effect_helpers.c +++ b/src/field_effect_helpers.c @@ -13,12 +13,12 @@ #include "constants/field_effects.h" #include "constants/songs.h" -#define EVENT_OBJ_PAL_TAG_NONE 0x11FF // duplicate of define in event_object_movement.c +#define OBJ_EVENT_PAL_TAG_NONE 0x11FF // duplicate of define in event_object_movement.c static void UpdateObjectReflectionSprite(struct Sprite *); -static void LoadObjectReflectionPalette(struct EventObject *eventObject, struct Sprite *sprite); -static void LoadObjectHighBridgeReflectionPalette(struct EventObject *, u8); -static void LoadObjectRegularReflectionPalette(struct EventObject *, u8); +static void LoadObjectReflectionPalette(struct ObjectEvent *objectEvent, struct Sprite *sprite); +static void LoadObjectHighBridgeReflectionPalette(struct ObjectEvent *, u8); +static void LoadObjectRegularReflectionPalette(struct ObjectEvent *, u8); static void sub_81561FC(struct Sprite *, u8, u8); static void FadeFootprintsTireTracks_Step0(struct Sprite *); static void FadeFootprintsTireTracks_Step1(struct Sprite *); @@ -26,13 +26,13 @@ static void UpdateFeetInFlowingWaterFieldEffect(struct Sprite *); static void UpdateAshFieldEffect_Step0(struct Sprite *); static void UpdateAshFieldEffect_Step1(struct Sprite *); static void UpdateAshFieldEffect_Step2(struct Sprite *); -static void SynchroniseSurfAnim(struct EventObject *, struct Sprite *); -static void sub_81556E8(struct EventObject *, struct Sprite *); -static void CreateBobbingEffect(struct EventObject *, struct Sprite *, struct Sprite *); +static void SynchroniseSurfAnim(struct ObjectEvent *, struct Sprite *); +static void sub_81556E8(struct ObjectEvent *, struct Sprite *); +static void CreateBobbingEffect(struct ObjectEvent *, struct Sprite *, struct Sprite *); static void sub_8155850(struct Sprite *); static u32 ShowDisguiseFieldEffect(u8, u8, u8); -void SetUpReflection(struct EventObject *eventObject, struct Sprite *sprite, bool8 stillReflection) +void SetUpReflection(struct ObjectEvent *objectEvent, struct Sprite *sprite, bool8 stillReflection) { struct Sprite *reflectionSprite; @@ -47,41 +47,41 @@ void SetUpReflection(struct EventObject *eventObject, struct Sprite *sprite, boo reflectionSprite->affineAnimBeginning = TRUE; reflectionSprite->subspriteMode = SUBSPRITES_OFF; reflectionSprite->data[0] = sprite->data[0]; - reflectionSprite->data[1] = eventObject->localId; + reflectionSprite->data[1] = objectEvent->localId; reflectionSprite->data[7] = stillReflection; - LoadObjectReflectionPalette(eventObject, reflectionSprite); + LoadObjectReflectionPalette(objectEvent, reflectionSprite); if (!stillReflection) reflectionSprite->oam.affineMode = ST_OAM_AFFINE_NORMAL; } -static s16 GetReflectionVerticalOffset(struct EventObject *eventObject) +static s16 GetReflectionVerticalOffset(struct ObjectEvent *objectEvent) { - return GetEventObjectGraphicsInfo(eventObject->graphicsId)->height - 2; + return GetObjectEventGraphicsInfo(objectEvent->graphicsId)->height - 2; } -static void LoadObjectReflectionPalette(struct EventObject *eventObject, struct Sprite *sprite) +static void LoadObjectReflectionPalette(struct ObjectEvent *objectEvent, struct Sprite *sprite) { u8 bridgeType; u16 bridgeReflectionVerticalOffsets[] = { 12, 28, 44 }; sprite->data[2] = 0; - if (!GetEventObjectGraphicsInfo(eventObject->graphicsId)->disableReflectionPaletteLoad && ((bridgeType = MetatileBehavior_GetBridgeType(eventObject->previousMetatileBehavior)) || (bridgeType = MetatileBehavior_GetBridgeType(eventObject->currentMetatileBehavior)))) + if (!GetObjectEventGraphicsInfo(objectEvent->graphicsId)->disableReflectionPaletteLoad && ((bridgeType = MetatileBehavior_GetBridgeType(objectEvent->previousMetatileBehavior)) || (bridgeType = MetatileBehavior_GetBridgeType(objectEvent->currentMetatileBehavior)))) { sprite->data[2] = bridgeReflectionVerticalOffsets[bridgeType - 1]; - LoadObjectHighBridgeReflectionPalette(eventObject, sprite->oam.paletteNum); + LoadObjectHighBridgeReflectionPalette(objectEvent, sprite->oam.paletteNum); } else { - LoadObjectRegularReflectionPalette(eventObject, sprite->oam.paletteNum); + LoadObjectRegularReflectionPalette(objectEvent, sprite->oam.paletteNum); } } -static void LoadObjectRegularReflectionPalette(struct EventObject *eventObject, u8 paletteIndex) +static void LoadObjectRegularReflectionPalette(struct ObjectEvent *objectEvent, u8 paletteIndex) { - const struct EventObjectGraphicsInfo *graphicsInfo; + const struct ObjectEventGraphicsInfo *graphicsInfo; - graphicsInfo = GetEventObjectGraphicsInfo(eventObject->graphicsId); - if (graphicsInfo->paletteTag2 != EVENT_OBJ_PAL_TAG_NONE) + graphicsInfo = GetObjectEventGraphicsInfo(objectEvent->graphicsId); + if (graphicsInfo->paletteTag2 != OBJ_EVENT_PAL_TAG_NONE) { if (graphicsInfo->paletteSlot == 0) { @@ -101,12 +101,12 @@ static void LoadObjectRegularReflectionPalette(struct EventObject *eventObject, // When walking on a bridge high above water (Route 120), the reflection is a solid dark blue color. // This is so the sprite blends in with the dark water metatile underneath the bridge. -static void LoadObjectHighBridgeReflectionPalette(struct EventObject *eventObject, u8 paletteNum) +static void LoadObjectHighBridgeReflectionPalette(struct ObjectEvent *objectEvent, u8 paletteNum) { - const struct EventObjectGraphicsInfo *graphicsInfo; + const struct ObjectEventGraphicsInfo *graphicsInfo; - graphicsInfo = GetEventObjectGraphicsInfo(eventObject->graphicsId); - if (graphicsInfo->paletteTag2 != EVENT_OBJ_PAL_TAG_NONE) + graphicsInfo = GetObjectEventGraphicsInfo(objectEvent->graphicsId); + if (graphicsInfo->paletteTag2 != OBJ_EVENT_PAL_TAG_NONE) { PatchObjectPalette(graphicsInfo->paletteTag2, paletteNum); UpdateSpritePaletteWithWeather(paletteNum); @@ -115,12 +115,12 @@ static void LoadObjectHighBridgeReflectionPalette(struct EventObject *eventObjec static void UpdateObjectReflectionSprite(struct Sprite *reflectionSprite) { - struct EventObject *eventObject; + struct ObjectEvent *objectEvent; struct Sprite *mainSprite; - eventObject = &gEventObjects[reflectionSprite->data[0]]; - mainSprite = &gSprites[eventObject->spriteId]; - if (!eventObject->active || !eventObject->hasReflection || eventObject->localId != reflectionSprite->data[1]) + objectEvent = &gObjectEvents[reflectionSprite->data[0]]; + mainSprite = &gSprites[objectEvent->spriteId]; + if (!objectEvent->active || !objectEvent->hasReflection || objectEvent->localId != reflectionSprite->data[1]) { reflectionSprite->inUse = FALSE; } @@ -136,14 +136,14 @@ static void UpdateObjectReflectionSprite(struct Sprite *reflectionSprite) reflectionSprite->invisible = mainSprite->invisible; reflectionSprite->pos1.x = mainSprite->pos1.x; // reflectionSprite->data[2] holds an additional vertical offset, used by the high bridges on Route 120 - reflectionSprite->pos1.y = mainSprite->pos1.y + GetReflectionVerticalOffset(eventObject) + reflectionSprite->data[2]; + reflectionSprite->pos1.y = mainSprite->pos1.y + GetReflectionVerticalOffset(objectEvent) + reflectionSprite->data[2]; reflectionSprite->centerToCornerVecX = mainSprite->centerToCornerVecX; reflectionSprite->centerToCornerVecY = mainSprite->centerToCornerVecY; reflectionSprite->pos2.x = mainSprite->pos2.x; reflectionSprite->pos2.y = -mainSprite->pos2.y; reflectionSprite->coordOffsetEnabled = mainSprite->coordOffsetEnabled; - if (eventObject->hideReflection == TRUE) + if (objectEvent->hideReflection == TRUE) reflectionSprite->invisible = TRUE; // Check if the reflection is not still. @@ -218,12 +218,12 @@ const u16 gShadowVerticalOffsets[] = { u32 FldEff_Shadow(void) { - u8 eventObjectId; - const struct EventObjectGraphicsInfo *graphicsInfo; + u8 objectEventId; + const struct ObjectEventGraphicsInfo *graphicsInfo; u8 spriteId; - eventObjectId = GetEventObjectIdByLocalIdAndMap(gFieldEffectArguments[0], gFieldEffectArguments[1], gFieldEffectArguments[2]); - graphicsInfo = GetEventObjectGraphicsInfo(gEventObjects[eventObjectId].graphicsId); + objectEventId = GetObjectEventIdByLocalIdAndMap(gFieldEffectArguments[0], gFieldEffectArguments[1], gFieldEffectArguments[2]); + graphicsInfo = GetObjectEventGraphicsInfo(gObjectEvents[objectEventId].graphicsId); spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[gShadowEffectTemplateIds[graphicsInfo->shadowSize]], 0, 0, 0x94); if (spriteId != MAX_SPRITES) { @@ -238,27 +238,27 @@ u32 FldEff_Shadow(void) void UpdateShadowFieldEffect(struct Sprite *sprite) { - u8 eventObjectId; - struct EventObject *eventObject; + u8 objectEventId; + struct ObjectEvent *objectEvent; struct Sprite *linkedSprite; - if (TryGetEventObjectIdByLocalIdAndMap(sprite->data[0], sprite->data[1], sprite->data[2], &eventObjectId)) + if (TryGetObjectEventIdByLocalIdAndMap(sprite->data[0], sprite->data[1], sprite->data[2], &objectEventId)) { FieldEffectStop(sprite, FLDEFF_SHADOW); } else { - eventObject = &gEventObjects[eventObjectId]; - linkedSprite = &gSprites[eventObject->spriteId]; + objectEvent = &gObjectEvents[objectEventId]; + linkedSprite = &gSprites[objectEvent->spriteId]; sprite->oam.priority = linkedSprite->oam.priority; sprite->pos1.x = linkedSprite->pos1.x; sprite->pos1.y = linkedSprite->pos1.y + sprite->data[3]; - if (!eventObject->active || !eventObject->hasShadow - || MetatileBehavior_IsPokeGrass(eventObject->currentMetatileBehavior) - || MetatileBehavior_IsSurfableWaterOrUnderwater(eventObject->currentMetatileBehavior) - || MetatileBehavior_IsSurfableWaterOrUnderwater(eventObject->previousMetatileBehavior) - || MetatileBehavior_IsReflective(eventObject->currentMetatileBehavior) - || MetatileBehavior_IsReflective(eventObject->previousMetatileBehavior)) + if (!objectEvent->active || !objectEvent->hasShadow + || MetatileBehavior_IsPokeGrass(objectEvent->currentMetatileBehavior) + || MetatileBehavior_IsSurfableWaterOrUnderwater(objectEvent->currentMetatileBehavior) + || MetatileBehavior_IsSurfableWaterOrUnderwater(objectEvent->previousMetatileBehavior) + || MetatileBehavior_IsReflective(objectEvent->currentMetatileBehavior) + || MetatileBehavior_IsReflective(objectEvent->previousMetatileBehavior)) { FieldEffectStop(sprite, FLDEFF_SHADOW); } @@ -301,8 +301,8 @@ void UpdateTallGrassFieldEffect(struct Sprite *sprite) u8 mapGroup; u8 metatileBehavior; u8 localId; - u8 eventObjectId; - struct EventObject *eventObject; + u8 objectEventId; + struct ObjectEvent *objectEvent; mapNum = sprite->data[5] >> 8; mapGroup = sprite->data[5]; @@ -316,21 +316,21 @@ void UpdateTallGrassFieldEffect(struct Sprite *sprite) mapNum = sprite->data[3]; mapGroup = sprite->data[4]; metatileBehavior = MapGridGetMetatileBehaviorAt(sprite->data[1], sprite->data[2]); - if (TryGetEventObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &eventObjectId) || !MetatileBehavior_IsTallGrass(metatileBehavior) || (sprite->data[7] && sprite->animEnded)) + if (TryGetObjectEventIdByLocalIdAndMap(localId, mapNum, mapGroup, &objectEventId) || !MetatileBehavior_IsTallGrass(metatileBehavior) || (sprite->data[7] && sprite->animEnded)) { FieldEffectStop(sprite, FLDEFF_TALL_GRASS); } else { - eventObject = &gEventObjects[eventObjectId]; - if ((eventObject->currentCoords.x != sprite->data[1] || eventObject->currentCoords.y != sprite->data[2]) && (eventObject->previousCoords.x != sprite->data[1] || eventObject->previousCoords.y != sprite->data[2])) + objectEvent = &gObjectEvents[objectEventId]; + if ((objectEvent->currentCoords.x != sprite->data[1] || objectEvent->currentCoords.y != sprite->data[2]) && (objectEvent->previousCoords.x != sprite->data[1] || objectEvent->previousCoords.y != sprite->data[2])) sprite->data[7] = TRUE; metatileBehavior = 0; if (sprite->animCmdIndex == 0) metatileBehavior = 4; - UpdateEventObjectSpriteVisibility(sprite, 0); + UpdateObjectEventSpriteVisibility(sprite, 0); sub_81561FC(sprite, sprite->data[0], metatileBehavior); } } @@ -407,8 +407,8 @@ void UpdateLongGrassFieldEffect(struct Sprite *sprite) u8 mapGroup; u8 metatileBehavior; u8 localId; - u8 eventObjectId; - struct EventObject *eventObject; + u8 objectEventId; + struct ObjectEvent *objectEvent; mapNum = sprite->data[5] >> 8; mapGroup = sprite->data[5]; @@ -422,18 +422,18 @@ void UpdateLongGrassFieldEffect(struct Sprite *sprite) mapNum = sprite->data[3]; mapGroup = sprite->data[4]; metatileBehavior = MapGridGetMetatileBehaviorAt(sprite->data[1], sprite->data[2]); - if (TryGetEventObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &eventObjectId) || !MetatileBehavior_IsLongGrass(metatileBehavior) || (sprite->data[7] && sprite->animEnded)) + if (TryGetObjectEventIdByLocalIdAndMap(localId, mapNum, mapGroup, &objectEventId) || !MetatileBehavior_IsLongGrass(metatileBehavior) || (sprite->data[7] && sprite->animEnded)) { FieldEffectStop(sprite, FLDEFF_LONG_GRASS); } else { - eventObject = &gEventObjects[eventObjectId]; - if ((eventObject->currentCoords.x != sprite->data[1] || eventObject->currentCoords.y != sprite->data[2]) && (eventObject->previousCoords.x != sprite->data[1] || eventObject->previousCoords.y != sprite->data[2])) + objectEvent = &gObjectEvents[objectEventId]; + if ((objectEvent->currentCoords.x != sprite->data[1] || objectEvent->currentCoords.y != sprite->data[2]) && (objectEvent->previousCoords.x != sprite->data[1] || objectEvent->previousCoords.y != sprite->data[2])) { sprite->data[7] = TRUE; } - UpdateEventObjectSpriteVisibility(sprite, 0); + UpdateObjectEventSpriteVisibility(sprite, 0); sub_81561FC(sprite, sprite->data[0], 0); } } @@ -458,44 +458,44 @@ u32 FldEff_JumpLongGrass(void) u32 FldEff_ShortGrass(void) { - u8 eventObjectId; - struct EventObject *eventObject; + u8 objectEventId; + struct ObjectEvent *objectEvent; u8 spriteId; struct Sprite *sprite; - eventObjectId = GetEventObjectIdByLocalIdAndMap(gFieldEffectArguments[0], gFieldEffectArguments[1], gFieldEffectArguments[2]); - eventObject = &gEventObjects[eventObjectId]; + objectEventId = GetObjectEventIdByLocalIdAndMap(gFieldEffectArguments[0], gFieldEffectArguments[1], gFieldEffectArguments[2]); + objectEvent = &gObjectEvents[objectEventId]; spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[30], 0, 0, 0); if (spriteId != MAX_SPRITES) { sprite = &(gSprites[spriteId]); sprite->coordOffsetEnabled = TRUE; - sprite->oam.priority = gSprites[eventObject->spriteId].oam.priority; + sprite->oam.priority = gSprites[objectEvent->spriteId].oam.priority; sprite->data[0] = gFieldEffectArguments[0]; sprite->data[1] = gFieldEffectArguments[1]; sprite->data[2] = gFieldEffectArguments[2]; - sprite->data[3] = gSprites[eventObject->spriteId].pos1.x; - sprite->data[4] = gSprites[eventObject->spriteId].pos1.y; + sprite->data[3] = gSprites[objectEvent->spriteId].pos1.x; + sprite->data[4] = gSprites[objectEvent->spriteId].pos1.y; } return 0; } void UpdateShortGrassFieldEffect(struct Sprite *sprite) { - u8 eventObjectId; + u8 objectEventId; s16 x; s16 y; - const struct EventObjectGraphicsInfo *graphicsInfo; + const struct ObjectEventGraphicsInfo *graphicsInfo; struct Sprite *linkedSprite; - if (TryGetEventObjectIdByLocalIdAndMap(sprite->data[0], sprite->data[1], sprite->data[2], &eventObjectId) || !gEventObjects[eventObjectId].inShortGrass) + if (TryGetObjectEventIdByLocalIdAndMap(sprite->data[0], sprite->data[1], sprite->data[2], &objectEventId) || !gObjectEvents[objectEventId].inShortGrass) { FieldEffectStop(sprite, FLDEFF_SHORT_GRASS); } else { - graphicsInfo = GetEventObjectGraphicsInfo(gEventObjects[eventObjectId].graphicsId); - linkedSprite = &gSprites[gEventObjects[eventObjectId].spriteId]; + graphicsInfo = GetObjectEventGraphicsInfo(gObjectEvents[objectEventId].graphicsId); + linkedSprite = &gSprites[gObjectEvents[objectEventId].spriteId]; y = linkedSprite->pos1.y; x = linkedSprite->pos1.x; if (x != sprite->data[3] || y != sprite->data[4]) @@ -512,7 +512,7 @@ void UpdateShortGrassFieldEffect(struct Sprite *sprite) sprite->pos2.y = (graphicsInfo->height >> 1) - 8; sprite->subpriority = linkedSprite->subpriority - 1; sprite->oam.priority = linkedSprite->oam.priority; - UpdateEventObjectSpriteVisibility(sprite, linkedSprite->invisible); + UpdateObjectEventSpriteVisibility(sprite, linkedSprite->invisible); } } @@ -586,14 +586,14 @@ static void FadeFootprintsTireTracks_Step0(struct Sprite *sprite) if (++sprite->data[1] > 40) sprite->data[0] = 1; - UpdateEventObjectSpriteVisibility(sprite, FALSE); + UpdateObjectEventSpriteVisibility(sprite, FALSE); } static void FadeFootprintsTireTracks_Step1(struct Sprite *sprite) { sprite->invisible ^= 1; sprite->data[1]++; - UpdateEventObjectSpriteVisibility(sprite, sprite->invisible); + UpdateObjectEventSpriteVisibility(sprite, sprite->invisible); if (sprite->data[1] > 56) { FieldEffectStop(sprite, sprite->data[7]); @@ -602,22 +602,22 @@ static void FadeFootprintsTireTracks_Step1(struct Sprite *sprite) u32 FldEff_Splash(void) { - u8 eventObjectId; - struct EventObject *eventObject; + u8 objectEventId; + struct ObjectEvent *objectEvent; u8 spriteId; struct Sprite *sprite; - const struct EventObjectGraphicsInfo *graphicsInfo; + const struct ObjectEventGraphicsInfo *graphicsInfo; struct Sprite *linkedSprite; - eventObjectId = GetEventObjectIdByLocalIdAndMap(gFieldEffectArguments[0], gFieldEffectArguments[1], gFieldEffectArguments[2]); - eventObject = &gEventObjects[eventObjectId]; + objectEventId = GetObjectEventIdByLocalIdAndMap(gFieldEffectArguments[0], gFieldEffectArguments[1], gFieldEffectArguments[2]); + objectEvent = &gObjectEvents[objectEventId]; spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[13], 0, 0, 0); if (spriteId != MAX_SPRITES) { - graphicsInfo = GetEventObjectGraphicsInfo(eventObject->graphicsId); + graphicsInfo = GetObjectEventGraphicsInfo(objectEvent->graphicsId); sprite = &gSprites[spriteId]; sprite->coordOffsetEnabled = TRUE; - linkedSprite = &gSprites[eventObject->spriteId]; + linkedSprite = &gSprites[objectEvent->spriteId]; sprite->oam.priority = linkedSprite->oam.priority; sprite->data[0] = gFieldEffectArguments[0]; sprite->data[1] = gFieldEffectArguments[1]; @@ -630,17 +630,17 @@ u32 FldEff_Splash(void) void UpdateSplashFieldEffect(struct Sprite *sprite) { - u8 eventObjectId; + u8 objectEventId; - if (sprite->animEnded || TryGetEventObjectIdByLocalIdAndMap(sprite->data[0], sprite->data[1], sprite->data[2], &eventObjectId)) + if (sprite->animEnded || TryGetObjectEventIdByLocalIdAndMap(sprite->data[0], sprite->data[1], sprite->data[2], &objectEventId)) { FieldEffectStop(sprite, FLDEFF_SPLASH); } else { - sprite->pos1.x = gSprites[gEventObjects[eventObjectId].spriteId].pos1.x; - sprite->pos1.y = gSprites[gEventObjects[eventObjectId].spriteId].pos1.y; - UpdateEventObjectSpriteVisibility(sprite, FALSE); + sprite->pos1.x = gSprites[gObjectEvents[objectEventId].spriteId].pos1.x; + sprite->pos1.y = gSprites[gObjectEvents[objectEventId].spriteId].pos1.y; + UpdateObjectEventSpriteVisibility(sprite, FALSE); } } @@ -682,22 +682,22 @@ u32 FldEff_JumpBigSplash(void) u32 FldEff_FeetInFlowingWater(void) { - u8 eventObjectId; - struct EventObject *eventObject; + u8 objectEventId; + struct ObjectEvent *objectEvent; u8 spriteId; struct Sprite *sprite; - const struct EventObjectGraphicsInfo *graphicsInfo; + const struct ObjectEventGraphicsInfo *graphicsInfo; - eventObjectId = GetEventObjectIdByLocalIdAndMap(gFieldEffectArguments[0], gFieldEffectArguments[1], gFieldEffectArguments[2]); - eventObject = &gEventObjects[eventObjectId]; + objectEventId = GetObjectEventIdByLocalIdAndMap(gFieldEffectArguments[0], gFieldEffectArguments[1], gFieldEffectArguments[2]); + objectEvent = &gObjectEvents[objectEventId]; spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[13], 0, 0, 0); if (spriteId != MAX_SPRITES) { - graphicsInfo = GetEventObjectGraphicsInfo(eventObject->graphicsId); + graphicsInfo = GetObjectEventGraphicsInfo(objectEvent->graphicsId); sprite = &gSprites[spriteId]; sprite->callback = UpdateFeetInFlowingWaterFieldEffect; sprite->coordOffsetEnabled = TRUE; - sprite->oam.priority = gSprites[eventObject->spriteId].oam.priority; + sprite->oam.priority = gSprites[objectEvent->spriteId].oam.priority; sprite->data[0] = gFieldEffectArguments[0]; sprite->data[1] = gFieldEffectArguments[1]; sprite->data[2] = gFieldEffectArguments[2]; @@ -711,26 +711,26 @@ u32 FldEff_FeetInFlowingWater(void) static void UpdateFeetInFlowingWaterFieldEffect(struct Sprite *sprite) { - u8 eventObjectId; + u8 objectEventId; struct Sprite *linkedSprite; - struct EventObject *eventObject; + struct ObjectEvent *objectEvent; - if (TryGetEventObjectIdByLocalIdAndMap(sprite->data[0], sprite->data[1], sprite->data[2], &eventObjectId) || !gEventObjects[eventObjectId].inShallowFlowingWater) + if (TryGetObjectEventIdByLocalIdAndMap(sprite->data[0], sprite->data[1], sprite->data[2], &objectEventId) || !gObjectEvents[objectEventId].inShallowFlowingWater) { FieldEffectStop(sprite, FLDEFF_FEET_IN_FLOWING_WATER); } else { - eventObject = &gEventObjects[eventObjectId]; - linkedSprite = &gSprites[eventObject->spriteId]; + objectEvent = &gObjectEvents[objectEventId]; + linkedSprite = &gSprites[objectEvent->spriteId]; sprite->pos1.x = linkedSprite->pos1.x; sprite->pos1.y = linkedSprite->pos1.y; sprite->subpriority = linkedSprite->subpriority; - UpdateEventObjectSpriteVisibility(sprite, FALSE); - if (eventObject->currentCoords.x != sprite->data[3] || eventObject->currentCoords.y != sprite->data[4]) + UpdateObjectEventSpriteVisibility(sprite, FALSE); + if (objectEvent->currentCoords.x != sprite->data[3] || objectEvent->currentCoords.y != sprite->data[4]) { - sprite->data[3] = eventObject->currentCoords.x; - sprite->data[4] = eventObject->currentCoords.y; + sprite->data[3] = objectEvent->currentCoords.x; + sprite->data[4] = objectEvent->currentCoords.y; if (!sprite->invisible) { PlaySE(SE_MIZU); @@ -757,46 +757,46 @@ u32 FldEff_Ripple(void) u32 FldEff_HotSpringsWater(void) { - u8 eventObjectId; - struct EventObject *eventObject; + u8 objectEventId; + struct ObjectEvent *objectEvent; u8 spriteId; struct Sprite *sprite; - eventObjectId = GetEventObjectIdByLocalIdAndMap(gFieldEffectArguments[0], gFieldEffectArguments[1], gFieldEffectArguments[2]); - eventObject = &gEventObjects[eventObjectId]; + objectEventId = GetObjectEventIdByLocalIdAndMap(gFieldEffectArguments[0], gFieldEffectArguments[1], gFieldEffectArguments[2]); + objectEvent = &gObjectEvents[objectEventId]; spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[31], 0, 0, 0); if (spriteId != MAX_SPRITES) { sprite = &gSprites[spriteId]; sprite->coordOffsetEnabled = TRUE; - sprite->oam.priority = gSprites[eventObject->spriteId].oam.priority; + sprite->oam.priority = gSprites[objectEvent->spriteId].oam.priority; sprite->data[0] = gFieldEffectArguments[0]; sprite->data[1] = gFieldEffectArguments[1]; sprite->data[2] = gFieldEffectArguments[2]; - sprite->data[3] = gSprites[eventObject->spriteId].pos1.x; - sprite->data[4] = gSprites[eventObject->spriteId].pos1.y; + sprite->data[3] = gSprites[objectEvent->spriteId].pos1.x; + sprite->data[4] = gSprites[objectEvent->spriteId].pos1.y; } return 0; } void UpdateHotSpringsWaterFieldEffect(struct Sprite *sprite) { - u8 eventObjectId; - const struct EventObjectGraphicsInfo *graphicsInfo; + u8 objectEventId; + const struct ObjectEventGraphicsInfo *graphicsInfo; struct Sprite *linkedSprite; - if (TryGetEventObjectIdByLocalIdAndMap(sprite->data[0], sprite->data[1], sprite->data[2], &eventObjectId) || !gEventObjects[eventObjectId].inHotSprings) + if (TryGetObjectEventIdByLocalIdAndMap(sprite->data[0], sprite->data[1], sprite->data[2], &objectEventId) || !gObjectEvents[objectEventId].inHotSprings) { FieldEffectStop(sprite, FLDEFF_HOT_SPRINGS_WATER); } else { - graphicsInfo = GetEventObjectGraphicsInfo(gEventObjects[eventObjectId].graphicsId); - linkedSprite = &gSprites[gEventObjects[eventObjectId].spriteId]; + graphicsInfo = GetObjectEventGraphicsInfo(gObjectEvents[objectEventId].graphicsId); + linkedSprite = &gSprites[gObjectEvents[objectEventId].spriteId]; sprite->pos1.x = linkedSprite->pos1.x; sprite->pos1.y = (graphicsInfo->height >> 1) + linkedSprite->pos1.y - 8; sprite->subpriority = linkedSprite->subpriority - 1; - UpdateEventObjectSpriteVisibility(sprite, FALSE); + UpdateObjectEventSpriteVisibility(sprite, FALSE); } } @@ -928,13 +928,13 @@ static void UpdateAshFieldEffect_Step1(struct Sprite *sprite) sprite->animPaused = FALSE; MapGridSetMetatileIdAt(sprite->data[1], sprite->data[2], sprite->data[3]); CurrentMapDrawMetatileAt(sprite->data[1], sprite->data[2]); - gEventObjects[gPlayerAvatar.eventObjectId].triggerGroundEffectsOnMove = TRUE; + gObjectEvents[gPlayerAvatar.objectEventId].triggerGroundEffectsOnMove = TRUE; sprite->data[0] = 2; } static void UpdateAshFieldEffect_Step2(struct Sprite *sprite) { - UpdateEventObjectSpriteVisibility(sprite, FALSE); + UpdateObjectEventSpriteVisibility(sprite, FALSE); if (sprite->animEnded) FieldEffectStop(sprite, FLDEFF_ASH); } @@ -993,18 +993,18 @@ static u8 sub_815564C(struct Sprite *sprite) void UpdateSurfBlobFieldEffect(struct Sprite *sprite) { - struct EventObject *eventObject; + struct ObjectEvent *objectEvent; struct Sprite *linkedSprite; - eventObject = &gEventObjects[sprite->data[2]]; - linkedSprite = &gSprites[eventObject->spriteId]; - SynchroniseSurfAnim(eventObject, sprite); - sub_81556E8(eventObject, sprite); - CreateBobbingEffect(eventObject, linkedSprite, sprite); + objectEvent = &gObjectEvents[sprite->data[2]]; + linkedSprite = &gSprites[objectEvent->spriteId]; + SynchroniseSurfAnim(objectEvent, sprite); + sub_81556E8(objectEvent, sprite); + CreateBobbingEffect(objectEvent, linkedSprite, sprite); sprite->oam.priority = linkedSprite->oam.priority; } -static void SynchroniseSurfAnim(struct EventObject *eventObject, struct Sprite *sprite) +static void SynchroniseSurfAnim(struct ObjectEvent *objectEvent, struct Sprite *sprite) { u8 surfBlobDirectionAnims[] = { [DIR_NONE] = 0, @@ -1019,14 +1019,14 @@ static void SynchroniseSurfAnim(struct EventObject *eventObject, struct Sprite * }; if (sub_8155640(sprite) == 0) - StartSpriteAnimIfDifferent(sprite, surfBlobDirectionAnims[eventObject->movementDirection]); + StartSpriteAnimIfDifferent(sprite, surfBlobDirectionAnims[objectEvent->movementDirection]); } -void sub_81556E8(struct EventObject *eventObject, struct Sprite *sprite) +void sub_81556E8(struct ObjectEvent *objectEvent, struct Sprite *sprite) { u8 i; - s16 x = eventObject->currentCoords.x; - s16 y = eventObject->currentCoords.y; + s16 x = objectEvent->currentCoords.x; + s16 y = objectEvent->currentCoords.y; s32 spriteY = sprite->pos2.y; if (spriteY == 0 && (x != sprite->data[6] || y != sprite->data[7])) @@ -1046,7 +1046,7 @@ void sub_81556E8(struct EventObject *eventObject, struct Sprite *sprite) } } -static void CreateBobbingEffect(struct EventObject *eventObject, struct Sprite *linkedSprite, struct Sprite *sprite) +static void CreateBobbingEffect(struct ObjectEvent *objectEvent, struct Sprite *linkedSprite, struct Sprite *sprite) { u16 unk_085CDC6A[] = {3, 7}; u8 v0 = sub_8155638(sprite); @@ -1121,26 +1121,26 @@ u32 FldEff_Dust(void) u32 FldEff_SandPile(void) { - u8 eventObjectId; - struct EventObject *eventObject; + u8 objectEventId; + struct ObjectEvent *objectEvent; u8 spriteId; struct Sprite *sprite; - const struct EventObjectGraphicsInfo *graphicsInfo; + const struct ObjectEventGraphicsInfo *graphicsInfo; - eventObjectId = GetEventObjectIdByLocalIdAndMap(gFieldEffectArguments[0], gFieldEffectArguments[1], gFieldEffectArguments[2]); - eventObject = &gEventObjects[eventObjectId]; + objectEventId = GetObjectEventIdByLocalIdAndMap(gFieldEffectArguments[0], gFieldEffectArguments[1], gFieldEffectArguments[2]); + objectEvent = &gObjectEvents[objectEventId]; spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[29], 0, 0, 0); if (spriteId != MAX_SPRITES) { - graphicsInfo = GetEventObjectGraphicsInfo(eventObject->graphicsId); + graphicsInfo = GetObjectEventGraphicsInfo(objectEvent->graphicsId); sprite = &gSprites[spriteId]; sprite->coordOffsetEnabled = TRUE; - sprite->oam.priority = gSprites[eventObject->spriteId].oam.priority; + sprite->oam.priority = gSprites[objectEvent->spriteId].oam.priority; sprite->data[0] = gFieldEffectArguments[0]; sprite->data[1] = gFieldEffectArguments[1]; sprite->data[2] = gFieldEffectArguments[2]; - sprite->data[3] = gSprites[eventObject->spriteId].pos1.x; - sprite->data[4] = gSprites[eventObject->spriteId].pos1.y; + sprite->data[3] = gSprites[objectEvent->spriteId].pos1.x; + sprite->data[4] = gSprites[objectEvent->spriteId].pos1.y; sprite->pos2.y = (graphicsInfo->height >> 1) - 2; SeekSpriteAnim(sprite, 2); } @@ -1149,18 +1149,18 @@ u32 FldEff_SandPile(void) void UpdateSandPileFieldEffect(struct Sprite *sprite) { - u8 eventObjectId; + u8 objectEventId; s16 x; s16 y; - if (TryGetEventObjectIdByLocalIdAndMap(sprite->data[0], sprite->data[1], sprite->data[2], &eventObjectId) || !gEventObjects[eventObjectId].inSandPile) + if (TryGetObjectEventIdByLocalIdAndMap(sprite->data[0], sprite->data[1], sprite->data[2], &objectEventId) || !gObjectEvents[objectEventId].inSandPile) { FieldEffectStop(sprite, FLDEFF_SAND_PILE); } else { - y = gSprites[gEventObjects[eventObjectId].spriteId].pos1.y; - x = gSprites[gEventObjects[eventObjectId].spriteId].pos1.x; + y = gSprites[gObjectEvents[objectEventId].spriteId].pos1.y; + x = gSprites[gObjectEvents[objectEventId].spriteId].pos1.x; if (x != sprite->data[3] || y != sprite->data[4]) { sprite->data[3] = x; @@ -1172,8 +1172,8 @@ void UpdateSandPileFieldEffect(struct Sprite *sprite) } sprite->pos1.x = x; sprite->pos1.y = y; - sprite->subpriority = gSprites[gEventObjects[eventObjectId].spriteId].subpriority; - UpdateEventObjectSpriteVisibility(sprite, FALSE); + sprite->subpriority = gSprites[gObjectEvents[objectEventId].spriteId].subpriority; + UpdateObjectEventSpriteVisibility(sprite, FALSE); } } @@ -1198,7 +1198,7 @@ void UpdateBubblesFieldEffect(struct Sprite *sprite) sprite->data[0] += 0x80; sprite->data[0] &= 0x100; sprite->pos1.y -= sprite->data[0] >> 8; - UpdateEventObjectSpriteVisibility(sprite, FALSE); + UpdateObjectEventSpriteVisibility(sprite, FALSE); if (sprite->invisible || sprite->animEnded) { FieldEffectStop(sprite, FLDEFF_BUBBLES); @@ -1243,7 +1243,7 @@ static u32 ShowDisguiseFieldEffect(u8 fldEff, u8 templateIdx, u8 paletteNum) u8 spriteId; struct Sprite *sprite; - if (TryGetEventObjectIdByLocalIdAndMap(gFieldEffectArguments[0], gFieldEffectArguments[1], gFieldEffectArguments[2], &spriteId)) + if (TryGetObjectEventIdByLocalIdAndMap(gFieldEffectArguments[0], gFieldEffectArguments[1], gFieldEffectArguments[2], &spriteId)) { FieldEffectActiveListRemove(fldEff); return MAX_SPRITES; @@ -1264,17 +1264,17 @@ static u32 ShowDisguiseFieldEffect(u8 fldEff, u8 templateIdx, u8 paletteNum) void UpdateDisguiseFieldEffect(struct Sprite *sprite) { - u8 eventObjectId; - const struct EventObjectGraphicsInfo *graphicsInfo; + u8 objectEventId; + const struct ObjectEventGraphicsInfo *graphicsInfo; struct Sprite *linkedSprite; - if (TryGetEventObjectIdByLocalIdAndMap(sprite->data[2], sprite->data[3], sprite->data[4], &eventObjectId)) + if (TryGetObjectEventIdByLocalIdAndMap(sprite->data[2], sprite->data[3], sprite->data[4], &objectEventId)) { FieldEffectStop(sprite, sprite->data[1]); } - graphicsInfo = GetEventObjectGraphicsInfo(gEventObjects[eventObjectId].graphicsId); - linkedSprite = &gSprites[gEventObjects[eventObjectId].spriteId]; + graphicsInfo = GetObjectEventGraphicsInfo(gObjectEvents[objectEventId].graphicsId); + linkedSprite = &gSprites[gObjectEvents[objectEventId].spriteId]; sprite->invisible = linkedSprite->invisible; sprite->pos1.x = linkedSprite->pos1.x; sprite->pos1.y = (graphicsInfo->height >> 1) + linkedSprite->pos1.y - 16; @@ -1294,30 +1294,30 @@ void UpdateDisguiseFieldEffect(struct Sprite *sprite) } } -void sub_8155D78(struct EventObject *eventObject) +void sub_8155D78(struct ObjectEvent *objectEvent) { - if (eventObject->directionSequenceIndex == 1) + if (objectEvent->directionSequenceIndex == 1) { - gSprites[eventObject->fieldEffectSpriteId].data[0]++; + gSprites[objectEvent->fieldEffectSpriteId].data[0]++; } } -bool8 sub_8155DA0(struct EventObject *eventObject) +bool8 sub_8155DA0(struct ObjectEvent *objectEvent) { struct Sprite *sprite; - if (eventObject->directionSequenceIndex == 2) + if (objectEvent->directionSequenceIndex == 2) { return TRUE; } - if (eventObject->directionSequenceIndex == 0) + if (objectEvent->directionSequenceIndex == 0) { return TRUE; } - sprite = &gSprites[eventObject->fieldEffectSpriteId]; + sprite = &gSprites[objectEvent->fieldEffectSpriteId]; if (sprite->data[7]) { - eventObject->directionSequenceIndex = 2; + objectEvent->directionSequenceIndex = 2; sprite->data[0]++; return TRUE; } @@ -1532,7 +1532,7 @@ void sub_8156194(struct Sprite *sprite) } else { - UpdateEventObjectSpriteVisibility(sprite, FALSE); + UpdateObjectEventSpriteVisibility(sprite, FALSE); SetObjectSubpriorityByZCoord(sprite->data[0], sprite, 0); } } @@ -1542,24 +1542,24 @@ void WaitFieldEffectSpriteAnim(struct Sprite *sprite) if (sprite->animEnded) FieldEffectStop(sprite, sprite->data[0]); else - UpdateEventObjectSpriteVisibility(sprite, FALSE); + UpdateObjectEventSpriteVisibility(sprite, FALSE); } static void sub_81561FC(struct Sprite *sprite, u8 z, u8 offset) { u8 i; s16 var, xhi, lyhi, yhi, ylo; - const struct EventObjectGraphicsInfo *graphicsInfo; // Unused Variable + const struct ObjectEventGraphicsInfo *graphicsInfo; // Unused Variable struct Sprite *linkedSprite; SetObjectSubpriorityByZCoord(z, sprite, offset); - for (i = 0; i < EVENT_OBJECTS_COUNT; i ++) + for (i = 0; i < OBJECT_EVENTS_COUNT; i ++) { - struct EventObject *eventObject = &gEventObjects[i]; - if (eventObject->active) + struct ObjectEvent *objectEvent = &gObjectEvents[i]; + if (objectEvent->active) { - graphicsInfo = GetEventObjectGraphicsInfo(eventObject->graphicsId); - linkedSprite = &gSprites[eventObject->spriteId]; + graphicsInfo = GetObjectEventGraphicsInfo(objectEvent->graphicsId); + linkedSprite = &gSprites[objectEvent->spriteId]; xhi = sprite->pos1.x + sprite->centerToCornerVecX; var = sprite->pos1.x - sprite->centerToCornerVecX; if (xhi < linkedSprite->pos1.x && var > linkedSprite->pos1.x) diff --git a/src/field_message_box.c b/src/field_message_box.c index 1c554b6c6..be76b0c19 100755 --- a/src/field_message_box.c +++ b/src/field_message_box.c @@ -27,7 +27,7 @@ static void sub_8098154(u8 taskId) switch (task->data[0]) { case 0: - sub_81973A4(); + LoadMessageBoxAndBorderGfx(); task->data[0]++; break; case 1: diff --git a/src/field_player_avatar.c b/src/field_player_avatar.c index 3b89c185d..ebab51ed8 100644 --- a/src/field_player_avatar.c +++ b/src/field_player_avatar.c @@ -23,7 +23,7 @@ #include "wild_encounter.h" #include "constants/abilities.h" #include "constants/event_objects.h" -#include "constants/event_object_movement_constants.h" +#include "constants/event_object_movement.h" #include "constants/field_effects.h" #include "constants/flags.h" #include "constants/maps.h" @@ -32,14 +32,14 @@ #include "constants/species.h" static EWRAM_DATA u8 gUnknown_0203734C = 0; -EWRAM_DATA struct EventObject gEventObjects[EVENT_OBJECTS_COUNT] = {}; +EWRAM_DATA struct ObjectEvent gObjectEvents[OBJECT_EVENTS_COUNT] = {}; EWRAM_DATA struct PlayerAvatar gPlayerAvatar = {}; // static declarations -static u8 EventObjectCB2_NoMovement2(); -static bool8 TryInterruptEventObjectSpecialAnim(struct EventObject *, u8); -static void npc_clear_strange_bits(struct EventObject *); +static u8 ObjectEventCB2_NoMovement2(); +static bool8 TryInterruptObjectEventSpecialAnim(struct ObjectEvent *, u8); +static void npc_clear_strange_bits(struct ObjectEvent *); static void MovePlayerAvatarUsingKeypadInput(u8, u16, u16); static void PlayerAllowForcedMovementIfMovingSameDirection(); static bool8 TryDoMetatileBehaviorForcedMovement(); @@ -70,20 +70,20 @@ static void PlayerNotOnBikeTurningInPlace(u8, u16); static void PlayerNotOnBikeMoving(u8, u16); static u8 CheckForPlayerAvatarCollision(u8); static u8 sub_808B028(u8); -static u8 sub_808B164(struct EventObject *, s16, s16, u8, u8); +static u8 sub_808B164(struct ObjectEvent *, s16, s16, u8, u8); static bool8 CanStopSurfing(s16, s16, u8); static bool8 ShouldJumpLedge(s16, s16, u8); static bool8 TryPushBoulder(s16, s16, u8); static void CheckAcroBikeCollision(s16, s16, u8, u8 *); static void DoPlayerAvatarTransition(void); -static void PlayerAvatarTransition_Dummy(struct EventObject *a); -static void PlayerAvatarTransition_Normal(struct EventObject *a); -static void PlayerAvatarTransition_MachBike(struct EventObject *a); -static void PlayerAvatarTransition_AcroBike(struct EventObject *a); -static void PlayerAvatarTransition_Surfing(struct EventObject *a); -static void PlayerAvatarTransition_Underwater(struct EventObject *a); -static void PlayerAvatarTransition_ReturnToField(struct EventObject *a); +static void PlayerAvatarTransition_Dummy(struct ObjectEvent *a); +static void PlayerAvatarTransition_Normal(struct ObjectEvent *a); +static void PlayerAvatarTransition_MachBike(struct ObjectEvent *a); +static void PlayerAvatarTransition_AcroBike(struct ObjectEvent *a); +static void PlayerAvatarTransition_Surfing(struct ObjectEvent *a); +static void PlayerAvatarTransition_Underwater(struct ObjectEvent *a); +static void PlayerAvatarTransition_ReturnToField(struct ObjectEvent *a); static bool8 player_is_anim_in_certain_ranges(void); static bool8 sub_808B618(void); @@ -96,24 +96,24 @@ static void PlayerNotOnBikeCollideWithFarawayIslandMew(u8); static void PlayCollisionSoundIfNotFacingWarp(u8 a); -static void sub_808C280(struct EventObject *); +static void sub_808C280(struct ObjectEvent *); static void StartStrengthAnim(u8, u8); static void Task_BumpBoulder(u8 taskId); -static u8 sub_808C3A4(struct Task *task, struct EventObject *playerObject, struct EventObject *strengthObject); -static u8 do_boulder_dust(struct Task *task, struct EventObject *playerObject, struct EventObject *strengthObject); -static u8 sub_808C484(struct Task *task, struct EventObject *playerObject, struct EventObject *strengthObject); +static u8 sub_808C3A4(struct Task *task, struct ObjectEvent *playerObject, struct ObjectEvent *strengthObject); +static u8 do_boulder_dust(struct Task *task, struct ObjectEvent *playerObject, struct ObjectEvent *strengthObject); +static u8 sub_808C484(struct Task *task, struct ObjectEvent *playerObject, struct ObjectEvent *strengthObject); static void DoPlayerMatJump(void); static void DoPlayerAvatarSecretBaseMatJump(u8 taskId); -static u8 PlayerAvatar_DoSecretBaseMatJump(struct Task *task, struct EventObject *eventObject); +static u8 PlayerAvatar_DoSecretBaseMatJump(struct Task *task, struct ObjectEvent *objectEvent); static void DoPlayerMatSpin(void); static void PlayerAvatar_DoSecretBaseMatSpin(u8 taskId); -static bool8 PlayerAvatar_SecretBaseMatSpinStep0(struct Task *task, struct EventObject *eventObject); -static bool8 PlayerAvatar_SecretBaseMatSpinStep1(struct Task *task, struct EventObject *eventObject); -static bool8 PlayerAvatar_SecretBaseMatSpinStep2(struct Task *task, struct EventObject *eventObject); -static bool8 PlayerAvatar_SecretBaseMatSpinStep3(struct Task *task, struct EventObject *eventObject); +static bool8 PlayerAvatar_SecretBaseMatSpinStep0(struct Task *task, struct ObjectEvent *objectEvent); +static bool8 PlayerAvatar_SecretBaseMatSpinStep1(struct Task *task, struct ObjectEvent *objectEvent); +static bool8 PlayerAvatar_SecretBaseMatSpinStep2(struct Task *task, struct ObjectEvent *objectEvent); +static bool8 PlayerAvatar_SecretBaseMatSpinStep3(struct Task *task, struct ObjectEvent *objectEvent); static void CreateStopSurfingTask(u8); static void Task_StopSurfingInit(u8 taskId); @@ -138,7 +138,7 @@ static u8 Fishing15(struct Task *task); static u8 Fishing16(struct Task *task); static void AlignFishingAnimationFrames(void); -static u8 sub_808D38C(struct EventObject *object, s16 *a1); +static u8 sub_808D38C(struct ObjectEvent *object, s16 *a1); // .rodata @@ -211,7 +211,7 @@ static const u8 sAcroBikeTrickCollisionTypes[] = { COLLISION_HORIZONTAL_RAIL, }; -static void (*const gUnknown_084974B8[])(struct EventObject *) = +static void (*const gUnknown_084974B8[])(struct ObjectEvent *) = { PlayerAvatarTransition_Normal, PlayerAvatarTransition_MachBike, @@ -233,49 +233,49 @@ static bool8 (*const sArrowWarpMetatileBehaviorChecks[])(u8) = static const u8 sRivalAvatarGfxIds[][2] = { - {EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL, EVENT_OBJ_GFX_RIVAL_MAY_NORMAL}, - {EVENT_OBJ_GFX_RIVAL_BRENDAN_MACH_BIKE, EVENT_OBJ_GFX_RIVAL_MAY_MACH_BIKE}, - {EVENT_OBJ_GFX_RIVAL_BRENDAN_ACRO_BIKE, EVENT_OBJ_GFX_RIVAL_MAY_ACRO_BIKE}, - {EVENT_OBJ_GFX_RIVAL_BRENDAN_SURFING, EVENT_OBJ_GFX_RIVAL_MAY_SURFING}, - {EVENT_OBJ_GFX_BRENDAN_UNDERWATER, EVENT_OBJ_GFX_MAY_UNDERWATER}, - {EVENT_OBJ_GFX_RIVAL_BRENDAN_FIELD_MOVE, EVENT_OBJ_GFX_RIVAL_MAY_FIELD_MOVE}, - {EVENT_OBJ_GFX_BRENDAN_FISHING, EVENT_OBJ_GFX_MAY_FISHING}, - {EVENT_OBJ_GFX_BRENDAN_WATERING, EVENT_OBJ_GFX_MAY_WATERING} + {OBJ_EVENT_GFX_RIVAL_BRENDAN_NORMAL, OBJ_EVENT_GFX_RIVAL_MAY_NORMAL}, + {OBJ_EVENT_GFX_RIVAL_BRENDAN_MACH_BIKE, OBJ_EVENT_GFX_RIVAL_MAY_MACH_BIKE}, + {OBJ_EVENT_GFX_RIVAL_BRENDAN_ACRO_BIKE, OBJ_EVENT_GFX_RIVAL_MAY_ACRO_BIKE}, + {OBJ_EVENT_GFX_RIVAL_BRENDAN_SURFING, OBJ_EVENT_GFX_RIVAL_MAY_SURFING}, + {OBJ_EVENT_GFX_BRENDAN_UNDERWATER, OBJ_EVENT_GFX_MAY_UNDERWATER}, + {OBJ_EVENT_GFX_RIVAL_BRENDAN_FIELD_MOVE, OBJ_EVENT_GFX_RIVAL_MAY_FIELD_MOVE}, + {OBJ_EVENT_GFX_BRENDAN_FISHING, OBJ_EVENT_GFX_MAY_FISHING}, + {OBJ_EVENT_GFX_BRENDAN_WATERING, OBJ_EVENT_GFX_MAY_WATERING} }; static const u8 sPlayerAvatarGfxIds[][2] = { - {EVENT_OBJ_GFX_BRENDAN_NORMAL, EVENT_OBJ_GFX_MAY_NORMAL}, - {EVENT_OBJ_GFX_BRENDAN_MACH_BIKE, EVENT_OBJ_GFX_MAY_MACH_BIKE}, - {EVENT_OBJ_GFX_BRENDAN_ACRO_BIKE, EVENT_OBJ_GFX_MAY_ACRO_BIKE}, - {EVENT_OBJ_GFX_BRENDAN_SURFING, EVENT_OBJ_GFX_MAY_SURFING}, - {EVENT_OBJ_GFX_BRENDAN_UNDERWATER, EVENT_OBJ_GFX_MAY_UNDERWATER}, - {EVENT_OBJ_GFX_BRENDAN_FIELD_MOVE, EVENT_OBJ_GFX_MAY_FIELD_MOVE}, - {EVENT_OBJ_GFX_BRENDAN_FISHING, EVENT_OBJ_GFX_MAY_FISHING}, - {EVENT_OBJ_GFX_BRENDAN_WATERING, EVENT_OBJ_GFX_MAY_WATERING}, + {OBJ_EVENT_GFX_BRENDAN_NORMAL, OBJ_EVENT_GFX_MAY_NORMAL}, + {OBJ_EVENT_GFX_BRENDAN_MACH_BIKE, OBJ_EVENT_GFX_MAY_MACH_BIKE}, + {OBJ_EVENT_GFX_BRENDAN_ACRO_BIKE, OBJ_EVENT_GFX_MAY_ACRO_BIKE}, + {OBJ_EVENT_GFX_BRENDAN_SURFING, OBJ_EVENT_GFX_MAY_SURFING}, + {OBJ_EVENT_GFX_BRENDAN_UNDERWATER, OBJ_EVENT_GFX_MAY_UNDERWATER}, + {OBJ_EVENT_GFX_BRENDAN_FIELD_MOVE, OBJ_EVENT_GFX_MAY_FIELD_MOVE}, + {OBJ_EVENT_GFX_BRENDAN_FISHING, OBJ_EVENT_GFX_MAY_FISHING}, + {OBJ_EVENT_GFX_BRENDAN_WATERING, OBJ_EVENT_GFX_MAY_WATERING}, }; -static const u8 sFRLGAvatarGfxIds[] = {EVENT_OBJ_GFX_RED, EVENT_OBJ_GFX_LEAF}; +static const u8 sFRLGAvatarGfxIds[] = {OBJ_EVENT_GFX_RED, OBJ_EVENT_GFX_LEAF}; -static const u8 sRSAvatarGfxIds[] = {EVENT_OBJ_GFX_LINK_RS_BRENDAN, EVENT_OBJ_GFX_LINK_RS_MAY}; +static const u8 sRSAvatarGfxIds[] = {OBJ_EVENT_GFX_LINK_RS_BRENDAN, OBJ_EVENT_GFX_LINK_RS_MAY}; static const u8 gUnknown_0849750C[2][5][2] = { //male { - {EVENT_OBJ_GFX_BRENDAN_NORMAL, 1}, - {EVENT_OBJ_GFX_BRENDAN_MACH_BIKE, 2}, - {EVENT_OBJ_GFX_BRENDAN_ACRO_BIKE, 4}, - {EVENT_OBJ_GFX_BRENDAN_SURFING, 8}, - {EVENT_OBJ_GFX_BRENDAN_UNDERWATER, 16}, + {OBJ_EVENT_GFX_BRENDAN_NORMAL, 1}, + {OBJ_EVENT_GFX_BRENDAN_MACH_BIKE, 2}, + {OBJ_EVENT_GFX_BRENDAN_ACRO_BIKE, 4}, + {OBJ_EVENT_GFX_BRENDAN_SURFING, 8}, + {OBJ_EVENT_GFX_BRENDAN_UNDERWATER, 16}, }, //female { - {EVENT_OBJ_GFX_MAY_NORMAL, 1}, - {EVENT_OBJ_GFX_MAY_MACH_BIKE, 2}, - {EVENT_OBJ_GFX_MAY_ACRO_BIKE, 4}, - {EVENT_OBJ_GFX_MAY_SURFING, 8}, - {EVENT_OBJ_GFX_MAY_UNDERWATER, 16}, + {OBJ_EVENT_GFX_MAY_NORMAL, 1}, + {OBJ_EVENT_GFX_MAY_MACH_BIKE, 2}, + {OBJ_EVENT_GFX_MAY_ACRO_BIKE, 4}, + {OBJ_EVENT_GFX_MAY_SURFING, 8}, + {OBJ_EVENT_GFX_MAY_UNDERWATER, 16}, } }; @@ -287,19 +287,19 @@ static bool8 (*const sArrowWarpMetatileBehaviorChecks2[])(u8) = //Duplicate of MetatileBehavior_IsEastArrowWarp, }; -static bool8 (*const gUnknown_08497530[])(struct Task *, struct EventObject *, struct EventObject *) = +static bool8 (*const gUnknown_08497530[])(struct Task *, struct ObjectEvent *, struct ObjectEvent *) = { sub_808C3A4, do_boulder_dust, sub_808C484, }; -static bool8 (*const sPlayerAvatarSecretBaseMatJump[])(struct Task *, struct EventObject *) = +static bool8 (*const sPlayerAvatarSecretBaseMatJump[])(struct Task *, struct ObjectEvent *) = { PlayerAvatar_DoSecretBaseMatJump, }; -static bool8 (*const sPlayerAvatarSecretBaseMatSpin[])(struct Task *, struct EventObject *) = +static bool8 (*const sPlayerAvatarSecretBaseMatSpin[])(struct Task *, struct ObjectEvent *) = { PlayerAvatar_SecretBaseMatSpinStep0, PlayerAvatar_SecretBaseMatSpinStep1, @@ -311,25 +311,25 @@ static bool8 (*const sPlayerAvatarSecretBaseMatSpin[])(struct Task *, struct Eve void MovementType_Player(struct Sprite *sprite) { - UpdateEventObjectCurrentMovement(&gEventObjects[sprite->data[0]], sprite, EventObjectCB2_NoMovement2); + UpdateObjectEventCurrentMovement(&gObjectEvents[sprite->data[0]], sprite, ObjectEventCB2_NoMovement2); } -static u8 EventObjectCB2_NoMovement2(void) +static u8 ObjectEventCB2_NoMovement2(void) { return 0; } void player_step(u8 direction, u16 newKeys, u16 heldKeys) { - struct EventObject *playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId]; + struct ObjectEvent *playerObjEvent = &gObjectEvents[gPlayerAvatar.objectEventId]; - sub_808C280(playerEventObj); + sub_808C280(playerObjEvent); if (gPlayerAvatar.preventStep == FALSE) { Bike_TryAcroBikeHistoryUpdate(newKeys, heldKeys); - if (TryInterruptEventObjectSpecialAnim(playerEventObj, direction) == 0) + if (TryInterruptObjectEventSpecialAnim(playerObjEvent, direction) == 0) { - npc_clear_strange_bits(playerEventObj); + npc_clear_strange_bits(playerObjEvent); DoPlayerAvatarTransition(); if (TryDoMetatileBehaviorForcedMovement() == 0) { @@ -340,16 +340,16 @@ void player_step(u8 direction, u16 newKeys, u16 heldKeys) } } -static bool8 TryInterruptEventObjectSpecialAnim(struct EventObject *playerEventObj, u8 direction) +static bool8 TryInterruptObjectEventSpecialAnim(struct ObjectEvent *playerObjEvent, u8 direction) { u8 r5 = direction; u8 r6 = direction; r6++; r6--; - if (EventObjectIsMovementOverridden(playerEventObj) - && !EventObjectClearHeldMovementIfFinished(playerEventObj)) + if (ObjectEventIsMovementOverridden(playerObjEvent) + && !ObjectEventClearHeldMovementIfFinished(playerObjEvent)) { - u8 heldMovementActionId = EventObjectGetHeldMovementActionId(playerEventObj); + u8 heldMovementActionId = ObjectEventGetHeldMovementActionId(playerObjEvent); if (heldMovementActionId > MOVEMENT_ACTION_WALK_FAST_RIGHT && heldMovementActionId < MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_DOWN) { if (direction == DIR_NONE) @@ -357,15 +357,15 @@ static bool8 TryInterruptEventObjectSpecialAnim(struct EventObject *playerEventO return TRUE; } - if (playerEventObj->movementDirection != r5) + if (playerObjEvent->movementDirection != r5) { - EventObjectClearHeldMovement(playerEventObj); + ObjectEventClearHeldMovement(playerObjEvent); return FALSE; } if (!sub_808B028(r6)) { - EventObjectClearHeldMovement(playerEventObj); + ObjectEventClearHeldMovement(playerObjEvent); return FALSE; } } @@ -376,11 +376,11 @@ static bool8 TryInterruptEventObjectSpecialAnim(struct EventObject *playerEventO return FALSE; } -static void npc_clear_strange_bits(struct EventObject *eventObj) +static void npc_clear_strange_bits(struct ObjectEvent *objEvent) { - eventObj->inanimate = 0; - eventObj->disableAnim = 0; - eventObj->facingDirectionLocked = 0; + objEvent->inanimate = 0; + objEvent->disableAnim = 0; + objEvent->facingDirectionLocked = 0; gPlayerAvatar.flags &= ~PLAYER_AVATAR_FLAG_DASH; } @@ -410,7 +410,7 @@ static u8 GetForcedMovementByMetatileBehavior(void) if (!(gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_5)) { - u8 metatileBehavior = gEventObjects[gPlayerAvatar.eventObjectId].currentMetatileBehavior; + u8 metatileBehavior = gObjectEvents[gPlayerAvatar.objectEventId].currentMetatileBehavior; for (i = 0; i < 18; i++) { @@ -425,11 +425,11 @@ static bool8 ForcedMovement_None(void) { if (gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_6) { - struct EventObject *playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId]; + struct ObjectEvent *playerObjEvent = &gObjectEvents[gPlayerAvatar.objectEventId]; - playerEventObj->facingDirectionLocked = 0; - playerEventObj->enableAnim = 1; - SetEventObjectDirection(playerEventObj, playerEventObj->facingDirection); + playerObjEvent->facingDirectionLocked = 0; + playerObjEvent->enableAnim = 1; + SetObjectEventDirection(playerObjEvent, playerObjEvent->facingDirection); gPlayerAvatar.flags &= ~PLAYER_AVATAR_FLAG_6; } return FALSE; @@ -467,10 +467,10 @@ static u8 DoForcedMovement(u8 direction, void (*b)(u8)) static u8 DoForcedMovementInCurrentDirection(void (*a)(u8)) { - struct EventObject *playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId]; + struct ObjectEvent *playerObjEvent = &gObjectEvents[gPlayerAvatar.objectEventId]; - playerEventObj->disableAnim = 1; - return DoForcedMovement(playerEventObj->movementDirection, a); + playerObjEvent->disableAnim = 1; + return DoForcedMovement(playerObjEvent->movementDirection, a); } static bool8 ForcedMovement_Slip(void) @@ -520,10 +520,10 @@ static bool8 ForcedMovement_PushedEastByCurrent(void) u8 ForcedMovement_Slide(u8 direction, void (*b)(u8)) { - struct EventObject *playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId]; + struct ObjectEvent *playerObjEvent = &gObjectEvents[gPlayerAvatar.objectEventId]; - playerEventObj->disableAnim = 1; - playerEventObj->facingDirectionLocked = 1; + playerObjEvent->disableAnim = 1; + playerObjEvent->facingDirectionLocked = 1; return DoForcedMovement(direction, b); } @@ -561,12 +561,12 @@ static bool8 ForcedMovement_0xBC(void) static bool8 ForcedMovement_MuddySlope(void) { - struct EventObject *playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId]; + struct ObjectEvent *playerObjEvent = &gObjectEvents[gPlayerAvatar.objectEventId]; - if (playerEventObj->movementDirection != DIR_NORTH || GetPlayerSpeed() <= 3) + if (playerObjEvent->movementDirection != DIR_NORTH || GetPlayerSpeed() <= 3) { Bike_UpdateBikeCounterSpeed(0); - playerEventObj->facingDirectionLocked = 1; + playerObjEvent->facingDirectionLocked = 1; return DoForcedMovement(1, PlayerGoSpeed2); } else @@ -620,7 +620,7 @@ static void PlayerNotOnBikeMoving(u8 direction, u16 heldKeys) PlayerJumpLedge(direction); return; } - else if (collision == COLLISION_EVENT_OBJECT && IsPlayerCollidingWithFarawayIslandMew(direction)) + else if (collision == COLLISION_OBJECT_EVENT && IsPlayerCollidingWithFarawayIslandMew(direction)) { PlayerNotOnBikeCollideWithFarawayIslandMew(direction); return; @@ -642,7 +642,7 @@ static void PlayerNotOnBikeMoving(u8 direction, u16 heldKeys) } if (!(gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_UNDERWATER) && (heldKeys & B_BUTTON) && FlagGet(FLAG_SYS_B_DASH) - && IsRunningDisallowed(gEventObjects[gPlayerAvatar.eventObjectId].currentMetatileBehavior) == 0) + && IsRunningDisallowed(gObjectEvents[gPlayerAvatar.objectEventId].currentMetatileBehavior) == 0) { PlayerRun(direction); gPlayerAvatar.flags |= PLAYER_AVATAR_FLAG_DASH; @@ -657,28 +657,28 @@ static void PlayerNotOnBikeMoving(u8 direction, u16 heldKeys) static u8 CheckForPlayerAvatarCollision(u8 direction) { s16 x, y; - struct EventObject *playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId]; + struct ObjectEvent *playerObjEvent = &gObjectEvents[gPlayerAvatar.objectEventId]; - x = playerEventObj->currentCoords.x; - y = playerEventObj->currentCoords.y; + x = playerObjEvent->currentCoords.x; + y = playerObjEvent->currentCoords.y; MoveCoords(direction, &x, &y); - return CheckForEventObjectCollision(playerEventObj, x, y, direction, MapGridGetMetatileBehaviorAt(x, y)); + return CheckForObjectEventCollision(playerObjEvent, x, y, direction, MapGridGetMetatileBehaviorAt(x, y)); } static u8 sub_808B028(u8 direction) { s16 x, y; - struct EventObject *playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId]; + struct ObjectEvent *playerObjEvent = &gObjectEvents[gPlayerAvatar.objectEventId]; - x = playerEventObj->currentCoords.x; - y = playerEventObj->currentCoords.y; + x = playerObjEvent->currentCoords.x; + y = playerObjEvent->currentCoords.y; MoveCoords(direction, &x, &y); - return sub_808B164(playerEventObj, x, y, direction, MapGridGetMetatileBehaviorAt(x, y)); + return sub_808B164(playerObjEvent, x, y, direction, MapGridGetMetatileBehaviorAt(x, y)); } -u8 CheckForEventObjectCollision(struct EventObject *eventObject, s16 x, s16 y, u8 direction, u8 metatileBehavior) +u8 CheckForObjectEventCollision(struct ObjectEvent *objectEvent, s16 x, s16 y, u8 direction, u8 metatileBehavior) { - u8 collision = GetCollisionAtCoords(eventObject, x, y, direction); + u8 collision = GetCollisionAtCoords(objectEvent, x, y, direction); if (collision == COLLISION_ELEVATION_MISMATCH && CanStopSurfing(x, y, direction)) return COLLISION_STOP_SURFING; @@ -687,7 +687,7 @@ u8 CheckForEventObjectCollision(struct EventObject *eventObject, s16 x, s16 y, u IncrementGameStat(GAME_STAT_JUMPED_DOWN_LEDGES); return COLLISION_LEDGE_JUMP; } - if (collision == COLLISION_EVENT_OBJECT && TryPushBoulder(x, y, direction)) + if (collision == COLLISION_OBJECT_EVENT && TryPushBoulder(x, y, direction)) return COLLISION_PUSHED_BOULDER; if (collision == COLLISION_NONE) @@ -699,9 +699,9 @@ u8 CheckForEventObjectCollision(struct EventObject *eventObject, s16 x, s16 y, u return collision; } -static u8 sub_808B164(struct EventObject *eventObject, s16 x, s16 y, u8 direction, u8 metatileBehavior) +static u8 sub_808B164(struct ObjectEvent *objectEvent, s16 x, s16 y, u8 direction, u8 metatileBehavior) { - u8 collision = GetCollisionAtCoords(eventObject, x, y, direction); + u8 collision = GetCollisionAtCoords(objectEvent, x, y, direction); if (collision == COLLISION_NONE) { @@ -716,7 +716,7 @@ static bool8 CanStopSurfing(s16 x, s16 y, u8 direction) { if ((gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_SURFING) && MapGridGetZCoordAt(x, y) == 3 - && GetEventObjectIdByXYZ(x, y, 3) == EVENT_OBJECTS_COUNT) + && GetObjectEventIdByXYZ(x, y, 3) == OBJECT_EVENTS_COUNT) { CreateStopSurfingTask(direction); return TRUE; @@ -739,17 +739,17 @@ static bool8 TryPushBoulder(s16 x, s16 y, u8 direction) { if (FlagGet(FLAG_SYS_USE_STRENGTH)) { - u8 eventObjectId = GetEventObjectIdByXY(x, y); + u8 objectEventId = GetObjectEventIdByXY(x, y); - if (eventObjectId != 16 && gEventObjects[eventObjectId].graphicsId == EVENT_OBJ_GFX_PUSHABLE_BOULDER) + if (objectEventId != 16 && gObjectEvents[objectEventId].graphicsId == OBJ_EVENT_GFX_PUSHABLE_BOULDER) { - x = gEventObjects[eventObjectId].currentCoords.x; - y = gEventObjects[eventObjectId].currentCoords.y; + x = gObjectEvents[objectEventId].currentCoords.x; + y = gObjectEvents[objectEventId].currentCoords.y; MoveCoords(direction, &x, &y); - if (GetCollisionAtCoords(&gEventObjects[eventObjectId], x, y, direction) == COLLISION_NONE + if (GetCollisionAtCoords(&gObjectEvents[objectEventId], x, y, direction) == COLLISION_NONE && MetatileBehavior_IsNonAnimDoor(MapGridGetMetatileBehaviorAt(x, y)) == 0) { - StartStrengthAnim(eventObjectId, direction); + StartStrengthAnim(objectEventId, direction); return TRUE; } } @@ -774,21 +774,21 @@ static void CheckAcroBikeCollision(s16 x, s16 y, u8 metatileBehavior, u8 *collis bool8 IsPlayerCollidingWithFarawayIslandMew(u8 direction) { u8 mewObjectId; - struct EventObject *object; + struct ObjectEvent *object; s16 playerX; s16 playerY; s16 mewPrevX; - object = &gEventObjects[gPlayerAvatar.eventObjectId]; + object = &gObjectEvents[gPlayerAvatar.objectEventId]; playerX = object->currentCoords.x; playerY = object->currentCoords.y; MoveCoords(direction, &playerX, &playerY); - mewObjectId = GetEventObjectIdByLocalIdAndMap(1, MAP_NUM(FARAWAY_ISLAND_INTERIOR), MAP_GROUP(FARAWAY_ISLAND_INTERIOR)); - if (mewObjectId == EVENT_OBJECTS_COUNT) + mewObjectId = GetObjectEventIdByLocalIdAndMap(1, MAP_NUM(FARAWAY_ISLAND_INTERIOR), MAP_GROUP(FARAWAY_ISLAND_INTERIOR)); + if (mewObjectId == OBJECT_EVENTS_COUNT) return FALSE; - object = &gEventObjects[mewObjectId]; + object = &gObjectEvents[mewObjectId]; mewPrevX = object->previousCoords.x; if (mewPrevX == playerX) @@ -821,65 +821,65 @@ static void DoPlayerAvatarTransition(void) for (i = 0; i < 8; i++, flags >>= 1) { if (flags & 1) - gUnknown_084974B8[i](&gEventObjects[gPlayerAvatar.eventObjectId]); + gUnknown_084974B8[i](&gObjectEvents[gPlayerAvatar.objectEventId]); } gPlayerAvatar.unk1 = 0; } } -static void PlayerAvatarTransition_Dummy(struct EventObject *eventObj) +static void PlayerAvatarTransition_Dummy(struct ObjectEvent *objEvent) { } -static void PlayerAvatarTransition_Normal(struct EventObject *eventObj) +static void PlayerAvatarTransition_Normal(struct ObjectEvent *objEvent) { - EventObjectSetGraphicsId(eventObj, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_NORMAL)); - EventObjectTurn(eventObj, eventObj->movementDirection); + ObjectEventSetGraphicsId(objEvent, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_NORMAL)); + ObjectEventTurn(objEvent, objEvent->movementDirection); SetPlayerAvatarStateMask(PLAYER_AVATAR_FLAG_ON_FOOT); } -static void PlayerAvatarTransition_MachBike(struct EventObject *eventObj) +static void PlayerAvatarTransition_MachBike(struct ObjectEvent *objEvent) { - EventObjectSetGraphicsId(eventObj, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_MACH_BIKE)); - EventObjectTurn(eventObj, eventObj->movementDirection); + ObjectEventSetGraphicsId(objEvent, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_MACH_BIKE)); + ObjectEventTurn(objEvent, objEvent->movementDirection); SetPlayerAvatarStateMask(PLAYER_AVATAR_FLAG_MACH_BIKE); BikeClearState(0, 0); } -static void PlayerAvatarTransition_AcroBike(struct EventObject *eventObj) +static void PlayerAvatarTransition_AcroBike(struct ObjectEvent *objEvent) { - EventObjectSetGraphicsId(eventObj, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_ACRO_BIKE)); - EventObjectTurn(eventObj, eventObj->movementDirection); + ObjectEventSetGraphicsId(objEvent, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_ACRO_BIKE)); + ObjectEventTurn(objEvent, objEvent->movementDirection); SetPlayerAvatarStateMask(PLAYER_AVATAR_FLAG_ACRO_BIKE); BikeClearState(0, 0); Bike_HandleBumpySlopeJump(); } -static void PlayerAvatarTransition_Surfing(struct EventObject *eventObj) +static void PlayerAvatarTransition_Surfing(struct ObjectEvent *objEvent) { u8 spriteId; - EventObjectSetGraphicsId(eventObj, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_SURFING)); - EventObjectTurn(eventObj, eventObj->movementDirection); + ObjectEventSetGraphicsId(objEvent, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_SURFING)); + ObjectEventTurn(objEvent, objEvent->movementDirection); SetPlayerAvatarStateMask(PLAYER_AVATAR_FLAG_SURFING); - gFieldEffectArguments[0] = eventObj->currentCoords.x; - gFieldEffectArguments[1] = eventObj->currentCoords.y; - gFieldEffectArguments[2] = gPlayerAvatar.eventObjectId; + gFieldEffectArguments[0] = objEvent->currentCoords.x; + gFieldEffectArguments[1] = objEvent->currentCoords.y; + gFieldEffectArguments[2] = gPlayerAvatar.objectEventId; spriteId = FieldEffectStart(FLDEFF_SURF_BLOB); - eventObj->fieldEffectSpriteId = spriteId; + objEvent->fieldEffectSpriteId = spriteId; sub_81555AC(spriteId, 1); } -static void PlayerAvatarTransition_Underwater(struct EventObject *eventObj) +static void PlayerAvatarTransition_Underwater(struct ObjectEvent *objEvent) { - EventObjectSetGraphicsId(eventObj, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_UNDERWATER)); - EventObjectTurn(eventObj, eventObj->movementDirection); + ObjectEventSetGraphicsId(objEvent, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_UNDERWATER)); + ObjectEventTurn(objEvent, objEvent->movementDirection); SetPlayerAvatarStateMask(PLAYER_AVATAR_FLAG_UNDERWATER); - eventObj->fieldEffectSpriteId = sub_8155800(eventObj->spriteId); + objEvent->fieldEffectSpriteId = sub_8155800(objEvent->spriteId); } -static void PlayerAvatarTransition_ReturnToField(struct EventObject *eventObj) +static void PlayerAvatarTransition_ReturnToField(struct ObjectEvent *objEvent) { gPlayerAvatar.flags |= PLAYER_AVATAR_FLAG_5; } @@ -904,7 +904,7 @@ void sub_808B578(void) static bool8 player_is_anim_in_certain_ranges(void) { - u8 movementActionId = gEventObjects[gPlayerAvatar.eventObjectId].movementActionId; + u8 movementActionId = gObjectEvents[gPlayerAvatar.objectEventId].movementActionId; if (movementActionId <= MOVEMENT_ACTION_FACE_RIGHT || (movementActionId >= MOVEMENT_ACTION_DELAY_1 && movementActionId <= MOVEMENT_ACTION_DELAY_16) @@ -926,27 +926,27 @@ static bool8 sub_808B618(void) static bool8 PlayerIsAnimActive(void) { - return EventObjectIsMovementOverridden(&gEventObjects[gPlayerAvatar.eventObjectId]); + return ObjectEventIsMovementOverridden(&gObjectEvents[gPlayerAvatar.objectEventId]); } static bool8 PlayerCheckIfAnimFinishedOrInactive(void) { - return EventObjectCheckHeldMovementStatus(&gEventObjects[gPlayerAvatar.eventObjectId]); + return ObjectEventCheckHeldMovementStatus(&gObjectEvents[gPlayerAvatar.objectEventId]); } static void PlayerSetCopyableMovement(u8 a) { - gEventObjects[gPlayerAvatar.eventObjectId].playerCopyableMovement = a; + gObjectEvents[gPlayerAvatar.objectEventId].playerCopyableMovement = a; } u8 PlayerGetCopyableMovement(void) { - return gEventObjects[gPlayerAvatar.eventObjectId].playerCopyableMovement; + return gObjectEvents[gPlayerAvatar.objectEventId].playerCopyableMovement; } static void sub_808B6BC(u8 a) { - EventObjectForceSetHeldMovement(&gEventObjects[gPlayerAvatar.eventObjectId], a); + ObjectEventForceSetHeldMovement(&gObjectEvents[gPlayerAvatar.objectEventId], a); } void PlayerSetAnimId(u8 movementActionId, u8 copyableMovement) @@ -954,7 +954,7 @@ void PlayerSetAnimId(u8 movementActionId, u8 copyableMovement) if (!PlayerIsAnimActive()) { PlayerSetCopyableMovement(copyableMovement); - EventObjectSetHeldMovement(&gEventObjects[gPlayerAvatar.eventObjectId], movementActionId); + ObjectEventSetHeldMovement(&gObjectEvents[gPlayerAvatar.objectEventId], movementActionId); } } @@ -1029,7 +1029,7 @@ void sub_808B864(void) if (gPlayerAvatar.tileTransitionState == T_TILE_CENTER || gPlayerAvatar.tileTransitionState == T_NOT_MOVING) { if (player_should_look_direction_be_enforced_upon_movement()) - sub_808B6BC(GetFaceDirectionMovementAction(gEventObjects[gPlayerAvatar.eventObjectId].facingDirection)); + sub_808B6BC(GetFaceDirectionMovementAction(gObjectEvents[gPlayerAvatar.objectEventId].facingDirection)); } } @@ -1103,7 +1103,7 @@ void sub_808B9D4(u8 direction) static void PlayCollisionSoundIfNotFacingWarp(u8 a) { s16 x, y; - u8 metatileBehavior = gEventObjects[gPlayerAvatar.eventObjectId].currentMetatileBehavior; + u8 metatileBehavior = gObjectEvents[gPlayerAvatar.objectEventId].currentMetatileBehavior; if (!sArrowWarpMetatileBehaviorChecks[a - 1](metatileBehavior)) { @@ -1120,20 +1120,20 @@ static void PlayCollisionSoundIfNotFacingWarp(u8 a) void GetXYCoordsOneStepInFrontOfPlayer(s16 *x, s16 *y) { - *x = gEventObjects[gPlayerAvatar.eventObjectId].currentCoords.x; - *y = gEventObjects[gPlayerAvatar.eventObjectId].currentCoords.y; + *x = gObjectEvents[gPlayerAvatar.objectEventId].currentCoords.x; + *y = gObjectEvents[gPlayerAvatar.objectEventId].currentCoords.y; MoveCoords(GetPlayerFacingDirection(), x, y); } void PlayerGetDestCoords(s16 *x, s16 *y) { - *x = gEventObjects[gPlayerAvatar.eventObjectId].currentCoords.x; - *y = gEventObjects[gPlayerAvatar.eventObjectId].currentCoords.y; + *x = gObjectEvents[gPlayerAvatar.objectEventId].currentCoords.x; + *y = gObjectEvents[gPlayerAvatar.objectEventId].currentCoords.y; } u8 player_get_pos_including_state_based_drift(s16 *x, s16 *y) { - struct EventObject *object = &gEventObjects[gPlayerAvatar.eventObjectId]; + struct ObjectEvent *object = &gObjectEvents[gPlayerAvatar.objectEventId]; if (object->heldMovementActive && !object->heldMovementFinished && !gSprites[object->spriteId].data[2]) { @@ -1168,22 +1168,22 @@ u8 player_get_pos_including_state_based_drift(s16 *x, s16 *y) u8 GetPlayerFacingDirection(void) { - return gEventObjects[gPlayerAvatar.eventObjectId].facingDirection; + return gObjectEvents[gPlayerAvatar.objectEventId].facingDirection; } u8 GetPlayerMovementDirection(void) { - return gEventObjects[gPlayerAvatar.eventObjectId].movementDirection; + return gObjectEvents[gPlayerAvatar.objectEventId].movementDirection; } u8 PlayerGetZCoord(void) { - return gEventObjects[gPlayerAvatar.eventObjectId].previousElevation; + return gObjectEvents[gPlayerAvatar.objectEventId].previousElevation; } void sub_808BC90(s16 x, s16 y) { - MoveEventObjectToMapCoords(&gEventObjects[gPlayerAvatar.eventObjectId], x, y); + MoveObjectEventToMapCoords(&gObjectEvents[gPlayerAvatar.objectEventId], x, y); } u8 TestPlayerAvatarFlags(u8 a) @@ -1208,10 +1208,10 @@ void sub_808BCE8(void) void sub_808BCF4(void) { - struct EventObject *playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId]; + struct ObjectEvent *playerObjEvent = &gObjectEvents[gPlayerAvatar.objectEventId]; - npc_clear_strange_bits(playerEventObj); - SetEventObjectDirection(playerEventObj, playerEventObj->facingDirection); + npc_clear_strange_bits(playerObjEvent); + SetObjectEventDirection(playerObjEvent, playerObjEvent->facingDirection); if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_MACH_BIKE | PLAYER_AVATAR_FLAG_ACRO_BIKE)) { Bike_HandleBumpySlopeJump(); @@ -1248,14 +1248,14 @@ u8 unref_GetRivalAvatarGenderByGraphicsId(u8 gfxId) { switch (gfxId) { - case EVENT_OBJ_GFX_RIVAL_MAY_NORMAL: - case EVENT_OBJ_GFX_RIVAL_MAY_MACH_BIKE: - case EVENT_OBJ_GFX_RIVAL_MAY_ACRO_BIKE: - case EVENT_OBJ_GFX_RIVAL_MAY_SURFING: - case EVENT_OBJ_GFX_RIVAL_MAY_FIELD_MOVE: - case EVENT_OBJ_GFX_MAY_UNDERWATER: - case EVENT_OBJ_GFX_MAY_FISHING: - case EVENT_OBJ_GFX_MAY_WATERING: + case OBJ_EVENT_GFX_RIVAL_MAY_NORMAL: + case OBJ_EVENT_GFX_RIVAL_MAY_MACH_BIKE: + case OBJ_EVENT_GFX_RIVAL_MAY_ACRO_BIKE: + case OBJ_EVENT_GFX_RIVAL_MAY_SURFING: + case OBJ_EVENT_GFX_RIVAL_MAY_FIELD_MOVE: + case OBJ_EVENT_GFX_MAY_UNDERWATER: + case OBJ_EVENT_GFX_MAY_FISHING: + case OBJ_EVENT_GFX_MAY_WATERING: return FEMALE; default: return MALE; @@ -1266,14 +1266,14 @@ u8 GetPlayerAvatarGenderByGraphicsId(u8 gfxId) { switch (gfxId) { - case EVENT_OBJ_GFX_MAY_NORMAL: - case EVENT_OBJ_GFX_MAY_MACH_BIKE: - case EVENT_OBJ_GFX_MAY_ACRO_BIKE: - case EVENT_OBJ_GFX_MAY_SURFING: - case EVENT_OBJ_GFX_MAY_FIELD_MOVE: - case EVENT_OBJ_GFX_MAY_UNDERWATER: - case EVENT_OBJ_GFX_MAY_FISHING: - case EVENT_OBJ_GFX_MAY_WATERING: + case OBJ_EVENT_GFX_MAY_NORMAL: + case OBJ_EVENT_GFX_MAY_MACH_BIKE: + case OBJ_EVENT_GFX_MAY_ACRO_BIKE: + case OBJ_EVENT_GFX_MAY_SURFING: + case OBJ_EVENT_GFX_MAY_FIELD_MOVE: + case OBJ_EVENT_GFX_MAY_UNDERWATER: + case OBJ_EVENT_GFX_MAY_FISHING: + case OBJ_EVENT_GFX_MAY_WATERING: return FEMALE; default: return MALE; @@ -1307,12 +1307,12 @@ bool8 IsPlayerSurfingNorth(void) bool8 IsPlayerFacingSurfableFishableWater(void) { - struct EventObject *playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId]; - s16 x = playerEventObj->currentCoords.x; - s16 y = playerEventObj->currentCoords.y; + struct ObjectEvent *playerObjEvent = &gObjectEvents[gPlayerAvatar.objectEventId]; + s16 x = playerObjEvent->currentCoords.x; + s16 y = playerObjEvent->currentCoords.y; - MoveCoords(playerEventObj->facingDirection, &x, &y); - if (GetCollisionAtCoords(playerEventObj, x, y, playerEventObj->facingDirection) == COLLISION_ELEVATION_MISMATCH + MoveCoords(playerObjEvent->facingDirection, &x, &y); + if (GetCollisionAtCoords(playerObjEvent, x, y, playerObjEvent->facingDirection) == COLLISION_ELEVATION_MISMATCH && PlayerGetZCoord() == 3 && MetatileBehavior_IsSurfableFishableWater(MapGridGetMetatileBehaviorAt(x, y))) return TRUE; @@ -1366,87 +1366,87 @@ void SetPlayerAvatarExtraStateTransition(u8 graphicsId, u8 b) void InitPlayerAvatar(s16 x, s16 y, u8 direction, u8 gender) { - struct EventObjectTemplate playerEventObjTemplate; - u8 eventObjectId; - struct EventObject *eventObject; - - playerEventObjTemplate.localId = EVENT_OBJ_ID_PLAYER; - playerEventObjTemplate.graphicsId = GetPlayerAvatarGraphicsIdByStateIdAndGender(PLAYER_AVATAR_STATE_NORMAL, gender); - playerEventObjTemplate.x = x - 7; - playerEventObjTemplate.y = y - 7; - playerEventObjTemplate.elevation = 0; - playerEventObjTemplate.movementType = MOVEMENT_TYPE_PLAYER; - playerEventObjTemplate.movementRangeX = 0; - playerEventObjTemplate.movementRangeY = 0; - playerEventObjTemplate.trainerType = 0; - playerEventObjTemplate.trainerRange_berryTreeId = 0; - playerEventObjTemplate.script = NULL; - playerEventObjTemplate.flagId = 0; - eventObjectId = SpawnSpecialEventObject(&playerEventObjTemplate); - eventObject = &gEventObjects[eventObjectId]; - eventObject->isPlayer = 1; - eventObject->warpArrowSpriteId = CreateWarpArrowSprite(); - EventObjectTurn(eventObject, direction); + struct ObjectEventTemplate playerObjEventTemplate; + u8 objectEventId; + struct ObjectEvent *objectEvent; + + playerObjEventTemplate.localId = OBJ_EVENT_ID_PLAYER; + playerObjEventTemplate.graphicsId = GetPlayerAvatarGraphicsIdByStateIdAndGender(PLAYER_AVATAR_STATE_NORMAL, gender); + playerObjEventTemplate.x = x - 7; + playerObjEventTemplate.y = y - 7; + playerObjEventTemplate.elevation = 0; + playerObjEventTemplate.movementType = MOVEMENT_TYPE_PLAYER; + playerObjEventTemplate.movementRangeX = 0; + playerObjEventTemplate.movementRangeY = 0; + playerObjEventTemplate.trainerType = 0; + playerObjEventTemplate.trainerRange_berryTreeId = 0; + playerObjEventTemplate.script = NULL; + playerObjEventTemplate.flagId = 0; + objectEventId = SpawnSpecialObjectEvent(&playerObjEventTemplate); + objectEvent = &gObjectEvents[objectEventId]; + objectEvent->isPlayer = 1; + objectEvent->warpArrowSpriteId = CreateWarpArrowSprite(); + ObjectEventTurn(objectEvent, direction); ClearPlayerAvatarInfo(); gPlayerAvatar.runningState = NOT_MOVING; gPlayerAvatar.tileTransitionState = T_NOT_MOVING; - gPlayerAvatar.eventObjectId = eventObjectId; - gPlayerAvatar.spriteId = eventObject->spriteId; + gPlayerAvatar.objectEventId = objectEventId; + gPlayerAvatar.spriteId = objectEvent->spriteId; gPlayerAvatar.gender = gender; SetPlayerAvatarStateMask(PLAYER_AVATAR_FLAG_5 | PLAYER_AVATAR_FLAG_ON_FOOT); } void SetPlayerInvisibility(bool8 invisible) { - gEventObjects[gPlayerAvatar.eventObjectId].invisible = invisible; + gObjectEvents[gPlayerAvatar.objectEventId].invisible = invisible; if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_SURFING)) - gSprites[gEventObjects[gPlayerAvatar.eventObjectId].fieldEffectSpriteId].invisible = invisible; + gSprites[gObjectEvents[gPlayerAvatar.objectEventId].fieldEffectSpriteId].invisible = invisible; } void sub_808C114(void) { - EventObjectSetGraphicsId(&gEventObjects[gPlayerAvatar.eventObjectId], GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_FIELD_MOVE)); + ObjectEventSetGraphicsId(&gObjectEvents[gPlayerAvatar.objectEventId], GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_FIELD_MOVE)); StartSpriteAnim(&gSprites[gPlayerAvatar.spriteId], 0); } void sub_808C15C(u8 direction) { - EventObjectSetGraphicsId(&gEventObjects[gPlayerAvatar.eventObjectId], GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_FISHING)); + ObjectEventSetGraphicsId(&gObjectEvents[gPlayerAvatar.objectEventId], GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_FISHING)); StartSpriteAnim(&gSprites[gPlayerAvatar.spriteId], GetFishingDirectionAnimNum(direction)); } void sub_808C1B4(u8 direction) { - EventObjectSetGraphicsId(&gEventObjects[gPlayerAvatar.eventObjectId], GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_ACRO_BIKE)); + ObjectEventSetGraphicsId(&gObjectEvents[gPlayerAvatar.objectEventId], GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_ACRO_BIKE)); StartSpriteAnim(&gSprites[gPlayerAvatar.spriteId], GetAcroWheelieDirectionAnimNum(direction)); SeekSpriteAnim(&gSprites[gPlayerAvatar.spriteId], 1); } void sub_808C228(u8 direction) { - EventObjectSetGraphicsId(&gEventObjects[gPlayerAvatar.eventObjectId], GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_WATERING)); + ObjectEventSetGraphicsId(&gObjectEvents[gPlayerAvatar.objectEventId], GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_WATERING)); StartSpriteAnim(&gSprites[gPlayerAvatar.spriteId], GetFaceDirectionAnimNum(direction)); } -static void sub_808C280(struct EventObject *eventObject) +static void sub_808C280(struct ObjectEvent *objectEvent) { s16 x; s16 y; u8 direction; - u8 metatileBehavior = eventObject->currentMetatileBehavior; + u8 metatileBehavior = objectEvent->currentMetatileBehavior; for (x = 0, direction = DIR_SOUTH; x < 4; x++, direction++) { - if (sArrowWarpMetatileBehaviorChecks2[x](metatileBehavior) && direction == eventObject->movementDirection) + if (sArrowWarpMetatileBehaviorChecks2[x](metatileBehavior) && direction == objectEvent->movementDirection) { - x = eventObject->currentCoords.x; - y = eventObject->currentCoords.y; + x = objectEvent->currentCoords.x; + y = objectEvent->currentCoords.y; MoveCoords(direction, &x, &y); - ShowWarpArrowSprite(eventObject->warpArrowSpriteId, direction, x, y); + ShowWarpArrowSprite(objectEvent->warpArrowSpriteId, direction, x, y); return; } } - SetSpriteInvisible(eventObject->warpArrowSpriteId); + SetSpriteInvisible(objectEvent->warpArrowSpriteId); } /* Strength */ @@ -1463,12 +1463,12 @@ static void StartStrengthAnim(u8 a, u8 b) static void Task_BumpBoulder(u8 taskId) { while (gUnknown_08497530[gTasks[taskId].data[0]](&gTasks[taskId], - &gEventObjects[gPlayerAvatar.eventObjectId], - &gEventObjects[gTasks[taskId].data[1]])) + &gObjectEvents[gPlayerAvatar.objectEventId], + &gObjectEvents[gTasks[taskId].data[1]])) ; } -static bool8 sub_808C3A4(struct Task *task, struct EventObject *playerObject, struct EventObject *strengthObject) +static bool8 sub_808C3A4(struct Task *task, struct ObjectEvent *playerObject, struct ObjectEvent *strengthObject) { ScriptContext2_Enable(); gPlayerAvatar.preventStep = TRUE; @@ -1476,25 +1476,25 @@ static bool8 sub_808C3A4(struct Task *task, struct EventObject *playerObject, st return FALSE; } -static bool8 do_boulder_dust(struct Task *task, struct EventObject *playerObject, struct EventObject *strengthObject) +static bool8 do_boulder_dust(struct Task *task, struct ObjectEvent *playerObject, struct ObjectEvent *strengthObject) { - if (EventObjectIsHeldMovementActive(playerObject)) + if (ObjectEventIsHeldMovementActive(playerObject)) { - EventObjectClearHeldMovementIfFinished(playerObject); + ObjectEventClearHeldMovementIfFinished(playerObject); } - if (EventObjectIsHeldMovementActive(strengthObject)) + if (ObjectEventIsHeldMovementActive(strengthObject)) { - EventObjectClearHeldMovementIfFinished(strengthObject); + ObjectEventClearHeldMovementIfFinished(strengthObject); } - if (!EventObjectIsMovementOverridden(playerObject) - && !EventObjectIsMovementOverridden(strengthObject)) + if (!ObjectEventIsMovementOverridden(playerObject) + && !ObjectEventIsMovementOverridden(strengthObject)) { - EventObjectClearHeldMovementIfFinished(playerObject); - EventObjectClearHeldMovementIfFinished(strengthObject); - EventObjectSetHeldMovement(playerObject, GetWalkInPlaceNormalMovementAction((u8)task->data[2])); - EventObjectSetHeldMovement(strengthObject, GetWalkSlowMovementAction((u8)task->data[2])); + ObjectEventClearHeldMovementIfFinished(playerObject); + ObjectEventClearHeldMovementIfFinished(strengthObject); + ObjectEventSetHeldMovement(playerObject, GetWalkInPlaceNormalMovementAction((u8)task->data[2])); + ObjectEventSetHeldMovement(strengthObject, GetWalkSlowMovementAction((u8)task->data[2])); gFieldEffectArguments[0] = strengthObject->currentCoords.x; gFieldEffectArguments[1] = strengthObject->currentCoords.y; gFieldEffectArguments[2] = strengthObject->previousElevation; @@ -1506,13 +1506,13 @@ static bool8 do_boulder_dust(struct Task *task, struct EventObject *playerObject return FALSE; } -static bool8 sub_808C484(struct Task *task, struct EventObject *playerObject, struct EventObject *strengthObject) +static bool8 sub_808C484(struct Task *task, struct ObjectEvent *playerObject, struct ObjectEvent *strengthObject) { - if (EventObjectCheckHeldMovementStatus(playerObject) - && EventObjectCheckHeldMovementStatus(strengthObject)) + if (ObjectEventCheckHeldMovementStatus(playerObject) + && ObjectEventCheckHeldMovementStatus(strengthObject)) { - EventObjectClearHeldMovementIfFinished(playerObject); - EventObjectClearHeldMovementIfFinished(strengthObject); + ObjectEventClearHeldMovementIfFinished(playerObject); + ObjectEventClearHeldMovementIfFinished(strengthObject); gPlayerAvatar.preventStep = FALSE; ScriptContext2_Disable(); DestroyTask(FindTaskIdByFunc(Task_BumpBoulder)); @@ -1529,18 +1529,18 @@ static void DoPlayerMatJump(void) static void DoPlayerAvatarSecretBaseMatJump(u8 taskId) { - while (sPlayerAvatarSecretBaseMatJump[gTasks[taskId].data[0]](&gTasks[taskId], &gEventObjects[gPlayerAvatar.eventObjectId])) + while (sPlayerAvatarSecretBaseMatJump[gTasks[taskId].data[0]](&gTasks[taskId], &gObjectEvents[gPlayerAvatar.objectEventId])) ; } // because data[0] is used to call this, it can be inferred that there may have been multiple mat jump functions at one point, so the name for these groups of functions is appropriate in assuming the sole use of mat jump. -static u8 PlayerAvatar_DoSecretBaseMatJump(struct Task *task, struct EventObject *eventObject) +static u8 PlayerAvatar_DoSecretBaseMatJump(struct Task *task, struct ObjectEvent *objectEvent) { gPlayerAvatar.preventStep = TRUE; - if (EventObjectClearHeldMovementIfFinished(eventObject)) + if (ObjectEventClearHeldMovementIfFinished(objectEvent)) { PlaySE(SE_DANSA); - EventObjectSetHeldMovement(eventObject, GetJumpInPlaceMovementAction(eventObject->facingDirection)); + ObjectEventSetHeldMovement(objectEvent, GetJumpInPlaceMovementAction(objectEvent->facingDirection)); task->data[1]++; if (task->data[1] > 1) { @@ -1563,29 +1563,29 @@ static void DoPlayerMatSpin(void) static void PlayerAvatar_DoSecretBaseMatSpin(u8 taskId) { - while (sPlayerAvatarSecretBaseMatSpin[gTasks[taskId].data[0]](&gTasks[taskId], &gEventObjects[gPlayerAvatar.eventObjectId])) + while (sPlayerAvatarSecretBaseMatSpin[gTasks[taskId].data[0]](&gTasks[taskId], &gObjectEvents[gPlayerAvatar.objectEventId])) ; } -static bool8 PlayerAvatar_SecretBaseMatSpinStep0(struct Task *task, struct EventObject *eventObject) +static bool8 PlayerAvatar_SecretBaseMatSpinStep0(struct Task *task, struct ObjectEvent *objectEvent) { task->data[0]++; - task->data[1] = eventObject->movementDirection; + task->data[1] = objectEvent->movementDirection; gPlayerAvatar.preventStep = TRUE; ScriptContext2_Enable(); PlaySE(SE_TK_WARPIN); return TRUE; } -static bool8 PlayerAvatar_SecretBaseMatSpinStep1(struct Task *task, struct EventObject *eventObject) +static bool8 PlayerAvatar_SecretBaseMatSpinStep1(struct Task *task, struct ObjectEvent *objectEvent) { u8 directions[] = {DIR_WEST, DIR_EAST, DIR_NORTH, DIR_SOUTH}; - if (EventObjectClearHeldMovementIfFinished(eventObject)) + if (ObjectEventClearHeldMovementIfFinished(objectEvent)) { u8 direction; - EventObjectSetHeldMovement(eventObject, GetFaceDirectionMovementAction(direction = directions[eventObject->movementDirection - 1])); + ObjectEventSetHeldMovement(objectEvent, GetFaceDirectionMovementAction(direction = directions[objectEvent->movementDirection - 1])); if (direction == (u8)task->data[1]) task->data[2]++; task->data[0]++; @@ -1595,7 +1595,7 @@ static bool8 PlayerAvatar_SecretBaseMatSpinStep1(struct Task *task, struct Event return FALSE; } -static bool8 PlayerAvatar_SecretBaseMatSpinStep2(struct Task *task, struct EventObject *eventObject) +static bool8 PlayerAvatar_SecretBaseMatSpinStep2(struct Task *task, struct ObjectEvent *objectEvent) { const u8 actions[] = { MOVEMENT_ACTION_DELAY_1, @@ -1605,19 +1605,19 @@ static bool8 PlayerAvatar_SecretBaseMatSpinStep2(struct Task *task, struct Event MOVEMENT_ACTION_DELAY_8, }; - if (EventObjectClearHeldMovementIfFinished(eventObject)) + if (ObjectEventClearHeldMovementIfFinished(objectEvent)) { - EventObjectSetHeldMovement(eventObject, actions[task->data[2]]); + ObjectEventSetHeldMovement(objectEvent, actions[task->data[2]]); task->data[0] = 1; } return FALSE; } -static bool8 PlayerAvatar_SecretBaseMatSpinStep3(struct Task *task, struct EventObject *eventObject) +static bool8 PlayerAvatar_SecretBaseMatSpinStep3(struct Task *task, struct ObjectEvent *objectEvent) { - if (EventObjectClearHeldMovementIfFinished(eventObject)) + if (ObjectEventClearHeldMovementIfFinished(objectEvent)) { - EventObjectSetHeldMovement(eventObject, GetWalkSlowMovementAction(GetOppositeDirection(task->data[1]))); + ObjectEventSetHeldMovement(objectEvent, GetWalkSlowMovementAction(GetOppositeDirection(task->data[1]))); ScriptContext2_Disable(); gPlayerAvatar.preventStep = FALSE; DestroyTask(FindTaskIdByFunc(PlayerAvatar_DoSecretBaseMatSpin)); @@ -1642,29 +1642,29 @@ static void CreateStopSurfingTask(u8 direction) static void Task_StopSurfingInit(u8 taskId) { - struct EventObject *playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId]; + struct ObjectEvent *playerObjEvent = &gObjectEvents[gPlayerAvatar.objectEventId]; - if (EventObjectIsMovementOverridden(playerEventObj)) + if (ObjectEventIsMovementOverridden(playerObjEvent)) { - if (!EventObjectClearHeldMovementIfFinished(playerEventObj)) + if (!ObjectEventClearHeldMovementIfFinished(playerObjEvent)) return; } - sub_81555AC(playerEventObj->fieldEffectSpriteId, 2); - EventObjectSetHeldMovement(playerEventObj, GetJumpSpecialMovementAction((u8)gTasks[taskId].data[0])); + sub_81555AC(playerObjEvent->fieldEffectSpriteId, 2); + ObjectEventSetHeldMovement(playerObjEvent, GetJumpSpecialMovementAction((u8)gTasks[taskId].data[0])); gTasks[taskId].func = Task_WaitStopSurfing; } static void Task_WaitStopSurfing(u8 taskId) { - struct EventObject *playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId]; + struct ObjectEvent *playerObjEvent = &gObjectEvents[gPlayerAvatar.objectEventId]; - if (EventObjectClearHeldMovementIfFinished(playerEventObj)) + if (ObjectEventClearHeldMovementIfFinished(playerObjEvent)) { - EventObjectSetGraphicsId(playerEventObj, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_NORMAL)); - EventObjectSetHeldMovement(playerEventObj, GetFaceDirectionMovementAction(playerEventObj->facingDirection)); + ObjectEventSetGraphicsId(playerObjEvent, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_NORMAL)); + ObjectEventSetHeldMovement(playerObjEvent, GetFaceDirectionMovementAction(playerObjEvent->facingDirection)); gPlayerAvatar.preventStep = FALSE; ScriptContext2_Disable(); - DestroySprite(&gSprites[playerEventObj->fieldEffectSpriteId]); + DestroySprite(&gSprites[playerObjEvent->fieldEffectSpriteId]); DestroyTask(taskId); } } @@ -1729,17 +1729,17 @@ static bool8 Fishing1(struct Task *task) static bool8 Fishing2(struct Task *task) { - struct EventObject *playerEventObj; + struct ObjectEvent *playerObjEvent; const s16 arr1[] = {1, 1, 1}; const s16 arr2[] = {1, 3, 6}; task->tRoundsPlayed = 0; task->tMinRoundsRequired = arr1[task->tFishingRod] + (Random() % arr2[task->tFishingRod]); - task->tPlayerGfxId = gEventObjects[gPlayerAvatar.eventObjectId].graphicsId; - playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId]; - EventObjectClearHeldMovementIfActive(playerEventObj); - playerEventObj->enableAnim = 1; - sub_808C15C(playerEventObj->facingDirection); + task->tPlayerGfxId = gObjectEvents[gPlayerAvatar.objectEventId].graphicsId; + playerObjEvent = &gObjectEvents[gPlayerAvatar.objectEventId]; + ObjectEventClearHeldMovementIfActive(playerObjEvent); + playerObjEvent->enableAnim = 1; + sub_808C15C(playerObjEvent->facingDirection); task->tStep++; return FALSE; } @@ -1928,12 +1928,12 @@ static bool8 Fishing11(struct Task *task) { if (!IsTextPrinterActive(0)) { - struct EventObject *playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId]; + struct ObjectEvent *playerObjEvent = &gObjectEvents[gPlayerAvatar.objectEventId]; - EventObjectSetGraphicsId(playerEventObj, task->tPlayerGfxId); - EventObjectTurn(playerEventObj, playerEventObj->movementDirection); + ObjectEventSetGraphicsId(playerObjEvent, task->tPlayerGfxId); + ObjectEventTurn(playerObjEvent, playerObjEvent->movementDirection); if (gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_SURFING) - sub_8155604(gEventObjects[gPlayerAvatar.eventObjectId].fieldEffectSpriteId, 0, 0); + sub_8155604(gObjectEvents[gPlayerAvatar.objectEventId].fieldEffectSpriteId, 0, 0); gSprites[gPlayerAvatar.spriteId].pos2.x = 0; gSprites[gPlayerAvatar.spriteId].pos2.y = 0; ClearDialogWindowAndFrame(0, TRUE); @@ -1988,12 +1988,12 @@ static bool8 Fishing15(struct Task *task) AlignFishingAnimationFrames(); if (gSprites[gPlayerAvatar.spriteId].animEnded) { - struct EventObject *playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId]; + struct ObjectEvent *playerObjEvent = &gObjectEvents[gPlayerAvatar.objectEventId]; - EventObjectSetGraphicsId(playerEventObj, task->tPlayerGfxId); - EventObjectTurn(playerEventObj, playerEventObj->movementDirection); + ObjectEventSetGraphicsId(playerObjEvent, task->tPlayerGfxId); + ObjectEventTurn(playerObjEvent, playerObjEvent->movementDirection); if (gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_SURFING) - sub_8155604(gEventObjects[gPlayerAvatar.eventObjectId].fieldEffectSpriteId, 0, 0); + sub_8155604(gObjectEvents[gPlayerAvatar.objectEventId].fieldEffectSpriteId, 0, 0); gSprites[gPlayerAvatar.spriteId].pos2.x = 0; gSprites[gPlayerAvatar.spriteId].pos2.y = 0; task->tStep++; @@ -2008,7 +2008,7 @@ static bool8 Fishing16(struct Task *task) { gPlayerAvatar.preventStep = FALSE; ScriptContext2_Disable(); - UnfreezeEventObjects(); + UnfreezeObjectEvents(); ClearDialogWindowAndFrame(0, TRUE); sub_80ED950(0); DestroyTask(FindTaskIdByFunc(Task_Fishing)); @@ -2052,7 +2052,7 @@ static void AlignFishingAnimationFrames(void) if (animType == 10 || animType == 11) playerSprite->pos2.y = 8; if (gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_SURFING) - sub_8155604(gEventObjects[gPlayerAvatar.eventObjectId].fieldEffectSpriteId, 1, playerSprite->pos2.y); + sub_8155604(gObjectEvents[gPlayerAvatar.objectEventId].fieldEffectSpriteId, 1, playerSprite->pos2.y); } void sub_808D074(u8 a0) @@ -2071,14 +2071,14 @@ static u8 sub_808D080(void) static void sub_808D094(u8 taskId) { - struct EventObject *object = &gEventObjects[gPlayerAvatar.eventObjectId]; + struct ObjectEvent *object = &gObjectEvents[gPlayerAvatar.objectEventId]; struct Sprite *sprite = &gSprites[object->spriteId]; s16 *data = gTasks[taskId].data; switch (data[0]) { case 0: - if (!EventObjectClearHeldMovementIfFinished(object)) + if (!ObjectEventClearHeldMovementIfFinished(object)) { return; } @@ -2136,7 +2136,7 @@ static const u8 gUnknown_084975BC[] = {DIR_SOUTH, DIR_WEST, DIR_EAST, DIR_NORTH, static void sub_808D1FC(u8 taskId) { - struct EventObject *object = &gEventObjects[gPlayerAvatar.eventObjectId]; + struct ObjectEvent *object = &gObjectEvents[gPlayerAvatar.objectEventId]; struct Sprite *sprite = &gSprites[object->spriteId]; s16 *data = gTasks[taskId].data; @@ -2144,7 +2144,7 @@ static void sub_808D1FC(u8 taskId) { case 0: data[5] = sub_808D080(); - EventObjectForceSetHeldMovement(object, GetFaceDirectionMovementAction(gUnknown_084975BC[data[5]])); + ObjectEventForceSetHeldMovement(object, GetFaceDirectionMovementAction(gUnknown_084975BC[data[5]])); data[1] = 0; data[2] = 116; data[4] = sprite->pos1.y; @@ -2195,19 +2195,19 @@ static void sub_808D1FC(u8 taskId) } } -static u8 sub_808D38C(struct EventObject *object, s16 *a1) +static u8 sub_808D38C(struct ObjectEvent *object, s16 *a1) { if (*a1 < 8 && ++(*a1) < 8) { return object->facingDirection; } - if (!EventObjectCheckHeldMovementStatus(object)) + if (!ObjectEventCheckHeldMovementStatus(object)) { return object->facingDirection; } - EventObjectForceSetHeldMovement(object, GetFaceDirectionMovementAction(gUnknown_084975BC[object->facingDirection])); + ObjectEventForceSetHeldMovement(object, GetFaceDirectionMovementAction(gUnknown_084975BC[object->facingDirection])); *a1 = 0; return gUnknown_084975BC[object->facingDirection]; } diff --git a/src/field_screen_effect.c b/src/field_screen_effect.c index 292152b11..ea9429ce8 100644 --- a/src/field_screen_effect.c +++ b/src/field_screen_effect.c @@ -5,6 +5,7 @@ #include "field_camera.h" #include "field_door.h" #include "field_effect.h" +#include "event_object_lock.h" #include "event_object_movement.h" #include "field_player_avatar.h" #include "field_screen_effect.h" @@ -17,7 +18,6 @@ #include "main.h" #include "menu.h" #include "mirage_tower.h" -#include "event_obj_lock.h" #include "metatile_behavior.h" #include "palette.h" #include "overworld.h" @@ -27,12 +27,11 @@ #include "start_menu.h" #include "task.h" #include "text.h" -#include "constants/event_object_movement_constants.h" +#include "constants/event_object_movement.h" #include "constants/event_objects.h" #include "constants/songs.h" #include "constants/rgb.h" #include "trainer_hill.h" -#include "event_obj_lock.h" #include "fldeff.h" extern const u16 gOrbEffectBackgroundLayerFlags[]; @@ -328,7 +327,7 @@ static void Task_ExitDoor(u8 taskId) { case 0: SetPlayerVisibility(FALSE); - FreezeEventObjects(); + FreezeObjectEvents(); PlayerGetDestCoords(x, y); FieldSetDoorOpened(*x, *y); task->data[0] = 1; @@ -336,27 +335,27 @@ static void Task_ExitDoor(u8 taskId) case 1: if (WaitForWeatherFadeIn()) { - u8 eventObjId; + u8 objEventId; SetPlayerVisibility(TRUE); - eventObjId = GetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0); - EventObjectSetHeldMovement(&gEventObjects[eventObjId], MOVEMENT_ACTION_WALK_NORMAL_DOWN); + objEventId = GetObjectEventIdByLocalIdAndMap(OBJ_EVENT_ID_PLAYER, 0, 0); + ObjectEventSetHeldMovement(&gObjectEvents[objEventId], MOVEMENT_ACTION_WALK_NORMAL_DOWN); task->data[0] = 2; } break; case 2: if (IsPlayerStandingStill()) { - u8 eventObjId; + u8 objEventId; task->data[1] = FieldAnimateDoorClose(*x, *y); - eventObjId = GetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0); - EventObjectClearHeldMovementIfFinished(&gEventObjects[eventObjId]); + objEventId = GetObjectEventIdByLocalIdAndMap(OBJ_EVENT_ID_PLAYER, 0, 0); + ObjectEventClearHeldMovementIfFinished(&gObjectEvents[objEventId]); task->data[0] = 3; } break; case 3: if (task->data[1] < 0 || gTasks[task->data[1]].isActive != TRUE) { - UnfreezeEventObjects(); + UnfreezeObjectEvents(); task->data[0] = 4; } break; @@ -377,24 +376,24 @@ static void Task_ExitNonAnimDoor(u8 taskId) { case 0: SetPlayerVisibility(FALSE); - FreezeEventObjects(); + FreezeObjectEvents(); PlayerGetDestCoords(x, y); task->data[0] = 1; break; case 1: if (WaitForWeatherFadeIn()) { - u8 eventObjId; + u8 objEventId; SetPlayerVisibility(TRUE); - eventObjId = GetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0); - EventObjectSetHeldMovement(&gEventObjects[eventObjId], GetWalkNormalMovementAction(GetPlayerFacingDirection())); + objEventId = GetObjectEventIdByLocalIdAndMap(OBJ_EVENT_ID_PLAYER, 0, 0); + ObjectEventSetHeldMovement(&gObjectEvents[objEventId], GetWalkNormalMovementAction(GetPlayerFacingDirection())); task->data[0] = 2; } break; case 2: if (IsPlayerStandingStill()) { - UnfreezeEventObjects(); + UnfreezeObjectEvents(); task->data[0] = 3; } break; @@ -410,14 +409,14 @@ static void Task_ExitNonDoor(u8 taskId) switch (gTasks[taskId].data[0]) { case 0: - FreezeEventObjects(); + FreezeObjectEvents(); ScriptContext2_Enable(); gTasks[taskId].data[0]++; break; case 1: if (WaitForWeatherFadeIn()) { - UnfreezeEventObjects(); + UnfreezeObjectEvents(); ScriptContext2_Disable(); DestroyTask(taskId); } @@ -453,7 +452,7 @@ static void task_mpl_807E3C8(u8 taskId) { ScriptContext2_Disable(); DestroyTask(taskId); - ScriptUnfreezeEventObjects(); + ScriptUnfreezeObjectEvents(); } } @@ -561,7 +560,7 @@ void DoMossdeepGymWarp(void) { sub_8085540(1); ScriptContext2_Enable(); - SaveEventObjects(); + SaveObjectEvents(); TryFadeOutOldMapMusic(); WarpFadeOutScreen(); PlaySE(SE_TK_WARPIN); @@ -651,7 +650,7 @@ static void Task_WarpAndLoadMap(u8 taskId) switch (task->data[0]) { case 0: - FreezeEventObjects(); + FreezeObjectEvents(); ScriptContext2_Enable(); task->data[0]++; break; @@ -684,7 +683,7 @@ static void Task_DoDoorWarp(u8 taskId) switch (task->data[0]) { case 0: - FreezeEventObjects(); + FreezeObjectEvents(); PlayerGetDestCoords(x, y); PlaySE(GetDoorSoundEffect(*x, *y - 1)); task->data[1] = FieldAnimateDoorOpen(*x, *y - 1); @@ -693,21 +692,21 @@ static void Task_DoDoorWarp(u8 taskId) case 1: if (task->data[1] < 0 || gTasks[task->data[1]].isActive != TRUE) { - u8 eventObjId; - eventObjId = GetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0); - EventObjectClearHeldMovementIfActive(&gEventObjects[eventObjId]); - eventObjId = GetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0); - EventObjectSetHeldMovement(&gEventObjects[eventObjId], MOVEMENT_ACTION_WALK_NORMAL_UP); + u8 objEventId; + objEventId = GetObjectEventIdByLocalIdAndMap(OBJ_EVENT_ID_PLAYER, 0, 0); + ObjectEventClearHeldMovementIfActive(&gObjectEvents[objEventId]); + objEventId = GetObjectEventIdByLocalIdAndMap(OBJ_EVENT_ID_PLAYER, 0, 0); + ObjectEventSetHeldMovement(&gObjectEvents[objEventId], MOVEMENT_ACTION_WALK_NORMAL_UP); task->data[0] = 2; } break; case 2: if (IsPlayerStandingStill()) { - u8 eventObjId; + u8 objEventId; task->data[1] = FieldAnimateDoorClose(*x, *y - 1); - eventObjId = GetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0); - EventObjectClearHeldMovementIfFinished(&gEventObjects[eventObjId]); + objEventId = GetObjectEventIdByLocalIdAndMap(OBJ_EVENT_ID_PLAYER, 0, 0); + ObjectEventClearHeldMovementIfFinished(&gObjectEvents[objEventId]); SetPlayerVisibility(FALSE); task->data[0] = 3; } @@ -735,7 +734,7 @@ static void task0A_fade_n_map_maybe(u8 taskId) switch (task->data[0]) { case 0: - FreezeEventObjects(); + FreezeObjectEvents(); ScriptContext2_Enable(); task->data[0]++; break; @@ -1002,7 +1001,7 @@ static void task0A_mpl_807E31C(u8 taskId) switch (gTasks[taskId].data[0]) { case 0: - FreezeEventObjects(); + FreezeObjectEvents(); ScriptContext2_Enable(); sub_808D194(); gTasks[taskId].data[0]++; @@ -1010,7 +1009,7 @@ static void task0A_mpl_807E31C(u8 taskId) case 1: if (WaitForWeatherFadeIn() && sub_808D1B4() != TRUE) { - UnfreezeEventObjects(); + UnfreezeObjectEvents(); ScriptContext2_Disable(); DestroyTask(taskId); } @@ -1025,7 +1024,7 @@ static void sub_80B01BC(u8 taskId) switch (task->data[0]) { case 0: - FreezeEventObjects(); + FreezeObjectEvents(); ScriptContext2_Enable(); PlaySE(SE_TK_WARPIN); sub_808D1C8(); diff --git a/src/field_special_scene.c b/src/field_special_scene.c index 267198f79..540bcd1d4 100644 --- a/src/field_special_scene.c +++ b/src/field_special_scene.c @@ -14,7 +14,7 @@ #include "sprite.h" #include "task.h" #include "constants/event_objects.h" -#include "constants/event_object_movement_constants.h" +#include "constants/event_object_movement.h" #include "constants/field_specials.h" #include "constants/songs.h" #include "constants/vars.h" @@ -283,7 +283,7 @@ void Task_HandlePorthole(u8 taskId) case IDLE_CHECK: if (gMain.newKeys & A_BUTTON) data[1] = 1; - if (!ScriptMovement_IsObjectMovementFinished(EVENT_OBJ_ID_PLAYER, location->mapNum, location->mapGroup)) + if (!ScriptMovement_IsObjectMovementFinished(OBJ_EVENT_ID_PLAYER, location->mapNum, location->mapGroup)) return; if (CountSSTidalStep(1) == TRUE) { @@ -305,12 +305,12 @@ void Task_HandlePorthole(u8 taskId) if (*cruiseState == SS_TIDAL_DEPART_SLATEPORT) { - ScriptMovement_StartObjectMovementScript(EVENT_OBJ_ID_PLAYER, location->mapNum, location->mapGroup, sSSTidalSailEastMovementScript); + ScriptMovement_StartObjectMovementScript(OBJ_EVENT_ID_PLAYER, location->mapNum, location->mapGroup, sSSTidalSailEastMovementScript); data[0] = IDLE_CHECK; } else { - ScriptMovement_StartObjectMovementScript(EVENT_OBJ_ID_PLAYER, location->mapNum, location->mapGroup, sSSTidalSailWestMovementScript); + ScriptMovement_StartObjectMovementScript(OBJ_EVENT_ID_PLAYER, location->mapNum, location->mapGroup, sSSTidalSailWestMovementScript); data[0] = IDLE_CHECK; } break; @@ -326,7 +326,7 @@ void Task_HandlePorthole(u8 taskId) static void ShowSSTidalWhileSailing(void) { - u8 spriteId = AddPseudoEventObject(EVENT_OBJ_GFX_SS_TIDAL, SpriteCallbackDummy, 112, 80, 0); + u8 spriteId = AddPseudoObjectEvent(OBJ_EVENT_GFX_SS_TIDAL, SpriteCallbackDummy, 112, 80, 0); gSprites[spriteId].coordOffsetEnabled = FALSE; @@ -339,7 +339,7 @@ static void ShowSSTidalWhileSailing(void) void FieldCB_ShowPortholeView(void) { ShowSSTidalWhileSailing(); - gEventObjects[gPlayerAvatar.eventObjectId].invisible = TRUE; + gObjectEvents[gPlayerAvatar.objectEventId].invisible = TRUE; FadeInFromBlack(); CreateTask(Task_HandlePorthole, 80); ScriptContext2_Enable(); diff --git a/src/field_specials.c b/src/field_specials.c index 701a03c32..9f1f12a47 100644 --- a/src/field_specials.c +++ b/src/field_specials.c @@ -49,7 +49,7 @@ #include "constants/battle_tower.h" #include "constants/decorations.h" #include "constants/event_objects.h" -#include "constants/event_object_movement_constants.h" +#include "constants/event_object_movement.h" #include "constants/field_effects.h" #include "constants/field_specials.h" #include "constants/items.h" @@ -88,17 +88,17 @@ static EWRAM_DATA u32 sBattleTowerMultiBattleTypeFlags = 0; struct ListMenuTemplate gScrollableMultichoice_ListMenuTemplate; -extern const u16 gEventObjectPalette8[]; -extern const u16 gEventObjectPalette17[]; -extern const u16 gEventObjectPalette33[]; -extern const u16 gEventObjectPalette34[]; +extern const u16 gObjectEventPalette8[]; +extern const u16 gObjectEventPalette17[]; +extern const u16 gObjectEventPalette33[]; +extern const u16 gObjectEventPalette34[]; void TryLoseFansFromPlayTime(void); void SetPlayerGotFirstFans(void); u16 GetNumFansOfPlayerInTrainerFanClub(void); static void RecordCyclingRoadResults(u32, u8); -static void LoadLinkPartnerEventObjectSpritePalette(u8 graphicsId, u8 localEventId, u8 paletteNum); +static void LoadLinkPartnerObjectEventSpritePalette(u8 graphicsId, u8 localEventId, u8 paletteNum); static void Task_PetalburgGymSlideOpenRoomDoors(u8 taskId); static void PetalburgGymSetDoorMetatiles(u8 roomNumber, u16 metatileId); static void Task_PCTurnOnEffect(u8); @@ -522,7 +522,7 @@ u8 GetLinkPartnerNames(void) return nLinkPlayers; } -void SpawnLinkPartnerEventObject(void) +void SpawnLinkPartnerObjectEvent(void) { u8 j = 0; s16 x = 0; @@ -576,25 +576,25 @@ void SpawnLinkPartnerEventObject(void) case VERSION_RUBY: case VERSION_SAPPHIRE: if (gLinkPlayers[i].gender == 0) - linkSpriteId = EVENT_OBJ_GFX_LINK_RS_BRENDAN; + linkSpriteId = OBJ_EVENT_GFX_LINK_RS_BRENDAN; else - linkSpriteId = EVENT_OBJ_GFX_LINK_RS_MAY; + linkSpriteId = OBJ_EVENT_GFX_LINK_RS_MAY; break; case VERSION_EMERALD: if (gLinkPlayers[i].gender == 0) - linkSpriteId = EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL; + linkSpriteId = OBJ_EVENT_GFX_RIVAL_BRENDAN_NORMAL; else - linkSpriteId = EVENT_OBJ_GFX_RIVAL_MAY_NORMAL; + linkSpriteId = OBJ_EVENT_GFX_RIVAL_MAY_NORMAL; break; default: if (gLinkPlayers[i].gender == 0) - linkSpriteId = EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL; + linkSpriteId = OBJ_EVENT_GFX_RIVAL_BRENDAN_NORMAL; else - linkSpriteId = EVENT_OBJ_GFX_RIVAL_MAY_NORMAL; + linkSpriteId = OBJ_EVENT_GFX_RIVAL_MAY_NORMAL; break; } - SpawnSpecialEventObjectParameterized(linkSpriteId, movementTypes[j], 240 - i, coordOffsets[j][0] + x + 7, coordOffsets[j][1] + y + 7, 0); - LoadLinkPartnerEventObjectSpritePalette(linkSpriteId, 240 - i, i); + SpawnSpecialObjectEventParameterized(linkSpriteId, movementTypes[j], 240 - i, coordOffsets[j][0] + x + 7, coordOffsets[j][1] + y + 7, 0); + LoadLinkPartnerObjectEventSpritePalette(linkSpriteId, 240 - i, i); j++; if (j == MAX_LINK_PLAYERS) { @@ -604,36 +604,36 @@ void SpawnLinkPartnerEventObject(void) } } -static void LoadLinkPartnerEventObjectSpritePalette(u8 graphicsId, u8 localEventId, u8 paletteNum) +static void LoadLinkPartnerObjectEventSpritePalette(u8 graphicsId, u8 localEventId, u8 paletteNum) { u8 adjustedPaletteNum; // Note: This temp var is necessary; paletteNum += 6 doesn't match. adjustedPaletteNum = paletteNum + 6; - if (graphicsId == EVENT_OBJ_GFX_LINK_RS_BRENDAN || - graphicsId == EVENT_OBJ_GFX_LINK_RS_MAY || - graphicsId == EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL || - graphicsId == EVENT_OBJ_GFX_RIVAL_MAY_NORMAL) + if (graphicsId == OBJ_EVENT_GFX_LINK_RS_BRENDAN || + graphicsId == OBJ_EVENT_GFX_LINK_RS_MAY || + graphicsId == OBJ_EVENT_GFX_RIVAL_BRENDAN_NORMAL || + graphicsId == OBJ_EVENT_GFX_RIVAL_MAY_NORMAL) { - u8 obj = GetEventObjectIdByLocalIdAndMap(localEventId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); - if (obj != EVENT_OBJECTS_COUNT) + u8 obj = GetObjectEventIdByLocalIdAndMap(localEventId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); + if (obj != OBJECT_EVENTS_COUNT) { - u8 spriteId = gEventObjects[obj].spriteId; + u8 spriteId = gObjectEvents[obj].spriteId; struct Sprite *sprite = &gSprites[spriteId]; sprite->oam.paletteNum = adjustedPaletteNum; switch (graphicsId) { - case EVENT_OBJ_GFX_LINK_RS_BRENDAN: - LoadPalette(gEventObjectPalette33, 0x100 + (adjustedPaletteNum << 4), 0x20); + case OBJ_EVENT_GFX_LINK_RS_BRENDAN: + LoadPalette(gObjectEventPalette33, 0x100 + (adjustedPaletteNum << 4), 0x20); break; - case EVENT_OBJ_GFX_LINK_RS_MAY: - LoadPalette(gEventObjectPalette34, 0x100 + (adjustedPaletteNum << 4), 0x20); + case OBJ_EVENT_GFX_LINK_RS_MAY: + LoadPalette(gObjectEventPalette34, 0x100 + (adjustedPaletteNum << 4), 0x20); break; - case EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL: - LoadPalette(gEventObjectPalette8, 0x100 + (adjustedPaletteNum << 4), 0x20); + case OBJ_EVENT_GFX_RIVAL_BRENDAN_NORMAL: + LoadPalette(gObjectEventPalette8, 0x100 + (adjustedPaletteNum << 4), 0x20); break; - case EVENT_OBJ_GFX_RIVAL_MAY_NORMAL: - LoadPalette(gEventObjectPalette17, 0x100 + (adjustedPaletteNum << 4), 0x20); + case OBJ_EVENT_GFX_RIVAL_MAY_NORMAL: + LoadPalette(gObjectEventPalette17, 0x100 + (adjustedPaletteNum << 4), 0x20); break; } } @@ -1305,15 +1305,15 @@ void IsGrassTypeInParty(void) void SpawnCameraObject(void) { - u8 obj = SpawnSpecialEventObjectParameterized(EVENT_OBJ_GFX_BOY_1, MOVEMENT_TYPE_FACE_DOWN, EVENT_OBJ_ID_CAMERA, gSaveBlock1Ptr->pos.x + 7, gSaveBlock1Ptr->pos.y + 7, 3); - gEventObjects[obj].invisible = TRUE; - CameraObjectSetFollowedObjectId(gEventObjects[obj].spriteId); + u8 obj = SpawnSpecialObjectEventParameterized(OBJ_EVENT_GFX_BOY_1, MOVEMENT_TYPE_FACE_DOWN, OBJ_EVENT_ID_CAMERA, gSaveBlock1Ptr->pos.x + 7, gSaveBlock1Ptr->pos.y + 7, 3); + gObjectEvents[obj].invisible = TRUE; + CameraObjectSetFollowedObjectId(gObjectEvents[obj].spriteId); } void RemoveCameraObject(void) { CameraObjectSetFollowedObjectId(GetPlayerAvatarObjectId()); - RemoveEventObjectByLocalIdAndMap(EVENT_OBJ_ID_CAMERA, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); + RemoveObjectEventByLocalIdAndMap(OBJ_EVENT_ID_CAMERA, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); } u8 GetPokeblockNameByMonNature(void) @@ -1586,9 +1586,9 @@ u16 ScriptGetPartyMonSpecies(void) } // Removed for Emerald -void TryInitBattleTowerAwardManEventObject(void) +void TryInitBattleTowerAwardManObjectEvent(void) { - //TryInitLocalEventObject(6); + //TryInitLocalObjectEvent(6); } u16 GetDaysUntilPacifidlogTMAvailable(void) @@ -2844,11 +2844,11 @@ void SetBattleTowerLinkPlayerGfx(void) { if (gLinkPlayers[i].gender == MALE) { - VarSet(VAR_OBJ_GFX_ID_F - i, EVENT_OBJ_GFX_BRENDAN_NORMAL); + VarSet(VAR_OBJ_GFX_ID_F - i, OBJ_EVENT_GFX_BRENDAN_NORMAL); } else { - VarSet(VAR_OBJ_GFX_ID_F - i, EVENT_OBJ_GFX_RIVAL_MAY_NORMAL); + VarSet(VAR_OBJ_GFX_ID_F - i, OBJ_EVENT_GFX_RIVAL_MAY_NORMAL); } } } @@ -3434,9 +3434,9 @@ static void Task_DeoxysRockInteraction(u8 taskId) static void ChangeDeoxysRockLevel(u8 rockLevel) { - u8 eventObjectId; + u8 objectEventId; LoadPalette(&sDeoxysRockPalettes[rockLevel], 0x1A0, 8); - TryGetEventObjectIdByLocalIdAndMap(1, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, &eventObjectId); + TryGetObjectEventIdByLocalIdAndMap(1, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, &objectEventId); if (rockLevel == 0) PlaySE(SE_W109); @@ -3456,7 +3456,7 @@ static void ChangeDeoxysRockLevel(u8 rockLevel) gFieldEffectArguments[5] = 5; FieldEffectStart(FLDEFF_MOVE_DEOXYS_ROCK); - Overworld_SetEventObjTemplateCoords(1, sDeoxysRockCoords[rockLevel][0], sDeoxysRockCoords[rockLevel][1]); + Overworld_SetObjEventTemplateCoords(1, sDeoxysRockCoords[rockLevel][0], sDeoxysRockCoords[rockLevel][1]); } static void WaitForDeoxysRockMovement(u8 taskId) diff --git a/src/field_weather_effect.c b/src/field_weather_effect.c index 5a48f3434..26a7adf27 100644 --- a/src/field_weather_effect.c +++ b/src/field_weather_effect.c @@ -559,8 +559,7 @@ static void StartRainSpriteFall(struct Sprite *sprite) if (sprite->tRandom == 0) sprite->tRandom = 361; - // Standard RNG sequence. - rand = sprite->tRandom * 1103515245 + 12345; + rand = ISO_RANDOMIZE2(sprite->tRandom); sprite->tRandom = ((rand & 0x7FFF0000) >> 16) % 600; numFallingFrames = sRainSpriteFallingDurations[gWeatherPtr->isDownpour][0]; diff --git a/src/fldeff_cut.c b/src/fldeff_cut.c index a0160344e..88927959e 100644 --- a/src/fldeff_cut.c +++ b/src/fldeff_cut.c @@ -1,5 +1,5 @@ #include "global.h" -#include "event_obj_lock.h" +#include "event_object_lock.h" #include "event_object_movement.h" #include "faraway_island.h" #include "field_camera.h" @@ -145,7 +145,7 @@ bool8 SetUpFieldMove_Cut(void) bool8 cutTiles[CUT_NORMAL_AREA]; bool8 ret; - if (CheckObjectGraphicsInFrontOfPlayer(EVENT_OBJ_GFX_CUTTABLE_TREE) == TRUE) + if (CheckObjectGraphicsInFrontOfPlayer(OBJ_EVENT_GFX_CUTTABLE_TREE) == TRUE) { // Standing in front of cuttable tree. gFieldCallback2 = FieldCallback_PrepareFadeInFromMenu; @@ -580,7 +580,7 @@ static void CutGrassSpriteCallbackEnd(struct Sprite *sprite) FieldEffectStop(&gSprites[sCutGrassSpriteArrayPtr[0]], FLDEFF_CUT_GRASS); FREE_AND_SET_NULL(sCutGrassSpriteArrayPtr); - ScriptUnfreezeEventObjects(); + ScriptUnfreezeObjectEvents(); ScriptContext2_Disable(); if (IsMewPlayingHideAndSeek() == TRUE) diff --git a/src/fldeff_misc.c b/src/fldeff_misc.c index 05fa43338..60d1ea072 100644 --- a/src/fldeff_misc.c +++ b/src/fldeff_misc.c @@ -72,7 +72,7 @@ static const u8 gSpriteImage_858DB78[] = INCBIN_U8("graphics/unknown/858E588/4.4 static const u8 gUnusedEmptySpace_858DBF8[32] = {0}; -static const u16 gFieldEffectObjectPalette7[] = INCBIN_U16("graphics/event_objects/palettes/field_effect_object_palette_07.gbapal"); +static const u16 gFieldEffectObjectPalette7[] = INCBIN_U16("graphics/field_effects/palettes/07.gbapal"); static const u8 gSpriteImage_858DC38[] = INCBIN_U8("graphics/unknown/858E5D8/0.4bpp"); static const u8 gSpriteImage_858DCB8[] = INCBIN_U8("graphics/unknown/858E5D8/1.4bpp"); static const u8 gSpriteImage_858DD38[] = INCBIN_U8("graphics/unknown/858E5D8/2.4bpp"); @@ -84,7 +84,7 @@ static const u8 gSpriteImage_858DFB8[] = INCBIN_U8("graphics/unknown/858E5B0/2.4 static const u8 gSpriteImage_858E038[] = INCBIN_U8("graphics/unknown/858E5B0/3.4bpp"); static const u8 gSpriteImage_858E0B8[] = INCBIN_U8("graphics/unknown/858E5B0/4.4bpp"); static const u8 gSpriteImage_858E138[] = INCBIN_U8("graphics/unknown/858E5B0/5.4bpp"); -static const u16 gFieldEffectObjectPalette8[] = INCBIN_U16("graphics/event_objects/palettes/field_effect_object_palette_08.gbapal"); +static const u16 gFieldEffectObjectPalette8[] = INCBIN_U16("graphics/field_effects/palettes/08.gbapal"); static const u8 gSpriteImage_858E1D8[] = INCBIN_U8("graphics/unknown/858E674/0.4bpp"); static const u8 gSpriteImage_858E2D8[] = INCBIN_U8("graphics/unknown/858E674/1.4bpp"); static const u8 gSpriteImage_858E3D8[] = INCBIN_U8("graphics/unknown/858E674/2.4bpp"); @@ -285,7 +285,7 @@ static const struct SpriteTemplate gUnknown_0858E68C = .callback = SpriteCB_SandPillar_0, }; -// This uses one of the secret base palettes, so there is no "field_effect_object_palette_09.pal" file. +// This uses one of the secret base palettes, so there is no "graphics/field_effects/palettes/09.pal" file. const struct SpritePalette gFieldEffectObjectPaletteInfo9 = {gTilesetPalettes_SecretBase[5], 0x100E}; static const u8 gSpriteImage_858E6AC[] = INCBIN_U8("graphics/unknown/858E84C/0.4bpp"); @@ -319,7 +319,7 @@ static const struct SpriteTemplate gUnknown_0858E880 = { .tileTag = 0xFFFF, .paletteTag = 0x1000, - .oam = &gEventObjectBaseOam_32x8, + .oam = &gObjectEventBaseOam_32x8, .anims = gSpriteAnimTable_858E87C, .images = gUnknown_0858E84C, .affineAnims = gDummySpriteAffineAnimTable, @@ -1004,8 +1004,8 @@ static void SpriteCB_GlitterMatSparkle(struct Sprite *sprite) void DoSecretBaseGlitterMatSparkle(void) { - s16 x = gEventObjects[gPlayerAvatar.eventObjectId].currentCoords.x; - s16 y = gEventObjects[gPlayerAvatar.eventObjectId].currentCoords.y; + s16 x = gObjectEvents[gPlayerAvatar.objectEventId].currentCoords.x; + s16 y = gObjectEvents[gPlayerAvatar.objectEventId].currentCoords.y; u8 spriteId; sub_80930E0(&x, &y, 8, 4); @@ -1231,27 +1231,27 @@ static void Task_WateringBerryTreeAnim_0(u8 taskId) static void Task_WateringBerryTreeAnim_1(u8 taskId) { - struct EventObject *playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId]; + struct ObjectEvent *playerObjEvent = &gObjectEvents[gPlayerAvatar.objectEventId]; - if (!EventObjectIsMovementOverridden(playerEventObj) - || EventObjectClearHeldMovementIfFinished(playerEventObj)) + if (!ObjectEventIsMovementOverridden(playerObjEvent) + || ObjectEventClearHeldMovementIfFinished(playerObjEvent)) { sub_808C228(GetPlayerFacingDirection()); - EventObjectSetHeldMovement(playerEventObj, GetWalkInPlaceNormalMovementAction(GetPlayerFacingDirection())); + ObjectEventSetHeldMovement(playerObjEvent, GetWalkInPlaceNormalMovementAction(GetPlayerFacingDirection())); gTasks[taskId].func = Task_WateringBerryTreeAnim_2; } } static void Task_WateringBerryTreeAnim_2(u8 taskId) { - struct EventObject *playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId]; + struct ObjectEvent *playerObjEvent = &gObjectEvents[gPlayerAvatar.objectEventId]; - if (EventObjectClearHeldMovementIfFinished(playerEventObj)) + if (ObjectEventClearHeldMovementIfFinished(playerObjEvent)) { s16 value = gTasks[taskId].data[1]++; if (value < 10) - EventObjectSetHeldMovement(playerEventObj, GetWalkInPlaceNormalMovementAction(GetPlayerFacingDirection())); + ObjectEventSetHeldMovement(playerObjEvent, GetWalkInPlaceNormalMovementAction(GetPlayerFacingDirection())); else gTasks[taskId].func = Task_WateringBerryTreeAnim_3; diff --git a/src/fldeff_rocksmash.c b/src/fldeff_rocksmash.c index 18cebdf11..614fa6135 100644 --- a/src/fldeff_rocksmash.c +++ b/src/fldeff_rocksmash.c @@ -13,7 +13,7 @@ #include "sound.h" #include "sprite.h" #include "task.h" -#include "constants/event_object_movement_constants.h" +#include "constants/event_object_movement.h" #include "constants/event_objects.h" #include "constants/field_effects.h" #include "constants/map_types.h" @@ -30,18 +30,18 @@ static void sub_8135714(void); // text bool8 CheckObjectGraphicsInFrontOfPlayer(u8 graphicsId) { - u8 eventObjId; + u8 objEventId; GetXYCoordsOneStepInFrontOfPlayer(&gPlayerFacingPosition.x, &gPlayerFacingPosition.y); gPlayerFacingPosition.height = PlayerGetZCoord(); - eventObjId = GetEventObjectIdByXYZ(gPlayerFacingPosition.x, gPlayerFacingPosition.y, gPlayerFacingPosition.height); - if (gEventObjects[eventObjId].graphicsId != graphicsId) + objEventId = GetObjectEventIdByXYZ(gPlayerFacingPosition.x, gPlayerFacingPosition.y, gPlayerFacingPosition.height); + if (gObjectEvents[objEventId].graphicsId != graphicsId) { return FALSE; } else { - gSpecialVar_LastTalked = gEventObjects[eventObjId].localId; + gSpecialVar_LastTalked = gObjectEvents[objEventId].localId; return TRUE; } } @@ -54,13 +54,13 @@ u8 oei_task_add(void) static void task08_080C9820(u8 taskId) { - u8 eventObjId; + u8 objEventId; ScriptContext2_Enable(); gPlayerAvatar.preventStep = TRUE; - eventObjId = gPlayerAvatar.eventObjectId; - if (!EventObjectIsMovementOverridden(&gEventObjects[eventObjId]) - || EventObjectClearHeldMovementIfFinished(&gEventObjects[eventObjId])) + objEventId = gPlayerAvatar.objectEventId; + if (!ObjectEventIsMovementOverridden(&gObjectEvents[objEventId]) + || ObjectEventClearHeldMovementIfFinished(&gObjectEvents[objEventId])) { if (gMapHeader.mapType == MAP_TYPE_UNDERWATER) { @@ -70,7 +70,7 @@ static void task08_080C9820(u8 taskId) else { sub_808C114(); - EventObjectSetHeldMovement(&gEventObjects[eventObjId], MOVEMENT_ACTION_START_ANIM_IN_DIRECTION); + ObjectEventSetHeldMovement(&gObjectEvents[objEventId], MOVEMENT_ACTION_START_ANIM_IN_DIRECTION); gTasks[taskId].func = sub_813552C; } } @@ -78,7 +78,7 @@ static void task08_080C9820(u8 taskId) static void sub_813552C(u8 taskId) { - if (EventObjectCheckHeldMovementStatus(&gEventObjects[gPlayerAvatar.eventObjectId]) == TRUE) + if (ObjectEventCheckHeldMovementStatus(&gObjectEvents[gPlayerAvatar.objectEventId]) == TRUE) { FieldEffectStart(FLDEFF_FIELD_MOVE_SHOW_MON_INIT); gTasks[taskId].func = sub_8135578; @@ -98,7 +98,7 @@ static void sub_8135578(u8 taskId) gFieldEffectArguments[2] = 2; if (gFieldEffectArguments[1] == 4) gFieldEffectArguments[2] = 3; - EventObjectSetGraphicsId(&gEventObjects[gPlayerAvatar.eventObjectId], GetPlayerAvatarGraphicsIdByCurrentState()); + ObjectEventSetGraphicsId(&gObjectEvents[gPlayerAvatar.objectEventId], GetPlayerAvatarGraphicsIdByCurrentState()); StartSpriteAnim(&gSprites[gPlayerAvatar.spriteId], gFieldEffectArguments[2]); FieldEffectActiveListRemove(6); gTasks[taskId].func = sub_813561C; @@ -125,7 +125,7 @@ bool8 SetUpFieldMove_RockSmash(void) gPostMenuFieldCallback = SetUpPuzzleEffectRegirock; return TRUE; } - else if (CheckObjectGraphicsInFrontOfPlayer(EVENT_OBJ_GFX_BREAKABLE_ROCK) == TRUE) + else if (CheckObjectGraphicsInFrontOfPlayer(OBJ_EVENT_GFX_BREAKABLE_ROCK) == TRUE) { gFieldCallback2 = FieldCallback_PrepareFadeInFromMenu; gPostMenuFieldCallback = sub_81356C4; diff --git a/src/fldeff_strength.c b/src/fldeff_strength.c index 47fc7061c..f479ef68d 100644 --- a/src/fldeff_strength.c +++ b/src/fldeff_strength.c @@ -17,7 +17,7 @@ static void sub_8145E74(void); // text bool8 SetUpFieldMove_Strength(void) { - if (CheckObjectGraphicsInFrontOfPlayer(EVENT_OBJ_GFX_PUSHABLE_BOULDER) == TRUE) + if (CheckObjectGraphicsInFrontOfPlayer(OBJ_EVENT_GFX_PUSHABLE_BOULDER) == TRUE) { gSpecialVar_Result = GetCursorSelectionMonId(); gFieldCallback2 = FieldCallback_PrepareFadeInFromMenu; diff --git a/src/frontier_util.c b/src/frontier_util.c index 3efbf57f9..f46c60391 100644 --- a/src/frontier_util.c +++ b/src/frontier_util.c @@ -71,7 +71,7 @@ static void RestoreHeldItems(void); static void SaveRecordBattle(void); static void BufferFrontierTrainerName(void); static void ResetSketchedMoves(void); -static void SetFacilityBrainEventObject(void); +static void SetFacilityBrainObjectEvent(void); static void ShowTowerResultsWindow(u8); static void ShowDomeResultsWindow(u8); static void ShowPalaceResultsWindow(u8); @@ -628,7 +628,7 @@ static void (* const sFrontierUtilFuncs[])(void) = [FRONTIER_UTIL_FUNC_SAVE_BATTLE] = SaveRecordBattle, [FRONTIER_UTIL_FUNC_BUFFER_TRAINER_NAME] = BufferFrontierTrainerName, [FRONTIER_UTIL_FUNC_RESET_SKETCH_MOVES] = ResetSketchedMoves, - [FRONTIER_UTIL_FUNC_SET_BRAIN_OBJECT] = SetFacilityBrainEventObject, + [FRONTIER_UTIL_FUNC_SET_BRAIN_OBJECT] = SetFacilityBrainObjectEvent, }; static const struct WindowTemplate sFrontierResultsWindowTemplate = @@ -667,13 +667,13 @@ static const struct WindowTemplate sRankingHallRecordsWindowTemplate = // Second field - whether the character is female. static const u8 sFrontierBrainObjEventGfx[NUM_FRONTIER_FACILITIES][2] = { - [FRONTIER_FACILITY_TOWER] = {EVENT_OBJ_GFX_ANABEL, TRUE}, - [FRONTIER_FACILITY_DOME] = {EVENT_OBJ_GFX_TUCKER, FALSE}, - [FRONTIER_FACILITY_PALACE] = {EVENT_OBJ_GFX_SPENSER, FALSE}, - [FRONTIER_FACILITY_ARENA] = {EVENT_OBJ_GFX_GRETA, TRUE}, - [FRONTIER_FACILITY_FACTORY] = {EVENT_OBJ_GFX_NOLAND, FALSE}, - [FRONTIER_FACILITY_PIKE] = {EVENT_OBJ_GFX_LUCY, TRUE}, - [FRONTIER_FACILITY_PYRAMID] = {EVENT_OBJ_GFX_BRANDON, FALSE}, + [FRONTIER_FACILITY_TOWER] = {OBJ_EVENT_GFX_ANABEL, TRUE}, + [FRONTIER_FACILITY_DOME] = {OBJ_EVENT_GFX_TUCKER, FALSE}, + [FRONTIER_FACILITY_PALACE] = {OBJ_EVENT_GFX_SPENSER, FALSE}, + [FRONTIER_FACILITY_ARENA] = {OBJ_EVENT_GFX_GRETA, TRUE}, + [FRONTIER_FACILITY_FACTORY] = {OBJ_EVENT_GFX_NOLAND, FALSE}, + [FRONTIER_FACILITY_PIKE] = {OBJ_EVENT_GFX_LUCY, TRUE}, + [FRONTIER_FACILITY_PYRAMID] = {OBJ_EVENT_GFX_BRANDON, FALSE}, }; const u16 gFrontierBannedSpecies[] = @@ -2214,9 +2214,9 @@ static void ResetSketchedMoves(void) } } -static void SetFacilityBrainEventObject(void) +static void SetFacilityBrainObjectEvent(void) { - SetFrontierBrainEventObjGfx(VarGet(VAR_FRONTIER_FACILITY)); + SetFrontierBrainObjEventGfx(VarGet(VAR_FRONTIER_FACILITY)); } // Battle Frontier Ranking Hall records. @@ -2478,7 +2478,7 @@ bool8 IsFrontierBrainFemale(void) return sFrontierBrainObjEventGfx[facility][1]; } -void SetFrontierBrainEventObjGfx_2(void) +void SetFrontierBrainObjEventGfx_2(void) { s32 facility = VarGet(VAR_FRONTIER_FACILITY); VarSet(VAR_OBJ_GFX_ID_0, sFrontierBrainObjEventGfx[facility][0]); @@ -2781,7 +2781,7 @@ u16 GetFrontierBrainMonSpecies(u8 monId) return sFrontierBrainsMons[facility][symbol][monId].species; } -void SetFrontierBrainEventObjGfx(u8 facility) +void SetFrontierBrainObjEventGfx(u8 facility) { gTrainerBattleOpponent_A = TRAINER_FRONTIER_BRAIN; VarSet(VAR_OBJ_GFX_ID_0, sFrontierBrainObjEventGfx[facility][0]); diff --git a/src/graphics.c b/src/graphics.c index 82d6701ef..eaa4bb470 100644 --- a/src/graphics.c +++ b/src/graphics.c @@ -4,10 +4,10 @@ const u32 gBattleTextboxTiles[] = INCBIN_U32("graphics/battle_interface/textbox. const u32 gBattleTextboxPalette[] = INCBIN_U32("graphics/battle_interface/textbox.gbapal.lz"); const u32 gBattleTextboxTilemap[] = INCBIN_U32("graphics/battle_interface/textbox_map.bin.lz"); -const u32 gMonStillFrontPic_CircledQuestionMark[] = INCBIN_U32("graphics/pokemon/circled_question_mark/front.4bpp.lz"); -const u32 gMonBackPic_CircledQuestionMark[] = INCBIN_U32("graphics/pokemon/circled_question_mark/back.4bpp.lz"); -const u32 gMonPalette_CircledQuestionMark[] = INCBIN_U32("graphics/pokemon/circled_question_mark/normal.gbapal.lz"); -const u32 gMonShinyPalette_CircledQuestionMark[] = INCBIN_U32("graphics/pokemon/circled_question_mark/shiny.gbapal.lz"); +const u32 gMonStillFrontPic_CircledQuestionMark[] = INCBIN_U32("graphics/pokemon/question_mark/circled/front.4bpp.lz"); +const u32 gMonBackPic_CircledQuestionMark[] = INCBIN_U32("graphics/pokemon/question_mark/circled/back.4bpp.lz"); +const u32 gMonPalette_CircledQuestionMark[] = INCBIN_U32("graphics/pokemon/question_mark/circled/normal.gbapal.lz"); +const u32 gMonShinyPalette_CircledQuestionMark[] = INCBIN_U32("graphics/pokemon/question_mark/circled/shiny.gbapal.lz"); const u32 gUnusedGfx_OldCharmap[] = INCBIN_U32("graphics/unused/old_charmap.4bpp.lz"); // japanese table and bunch of stuff const u32 gUnusedTimemap_OldCharmap[] = INCBIN_U32("graphics/unused/old_charmap.bin.lz"); @@ -732,9 +732,9 @@ const u32 gBattleAnimSpritePal_PinkHeart[] = INCBIN_U32("graphics/battle_anims/s const u32 gBattleAnimSpritePal_MagentaHeart[] = INCBIN_U32("graphics/battle_anims/sprites/magenta_heart.gbapal.lz"); const u32 gBattleAnimSpritePal_RedHeart[] = INCBIN_U32("graphics/battle_anims/sprites/red_heart.gbapal.lz"); -const u32 gUnknown_08C232E0[] = INCBIN_U32("graphics/battle_anims/backgrounds/attract.4bpp.lz"); -const u32 gUnknown_08C23D50[] = INCBIN_U32("graphics/battle_anims/backgrounds/attract.gbapal.lz"); -const u32 gUnknown_08C23D78[] = INCBIN_U32("graphics/battle_anims/backgrounds/attract.bin.lz"); +const u32 gBattleAnimBgImage_Attract[] = INCBIN_U32("graphics/battle_anims/backgrounds/attract.4bpp.lz"); +const u32 gBattleAnimBgPalette_Attract[] = INCBIN_U32("graphics/battle_anims/backgrounds/attract.gbapal.lz"); +const u32 gBattleAnimBgTilemap_Attract[] = INCBIN_U32("graphics/battle_anims/backgrounds/attract.bin.lz"); const u32 gBattleAnimSpriteGfx_RedOrb[] = INCBIN_U32("graphics/battle_anims/sprites/red_orb.4bpp.lz"); const u32 gBattleAnimSpritePal_RedOrb[] = INCBIN_U32("graphics/battle_anims/sprites/red_orb.gbapal.lz"); @@ -750,8 +750,8 @@ const u32 gBattleAnimSpriteGfx_Finger2[] = INCBIN_U32("graphics/battle_anims/spr const u32 gBattleAnimSpriteGfx_MovementWaves[] = INCBIN_U32("graphics/battle_anims/sprites/movement_waves.4bpp.lz"); const u32 gBattleAnimSpritePal_MovementWaves[] = INCBIN_U32("graphics/battle_anims/sprites/movement_waves.gbapal.lz"); -const u32 gUnknown_08C249D0[] = INCBIN_U32("graphics/battle_anims/backgrounds/scary_face.gbapal.lz"); -const u32 gUnknown_08C249F8[] = INCBIN_U32("graphics/battle_anims/backgrounds/scary_face.4bpp.lz"); +const u32 gBattleAnimBgPalette_ScaryFace[] = INCBIN_U32("graphics/battle_anims/backgrounds/scary_face.gbapal.lz"); +const u32 gBattleAnimBgImage_ScaryFace[] = INCBIN_U32("graphics/battle_anims/backgrounds/scary_face.4bpp.lz"); const u32 gBattleAnimSpritePal_EyeSparkle[] = INCBIN_U32("graphics/battle_anims/sprites/eye_sparkle.gbapal.lz"); const u32 gBattleAnimSpriteGfx_EyeSparkle[] = INCBIN_U32("graphics/battle_anims/sprites/eye_sparkle.4bpp.lz"); @@ -844,9 +844,9 @@ const u32 gBattleAnimBgPalette_Bug[] = INCBIN_U32("graphics/battle_anims/backgro const u32 gBattleAnimBgImage_Highspeed[] = INCBIN_U32("graphics/battle_anims/backgrounds/highspeed.4bpp.lz"); const u32 gBattleAnimBgTilemap_HighspeedPlayer[] = INCBIN_U32("graphics/battle_anims/backgrounds/highspeed_player.bin.lz"); -const u32 gUnknown_08C2A634[] = INCBIN_U32("graphics/battle_anims/masks/morning_sun.4bpp.lz"); -const u32 gUnknown_08C2A6D4[] = INCBIN_U32("graphics/battle_anims/masks/morning_sun.gbapal.lz"); -const u32 gUnknown_08C2A6EC[] = INCBIN_U32("graphics/battle_anims/masks/morning_sun.bin.lz"); +const u32 gBattleAnimMaskImage_LightBeam[] = INCBIN_U32("graphics/battle_anims/masks/light_beam.4bpp.lz"); +const u32 gBattleAnimMaskPalette_LightBeam[] = INCBIN_U32("graphics/battle_anims/masks/light_beam.gbapal.lz"); +const u32 gBattleAnimMaskTilemap_LightBeam[] = INCBIN_U32("graphics/battle_anims/masks/light_beam.bin.lz"); const u32 gBattleAnimBgTilemap_GuillotineOpponent[] = INCBIN_U32("graphics/battle_anims/backgrounds/guillotine_opponent.bin.lz"); const u32 gBattleAnimBgTilemap_GuillotinePlayer[] = INCBIN_U32("graphics/battle_anims/backgrounds/guillotine_player.bin.lz"); @@ -1001,8 +1001,8 @@ const u32 gUnknown_08D85A1C[] = INCBIN_U32("graphics/battle_frontier/battle_tile const u32 gBattleAnimSpriteGfx_FlyingDirt[] = INCBIN_U32("graphics/battle_anims/sprites/flying_dirt.4bpp.lz"); -const u32 gUnknown_08D8D410[] = INCBIN_U32("graphics/battle_anims/backgrounds/sandstorm_brew.bin.lz"); -const u32 gUnknown_08D8D58C[] = INCBIN_U32("graphics/battle_anims/backgrounds/sandstorm_brew.4bpp.lz"); +const u32 gBattleAnimBgTilemap_Sandstorm[] = INCBIN_U32("graphics/battle_anims/backgrounds/sandstorm_brew.bin.lz"); +const u32 gBattleAnimBgImage_Sandstorm[] = INCBIN_U32("graphics/battle_anims/backgrounds/sandstorm_brew.4bpp.lz"); const u32 gBattleAnimSpritePal_FlyingDirt[] = INCBIN_U32("graphics/battle_anims/sprites/flying_dirt.gbapal.lz"); @@ -1121,11 +1121,9 @@ const u32 gBattleAnimSpritePal_CrossImpact[] = INCBIN_U32("graphics/battle_anims const u32 gBattleAnimBgImage_Surf[] = INCBIN_U32("graphics/battle_anims/backgrounds/water.4bpp.lz"); const u32 gBattleAnimBgPalette_Surf[] = INCBIN_U32("graphics/battle_anims/backgrounds/water.gbapal.lz"); -const u32 gUnknown_08D95E00[] = INCBIN_U32("graphics/unknown/unknown_D95E00.bin.lz"); - -const u32 gUnknown_08D960D0[] = INCBIN_U32("graphics/unknown/unknown_D960D0.bin.lz"); - -const u32 gUnknown_08D963A4[] = INCBIN_U32("graphics/unknown/unknown_D963A4.bin.lz"); +const u32 gBattleAnimBgTilemap_SurfOpponent[] = INCBIN_U32("graphics/battle_anims/backgrounds/water_opponent.bin.lz"); +const u32 gBattleAnimBgTilemap_SurfPlayer[] = INCBIN_U32("graphics/battle_anims/backgrounds/water_player.bin.lz"); +const u32 gBattleAnimBgTilemap_SurfContest[] = INCBIN_U32("graphics/battle_anims/backgrounds/water_contest.bin.lz"); const u32 gBattleAnimSpritePal_Slash2[] = INCBIN_U32("graphics/battle_anims/sprites/slash_2.gbapal.lz"); @@ -1418,27 +1416,21 @@ const u16 gUsePokeblockNatureWin_Pal[] = INCBIN_U16("graphics/pokeblock/use_scre #include "data/graphics/slot_machine.h" -const u16 gUnknown_08DD19F8[] = INCBIN_U16("graphics/unknown/unknown_DD19F8.bin"); - -const u8 gUnknown_08DD1A18[] = INCBIN_U8("graphics/unknown/unknown_DD1A18.4bpp"); - // trainer card -const u16 gEmeraldTrainerCard0Star_Pal[] = INCBIN_U16("graphics/trainer_card/0star.gbapal"); -const u32 gEmeraldTrainerCard_Gfx[] = INCBIN_U32("graphics/trainer_card/card.4bpp.lz"); +const u16 gHoennTrainerCard0Star_Pal[] = INCBIN_U16("graphics/trainer_card/0star.gbapal"); +const u32 gHoennTrainerCard_Gfx[] = INCBIN_U32("graphics/trainer_card/card.4bpp.lz"); +const u32 gHoennTrainerCardBg_Tilemap[] = INCBIN_U32("graphics/trainer_card/bg.bin.lz"); +const u32 gHoennTrainerCardFront_Tilemap[] = INCBIN_U32("graphics/trainer_card/front.bin.lz"); +const u32 gHoennTrainerCardBack_Tilemap[] = INCBIN_U32("graphics/trainer_card/back.bin.lz"); +const u32 gHoennTrainerCardFrontLink_Tilemap[] = INCBIN_U32("graphics/trainer_card/front_link.bin.lz"); -const u32 gUnknown_08DD1F78[] = INCBIN_U32("graphics/unknown/unknown_DD1F78.bin.lz"); -const u32 gUnknown_08DD2010[] = INCBIN_U32("graphics/unknown/unknown_DD2010.bin.lz"); -const u32 gUnknown_08DD21B0[] = INCBIN_U32("graphics/unknown/unknown_DD21B0.bin.lz"); -const u32 gUnknown_08DD228C[] = INCBIN_U32("graphics/unknown/unknown_DD228C.bin.lz"); - -const u16 gFireRedTrainerCard0Star_Pal[] = INCBIN_U16("graphics/trainer_card/0star_fr.gbapal"); -const u32 gFireRedTrainerCard_Gfx[] = INCBIN_U32("graphics/trainer_card/card_fr.4bpp.lz"); - -const u32 gUnknown_08DD2AE0[] = INCBIN_U32("graphics/unknown/unknown_DD2AE0.bin.lz"); -const u32 gUnknown_08DD2B78[] = INCBIN_U32("graphics/unknown/unknown_DD2B78.bin.lz"); -const u32 gUnknown_08DD2D30[] = INCBIN_U32("graphics/unknown/unknown_DD2D30.bin.lz"); -const u32 gUnknown_08DD2E5C[] = INCBIN_U32("graphics/unknown/unknown_DD2E5C.bin.lz"); +const u16 gKantoTrainerCard0Star_Pal[] = INCBIN_U16("graphics/trainer_card/0star_fr.gbapal"); +const u32 gKantoTrainerCard_Gfx[] = INCBIN_U32("graphics/trainer_card/card_fr.4bpp.lz"); +const u32 gKantoTrainerCardBg_Tilemap[] = INCBIN_U32("graphics/trainer_card/bg_fr.bin.lz"); +const u32 gKantoTrainerCardFront_Tilemap[] = INCBIN_U32("graphics/trainer_card/front_fr.bin.lz"); +const u32 gKantoTrainerCardBack_Tilemap[] = INCBIN_U32("graphics/trainer_card/back_fr.bin.lz"); +const u32 gKantoTrainerCardFrontLink_Tilemap[] = INCBIN_U32("graphics/trainer_card/front_link_fr.bin.lz"); // pokemon storage system @@ -1582,8 +1574,7 @@ const u32 gUnknown_08DE3060[] = INCBIN_U32("graphics/frontier_pass/tiles.bin.lz" const u16 gUnknown_08DE3350[] = INCBIN_U16("graphics/frontier_pass/tilemap1.bin"); const u16 gUnknown_08DE3374[] = INCBIN_U16("graphics/frontier_pass/tilemap2.bin"); -// berry crusher - +// Berry Crush const u16 gUnknown_08DE3398[] = INCBIN_U16("graphics/berry_crusher/tiles.gbapal"); const u32 gUnknown_08DE34B8[] = INCBIN_U32("graphics/berry_crusher/tiles.4bpp.lz"); const u32 gUnknown_08DE3FD4[] = INCBIN_U32("graphics/berry_crusher/tiles.bin.lz"); diff --git a/src/intro.c b/src/intro.c index 7c2303dcc..72aefd737 100644 --- a/src/intro.c +++ b/src/intro.c @@ -90,7 +90,7 @@ extern const struct CompressedSpriteSheet gBattleAnimPicTable[]; extern const struct CompressedSpritePalette gBattleAnimPaletteTable[]; -extern const struct SpriteTemplate gUnknown_08596C10[]; +extern const struct SpriteTemplate gAncientPowerRockSpriteTemplate[]; //ewram EWRAM_DATA u16 gIntroCharacterGender = 0; @@ -1782,7 +1782,7 @@ static void CreateGroudonRockSprites(u8 a0) for (i = 0; i < 6; i++) { - spriteId = CreateSprite(gUnknown_08596C10, gIntroGroudonRockData[i][0], 0xA0, i); + spriteId = CreateSprite(gAncientPowerRockSpriteTemplate, gIntroGroudonRockData[i][0], 0xA0, i); gSprites[spriteId].callback = SpriteCB_IntroGroudonRocks; gSprites[spriteId].oam.priority = 0; gSprites[spriteId].data[1] = i; diff --git a/src/item_menu.c b/src/item_menu.c index a195488c6..fe381516c 100755 --- a/src/item_menu.c +++ b/src/item_menu.c @@ -107,13 +107,13 @@ void Task_ActuallyToss(u8); void ItemMenu_Cancel(u8); void sub_81AD350(u8); void BagMenu_PrintItemCantBeHeld(u8); -void bag_menu_AddMoney_window(void); -void sub_81AD680(u8); +void DisplayCurrentMoneyWindow(void); +void DisplaySellItemPriceAndConfirm(u8); void sub_81AD730(u8); void sub_81AD6E4(u8); void bag_menu_remove_money_window(void); void bag_menu_RemoveBagItem_message_window(u8); -void sub_81AD794(u8); +void Task_BuyHowManyDialogueHandleInput(u8); void sub_81AD8C8(u8); void sub_81AD9C0(u8); void sub_81ADB14(u8); @@ -257,7 +257,7 @@ const struct YesNoFuncTable sYesNoSellItemFunctions = {BagMenu_ConfirmSell, BagM const struct ScrollArrowsTemplate gBagScrollArrowsTemplate = {SCROLL_ARROW_LEFT, 0x1C, 16, SCROLL_ARROW_RIGHT, 100, 16, -1, -1, 0x6F, 0x6F, 0}; -const u8 gUnknown_086140A4[] = INCBIN_U8("graphics/interface/select_button.4bpp"); +const u8 gRegisteredSelect_Gfx[] = INCBIN_U8("graphics/interface/select_button.4bpp"); static const u8 sFontColorTable[][3] = { // bgColor, textColor, shadowColor @@ -556,6 +556,8 @@ void vblank_cb_bag_menu(void) TransferPlttBuffer(); } +#define tItemCount data[8] + void CB2_Bag(void) { while(sub_81221EC() != TRUE && SetupBagMenu() != TRUE && sub_81221AC() != TRUE) {}; @@ -636,7 +638,7 @@ bool8 SetupBagMenu(void) taskId = sub_81AB1F0(gBagPositionStruct.location); gTasks[taskId].data[0] = ListMenuInit(&gMultiuseListMenuTemplate, gBagPositionStruct.scrollPosition[gBagPositionStruct.pocket], gBagPositionStruct.cursorPosition[gBagPositionStruct.pocket]); gTasks[taskId].data[3] = 0; - gTasks[taskId].data[8] = 0; + gTasks[taskId].tItemCount = 0; gMain.state++; break; case 15: @@ -867,7 +869,7 @@ void PrintItemQuantityPlusGFX(u8 rboxId, s32 item_index_in_pocket, u8 a) else { if (gSaveBlock1Ptr->registeredItem && gSaveBlock1Ptr->registeredItem == itemId) - BlitBitmapToWindow(rboxId, gUnknown_086140A4, 0x60, a - 1, 0x18, 16); + BlitBitmapToWindow(rboxId, gRegisteredSelect_Gfx, 0x60, a - 1, 0x18, 16); } } } @@ -1662,7 +1664,7 @@ void ItemMenu_Toss(u8 taskId) s16* data = gTasks[taskId].data; BagMenu_RemoveSomeWindow(); - data[8] = 1; + tItemCount = 1; if (data[2] == 1) { BagMenu_TossItems(taskId); @@ -1683,7 +1685,7 @@ void BagMenu_TossItems(u8 taskId) s16* data = gTasks[taskId].data; CopyItemName(gSpecialVar_ItemId, gStringVar1); - ConvertIntToDecimalStringN(gStringVar2, data[8], STR_CONV_MODE_LEFT_ALIGN, 3); + ConvertIntToDecimalStringN(gStringVar2, tItemCount, STR_CONV_MODE_LEFT_ALIGN, 3); StringExpandPlaceholders(gStringVar4, gText_ConfirmTossItems); FillWindowPixelBuffer(1, PIXEL_FILL(0)); BagMenu_Print(1, 1, gStringVar4, 3, 1, 0, 0, 0, 0); @@ -1703,9 +1705,9 @@ void Task_ChooseHowManyToToss(u8 taskId) { s16* data = gTasks[taskId].data; - if (AdjustQuantityAccordingToDPadInput(&data[8], data[2]) == TRUE) + if (AdjustQuantityAccordingToDPadInput(&tItemCount, data[2]) == TRUE) { - PrintItemDepositAmount(gBagMenu->unk817, data[8]); + PrintItemDepositAmount(gBagMenu->unk817, tItemCount); } else if (gMain.newKeys & A_BUTTON) { @@ -1726,7 +1728,7 @@ void BagMenu_ConfirmToss(u8 taskId) s16* data = gTasks[taskId].data; CopyItemName(gSpecialVar_ItemId, gStringVar1); - ConvertIntToDecimalStringN(gStringVar2, data[8], STR_CONV_MODE_LEFT_ALIGN, 3); + ConvertIntToDecimalStringN(gStringVar2, tItemCount, STR_CONV_MODE_LEFT_ALIGN, 3); StringExpandPlaceholders(gStringVar4, gText_ThrewAwayVar2Var1s); FillWindowPixelBuffer(1, PIXEL_FILL(0)); BagMenu_Print(1, 1, gStringVar4, 3, 1, 0, 0, 0, 0); @@ -1742,7 +1744,7 @@ void Task_ActuallyToss(u8 taskId) if (gMain.newKeys & (A_BUTTON | B_BUTTON)) { PlaySE(SE_SELECT); - RemoveBagItem(gSpecialVar_ItemId, data[8]); + RemoveBagItem(gSpecialVar_ItemId, tItemCount); DestroyListMenuTask(data[0], scrollPos, cursorPos); UpdatePocketItemList(gBagPositionStruct.pocket); SetInitialScrollAndCursorPositions(gBagPositionStruct.pocket); @@ -1893,7 +1895,7 @@ bool8 UseRegisteredKeyItemOnField(void) if (CheckBagHasItem(gSaveBlock1Ptr->registeredItem, 1) == TRUE) { ScriptContext2_Enable(); - FreezeEventObjects(); + FreezeObjectEvents(); sub_808B864(); sub_808BCF4(); gSpecialVar_ItemId = gSaveBlock1Ptr->registeredItem; @@ -1924,11 +1926,11 @@ void DisplaySellItemAskString(u8 taskId) } else { - data[8] = 1; + tItemCount = 1; if (data[2] == 1) { - bag_menu_AddMoney_window(); - sub_81AD680(taskId); + DisplayCurrentMoneyWindow(); + DisplaySellItemPriceAndConfirm(taskId); } else { @@ -1939,11 +1941,11 @@ void DisplaySellItemAskString(u8 taskId) } } -void sub_81AD680(u8 taskId) +void DisplaySellItemPriceAndConfirm(u8 taskId) { s16* data = gTasks[taskId].data; - ConvertIntToDecimalStringN(gStringVar1, (ItemId_GetPrice(gSpecialVar_ItemId) / 2) * data[8], STR_CONV_MODE_LEFT_ALIGN, 6); + ConvertIntToDecimalStringN(gStringVar1, (ItemId_GetPrice(gSpecialVar_ItemId) / 2) * tItemCount, STR_CONV_MODE_LEFT_ALIGN, 6); StringExpandPlaceholders(gStringVar4, gText_ICanPayVar1); DisplayItemMessage(taskId, 1, gStringVar4, sub_81AD6E4); } @@ -1968,24 +1970,24 @@ void sub_81AD730(u8 taskId) s16* data = gTasks[taskId].data; u8 windowId = BagMenu_AddWindow(8); - PrintItemSoldAmount(windowId, 1, (ItemId_GetPrice(gSpecialVar_ItemId) / 2) * data[8]); - bag_menu_AddMoney_window(); - gTasks[taskId].func = sub_81AD794; + PrintItemSoldAmount(windowId, 1, (ItemId_GetPrice(gSpecialVar_ItemId) / 2) * tItemCount); + DisplayCurrentMoneyWindow(); + gTasks[taskId].func = Task_BuyHowManyDialogueHandleInput; } -void sub_81AD794(u8 taskId) +void Task_BuyHowManyDialogueHandleInput(u8 taskId) { s16* data = gTasks[taskId].data; - if (AdjustQuantityAccordingToDPadInput(&data[8], data[2]) == TRUE) + if (AdjustQuantityAccordingToDPadInput(&tItemCount, data[2]) == TRUE) { - PrintItemSoldAmount(gBagMenu->unk818, data[8], (ItemId_GetPrice(gSpecialVar_ItemId) / 2) * data[8]); + PrintItemSoldAmount(gBagMenu->unk818, tItemCount, (ItemId_GetPrice(gSpecialVar_ItemId) / 2) * tItemCount); } else if (gMain.newKeys & A_BUTTON) { PlaySE(SE_SELECT); BagMenu_RemoveWindow(8); - sub_81AD680(taskId); + DisplaySellItemPriceAndConfirm(taskId); } else if (gMain.newKeys & B_BUTTON) { @@ -2003,7 +2005,7 @@ void BagMenu_ConfirmSell(u8 taskId) s16* data = gTasks[taskId].data; CopyItemName(gSpecialVar_ItemId, gStringVar2); - ConvertIntToDecimalStringN(gStringVar1, (ItemId_GetPrice(gSpecialVar_ItemId) / 2) * data[8], STR_CONV_MODE_LEFT_ALIGN, 6); + ConvertIntToDecimalStringN(gStringVar1, (ItemId_GetPrice(gSpecialVar_ItemId) / 2) * tItemCount, STR_CONV_MODE_LEFT_ALIGN, 6); StringExpandPlaceholders(gStringVar4, gText_TurnedOverVar1ForVar2); DisplayItemMessage(taskId, 1, gStringVar4, sub_81AD8C8); } @@ -2015,8 +2017,8 @@ void sub_81AD8C8(u8 taskId) u16* cursorPos = &gBagPositionStruct.cursorPosition[gBagPositionStruct.pocket]; PlaySE(SE_REGI); - RemoveBagItem(gSpecialVar_ItemId, data[8]); - AddMoney(&gSaveBlock1Ptr->money, (ItemId_GetPrice(gSpecialVar_ItemId) / 2) * data[8]); + RemoveBagItem(gSpecialVar_ItemId, tItemCount); + AddMoney(&gSaveBlock1Ptr->money, (ItemId_GetPrice(gSpecialVar_ItemId) / 2) * tItemCount); DestroyListMenuTask(data[0], scrollPos, cursorPos); UpdatePocketItemList(gBagPositionStruct.pocket); SetInitialScrollAndCursorPositions(gBagPositionStruct.pocket); @@ -2041,7 +2043,7 @@ void DisplayDepositItemAskString(u8 taskId) { s16* data = gTasks[taskId].data; - data[8] = 1; + tItemCount = 1; if (data[2] == 1) { sub_81ADB14(taskId); @@ -2061,9 +2063,9 @@ void sub_81ADA7C(u8 taskId) { s16* data = gTasks[taskId].data; - if (AdjustQuantityAccordingToDPadInput(&data[8], data[2]) == TRUE) + if (AdjustQuantityAccordingToDPadInput(&tItemCount, data[2]) == TRUE) { - PrintItemDepositAmount(gBagMenu->unk817, data[8]); + PrintItemDepositAmount(gBagMenu->unk817, tItemCount); } else if (gMain.newKeys & A_BUTTON) { @@ -2091,10 +2093,10 @@ void sub_81ADB14(u8 taskId) BagMenu_Print(1, 1, gText_CantStoreImportantItems, 3, 1, 0, 0, 0, 0); gTasks[taskId].func = sub_81ADC0C; } - else if (AddPCItem(gSpecialVar_ItemId, data[8]) == TRUE) + else if (AddPCItem(gSpecialVar_ItemId, tItemCount) == TRUE) { CopyItemName(gSpecialVar_ItemId, gStringVar1); - ConvertIntToDecimalStringN(gStringVar2, data[8], STR_CONV_MODE_LEFT_ALIGN, 3); + ConvertIntToDecimalStringN(gStringVar2, tItemCount, STR_CONV_MODE_LEFT_ALIGN, 3); StringExpandPlaceholders(gStringVar4, gText_DepositedVar2Var1s); BagMenu_Print(1, 1, gStringVar4, 3, 1, 0, 0, 0, 0); gTasks[taskId].func = Task_ActuallyToss; @@ -2201,6 +2203,8 @@ void Task_WallyTutorialBagMenu(u8 taskId) } } +#undef tItemCount + void unknown_ItemMenu_Show(u8 taskId) { gSpecialVar_0x8005 = gSpecialVar_ItemId; @@ -2302,6 +2306,7 @@ void BagMenu_Print(u8 windowId, u8 fontId, const u8 *str, u8 left, u8 top, u8 le AddTextPrinterParameterized4(windowId, fontId, left, top, letterSpacing, lineSpacing, sFontColorTable[h], speed, str); } +//Unused u8 sub_81AE124(u8 a) { return gBagMenu->windowPointers[a]; @@ -2359,7 +2364,7 @@ void BagMenu_YesNo(u8 a, u8 b, const struct YesNoFuncTable *funcTable) CreateYesNoMenuWithCallbacks(a, &gUnknown_086141AC[b], 1, 0, 2, 1, 14, funcTable); } -void bag_menu_AddMoney_window(void) +void DisplayCurrentMoneyWindow(void) { u8 windowId = BagMenu_AddWindow(9); PrintMoneyAmountInMoneyBoxWithBorder(windowId, 1, 14, GetMoney(&gSaveBlock1Ptr->money)); diff --git a/src/item_use.c b/src/item_use.c index b352079cf..954d4b26f 100755 --- a/src/item_use.c +++ b/src/item_use.c @@ -9,6 +9,7 @@ #include "coins.h" #include "data.h" #include "event_data.h" +#include "event_object_lock.h" #include "event_object_movement.h" #include "event_scripts.h" #include "fieldmap.h" @@ -35,14 +36,13 @@ #include "string_util.h" #include "task.h" #include "text.h" -#include "constants/bg_event_constants.h" +#include "constants/event_bg.h" #include "constants/event_objects.h" #include "constants/flags.h" #include "constants/item_effects.h" #include "constants/items.h" #include "constants/songs.h" #include "constants/vars.h" -#include "event_obj_lock.h" static void SetUpItemUseCallback(u8 taskId); static void FieldCB_UseItemOnField(void); @@ -168,7 +168,7 @@ static void Task_CloseCantUseKeyItemMessage(u8 taskId) { ClearDialogWindowAndFrame(0, 1); DestroyTask(taskId); - ScriptUnfreezeEventObjects(); + ScriptUnfreezeObjectEvents(); ScriptContext2_Disable(); } @@ -224,7 +224,7 @@ static void ItemUseOnFieldCB_Bike(u8 taskId) GetOnOffBike(2); else GetOnOffBike(4); - ScriptUnfreezeEventObjects(); + ScriptUnfreezeObjectEvents(); ScriptContext2_Disable(); DestroyTask(taskId); } @@ -339,7 +339,7 @@ static void Task_UseItemfinder(u8 taskId) static void Task_CloseItemfinderMessage(u8 taskId) { ClearDialogWindowAndFrame(0, 1); - ScriptUnfreezeEventObjects(); + ScriptUnfreezeObjectEvents(); ScriptContext2_Disable(); DestroyTask(taskId); } @@ -571,15 +571,15 @@ static u8 GetDirectionToHiddenItem(s16 itemDistanceX, s16 itemDistanceY) static void PlayerFaceHiddenItem(u8 direction) { - EventObjectClearHeldMovementIfFinished(&gEventObjects[GetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0)]); - EventObjectClearHeldMovement(&gEventObjects[GetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0)]); - UnfreezeEventObject(&gEventObjects[GetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0)]); + ObjectEventClearHeldMovementIfFinished(&gObjectEvents[GetObjectEventIdByLocalIdAndMap(OBJ_EVENT_ID_PLAYER, 0, 0)]); + ObjectEventClearHeldMovement(&gObjectEvents[GetObjectEventIdByLocalIdAndMap(OBJ_EVENT_ID_PLAYER, 0, 0)]); + UnfreezeObjectEvent(&gObjectEvents[GetObjectEventIdByLocalIdAndMap(OBJ_EVENT_ID_PLAYER, 0, 0)]); PlayerTurnInPlace(direction); } static void Task_HiddenItemNearby(u8 taskId) { - if (EventObjectCheckHeldMovementStatus(&gEventObjects[GetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0)]) == TRUE) + if (ObjectEventCheckHeldMovementStatus(&gObjectEvents[GetObjectEventIdByLocalIdAndMap(OBJ_EVENT_ID_PLAYER, 0, 0)]) == TRUE) DisplayItemMessageOnField(taskId, gText_ItemFinderNearby, Task_CloseItemfinderMessage); } @@ -587,7 +587,7 @@ static void Task_StandingOnHiddenItem(u8 taskId) { s16 *data = gTasks[taskId].data; - if (EventObjectCheckHeldMovementStatus(&gEventObjects[GetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0)]) == TRUE + if (ObjectEventCheckHeldMovementStatus(&gObjectEvents[GetObjectEventIdByLocalIdAndMap(OBJ_EVENT_ID_PLAYER, 0, 0)]) == TRUE || tItemFound == FALSE) { // Spin player around on item @@ -728,8 +728,8 @@ static bool8 TryToWaterSudowoodo(void) u8 objId; GetXYCoordsOneStepInFrontOfPlayer(&x, &y); z = PlayerGetZCoord(); - objId = GetEventObjectIdByXYZ(x, y, z); - if (objId == EVENT_OBJECTS_COUNT || gEventObjects[objId].graphicsId != EVENT_OBJ_GFX_SUDOWOODO) + objId = GetObjectEventIdByXYZ(x, y, z); + if (objId == OBJECT_EVENTS_COUNT || gObjectEvents[objId].graphicsId != OBJ_EVENT_GFX_SUDOWOODO) return FALSE; else return TRUE; diff --git a/src/librfu_intr.c b/src/librfu_intr.c index c6db9a50c..23962a937 100644 --- a/src/librfu_intr.c +++ b/src/librfu_intr.c @@ -1,5 +1,402 @@ #include "global.h" -#include "main.h" #include "librfu.h" -//TODO: decompile asm/librfu_intr.s to here +static void sio32intr_clock_master(void); +static void sio32intr_clock_slave(void); +static u16 handshake_wait(u16 slot); +static void STWI_set_timer_in_RAM(u8 count); +static void STWI_stop_timer_in_RAM(void); +static void STWI_init_slave(void); +static void Callback_Dummy_M(int reqCommandId, int error, void (*callbackM)()); +static void Callback_Dummy_S(u16 reqCommandId, void (*callbackS)(u16)); +static void Callback_Dummy_ID(void (*callbackId)(void)); + +void IntrSIO32(void) +{ + if (gSTWIStatus->state == 10) + { + if (gSTWIStatus->callbackID != NULL) + Callback_Dummy_ID(gSTWIStatus->callbackID); + } + else + { + if (gSTWIStatus->msMode == AGB_CLK_MASTER) + sio32intr_clock_master(); + else + sio32intr_clock_slave(); + } +} + +static void sio32intr_clock_master(void) +{ + u32 regSIODATA32; + u32 ackLen; + + STWI_set_timer_in_RAM(80); + regSIODATA32 = REG_SIODATA32; + + if (gSTWIStatus->state == 0) // master send req + { + if (regSIODATA32 == 0x80000000) + { + if (gSTWIStatus->reqNext <= gSTWIStatus->reqLength) + { + REG_SIODATA32 = ((u32*)gSTWIStatus->txPacket->rfuPacket8.data)[gSTWIStatus->reqNext]; + gSTWIStatus->reqNext++; + } + else + { + gSTWIStatus->state = 1; // master wait ack + REG_SIODATA32 = 0x80000000; + } + } + else + { + STWI_stop_timer_in_RAM(); + STWI_set_timer_in_RAM(130); + return; + } + } + else if (gSTWIStatus->state == 1) // master wait ack + { + if ((regSIODATA32 & 0xFFFF0000) == 0x99660000) + { + gSTWIStatus->ackNext = 0; + ((u32*)gSTWIStatus->rxPacket)[gSTWIStatus->ackNext] = regSIODATA32; + gSTWIStatus->ackNext++; + gSTWIStatus->ackActiveCommand = regSIODATA32; + gSTWIStatus->ackLength = ackLen = regSIODATA32 >> 8; + if ((ackLen = gSTWIStatus->ackLength) >= gSTWIStatus->ackNext) + { + gSTWIStatus->state = 2; // master receive ack + REG_SIODATA32 = 0x80000000; + } + else + { + gSTWIStatus->state = 3; // master done ack + } + } + else + { + STWI_stop_timer_in_RAM(); + STWI_set_timer_in_RAM(130); + return; + } + } + else if (gSTWIStatus->state == 2) // master receive ack + { + ((u32*)gSTWIStatus->rxPacket)[gSTWIStatus->ackNext] = regSIODATA32; + gSTWIStatus->ackNext++; + if (gSTWIStatus->ackLength < gSTWIStatus->ackNext) + gSTWIStatus->state = 3; // master done ack + else + REG_SIODATA32 = 0x80000000; + } + + if (handshake_wait(1) == 1) + return; + + REG_SIOCNT = SIO_INTR_ENABLE | SIO_32BIT_MODE | SIO_115200_BPS | SIO_MULTI_SD; + + if (handshake_wait(0) == 1) + return; + + STWI_stop_timer_in_RAM(); + + if (gSTWIStatus->state == 3) // master done ack + { + if ( + gSTWIStatus->ackActiveCommand == (0x80 | ID_MS_CHANGE_REQ) + || gSTWIStatus->ackActiveCommand == (0x80 | ID_DATA_TX_AND_CHANGE_REQ) + || gSTWIStatus->ackActiveCommand == (0x80 | ID_UNK35_REQ) + || gSTWIStatus->ackActiveCommand == (0x80 | ID_RESUME_RETRANSMIT_AND_CHANGE_REQ) + ) + { + + gSTWIStatus->msMode = AGB_CLK_SLAVE; + REG_SIODATA32 = 0x80000000; + REG_SIOCNT = SIO_INTR_ENABLE | SIO_32BIT_MODE | SIO_57600_BPS; + REG_SIOCNT = SIO_INTR_ENABLE | SIO_32BIT_MODE | SIO_57600_BPS | SIO_ENABLE; + gSTWIStatus->state = 5; // slave receive req init + } + else + { + if (gSTWIStatus->ackActiveCommand == 0xEE) + { + REG_SIOCNT = SIO_INTR_ENABLE | SIO_32BIT_MODE | SIO_115200_BPS; + gSTWIStatus->state = 4; // error + gSTWIStatus->error = ERR_REQ_CMD_ACK_REJECTION; + } + else + { + REG_SIOCNT = SIO_INTR_ENABLE | SIO_32BIT_MODE | SIO_115200_BPS; + gSTWIStatus->state = 4; // error + } + } + gSTWIStatus->sending = 0; + if (gSTWIStatus->callbackM != NULL) + Callback_Dummy_M(gSTWIStatus->reqActiveCommand, gSTWIStatus->error, gSTWIStatus->callbackM); + } + else + { + REG_SIOCNT = SIO_INTR_ENABLE | SIO_32BIT_MODE | SIO_115200_BPS; + REG_SIOCNT = SIO_INTR_ENABLE | SIO_32BIT_MODE | SIO_115200_BPS | SIO_ENABLE; + } +} + +static void sio32intr_clock_slave(void) +{ + u32 regSIODATA32; + u32 r0; + register u32 reqLen asm("r2"); + + gSTWIStatus->timerActive = 0; + STWI_set_timer_in_RAM(100); + if (handshake_wait(0) == 1) + return; + REG_SIOCNT = SIO_INTR_ENABLE | SIO_32BIT_MODE | SIO_57600_BPS | SIO_MULTI_SD; + regSIODATA32 = REG_SIODATA32; + if (gSTWIStatus->state == 5) // slave receive req init + { + ((u32*)gSTWIStatus->rxPacket)[0] = regSIODATA32; + gSTWIStatus->reqNext = 1; + r0 = 0x99660000; + if ((regSIODATA32 >> 16) == (r0 >> 16)) + { + gSTWIStatus->reqLength = reqLen = regSIODATA32 >> 8; + gSTWIStatus->reqActiveCommand = regSIODATA32; + if (gSTWIStatus->reqLength == 0) + { + if ( + gSTWIStatus->reqActiveCommand == ID_MS_CHANGE_REQ + || gSTWIStatus->reqActiveCommand == ID_DATA_READY_AND_CHANGE_REQ + || gSTWIStatus->reqActiveCommand == ID_DISCONNECTED_AND_CHANGE_REQ + || gSTWIStatus->reqActiveCommand == ID_UNK36_REQ + ) + { + gSTWIStatus->ackActiveCommand = gSTWIStatus->reqActiveCommand + 0x80; + ((u32*)gSTWIStatus->txPacket)[0] = 0x99660000 + gSTWIStatus->ackActiveCommand; + gSTWIStatus->ackLength = 0; + } + else + { + ((u32*)gSTWIStatus->txPacket)[0] = 0x996601EE; + if (gSTWIStatus->reqActiveCommand >= 0x10 && gSTWIStatus->reqActiveCommand <= 0x3D) + { + ((u32*)gSTWIStatus->txPacket)[1] = 1; + } + else + { + ((u32*)gSTWIStatus->txPacket)[1] = 2; + } + gSTWIStatus->ackLength = 1; + gSTWIStatus->error = ERR_REQ_CMD_ACK_REJECTION; + } + REG_SIODATA32 = ((u32*)gSTWIStatus->txPacket)[0]; + gSTWIStatus->ackNext = 1; + gSTWIStatus->state = 7; // slave send ack + } + else + { + REG_SIODATA32 = 0x80000000; + gSTWIStatus->reqNext = 1; + gSTWIStatus->state = 6; // slave receive req + } + } + else + { + STWI_stop_timer_in_RAM(); + STWI_set_timer_in_RAM(100); + return; + } + } + else if (gSTWIStatus->state == 6) // slave receive req + { + ((u32*)gSTWIStatus->rxPacket)[gSTWIStatus->reqNext] = regSIODATA32; + gSTWIStatus->reqNext++; + if (gSTWIStatus->reqLength < gSTWIStatus->reqNext) + { + if ( + gSTWIStatus->reqActiveCommand == ID_DATA_READY_AND_CHANGE_REQ + || gSTWIStatus->reqActiveCommand == ID_DISCONNECTED_AND_CHANGE_REQ + || gSTWIStatus->reqActiveCommand == ID_UNK36_REQ + ) + { + gSTWIStatus->ackActiveCommand = gSTWIStatus->reqActiveCommand + 0x80; + ((u32*)gSTWIStatus->txPacket)[0] = 0x99660000 | gSTWIStatus->ackActiveCommand; + gSTWIStatus->ackLength = 0; + } + else + { + ((u32*)gSTWIStatus->txPacket)[0] = 0x996601EE; + if (gSTWIStatus->reqActiveCommand >= 0x10 && gSTWIStatus->reqActiveCommand <= 0x3D) + { + ((u32*)gSTWIStatus->txPacket)[1] = 1; + } + else + { + ((u32*)gSTWIStatus->txPacket)[1] = 2; + } + gSTWIStatus->ackLength = 1; + gSTWIStatus->error = ERR_REQ_CMD_ACK_REJECTION; + } + REG_SIODATA32 = ((u32*)gSTWIStatus->txPacket)[0]; + gSTWIStatus->ackNext = 1; + gSTWIStatus->state = 7; // slave send ack + } + else + { + REG_SIODATA32 = 0x80000000; + } + } + else if (gSTWIStatus->state == 7) // slave send ack + { + if (regSIODATA32 == 0x80000000) + { + if (gSTWIStatus->ackLength < gSTWIStatus->ackNext) + { + gSTWIStatus->state = 8; // slave done ack + } + else + { + REG_SIODATA32 = ((u32*)gSTWIStatus->txPacket)[gSTWIStatus->ackNext]; + gSTWIStatus->ackNext++; + } + } + else + { + STWI_stop_timer_in_RAM(); + STWI_set_timer_in_RAM(100); + return; + } + } + if (handshake_wait(1) == 1) + return; + if (gSTWIStatus->state == 8) // slave done ack + { + REG_SIOCNT = SIO_INTR_ENABLE | SIO_32BIT_MODE | SIO_57600_BPS; + STWI_stop_timer_in_RAM(); + if (gSTWIStatus->error == ERR_REQ_CMD_ACK_REJECTION) + { + STWI_init_slave(); + if (gSTWIStatus->callbackS != NULL) + { + Callback_Dummy_S(0x1EE, gSTWIStatus->callbackS); + } + } + else + { + REG_SIODATA32 = 0; + REG_SIOCNT = 0; + REG_SIOCNT = SIO_INTR_ENABLE | SIO_32BIT_MODE | SIO_115200_BPS; + gSTWIStatus->msMode = AGB_CLK_MASTER; + gSTWIStatus->state = 0; // master send req + if (gSTWIStatus->callbackS != NULL) + { + Callback_Dummy_S((gSTWIStatus->reqLength << 8) | (gSTWIStatus->reqActiveCommand), gSTWIStatus->callbackS); + } + } + } + else + { + REG_IME = 0; + if (REG_TM0CNT_H & TIMER_ENABLE) + { + if ((REG_TM0CNT_H & 0x03) == TIMER_1CLK) + { + while (REG_TM0CNT_L > 0xFF9B); + } + else + { + while (REG_TM0CNT_L > 0xFFFE); + } + } + REG_SIOCNT = SIO_INTR_ENABLE | SIO_32BIT_MODE | SIO_57600_BPS; + REG_SIOCNT = SIO_INTR_ENABLE | SIO_32BIT_MODE | SIO_57600_BPS | SIO_ENABLE; + REG_IME = 1; + } +} + +static u16 handshake_wait(u16 slot) +{ + do + { + if ((gSTWIStatus->timerActive & 0xFF) == 1) + { + gSTWIStatus->timerActive = 0; + return 1; + } + } while ((REG_SIOCNT & SIO_MULTI_SI) != (slot << SIO_MULTI_SI_SHIFT)); + return 0; +} + +static void STWI_set_timer_in_RAM(u8 count) +{ + vu16* regTMCNTL = (vu16*)(REG_ADDR_TMCNT_L + gSTWIStatus->timerSelect * 4); + vu16* regTMCNTH = (vu16*)(REG_ADDR_TMCNT_H + gSTWIStatus->timerSelect * 4); + REG_IME = 0; + switch (count) + { + case 50: + *regTMCNTL = 0xFCCB; + gSTWIStatus->timerState = 1; + break; + case 80: + *regTMCNTL = 0xFAE0; + gSTWIStatus->timerState = 2; + break; + case 100: + *regTMCNTL = 0xF996; + gSTWIStatus->timerState = 3; + break; + case 130: + *regTMCNTL = 0xF7AD; + gSTWIStatus->timerState = 4; + break; + } + *regTMCNTH = TIMER_ENABLE | TIMER_64CLK | TIMER_256CLK | TIMER_INTR_ENABLE; + REG_IF = INTR_FLAG_TIMER0 << gSTWIStatus->timerSelect; + REG_IME = 1; +} + +static void STWI_stop_timer_in_RAM(void) +{ + gSTWIStatus->timerState = 0; + REG_TMCNT_L(gSTWIStatus->timerSelect) = 0; + REG_TMCNT_H(gSTWIStatus->timerSelect) = 0; +} + +static void STWI_init_slave(void) +{ + gSTWIStatus->state = 5; // slave receive req init + gSTWIStatus->msMode = AGB_CLK_SLAVE; + gSTWIStatus->reqLength = 0; + gSTWIStatus->reqNext = 0; + gSTWIStatus->reqActiveCommand = 0; + gSTWIStatus->ackLength = 0; + gSTWIStatus->ackNext = 0; + gSTWIStatus->ackActiveCommand = 0; + gSTWIStatus->timerState = 0; + gSTWIStatus->timerActive = 0; + gSTWIStatus->error = 0; + gSTWIStatus->recoveryCount = 0; + REG_SIOCNT = SIO_INTR_ENABLE | SIO_32BIT_MODE | SIO_57600_BPS | SIO_ENABLE; +} + +NAKED +static void Callback_Dummy_M(int reqCommandId, int error, void (*callbackM)()) +{ + asm("bx r2"); +} + +NAKED +static void Callback_Dummy_S(u16 reqCommandId, void (*callbackS)(u16)) +{ + asm("bx r1"); +} + +NAKED +static void Callback_Dummy_ID(void (*callbackId)(void)) +{ + asm("bx r0"); +} diff --git a/src/librfu_rfu.c b/src/librfu_rfu.c index 732cc532d..582060f78 100644 --- a/src/librfu_rfu.c +++ b/src/librfu_rfu.c @@ -2,54 +2,54 @@ struct LLSFStruct { - u8 unk00; - u8 unk01; - u8 unk02; - u8 unk03; - u8 unk04; - u8 unk05; - u8 unk06; - u8 unk07; - u8 unk08; - u8 unk09; - u8 unk0A; - u8 unk0B; - u8 unk0C; - u16 unk0E; + u8 frameSize; + u8 recvFirstShift; + u8 connSlotFlagShift; + u8 slotStateShift; + u8 ackShift; + u8 phaseShit; + u8 nShift; + u8 recvFirstMask; + u8 connSlotFlagMask; + u8 slotStateMask; + u8 ackMask; + u8 phaseMask; + u8 nMask; + u16 framesMask; }; struct RfuLocalStruct { - u8 unk00; - u8 unk01; - u8 unk02; - u8 unk03; - u8 unk04; - u8 unk05; - u16 unk06; + u8 recvFirst; + u8 connSlotFlag; + u8 slotState; + u8 ack; + u8 phase; + u8 n; + u16 frame; }; -static void rfu_CB_defaultCallback(u8, u16); -static void rfu_CB_reset(u8, u16); -static void rfu_CB_configGameData(u8, u16); -static void rfu_CB_stopMode(u8, u16); -static void rfu_CB_startSearchChild(u8, u16); -static void rfu_CB_pollAndEndSearchChild(u8, u16); -static void rfu_CB_startSearchParent(u8, u16); -static void rfu_CB_pollSearchParent(u8, u16); -static void rfu_CB_pollConnectParent(u8, u16); -static void rfu_CB_pollConnectParent(u8, u16); -static void rfu_CB_disconnect(u8, u16); -static void rfu_CB_CHILD_pollConnectRecovery(u8, u16); -static void rfu_CB_sendData(__attribute__((unused)) u8, u16); -static void rfu_CB_sendData2(__attribute__((unused)) u8, u16); -static void rfu_CB_sendData3(u8, u16); -static void rfu_CB_recvData(u8, u16); -static void rfu_enableREQCallback(bool8); +static void rfu_CB_defaultCallback(u8 reqCommand, u16 reqResult); +static void rfu_CB_reset(u8 reqCommand, u16 reqResult); +static void rfu_CB_configGameData(u8 reqCommand, u16 reqResult); +static void rfu_CB_stopMode(u8 reqCommand, u16 reqResult); +static void rfu_CB_startSearchChild(u8 reqCommand, u16 reqResult); +static void rfu_CB_pollAndEndSearchChild(u8 reqCommand, u16 reqResult); +static void rfu_CB_startSearchParent(u8 reqCommand, u16 reqResult); +static void rfu_CB_pollSearchParent(u8 reqCommand, u16 reqResult); +static void rfu_CB_pollConnectParent(u8 reqCommand, u16 reqResult); +static void rfu_CB_pollConnectParent(u8 reqCommand, u16 reqResult); +static void rfu_CB_disconnect(u8 reqCommand, u16 reqResult); +static void rfu_CB_CHILD_pollConnectRecovery(u8 reqCommand, u16 reqResult); +static void rfu_CB_sendData(UNUSED u8 reqCommand, u16 reqResult); +static void rfu_CB_sendData2(UNUSED u8 reqCommand, u16 reqResult); +static void rfu_CB_sendData3(u8 reqCommand, u16 reqResult); +static void rfu_CB_recvData(u8 reqCommand, u16 reqResult); +static void rfu_enableREQCallback(bool8 enable); static void rfu_STC_clearAPIVariables(void); static void rfu_STC_readChildList(void); static void rfu_STC_readParentCandidateList(void); -static void rfu_STC_REQ_callback(u8, u16); +static void rfu_STC_REQ_callback(u8 reqCommand, u16 reqResult); static void rfu_STC_removeLinkData(u8, u8); static void rfu_STC_fastCopy(const u8 **, u8 **, s32); static void rfu_STC_clearLinkStatus(u8); @@ -63,7 +63,7 @@ static void rfu_STC_CHILD_analyzeRecvPacket(void); static u16 rfu_STC_analyzeLLSF(u8, const u8 *, u16); static void rfu_STC_UNI_receive(u8, const struct RfuLocalStruct *, const u8 *); static void rfu_STC_NI_receive_Receiver(u8, const struct RfuLocalStruct *, const u8 *); -static void rfu_STC_NI_receive_Sender(u8, u8, const struct RfuLocalStruct *, __attribute__((unused)) const u8 *); +static void rfu_STC_NI_receive_Sender(u8, u8, const struct RfuLocalStruct *, UNUSED const u8 *); static void rfu_STC_NI_initSlot_asRecvDataEntity(u8, struct NIComm *); static void rfu_STC_NI_initSlot_asRecvControllData(u8, struct NIComm *); @@ -74,59 +74,94 @@ struct RfuStatic *gRfuStatic; struct RfuFixed *gRfuFixed; static const struct LLSFStruct llsf_struct[2] = { - { - 2, 14, 0, 10, 9, 5, 7, 2, - 0, 15, 1, 3, 3, 0x1f - }, { - 3, 22, 18, 14, 13, 9, 11, 3, - 15, 15, 1, 3, 3, 0x7f - } + [MODE_CHILD] = { + .frameSize = 2, + .recvFirstShift = 14, + .connSlotFlagShift = 0, + .slotStateShift = 10, + .ackShift = 9, + .phaseShit = 5, + .nShift = 7, + .recvFirstMask = 2, + .connSlotFlagMask = 0, + .slotStateMask = 15, + .ackMask = 1, + .phaseMask = 3, + .nMask = 3, + .framesMask = 0x1f + }, + [MODE_PARENT] = { + .frameSize = 3, + .recvFirstShift = 22, + .connSlotFlagShift = 18, + .slotStateShift = 14, + .ackShift = 13, + .phaseShit = 9, + .nShift = 11, + .recvFirstMask = 3, + .connSlotFlagMask = 15, + .slotStateMask = 15, + .ackMask = 1, + .phaseMask = 3, + .nMask = 3, + .framesMask = 0x7f + } }; -static const char lib_ver[] = "RFU_V1026"; +#define xstr(s) str(s) +#define str(s) #s +const char version_string[] = "RFU_V" xstr(LIBRFU_VERSION); static const char str_checkMbootLL[] = "RFU-MBOOT"; -u16 rfu_initializeAPI(struct RfuAPIBuffer *APIBuffer, u16 buffByteSize, IntrFunc *sioIntrTable_p, bool8 copyInterruptToRam) +#define COPY(src, dst, iterator, size) do { \ + const u16 *_src = (const u16 *)(src); \ + u16 *_dst = (u16 *)(dst); \ + (iterator) = (size); \ + while ((iterator)-- != 0) \ + *_dst++ = *_src++; \ +} while (0) + +u16 rfu_initializeAPI(u32 *APIBuffer, u16 buffByteSize, IntrFunc *sioIntrTable_p, bool8 copyInterruptToRam) { u16 i; u16 *dst; const u16 *src; - u16 r3; + u16 buffByteSizeMax; - // is in EWRAM? - if (((u32)APIBuffer & 0xF000000) == 0x2000000 && copyInterruptToRam) + // is in EWRAM? + if (((uintptr_t)APIBuffer & 0xF000000) == 0x2000000 && copyInterruptToRam) return ERR_RFU_API_BUFF_ADR; - // is not 4-byte aligned? + // is not 4-byte aligned? if ((u32)APIBuffer & 3) return ERR_RFU_API_BUFF_ADR; if (copyInterruptToRam) { // An assert/debug print may have existed before, ie // printf("%s %u < %u", "somefile.c:12345", buffByteSize, num) - // to push this into r3? - r3 = sizeof(struct RfuAPIBuffer); - if (buffByteSize < r3) + // to push this into buffByteSizeMax? + buffByteSizeMax = RFU_API_BUFF_SIZE_RAM; + if (buffByteSize < buffByteSizeMax) return ERR_RFU_API_BUFF_SIZE; } if (!copyInterruptToRam) { - r3 = 0x504; // same issue as above - if (buffByteSize < r3) + buffByteSizeMax = RFU_API_BUFF_SIZE_ROM; // same issue as above + if (buffByteSize < buffByteSizeMax) return ERR_RFU_API_BUFF_SIZE; } - gRfuLinkStatus = &APIBuffer->linkStatus; - gRfuStatic = &APIBuffer->static_; - gRfuFixed = &APIBuffer->fixed; - gRfuSlotStatusNI[0] = &APIBuffer->NI[0]; - gRfuSlotStatusUNI[0] = &APIBuffer->UNI[0]; + gRfuLinkStatus = (void *)APIBuffer + 0; + gRfuStatic = (void *)APIBuffer + 0xb4; // + sizeof(*gRfuLinkStatus) + gRfuFixed = (void *)APIBuffer + 0xdc; // + sizeof(*gRfuStatic) + gRfuSlotStatusNI[0] = (void *)APIBuffer + 0x1bc; // + sizeof(*gRfuFixed) + gRfuSlotStatusUNI[0] = (void *)APIBuffer + 0x37c; // + sizeof(*gRfuSlotStatusNI[0]) for (i = 1; i < RFU_CHILD_MAX; ++i) { gRfuSlotStatusNI[i] = &gRfuSlotStatusNI[i - 1][1]; gRfuSlotStatusUNI[i] = &gRfuSlotStatusUNI[i - 1][1]; } - // TODO: Is it possible to fix the following 2 statements? - // It's equivalent to: + // TODO: Is it possible to fix the following 2 statements? + // It's equivalent to: // gRfuFixed->STWIBuffer = &APIBuffer->intr; // STWI_init_all(&APIBuffer->intr, sioIntrTable_p, copyInterruptToRam); gRfuFixed->STWIBuffer = (struct RfuIntrStruct *)&gRfuSlotStatusUNI[3][1]; @@ -139,34 +174,41 @@ u16 rfu_initializeAPI(struct RfuAPIBuffer *APIBuffer, u16 buffByteSize, IntrFunc gRfuSlotStatusUNI[i]->recvBuffer = NULL; gRfuSlotStatusUNI[i]->recvBufferSize = 0; } - // looks like a macro copying data - do - { - src = (const u16 *)((u32)&rfu_STC_fastCopy & 0xFFFFFFFE); - dst = gRfuFixed->fastCopyBuffer; - for (r3 = 0x2F; r3 != 0xFFFF; --r3) // copy rfu_STC_fastCopy function body to buffer - *dst++ = *src++; - gRfuFixed->fastCopyPtr = (void *)gRfuFixed->fastCopyBuffer + 1; - } while (0); + // rfu_REQ_changeMasterSlave is the function next to rfu_STC_fastCopy +#if LIBRFU_VERSION < 1026 + src = (const u16 *)((uintptr_t)&rfu_STC_fastCopy & ~1); + dst = gRfuFixed->fastCopyBuffer; + buffByteSizeMax = ((void *)rfu_REQ_changeMasterSlave - (void *)rfu_STC_fastCopy) / sizeof(u16); + while (buffByteSizeMax-- != 0) + *dst++ = *src++; +#else + COPY( + (uintptr_t)&rfu_STC_fastCopy & ~1, + gRfuFixed->fastCopyBuffer, + buffByteSizeMax, + 0x60 / sizeof(u16) + ); +#endif + gRfuFixed->fastCopyPtr = (void *)gRfuFixed->fastCopyBuffer + 1; return 0; } static void rfu_STC_clearAPIVariables(void) { u16 IMEBackup = REG_IME; - u8 i, r4; + u8 i, flags; REG_IME = 0; - r4 = gRfuStatic->flags; + flags = gRfuStatic->flags; CpuFill16(0, gRfuStatic, sizeof(struct RfuStatic)); - gRfuStatic->flags = r4 & 8; + gRfuStatic->flags = flags & 8; CpuFill16(0, gRfuLinkStatus, sizeof(struct RfuLinkStatus)); gRfuLinkStatus->watchInterval = 4; gRfuStatic->nowWatchInterval = 0; gRfuLinkStatus->parentChild = MODE_NEUTRAL; rfu_clearAllSlot(); gRfuStatic->SCStartFlag = 0; - for (i = 0; i < NELEMS(gRfuStatic->cidBak); ++i) + for (i = 0; i < RFU_CHILD_MAX; ++i) gRfuStatic->cidBak[i] = 0; REG_IME = IMEBackup; } @@ -179,20 +221,20 @@ void rfu_REQ_PARENT_resumeRetransmitAndChange(void) u16 rfu_UNI_PARENT_getDRAC_ACK(u8 *ackFlag) { - struct RfuIntrStruct *buf; + u8 *buf; *ackFlag = 0; if (gRfuLinkStatus->parentChild != MODE_PARENT) return ERR_MODE_NOT_PARENT; buf = rfu_getSTWIRecvBuffer(); - switch (buf->rxPacketAlloc.rfuPacket8.data[0]) + switch (*buf) { case 40: case 54: - if (buf->rxPacketAlloc.rfuPacket8.data[1] == 0) + if (buf[1] == 0) *ackFlag = gRfuLinkStatus->connSlotFlag; else - *ackFlag = buf->rxPacketAlloc.rfuPacket8.data[4]; + *ackFlag = buf[4]; return 0; default: return ERR_REQ_CMD_ID; @@ -204,9 +246,9 @@ void rfu_setTimerInterrupt(u8 timerNo, IntrFunc *timerIntrTable_p) STWI_init_timer(timerIntrTable_p, timerNo); } -struct RfuIntrStruct *rfu_getSTWIRecvBuffer(void) +u8 *rfu_getSTWIRecvBuffer(void) { - return gRfuFixed->STWIBuffer; + return (u8 *)gRfuFixed->STWIBuffer; } void rfu_setMSCCallback(void (*callback)(u16 reqCommandId)) @@ -228,26 +270,26 @@ static void rfu_enableREQCallback(bool8 enable) gRfuStatic->flags &= 0xF7; } -static void rfu_STC_REQ_callback(u8 r5, u16 reqResult) +static void rfu_STC_REQ_callback(u8 reqCommand, u16 reqResult) { STWI_set_Callback_M(rfu_CB_defaultCallback); gRfuStatic->reqResult = reqResult; if (gRfuStatic->flags & 8) - gRfuFixed->reqCallback(r5, reqResult); + gRfuFixed->reqCallback(reqCommand, reqResult); } -static void rfu_CB_defaultCallback(u8 r0, u16 reqResult) +static void rfu_CB_defaultCallback(u8 reqCommand, u16 reqResult) { - s32 r5; + s32 bmSlotFlags; u8 i; - if (r0 == 0xFF) + if (reqCommand == ID_CLOCK_SLAVE_MS_CHANGE_ERROR_BY_DMA_REQ) { if (gRfuStatic->flags & 8) - gRfuFixed->reqCallback(r0, reqResult); - r5 = gRfuLinkStatus->connSlotFlag | gRfuLinkStatus->linkLossSlotFlag; + gRfuFixed->reqCallback(reqCommand, reqResult); + bmSlotFlags = gRfuLinkStatus->connSlotFlag | gRfuLinkStatus->linkLossSlotFlag; for (i = 0; i < RFU_CHILD_MAX; ++i) - if ((r5 >> i) & 1) + if ((bmSlotFlags >> i) & 1) rfu_STC_removeLinkData(i, 1); gRfuLinkStatus->parentChild = MODE_NEUTRAL; } @@ -276,25 +318,39 @@ u16 rfu_getRFUStatus(u8 *rfuState) return 0; } +/* + * RFU Multiboot images are loaded into IWRAM + * struct RfuMbootLL + * { + * struct RfuLinkStatus status; + * u8 filler_B4[0x3C]; + * char name[10]; + * u16 checksum; + * } + * Returns 1 if the packet to inherit is malformed. + */ u16 rfu_MBOOT_CHILD_inheritanceLinkStatus(void) { const char *s1 = str_checkMbootLL; char *s2 = (char *)0x30000F0; u16 checksum; - u16 *r2; + u16 *mb_buff_iwram_p; u8 i; + // if (strcmp(s1, s2) != 0) return 1; while (*s1 != '\0') if (*s1++ != *s2++) return 1; - r2 = (u16 *)0x3000000; + mb_buff_iwram_p = (u16 *)0x3000000; + + // The size of struct RfuLinkStatus is 180 checksum = 0; - for (i = 0; i < 90; ++i) - checksum += *r2++; + for (i = 0; i < 180/2; ++i) + checksum += *mb_buff_iwram_p++; if (checksum != *(u16 *)0x30000FA) return 1; CpuCopy16((u16 *)0x3000000, gRfuLinkStatus, sizeof(struct RfuLinkStatus)); - gRfuStatic->flags |= 0x80; + gRfuStatic->flags |= 0x80; // mboot return 0; } @@ -304,14 +360,14 @@ void rfu_REQ_stopMode(void) if (REG_IME == 0) { - rfu_STC_REQ_callback(61, 6); + rfu_STC_REQ_callback(ID_STOP_MODE_REQ, 6); gSTWIStatus->error = ERR_REQ_CMD_IME_DISABLE; } else { AgbRFU_SoftReset(); rfu_STC_clearAPIVariables(); - if (AgbRFU_checkID(8) == 0x8001) + if (AgbRFU_checkID(8) == RFU_ID) { timerReg = ®_TMCNT(gSTWIStatus->timerSelect); *timerReg = 0; @@ -325,29 +381,29 @@ void rfu_REQ_stopMode(void) else { REG_SIOCNT = SIO_MULTI_MODE; - rfu_STC_REQ_callback(61, 0); + rfu_STC_REQ_callback(ID_STOP_MODE_REQ, 0); } } } -static void rfu_CB_stopMode(u8 a1, u16 reqResult) +static void rfu_CB_stopMode(u8 reqCommand, u16 reqResult) { if (reqResult == 0) REG_SIOCNT = SIO_MULTI_MODE; - rfu_STC_REQ_callback(a1, reqResult); + rfu_STC_REQ_callback(reqCommand, reqResult); } u32 rfu_REQBN_softReset_and_checkID(void) { - u32 r2; + u32 id; if (REG_IME == 0) return ERR_ID_CHECK_IME_DISABLE; AgbRFU_SoftReset(); rfu_STC_clearAPIVariables(); - if ((r2 = AgbRFU_checkID(30)) == 0) + if ((id = AgbRFU_checkID(30)) == 0) REG_SIOCNT = SIO_MULTI_MODE; - return r2; + return id; } void rfu_REQ_reset(void) @@ -356,11 +412,11 @@ void rfu_REQ_reset(void) STWI_send_ResetREQ(); } -static void rfu_CB_reset(u8 a1, u16 reqResult) +static void rfu_CB_reset(u8 reqCommand, u16 reqResult) { if (reqResult == 0) rfu_STC_clearAPIVariables(); - rfu_STC_REQ_callback(a1, reqResult); + rfu_STC_REQ_callback(reqCommand, reqResult); } void rfu_REQ_configSystem(u16 availSlotFlag, u8 maxMFrame, u8 mcTimer) @@ -369,59 +425,59 @@ void rfu_REQ_configSystem(u16 availSlotFlag, u8 maxMFrame, u8 mcTimer) STWI_send_SystemConfigREQ((availSlotFlag & AVAIL_SLOT1) | 0x3C, maxMFrame, mcTimer); if (mcTimer == 0) { - gRfuStatic->unk_1a = 1; + gRfuStatic->linkEmergencyLimit = 1; } else { u16 IMEBackup = REG_IME; REG_IME = 0; - gRfuStatic->unk_1a = Div(600, mcTimer); + gRfuStatic->linkEmergencyLimit = Div(600, mcTimer); REG_IME = IMEBackup; } } void rfu_REQ_configGameData(u8 mbootFlag, u16 serialNo, const u8 *gname, const u8 *uname) { - u8 sp[16]; + u8 packet[16]; u8 i; - u8 r3; + u8 check_sum; const u8 *gnameBackup = gname; const u8 *unameBackup; - sp[0] = serialNo; - sp[1] = serialNo >> 8; + packet[0] = serialNo; + packet[1] = serialNo >> 8; if (mbootFlag != 0) - sp[1] = (serialNo >> 8) | 0x80; + packet[1] = (serialNo >> 8) | 0x80; for (i = 2; i < 15; ++i) - sp[i] = *gname++; - r3 = 0; + packet[i] = *gname++; + check_sum = 0; unameBackup = uname; for (i = 0; i < 8; ++i) { - r3 += *unameBackup++; - r3 += *gnameBackup++; + check_sum += *unameBackup++; + check_sum += *gnameBackup++; } - sp[15] = ~r3; + packet[15] = ~check_sum; if (mbootFlag != 0) - sp[14] = 0; + packet[14] = 0; STWI_set_Callback_M(rfu_CB_configGameData); - STWI_send_GameConfigREQ(sp, uname); + STWI_send_GameConfigREQ(packet, uname); } -static void rfu_CB_configGameData(u8 ip, u16 r7) +static void rfu_CB_configGameData(u8 reqCommand, u16 reqResult) { - s32 r2, r3; - u8 *r4; + s32 serialNo; + u8 *gname_uname_p; u8 i; - u8 *r1; + u8 *packet_p; - if (r7 == 0) + if (reqResult == 0) { - r1 = gSTWIStatus->txPacket->rfuPacket8.data; - r2 = gRfuLinkStatus->my.serialNo = r1[4]; - gRfuLinkStatus->my.serialNo = (r1[5] << 8) | r2; - r4 = &r1[6]; + packet_p = gSTWIStatus->txPacket->rfuPacket8.data; + serialNo = gRfuLinkStatus->my.serialNo = packet_p[4]; + gRfuLinkStatus->my.serialNo = (packet_p[5] << 8) | serialNo; + gname_uname_p = &packet_p[6]; if (gRfuLinkStatus->my.serialNo & 0x8000) { gRfuLinkStatus->my.serialNo = gRfuLinkStatus->my.serialNo ^ 0x8000; @@ -432,49 +488,54 @@ static void rfu_CB_configGameData(u8 ip, u16 r7) gRfuLinkStatus->my.mbootFlag = 0; } for (i = 0; i < RFU_GAME_NAME_LENGTH; ++i) - gRfuLinkStatus->my.gname[i] = *r4++; - ++r4; + gRfuLinkStatus->my.gname[i] = *gname_uname_p++; + ++gname_uname_p; for (i = 0; i < RFU_USER_NAME_LENGTH; ++i) - gRfuLinkStatus->my.uname[i] = *r4++; + gRfuLinkStatus->my.uname[i] = *gname_uname_p++; } - rfu_STC_REQ_callback(ip, r7); + rfu_STC_REQ_callback(reqCommand, reqResult); } void rfu_REQ_startSearchChild(void) { - u16 r1; + u16 result; +#if LIBRFU_VERSION >= 1026 + u16 i; + for (i = 0; i < RFU_CHILD_MAX; i++) + { + gRfuStatic->lsFixedCount[i] = 0; + } +#endif - for (r1 = 0; r1 < 4; ++r1) - gRfuStatic->lsFixedCount[r1] = 0; STWI_set_Callback_M(rfu_CB_defaultCallback); STWI_send_SystemStatusREQ(); - r1 = STWI_poll_CommandEnd(); - if (r1 == 0) + result = STWI_poll_CommandEnd(); + if (result == 0) { if (gRfuFixed->STWIBuffer->rxPacketAlloc.rfuPacket8.data[7] == 0) - rfu_STC_clearLinkStatus(1); + rfu_STC_clearLinkStatus(MODE_PARENT); } else { - rfu_STC_REQ_callback(25, r1); + rfu_STC_REQ_callback(ID_SC_START_REQ, result); } STWI_set_Callback_M(rfu_CB_startSearchChild); STWI_send_SC_StartREQ(); } -static void rfu_CB_startSearchChild(u8 r3, u16 reqResult) +static void rfu_CB_startSearchChild(u8 reqCommand, u16 reqResult) { if (reqResult == 0) gRfuStatic->SCStartFlag = 1; - rfu_STC_REQ_callback(r3, reqResult); + rfu_STC_REQ_callback(reqCommand, reqResult); } -static void rfu_STC_clearLinkStatus(u8 r4) +static void rfu_STC_clearLinkStatus(u8 parentChild) { u8 i; - + rfu_clearAllSlot(); - if (r4 != 0) + if (parentChild != MODE_CHILD) { CpuFill16(0, gRfuLinkStatus->partner, sizeof(gRfuLinkStatus->partner)); gRfuLinkStatus->findParentCount = 0; @@ -499,11 +560,11 @@ void rfu_REQ_endSearchChild(void) STWI_send_SC_EndREQ(); } -static void rfu_CB_pollAndEndSearchChild(u8 r4, u16 reqResult) +static void rfu_CB_pollAndEndSearchChild(u8 reqCommand, u16 reqResult) { if (reqResult == 0) rfu_STC_readChildList(); - if (r4 == 26) + if (reqCommand == ID_SC_POLL_REQ) { if (gRfuLinkStatus->my.id == 0) { @@ -513,41 +574,76 @@ static void rfu_CB_pollAndEndSearchChild(u8 r4, u16 reqResult) gRfuLinkStatus->my.id = *(u16 *)&gRfuFixed->STWIBuffer->rxPacketAlloc.rfuPacket32.data[0]; } } - else if (r4 == 27) + else if (reqCommand == ID_SC_END_REQ) { if (gRfuLinkStatus->parentChild == MODE_NEUTRAL) gRfuLinkStatus->my.id = 0; gRfuStatic->SCStartFlag = 0; } - rfu_STC_REQ_callback(r4, reqResult); + rfu_STC_REQ_callback(reqCommand, reqResult); } static void rfu_STC_readChildList(void) { - u32 r5; - u8 r8 = gRfuFixed->STWIBuffer->rxPacketAlloc.rfuPacket8.data[1]; - u8 *r4; + u32 stwiParam; + u8 numSlots = gRfuFixed->STWIBuffer->rxPacketAlloc.rfuPacket8.data[1]; + u8 *data_p; u8 i; - u8 r2; + u8 bm_slot_id; +#if LIBRFU_VERSION < 1026 + u8 true_slots[RFU_CHILD_MAX]; +#endif - for (r4 = &gRfuFixed->STWIBuffer->rxPacketAlloc.rfuPacket8.data[4]; - r8 != 0; - r4 += 4) +#if LIBRFU_VERSION < 1026 + if (numSlots != 0) { - r2 = r4[2]; - if (r2 < RFU_CHILD_MAX && !((gRfuLinkStatus->connSlotFlag >> r2) & 1) && !((gRfuLinkStatus->linkLossSlotFlag >> r2) & 1)) + stwiParam = gRfuFixed->STWIBuffer->rxPacketAlloc.rfuPacket32.data[0]; + STWI_set_Callback_M(rfu_CB_defaultCallback); + STWI_send_LinkStatusREQ(); + if (STWI_poll_CommandEnd() == 0) { - gRfuStatic->lsFixedCount[r2] = 0xF0; - gRfuLinkStatus->strength[r2] = 0x10; - gRfuLinkStatus->connSlotFlag |= 1 << r2; + data_p = &gRfuFixed->STWIBuffer->rxPacketAlloc.rfuPacket8.data[4]; + for (i = 0; i < RFU_CHILD_MAX; ++i) + true_slots[i] = *data_p++; + } + gRfuFixed->STWIBuffer->rxPacketAlloc.rfuPacket32.data[0] = stwiParam; + } +#endif + for (data_p = &gRfuFixed->STWIBuffer->rxPacketAlloc.rfuPacket8.data[4]; + numSlots != 0; + data_p += 4) + { + bm_slot_id = data_p[2]; + if (bm_slot_id < RFU_CHILD_MAX && !((gRfuLinkStatus->connSlotFlag >> bm_slot_id) & 1) && !((gRfuLinkStatus->linkLossSlotFlag >> bm_slot_id) & 1)) + { + #if LIBRFU_VERSION < 1026 + if (true_slots[bm_slot_id] != 0) + ++gRfuStatic->lsFixedCount[bm_slot_id]; + if (gRfuStatic->lsFixedCount[bm_slot_id] >= 4) + { + gRfuStatic->lsFixedCount[bm_slot_id] = 0; + gRfuLinkStatus->strength[bm_slot_id] = 255; + gRfuLinkStatus->connSlotFlag |= 1 << bm_slot_id; + ++gRfuLinkStatus->connCount; + gRfuLinkStatus->partner[bm_slot_id].id = *(u16 *)data_p; + gRfuLinkStatus->partner[bm_slot_id].slot = bm_slot_id; + gRfuLinkStatus->parentChild = MODE_PARENT; + gRfuStatic->flags &= 0x7F; + gRfuStatic->cidBak[bm_slot_id] = gRfuLinkStatus->partner[bm_slot_id].id; + } + #else + gRfuStatic->lsFixedCount[bm_slot_id] = 0xF0; + gRfuLinkStatus->strength[bm_slot_id] = 16; + gRfuLinkStatus->connSlotFlag |= 1 << bm_slot_id; ++gRfuLinkStatus->connCount; - gRfuLinkStatus->partner[r2].id = *(u16 *)r4; - gRfuLinkStatus->partner[r2].slot = r2; + gRfuLinkStatus->partner[bm_slot_id].id = *(u16 *)data_p; + gRfuLinkStatus->partner[bm_slot_id].slot = bm_slot_id; gRfuLinkStatus->parentChild = MODE_PARENT; gRfuStatic->flags &= 0x7F; - gRfuStatic->cidBak[r2] = gRfuLinkStatus->partner[r2].id; + gRfuStatic->cidBak[bm_slot_id] = gRfuLinkStatus->partner[bm_slot_id].id; + #endif } - --r8; + --numSlots; } } @@ -557,11 +653,11 @@ void rfu_REQ_startSearchParent(void) STWI_send_SP_StartREQ(); } -static void rfu_CB_startSearchParent(u8 r5, u16 reqResult) +static void rfu_CB_startSearchParent(u8 reqCommand, u16 reqResult) { if (reqResult == 0) - rfu_STC_clearLinkStatus(0); - rfu_STC_REQ_callback(r5, reqResult); + rfu_STC_clearLinkStatus(MODE_CHILD); + rfu_STC_REQ_callback(reqCommand, reqResult); } void rfu_REQ_pollSearchParent(void) @@ -570,11 +666,11 @@ void rfu_REQ_pollSearchParent(void) STWI_send_SP_PollingREQ(); } -static void rfu_CB_pollSearchParent(u8 r5, u16 reqResult) +static void rfu_CB_pollSearchParent(u8 reqCommand, u16 reqResult) { if (reqResult == 0) rfu_STC_readParentCandidateList(); - rfu_STC_REQ_callback(r5, reqResult); + rfu_STC_REQ_callback(reqCommand, reqResult); } void rfu_REQ_endSearchParent(void) @@ -585,47 +681,47 @@ void rfu_REQ_endSearchParent(void) static void rfu_STC_readParentCandidateList(void) { - u8 r7, r6, r5, r4, r3; - u8 *r1, *r2; - struct RfuTgtData *r4_; + u8 numSlots, i, check_sum, my_check_sum, j; + u8 *uname_p, *packet_p; + struct RfuTgtData *target; CpuFill16(0, gRfuLinkStatus->partner, sizeof(gRfuLinkStatus->partner)); - r2 = &gRfuFixed->STWIBuffer->rxPacketAlloc.rfuPacket8.data[0]; - r7 = r2[1]; - r2 += 4; + packet_p = &gRfuFixed->STWIBuffer->rxPacketAlloc.rfuPacket8.data[0]; + numSlots = packet_p[1]; + packet_p += 4; gRfuLinkStatus->findParentCount = 0; - for (r6 = 0; r6 < 4 && r7 != 0; ++r6) - { - r7 -= 7; - r1 = r2 + 6; - r2 += 19; - r5 = ~*r2; - ++r2; - r4 = 0; - for (r3 = 0; r3 < 8; ++r3) + for (i = 0; i < RFU_CHILD_MAX && numSlots != 0; ++i) + { + numSlots -= 7; + uname_p = packet_p + 6; + packet_p += 19; + check_sum = ~*packet_p; + ++packet_p; + my_check_sum = 0; + for (j = 0; j < 8; ++j) { - r4 += *r2++; - r4 += *r1++; + my_check_sum += *packet_p++; + my_check_sum += *uname_p++; } - if (r4 == r5) + if (my_check_sum == check_sum) { - r2 -= 28; - r4_ = &gRfuLinkStatus->partner[gRfuLinkStatus->findParentCount]; - r4_->id = *(u16 *)r2; - r2 += 2; - r4_->slot = *r2; - r2 += 2; - r4_->serialNo = *(u16 *)r2 & 0x7FFF; - if (*(u16 *)r2 & 0x8000) - r4_->mbootFlag = 1; + packet_p -= 28; + target = &gRfuLinkStatus->partner[gRfuLinkStatus->findParentCount]; + target->id = *(u16 *)packet_p; + packet_p += 2; + target->slot = *packet_p; + packet_p += 2; + target->serialNo = *(u16 *)packet_p & 0x7FFF; + if (*(u16 *)packet_p & 0x8000) + target->mbootFlag = 1; else - r4_->mbootFlag = 0; - r2 += 2; - for (r3 = 0; r3 < RFU_GAME_NAME_LENGTH; ++r3) - r4_->gname[r3] = *r2++; - ++r2; - for (r3 = 0; r3 < RFU_USER_NAME_LENGTH; ++r3) - r4_->uname[r3] = *r2++; + target->mbootFlag = 0; + packet_p += 2; + for (j = 0; j < RFU_GAME_NAME_LENGTH; ++j) + target->gname[j] = *packet_p++; + ++packet_p; + for (j = 0; j < RFU_USER_NAME_LENGTH; ++j) + target->uname[j] = *packet_p++; ++gRfuLinkStatus->findParentCount; } } @@ -633,13 +729,13 @@ static void rfu_STC_readParentCandidateList(void) void rfu_REQ_startConnectParent(u16 pid) { - u16 r3 = 0; + u16 result = 0; u8 i; for (i = 0; i < RFU_CHILD_MAX && gRfuLinkStatus->partner[i].id != pid; ++i) ; - if (i == 4) - r3 = 256; - if (r3 == 0) + if (i == RFU_CHILD_MAX) + result = ERR_PID_NOT_FOUND; + if (result == 0) { gRfuStatic->tryPid = pid; STWI_set_Callback_M(rfu_STC_REQ_callback); @@ -647,7 +743,7 @@ void rfu_REQ_startConnectParent(u16 pid) } else { - rfu_STC_REQ_callback(31, r3); + rfu_STC_REQ_callback(ID_CP_START_REQ, result); } } @@ -657,70 +753,69 @@ void rfu_REQ_pollConnectParent(void) STWI_send_CP_PollingREQ(); } -static void rfu_CB_pollConnectParent(u8 sp24, u16 sp28) +static void rfu_CB_pollConnectParent(u8 reqCommand, u16 reqResult) { u16 id; u8 slot; - u8 r2, r5; - struct RfuTgtData *r9; - struct RfuTgtData sp; + u8 bm_slot_flag, i; + struct RfuTgtData *target_p; + struct RfuTgtData target_local; - if (sp28 == 0) + if (reqResult == 0) { id = gRfuFixed->STWIBuffer->rxPacketAlloc.rfuPacket32.data[0]; slot = gRfuFixed->STWIBuffer->rxPacketAlloc.rfuPacket8.data[6]; if (gRfuFixed->STWIBuffer->rxPacketAlloc.rfuPacket8.data[7] == 0) { - r2 = 1 << slot; - if (!(r2 & gRfuLinkStatus->connSlotFlag)) + bm_slot_flag = 1 << slot; + if (!(bm_slot_flag & gRfuLinkStatus->connSlotFlag)) { - gRfuLinkStatus->connSlotFlag |= r2; - gRfuLinkStatus->linkLossSlotFlag &= ~r2; + gRfuLinkStatus->connSlotFlag |= bm_slot_flag; + gRfuLinkStatus->linkLossSlotFlag &= ~bm_slot_flag; gRfuLinkStatus->my.id = id; ++gRfuLinkStatus->connCount; gRfuLinkStatus->parentChild = MODE_CHILD; gRfuStatic->flags |= 0x80; - for (r5 = 0; r5 < RFU_CHILD_MAX; ++r5) + for (i = 0; i < RFU_CHILD_MAX; ++i) { - if (gRfuLinkStatus->partner[r5].id == gRfuStatic->tryPid) + if (gRfuLinkStatus->partner[i].id == gRfuStatic->tryPid) { if (gRfuLinkStatus->findParentCount != 0) { - r9 = &sp; - CpuCopy16(&gRfuLinkStatus->partner[r5], &sp, sizeof(struct RfuTgtData)); + target_p = &target_local; + CpuCopy16(&gRfuLinkStatus->partner[i], &target_local, sizeof(struct RfuTgtData)); CpuFill16(0, gRfuLinkStatus->partner, sizeof(gRfuLinkStatus->partner)); gRfuLinkStatus->findParentCount = 0; } else { - r9 = &gRfuLinkStatus->partner[r5]; + target_p = &gRfuLinkStatus->partner[i]; } break; } } - if (r5 < RFU_CHILD_MAX) + if (i < RFU_CHILD_MAX) { - CpuCopy16(r9, &gRfuLinkStatus->partner[slot], sizeof(struct RfuTgtData)); + CpuCopy16(target_p, &gRfuLinkStatus->partner[slot], sizeof(struct RfuTgtData)); gRfuLinkStatus->partner[slot].slot = slot; } } } } - rfu_STC_REQ_callback(sp24, sp28); + rfu_STC_REQ_callback(reqCommand, reqResult); } u16 rfu_getConnectParentStatus(u8 *status, u8 *connectSlotNo) { - u8 r0, *r2; + u8 *packet_p; *status = 0xFF; - r2 = gRfuFixed->STWIBuffer->rxPacketAlloc.rfuPacket8.data; - r0 = r2[0] + 96; - if (r0 <= 1) + packet_p = gRfuFixed->STWIBuffer->rxPacketAlloc.rfuPacket8.data; + if (packet_p[0] == 0xa0 || packet_p[0] == 0xa1) { - r2 += 6; - *connectSlotNo = r2[0]; - *status = r2[1]; + packet_p += 6; + *connectSlotNo = packet_p[0]; + *status = packet_p[1]; return 0; } return ERR_REQ_CMD_ID; @@ -736,28 +831,28 @@ void rfu_REQ_endConnectParent(void) u16 rfu_syncVBlank(void) { - u8 r3, r4; - s32 r5; + u8 masterSlave, i; + s32 bmSlotFlag; rfu_NI_checkCommFailCounter(); if (gRfuLinkStatus->parentChild == MODE_NEUTRAL) return 0; if (gRfuStatic->nowWatchInterval != 0) --gRfuStatic->nowWatchInterval; - r3 = rfu_getMasterSlave(); + masterSlave = rfu_getMasterSlave(); if (!(gRfuStatic->flags & 2)) { - if (r3 == 0) + if (masterSlave == AGB_CLK_SLAVE) { gRfuStatic->flags |= 4; gRfuStatic->watchdogTimer = 360; } } - else if (r3 != 0) + else if (masterSlave != AGB_CLK_SLAVE) { gRfuStatic->flags &= 0xFB; } - if (r3 != 0) + if (masterSlave != AGB_CLK_SLAVE) gRfuStatic->flags &= 0xFD; else gRfuStatic->flags |= 2; @@ -766,10 +861,10 @@ u16 rfu_syncVBlank(void) if (gRfuStatic->watchdogTimer == 0) { gRfuStatic->flags &= 0xFB; - r5 = gRfuLinkStatus->connSlotFlag | gRfuLinkStatus->linkLossSlotFlag; - for (r4 = 0; r4 < RFU_CHILD_MAX; ++r4) - if ((r5 >> r4) & 1) - rfu_STC_removeLinkData(r4, 1); + bmSlotFlag = gRfuLinkStatus->connSlotFlag | gRfuLinkStatus->linkLossSlotFlag; + for (i = 0; i < RFU_CHILD_MAX; ++i) + if ((bmSlotFlag >> i) & 1) + rfu_STC_removeLinkData(i, 1); gRfuLinkStatus->parentChild = MODE_NEUTRAL; return 1; } @@ -779,13 +874,13 @@ u16 rfu_syncVBlank(void) u16 rfu_REQBN_watchLink(u16 reqCommandId, u8 *bmLinkLossSlot, u8 *linkLossReason, u8 *parentBmLinkRecoverySlot) { - u8 sp08 = 0; - u8 sp0C = 0; + u8 reasonMaybe = 0; + u8 reqResult = 0; u8 i; - s32 sp10, sp14; - u8 *r2; - u8 r9, r6, r3, connSlotFlag, r0; - + s32 stwiCommand, stwiParam; + u8 *packet_p; + u8 to_req_disconnect, newLinkLossFlag, num_packets, connSlotFlag, to_disconnect; + *bmLinkLossSlot = 0; *linkLossReason = REASON_DISCONNECTED; *parentBmLinkRecoverySlot = 0; @@ -795,26 +890,30 @@ u16 rfu_REQBN_watchLink(u16 reqCommandId, u8 *bmLinkLossSlot, u8 *linkLossReason gRfuStatic->watchdogTimer = 360; if (gRfuStatic->nowWatchInterval == 0) { + #if LIBRFU_VERSION < 1026 + gRfuStatic->nowWatchInterval = gRfuLinkStatus->watchInterval; + #else gRfuStatic->nowWatchInterval = 4; - sp08 = 1; + #endif + reasonMaybe = 1; } - if ((u8)reqCommandId == 41) + if ((u8)reqCommandId == ID_DISCONNECTED_AND_CHANGE_REQ) { - u8 *r1 = gRfuFixed->STWIBuffer->rxPacketAlloc.rfuPacket8.data; - - *bmLinkLossSlot = r1[4]; - *linkLossReason = r1[5]; + u8 *packet_p_2 = gRfuFixed->STWIBuffer->rxPacketAlloc.rfuPacket8.data; + + *bmLinkLossSlot = packet_p_2[4]; + *linkLossReason = packet_p_2[5]; if (*linkLossReason == REASON_LINK_LOSS) *bmLinkLossSlot = gRfuLinkStatus->connSlotFlag; - sp08 = 2; + reasonMaybe = 2; } else { - if (reqCommandId == 310) + if (reqCommandId == 0x0136) { - r6 = gRfuFixed->STWIBuffer->rxPacketAlloc.rfuPacket8.data[5]; - r6 ^= gRfuLinkStatus->connSlotFlag; - *bmLinkLossSlot = r6 & gRfuLinkStatus->connSlotFlag; + newLinkLossFlag = gRfuFixed->STWIBuffer->rxPacketAlloc.rfuPacket8.data[5]; + newLinkLossFlag ^= gRfuLinkStatus->connSlotFlag; + *bmLinkLossSlot = newLinkLossFlag & gRfuLinkStatus->connSlotFlag; *linkLossReason = REASON_LINK_LOSS; for (i = 0; i < RFU_CHILD_MAX; ++i) { @@ -825,39 +924,41 @@ u16 rfu_REQBN_watchLink(u16 reqCommandId, u8 *bmLinkLossSlot, u8 *linkLossReason } } } - if (sp08 == 0) + if (reasonMaybe == 0) return 0; } - sp10 = gRfuFixed->STWIBuffer->rxPacketAlloc.rfuPacket32.command; - sp14 = gRfuFixed->STWIBuffer->rxPacketAlloc.rfuPacket32.data[0]; + stwiCommand = gRfuFixed->STWIBuffer->rxPacketAlloc.rfuPacket32.command; + stwiParam = gRfuFixed->STWIBuffer->rxPacketAlloc.rfuPacket32.data[0]; STWI_set_Callback_M(rfu_CB_defaultCallback); STWI_send_LinkStatusREQ(); - sp0C = STWI_poll_CommandEnd(); - if (sp0C == 0) + reqResult = STWI_poll_CommandEnd(); + if (reqResult == 0) { - r2 = &gRfuFixed->STWIBuffer->rxPacketAlloc.rfuPacket8.data[4]; + packet_p = &gRfuFixed->STWIBuffer->rxPacketAlloc.rfuPacket8.data[4]; for (i = 0; i < RFU_CHILD_MAX; ++i) - gRfuLinkStatus->strength[i] = *r2++; - r9 = 0; + gRfuLinkStatus->strength[i] = *packet_p++; + to_req_disconnect = 0; i = 0; } else { - rfu_STC_REQ_callback(17, sp0C); - return sp0C; + rfu_STC_REQ_callback(ID_LINK_STATUS_REQ, reqResult); + return reqResult; } for (; i < RFU_CHILD_MAX; ++i) { + #if LIBRFU_VERSION >= 1026 if (gRfuStatic->lsFixedCount[i] != 0) { gRfuStatic->lsFixedCount[i] -= 4; if (gRfuLinkStatus->strength[i] <= 15) gRfuLinkStatus->strength[i] = 16; } - r6 = 1 << i; - if (sp0C == 0) + #endif + newLinkLossFlag = 1 << i; + if (reqResult == 0) { - if (sp08 == 1 && (gRfuLinkStatus->connSlotFlag & r6)) + if (reasonMaybe == 1 && (gRfuLinkStatus->connSlotFlag & newLinkLossFlag)) { if (gRfuLinkStatus->strength[i] == 0) { @@ -866,8 +967,8 @@ u16 rfu_REQBN_watchLink(u16 reqCommandId, u8 *bmLinkLossSlot, u8 *linkLossReason ++gRfuStatic->linkEmergencyFlag[i]; if (gRfuStatic->linkEmergencyFlag[i] > 3) { - *bmLinkLossSlot |= r6; - *linkLossReason = sp08; // why not directly use REASON_LINK_LOSS? + *bmLinkLossSlot |= newLinkLossFlag; + *linkLossReason = REASON_LINK_LOSS; } } else @@ -877,18 +978,18 @@ u16 rfu_REQBN_watchLink(u16 reqCommandId, u8 *bmLinkLossSlot, u8 *linkLossReason { if (gRfuFixed->STWIBuffer->rxPacketAlloc.rfuPacket8.data[7] == 0) { - *bmLinkLossSlot |= r6; - *linkLossReason = sp08; // why not directly use REASON_LINK_LOSS? + *bmLinkLossSlot |= newLinkLossFlag; + *linkLossReason = REASON_LINK_LOSS; } else { - if (++gRfuStatic->linkEmergencyFlag[i] > gRfuStatic->unk_1a) + if (++gRfuStatic->linkEmergencyFlag[i] > gRfuStatic->linkEmergencyLimit) { gRfuStatic->linkEmergencyFlag[i] = 0; STWI_send_DisconnectREQ(gRfuLinkStatus->connSlotFlag); STWI_poll_CommandEnd(); - *bmLinkLossSlot |= r6; - *linkLossReason = sp08; // why not directly use REASON_LINK_LOSS? + *bmLinkLossSlot |= newLinkLossFlag; + *linkLossReason = REASON_LINK_LOSS; } } } @@ -896,18 +997,18 @@ u16 rfu_REQBN_watchLink(u16 reqCommandId, u8 *bmLinkLossSlot, u8 *linkLossReason } else { - gRfuStatic->linkEmergencyFlag[i] = sp0C; // why not directly use 0? + gRfuStatic->linkEmergencyFlag[i] = 0; } } if (gRfuLinkStatus->parentChild == MODE_PARENT && gRfuLinkStatus->strength[i] != 0) { - if (r6 & gRfuLinkStatus->linkLossSlotFlag) + if (newLinkLossFlag & gRfuLinkStatus->linkLossSlotFlag) { if (gRfuLinkStatus->strength[i] > 10) { - *parentBmLinkRecoverySlot |= r6; - gRfuLinkStatus->connSlotFlag |= r6; - gRfuLinkStatus->linkLossSlotFlag &= ~r6; + *parentBmLinkRecoverySlot |= newLinkLossFlag; + gRfuLinkStatus->connSlotFlag |= newLinkLossFlag; + gRfuLinkStatus->linkLossSlotFlag &= ~newLinkLossFlag; ++gRfuLinkStatus->connCount; gRfuStatic->linkEmergencyFlag[i] = 0; } @@ -918,19 +1019,19 @@ u16 rfu_REQBN_watchLink(u16 reqCommandId, u8 *bmLinkLossSlot, u8 *linkLossReason } else { - if (!((gRfuLinkStatus->connSlotFlag | gRfuLinkStatus->linkLossSlotFlag) & r6)) + if (!((gRfuLinkStatus->connSlotFlag | gRfuLinkStatus->linkLossSlotFlag) & newLinkLossFlag)) { STWI_send_SlotStatusREQ(); STWI_poll_CommandEnd(); - r2 = gRfuFixed->STWIBuffer->rxPacketAlloc.rfuPacket8.data; - r3 = r2[1] - 1; - for (r2 += 8; r3 != 0; r2 += 4, --r3) + packet_p = gRfuFixed->STWIBuffer->rxPacketAlloc.rfuPacket8.data; + num_packets = packet_p[1] - 1; + for (packet_p += 8; num_packets != 0; packet_p += 4, --num_packets) { - u16 r4 = *(u16 *)r2; + u16 cid = *(u16 *)packet_p; - if (r2[2] == i && r4 == gRfuStatic->cidBak[i]) + if (packet_p[2] == i && cid == gRfuStatic->cidBak[i]) { - r9 |= 1 << i; + to_req_disconnect |= 1 << i; break; } } @@ -939,47 +1040,49 @@ u16 rfu_REQBN_watchLink(u16 reqCommandId, u8 *bmLinkLossSlot, u8 *linkLossReason } } connSlotFlag = gRfuLinkStatus->connSlotFlag; - r0 = *bmLinkLossSlot; - r0 &= connSlotFlag; - if (r6 & r0) + to_disconnect = *bmLinkLossSlot; + to_disconnect &= connSlotFlag; + if (newLinkLossFlag & to_disconnect) rfu_STC_removeLinkData(i, 0); } - if (r9 != 0) + if (to_req_disconnect != 0) { - STWI_send_DisconnectREQ(r9); + STWI_send_DisconnectREQ(to_req_disconnect); STWI_poll_CommandEnd(); } // equivalent to: - // gRfuFixed->STWIBuffer->rxPacketAlloc.rfuPacket32.command = sp10; - *(u32 *)gRfuFixed->STWIBuffer->rxPacketAlloc.rfuPacket8.data = sp10; - gRfuFixed->STWIBuffer->rxPacketAlloc.rfuPacket32.data[0] = sp14; + // gRfuFixed->STWIBuffer->rxPacketAlloc.rfuPacket32.command = stwiCommand; + *(u32 *)gRfuFixed->STWIBuffer->rxPacketAlloc.rfuPacket8.data = stwiCommand; + gRfuFixed->STWIBuffer->rxPacketAlloc.rfuPacket32.data[0] = stwiParam; return 0; } -static void rfu_STC_removeLinkData(u8 r7, u8 r12) +static void rfu_STC_removeLinkData(u8 bmConnectedPartnerId, u8 bmDisconnect) { - u8 r5 = 1 << r7; - s32 r6; + u8 bmLinkLossFlag = 1 << bmConnectedPartnerId; + s32 bmLinkRetainedFlag; - gRfuStatic->lsFixedCount[r7] = 0; - if ((gRfuLinkStatus->connSlotFlag & r5) && gRfuLinkStatus->connCount != 0) +#if LIBRFU_VERSION >= 1026 + gRfuStatic->lsFixedCount[bmConnectedPartnerId] = 0; +#endif + if ((gRfuLinkStatus->connSlotFlag & bmLinkLossFlag) && gRfuLinkStatus->connCount != 0) --gRfuLinkStatus->connCount; - gRfuLinkStatus->connSlotFlag &= r6 = ~r5; - gRfuLinkStatus->linkLossSlotFlag |= r5; - if ((*(u32 *)gRfuLinkStatus & 0xFF00FF) == 0) + gRfuLinkStatus->connSlotFlag &= bmLinkRetainedFlag = ~bmLinkLossFlag; + gRfuLinkStatus->linkLossSlotFlag |= bmLinkLossFlag; + if (gRfuLinkStatus->parentChild == MODE_CHILD && gRfuLinkStatus->connSlotFlag == 0) gRfuLinkStatus->parentChild = MODE_NEUTRAL; - if (r12 != 0) + if (bmDisconnect) { - CpuFill16(0, &gRfuLinkStatus->partner[r7], sizeof(struct RfuTgtData)); - gRfuLinkStatus->linkLossSlotFlag &= r6; - gRfuLinkStatus->getNameFlag &= r6; - gRfuLinkStatus->strength[r7] = 0; + CpuFill16(0, &gRfuLinkStatus->partner[bmConnectedPartnerId], sizeof(struct RfuTgtData)); + gRfuLinkStatus->linkLossSlotFlag &= bmLinkRetainedFlag; + gRfuLinkStatus->getNameFlag &= bmLinkRetainedFlag; + gRfuLinkStatus->strength[bmConnectedPartnerId] = 0; } } void rfu_REQ_disconnect(u8 bmDisconnectSlot) { - u16 r1; + u16 result; if ((gRfuLinkStatus->connSlotFlag | gRfuLinkStatus->linkLossSlotFlag) & bmDisconnectSlot) { @@ -992,9 +1095,9 @@ void rfu_REQ_disconnect(u8 bmDisconnectSlot) else if (gRfuStatic->SCStartFlag && (STWI_set_Callback_M(rfu_CB_defaultCallback), STWI_send_SC_EndREQ(), - (r1 = STWI_poll_CommandEnd()) != 0)) + (result = STWI_poll_CommandEnd()) != 0)) { - rfu_STC_REQ_callback(27, r1); + rfu_STC_REQ_callback(ID_SC_END_REQ, result); } else { @@ -1004,38 +1107,38 @@ void rfu_REQ_disconnect(u8 bmDisconnectSlot) } } -static void rfu_CB_disconnect(u8 r6, u16 r5) +static void rfu_CB_disconnect(u8 reqCommand, u16 reqResult) { - u8 r4, r0; + u8 i, bm_slot_flag; - if (r5 == 3 && gRfuLinkStatus->parentChild == MODE_CHILD) + if (reqResult == 3 && gRfuLinkStatus->parentChild == MODE_CHILD) { STWI_set_Callback_M(rfu_CB_defaultCallback); STWI_send_SystemStatusREQ(); if (STWI_poll_CommandEnd() == 0 && gRfuFixed->STWIBuffer->rxPacketAlloc.rfuPacket8.data[7] == 0) - r5 = 0; + reqResult = 0; } gRfuStatic->recoveryBmSlot &= gRfuLinkStatus->connSlotFlag | gRfuLinkStatus->linkLossSlotFlag; gRfuFixed->STWIBuffer->rxPacketAlloc.rfuPacket8.data[8] = gRfuStatic->recoveryBmSlot; - if (r5 == 0) + if (reqResult == 0) { - for (r4 = 0; r4 < RFU_CHILD_MAX; ++r4) + for (i = 0; i < RFU_CHILD_MAX; ++i) { - r0 = 1 << r4; - if (r0 & gRfuStatic->recoveryBmSlot) - rfu_STC_removeLinkData(r4, 1); + bm_slot_flag = 1 << i; + if (bm_slot_flag & gRfuStatic->recoveryBmSlot) + rfu_STC_removeLinkData(i, 1); } } if ((gRfuLinkStatus->connSlotFlag | gRfuLinkStatus->linkLossSlotFlag) == 0) gRfuLinkStatus->parentChild = MODE_NEUTRAL; - rfu_STC_REQ_callback(r6, r5); + rfu_STC_REQ_callback(reqCommand, reqResult); if (gRfuStatic->SCStartFlag) { STWI_set_Callback_M(rfu_CB_defaultCallback); STWI_send_SC_StartREQ(); - r5 = STWI_poll_CommandEnd(); - if (r5 != 0) - rfu_STC_REQ_callback(25, r5); + reqResult = STWI_poll_CommandEnd(); + if (reqResult != 0) + rfu_STC_REQ_callback(ID_SC_START_REQ, reqResult); } } @@ -1057,38 +1160,35 @@ void rfu_REQ_CHILD_pollConnectRecovery(void) STWI_send_CPR_PollingREQ(); } -static void rfu_CB_CHILD_pollConnectRecovery(u8 r8, u16 r7) +static void rfu_CB_CHILD_pollConnectRecovery(u8 reqCommand, u16 reqResult) { - u8 r3, r4; - struct RfuLinkStatus *r2; + u8 bm_slot_flag, i; + struct RfuLinkStatus *rfuLinkStatus; - if (r7 == 0 && gRfuFixed->STWIBuffer->rxPacketAlloc.rfuPacket8.data[4] == 0 && gRfuStatic->recoveryBmSlot) + if (reqResult == 0 && gRfuFixed->STWIBuffer->rxPacketAlloc.rfuPacket8.data[4] == 0 && gRfuStatic->recoveryBmSlot) { gRfuLinkStatus->parentChild = MODE_CHILD; - for (r4 = 0; r4 < NELEMS(gRfuStatic->linkEmergencyFlag); ++r4) + for (i = 0; i < RFU_CHILD_MAX; ++i) { - r3 = 1 << r4; - r2 = gRfuLinkStatus; // ??? - if (gRfuStatic->recoveryBmSlot & r3 & r2->linkLossSlotFlag) + bm_slot_flag = 1 << i; + rfuLinkStatus = gRfuLinkStatus; // ??? + if (gRfuStatic->recoveryBmSlot & bm_slot_flag & rfuLinkStatus->linkLossSlotFlag) { - gRfuLinkStatus->connSlotFlag |= r3; - gRfuLinkStatus->linkLossSlotFlag &= ~r3; + gRfuLinkStatus->connSlotFlag |= bm_slot_flag; + gRfuLinkStatus->linkLossSlotFlag &= ~bm_slot_flag; ++gRfuLinkStatus->connCount; - gRfuStatic->linkEmergencyFlag[r4] = 0; + gRfuStatic->linkEmergencyFlag[i] = 0; } } gRfuStatic->recoveryBmSlot = 0; } - rfu_STC_REQ_callback(r8, r7); + rfu_STC_REQ_callback(reqCommand, reqResult); } u16 rfu_CHILD_getConnectRecoveryStatus(u8 *status) { - u8 r0; - *status = 0xFF; - r0 = gRfuFixed->STWIBuffer->rxPacketAlloc.rfuPacket8.data[0] + 77; - if (r0 <= 1) + if (gRfuFixed->STWIBuffer->rxPacketAlloc.rfuPacket8.data[0] == 0xB3 || gRfuFixed->STWIBuffer->rxPacketAlloc.rfuPacket8.data[0] == 0xB4) { *status = gRfuFixed->STWIBuffer->rxPacketAlloc.rfuPacket8.data[4]; return 0; @@ -1116,14 +1216,14 @@ static void rfu_STC_fastCopy(const u8 **src_p, u8 **dst_p, s32 size) void rfu_REQ_changeMasterSlave(void) { - if (STWI_read_status(1) == 1) + if (STWI_read_status(1) == AGB_CLK_MASTER) { STWI_set_Callback_M(rfu_STC_REQ_callback); STWI_send_MS_ChangeREQ(); } else { - rfu_STC_REQ_callback(39, 0); + rfu_STC_REQ_callback(ID_MS_CHANGE_REQ, 0); } } @@ -1133,11 +1233,11 @@ bool8 rfu_getMasterSlave(void) if (masterSlave == AGB_CLK_MASTER) { - if (gSTWIStatus->unk_2c) + if (gSTWIStatus->sending) { - if (gSTWIStatus->reqActiveCommand == 39 - || gSTWIStatus->reqActiveCommand == 37 - || gSTWIStatus->reqActiveCommand == 55) + if (gSTWIStatus->reqActiveCommand == ID_MS_CHANGE_REQ + || gSTWIStatus->reqActiveCommand == ID_DATA_TX_AND_CHANGE_REQ + || gSTWIStatus->reqActiveCommand == ID_RESUME_RETRANSMIT_AND_CHANGE_REQ) masterSlave = AGB_CLK_SLAVE; } } @@ -1148,7 +1248,7 @@ void rfu_clearAllSlot(void) { u16 i; u16 IMEBackup = REG_IME; - + REG_IME = 0; for (i = 0; i < RFU_CHILD_MAX; ++i) { @@ -1164,87 +1264,87 @@ void rfu_clearAllSlot(void) REG_IME = IMEBackup; } -static void rfu_STC_releaseFrame(u8 r5, u8 r3, struct NIComm *r4) +static void rfu_STC_releaseFrame(u8 bm_slot_id, u8 send_recv, struct NIComm *NI_comm) { if (!(gRfuStatic->flags & 0x80)) { - if (r3 == 0) - gRfuLinkStatus->remainLLFrameSizeParent += r4->payloadSize; + if (send_recv == 0) + gRfuLinkStatus->remainLLFrameSizeParent += NI_comm->payloadSize; gRfuLinkStatus->remainLLFrameSizeParent += 3; } else { - if (r3 == 0) - gRfuLinkStatus->remainLLFrameSizeChild[r5] += r4->payloadSize; - gRfuLinkStatus->remainLLFrameSizeChild[r5] += 2; + if (send_recv == 0) + gRfuLinkStatus->remainLLFrameSizeChild[bm_slot_id] += NI_comm->payloadSize; + gRfuLinkStatus->remainLLFrameSizeChild[bm_slot_id] += 2; } } u16 rfu_clearSlot(u8 connTypeFlag, u8 slotStatusIndex) { - u16 r10, r3, r1; - struct NIComm *r4; + u16 imeBak, send_recv, i; + struct NIComm *NI_comm; if (slotStatusIndex >= RFU_CHILD_MAX) return ERR_SLOT_NO; if (!(connTypeFlag & (TYPE_UNI_SEND | TYPE_UNI_RECV | TYPE_NI_SEND | TYPE_NI_RECV))) return ERR_COMM_TYPE; - r10 = REG_IME; + imeBak = REG_IME; REG_IME = 0; if (connTypeFlag & (TYPE_NI_SEND | TYPE_NI_RECV)) { - for (r3 = 0; r3 < 2; ++r3) + for (send_recv = 0; send_recv < 2; ++send_recv) { - r4 = NULL; - if (r3 == 0) + NI_comm = NULL; + if (send_recv == 0) { if (connTypeFlag & TYPE_NI_SEND) { - r4 = &gRfuSlotStatusNI[slotStatusIndex]->send; - gRfuLinkStatus->sendSlotNIFlag &= ~r4->bmSlotOrg; + NI_comm = &gRfuSlotStatusNI[slotStatusIndex]->send; + gRfuLinkStatus->sendSlotNIFlag &= ~NI_comm->bmSlotOrg; } } else { if (connTypeFlag & TYPE_NI_RECV) { - r4 = &gRfuSlotStatusNI[slotStatusIndex]->recv; + NI_comm = &gRfuSlotStatusNI[slotStatusIndex]->recv; gRfuLinkStatus->recvSlotNIFlag &= ~(1 << slotStatusIndex); } } - if (r4 != NULL) + if (NI_comm != NULL) { - if (r4->state & SLOT_BUSY_FLAG) + if (NI_comm->state & SLOT_BUSY_FLAG) { - rfu_STC_releaseFrame(slotStatusIndex, r3, r4); - for (r1 = 0; r1 < RFU_CHILD_MAX; ++r1) - if ((r4->bmSlotOrg >> r1) & 1) - r4->failCounter = 0; + rfu_STC_releaseFrame(slotStatusIndex, send_recv, NI_comm); + for (i = 0; i < RFU_CHILD_MAX; ++i) + if ((NI_comm->bmSlotOrg >> i) & 1) + NI_comm->failCounter = 0; } - CpuFill16(0, r4, sizeof(struct NIComm)); + CpuFill16(0, NI_comm, sizeof(struct NIComm)); } } } if (connTypeFlag & TYPE_UNI_SEND) { - struct RfuSlotStatusUNI *r3 = gRfuSlotStatusUNI[slotStatusIndex]; + struct RfuSlotStatusUNI *slotStatusUNI = gRfuSlotStatusUNI[slotStatusIndex]; - if (r3->send.state & SLOT_BUSY_FLAG) + if (slotStatusUNI->send.state & SLOT_BUSY_FLAG) { if (!(gRfuStatic->flags & 0x80)) - gRfuLinkStatus->remainLLFrameSizeParent += 3 + (u8)r3->send.payloadSize; + gRfuLinkStatus->remainLLFrameSizeParent += 3 + (u8)slotStatusUNI->send.payloadSize; else - gRfuLinkStatus->remainLLFrameSizeChild[slotStatusIndex] += 2 + (u8)r3->send.payloadSize; - gRfuLinkStatus->sendSlotUNIFlag &= ~r3->send.bmSlot; + gRfuLinkStatus->remainLLFrameSizeChild[slotStatusIndex] += 2 + (u8)slotStatusUNI->send.payloadSize; + gRfuLinkStatus->sendSlotUNIFlag &= ~slotStatusUNI->send.bmSlot; } - CpuFill16(0, &r3->send, sizeof(struct UNISend)); + CpuFill16(0, &slotStatusUNI->send, sizeof(struct UNISend)); } if (connTypeFlag & TYPE_UNI_RECV) { CpuFill16(0, &gRfuSlotStatusUNI[slotStatusIndex]->recv, sizeof(struct UNIRecv)); } - REG_IME = r10; + REG_IME = imeBak; return 0; } @@ -1290,16 +1390,16 @@ u16 rfu_NI_CHILD_setSendGameName(u8 slotNo, u8 subFrameSize) return rfu_STC_setSendData_org(64, 1 << slotNo, subFrameSize, &gRfuLinkStatus->my.serialNo, 26); } -static u16 rfu_STC_setSendData_org(u8 r6, u8 bmSendSlot, u8 subFrameSize, const void *src, u32 sp28) +static u16 rfu_STC_setSendData_org(u8 ni_or_uni, u8 bmSendSlot, u8 subFrameSize, const void *src, u32 dataSize) { - u8 r2, r0; - u8 r4; - u8 *r9; - u8 r5; + u8 bm_slot_id, sendSlotFlag; + u8 frameSize; + u8 *llFrameSize_p; + u8 sending; u8 i; - u16 sp04; - struct RfuSlotStatusUNI *r1; - struct RfuSlotStatusNI *r12; + u16 imeBak; + struct RfuSlotStatusUNI *slotStatus_UNI; + struct RfuSlotStatusNI *slotStatus_NI; if (gRfuLinkStatus->parentChild == MODE_NEUTRAL) return ERR_MODE_NOT_CONNECTED; @@ -1307,108 +1407,108 @@ static u16 rfu_STC_setSendData_org(u8 r6, u8 bmSendSlot, u8 subFrameSize, const return ERR_SLOT_NO; if (((gRfuLinkStatus->connSlotFlag | gRfuLinkStatus->linkLossSlotFlag) & bmSendSlot) != bmSendSlot) return ERR_SLOT_NOT_CONNECTED; - if (r6 & 0x10) - r0 = gRfuLinkStatus->sendSlotUNIFlag; + if (ni_or_uni & 0x10) + sendSlotFlag = gRfuLinkStatus->sendSlotUNIFlag; else - r0 = gRfuLinkStatus->sendSlotNIFlag; - if (r0 & bmSendSlot) + sendSlotFlag = gRfuLinkStatus->sendSlotNIFlag; + if (sendSlotFlag & bmSendSlot) return ERR_SLOT_BUSY; - for (r2 = 0; r2 < RFU_CHILD_MAX && !((bmSendSlot >> r2) & 1); ++r2) + for (bm_slot_id = 0; bm_slot_id < RFU_CHILD_MAX && !((bmSendSlot >> bm_slot_id) & 1); ++bm_slot_id) ; if (gRfuLinkStatus->parentChild == MODE_PARENT) - r9 = &gRfuLinkStatus->remainLLFrameSizeParent; + llFrameSize_p = &gRfuLinkStatus->remainLLFrameSizeParent; else if (gRfuLinkStatus->parentChild == MODE_CHILD) - r9 = &gRfuLinkStatus->remainLLFrameSizeChild[r2]; - r4 = llsf_struct[gRfuLinkStatus->parentChild].unk00; - if (subFrameSize > *r9 || subFrameSize <= r4) + llFrameSize_p = &gRfuLinkStatus->remainLLFrameSizeChild[bm_slot_id]; + frameSize = llsf_struct[gRfuLinkStatus->parentChild].frameSize; + if (subFrameSize > *llFrameSize_p || subFrameSize <= frameSize) return ERR_SUBFRAME_SIZE; - sp04 = REG_IME; + imeBak = REG_IME; REG_IME = 0; - r5 = r6 & 0x20; - if (r5 || r6 == 0x40) - { - u8 *r1; // a hack to swap instructions - - r12 = gRfuSlotStatusNI[r2]; - r1 = NULL; - r12->send.errorCode = 0; - *r12->send.now_p = r1 = &r12->send.dataType; - r12->send.remainSize = 7; - r12->send.bmSlotOrg = bmSendSlot; - r12->send.bmSlot = bmSendSlot; - r12->send.payloadSize = subFrameSize - r4; - if (r5 != 0) - *r1 = 0; + sending = ni_or_uni & 0x20; + if (sending || ni_or_uni == 0x40) + { + u8 *dataType_p; // a hack to swap instructions + + slotStatus_NI = gRfuSlotStatusNI[bm_slot_id]; + slotStatus_UNI = NULL; + slotStatus_NI->send.errorCode = 0; + *slotStatus_NI->send.now_p = dataType_p = &slotStatus_NI->send.dataType; + slotStatus_NI->send.remainSize = 7; + slotStatus_NI->send.bmSlotOrg = bmSendSlot; + slotStatus_NI->send.bmSlot = bmSendSlot; + slotStatus_NI->send.payloadSize = subFrameSize - frameSize; + if (sending != 0) + *dataType_p = 0; else - *r1 = 1; - r12->send.dataSize = sp28; - r12->send.src = src; - r12->send.ack = 0; - r12->send.phase = 0; + *dataType_p = 1; + slotStatus_NI->send.dataSize = dataSize; + slotStatus_NI->send.src = src; + slotStatus_NI->send.ack = 0; + slotStatus_NI->send.phase = 0; #ifndef NONMATCHING // to fix r2, r3, r4, r5 register roulette asm("":::"r2"); #endif for (i = 0; i < WINDOW_COUNT; ++i) { - r12->send.recvAckFlag[i] = 0; - r12->send.n[i] = 1; + slotStatus_NI->send.recvAckFlag[i] = 0; + slotStatus_NI->send.n[i] = 1; } - for (r2 = 0; r2 < RFU_CHILD_MAX; ++r2) - if ((bmSendSlot >> r2) & 1) - gRfuSlotStatusNI[r2]->send.failCounter = 0; + for (bm_slot_id = 0; bm_slot_id < RFU_CHILD_MAX; ++bm_slot_id) + if ((bmSendSlot >> bm_slot_id) & 1) + gRfuSlotStatusNI[bm_slot_id]->send.failCounter = 0; gRfuLinkStatus->sendSlotNIFlag |= bmSendSlot; - *r9 -= subFrameSize; - r12->send.state = SLOT_STATE_SEND_START; + *llFrameSize_p -= subFrameSize; + slotStatus_NI->send.state = SLOT_STATE_SEND_START; } - else if (r6 & 0x10) + else if (ni_or_uni & 0x10) { - r1 = gRfuSlotStatusUNI[r2]; - r1->send.bmSlot = bmSendSlot; - r1->send.src = src; - r1->send.payloadSize = subFrameSize - r4; - *r9 -= subFrameSize; - r1->send.state = SLOT_STATE_SEND_UNI; + slotStatus_UNI = gRfuSlotStatusUNI[bm_slot_id]; + slotStatus_UNI->send.bmSlot = bmSendSlot; + slotStatus_UNI->send.src = src; + slotStatus_UNI->send.payloadSize = subFrameSize - frameSize; + *llFrameSize_p -= subFrameSize; + slotStatus_UNI->send.state = SLOT_STATE_SEND_UNI; gRfuLinkStatus->sendSlotUNIFlag |= bmSendSlot; } - REG_IME = sp04; + REG_IME = imeBak; return 0; } u16 rfu_changeSendTarget(u8 connType, u8 slotStatusIndex, u8 bmNewTgtSlot) { - struct RfuSlotStatusNI *r5; - u16 r8; - u8 r2; + struct RfuSlotStatusNI *slotStatusNI; + u16 imeBak; + u8 i; if (slotStatusIndex >= RFU_CHILD_MAX) return ERR_SLOT_NO; if (connType == 0x20) { - r5 = gRfuSlotStatusNI[slotStatusIndex]; - if ((r5->send.state & SLOT_BUSY_FLAG) - && (r5->send.state & SLOT_SEND_FLAG)) + slotStatusNI = gRfuSlotStatusNI[slotStatusIndex]; + if ((slotStatusNI->send.state & SLOT_BUSY_FLAG) + && (slotStatusNI->send.state & SLOT_SEND_FLAG)) { - connType = bmNewTgtSlot ^ r5->send.bmSlot; - + connType = bmNewTgtSlot ^ slotStatusNI->send.bmSlot; + if (!(connType & bmNewTgtSlot)) { if (connType) { - r8 = REG_IME; + imeBak = REG_IME; REG_IME = 0; - for (r2 = 0; r2 < RFU_CHILD_MAX; ++r2) + for (i = 0; i < RFU_CHILD_MAX; ++i) { - if ((connType >> r2) & 1) - gRfuSlotStatusNI[r2]->send.failCounter = 0; + if ((connType >> i) & 1) + gRfuSlotStatusNI[i]->send.failCounter = 0; } gRfuLinkStatus->sendSlotNIFlag &= ~connType; - r5->send.bmSlot = bmNewTgtSlot; - if (r5->send.bmSlot == 0) + slotStatusNI->send.bmSlot = bmNewTgtSlot; + if (slotStatusNI->send.bmSlot == 0) { - rfu_STC_releaseFrame(slotStatusIndex, 0, &r5->send); - r5->send.state = SLOT_STATE_SEND_FAILED; + rfu_STC_releaseFrame(slotStatusIndex, 0, &slotStatusNI->send); + slotStatusNI->send.state = SLOT_STATE_SEND_FAILED; } - REG_IME = r8; + REG_IME = imeBak; } } else @@ -1425,21 +1525,21 @@ u16 rfu_changeSendTarget(u8 connType, u8 slotStatusIndex, u8 bmNewTgtSlot) { if (connType == 16) { - s32 r3; + s32 bmSlot; if (gRfuSlotStatusUNI[slotStatusIndex]->send.state != SLOT_STATE_SEND_UNI) return ERR_SLOT_NOT_SENDING; - for (r3 = 0, r2 = 0; r2 < RFU_CHILD_MAX; ++r2) - if (r2 != slotStatusIndex) - r3 |= gRfuSlotStatusUNI[r2]->send.bmSlot; - if (bmNewTgtSlot & r3) + for (bmSlot = 0, i = 0; i < RFU_CHILD_MAX; ++i) + if (i != slotStatusIndex) + bmSlot |= gRfuSlotStatusUNI[i]->send.bmSlot; + if (bmNewTgtSlot & bmSlot) return ERR_SLOT_TARGET; - r8 = REG_IME; + imeBak = REG_IME; REG_IME = 0; gRfuLinkStatus->sendSlotUNIFlag &= ~gRfuSlotStatusUNI[slotStatusIndex]->send.bmSlot; gRfuLinkStatus->sendSlotUNIFlag |= bmNewTgtSlot; gRfuSlotStatusUNI[slotStatusIndex]->send.bmSlot = bmNewTgtSlot; - REG_IME = r8; + REG_IME = imeBak; } else { @@ -1451,14 +1551,14 @@ u16 rfu_changeSendTarget(u8 connType, u8 slotStatusIndex, u8 bmNewTgtSlot) u16 rfu_NI_stopReceivingData(u8 slotStatusIndex) { - struct NIComm *r5; - u16 r4, r1; + struct NIComm *NI_comm; + u16 imeBak; if (slotStatusIndex >= RFU_CHILD_MAX) return ERR_SLOT_NO; - r5 = &gRfuSlotStatusNI[slotStatusIndex]->recv; - r4 = REG_IME; - ++r4; --r4; // fix r4, r5 register swap + NI_comm = &gRfuSlotStatusNI[slotStatusIndex]->recv; + imeBak = REG_IME; + ++imeBak; --imeBak; // fix imeBak, NI_comm register swap REG_IME = 0; if (gRfuSlotStatusNI[slotStatusIndex]->recv.state & SLOT_BUSY_FLAG) { @@ -1467,43 +1567,43 @@ u16 rfu_NI_stopReceivingData(u8 slotStatusIndex) else gRfuSlotStatusNI[slotStatusIndex]->recv.state = SLOT_STATE_RECV_FAILED; gRfuLinkStatus->recvSlotNIFlag &= ~(1 << slotStatusIndex); - rfu_STC_releaseFrame(slotStatusIndex, 1, r5); + rfu_STC_releaseFrame(slotStatusIndex, 1, NI_comm); } - REG_IME = r4; + REG_IME = imeBak; return 0; } u16 rfu_UNI_changeAndReadySendData(u8 slotStatusIndex, const void *src, u8 size) { - struct UNISend *r4; - u8 *r6; - u16 r1; - u8 r3_; + struct UNISend *UNI_send; + u8 *frame_p; + u16 imeBak; + u8 frameEnd; if (slotStatusIndex >= RFU_CHILD_MAX) return ERR_SLOT_NO; - r4 = &gRfuSlotStatusUNI[slotStatusIndex]->send; - if (r4->state != SLOT_STATE_SEND_UNI) + UNI_send = &gRfuSlotStatusUNI[slotStatusIndex]->send; + if (UNI_send->state != SLOT_STATE_SEND_UNI) return ERR_SLOT_NOT_SENDING; if (gRfuLinkStatus->parentChild == MODE_PARENT) { - r6 = &gRfuLinkStatus->remainLLFrameSizeParent; - r3_ = gRfuLinkStatus->remainLLFrameSizeParent + (u8)r4->payloadSize; + frame_p = &gRfuLinkStatus->remainLLFrameSizeParent; + frameEnd = gRfuLinkStatus->remainLLFrameSizeParent + (u8)UNI_send->payloadSize; } else { - r6 = &gRfuLinkStatus->remainLLFrameSizeChild[slotStatusIndex]; - r3_ = gRfuLinkStatus->remainLLFrameSizeChild[slotStatusIndex] + (u8)r4->payloadSize; + frame_p = &gRfuLinkStatus->remainLLFrameSizeChild[slotStatusIndex]; + frameEnd = gRfuLinkStatus->remainLLFrameSizeChild[slotStatusIndex] + (u8)UNI_send->payloadSize; } - if (r3_ < size) + if (frameEnd < size) return ERR_SUBFRAME_SIZE; - r1 = REG_IME; + imeBak = REG_IME; REG_IME = 0; - r4->src = src; - *r6 = r3_ - size; - r4->payloadSize = size; - r4->dataReadyFlag = 1; - REG_IME = r1; + UNI_send->src = src; + *frame_p = frameEnd - size; + UNI_send->payloadSize = size; + UNI_send->dataReadyFlag = 1; + REG_IME = imeBak; return 0; } @@ -1582,184 +1682,184 @@ void rfu_REQ_sendData(bool8 clockChangeFlag) } } -static void rfu_CB_sendData(__attribute__((unused)) u8 r0, u16 r7) +static void rfu_CB_sendData(UNUSED u8 reqCommand, u16 reqResult) { - u8 r6; - struct NIComm *r4; + u8 i; + struct NIComm *NI_comm; - if (r7 == 0) + if (reqResult == 0) { - for (r6 = 0; r6 < RFU_CHILD_MAX; ++r6) + for (i = 0; i < RFU_CHILD_MAX; ++i) { - if (gRfuSlotStatusUNI[r6]->send.dataReadyFlag) - gRfuSlotStatusUNI[r6]->send.dataReadyFlag = 0; - r4 = &gRfuSlotStatusNI[r6]->send; - if (r4->state == SLOT_STATE_SEND_NULL) + if (gRfuSlotStatusUNI[i]->send.dataReadyFlag) + gRfuSlotStatusUNI[i]->send.dataReadyFlag = 0; + NI_comm = &gRfuSlotStatusNI[i]->send; + if (NI_comm->state == SLOT_STATE_SEND_NULL) { - rfu_STC_releaseFrame(r6, 0, r4); - gRfuLinkStatus->sendSlotNIFlag &= ~r4->bmSlot; - if (r4->dataType == 1) - gRfuLinkStatus->getNameFlag |= 1 << r6; - r4->state = SLOT_STATE_SEND_SUCCESS; + rfu_STC_releaseFrame(i, 0, NI_comm); + gRfuLinkStatus->sendSlotNIFlag &= ~NI_comm->bmSlot; + if (NI_comm->dataType == 1) + gRfuLinkStatus->getNameFlag |= 1 << i; + NI_comm->state = SLOT_STATE_SEND_SUCCESS; } } } gRfuLinkStatus->LLFReadyFlag = 0; - rfu_STC_REQ_callback(36, r7); + rfu_STC_REQ_callback(ID_DATA_TX_REQ, reqResult); } -static void rfu_CB_sendData2(__attribute__((unused)) u8 r0, u16 r1) +static void rfu_CB_sendData2(UNUSED u8 reqCommand, u16 reqResult) { - rfu_STC_REQ_callback(36, r1); + rfu_STC_REQ_callback(ID_DATA_TX_REQ, reqResult); } -static void rfu_CB_sendData3(u8 r0, u16 r1) +static void rfu_CB_sendData3(u8 reqCommand, u16 reqResult) { - if (r1 != 0) - rfu_STC_REQ_callback(36, r1); - else if (r0 == 0xFF) - rfu_STC_REQ_callback(0xFF, 0); + if (reqResult != 0) + rfu_STC_REQ_callback(ID_DATA_TX_REQ, reqResult); + else if (reqCommand == ID_CLOCK_SLAVE_MS_CHANGE_ERROR_BY_DMA_REQ) + rfu_STC_REQ_callback(ID_CLOCK_SLAVE_MS_CHANGE_ERROR_BY_DMA_REQ, 0); } static void rfu_constructSendLLFrame(void) { - u32 r8, r5; - u8 r6; - u8 *sp00; - struct RfuSlotStatusNI *r2; + u32 pakcketSize, currSize; + u8 i; + u8 *llf_p; + struct RfuSlotStatusNI *slotStatusNI; if (gRfuLinkStatus->parentChild != MODE_NEUTRAL && gRfuLinkStatus->sendSlotNIFlag | gRfuLinkStatus->recvSlotNIFlag | gRfuLinkStatus->sendSlotUNIFlag) { gRfuLinkStatus->LLFReadyFlag = 0; - r8 = 0; - sp00 = (u8 *)&gRfuFixed->LLFBuffer[1]; - for (r6 = 0; r6 < RFU_CHILD_MAX; ++r6) + pakcketSize = 0; + llf_p = (u8 *)&gRfuFixed->LLFBuffer[1]; + for (i = 0; i < RFU_CHILD_MAX; ++i) { - r5 = 0; - if (gRfuSlotStatusNI[r6]->send.state & SLOT_BUSY_FLAG) - r5 = rfu_STC_NI_constructLLSF(r6, &sp00, &gRfuSlotStatusNI[r6]->send); - if (gRfuSlotStatusNI[r6]->recv.state & SLOT_BUSY_FLAG) - r5 += rfu_STC_NI_constructLLSF(r6, &sp00, &gRfuSlotStatusNI[r6]->recv); - if (gRfuSlotStatusUNI[r6]->send.state == SLOT_STATE_SEND_UNI) - r5 += rfu_STC_UNI_constructLLSF(r6, &sp00); - if (r5 != 0) + currSize = 0; + if (gRfuSlotStatusNI[i]->send.state & SLOT_BUSY_FLAG) + currSize = rfu_STC_NI_constructLLSF(i, &llf_p, &gRfuSlotStatusNI[i]->send); + if (gRfuSlotStatusNI[i]->recv.state & SLOT_BUSY_FLAG) + currSize += rfu_STC_NI_constructLLSF(i, &llf_p, &gRfuSlotStatusNI[i]->recv); + if (gRfuSlotStatusUNI[i]->send.state == SLOT_STATE_SEND_UNI) + currSize += rfu_STC_UNI_constructLLSF(i, &llf_p); + if (currSize != 0) { if (gRfuLinkStatus->parentChild == MODE_PARENT) - r8 += r5; + pakcketSize += currSize; else - r8 |= r5 << (5 * r6 + 8); + pakcketSize |= currSize << (5 * i + 8); } } - if (r8 != 0) + if (pakcketSize != 0) { - while ((u32)sp00 & 3) - *sp00++ = 0; - gRfuFixed->LLFBuffer[0] = r8; + while ((u32)llf_p & 3) + *llf_p++ = 0; + gRfuFixed->LLFBuffer[0] = pakcketSize; if (gRfuLinkStatus->parentChild == MODE_CHILD) { - u8 *r0 = sp00 - offsetof(struct RfuFixed, LLFBuffer[1]); - - // Does the volatile qualifier make sense? - // It's the same as: + u8 *maxSize = llf_p - offsetof(struct RfuFixed, LLFBuffer[1]); + + // Does the volatile qualifier make sense? + // It's the same as: // asm("":::"memory"); - r8 = r0 - *(u8 *volatile *)&gRfuFixed; + pakcketSize = maxSize - *(u8 *volatile *)&gRfuFixed; } } - gRfuStatic->totalPacketSize = r8; + gRfuStatic->totalPacketSize = pakcketSize; } } -static u16 rfu_STC_NI_constructLLSF(u8 r10, u8 **r12, struct NIComm *r4) +static u16 rfu_STC_NI_constructLLSF(u8 bm_slot_id, u8 **dest_pp, struct NIComm *NI_comm) { - u16 r5; - u32 sp00; + u16 size; + u32 frame; u8 i; - u8 *r2; - const struct LLSFStruct *r8 = &llsf_struct[gRfuLinkStatus->parentChild]; + u8 *frame8_p; + const struct LLSFStruct *llsf = &llsf_struct[gRfuLinkStatus->parentChild]; - if (r4->state == SLOT_STATE_SENDING) + if (NI_comm->state == SLOT_STATE_SENDING) { - while (r4->now_p[r4->phase] >= (const u8 *)r4->src + r4->dataSize) + while (NI_comm->now_p[NI_comm->phase] >= (const u8 *)NI_comm->src + NI_comm->dataSize) { - ++r4->phase; - if (r4->phase == 4) - r4->phase = 0; + ++NI_comm->phase; + if (NI_comm->phase == 4) + NI_comm->phase = 0; } } - if (r4->state & SLOT_RECV_FLAG) + if (NI_comm->state & SLOT_RECV_FLAG) { - r5 = 0; + size = 0; } - else if (r4->state == SLOT_STATE_SENDING) + else if (NI_comm->state == SLOT_STATE_SENDING) { - if (r4->now_p[r4->phase] + r4->payloadSize > (const u8 *)r4->src + r4->dataSize) - r5 = (const u8 *)r4->src + r4->dataSize - r4->now_p[r4->phase]; + if (NI_comm->now_p[NI_comm->phase] + NI_comm->payloadSize > (const u8 *)NI_comm->src + NI_comm->dataSize) + size = (const u8 *)NI_comm->src + NI_comm->dataSize - NI_comm->now_p[NI_comm->phase]; else - r5 = r4->payloadSize; + size = NI_comm->payloadSize; } else { - if ((u32)r4->remainSize >= r4->payloadSize) - r5 = r4->payloadSize; + if ((u32)NI_comm->remainSize >= NI_comm->payloadSize) + size = NI_comm->payloadSize; else - r5 = r4->remainSize; + size = NI_comm->remainSize; } - sp00 = (r4->state & 0xF) << r8->unk03 - | r4->ack << r8->unk04 - | r4->phase << r8->unk05 - | r4->n[r4->phase] << r8->unk06 - | r5; + frame = (NI_comm->state & 0xF) << llsf->slotStateShift + | NI_comm->ack << llsf->ackShift + | NI_comm->phase << llsf->phaseShit + | NI_comm->n[NI_comm->phase] << llsf->nShift + | size; if (gRfuLinkStatus->parentChild == MODE_PARENT) - sp00 |= r4->bmSlot << 18; - r2 = (u8 *)&sp00; - for (i = 0; i < r8->unk00; ++i) - *(*r12)++ = *r2++; - if (r5 != 0) + frame |= NI_comm->bmSlot << 18; + frame8_p = (u8 *)&frame; + for (i = 0; i < llsf->frameSize; ++i) + *(*dest_pp)++ = *frame8_p++; + if (size != 0) { - const u8 *sp04 = r4->now_p[r4->phase]; + const u8 *src = NI_comm->now_p[NI_comm->phase]; - gRfuFixed->fastCopyPtr(&sp04, r12, r5); + gRfuFixed->fastCopyPtr(&src, dest_pp, size); } - if (r4->state == SLOT_STATE_SENDING) + if (NI_comm->state == SLOT_STATE_SENDING) { - ++r4->phase; - if (r4->phase == 4) - r4->phase = 0; + ++NI_comm->phase; + if (NI_comm->phase == 4) + NI_comm->phase = 0; } if (gRfuLinkStatus->parentChild == MODE_PARENT) gRfuLinkStatus->LLFReadyFlag = 1; else - gRfuLinkStatus->LLFReadyFlag |= 1 << r10; - return r5 + r8->unk00; + gRfuLinkStatus->LLFReadyFlag |= 1 << bm_slot_id; + return size + llsf->frameSize; } -static u16 rfu_STC_UNI_constructLLSF(u8 r8, u8 **r6) +static u16 rfu_STC_UNI_constructLLSF(u8 bm_slot_id, u8 **dest_p) { - const struct LLSFStruct *r5; - const u8 *sp04; - u32 sp00; - u8 *r2; + const struct LLSFStruct *llsf; + const u8 *src_p; + u32 frame; + u8 *frame8_p; u8 i; - struct UNISend *r4 = &gRfuSlotStatusUNI[r8]->send; + struct UNISend *UNI_send = &gRfuSlotStatusUNI[bm_slot_id]->send; - if (!r4->dataReadyFlag || !r4->bmSlot) + if (!UNI_send->dataReadyFlag || !UNI_send->bmSlot) return 0; - r5 = &llsf_struct[gRfuLinkStatus->parentChild]; - sp00 = (r4->state & 0xF) << r5->unk03 - | r4->payloadSize; + llsf = &llsf_struct[gRfuLinkStatus->parentChild]; + frame = (UNI_send->state & 0xF) << llsf->slotStateShift + | UNI_send->payloadSize; if (gRfuLinkStatus->parentChild == MODE_PARENT) - sp00 |= r4->bmSlot << 18; - r2 = (u8 *)&sp00; - for (i = 0; i < r5->unk00; ++i) - *(*r6)++ = *r2++; - sp04 = r4->src; - gRfuFixed->fastCopyPtr(&sp04, r6, r4->payloadSize); + frame |= UNI_send->bmSlot << 18; + frame8_p = (u8 *)&frame; + for (i = 0; i < llsf->frameSize; ++i) + *(*dest_p)++ = *frame8_p++; + src_p = UNI_send->src; + gRfuFixed->fastCopyPtr(&src_p, dest_p, UNI_send->payloadSize); if (gRfuLinkStatus->parentChild == MODE_PARENT) gRfuLinkStatus->LLFReadyFlag = 16; else - gRfuLinkStatus->LLFReadyFlag |= 16 << r8; - return r5->unk00 + r4->payloadSize; + gRfuLinkStatus->LLFReadyFlag |= 16 << bm_slot_id; + return llsf->frameSize + UNI_send->payloadSize; } void rfu_REQ_recvData(void) @@ -1773,435 +1873,433 @@ void rfu_REQ_recvData(void) } } -static void rfu_CB_recvData(u8 r9, u16 r7) +static void rfu_CB_recvData(u8 reqCommand, u16 reqResult) { - u8 r6; - struct RfuSlotStatusNI *r4; - struct NIComm *r5; + u8 i; + struct RfuSlotStatusNI *slotStatusNI; + struct NIComm *NI_comm; - if (r7 == 0 && gRfuFixed->STWIBuffer->rxPacketAlloc.rfuPacket8.data[1]) + if (reqResult == 0 && gRfuFixed->STWIBuffer->rxPacketAlloc.rfuPacket8.data[1]) { gRfuStatic->NIEndRecvFlag = 0; if (gRfuLinkStatus->parentChild == MODE_PARENT) rfu_STC_PARENT_analyzeRecvPacket(); else rfu_STC_CHILD_analyzeRecvPacket(); - for (r6 = 0; r6 < RFU_CHILD_MAX; ++r6) + for (i = 0; i < RFU_CHILD_MAX; ++i) { - r4 = gRfuSlotStatusNI[r6]; - if (r4->recv.state == SLOT_STATE_RECV_LAST && !((gRfuStatic->NIEndRecvFlag >> r6) & 1)) + slotStatusNI = gRfuSlotStatusNI[i]; + if (slotStatusNI->recv.state == SLOT_STATE_RECV_LAST && !((gRfuStatic->NIEndRecvFlag >> i) & 1)) { - r5 = &r4->recv; - if (r5->dataType == 1) - gRfuLinkStatus->getNameFlag |= 1 << r6; - rfu_STC_releaseFrame(r6, 1, r5); - gRfuLinkStatus->recvSlotNIFlag &= ~r5->bmSlot; - r4->recv.state = SLOT_STATE_RECV_SUCCESS; + NI_comm = &slotStatusNI->recv; + if (NI_comm->dataType == 1) + gRfuLinkStatus->getNameFlag |= 1 << i; + rfu_STC_releaseFrame(i, 1, NI_comm); + gRfuLinkStatus->recvSlotNIFlag &= ~NI_comm->bmSlot; + slotStatusNI->recv.state = SLOT_STATE_RECV_SUCCESS; } } if (gRfuStatic->recvErrorFlag) - r7 = gRfuStatic->recvErrorFlag | ERR_DATA_RECV; + reqResult = gRfuStatic->recvErrorFlag | ERR_DATA_RECV; } - rfu_STC_REQ_callback(r9, r7); + rfu_STC_REQ_callback(reqCommand, reqResult); } static void rfu_STC_PARENT_analyzeRecvPacket(void) { - u32 r3; - u8 r5; - u8 sp[4]; - u8 *r6; + u32 frames32; + u8 bm_slot_id; + u8 frame_counts[RFU_CHILD_MAX]; + u8 *packet_p; - r3 = gRfuFixed->STWIBuffer->rxPacketAlloc.rfuPacket32.data[0] >> 8; - for (r5 = 0; r5 < NELEMS(sp); ++r5) + frames32 = gRfuFixed->STWIBuffer->rxPacketAlloc.rfuPacket32.data[0] >> 8; + for (bm_slot_id = 0; bm_slot_id < RFU_CHILD_MAX; ++bm_slot_id) { - sp[r5] = r3 & 0x1F; - r3 >>= 5; - if (sp[r5] == 0) - gRfuStatic->NIEndRecvFlag |= 1 << r5; + frame_counts[bm_slot_id] = frames32 & 0x1F; + frames32 >>= 5; + if (frame_counts[bm_slot_id] == 0) + gRfuStatic->NIEndRecvFlag |= 1 << bm_slot_id; } - r6 = &gRfuFixed->STWIBuffer->rxPacketAlloc.rfuPacket8.data[8]; - for (r5 = 0; r5 < NELEMS(sp); ++r5) + packet_p = &gRfuFixed->STWIBuffer->rxPacketAlloc.rfuPacket8.data[8]; + for (bm_slot_id = 0; bm_slot_id < RFU_CHILD_MAX; ++bm_slot_id) { - if (sp[r5]) + if (frame_counts[bm_slot_id]) { - u8 *r4 = &sp[r5]; + u8 *frames_p = &frame_counts[bm_slot_id]; do { - u8 r0 = rfu_STC_analyzeLLSF(r5, r6, *r4); + u8 analyzed_frames = rfu_STC_analyzeLLSF(bm_slot_id, packet_p, *frames_p); - r6 += r0; - *r4 -= r0; - } while (!(*r4 & 0x80) && (*r4)); + packet_p += analyzed_frames; + *frames_p -= analyzed_frames; + } while (!(*frames_p & 0x80) && (*frames_p)); } } } static void rfu_STC_CHILD_analyzeRecvPacket(void) { - u16 r4; - u8 *r5; - u16 r0; + u16 frames_remaining; + u8 *packet_p; + u16 analyzed_frames; - r4 = *(u16 *)&gRfuFixed->STWIBuffer->rxPacketAlloc.rfuPacket8.data[4] & 0x7F; - r5 = &gRfuFixed->STWIBuffer->rxPacketAlloc.rfuPacket8.data[8]; - if (r4 == 0) + frames_remaining = *(u16 *)&gRfuFixed->STWIBuffer->rxPacketAlloc.rfuPacket8.data[4] & 0x7F; + packet_p = &gRfuFixed->STWIBuffer->rxPacketAlloc.rfuPacket8.data[8]; + if (frames_remaining == 0) gRfuStatic->NIEndRecvFlag = 15; do { - if (r4 == 0) + if (frames_remaining == 0) break; - r0 = rfu_STC_analyzeLLSF(0, r5, r4); - r5 += r0; - r4 -= r0; - } while (!(r4 & 0x8000)); -} - -static u16 rfu_STC_analyzeLLSF(u8 r12, const u8 *r7, u16 r3) -{ - struct RfuLocalStruct sp00; - const struct LLSFStruct *r6; - u32 r5; - u8 r4; - u32 r0; - u16 r10; - - r6 = &llsf_struct[~gRfuLinkStatus->parentChild & (MODE_NEUTRAL & MODE_PARENT)]; - if (r3 < r6->unk00) - return r3; - r5 = 0; - for (r4 = 0; r4 < r6->unk00; ++r4) - r5 |= *r7++ << 8 * r4; - sp00.unk00 = (r5 >> r6->unk01) & r6->unk07; - sp00.unk01 = (r5 >> r6->unk02) & r6->unk08; - sp00.unk02 = (r5 >> r6->unk03) & r6->unk09; - sp00.unk03 = (r5 >> r6->unk04) & r6->unk0A; - sp00.unk04 = (r5 >> r6->unk05) & r6->unk0B; - sp00.unk05 = (r5 >> r6->unk06) & r6->unk0C; - sp00.unk06 = (r5 & r6->unk0E) & r5; - r10 = sp00.unk06 + r6->unk00; - if (sp00.unk00 == 0) + analyzed_frames = rfu_STC_analyzeLLSF(0, packet_p, frames_remaining); + packet_p += analyzed_frames; + frames_remaining -= analyzed_frames; + } while (!(frames_remaining & 0x8000)); +} + +static u16 rfu_STC_analyzeLLSF(u8 slot_id, const u8 *src, u16 last_frame) +{ + struct RfuLocalStruct llsf_NI; + const struct LLSFStruct *llsf_p; + u32 frames; + u8 i; + u16 retVal; + + llsf_p = &llsf_struct[~gRfuLinkStatus->parentChild & (MODE_NEUTRAL & MODE_PARENT)]; + if (last_frame < llsf_p->frameSize) + return last_frame; + frames = 0; + for (i = 0; i < llsf_p->frameSize; ++i) + frames |= *src++ << 8 * i; + llsf_NI.recvFirst = (frames >> llsf_p->recvFirstShift) & llsf_p->recvFirstMask; + llsf_NI.connSlotFlag = (frames >> llsf_p->connSlotFlagShift) & llsf_p->connSlotFlagMask; + llsf_NI.slotState = (frames >> llsf_p->slotStateShift) & llsf_p->slotStateMask; + llsf_NI.ack = (frames >> llsf_p->ackShift) & llsf_p->ackMask; + llsf_NI.phase = (frames >> llsf_p->phaseShit) & llsf_p->phaseMask; + llsf_NI.n = (frames >> llsf_p->nShift) & llsf_p->nMask; + llsf_NI.frame = (frames & llsf_p->framesMask) & frames; + retVal = llsf_NI.frame + llsf_p->frameSize; + if (llsf_NI.recvFirst == 0) { if (gRfuLinkStatus->parentChild == MODE_PARENT) { - if ((gRfuLinkStatus->connSlotFlag >> r12) & 1) + if ((gRfuLinkStatus->connSlotFlag >> slot_id) & 1) { - if (sp00.unk02 == 4) + if (llsf_NI.slotState == LCOM_UNI) { - rfu_STC_UNI_receive(r12, &sp00, r7); + rfu_STC_UNI_receive(slot_id, &llsf_NI, src); } - else if (sp00.unk03 == 0) + else if (llsf_NI.ack == 0) { - rfu_STC_NI_receive_Receiver(r12, &sp00, r7); + rfu_STC_NI_receive_Receiver(slot_id, &llsf_NI, src); } else { - for (r4 = 0; r4 < RFU_CHILD_MAX; ++r4) - if (((gRfuSlotStatusNI[r4]->send.bmSlot >> r12) & 1) - && ((gRfuLinkStatus->sendSlotNIFlag >> r12) & 1)) + for (i = 0; i < RFU_CHILD_MAX; ++i) + if (((gRfuSlotStatusNI[i]->send.bmSlot >> slot_id) & 1) + && ((gRfuLinkStatus->sendSlotNIFlag >> slot_id) & 1)) break; - if (r4 <= 3) - rfu_STC_NI_receive_Sender(r4, r12, &sp00, r7); + if (i < RFU_CHILD_MAX) + rfu_STC_NI_receive_Sender(i, slot_id, &llsf_NI, src); } } } else { - s32 r5 = gRfuLinkStatus->connSlotFlag & sp00.unk01; + s32 conSlots = gRfuLinkStatus->connSlotFlag & llsf_NI.connSlotFlag; - if (r5) + if (conSlots) { - for (r4 = 0; r4 < RFU_CHILD_MAX; ++r4) + for (i = 0; i < RFU_CHILD_MAX; ++i) { - if ((r5 >> r4) & 1) + if ((conSlots >> i) & 1) { - if (sp00.unk02 == 4) - rfu_STC_UNI_receive(r4, &sp00, r7); - else if (sp00.unk03 == 0) - rfu_STC_NI_receive_Receiver(r4, &sp00, r7); - else if ((gRfuLinkStatus->sendSlotNIFlag >> r4) & 1) - rfu_STC_NI_receive_Sender(r4, r4, &sp00, r7); + if (llsf_NI.slotState == LCOM_UNI) + rfu_STC_UNI_receive(i, &llsf_NI, src); + else if (llsf_NI.ack == 0) + rfu_STC_NI_receive_Receiver(i, &llsf_NI, src); + else if ((gRfuLinkStatus->sendSlotNIFlag >> i) & 1) + rfu_STC_NI_receive_Sender(i, i, &llsf_NI, src); } } } } } - return r10; + return retVal; } -static void rfu_STC_UNI_receive(u8 r7, const struct RfuLocalStruct *r6, const u8 *sp00) +static void rfu_STC_UNI_receive(u8 bm_slot_id, const struct RfuLocalStruct *llsf_NI, const u8 *src) { - u8 *sp04; - u32 r2; - struct RfuSlotStatusUNI *r3 = gRfuSlotStatusUNI[r7]; - struct UNIRecv *r5 = &r3->recv; + u8 *dest; + u32 size; + struct RfuSlotStatusUNI *slotStatusUNI = gRfuSlotStatusUNI[bm_slot_id]; + struct UNIRecv *UNI_recv = &slotStatusUNI->recv; - r5->errorCode = 0; - if (gRfuSlotStatusUNI[r7]->recvBufferSize < r6->unk06) + UNI_recv->errorCode = 0; + if (gRfuSlotStatusUNI[bm_slot_id]->recvBufferSize < llsf_NI->frame) { - r3->recv.state = SLOT_STATE_RECV_IGNORE; - r5->errorCode = ERR_RECV_BUFF_OVER; + slotStatusUNI->recv.state = SLOT_STATE_RECV_IGNORE; + UNI_recv->errorCode = ERR_RECV_BUFF_OVER; } else - { - if (r5->dataBlockFlag) + { + if (UNI_recv->dataBlockFlag) { - if (r5->newDataFlag) + if (UNI_recv->newDataFlag) { - r5->errorCode = ERR_RECV_UNK; - goto _081E2F0E; + UNI_recv->errorCode = ERR_RECV_UNK; + goto force_tail_merge; } } else { - if (r5->newDataFlag) - r5->errorCode = ERR_RECV_DATA_OVERWRITED; + if (UNI_recv->newDataFlag) + UNI_recv->errorCode = ERR_RECV_DATA_OVERWRITED; } - r5->state = SLOT_STATE_RECEIVING; - r2 = r5->dataSize = r6->unk06; - sp04 = gRfuSlotStatusUNI[r7]->recvBuffer; - gRfuFixed->fastCopyPtr(&sp00, &sp04, r2); - r5->newDataFlag = 1; - r5->state = 0; + UNI_recv->state = SLOT_STATE_RECEIVING; + size = UNI_recv->dataSize = llsf_NI->frame; + dest = gRfuSlotStatusUNI[bm_slot_id]->recvBuffer; + gRfuFixed->fastCopyPtr(&src, &dest, size); + UNI_recv->newDataFlag = 1; + UNI_recv->state = 0; } -_081E2F0E: - if (r5->errorCode) - gRfuStatic->recvErrorFlag |= 16 << r7; +force_tail_merge: + if (UNI_recv->errorCode) + gRfuStatic->recvErrorFlag |= 16 << bm_slot_id; } -static void rfu_STC_NI_receive_Sender(u8 r0, u8 r10, const struct RfuLocalStruct *r6, const u8 *r3) +static void rfu_STC_NI_receive_Sender(u8 NI_slot, u8 bm_flag, const struct RfuLocalStruct *llsf_NI, const u8 *data_p) { - struct NIComm *r12 = &gRfuSlotStatusNI[r0]->send; - u16 r9 = r12->state; - u8 sp00 = r12->n[r6->unk04]; - u8 *r8; - u8 r4; - u16 r2; + struct NIComm *NI_comm = &gRfuSlotStatusNI[NI_slot]->send; + u16 state = NI_comm->state; + u8 n = NI_comm->n[llsf_NI->phase]; + u8 i; + u16 imeBak; - if ((r6->unk02 == 2 && r9 == SLOT_STATE_SENDING) - || (r6->unk02 == 1 && r9 == SLOT_STATE_SEND_START) - || (r6->unk02 == 3 && r9 == SLOT_STATE_SEND_LAST)) + if ((llsf_NI->slotState == LCOM_NI && state == SLOT_STATE_SENDING) + || (llsf_NI->slotState == LCOM_NI_START && state == SLOT_STATE_SEND_START) + || (llsf_NI->slotState == LCOM_NI_END && state == SLOT_STATE_SEND_LAST)) { - if (r12->n[r6->unk04] == r6->unk05) - r12->recvAckFlag[r6->unk04] |= 1 << r10; + if (NI_comm->n[llsf_NI->phase] == llsf_NI->n) + NI_comm->recvAckFlag[llsf_NI->phase] |= 1 << bm_flag; } - if ((r12->recvAckFlag[r6->unk04] & r12->bmSlot) == r12->bmSlot) + if ((NI_comm->recvAckFlag[llsf_NI->phase] & NI_comm->bmSlot) == NI_comm->bmSlot) { - r12->n[r6->unk04] = (r12->n[r6->unk04] + 1) & 3; - r12->recvAckFlag[r6->unk04] = 0; - if ((u16)(r12->state + ~SLOT_STATE_SEND_NULL) <= 1) + NI_comm->n[llsf_NI->phase] = (NI_comm->n[llsf_NI->phase] + 1) & 3; + NI_comm->recvAckFlag[llsf_NI->phase] = 0; + if ((u16)(NI_comm->state + ~SLOT_STATE_SEND_NULL) <= 1) { - if (r12->state == SLOT_STATE_SEND_START) - r12->now_p[r6->unk04] += r12->payloadSize; + if (NI_comm->state == SLOT_STATE_SEND_START) + NI_comm->now_p[llsf_NI->phase] += NI_comm->payloadSize; else - r12->now_p[r6->unk04] += r12->payloadSize << 2; - r12->remainSize -= r12->payloadSize; - if (r12->remainSize != 0) - if (r12->remainSize >= 0) + NI_comm->now_p[llsf_NI->phase] += NI_comm->payloadSize << 2; + NI_comm->remainSize -= NI_comm->payloadSize; + if (NI_comm->remainSize != 0) + if (NI_comm->remainSize >= 0) goto _081E30AE; - // Above is a hack to avoid optimization over comparison. - // rfu_STC_NI_constructLLSF uses this field as u32. - // It's equivalent to the following condition: - // if (r12->remainSize == 0 || r12->remainSize < 0) - { - r12->phase = 0; - if (r12->state == SLOT_STATE_SEND_START) + // Above is a hack to avoid optimization over comparison. + // rfu_STC_NI_constructLLSF uses this field as u32. + // It's equivalent to the following condition: + // if (NI_comm->remainSize == 0 || NI_comm->remainSize < 0) { - for (r4 = 0; r4 < WINDOW_COUNT; ++r4) + NI_comm->phase = 0; + if (NI_comm->state == SLOT_STATE_SEND_START) { - r12->n[r4] = 1; - r12->now_p[r4] = r12->src + r12->payloadSize * r4; + for (i = 0; i < WINDOW_COUNT; ++i) + { + NI_comm->n[i] = 1; + NI_comm->now_p[i] = NI_comm->src + NI_comm->payloadSize * i; + } + NI_comm->remainSize = NI_comm->dataSize; + NI_comm->state = SLOT_STATE_SENDING; + } + else + { + NI_comm->n[0] = 0; + NI_comm->remainSize = 0; + NI_comm->state = SLOT_STATE_SEND_LAST; } - r12->remainSize = r12->dataSize; - r12->state = SLOT_STATE_SENDING; - } - else - { - r12->n[0] = 0; - r12->remainSize = 0; - r12->state = SLOT_STATE_SEND_LAST; } - } _081E30AE: ; } - else if (r12->state == SLOT_STATE_SEND_LAST) + else if (NI_comm->state == SLOT_STATE_SEND_LAST) { - r12->state = SLOT_STATE_SEND_NULL; + NI_comm->state = SLOT_STATE_SEND_NULL; } } - if (r12->state != r9 - || r12->n[r6->unk04] != sp00 - || (r12->recvAckFlag[r6->unk04] >> r10) & 1) + if (NI_comm->state != state + || NI_comm->n[llsf_NI->phase] != n + || (NI_comm->recvAckFlag[llsf_NI->phase] >> bm_flag) & 1) { - r2 = REG_IME; + imeBak = REG_IME; REG_IME = 0; - gRfuStatic->recvRenewalFlag |= 16 << r10; - gRfuSlotStatusNI[r10]->send.failCounter = 0; - REG_IME = r2; + gRfuStatic->recvRenewalFlag |= 16 << bm_flag; + gRfuSlotStatusNI[bm_flag]->send.failCounter = 0; + REG_IME = imeBak; } } -static void rfu_STC_NI_receive_Receiver(u8 r8, const struct RfuLocalStruct *r6, const u8 *sp00) +static void rfu_STC_NI_receive_Receiver(u8 bm_slot_id, const struct RfuLocalStruct *llsf_NI, const u8 *data_p) { - u16 r2; - u32 r7 = 0; - struct RfuSlotStatusNI *r4 = gRfuSlotStatusNI[r8]; - struct NIComm *r5 = &r4->recv; - u16 r9 = r4->recv.state; - u8 r10 = r4->recv.n[r6->unk04]; + u16 imeBak; + u32 state_check = 0; + struct RfuSlotStatusNI *slotStatus_NI = gRfuSlotStatusNI[bm_slot_id]; + struct NIComm *recvSlot = &slotStatus_NI->recv; + u16 state = slotStatus_NI->recv.state; + u8 n = slotStatus_NI->recv.n[llsf_NI->phase]; - if (r6->unk02 == 3) + if (llsf_NI->slotState == LCOM_NI_END) { - gRfuStatic->NIEndRecvFlag |= 1 << r8; - if (r4->recv.state == SLOT_STATE_RECEIVING) + gRfuStatic->NIEndRecvFlag |= 1 << bm_slot_id; + if (slotStatus_NI->recv.state == SLOT_STATE_RECEIVING) { - r4->recv.phase = 0; - r4->recv.n[0] = 0; - r4->recv.state = SLOT_STATE_RECV_LAST; + slotStatus_NI->recv.phase = 0; + slotStatus_NI->recv.n[0] = 0; + slotStatus_NI->recv.state = SLOT_STATE_RECV_LAST; } } - else if (r6->unk02 == 2) + else if (llsf_NI->slotState == LCOM_NI) { - if (r9 == SLOT_STATE_RECV_START && !r5->remainSize) - rfu_STC_NI_initSlot_asRecvDataEntity(r8, r5); - if (r5->state == SLOT_STATE_RECEIVING) - r7 = 1; + if (state == SLOT_STATE_RECV_START && !recvSlot->remainSize) + rfu_STC_NI_initSlot_asRecvDataEntity(bm_slot_id, recvSlot); + if (recvSlot->state == SLOT_STATE_RECEIVING) + state_check = 1; } - else if (r6->unk02 == 1) + else if (llsf_NI->slotState == LCOM_NI_START) { - if (r9 == SLOT_STATE_RECV_START) + if (state == SLOT_STATE_RECV_START) { - r7 = 1; + state_check = 1; } else { - rfu_STC_NI_initSlot_asRecvControllData(r8, r5); - if (r4->recv.state != SLOT_STATE_RECV_START) + rfu_STC_NI_initSlot_asRecvControllData(bm_slot_id, recvSlot); + if (slotStatus_NI->recv.state != SLOT_STATE_RECV_START) return; - r7 = 1; + state_check = 1; } } - if (r7 != 0) + if (state_check != 0) { - if (r6->unk05 == ((r5->n[r6->unk04] + 1) & 3)) + if (llsf_NI->n == ((recvSlot->n[llsf_NI->phase] + 1) & 3)) { - gRfuFixed->fastCopyPtr(&sp00, (u8 **)&r5->now_p[r6->unk04], r6->unk06); - if (r5->state == SLOT_STATE_RECEIVING) - r5->now_p[r6->unk04] += 3 * r5->payloadSize; - r5->remainSize -= r6->unk06; - r5->n[r6->unk04] = r6->unk05; + gRfuFixed->fastCopyPtr(&data_p, (u8 **)&recvSlot->now_p[llsf_NI->phase], llsf_NI->frame); + if (recvSlot->state == SLOT_STATE_RECEIVING) + recvSlot->now_p[llsf_NI->phase] += 3 * recvSlot->payloadSize; + recvSlot->remainSize -= llsf_NI->frame; + recvSlot->n[llsf_NI->phase] = llsf_NI->n; } } - if (r5->errorCode == 0) + if (recvSlot->errorCode == 0) { - r5->phase = r6->unk04; - if (r5->state != r9 || r5->n[r6->unk04] != r10 || r5->n[r6->unk04] == r6->unk05) + recvSlot->phase = llsf_NI->phase; + if (recvSlot->state != state || recvSlot->n[llsf_NI->phase] != n || recvSlot->n[llsf_NI->phase] == llsf_NI->n) { - r2 = REG_IME; + imeBak = REG_IME; REG_IME = 0; - gRfuStatic->recvRenewalFlag |= 1 << r8; - r5->failCounter = 0; - REG_IME = r2; + gRfuStatic->recvRenewalFlag |= 1 << bm_slot_id; + recvSlot->failCounter = 0; + REG_IME = imeBak; } } } -static void rfu_STC_NI_initSlot_asRecvControllData(u8 r4, struct NIComm *r2) +static void rfu_STC_NI_initSlot_asRecvControllData(u8 bm_slot_id, struct NIComm *NI_comm) { - u8 *r1; - u32 r5; - u8 r6; + u8 *llFrameSize_p; + u32 llFrameSize; + u8 bm_slot_flag; if (gRfuLinkStatus->parentChild == MODE_PARENT) { - r5 = 3; - r1 = &gRfuLinkStatus->remainLLFrameSizeParent; + llFrameSize = 3; + llFrameSize_p = &gRfuLinkStatus->remainLLFrameSizeParent; } else { - r5 = 2; - r1 = &gRfuLinkStatus->remainLLFrameSizeChild[r4]; + llFrameSize = 2; + llFrameSize_p = &gRfuLinkStatus->remainLLFrameSizeChild[bm_slot_id]; } - r6 = 1 << r4; - if (r2->state == 0) + bm_slot_flag = 1 << bm_slot_id; + if (NI_comm->state == 0) { - if (*r1 < r5) + if (*llFrameSize_p < llFrameSize) { - r2->state = SLOT_STATE_RECV_IGNORE; - r2->errorCode = ERR_RECV_REPLY_SUBFRAME_SIZE; - gRfuStatic->recvErrorFlag |= r6; + NI_comm->state = SLOT_STATE_RECV_IGNORE; + NI_comm->errorCode = ERR_RECV_REPLY_SUBFRAME_SIZE; + gRfuStatic->recvErrorFlag |= bm_slot_flag; } else { - r2->errorCode = 0; - *r1 -= r5; - r2->now_p[0] = &r2->dataType; - r2->remainSize = 7; - r2->ack = 1; - r2->payloadSize = 0; - r2->bmSlot = r6; - r2->state = SLOT_STATE_RECV_START; - gRfuLinkStatus->recvSlotNIFlag |= r6; + NI_comm->errorCode = 0; + *llFrameSize_p -= llFrameSize; + NI_comm->now_p[0] = &NI_comm->dataType; + NI_comm->remainSize = 7; + NI_comm->ack = 1; + NI_comm->payloadSize = 0; + NI_comm->bmSlot = bm_slot_flag; + NI_comm->state = SLOT_STATE_RECV_START; + gRfuLinkStatus->recvSlotNIFlag |= bm_slot_flag; } } } -static void rfu_STC_NI_initSlot_asRecvDataEntity(u8 r5, struct NIComm *r4) +static void rfu_STC_NI_initSlot_asRecvDataEntity(u8 bm_slot_id, struct NIComm *NI_comm) { - u8 r1, r3; + u8 bm_slot_flag, win_id; - if (r4->dataType == 1) + if (NI_comm->dataType == 1) { - r4->now_p[0] = (void *)&gRfuLinkStatus->partner[r5].serialNo; + NI_comm->now_p[0] = (void *)&gRfuLinkStatus->partner[bm_slot_id].serialNo; } else { - if (r4->dataSize > gRfuSlotStatusNI[r5]->recvBufferSize) + if (NI_comm->dataSize > gRfuSlotStatusNI[bm_slot_id]->recvBufferSize) { - r1 = 1 << r5; - gRfuStatic->recvErrorFlag |= r1; - gRfuLinkStatus->recvSlotNIFlag &= ~r1; - r4->errorCode = ERR_RECV_BUFF_OVER; - r4->state = SLOT_STATE_RECV_FAILED; - rfu_STC_releaseFrame(r5, 1, r4); + bm_slot_flag = 1 << bm_slot_id; + gRfuStatic->recvErrorFlag |= bm_slot_flag; + gRfuLinkStatus->recvSlotNIFlag &= ~bm_slot_flag; + NI_comm->errorCode = ERR_RECV_BUFF_OVER; + NI_comm->state = SLOT_STATE_RECV_FAILED; + rfu_STC_releaseFrame(bm_slot_id, 1, NI_comm); return; } - r4->now_p[0] = gRfuSlotStatusNI[r5]->recvBuffer; + NI_comm->now_p[0] = gRfuSlotStatusNI[bm_slot_id]->recvBuffer; } - for (r3 = 0; r3 < WINDOW_COUNT; ++r3) + for (win_id = 0; win_id < WINDOW_COUNT; ++win_id) { - r4->n[r3] = 0; - r4->now_p[r3] = &r4->now_p[0][r4->payloadSize * r3]; + NI_comm->n[win_id] = 0; + NI_comm->now_p[win_id] = &NI_comm->now_p[0][NI_comm->payloadSize * win_id]; } - r4->remainSize = r4->dataSize; - r4->state = SLOT_STATE_RECEIVING; + NI_comm->remainSize = NI_comm->dataSize; + NI_comm->state = SLOT_STATE_RECEIVING; } static void rfu_NI_checkCommFailCounter(void) { - u16 r12; - u32 r7; - u8 r2, r3; + u16 imeBak; + u32 recvRenewalFlag; + u8 bm_slot_flag, bm_slot_id; if (gRfuLinkStatus->sendSlotNIFlag | gRfuLinkStatus->recvSlotNIFlag) { - r12 = REG_IME; + imeBak = REG_IME; REG_IME = 0; - r7 = gRfuStatic->recvRenewalFlag >> 4; - for (r3 = 0; r3 < RFU_CHILD_MAX; ++r3) + recvRenewalFlag = gRfuStatic->recvRenewalFlag >> 4; + for (bm_slot_id = 0; bm_slot_id < RFU_CHILD_MAX; ++bm_slot_id) { - r2 = 1 << r3; - if (gRfuLinkStatus->sendSlotNIFlag & r2 - && !(gRfuStatic->recvRenewalFlag & r2)) - ++gRfuSlotStatusNI[r3]->send.failCounter; - if (gRfuLinkStatus->recvSlotNIFlag & r2 - && !(r7 & r2)) - ++gRfuSlotStatusNI[r3]->recv.failCounter; + bm_slot_flag = 1 << bm_slot_id; + if (gRfuLinkStatus->sendSlotNIFlag & bm_slot_flag + && !(gRfuStatic->recvRenewalFlag & bm_slot_flag)) + ++gRfuSlotStatusNI[bm_slot_id]->send.failCounter; + if (gRfuLinkStatus->recvSlotNIFlag & bm_slot_flag + && !(recvRenewalFlag & bm_slot_flag)) + ++gRfuSlotStatusNI[bm_slot_id]->recv.failCounter; } gRfuStatic->recvRenewalFlag = 0; - REG_IME = r12; + REG_IME = imeBak; } } diff --git a/src/librfu_sio32id.c b/src/librfu_sio32id.c index fc5701986..b6623540f 100644 --- a/src/librfu_sio32id.c +++ b/src/librfu_sio32id.c @@ -4,44 +4,56 @@ static void Sio32IDIntr(void); static void Sio32IDInit(void); static s32 Sio32IDMain(void); +struct RfuSIO32Id +{ + u8 MS_mode; + u8 state; + u16 count; + u16 send_id; + u16 recv_id; + u16 unk8; // unused + u16 lastId; +}; + struct RfuSIO32Id gRfuSIO32Id; static const u16 Sio32ConnectionData[] = { 0x494e, 0x544e, 0x4e45, 0x4f44 }; // NINTENDO static const char Sio32IDLib_Var[] = "Sio32ID_030820"; -s32 AgbRFU_checkID(u8 r5) +s32 AgbRFU_checkID(u8 maxTries) { - u16 r8; - vu16 *r4; - s32 r6; + u16 ieBak; + vu16 *regTMCNTL; + s32 id; + // Interrupts must be enabled if (REG_IME == 0) return -1; - r8 = REG_IE; + ieBak = REG_IE; gSTWIStatus->state = 10; STWI_set_Callback_ID(Sio32IDIntr); Sio32IDInit(); - r4 = ®_TMCNT_L(gSTWIStatus->timerSelect); - r5 *= 8; - while (--r5 != 0xFF) + regTMCNTL = ®_TMCNT_L(gSTWIStatus->timerSelect); + maxTries *= 8; + while (--maxTries != 0xFF) { - r6 = Sio32IDMain(); - if (r6 != 0) + id = Sio32IDMain(); + if (id != 0) break; - r4[1] = 0; - r4[0] = 0; - r4[1] = TIMER_1024CLK | TIMER_ENABLE; - while (r4[0] < 32) + regTMCNTL[1] = 0; + regTMCNTL[0] = 0; + regTMCNTL[1] = TIMER_1024CLK | TIMER_ENABLE; + while (regTMCNTL[0] < 32) ; - r4[1] = 0; - r4[0] = 0; + regTMCNTL[1] = 0; + regTMCNTL[0] = 0; } REG_IME = 0; - REG_IE = r8; + REG_IE = ieBak; REG_IME = 1; gSTWIStatus->state = 0; STWI_set_Callback_ID(NULL); - return r6; + return id; } static void Sio32IDInit(void) @@ -58,107 +70,105 @@ static void Sio32IDInit(void) static s32 Sio32IDMain(void) { - u8 r12; - - switch (r12 = gRfuSIO32Id.unk1) + switch (gRfuSIO32Id.state) { case 0: - gRfuSIO32Id.unk0 = 1; + gRfuSIO32Id.MS_mode = AGB_CLK_MASTER; REG_SIOCNT |= SIO_38400_BPS; - REG_IME = r12; + REG_IME = 0; REG_IE |= INTR_FLAG_SERIAL; REG_IME = 1; - gRfuSIO32Id.unk1 = 1; + gRfuSIO32Id.state = 1; *(vu8 *)®_SIOCNT |= SIO_ENABLE; break; case 1: - if (gRfuSIO32Id.unkA == 0) + if (gRfuSIO32Id.lastId == 0) { - if (gRfuSIO32Id.unk0 == 1) + if (gRfuSIO32Id.MS_mode == AGB_CLK_MASTER) { - if (gRfuSIO32Id.unk2 == 0) + if (gRfuSIO32Id.count == 0) { - REG_IME = gRfuSIO32Id.unk2; + REG_IME = 0; REG_SIOCNT |= SIO_ENABLE; - REG_IME = r12; + REG_IME = 1; } } - else if (gRfuSIO32Id.unk4 != 0x8001 && !gRfuSIO32Id.unk2) + else if (gRfuSIO32Id.send_id != RFU_ID && !gRfuSIO32Id.count) { - REG_IME = gRfuSIO32Id.unk2; + REG_IME = 0; REG_IE &= ~INTR_FLAG_SERIAL; - REG_IME = r12; - REG_SIOCNT = gRfuSIO32Id.unk2; + REG_IME = 1; + REG_SIOCNT = 0; REG_SIOCNT = SIO_32BIT_MODE; REG_IF = INTR_FLAG_SERIAL; REG_SIOCNT |= SIO_INTR_ENABLE | SIO_ENABLE; - REG_IME = gRfuSIO32Id.unk2; + REG_IME = 0; REG_IE |= INTR_FLAG_SERIAL; - REG_IME = r12; + REG_IME = 1; } break; } else { - gRfuSIO32Id.unk1 = 2; + gRfuSIO32Id.state = 2; // fallthrough } default: - return gRfuSIO32Id.unkA; + return gRfuSIO32Id.lastId; } return 0; } static void Sio32IDIntr(void) { - u32 r5; - u16 r0; + u32 regSIODATA32; + u16 delay; #ifndef NONMATCHING - register u32 r1 asm("r1"); - register u16 r0_ asm("r0"); + register u32 rfuSIO32IdUnk0_times_16 asm("r1"); + register u16 negRfuSIO32IdUnk6 asm("r0"); #else - u32 r1; - u16 r0_; + u32 rfuSIO32IdUnk0_times_16; + u16 negRfuSIO32IdUnk6; #endif - r5 = REG_SIODATA32; - if (gRfuSIO32Id.unk0 != 1) + regSIODATA32 = REG_SIODATA32; + if (gRfuSIO32Id.MS_mode != AGB_CLK_MASTER) REG_SIOCNT |= SIO_ENABLE; - r1 = 16 * gRfuSIO32Id.unk0; // to handle side effect of inline asm - r1 = (r5 << r1) >> 16; - r5 = (r5 << 16 * (1 - gRfuSIO32Id.unk0)) >> 16; - if (gRfuSIO32Id.unkA == 0) + rfuSIO32IdUnk0_times_16 = 16 * gRfuSIO32Id.MS_mode; // to handle side effect of inline asm + rfuSIO32IdUnk0_times_16 = (regSIODATA32 << rfuSIO32IdUnk0_times_16) >> 16; + regSIODATA32 = (regSIODATA32 << 16 * (1 - gRfuSIO32Id.MS_mode)) >> 16; + if (gRfuSIO32Id.lastId == 0) { - if (r1 == gRfuSIO32Id.unk6) + if (rfuSIO32IdUnk0_times_16 == gRfuSIO32Id.recv_id) { - if (gRfuSIO32Id.unk2 > 3) + if (gRfuSIO32Id.count > 3) { - gRfuSIO32Id.unkA = r5; + gRfuSIO32Id.lastId = regSIODATA32; } - else if (r1 == (u16)~gRfuSIO32Id.unk4) + else if (rfuSIO32IdUnk0_times_16 == (u16)~gRfuSIO32Id.send_id) { - r0_ = ~gRfuSIO32Id.unk6; - if (r5 == r0_) - ++gRfuSIO32Id.unk2; + negRfuSIO32IdUnk6 = ~gRfuSIO32Id.recv_id; + if (regSIODATA32 == negRfuSIO32IdUnk6) + ++gRfuSIO32Id.count; } } else { - gRfuSIO32Id.unk2 = gRfuSIO32Id.unkA; + gRfuSIO32Id.count = 0; } } - if (gRfuSIO32Id.unk2 < 4) - gRfuSIO32Id.unk4 = *(gRfuSIO32Id.unk2 + Sio32ConnectionData); + if (gRfuSIO32Id.count < 4) + gRfuSIO32Id.send_id = *(gRfuSIO32Id.count + Sio32ConnectionData); else - gRfuSIO32Id.unk4 = 0x8001; - gRfuSIO32Id.unk6 = ~r5; - REG_SIODATA32 = (gRfuSIO32Id.unk4 << 16 * (1 - gRfuSIO32Id.unk0)) - + (gRfuSIO32Id.unk6 << 16 * gRfuSIO32Id.unk0); - if (gRfuSIO32Id.unk0 == 1 && (gRfuSIO32Id.unk2 || r5 == 0x494E)) + gRfuSIO32Id.send_id = RFU_ID; + gRfuSIO32Id.recv_id = ~regSIODATA32; + REG_SIODATA32 = (gRfuSIO32Id.send_id << 16 * (1 - gRfuSIO32Id.MS_mode)) + + (gRfuSIO32Id.recv_id << 16 * gRfuSIO32Id.MS_mode); + if (gRfuSIO32Id.MS_mode == AGB_CLK_MASTER && (gRfuSIO32Id.count != 0 || regSIODATA32 == 0x494e)) { - for (r0 = 0; r0 < 600; ++r0) + for (delay = 0; delay < 600; ++delay) ; - if (gRfuSIO32Id.unkA == 0) + if (gRfuSIO32Id.lastId == 0) REG_SIOCNT |= SIO_ENABLE; } } diff --git a/src/librfu_stwi.c b/src/librfu_stwi.c index b88f21737..0287b358a 100644 --- a/src/librfu_stwi.c +++ b/src/librfu_stwi.c @@ -28,8 +28,8 @@ void STWI_init_all(struct RfuIntrStruct *interruptStruct, IntrFunc *interrupt, b } gSTWIStatus->rxPacket = &interruptStruct->rxPacketAlloc; gSTWIStatus->txPacket = &interruptStruct->txPacketAlloc; - gSTWIStatus->msMode = 1; - gSTWIStatus->state = 0; + gSTWIStatus->msMode = AGB_CLK_MASTER; + gSTWIStatus->state = 0; // master send req gSTWIStatus->reqLength = 0; gSTWIStatus->reqNext = 0; gSTWIStatus->ackLength = 0; @@ -39,7 +39,7 @@ void STWI_init_all(struct RfuIntrStruct *interruptStruct, IntrFunc *interrupt, b gSTWIStatus->timerActive = 0; gSTWIStatus->error = 0; gSTWIStatus->recoveryCount = 0; - gSTWIStatus->unk_2c = 0; + gSTWIStatus->sending = 0; REG_RCNT = 0x100; // TODO: mystery bit? REG_SIOCNT = SIO_INTR_ENABLE | SIO_32BIT_MODE | SIO_115200_BPS; STWI_init_Callback_M(); @@ -71,7 +71,7 @@ void AgbRFU_SoftReset(void) *timerH = 3; REG_RCNT = 0x80A0; REG_SIOCNT = SIO_INTR_ENABLE | SIO_32BIT_MODE | SIO_115200_BPS; - gSTWIStatus->state = 0; + gSTWIStatus->state = 0; // master send req gSTWIStatus->reqLength = 0; gSTWIStatus->reqNext = 0; gSTWIStatus->reqActiveCommand = 0; @@ -81,9 +81,9 @@ void AgbRFU_SoftReset(void) gSTWIStatus->timerState = 0; gSTWIStatus->timerActive = 0; gSTWIStatus->error = 0; - gSTWIStatus->msMode = 1; + gSTWIStatus->msMode = AGB_CLK_MASTER; gSTWIStatus->recoveryCount = 0; - gSTWIStatus->unk_2c = 0; + gSTWIStatus->sending = 0; } void STWI_set_MS_mode(u8 mode) @@ -131,12 +131,12 @@ void STWI_set_Callback_S(void (*callbackS)(u16)) void STWI_set_Callback_ID(void (*func)(void)) // name in SDK, but is actually setting a function pointer { - gSTWIStatus->unk_20 = func; + gSTWIStatus->callbackID = func; } u16 STWI_poll_CommandEnd(void) { - while (gSTWIStatus->unk_2c == TRUE) + while (gSTWIStatus->sending == 1) ; return gSTWIStatus->error; } @@ -195,7 +195,7 @@ void STWI_send_ConfigStatusREQ(void) } } -void STWI_send_GameConfigREQ(const u8 *unk1, const u8 *data) +void STWI_send_GameConfigREQ(const u8 *serial_gname, const u8 *uname) { u8 *packetBytes; s32 i; @@ -203,29 +203,28 @@ void STWI_send_GameConfigREQ(const u8 *unk1, const u8 *data) if (!STWI_init(ID_GAME_CONFIG_REQ)) { gSTWIStatus->reqLength = 6; - // TODO: what is unk1 packetBytes = gSTWIStatus->txPacket->rfuPacket8.data; packetBytes += sizeof(u32); - *(u16 *)packetBytes = *(u16 *)unk1; + *(u16 *)packetBytes = *(u16 *)serial_gname; packetBytes += sizeof(u16); - unk1 += sizeof(u16); + serial_gname += sizeof(u16); for (i = 0; i < 14; ++i) { - *packetBytes = *unk1; + *packetBytes = *serial_gname; ++packetBytes; - ++unk1; + ++serial_gname; } for (i = 0; i < 8; ++i) { - *packetBytes = *data; + *packetBytes = *uname; ++packetBytes; - ++data; + ++uname; } STWI_start_Command(); } } -void STWI_send_SystemConfigREQ(u16 unk1, u8 unk2, u8 unk3) +void STWI_send_SystemConfigREQ(u16 availSlotFlag, u8 maxMFrame, u8 mcTimer) { if (!STWI_init(ID_SYSTEM_CONFIG_REQ)) { @@ -234,9 +233,9 @@ void STWI_send_SystemConfigREQ(u16 unk1, u8 unk2, u8 unk3) gSTWIStatus->reqLength = 1; packetBytes = gSTWIStatus->txPacket->rfuPacket8.data; packetBytes += sizeof(u32); - *packetBytes++ = unk3; - *packetBytes++ = unk2; - *(u16*)packetBytes = unk1; + *packetBytes++ = mcTimer; + *packetBytes++ = maxMFrame; + *(u16*)packetBytes = availSlotFlag; STWI_start_Command(); } } @@ -499,20 +498,17 @@ static void STWI_intr_timer(void) STWI_stop_timer(); STWI_reset_ClockCounter(); if (gSTWIStatus->callbackM != NULL) - gSTWIStatus->callbackM(255, 0); + gSTWIStatus->callbackM(ID_CLOCK_SLAVE_MS_CHANGE_ERROR_BY_DMA_REQ, 0); break; } } -static void STWI_set_timer(u8 unk) +static void STWI_set_timer(u8 count) { - vu16 *timerL; - vu16 *timerH; - - timerL = ®_TMCNT_L(gSTWIStatus->timerSelect); - timerH = ®_TMCNT_H(gSTWIStatus->timerSelect); + vu16 *timerL = ®_TMCNT_L(gSTWIStatus->timerSelect); + vu16 *timerH = ®_TMCNT_H(gSTWIStatus->timerSelect); REG_IME = 0; - switch (unk) + switch (count) { case 50: *timerL = 0xFCCB; @@ -543,25 +539,31 @@ static void STWI_stop_timer(void) REG_TMCNT_H(gSTWIStatus->timerSelect) = 0; } +/* + * Set up STWI to send REQ. Returns 1 if error (see below). + */ static u16 STWI_init(u8 request) { if (!REG_IME) { + // Can't start sending if IME is disabled. gSTWIStatus->error = ERR_REQ_CMD_IME_DISABLE; if (gSTWIStatus->callbackM != NULL) gSTWIStatus->callbackM(request, gSTWIStatus->error); return TRUE; } - else if (gSTWIStatus->unk_2c == TRUE) + else if (gSTWIStatus->sending == 1) { + // Already sending something. Cancel and error. gSTWIStatus->error = ERR_REQ_CMD_SENDING; - gSTWIStatus->unk_2c = FALSE; + gSTWIStatus->sending = 0; if (gSTWIStatus->callbackM != NULL) gSTWIStatus->callbackM(request, gSTWIStatus->error); return TRUE; } - else if(!gSTWIStatus->msMode) + else if (gSTWIStatus->msMode == AGB_CLK_SLAVE) { + // Can't send if clock slave gSTWIStatus->error = ERR_REQ_CMD_CLOCK_SLAVE; if (gSTWIStatus->callbackM != NULL) gSTWIStatus->callbackM(request, gSTWIStatus->error, gSTWIStatus); @@ -569,9 +571,10 @@ static u16 STWI_init(u8 request) } else { - gSTWIStatus->unk_2c = TRUE; + // Good to go, start sending + gSTWIStatus->sending = 1; gSTWIStatus->reqActiveCommand = request; - gSTWIStatus->state = 0; + gSTWIStatus->state = 0; // master send req gSTWIStatus->reqLength = 0; gSTWIStatus->reqNext = 0; gSTWIStatus->ackLength = 0; @@ -595,7 +598,7 @@ static s32 STWI_start_Command(void) // but the cast here is required to avoid register issue *(u32 *)gSTWIStatus->txPacket->rfuPacket8.data = 0x99660000 | (gSTWIStatus->reqLength << 8) | gSTWIStatus->reqActiveCommand; REG_SIODATA32 = gSTWIStatus->txPacket->rfuPacket32.command; - gSTWIStatus->state = 0; + gSTWIStatus->state = 0; // master send req gSTWIStatus->reqNext = 1; imeTemp = REG_IME; REG_IME = 0; @@ -608,7 +611,7 @@ static s32 STWI_start_Command(void) static s32 STWI_restart_Command(void) { - if (gSTWIStatus->recoveryCount <= 1) + if (gSTWIStatus->recoveryCount < 2) { ++gSTWIStatus->recoveryCount; STWI_start_Command(); @@ -618,17 +621,17 @@ static s32 STWI_restart_Command(void) if (gSTWIStatus->reqActiveCommand == ID_MS_CHANGE_REQ || gSTWIStatus->reqActiveCommand == ID_DATA_TX_AND_CHANGE_REQ || gSTWIStatus->reqActiveCommand == ID_UNK35_REQ || gSTWIStatus->reqActiveCommand == ID_RESUME_RETRANSMIT_AND_CHANGE_REQ) { gSTWIStatus->error = ERR_REQ_CMD_CLOCK_DRIFT; - gSTWIStatus->unk_2c = 0; + gSTWIStatus->sending = 0; if (gSTWIStatus->callbackM != NULL) gSTWIStatus->callbackM(gSTWIStatus->reqActiveCommand, gSTWIStatus->error); } else { gSTWIStatus->error = ERR_REQ_CMD_CLOCK_DRIFT; - gSTWIStatus->unk_2c = 0; + gSTWIStatus->sending = 0; if (gSTWIStatus->callbackM != NULL) gSTWIStatus->callbackM(gSTWIStatus->reqActiveCommand, gSTWIStatus->error); - gSTWIStatus->state = 4; // TODO: what's 4 + gSTWIStatus->state = 4; // error } } return 0; @@ -636,7 +639,7 @@ static s32 STWI_restart_Command(void) static s32 STWI_reset_ClockCounter(void) { - gSTWIStatus->state = 5; // TODO: what is 5 + gSTWIStatus->state = 5; // slave receive req init gSTWIStatus->reqLength = 0; gSTWIStatus->reqNext = 0; REG_SIODATA32 = (1 << 31); diff --git a/src/link.c b/src/link.c index 939a4afc8..34c9ee7ef 100644 --- a/src/link.c +++ b/src/link.c @@ -223,7 +223,7 @@ bool8 IsWirelessAdapterConnected(void) { sub_800B488(); sub_800E700(); - if (sub_800BEC0() == 0x8001) + if (rfu_LMAN_REQBN_softReset_and_checkID() == 0x8001) { rfu_REQ_stopMode(); rfu_waitREQComplete(); diff --git a/src/link_rfu.c b/src/link_rfu.c deleted file mode 100644 index 9291f574e..000000000 --- a/src/link_rfu.c +++ /dev/null @@ -1,5146 +0,0 @@ -#include "global.h" -#include "malloc.h" -#include "battle.h" -#include "berry_blender.h" -#include "decompress.h" -#include "event_data.h" -#include "gpu_regs.h" -#include "librfu.h" -#include "link.h" -#include "link_rfu.h" -#include "overworld.h" -#include "random.h" -#include "palette.h" -#include "union_room.h" -#include "string_util.h" -#include "task.h" -#include "text.h" -#include "constants/species.h" -#include "save.h" -#include "mystery_gift.h" - -extern u16 gHeldKeyCodeToSend; - -struct UnkRfuStruct_1 gUnknown_03004140; -struct UnkRfuStruct_2 gUnknown_03005000; - -BSS_DATA u8 gUnknown_03000D74; -ALIGNED(4) BSS_DATA u8 gUnknown_03000D78[8]; -BSS_DATA u8 gUnknown_03000D80[16]; -BSS_DATA u16 gUnknown_03000D90[8]; - -EWRAM_DATA u8 gWirelessStatusIndicatorSpriteId = 0; -EWRAM_DATA ALIGNED(4) struct UnkLinkRfuStruct_02022B14 gUnknown_02022B14 = {}; -EWRAM_DATA ALIGNED(2) u8 gUnknown_02022B22[PLAYER_NAME_LENGTH + 1] = {}; -EWRAM_DATA struct UnkLinkRfuStruct_02022B2C gUnknown_02022B2C = {}; -EWRAM_DATA struct UnkLinkRfuStruct_02022B44 gUnknown_02022B44 = {}; - -// Static ROM declarations -static void sub_800C000(void); -static void sub_800C7B4(u16 r8, u16 r6); -static void sub_800C744(u32 a0); -static void sub_800CEB0(u16 r6); -static void sub_800CF34(void); -static void sub_800D158(void); -static void sub_800D20C(void); -static void sub_800D268(void); -static u8 sub_800D294(void); -static void sub_800D30C(u8 a0, u8 a1); -static void sub_800D334(u8 a0); -static void sub_800D358(u8 a0); -static void sub_800D434(void); -static void sub_800D610(void); -void sub_800D630(void); -static bool8 sub_800DAC8(struct UnkRfuStruct_2_Sub_c1c *q1, u8 *q2); -static void sub_800EAB4(void); -static void sub_800EAFC(void); -void sub_800ED34(u16 unused); -static void sub_800EDBC(u16 unused); -static void sub_800F048(void); -static void sub_800F86C(u8 unused); -static void sub_800FCC4(struct UnkRfuStruct_2_Sub_6c *data); -void sub_800FD14(u16 command); -static void rfufunc_80F9F44(void); -static void sub_800FFB0(void); -static void rfufunc_80FA020(void); -bool32 sub_8010454(u32 a0); -static void sub_8010528(void); -void sub_8010750(void); -s32 sub_80107A0(void); -void sub_801084C(u8 taskId); -void sub_80109E8(u16 a0); -void sub_8010A70(void *a0); -void sub_8010AAC(u8 taskId); -void sub_8010D0C(u8 taskId); -void sub_80115EC(s32 a0); -u8 sub_8011CE4(const u8 *a0, u16 a1); -void sub_8011D6C(u32 a0); -void sub_8011E94(u32 a0, u32 a1); -bool8 sub_8012224(void); -void sub_801227C(void); -void sub_801209C(u8 taskId); -void sub_8011BF8(void); -void sub_8011BA4(void); - -// .rodata - -const u16 gWirelessLinkIconPalette[] = INCBIN_U16("graphics/interface/wireless_link_icon.gbapal"); -const u32 gWirelessLinkIconPic[] = INCBIN_U32("graphics/interface/wireless_link_icon.4bpp.lz"); -const u8 sWireless_ASCIItoRSETable[] = { - 0xff, 0x95, 0x96, 0x97, 0x98, 0x99, 0x9a, 0x37, - 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, - 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, - 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, - 0x00, 0xab, 0xb5, 0xb6, 0xb1, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xb2, 0xf1, 0x00, 0xae, 0xad, 0xba, - 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, - 0xa9, 0xaa, 0x00, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f, - 0x00, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf, 0xc0, 0xc1, - 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, - 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xd0, 0xd1, - 0xd2, 0xd3, 0xd4, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, - 0x00, 0xd5, 0xd6, 0xd7, 0xd8, 0xd9, 0xda, 0xdb, - 0xdc, 0xdd, 0xde, 0xdf, 0xe0, 0xe1, 0xe2, 0xe3, - 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9, 0xea, 0xeb, - 0xec, 0xed, 0xee, 0x2d, 0x2f, 0x30, 0x31, 0x32, - 0x33, 0x34, 0x35, 0x36, 0x50, 0x00, 0x01, 0x02, - 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, - 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, - 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, - 0x1b, 0xad, 0xb3, 0xb4, 0x00, 0xaf, 0x7d, 0x7f, - 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0xa0, - 0xae, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, - 0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, - 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, - 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, - 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, - 0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7e, 0xb0, 0xac, - 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, - 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, - 0x2c, 0x2e, 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c, - 0x8d, 0x8e, 0x8f, 0x90, 0x91, 0x92, 0x93, 0x94 -}; -const u8 sWireless_RSEtoASCIITable[] = { - 0x20, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c, - 0x8d, 0x8e, 0x8f, 0x90, 0x91, 0x92, 0x93, 0x94, - 0x95, 0x96, 0x97, 0x98, 0x99, 0x9a, 0x9b, 0x9c, - 0x9d, 0x9e, 0x9f, 0xa0, 0xe0, 0xe1, 0xe2, 0xe3, - 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9, 0xea, 0xeb, - 0xec, 0xed, 0xee, 0xef, 0xf0, 0x7b, 0xf1, 0x7c, - 0x7d, 0x7e, 0x7f, 0x80, 0x81, 0x82, 0x83, 0x07, - 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, - 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, - 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, - 0x84, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7, - 0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf, - 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, - 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, - 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, - 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xa6, 0xdd, 0xa7, - 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xf2, - 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa, - 0xfb, 0xfc, 0xfd, 0xfe, 0xff, 0x01, 0x02, 0x03, - 0x04, 0x05, 0x06, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, - 0xaf, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, - 0x37, 0x38, 0x39, 0x21, 0xdf, 0xa1, 0xb0, 0xa5, - 0xde, 0x24, 0x2a, 0xa2, 0xa3, 0x22, 0x23, 0x20, - 0xa4, 0x20, 0x2f, 0x41, 0x42, 0x43, 0x44, 0x45, - 0x46, 0x47, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, - 0x4e, 0x4f, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, - 0x56, 0x57, 0x58, 0x59, 0x5a, 0x61, 0x62, 0x63, - 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6a, 0x6b, - 0x6c, 0x6d, 0x6e, 0x6f, 0x70, 0x71, 0x72, 0x73, - 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7a, 0x20, - 0x20, 0x2b, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00 -}; -const struct OamData sWirelessStatusIndicatorOamData = -{ - .y = 0, - .affineMode = ST_OAM_AFFINE_OFF, - .objMode = ST_OAM_OBJ_NORMAL, - .bpp = ST_OAM_4BPP, - .shape = SPRITE_SHAPE(16x16), - .x = 0, - .size = SPRITE_SIZE(16x16), - .tileNum = 0, - .priority = 0, - .paletteNum = 0, -}; -static const union AnimCmd sWirelessStatusIndicatorAnim0[] = { - // 3 bars - ANIMCMD_FRAME( 4, 5), - ANIMCMD_FRAME( 8, 5), - ANIMCMD_FRAME(12, 5), - ANIMCMD_FRAME(16, 10), - ANIMCMD_FRAME(12, 5), - ANIMCMD_FRAME( 8, 5), - ANIMCMD_JUMP(0) -}; -static const union AnimCmd sWirelessStatusIndicatorAnim1[] = { - // 2 bars - ANIMCMD_FRAME( 4, 5), - ANIMCMD_FRAME( 8, 5), - ANIMCMD_FRAME(12, 10), - ANIMCMD_FRAME( 8, 5), - ANIMCMD_JUMP(0) -}; -static const union AnimCmd sWirelessStatusIndicatorAnim2[] = { - // 1 bar - ANIMCMD_FRAME(4, 5), - ANIMCMD_FRAME(8, 5), - ANIMCMD_JUMP(0) -}; -static const union AnimCmd sWirelessStatusIndicatorAnim3[] = { - // searching - ANIMCMD_FRAME( 4, 10), - ANIMCMD_FRAME(20, 10), - ANIMCMD_JUMP(0) -}; -static const union AnimCmd sWirelessStatusIndicatorAnim4[] = { - // error - ANIMCMD_FRAME(24, 10), - ANIMCMD_FRAME( 4, 10), - ANIMCMD_JUMP(0) -}; -static const union AnimCmd *const sWirelessStatusIndicatorAnims[] = { - sWirelessStatusIndicatorAnim0, - sWirelessStatusIndicatorAnim1, - sWirelessStatusIndicatorAnim2, - sWirelessStatusIndicatorAnim3, - sWirelessStatusIndicatorAnim4 -}; -const struct CompressedSpriteSheet sWirelessStatusIndicatorSpriteSheet = { - gWirelessLinkIconPic, 0x0380, 0xD431 -}; -const struct SpritePalette sWirelessStatusIndicatorSpritePalette = { - gWirelessLinkIconPalette, 0xD432 -}; -static const struct SpriteTemplate sWirelessStatusIndicatorSpriteTemplate = { - 0xD431, - 0xD432, - &sWirelessStatusIndicatorOamData, - sWirelessStatusIndicatorAnims, - NULL, - gDummySpriteAffineAnimTable, - SpriteCallbackDummy -}; - -const struct UnkLinkRfuStruct_02022B2C gUnknown_082ED608 = { - 0x04, 0x20, 0x00, 0x00, 0x02, - &gUnknown_02022B14, - gUnknown_02022B22, - 0x01, 0x00, 0x258, 0x12c -}; -const u8 gUnknown_082ED620[] = { - 0, 3, 2, 1, 0 -}; -const u32 gUnknown_082ED628[] = { - 0x000000, - 0x000001, - 0x000003, - 0x000007, - 0x00000f, - 0x00001f, - 0x00003f, - 0x00007f, - 0x0000ff, - 0x0001ff, - 0x0003ff, - 0x0007ff, - 0x000fff, - 0x001fff, - 0x003fff, - 0x007fff, - 0x00ffff, - 0x01ffff, - 0x03ffff, - 0x07ffff, - 0x0fffff, - 0x1fffff, - 0x3fffff, - 0x7fffff, - 0xffffff -}; -const u8 gUnknown_082ED68C[] = { - 0, 0, 1, - 1, 2, 2, - 2, 2, 3 -}; -const u8 gUnknown_082ED695[] = { - 0, 1, 1, 2, - 1, 2, 2, 3, - 1, 2, 2, 3, - 2, 3, 3, 4 -}; -const u8 gUnknown_082ED6A5[] = { - 0, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0 -}; -const struct { - u8 *buffer; - u32 size; -} gUnknown_082ED6B8[] = { - { gBlockSendBuffer, 200 }, - { gBlockSendBuffer, 200 }, - { gBlockSendBuffer, 100 }, - { gBlockSendBuffer, 220 }, - { gBlockSendBuffer, 40 } -}; -const u16 gUnknown_082ED6E0[] = { - 0x0002, 0x7f7d, 0x0000, 0xFFFF -}; - -const char sUnref_082ED6E8[][15] = { - "RFU WAIT", - "RFU BOOT", - "RFU ERROR", - "RFU RESET", - "RFU CONFIG", - "RFU START", - "RFU SC POLL", - "RFU SP POLL", - "RFU START", - "RFU SEND ERR", - "RFU CP POLL" -}; -const char sUnref_082ED6E9[][16] = { - " ", - "RECOVER START ", - "DISSCONECT ", - "RECOVER SUUSES", - "RECOVER FAILED" -}; -const TaskFunc gUnknown_082ED7E0[] = { - sub_801084C, - sub_8010AAC, - sub_8010D0C -}; -const char gUnknown_082ED7EC[] = "PokemonSioInfo"; -const char gUnknown_082ED7FC[] = "LINK LOSS DISCONNECT!"; -const char gUnknown_082ED814[] = "LINK LOSS RECOVERY NOW"; - -ALIGNED(4) const char gUnknown_082ED82C[31] = {' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',0x00}; -const char gUnknown_082ED84B[16] = {' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',0x00}; -const char gUnknown_082ED85B[9] = {' ',' ',' ',' ',' ',' ',' ',' ',0x00}; -ALIGNED(4) const char gUnknown_082ED864[2] = {' ',0x00}; -const char gUnknown_082ED866[2] = {'*',0x00}; -const char gUnknown_082ED868[8] = "NOWSLOT"; -const char gUnknown_082ED870[12] = " "; -const char gUnknown_082ED87C[12] = "CLOCK DRIFT"; -const char gUnknown_082ED888[12] = "BUSY SEND "; -const char gUnknown_082ED894[12] = "CMD REJECT "; -const char gUnknown_082ED8A0[12] = "CLOCK SLAVE"; -const char gUnknown_082ED8A8[3][8] = { - "CHILD ", - "PARENT", - "SEARCH" -}; - -// .text - -u32 sub_800BEC0(void) -{ - u32 r4; - - r4 = rfu_REQBN_softReset_and_checkID(); - if (r4 == 0x8001) - { - gUnknown_03004140.unk_08 = 1; - } - if (gUnknown_03004140.unk_04 != 0x17 && gUnknown_03004140.unk_04 != 0x01) - { - gUnknown_03004140.unk_05 = 0; - gUnknown_03004140.unk_04 = 0; - } - gUnknown_03004140.unk_07 = 0; - gUnknown_03004140.unk_0d = 0; - gUnknown_03004140.unk_01 = 0; - gUnknown_03004140.unk_00 = 0; - gUnknown_03004140.unk_06 = -1; - sub_800D610(); - return r4; -} - -void rfu_REQ_sendData_wrapper(u8 r2) -{ - u8 val; - if (!gRfuLinkStatus->parentChild) - { - val = gUnknown_03004140.unk_02; - r2 = 0; - if (val == 1) - { - r2 = 1; - } - } - else - { - gUnknown_03004140.unk_03 = 0; - } - rfu_REQ_sendData(r2); -} - -s32 sub_800BF4C(void (*func1)(u8, u8), void (*func2)(u16)) -{ - if (func1 == NULL) - { - return 4; - } - CpuFill16(0, &gUnknown_03004140, offsetof(struct UnkRfuStruct_1, filler_48)); - gUnknown_03004140.unk_06 = -1; - gUnknown_03004140.unk_40 = func1; - gUnknown_03004140.unk_44 = func2; - rfu_setMSCCallback(sub_800CEB0); - rfu_setREQCallback(sub_800C7B4); - return 0; -} - -void sub_800BFA0(void) -{ - CpuFill16(0, &gUnknown_03004140, offsetof(struct UnkRfuStruct_1, unk_40)); - gUnknown_03004140.unk_06 = -1; -} - -void sub_800BFCC(const struct UnkLinkRfuStruct_02022B2C *unk0) -{ - sub_800C000(); - gUnknown_03004140.unk_04 = 1; - gUnknown_03004140.unk_05 = 2; - gUnknown_03004140.unk_3c = unk0; - gUnknown_03004140.unk_09 = unk0->unk_11; - gUnknown_03004140.unk_32 = unk0->unk_12; - gUnknown_03004140.unk_18 = unk0->unk_14; - if (unk0->unk_10) - { - gUnknown_03004140.unk_0b = 1; - } -} - -static void sub_800C000(void) -{ - u8 i; - - gUnknown_03004140.unk_05 = 0; - gUnknown_03004140.unk_04 = 0; - gUnknown_03004140.unk_06 = -1; - gUnknown_03004140.unk_07 = 0; - gUnknown_03004140.unk_10 = 0; - gUnknown_03004140.unk_0c = 0; - gUnknown_03004140.unk_24 = 0; - gUnknown_03004140.unk_30 = 0; - for (i = 0; i < 4; i++) - { - gUnknown_03004140.unk_28[i] = 0; - gUnknown_03004140.unk_34[i] = 0; - } -} - -void sub_800C048(void) -{ - gUnknown_03004140.unk_04 = 0x15; -} - -u8 sub_800C054(u8 r5, u16 r7, u16 r8, const u16 *r6) -{ - u8 i; - const u16 *buffer; - - if (gUnknown_03004140.unk_04 != 0 && (gUnknown_03004140.unk_04 != 0x08 || r5 != 1)) - { - gUnknown_03004140.unk_14 = 1; - sub_800D30C(0xf3, 0x01); - return 1; - } - if (!rfu_getMasterSlave()) - { - gUnknown_03004140.unk_14 = 2; - sub_800D30C(0xf3, 0x01); - return 2; - } - for (i = 0, buffer = r6; i < 16; i++) - { - if (*buffer++ == 0xFFFF) - { - break; - } - } - if (i == 16) - { - gUnknown_03004140.unk_14 = 4; - sub_800D30C(0xf3, 0x01); - return 4; - } - if (r5 > 1) - { - gUnknown_03004140.unk_07 = 1; - r5 = 1; - r7 = 0; - } - else - { - gUnknown_03004140.unk_07 = 0; - } - if (r5 != 0) - { - gUnknown_03004140.unk_04 = 5; - } - else - { - gUnknown_03004140.unk_04 = 9; - if (gUnknown_03004140.unk_0b) - { - gUnknown_03004140.unk_0b = 2; - } - } - gUnknown_03004140.unk_06 = r5; - gUnknown_03004140.unk_1a = r7; - gUnknown_03004140.unk_26 = r8; - gUnknown_03004140.unk_20 = r6; - return 0; -} - -u8 sub_800C12C(u16 r6, u16 r8) -{ - u8 i; - - if (gUnknown_03004140.unk_04 != 0 && (gUnknown_03004140.unk_04 < 9 || gUnknown_03004140.unk_04 > 11)) - { - gUnknown_03004140.unk_14 = 1; - sub_800D30C(0xF3, 0x01); - return 1; - } - if (!rfu_getMasterSlave()) - { - gUnknown_03004140.unk_14 = 2; - sub_800D30C(0xF3, 0x01); - return 2; - } - for (i = 0; i < gRfuLinkStatus->findParentCount; i++) - { - if (gRfuLinkStatus->partner[i].id == r6) - { - break; - } - } - if (gRfuLinkStatus->findParentCount == 0 || i == gRfuLinkStatus->findParentCount) - { - gUnknown_03004140.unk_14 = 3; - sub_800D30C(0xF3, 0x01); - return 3; - } - if (gUnknown_03004140.unk_04 == 0 || gUnknown_03004140.unk_04 == 9) - { - gUnknown_03004140.unk_04 = 12; - gUnknown_03004140.unk_05 = 13; - } - else - { - gUnknown_03004140.unk_04 = 11; - gUnknown_03004140.unk_05 = 12; - } - gUnknown_03004140.unk_1e = r6; - gUnknown_03004140.unk_1a = r8; - if (gUnknown_03004140.unk_07 != 0) - { - gUnknown_03004140.unk_07 = 7; - } - return 0; -} - -void sub_800C210(u8 a0) -{ - u8 i; - - if (a0 & gUnknown_03004140.unk_30) - { - gUnknown_03004140.unk_30 &= ~a0; - for (i = 0; i < 4; i++) - { - if ((a0 >> i) & 1) - { - gUnknown_03004140.unk_34[i] = 0; - } - } - i = gRfuLinkStatus->linkLossSlotFlag & a0; - if (i) - { - sub_800D334(i); - } - gUnknown_03004140.unk_14 = i; - sub_800D30C(0x33, i); - } -} - -void sub_800C27C(bool8 a0) -{ - u8 r2; - - r2 = 0; - gUnknown_03004140.unk_07 = 0; - if (a0) - { - sub_800C000(); - gUnknown_03004140.unk_04 = 23; - } - else - { - switch (gUnknown_03004140.unk_04) - { - case 5: - gUnknown_03004140.unk_04 = 8; - gUnknown_03004140.unk_05 = 0; - r2 = 0x13; - break; - case 6: - gUnknown_03004140.unk_04 = 7; - gUnknown_03004140.unk_05 = 8; - break; - case 7: - gUnknown_03004140.unk_04 = 7; - gUnknown_03004140.unk_05 = 8; - break; - case 8: - break; - case 9: - gUnknown_03004140.unk_05 = 0; - gUnknown_03004140.unk_04 = 0; - r2 = 0x21; - break; - case 10: - gUnknown_03004140.unk_04 = 11; - gUnknown_03004140.unk_05 = 0; - break; - case 11: - gUnknown_03004140.unk_04 = 11; - gUnknown_03004140.unk_05 = 0; - break; - case 12: - gUnknown_03004140.unk_05 = 0; - gUnknown_03004140.unk_04 = 0; - r2 = 0x23; - break; - case 13: - gUnknown_03004140.unk_04 = 14; - break; - case 14: - gUnknown_03004140.unk_04 = 14; - break; - case 15: - break; - case 16: - gUnknown_03004140.unk_04 = gUnknown_03004140.unk_11; - gUnknown_03004140.unk_05 = gUnknown_03004140.unk_12; - sub_800D334(gRfuLinkStatus->linkLossSlotFlag); - gUnknown_03004140.unk_14 = gRfuLinkStatus->linkLossSlotFlag; - sub_800D30C(0x33, 0x01); - return; - case 17: - gUnknown_03004140.unk_04 = 18; - break; - case 18: - gUnknown_03004140.unk_04 = 18; - break; - default: - gUnknown_03004140.unk_05 = 0; - gUnknown_03004140.unk_04 = 0; - r2 = 0x43; - break; - } - if (gUnknown_03004140.unk_04 == 0) - { - sub_800D30C(r2, 0); - } - } -} - -bool8 sub_800C36C(u16 a0) -{ - bool8 retVal; - u8 i; - u8 sp0; - u8 sp1; - u8 sp2; - u8 flags; - - retVal = FALSE; - rfu_REQBN_watchLink(a0, &sp0, &sp1, &sp2); - if (sp0) - { - gUnknown_03004140.unk_14 = sp0; - gUnknown_03004140.unk_16 = sp1; - if (gUnknown_03004140.unk_09) - { - gUnknown_03004140.unk_0a = 1; - if (gUnknown_03004140.unk_06 == 0 && sp1 == 0) - { - gUnknown_03004140.unk_0a = 4; - } - if (gUnknown_03004140.unk_0a == 1) - { - for (i = 0; i < 4; i++) - { - if ((sp0 >> i) & 1) - { - gUnknown_03004140.unk_30 |= (1 << i); - gUnknown_03004140.unk_34[i] = gUnknown_03004140.unk_32; - } - } - sub_800D30C(0x31, 0x01); - } - else - { - gUnknown_03004140.unk_0a = 0; - sub_800D334(sp0); - retVal = TRUE; - sub_800D30C(0x33, 0x01); - } - } - else - { - sub_800D334(sp0); - retVal = TRUE; - sub_800D30C(0x30, 0x02); - } - sub_800D610(); - } - if (gRfuLinkStatus->parentChild == 1) - { - if (sp2) - { - for (i = 0; i < 4; i++) - { - if ((gUnknown_03004140.unk_30 >> i) & 1 && (sp2 >> i) & 1) - { - gUnknown_03004140.unk_34[i] = 0; - } - } - gUnknown_03004140.unk_30 &= ~sp2; - gUnknown_03004140.unk_14 = sp2; - sub_800D30C(0x32, 0x01); - } - if (gUnknown_03004140.unk_30) - { - flags = 0; - for (i = 0; i < 4; i++) - { - if ((gUnknown_03004140.unk_30 >> i) & 1 && gUnknown_03004140.unk_34[i] && --gUnknown_03004140.unk_34[i] == 0) - { - gUnknown_03004140.unk_30 &= ~(1 << i); - flags |= (1 << i); - } - } - if (flags) - { - sub_800D334(flags); - retVal = TRUE; - gUnknown_03004140.unk_14 = flags; - sub_800D30C(0x33, 0x01); - } - } - if (!gUnknown_03004140.unk_30) - { - gUnknown_03004140.unk_0a = 0; - } - } - return retVal; -} - -void rfu_syncVBlank_(void) -{ - if (rfu_syncVBlank()) - { - sub_800D30C(0xF1, 0x00); - sub_800D610(); - } -} - -void sub_800C54C(u32 a0) -{ - u8 r2; - - if (gUnknown_03004140.unk_40 == NULL && gUnknown_03004140.unk_04 != 0) - { - gUnknown_03004140.unk_04 = 0; - } - else - { - if (gUnknown_03004140.unk_07 != 0) - { - sub_800C744(a0); - } - do - { - if (gUnknown_03004140.unk_04 != 0) - { - rfu_waitREQComplete(); - gUnknown_03004140.unk_0e = 1; - switch (gUnknown_03004140.unk_04) - { - case 23: - r2 = sub_800BEC0() == 0x8001 ? 0x44 : 0xFF; - gUnknown_03004140.unk_04 = gUnknown_03004140.unk_05 = 0; - sub_800D30C(r2, 0); - break; - case 1: - if (sub_800BEC0() == 0x8001) - { - gUnknown_03004140.unk_04 = gUnknown_03004140.unk_05; - gUnknown_03004140.unk_05 = 3; - } - else - { - gUnknown_03004140.unk_04 = gUnknown_03004140.unk_05 = 0; - sub_800D30C(0xFF, 0); - } - break; - case 2: - rfu_REQ_reset(); - break; - case 3: - rfu_REQ_configSystem(gUnknown_03004140.unk_3c->unk_02, gUnknown_03004140.unk_3c->unk_00, gUnknown_03004140.unk_3c->unk_01); - break; - case 4: - rfu_REQ_configGameData(gUnknown_03004140.unk_3c->unk_04, gUnknown_03004140.unk_3c->unk_06, (const u8 *)gUnknown_03004140.unk_3c->unk_08, gUnknown_03004140.unk_3c->unk_0c); - break; - case 5: - rfu_REQ_startSearchChild(); - break; - case 6: - rfu_REQ_pollSearchChild(); - break; - case 7: - rfu_REQ_endSearchChild(); - break; - case 8: - break; - case 9: - rfu_REQ_startSearchParent(); - break; - case 10: - rfu_REQ_pollSearchParent(); - break; - case 11: - rfu_REQ_endSearchParent(); - break; - case 12: - rfu_REQ_startConnectParent(gUnknown_03004140.unk_1e); - break; - case 13: - rfu_REQ_pollConnectParent(); - break; - case 14: - rfu_REQ_endConnectParent(); - break; - case 15: - break; - case 16: - rfu_REQ_CHILD_startConnectRecovery(gRfuLinkStatus->linkLossSlotFlag); - break; - case 17: - rfu_REQ_CHILD_pollConnectRecovery(); - break; - case 18: - rfu_REQ_CHILD_endConnectRecovery(); - break; - case 19: - rfu_REQ_changeMasterSlave(); - break; - case 20: - break; - case 21: - rfu_REQ_stopMode(); - break; - case 22: - break; - } - rfu_waitREQComplete(); - gUnknown_03004140.unk_0e = 0; - } - } while (gUnknown_03004140.unk_04 == 18 || gUnknown_03004140.unk_04 == 19); - if (gRfuLinkStatus->parentChild != 1 || !sub_800C36C(0)) - { - sub_800CF34(); - sub_800D158(); - sub_800D268(); - sub_800D434(); - } - } -} - -static void sub_800C744(u32 a0) -{ - if (gUnknown_03004140.unk_07 == 5) - { - gUnknown_03004140.unk_06 = 1; - gUnknown_03004140.unk_04 = 5; - gUnknown_03004140.unk_1a = gUnknown_03004140.unk_1c; - if (gUnknown_03004140.unk_1a) - { - gUnknown_03004140.unk_07 = 6; - } - else - { - gUnknown_03004140.unk_07 = 1; - } - } - if (gUnknown_03004140.unk_07 == 1) - { - gUnknown_03004140.unk_06 = 1; - gUnknown_03004140.unk_04 = 5; - gUnknown_03004140.unk_1a = a0 % 140; - gUnknown_03004140.unk_1c = 140 - gUnknown_03004140.unk_1a; - if (gUnknown_03004140.unk_1a) - { - gUnknown_03004140.unk_07 = 2; - } - else - { - gUnknown_03004140.unk_07 = 3; - } - } - if (gUnknown_03004140.unk_07 == 3) - { - gUnknown_03004140.unk_06 = 0; - gUnknown_03004140.unk_1a = 40; - gUnknown_03004140.unk_07 = 4; - gUnknown_03004140.unk_04 = 9; - } -} - -static void sub_800C7B4(u16 r8, u16 r6) -{ - u8 sp0; - register struct RfuIntrStruct *stwiRecvBuffer asm("r0"); - u8 *tmp; - u8 i; - - if (gUnknown_03004140.unk_0e != 0) - { - gUnknown_03004140.unk_0e = 0; - switch (r8) - { - case 16: - if (r6 == 0) - { - gUnknown_03004140.unk_04 = gUnknown_03004140.unk_05; - gUnknown_03004140.unk_05 = 4; - } - break; - case 23: - if (r6 == 0) - { - gUnknown_03004140.unk_04 = gUnknown_03004140.unk_05; - gUnknown_03004140.unk_05 = 0; - } - break; - case 22: - if (r6 == 0) - { - gUnknown_03004140.unk_04 = gUnknown_03004140.unk_05 = 0; - sub_800D30C(0x00, 0x00); - } - break; - case 25: - if (r6 == 0) - { - gUnknown_03004140.unk_04 = gUnknown_03004140.unk_05 = 6; - } - break; - case 26: - if (gUnknown_03004140.unk_1a && --gUnknown_03004140.unk_1a == 0) - { - gUnknown_03004140.unk_04 = 7; - gUnknown_03004140.unk_05 = 8; - } - break; - case 27: - if (r6 == 0) - { - gUnknown_03004140.unk_04 = gUnknown_03004140.unk_05; - gUnknown_03004140.unk_05 = 0; - if (gUnknown_03004140.unk_07 == 0) - { - sub_800D30C(0x13, 0x00); - } - } - break; - case 28: - if (r6 == 0) - { - if (gUnknown_03004140.unk_0b == 1 && gUnknown_03004140.unk_1a > 1) - { - gUnknown_03004140.unk_1a--; - } - gUnknown_03004140.unk_04 = gUnknown_03004140.unk_05 = 10; - } - break; - case 29: - if (r6 == 0) - { - sp0 = sub_800D294(); - gUnknown_03004140.unk_14 = sp0; - if (sp0) - { - sub_800D30C(0x20, 0x01); - } - if (gUnknown_03004140.unk_0b && gUnknown_03004140.unk_1a != 1 && gRfuLinkStatus->findParentCount == 4) - { - rfu_REQ_endSearchParent(); - rfu_waitREQComplete(); - gUnknown_03004140.unk_04 = 9; - gUnknown_03004140.unk_0b = 1; - } - } - if (gUnknown_03004140.unk_1a && --gUnknown_03004140.unk_1a == 0) - { - gUnknown_03004140.unk_04 = 11; - gUnknown_03004140.unk_05 = 0; - } - break; - case 30: - if (r6 == 0) - { - gUnknown_03004140.unk_04 = gUnknown_03004140.unk_05; - if (gUnknown_03004140.unk_07 == 0) - { - if (gUnknown_03004140.unk_04 == 0) - { - sub_800D30C(0x21, 0x00); - } - } - else if (gUnknown_03004140.unk_07 != 7) - { - gUnknown_03004140.unk_04 = 5; - gUnknown_03004140.unk_07 = 5; - } - } - break; - case 31: - if (r6 == 0) - { - gUnknown_03004140.unk_04 = gUnknown_03004140.unk_05 = 13; - } - break; - case 32: - if (r6 == 0 && !rfu_getConnectParentStatus(&sp0, &gUnknown_03004140.unk_10) && !sp0) - { - gUnknown_03004140.unk_04 = 14; - } - if (gUnknown_03004140.unk_1a && --gUnknown_03004140.unk_1a == 0) - { - gUnknown_03004140.unk_04 = 14; - } - break; - case 33: - if (r6 == 0 && !rfu_getConnectParentStatus(&sp0, &gUnknown_03004140.unk_10)) - { - if (!sp0) - { - gUnknown_03004140.unk_04 = 19; - gUnknown_03004140.unk_05 = 15; - gUnknown_03004140.unk_1e = 0x22; - gUnknown_03004140.unk_14 = gUnknown_03004140.unk_10; - } - else - { - gUnknown_03004140.unk_04 = gUnknown_03004140.unk_05 = 0; - gUnknown_03004140.unk_1e = 0x23; - gUnknown_03004140.unk_14 = sp0; - if (gUnknown_03004140.unk_07) - { - gUnknown_03004140.unk_07 = 3; - gUnknown_03004140.unk_04 = 9; - } - } - sub_800D30C(gUnknown_03004140.unk_1e, 0x01); - gUnknown_03004140.unk_1e = 0; - } - break; - case 50: - if (r6 == 0) - { - gUnknown_03004140.unk_14 = gRfuLinkStatus->linkLossSlotFlag; - gUnknown_03004140.unk_04 = gUnknown_03004140.unk_05 = 17; - for (gUnknown_03004140.unk_10 = 0; gUnknown_03004140.unk_10 < 4; gUnknown_03004140.unk_10 ++) - { - if ((gRfuLinkStatus->linkLossSlotFlag >> gUnknown_03004140.unk_10) & 1) - { - break; - } - } - } - break; - case 51: - if (r6 == 0 && !rfu_CHILD_getConnectRecoveryStatus(&sp0) && sp0 < 2) - { - gUnknown_03004140.unk_04 = 18; - } - if (gUnknown_03004140.unk_34[gUnknown_03004140.unk_10] && --gUnknown_03004140.unk_34[gUnknown_03004140.unk_10] == 0) - { - gUnknown_03004140.unk_04 = 18; - } - break; - case 52: - if (r6 == 0 && !rfu_CHILD_getConnectRecoveryStatus(&sp0)) - { - if (!sp0) - { - gUnknown_03004140.unk_04 = 19; - gUnknown_03004140.unk_05 = 22; - gUnknown_03004140.unk_1e = 0x32; - } - else - { - gUnknown_03004140.unk_04 = gUnknown_03004140.unk_05 = 0; - sub_800D334(gRfuLinkStatus->linkLossSlotFlag); - gUnknown_03004140.unk_1e = 0x33; - } - gUnknown_03004140.unk_34[gUnknown_03004140.unk_10] = 0; - gUnknown_03004140.unk_30 = 0; - gUnknown_03004140.unk_0a = 0; - sub_800D30C(gUnknown_03004140.unk_1e, 0x01); - gUnknown_03004140.unk_1e = 0; - } - break; - case 39: - if (r6 == 0) - { - if (gUnknown_03004140.unk_05 == 22) - { - gUnknown_03004140.unk_04 = gUnknown_03004140.unk_11; - gUnknown_03004140.unk_05 = gUnknown_03004140.unk_12; - gUnknown_03004140.unk_02 = 1; - sub_800D30C(0x41, 0x00); - } - else if (gUnknown_03004140.unk_05 == 15) - { - gUnknown_03004140.unk_04 = gUnknown_03004140.unk_05; - gUnknown_03004140.unk_02 = 1; - sub_800D30C(0x41, 0x00); - gUnknown_03004140.unk_24 |= 1 << gUnknown_03004140.unk_10; - gUnknown_03004140.unk_28[gUnknown_03004140.unk_10] = gUnknown_03004140.unk_26; - rfu_clearSlot(4, gUnknown_03004140.unk_10); - tmp = &sp0; - *tmp = rfu_NI_CHILD_setSendGameName(gUnknown_03004140.unk_10, 0x0e); - if (*tmp) - { - gUnknown_03004140.unk_04 = gUnknown_03004140.unk_05 = 0; - sub_800D610(); - sub_800D334(gRfuLinkStatus->connSlotFlag | gRfuLinkStatus->linkLossSlotFlag); - gUnknown_03004140.unk_14 = sp0; - sub_800D30C(0x25, 0x01); - } - } - } - break; - case 61: - if (r6 == 0) - { - gUnknown_03004140.unk_04 = gUnknown_03004140.unk_05 = 0; - sub_800D30C(0x42, 0x00); - } - break; - } - gUnknown_03004140.unk_0e = 1; - } - else if (r6 == 3 && gUnknown_03004140.unk_0f && (r8 == 0x24 || r8 == 0x26 || r8 == 0x27)) - { - rfu_REQ_RFUStatus(); - rfu_waitREQComplete(); - rfu_getRFUStatus(&sp0); - if (sp0 == 0 && gRfuLinkStatus->parentChild == 0) - { - stwiRecvBuffer = rfu_getSTWIRecvBuffer(); - stwiRecvBuffer->rxPacketAlloc.rfuPacket8.data[4] = gRfuLinkStatus->connSlotFlag; - stwiRecvBuffer->rxPacketAlloc.rfuPacket8.data[5] = 1; - sub_800C36C(0x29); - r6 = 0; - } - } - switch (r8) - { - case 48: - if (r6 == 0) - { - stwiRecvBuffer = rfu_getSTWIRecvBuffer(); - gUnknown_03004140.unk_14 = stwiRecvBuffer->rxPacketAlloc.rfuPacket8.data[8]; - sub_800D358(gUnknown_03004140.unk_14); - if (gUnknown_03004140.unk_30) - { - gUnknown_03004140.unk_30 &= ~gUnknown_03004140.unk_14; - for (i = 0; i < 4; i++) - { - if ((gUnknown_03004140.unk_14 >> i) & 1) - { - gUnknown_03004140.unk_34[i] = 0; - } - } - if (gUnknown_03004140.unk_06 == 0) - { - gUnknown_03004140.unk_04 = gUnknown_03004140.unk_05 = 0; - } - } - sp0 = gUnknown_03004140.unk_00 & gUnknown_03004140.unk_14; - for (i = 0; i < 4; i++) - { - if ((sp0 >> i) & 1 && gUnknown_03004140.unk_01) - { - gUnknown_03004140.unk_01--; - } - } - gUnknown_03004140.unk_00 &= ~gUnknown_03004140.unk_14; - if (gUnknown_03004140.unk_07) - { - if (gRfuLinkStatus->parentChild == 0xFF) - { - if (gUnknown_03004140.unk_07 == 8) - { - gUnknown_03004140.unk_1a = gUnknown_03004140.unk_1c; - gUnknown_03004140.unk_07 = 6; - gUnknown_03004140.unk_04 = 6; - } - else if (gUnknown_03004140.unk_04 != 6 && gUnknown_03004140.unk_04 != 7) - { - gUnknown_03004140.unk_07 = 1; - gUnknown_03004140.unk_04 = 5; - } - } - } - if (gRfuLinkStatus->parentChild == 0xFF) - { - if (gUnknown_03004140.unk_04 == 0) - { - gUnknown_03004140.unk_06 = -1; - } - } - if (gUnknown_03004140.unk_0e == 0) - { - sub_800D30C(0x40, 0x01); - } - } - break; - case 38: - sub_800D20C(); - if (gRfuLinkStatus->parentChild != 0xFF) - { - sub_800D30C(0x50, 0x00); - } - break; - case 16: - case 61: - if (r6 == 0) - { - gUnknown_03004140.unk_0d = 0; - gUnknown_03004140.unk_01 = 0; - gUnknown_03004140.unk_00 = 0;; - gUnknown_03004140.unk_06 = -1; - sub_800D610(); - if (r8 == 61) - { - sub_800BFA0(); - } - } - break; - } - if (r6 != 0) - { - if (r8 == 28 && r6 != 0 && gUnknown_03004140.unk_07 == 4) - { - gRfuLinkStatus->parentChild = 1; - gRfuLinkStatus->connSlotFlag = 15; - sub_800D334(15); - rfu_waitREQComplete(); - return; - } - else - { - gUnknown_03004140.unk_14 = r8; - gUnknown_03004140.unk_16 = r6; - if (gUnknown_03004140.unk_0e) - { - gUnknown_03004140.unk_04 = gUnknown_03004140.unk_05 = 0; - } - sub_800D30C(0xf0, 0x02); - sub_800D610(); - } - } - if (r8 == 0xFF) - { - sub_800D30C(0xf2, 0x00); - sub_800D610(); - } -} - -static void sub_800CEB0(u16 r6) -{ - u8 r7; - u8 sp0; - - r7 = gUnknown_03004140.unk_0e; - gUnknown_03004140.unk_0e = 0; - gUnknown_03004140.unk_0f = 1; - if (gRfuLinkStatus->parentChild == 0) - { - sub_800C36C(r6); - if (gUnknown_03004140.unk_02 != 1) - { - sub_800D610(); - gUnknown_03004140.unk_0f = 0; - gUnknown_03004140.unk_0e = r7; - return; - } - } - else - { - if (!rfu_UNI_PARENT_getDRAC_ACK(&sp0)) - { - gUnknown_03004140.unk_03 |= sp0; - } - } - if (gUnknown_03004140.unk_44 != NULL) - { - gUnknown_03004140.unk_44(r6); - rfu_waitREQComplete(); - if (gUnknown_03004140.unk_02 == 2) - { - sub_800D610(); - } - } - gUnknown_03004140.unk_0f = 0; - gUnknown_03004140.unk_0e = r7; -} - -static void sub_800CF34(void) -{ - u8 flags; - u8 sp0; - u8 i; - u8 r5; - u8 r4; - const u16 *ptr; - - if (gUnknown_03004140.unk_04 == 5 || gUnknown_03004140.unk_04 == 6 || gUnknown_03004140.unk_04 == 7 || gUnknown_03004140.unk_04 == 8) - { - flags = ((gRfuLinkStatus->connSlotFlag ^ gUnknown_03004140.unk_0c) & gRfuLinkStatus->connSlotFlag) & ~gRfuLinkStatus->getNameFlag; - gUnknown_03004140.unk_0c = gRfuLinkStatus->connSlotFlag; - if (flags) - { - gUnknown_03004140.unk_14 = flags; - sub_800D30C(0x10, 0x01); - } - sp0 = 0x00; - for (i = 0; i < 4; i++) - { - r4 = 1 << i; - r5 = 0x00; - if (flags & r4) - { - gUnknown_03004140.unk_28[i] = gUnknown_03004140.unk_26; - gUnknown_03004140.unk_24 |= r4; - } - else if (gUnknown_03004140.unk_24 & r4) - { - if (gRfuSlotStatusNI[i]->recv.state == 0x46) - { - if (gRfuSlotStatusNI[i]->recv.dataType == 1) - { - r5 = 0x02; - for (ptr = gUnknown_03004140.unk_20; *ptr != 0xFFFF; ptr++) - { - if (gRfuLinkStatus->partner[i].serialNo == *ptr) - { - gUnknown_03004140.unk_00 |= r4; - gUnknown_03004140.unk_01++; - sp0 |= r4; - r5 |= 0x01; - break; - } - } - if (!(r5 & 0x01)) - { - r5 |= 0x04; - } - } - } - else if (--gUnknown_03004140.unk_28[i] == 0) - { - r5 = 0x06; - } - if (r5 & 0x02) - { - gUnknown_03004140.unk_24 &= ~r4; - gUnknown_03004140.unk_28[i] = 0; - rfu_clearSlot(0x08, i); - } - if (r5 & 0x04) - { - gUnknown_03004140.unk_0d |= r4; - } - } - } - if (sp0) - { - gUnknown_03004140.unk_14 = sp0; - sub_800D30C(0x11, 0x01); - } - if (gUnknown_03004140.unk_0d) - { - r5 = 0x01; - if (gRfuLinkStatus->sendSlotUNIFlag && ((gUnknown_03004140.unk_03 & gUnknown_03004140.unk_00) != gUnknown_03004140.unk_00)) - { - r5 = 0x00; - } - if (r5) - { - sub_800D334(gUnknown_03004140.unk_0d); - gUnknown_03004140.unk_14 = gUnknown_03004140.unk_0d; - gUnknown_03004140.unk_0d = 0; - sub_800D30C(0x12, 0x01); - } - } - if (gUnknown_03004140.unk_24 == 0 && gUnknown_03004140.unk_04 == 8) - { - if (gUnknown_03004140.unk_07 == 0) - { - gUnknown_03004140.unk_04 = gUnknown_03004140.unk_05 = 0; - sub_800D30C(0x14, 0x00); - } - else - { - if (gUnknown_03004140.unk_07 == 2) - { - gUnknown_03004140.unk_07 = 3; - gUnknown_03004140.unk_04 = 9; - } - else - { - gUnknown_03004140.unk_07 = 1; - gUnknown_03004140.unk_04 = 5; - } - if (gUnknown_03004140.unk_00) - { - gUnknown_03004140.unk_1a = 0; - gUnknown_03004140.unk_07 = 8; - gUnknown_03004140.unk_04 = 5; - } - } - } - } -} - -static void sub_800D158(void) -{ - u16 imeBak = REG_IME; - REG_IME = 0; - if (gUnknown_03004140.unk_04 == 15) - { - if (--gUnknown_03004140.unk_28[gUnknown_03004140.unk_10] == 0 || gRfuSlotStatusNI[gUnknown_03004140.unk_10]->send.state == 0x27) - { - sub_800D630(); - gUnknown_03004140.unk_04 = 24; - rfu_clearSlot(4, gUnknown_03004140.unk_10); - gUnknown_03004140.unk_24 &= ~(1 << gUnknown_03004140.unk_10); - gUnknown_03004140.unk_28[gUnknown_03004140.unk_10] = 0; - } - } - REG_IME = imeBak; - if (gUnknown_03004140.unk_04 == 24) - { - if (gUnknown_03004140.unk_02 == 1) - { - sub_800D630(); - } - if (gUnknown_03004140.unk_02 == 0) - { - gUnknown_03004140.unk_04 = gUnknown_03004140.unk_05 = 0; - sub_800D334(gRfuLinkStatus->connSlotFlag | gRfuLinkStatus->linkLossSlotFlag); - gUnknown_03004140.unk_14 = 0; - sub_800D30C(0x25, 0x01); - } - } -} - -static void sub_800D20C(void) -{ - if (gUnknown_03004140.unk_04 == 15 && gRfuSlotStatusNI[gUnknown_03004140.unk_10]->send.state == 0x26) - { - gUnknown_03004140.unk_04 = gUnknown_03004140.unk_05 = 0; - rfu_clearSlot(4, gUnknown_03004140.unk_10); - gUnknown_03004140.unk_24 &= ~(1 << gUnknown_03004140.unk_10); - gUnknown_03004140.unk_28[gUnknown_03004140.unk_10] = 0; - sub_800D30C(0x24, 0x00); - } -} - -static void sub_800D268(void) -{ - if (gUnknown_03004140.unk_06 == 0 && gUnknown_03004140.unk_0a == 1) - { - gUnknown_03004140.unk_11 = gUnknown_03004140.unk_04; - gUnknown_03004140.unk_12 = gUnknown_03004140.unk_05; - gUnknown_03004140.unk_04 = 16; - gUnknown_03004140.unk_05 = 17; - gUnknown_03004140.unk_0a = 2; - } -} - -static u8 sub_800D294(void) -{ - u8 i; - const u16 *ptr; - u8 flags = 0x00; - - for (i = 0; i < gRfuLinkStatus->findParentCount; i++) - { - for (ptr = gUnknown_03004140.unk_20; *ptr != 0xFFFF; ptr++) - { - if (gRfuLinkStatus->partner[i].serialNo == *ptr) - { - flags |= (1 << i); - } - } - } - return flags; -} - -static void sub_800D30C(u8 a0, u8 a1) -{ - if (gUnknown_03004140.unk_40 != NULL) - { - gUnknown_03004140.unk_40(a0, a1); - } - gUnknown_03004140.unk_14 = gUnknown_03004140.unk_16 = 0; -} - -static void sub_800D334(u8 a0) -{ - u8 unk_0e_bak = gUnknown_03004140.unk_0e; - gUnknown_03004140.unk_0e = 1; - rfu_REQ_disconnect(a0); - rfu_waitREQComplete(); - gUnknown_03004140.unk_0e = unk_0e_bak; -} - -static void sub_800D358(u8 a0) -{ - u8 i; - - if (gRfuLinkStatus->sendSlotNIFlag) - { - for (i = 0; i < 4; i++) - { - if (gRfuSlotStatusNI[i]->send.state & 0x8000 && gRfuSlotStatusNI[i]->send.bmSlot & a0) - { - rfu_changeSendTarget(0x20, i, gRfuSlotStatusNI[i]->send.bmSlot & ~a0); - } - } - } - if (gRfuLinkStatus->recvSlotNIFlag) - { - for (i = 0; i < 4; i++) - { - if (gRfuSlotStatusNI[i]->recv.state & 0x8000 && gRfuSlotStatusNI[i]->recv.bmSlot & a0) - { - rfu_NI_stopReceivingData(i); - } - } - } - if (gRfuLinkStatus->sendSlotUNIFlag) - { - gRfuLinkStatus->sendSlotUNIFlag &= ~a0; - for (i = 0; i < 4; i++) - { - if (gRfuSlotStatusUNI[i]->send.state == 0x8024 && a0 & gRfuSlotStatusUNI[i]->send.bmSlot) - { - gRfuSlotStatusUNI[i]->send.bmSlot &= ~a0; - } - } - } -} - -static void sub_800D434(void) -{ - u8 i; - u8 j; - u8 flags; - - if (gUnknown_03004140.unk_18) - { - if (gRfuLinkStatus->sendSlotNIFlag) - { - for (i = 0; i < 4; i ++) - { - if (gRfuSlotStatusNI[i]->send.state & 0x8000) - { - flags = 0; - for (j = 0; j < 4; j++) - { - if ((gRfuSlotStatusNI[i]->send.bmSlot >> j) & 1 && gRfuSlotStatusNI[j]->send.failCounter > gUnknown_03004140.unk_18) - { - flags |= (1 << j); - } - if (flags) - { - rfu_changeSendTarget(0x20, i, flags ^ gRfuSlotStatusNI[i]->send.bmSlot); - } - } - } - } - } - if (gRfuLinkStatus->recvSlotNIFlag) - { - for (i = 0; i < 4; i++) - { - if (gRfuSlotStatusNI[i]->recv.state & 0x8000 && gRfuSlotStatusNI[i]->recv.failCounter > gUnknown_03004140.unk_18) - { - rfu_NI_stopReceivingData(i); - } - } - } - } -} - -void sub_800D52C(void (*func)(u16)) -{ - gUnknown_03004140.unk_44 = func; - rfu_setMSCCallback(sub_800CEB0); -} - -void sub_800D544(void (*func)(u8, u8)) -{ - gUnknown_03004140.unk_40 = func; -} - -u8 sub_800D550(u8 a0, u16 a1) -{ - u16 imeBak; - if (gUnknown_03004140.unk_09 && a0 == 0 && gUnknown_03004140.unk_30) - { - return 5; - } - imeBak = REG_IME; - REG_IME = 0; - gUnknown_03004140.unk_09 = a0; - gUnknown_03004140.unk_32 = a1; - REG_IME = imeBak; - return 0; -} - -u8 sub_800D594(u16 a0) -{ - if (gRfuLinkStatus->sendSlotNIFlag | gRfuLinkStatus->recvSlotNIFlag) - { - gUnknown_03004140.unk_14 = 6; - sub_800D30C(0xf3, 0x01); - return 6; - } - gUnknown_03004140.unk_18 = a0; - return 0; -} - -u8 sub_800D5D0(u8 a0) -{ - if (gUnknown_03004140.unk_04 == 9 || gUnknown_03004140.unk_04 == 10 || gUnknown_03004140.unk_04 == 11) - { - gUnknown_03004140.unk_14 = 7; - sub_800D30C(0xf3, 0x01); - return 7; - } - if (a0) - { - gUnknown_03004140.unk_0b = 1; - } - else - { - gUnknown_03004140.unk_0b = 0; - } - return 0; -} - -static void sub_800D610(void) -{ - if (gUnknown_03004140.unk_02) - { - gUnknown_03004140.unk_02 = 0; - sub_800D30C(0x45, 0x00); - } -} - -void sub_800D630(void) -{ - if (gUnknown_03004140.unk_02 == 0) - { - sub_800D30C(0x45, 0x00); - } - else if (gUnknown_03004140.unk_02 == 1) - { - gUnknown_03004140.unk_02 = 2; - } -} - -void sub_800D658(void) -{ - if (gUnknown_03004140.unk_07) - { - switch (gUnknown_03004140.unk_04) - { - case 5: - gUnknown_03004140.unk_07 = 3; - gUnknown_03004140.unk_04 = 9; - break; - case 6: - gUnknown_03004140.unk_07 = 2; - gUnknown_03004140.unk_1a = 1; - break; - case 7: - case 8: - gUnknown_03004140.unk_07 = 2; - break; - case 9: - case 10: - gUnknown_03004140.unk_1a = 40; - break; - case 11: - gUnknown_03004140.unk_1a = 40; - gUnknown_03004140.unk_04 = 10; - break; - } - } -} - -// TODO: Is there a file boundary here? - -void sub_800D6C8(struct UnkRfuStruct_2_Sub_124 *ptr) -{ - s32 i; - s32 j; - - for (i = 0; i < 32; i++) - { - for (j = 0; j < 70; j++) - { - ptr->unk_00[i][j] = 0; - } - } - ptr->unk_8c1 = 0; - ptr->unk_8c0 = 0; - ptr->unk_8c2 = 0; - ptr->unk_8c3 = 0; -} - -void sub_800D724(struct UnkRfuStruct_2_Sub_9e8 *ptr) -{ - s32 i; - s32 j; - - for (i = 0; i < 40; i++) - { - for (j = 0; j < 14; j++) - { - ptr->unk_00[i][j] = 0; - } - } - ptr->unk_231 = 0; - ptr->unk_230 = 0; - ptr->unk_232 = 0; - ptr->unk_233 = 0; -} - -void sub_800D780(struct UnkRfuStruct_Sub_Unused *ptr) -{ - s32 i; - s32 j; - - for (i = 0; i < 2; i++) - { - for (j = 0; j < 256; j++) - { - ptr->unk_00[i][j] = 0; - } - } - ptr->unk_201 = 0; - ptr->unk_200 = 0; - ptr->unk_202 = 0; - ptr->unk_203 = 0; -} - -void sub_800D7D8(struct UnkRfuStruct_2_Sub_124 *q1, u8 *q2) -{ - s32 i; - u16 imeBak; - u8 count; - - if (q1->unk_8c2 < 32) - { - imeBak = REG_IME; - REG_IME = 0; - count = 0; - for (i = 0; i < 70; i += 14) - { - if (q2[i] == 0 && q2[i + 1] == 0) - { - count++; - } - } - if (count != 5) - { - for (i = 0; i < 70; i++) - { - q1->unk_00[q1->unk_8c0][i] = q2[i]; - } - q1->unk_8c0++; - q1->unk_8c0 %= 32; - q1->unk_8c2++; - for (i = 0; i < 70; i++) - { - q2[i] = 0; - } - } - REG_IME = imeBak; - } - else - { - q1->unk_8c3 = 1; - } -} - -void sub_800D888(struct UnkRfuStruct_2_Sub_9e8 *q1, u8 *q2) -{ - s32 i; - u16 imeBak; - - if (q1->unk_232 < 40) - { - imeBak = REG_IME; - REG_IME = 0; - for (i = 0; i < 14; i++) - { - if (q2[i] != 0) - { - break; - } - } - if (i != 14) - { - for (i = 0; i < 14; i++) - { - q1->unk_00[q1->unk_230][i] = q2[i]; - } - q1->unk_230++; - q1->unk_230 %= 40; - q1->unk_232++; - for (i = 0; i < 14; i++) - { - q2[i] = 0; - } - } - REG_IME = imeBak; - } - else - { - q1->unk_233 = 1; - } -} - -bool8 sub_800D934(struct UnkRfuStruct_2_Sub_124 *q1, u8 *q2) -{ - u16 imeBak; - s32 i; - - imeBak = REG_IME; - REG_IME = 0; - if (q1->unk_8c0 == q1->unk_8c1 || q1->unk_8c3 != 0) - { - for (i = 0; i < 70; i++) - { - q2[i] = 0; - } - REG_IME = imeBak; - return FALSE; - } - for (i = 0; i < 70; i++) - { - q2[i] = q1->unk_00[q1->unk_8c1][i]; - } - q1->unk_8c1++; - q1->unk_8c1 %= 32; - q1->unk_8c2--; - REG_IME = imeBak; - return TRUE; -} - -bool8 sub_800D9DC(struct UnkRfuStruct_2_Sub_9e8 *q1, u8 *q2) -{ - s32 i; - u16 imeBak; - - if (q1->unk_230 == q1->unk_231 || q1->unk_233 != 0) - { - return FALSE; - } - imeBak = REG_IME; - REG_IME = 0; - for (i = 0; i < 14; i++) - { - q2[i] = q1->unk_00[q1->unk_231][i]; - } - q1->unk_231++; - q1->unk_231 %= 40; - q1->unk_232--; - REG_IME = imeBak; - return TRUE; -} - -void sub_800DA68(struct UnkRfuStruct_2_Sub_c1c *q1, const u8 *q2) -{ - s32 i; - - if (q2[1] == 0) - { - sub_800DAC8(q1, NULL); - } - else - { - for (i = 0; i < 14; i++) - { - q1->unk_00[q1->unk_1c][i] = q2[i]; - } - q1->unk_1c++; - q1->unk_1c %= 2; - if (q1->unk_1e < 2) - { - q1->unk_1e++; - } - else - { - q1->unk_1d = q1->unk_1c; - } - } -} - -static bool8 sub_800DAC8(struct UnkRfuStruct_2_Sub_c1c *q1, u8 *q2) -{ - s32 i; - - if (q1->unk_1e == 0) - { - return FALSE; - } - if (q2 != NULL) - { - for (i = 0; i < 14; i++) - { - q2[i] = q1->unk_00[q1->unk_1d][i]; - } - } - q1->unk_1d++; - q1->unk_1d %= 2; - q1->unk_1e--; - return TRUE; -} - -void sub_800DB18(struct UnkRfuStruct_Sub_Unused *q1, u8 *q2) -{ - s32 i; - - if (q1->unk_202 < 2) - { - for (i = 0; i < 256; i++) - { - q1->unk_00[q1->unk_200][i] = q2[i]; - } - q1->unk_200++; - q1->unk_200 %= 2; - q1->unk_202++; - } - else - { - q1->unk_203 = 1; - } -} - -bool8 sub_800DB84(struct UnkRfuStruct_Sub_Unused *q1, u8 *q2) -{ - s32 i; - - if (q1->unk_200 == q1->unk_201 || q1->unk_203) - { - return FALSE; - } - for (i = 0; i < 256; i++) - { - q2[i] = q1->unk_00[q1->unk_201][i]; - } - q1->unk_201++; - q1->unk_201 %= 2; - q1->unk_202--; - return TRUE; -} - -void sub_800DBF8(u8 *q1, u8 mode) -{ - s32 i; - u8 rval; - u16 r5 = 0; - switch (mode) - { - case 0: - for (i = 0; i < 200; i++) - { - q1[i] = i + 1; - r5 += i + 1; - } - *((u16 *)(q1 + i)) = r5; - break; - case 1: - for (i = 0; i < 100; i++) - { - q1[i] = i + 1; - r5 += i + 1; - } - *((u16 *)(q1 + 200)) = r5; - break; - case 2: - for (i = 0; i < 200; i++) - { - rval = Random(); - q1[i] = rval; - r5 += rval; - } - *((u16 *)(q1 + i)) = r5; - break; - case 3: - for (i = 0; i < 200; i++) - { - q1[i] = i + 1 + gUnknown_03000D74; - r5 += (i + 1 + gUnknown_03000D74) & 0xFF; - } - *((u16 *)(q1 + i)) = r5; - gUnknown_03000D74++; - break; - } -} - -// File boundary here maybe? - -void PkmnStrToASCII(u8 *q1, const u8 *q2) -{ - s32 i; - - for (i = 0; q2[i] != EOS; i++) - { - q1[i] = sWireless_RSEtoASCIITable[q2[i]]; - } - q1[i] = 0; -} - -void ASCIIToPkmnStr(u8 *q1, const u8 *q2) -{ - s32 i; - - for (i = 0; q2[i] != 0; i++) - { - q1[i] = sWireless_ASCIItoRSETable[q2[i]]; - } - q1[i] = EOS; -} - -#ifdef NONMATCHING -u8 sub_800DD1C(u8 maxFlags) -{ - u8 flagCount = 0; - u32 flags = gRfuLinkStatus->connSlotFlag; - u8 i; - - if (gRfuLinkStatus->parentChild == 1) - { - for (i = 0; i < 4; flags >>= 1, i++) - { - if (flags & 1) - { - if (maxFlags == flagCount + 1) - return gRfuLinkStatus->strength[i]; - flagCount++; - } - } - } - else - { - for (i = 0; i < 4; flags >>= 1, i++) - { - if (flags & 1) - return gRfuLinkStatus->strength[i]; - } - } - return 0; -} -#else -NAKED u8 sub_800DD1C(u8 maxFlags) -{ - asm_unified("\tpush {r4-r7,lr}\n" - "\tlsls r0, 24\n" - "\tlsrs r5, r0, 24\n" - "\tmovs r6, 0\n" - "\tldr r0, =gRfuLinkStatus\n" - "\tldr r4, [r0]\n" - "\tldrb r2, [r4, 0x2]\n" - "\tldrb r1, [r4]\n" - "\tadds r7, r0, 0\n" - "\tcmp r1, 0x1\n" - "\tbne _0800DD72\n" - "\tmovs r3, 0\n" - "\tands r1, r2\n" - "\tcmp r1, 0\n" - "\tbeq _0800DD4E\n" - "\tcmp r5, 0x1\n" - "\tbne _0800DD48\n" - "\tldrb r0, [r4, 0xA]\n" - "\tb _0800DD8C\n" - "\t.pool\n" - "_0800DD48:\n" - "\tadds r0, r6, 0x1\n" - "\tlsls r0, 24\n" - "\tlsrs r6, r0, 24\n" - "_0800DD4E:\n" - "\tlsrs r2, 1\n" - "\tadds r0, r3, 0x1\n" - "\tlsls r0, 24\n" - "\tlsrs r3, r0, 24\n" - "\tcmp r3, 0x3\n" - "\tbhi _0800DD8A\n" - "\tmovs r0, 0x1\n" - "\tands r0, r2\n" - "\tcmp r0, 0\n" - "\tbeq _0800DD4E\n" - "\tadds r0, r6, 0x1\n" - "\tcmp r5, r0\n" - "\tbne _0800DD48\n" - "_0800DD68:\n" - "\tldr r0, [r7]\n" - "\tadds r0, 0xA\n" - "\tadds r0, r3\n" - "\tldrb r0, [r0]\n" - "\tb _0800DD8C\n" - "_0800DD72:\n" - "\tmovs r3, 0\n" - "\tmovs r1, 0x1\n" - "_0800DD76:\n" - "\tadds r0, r2, 0\n" - "\tands r0, r1\n" - "\tcmp r0, 0\n" - "\tbne _0800DD68\n" - "\tlsrs r2, 1\n" - "\tadds r0, r3, 0x1\n" - "\tlsls r0, 24\n" - "\tlsrs r3, r0, 24\n" - "\tcmp r3, 0x3\n" - "\tbls _0800DD76\n" - "_0800DD8A:\n" - "\tmovs r0, 0\n" - "_0800DD8C:\n" - "\tpop {r4-r7}\n" - "\tpop {r1}\n" - "\tbx r1"); -} -#endif - -void sub_800DD94(struct UnkLinkRfuStruct_02022B14 *data, u8 r9, bool32 r2, s32 r3) -{ - s32 i; - - for (i = 0; i < 2; i++) - { - data->unk_00.playerTrainerId[i] = gSaveBlock2Ptr->playerTrainerId[i]; - } - for (i = 0; i < 4; i++) - { - data->unk_04[i] = r3; - r3 >>= 8; - } - data->playerGender = gSaveBlock2Ptr->playerGender; - data->unk_0a_0 = r9; - data->unk_0a_7 = r2; - data->unk_00.unk_00_0 = 2; - data->unk_00.unk_01_2 = 3; - data->unk_00.unk_00_4 = 0; - data->unk_00.unk_00_5 = 0; - data->unk_00.unk_00_6 = 0; - data->unk_00.isChampion = FlagGet(FLAG_IS_CHAMPION); - data->unk_00.hasNationalDex = IsNationalPokedexEnabled(); - data->unk_00.gameClear = FlagGet(FLAG_SYS_GAME_CLEAR); -} - -bool8 sub_800DE7C(struct UnkLinkRfuStruct_02022B14 *buff1, u8 *buff2, u8 idx) -{ - bool8 retVal; - - if (gUnknown_03004140.unk_06 == 1) - { - retVal = TRUE; - if (sub_8010454(gRfuLinkStatus->partner[idx].serialNo) && ((gRfuLinkStatus->getNameFlag >> idx) & 1)) - { - memcpy(buff1, gRfuLinkStatus->partner[idx].gname, 0xD); - memcpy(buff2, gRfuLinkStatus->partner[idx].uname, PLAYER_NAME_LENGTH + 1); - } - else - { - memset(buff1, 0, 0xD); - memset(buff2, 0, PLAYER_NAME_LENGTH + 1); - } - } - else - { - retVal = FALSE; - if (sub_8010454(gRfuLinkStatus->partner[idx].serialNo)) - { - memcpy(buff1, gRfuLinkStatus->partner[idx].gname, 0xD); - memcpy(buff2, gRfuLinkStatus->partner[idx].uname, PLAYER_NAME_LENGTH + 1); - } - else - { - memset(buff1, 0, 0xD); - memset(buff2, 0, PLAYER_NAME_LENGTH + 1); - } - } - return retVal; -} - -bool8 sub_800DF34(struct UnkLinkRfuStruct_02022B14 *buff1, u8 *buff2, u8 idx) -{ - bool8 retVal = FALSE; - if (gRfuLinkStatus->partner[idx].serialNo == 0x7F7D) - { - memcpy(buff1, gRfuLinkStatus->partner[idx].gname, 0xD); - memcpy(buff2, gRfuLinkStatus->partner[idx].uname, 8); - retVal = TRUE; - } - else - { - memset(buff1, 0, 0xD); - memset(buff2, 0, 8); - } - return retVal; -} - -void sub_800DF90(struct UnkLinkRfuStruct_02022B14 *buff1, u8 *buff2) -{ - memcpy(buff1, &gUnknown_02022B14, 0xD); - memcpy(buff2, gUnknown_02022B22, 8); -} - -void CreateWirelessStatusIndicatorSprite(u8 x, u8 y) -{ - u8 sprId; - - if (x == 0 && y == 0) - { - x = 0xE7; - y = 0x08; - } - if (gRfuLinkStatus->parentChild == 1) - { - sprId = CreateSprite(&sWirelessStatusIndicatorSpriteTemplate, x, y, 0); - gSprites[sprId].data[7] = 0x1234; - gSprites[sprId].data[6] = GetSpriteTileStartByTag(sWirelessStatusIndicatorSpriteSheet.tag); - gSprites[sprId].invisible = TRUE; - gWirelessStatusIndicatorSpriteId = sprId; - } - else - { - gWirelessStatusIndicatorSpriteId = CreateSprite(&sWirelessStatusIndicatorSpriteTemplate, x, y, 0); - gSprites[gWirelessStatusIndicatorSpriteId].data[7] = 0x1234; - gSprites[gWirelessStatusIndicatorSpriteId].data[6] = GetSpriteTileStartByTag(sWirelessStatusIndicatorSpriteSheet.tag); - gSprites[gWirelessStatusIndicatorSpriteId].invisible = TRUE; - } -} - -void DestroyWirelessStatusIndicatorSprite(void) -{ - if (gSprites[gWirelessStatusIndicatorSpriteId].data[7] == 0x1234) - { - gSprites[gWirelessStatusIndicatorSpriteId].data[7] = 0; - DestroySprite(&gSprites[gWirelessStatusIndicatorSpriteId]); - gMain.oamBuffer[125] = gDummyOamData; - CpuCopy16(&gDummyOamData, (struct OamData *)OAM + 125, sizeof(struct OamData)); - } -} - -void LoadWirelessStatusIndicatorSpriteGfx(void) -{ - if (GetSpriteTileStartByTag(sWirelessStatusIndicatorSpriteSheet.tag) == 0xFFFF) - { - LoadCompressedSpriteSheet(&sWirelessStatusIndicatorSpriteSheet); - } - LoadSpritePalette(&sWirelessStatusIndicatorSpritePalette); - gWirelessStatusIndicatorSpriteId = 0xFF; -} - -u8 sub_800E124(void) -{ - u8 i; - u8 flags = gRfuLinkStatus->connSlotFlag; - for (i = 0; i < 4; i++) - { - if (flags & 1) - { - return gRfuLinkStatus->strength[i]; - } - flags >>= 1; - } - return 0; -} - -void sub_800E15C(struct Sprite *sprite, s32 signalStrengthAnimNum) -{ - if (sprite->data[2] != signalStrengthAnimNum) - { - sprite->data[2] = signalStrengthAnimNum; - sprite->data[3] = 0; - sprite->data[4] = 0; - } -} - -void sub_800E174(void) -{ - if (gWirelessStatusIndicatorSpriteId != 0xFF && gSprites[gWirelessStatusIndicatorSpriteId].data[7] == 0x1234) - { - struct Sprite *sprite = &gSprites[gWirelessStatusIndicatorSpriteId]; - u8 signalStrength = 255; - u8 i = 0; - if (gRfuLinkStatus->parentChild == 1) - { - for (i = 0; i < GetLinkPlayerCount() - 1; i++) - { - if (signalStrength >= sub_800DD1C(i + 1)) - { - signalStrength = sub_800DD1C(i + 1); - } - } - } - else - { - signalStrength = sub_800E124(); - } - if (sub_8012224() == TRUE) - { - sprite->data[0] = 4; - } - else if (signalStrength < 25) - { - sprite->data[0] = 3; - } - else if (signalStrength >= 25 && signalStrength < 127) - { - sprite->data[0] = 2; - } - else if (signalStrength >= 127 && signalStrength < 229) - { - sprite->data[0] = 1; - } - else if (signalStrength >= 229) - { - sprite->data[0] = 0; - } - if (sprite->data[0] != sprite->data[1]) - { - sub_800E15C(sprite, sprite->data[0]); - sprite->data[1] = sprite->data[0]; - } - if (sprite->anims[sprite->data[2]][sprite->data[4]].frame.duration < sprite->data[3]) - { - sprite->data[4]++; - sprite->data[3] = 0; - if (sprite->anims[sprite->data[2]][sprite->data[4]].type == -2) - { - sprite->data[4] = 0; - } - } - else - { - sprite->data[3]++; - } - gMain.oamBuffer[125] = sWirelessStatusIndicatorOamData; - gMain.oamBuffer[125].x = sprite->pos1.x + sprite->centerToCornerVecX; - gMain.oamBuffer[125].y = sprite->pos1.y + sprite->centerToCornerVecY; - gMain.oamBuffer[125].paletteNum = sprite->oam.paletteNum; - gMain.oamBuffer[125].tileNum = sprite->data[6] + sprite->anims[sprite->data[2]][sprite->data[4]].frame.imageValue; - CpuCopy16(gMain.oamBuffer + 125, (struct OamData *)OAM + 125, sizeof(struct OamData)); - if (sub_8011A74() == 1) - { - DestroyWirelessStatusIndicatorSprite(); - } - } -} - -void CopyTrainerRecord(struct TrainerNameRecord *dest, u32 trainerId, const u8 *name) -{ - dest->trainerId = trainerId; - StringCopy(dest->trainerName, name); -} - -bool32 NameIsNotEmpty(const u8 *name) -{ - s32 i; - - for (i = 0; i < PLAYER_NAME_LENGTH + 1; i++) - { - if (name[i] != 0) - { - return TRUE; - } - } - return FALSE; -} - -// Save the currently connected players into the trainer records, shifting all previous records down. -void RecordMixTrainerNames(void) -{ - if (gWirelessCommType != 0) - { - s32 i; - s32 j; - s32 nextSpace; - s32 connectedTrainerRecordIndices[5]; - struct TrainerNameRecord *newRecords = calloc(20, sizeof(struct TrainerNameRecord)); - - // Check if we already have a record saved for connected trainers. - for (i = 0; i < GetLinkPlayerCount(); i++) - { - connectedTrainerRecordIndices[i] = -1; - for (j = 0; j < 20; j++) - { - if ((u16)gLinkPlayers[i].trainerId == gSaveBlock1Ptr->trainerNameRecords[j].trainerId && StringCompare(gLinkPlayers[i].name, gSaveBlock1Ptr->trainerNameRecords[j].trainerName) == 0) - { - connectedTrainerRecordIndices[i] = j; - } - } - } - - // Save the connected trainers first, at the top of the list. - nextSpace = 0; - for (i = 0; i < GetLinkPlayerCount(); i++) - { - if (i != GetMultiplayerId() && gLinkPlayers[i].language != LANGUAGE_JAPANESE) - { - CopyTrainerRecord(&newRecords[nextSpace], (u16)gLinkPlayers[i].trainerId, gLinkPlayers[i].name); - - // If we already had a record for this trainer, wipe it so that the next step doesn't duplicate it. - if (connectedTrainerRecordIndices[i] >= 0) - { - memset(gSaveBlock1Ptr->trainerNameRecords[connectedTrainerRecordIndices[i]].trainerName, 0, 8); - } - nextSpace++; - } - } - - // Copy all non-empty records to the new list, in the order they appear on the old list. If the list is full, - // the last (oldest) records will be dropped. - for (i = 0; i < 20; i++) - { - if (NameIsNotEmpty(gSaveBlock1Ptr->trainerNameRecords[i].trainerName)) - { - CopyTrainerRecord(&newRecords[nextSpace], gSaveBlock1Ptr->trainerNameRecords[i].trainerId, gSaveBlock1Ptr->trainerNameRecords[i].trainerName); - if (++nextSpace >= 20) - { - break; - } - } - } - - // Finalize the new list, and clean up. - memcpy(gSaveBlock1Ptr->trainerNameRecords, newRecords, 20 * sizeof(struct TrainerNameRecord)); - free(newRecords); - } -} - -bool32 sub_800E540(u16 id, u8 *name) -{ - s32 i; - - for (i = 0; i < 20; i++) - { - if (StringCompare(gSaveBlock1Ptr->trainerNameRecords[i].trainerName, name) == 0 && gSaveBlock1Ptr->trainerNameRecords[i].trainerId == id) - { - return TRUE; - } - if (!NameIsNotEmpty(gSaveBlock1Ptr->trainerNameRecords[i].trainerName)) - { - return FALSE; - } - } - return FALSE; -} - -void WipeTrainerNameRecords(void) -{ - s32 i; - - for (i = 0; i < 20; i++) - { - gSaveBlock1Ptr->trainerNameRecords[i].trainerId = 0; - CpuFill16(0, gSaveBlock1Ptr->trainerNameRecords[i].trainerName, 8); - } -} - -void nullsub_5(const void *unused_0, u8 unused_1, u8 unused_2) -{ - // debug? -} - -void nullsub_13(u16 unused_0, u8 unused_1, u8 unused_2, u8 unused_3) -{ - -} - -void sub_800E604(void) -{ - s32 i; - u8 unk_ee_bak = gUnknown_03005000.unk_ee; - CpuFill16(0, &gUnknown_03005000, sizeof gUnknown_03005000); - gUnknown_03005000.unk_ee = unk_ee_bak; - gUnknown_03005000.unk_0c = 0xFF; - if (gUnknown_03005000.unk_ee != 4) - { - gUnknown_03005000.unk_ee = 0; - } - for (i = 0; i < 5; i++) - { - sub_800FCC4(gUnknown_03005000.unk_80 + i); - } - sub_800FCC4(&gUnknown_03005000.unk_6c); - sub_800D6C8(&gUnknown_03005000.unk_124); - sub_800D724(&gUnknown_03005000.unk_9e8); - CpuFill16(0, gSendCmd, sizeof gSendCmd); - CpuFill16(0, gRecvCmds, sizeof gRecvCmds); - CpuFill16(0, gLinkPlayers, sizeof gLinkPlayers); -} - -void sub_800E6D0(void) -{ - IntrFunc serialIntr = gIntrTable[1]; - IntrFunc timerIntr = gIntrTable[2]; - sub_800E700(); - rfu_REQ_stopMode(); - rfu_waitREQComplete(); - REG_IME = 0; - gIntrTable[1] = serialIntr; - gIntrTable[2] = timerIntr; - REG_IME = INTR_FLAG_VBLANK; -} - -void sub_800E700(void) -{ - if (!rfu_initializeAPI((void *)gUnknown_03004140.unk_50, sizeof gUnknown_03004140.unk_50, gIntrTable + 1, TRUE)) - { - gLinkType = 0; - sub_800AAF4(); - sub_80111B0(0); - sub_800E604(); - rfu_setTimerInterrupt(3, gIntrTable + 2); - } -} - -void sub_800E748(u8 taskId) -{ - sub_8010750(); - switch (gUnknown_03005000.unk_04) - { - case 0: - sub_800BFCC(&gUnknown_02022B2C); - gUnknown_03005000.unk_04 = 1; - gTasks[taskId].data[1] = 1; - break; - case 1: - break; - case 2: - sub_800C054(gUnknown_03005000.unk_0c, 0, 240, gUnknown_082ED6E0); - gUnknown_03005000.unk_04 = 3; - gTasks[taskId].data[1] = 6; - break; - case 3: - break; - case 4: - sub_800C27C(FALSE); - gUnknown_03005000.unk_04 = 5; - break; - case 5: - break; - case 18: - gUnknown_03005000.unk_cdb = 0; - sub_800D52C(sub_800EDBC); - sub_800EAB4(); - sub_800EAFC(); - gUnknown_03005000.unk_04 = 20; - gTasks[taskId].data[1] = 8; - CreateTask(sub_801084C, 5); - DestroyTask(taskId); - break; - } -} - -s32 sub_800E87C(u8 idx) -{ - return gUnknown_082ED6A5[idx]; -} - -void sub_800E88C(s32 r2, s32 r5) -{ - u8 i; - u8 r4 = 1; - s32 r1 = r2; - s32 r6 = 0; - if (r5 == -1) - { - for (i = 0; i < 4; r2 >>= 1, i++) - { - if (r2 & 1) - { - gUnknown_03005000.unk_cde[i] = r4; - r4++; - } - } - } - else - { - for (i = 0; i < 4; r1 >>= 1, i++) - { - if (!(r1 & 1)) - { - gUnknown_03005000.unk_cde[i] = 0; - } - } - for (r4 = 4; r4 != 0; r4--) - { - for (i = 0; i < 4 && gUnknown_03005000.unk_cde[i] != r4; i++); - if (i == 4) - { - r6 = r4; - } - } - for (r5 &= ~r2, i = 0; i < 4; r5 >>= 1, i++) - { - if (r5 & 1) - { - gUnknown_03005000.unk_cde[i] = r6++; - } - } - } -} - -void sub_800E94C(u8 taskId) -{ - switch (gUnknown_03005000.unk_04) - { - case 0: - sub_800BFCC(&gUnknown_082ED608); - gUnknown_03005000.unk_04 = 1; - gTasks[taskId].data[1] = 1; - break; - case 1: - break; - case 6: - sub_800C054(gUnknown_03005000.unk_0c, 0, 0xf0, gUnknown_082ED6E0); - gUnknown_03005000.unk_04 = 7; - gTasks[taskId].data[1] = 7; - break; - case 7: - break; - case 9: - gTasks[taskId].data[1] = 10; - break; - case 11: - switch (sub_80107A0()) - { - case 5: - gUnknown_03005000.unk_04 = 12; - break; - case 6: - case 9: - sub_800D630(); - gUnknown_03005000.unk_ce4 = 2; - DestroyTask(taskId); - break; - } - break; - case 12: - { - u8 r5 = 1 << gUnknown_03005000.unk_c3e; - rfu_clearSlot(12, gUnknown_03005000.unk_c3e); - rfu_setRecvBuffer(16, gUnknown_03005000.unk_c3e, gUnknown_03005000.unk_c3f, 70); - rfu_UNI_setSendData(r5, gUnknown_03005000.unk_4c, 14); - gTasks[taskId].data[1] = 8; - DestroyTask(taskId); - if (gUnknown_02022B44.unk_0f == 0) - { - sub_801227C(); - gUnknown_02022B44.unk_0f++; - } - CreateTask(sub_801084C, 5); - break; - } - } -} - -static void sub_800EAB4(void) -{ - u8 i; - u8 r5 = gUnknown_03004140.unk_00; - for (i = 0; i < 4; i++) - { - if (r5 & 1) - { - rfu_setRecvBuffer(16, i, gUnknown_03005000.unk_14[i], 14); - rfu_clearSlot(3, i); - } - r5 >>= 1; - } -} - -static void sub_800EAFC(void) -{ - u8 r5 = gUnknown_03004140.unk_00; - rfu_UNI_setSendData(r5, gUnknown_03005000.unk_c87, 70); - gUnknown_03005000.unk_cda = sub_800E87C(r5); - gUnknown_03005000.unk_ce2 = r5; - sub_800E88C(r5, -1); - gUnknown_03005000.unk_0c = 1; -} - -void sub_800EB44(u8 taskId) -{ - if (sub_800F7DC()->unk_0a_0 == 0x54 && sub_8011A74() == 4) - { - rfu_REQ_disconnect(gUnknown_03004140.unk_00); - rfu_waitREQComplete(); - sub_8011A64(0, 0); - } - switch (gUnknown_03005000.unk_04) - { - case 0: - sub_800BFCC(&gUnknown_02022B2C); - gUnknown_03005000.unk_04 = 1; - gTasks[taskId].data[1] = 1; - break; - case 1: - break; - case 17: - sub_800C054(2, 0, 240, gUnknown_082ED6E0); - sub_800D52C(sub_800ED34); - gUnknown_03005000.unk_04 = 18; - break; - case 18: - break; - case 13: - if (rfu_UNI_setSendData(1 << gUnknown_03005000.unk_c3e, gUnknown_03005000.unk_4c, 14) == 0) - { - gUnknown_03005000.unk_0c = 0; - DestroyTask(taskId); - if (gTasks[taskId].data[7]) - { - CreateTask(sub_8010D0C, 1); - } - else - { - CreateTask(sub_801084C, 5); - } - } - break; - case 14: - sub_800C27C(0); - gUnknown_03005000.unk_04 = 15; - break; - case 15: - break; - case 16: - gUnknown_03005000.unk_cdb = 0; - sub_800D52C(sub_800EDBC); - sub_8011068(1); - sub_800EAB4(); - sub_800EAFC(); - gUnknown_03005000.unk_04 = 20; - gTasks[taskId].data[1] = 8; - gUnknown_03005000.unk_0c = 1; - CreateTask(sub_801084C, 5); - gUnknown_03005000.unk_ce8 = 1; - DestroyTask(taskId); - break; - } -} - -void sub_800ED10(void) -{ - sub_800C054(1, 0, 240, gUnknown_082ED6E0); -} - -void sub_800ED28(void) -{ - sub_800C27C(FALSE); -} - -void sub_800ED34(u16 unused) -{ - s32 i; - - for (i = 0; i < 14; i++) - { - gUnknown_03005000.unk_4c[i] = 0; - } - rfu_REQ_recvData(); - rfu_waitREQComplete(); - if (gRfuSlotStatusUNI[gUnknown_03005000.unk_c3e]->recv.newDataFlag) - { - gUnknown_03005000.unk_cd0++; - sub_800D7D8(&gUnknown_03005000.unk_124, gUnknown_03005000.unk_c3f); - gUnknown_02022B44.unk_06++; - sub_800F048(); - rfu_UNI_readySendData(gUnknown_03005000.unk_c3e); - rfu_UNI_clearRecvNewDataFlag(gUnknown_03005000.unk_c3e); - } - rfu_REQ_sendData_wrapper(1); -} - -static void sub_800EDBC(u16 unused) -{ - gUnknown_03005000.unk_cdb = 1; -} - -void sub_800EDD4(void) -{ - u8 i; - - sub_800C048(); - if (gUnknown_03005000.unk_0c == 1) - { - if (FuncIsActiveTask(sub_800E748) == TRUE) - { - DestroyTask(gUnknown_03005000.unk_67); - sub_800E604(); - } - } - else if (gUnknown_03005000.unk_0c == 0) - { - if (FuncIsActiveTask(sub_800E94C) == TRUE) - { - DestroyTask(gUnknown_03005000.unk_67); - sub_800E604(); - } - } - else if (gUnknown_03005000.unk_0c == 2) - { - if (FuncIsActiveTask(sub_800EB44) == TRUE) - { - DestroyTask(gUnknown_03005000.unk_67); - sub_800E604(); - } - } - for (i = 0; i < 3; i++) - { - if (FuncIsActiveTask(gUnknown_082ED7E0[i]) == TRUE) - { - DestroyTask(FindTaskIdByFunc(gUnknown_082ED7E0[i])); - } - } -} - -void sub_800EE78(void) -{ - gUnknown_03005000.unk_67 = CreateTask(sub_800E748, 1); -} - -bool8 sub_800EE94(void) -{ - if (gUnknown_03005000.unk_04 == 7 && gUnknown_03005000.unk_ccd) - { - return TRUE; - } - return FALSE; -} - -bool32 sub_800EEBC(void) -{ - if (gUnknown_03005000.unk_04 == 7 && !sub_800C12C(gRfuLinkStatus->partner[gUnknown_03005000.unk_c3d].id, 240)) - { - gUnknown_03005000.unk_04 = 9; - return TRUE; - } - return FALSE; -} - -void sub_800EF00(void) -{ - gUnknown_03005000.unk_67 = CreateTask(sub_800E94C, 1); -} - -bool8 sub_800EF1C(void) -{ - if (gUnknown_03004140.unk_00) - { - return TRUE; - } - return FALSE; -} - -void sub_800EF38(void) -{ - gUnknown_03005000.unk_04 = 4; - gUnknown_03005000.unk_ce7 = gUnknown_03004140.unk_00; -} - -bool32 sub_800EF58(bool32 a0) -{ - if (gUnknown_03005000.unk_04 == 17 || a0) - { - gUnknown_03005000.unk_04 = 18; - return TRUE; - } - return FALSE; -} - -void sub_800EF7C(void) -{ - gUnknown_03005000.unk_04 = 14; -} - -void sub_800EF88(u8 a0) -{ - u8 i; - - for (i = 0; i < 4; i++) - { - if (a0 & 1) - { - rfu_UNI_readySendData(i); - break; - } - a0 >>= 1; - } -} - -void sub_800EFB0(void) -{ - s32 i, j; - - for (i = 0; i < 5; i++) - { - struct UnkRfuStruct_2 *ptr = &gUnknown_03005000; - for (j = 0; j < 7; j++) - { - ptr->unk_c87[i][j][1] = gRecvCmds[i][j] >> 8; - ptr->unk_c87[i][j][0] = gRecvCmds[i][j]; - } - } - CpuFill16(0, gRecvCmds, sizeof gRecvCmds); -} - -void sub_800F014(void) -{ - s32 i; - for (i = 0; i < 7; i++) - { - gRecvCmds[0][i] = gSendCmd[i]; - } - for (i = 0; i < 7; i++) - { - gSendCmd[i] = 0; - } -} - -static void sub_800F048(void) -{ - if (gUnknown_03005000.unk_c3c) - { - u8 r2 = sub_800DAC8(&gUnknown_03005000.unk_c1c, gUnknown_03005000.unk_4c); - if (gUnknown_03005000.unk_c1c.unk_1e == 0) - { - gUnknown_03005000.unk_c3c = 0; - } - if (r2) - { - return; - } - } - if (gUnknown_03005000.unk_c3c == 0) - { - sub_800D9DC(&gUnknown_03005000.unk_9e8, gUnknown_03005000.unk_4c); - sub_800DA68(&gUnknown_03005000.unk_c1c, gUnknown_03005000.unk_4c); - } -} - -bool32 IsRfuRecvQueueEmpty(void) -{ - s32 i; - s32 j; - - if (gRfuLinkStatus->sendSlotUNIFlag == 0) - { - return FALSE; - } - for (i = 0; i < 5; i++) - { - for (j = 0; j < 7; j++) - { - if (gRecvCmds[i][j] != 0) - { - return FALSE; - } - } - } - return TRUE; -} - -bool32 sub_800F0F8(void) -{ - if (gUnknown_03005000.unk_04 < 20) - { - rfu_REQ_recvData(); - rfu_waitREQComplete(); - rfu_REQ_sendData_wrapper(0); - } - else - { - gUnknown_03005000.unk_cdb = 0; - if ((gUnknown_03005000.unk_ce2 & gRfuLinkStatus->connSlotFlag) == gUnknown_03005000.unk_ce2 && (gUnknown_03005000.unk_ce2 & gRfuLinkStatus->connSlotFlag)) - { - if (!gUnknown_03005000.unk_cdc) - { - if (gUnknown_03005000.unk_ce3) - { - sub_8011D6C(gUnknown_03005000.unk_ce3); - gUnknown_03005000.unk_ce3 = 0; - if (gUnknown_03005000.unk_ce4 == 1) - { - sub_8011A64(2, 0x8000); - sub_8011170(0x8000); - return FALSE; - } - if (!gUnknown_03004140.unk_00) - { - sub_800EDD4(); - gReceivedRemoteLinkPlayers = 0; - return FALSE; - } - } - sub_800EFB0(); - rfu_UNI_readySendData(gUnknown_03005000.unk_cda); - rfu_REQ_sendData_wrapper(1); - } - else - { - rfu_REQ_PARENT_resumeRetransmitAndChange(); - } - gUnknown_03005000.unk_0e = 1; - } - } - return FALSE; -} - -bool32 sub_800F1E0(void) -{ - u16 i; - u16 flags; - u8 r0; - u16 j; - u8 retval; - - if (gUnknown_03005000.unk_04 >= 20 && gUnknown_03005000.unk_0e == 1) - { - rfu_waitREQComplete(); - while (gUnknown_03005000.unk_cdb == 0) - { - if (gUnknown_03005000.unk_ee != 0) - { - return FALSE; - } - } - rfu_REQ_recvData(); - rfu_waitREQComplete(); - if ((gUnknown_03004140.unk_03 & gUnknown_03005000.unk_ce2) == gUnknown_03005000.unk_ce2) - { - gUnknown_03005000.unk_cdc = 0; - gUnknown_02022B44.unk_06++; - flags = gUnknown_03004140.unk_00; - for (i = 0; i < 4; i++) - { - if (flags & 1) - { - if (gUnknown_03005000.unk_14[i][1]) - { - if (gUnknown_03005000.unk_cee[i] != 0xFF && (gUnknown_03005000.unk_14[i][0] >> 5) != ((gUnknown_03005000.unk_cee[i] + 1) & 7)) - { - if (++gUnknown_03005000.unk_cea[i] > 4) - sub_8011170(0x8100); - } - else - { - gUnknown_03005000.unk_cee[i] = gUnknown_03005000.unk_14[i][0] / 32; - gUnknown_03005000.unk_cea[i] = 0; - gUnknown_03005000.unk_14[i][0] &= 0x1f; - r0 = gUnknown_03005000.unk_cde[i]; - for (j = 0; j < 7; j++) - { - gRecvCmds[r0][j] = (gUnknown_03005000.unk_14[i][(j << 1) + 1] << 8) | gUnknown_03005000.unk_14[i][(j << 1) + 0]; - gUnknown_03005000.unk_14[i][(j << 1) + 1] = 0; - gUnknown_03005000.unk_14[i][(j << 1) + 0] = 0; - } - } - } - rfu_UNI_clearRecvNewDataFlag(i); - } - flags >>= 1; - } - sub_800F014(); - sub_800F86C(0); - sub_8010528(); - if (gUnknown_03005000.unk_ce5 && !gUnknown_03005000.unk_cd9) - { - gUnknown_02022B44.unk_0e = 0; - rfu_clearSlot(3, gUnknown_03005000.unk_cda); - for (i = 0; i < 4; i++) - { - if ((gUnknown_03005000.unk_ce5 >> i) & 1) - { - rfu_setRecvBuffer(0x10, i, gUnknown_03005000.unk_14[i], 14); - } - } - sub_800E88C(gUnknown_03005000.unk_ce2, gUnknown_03005000.unk_ce2 | gUnknown_03005000.unk_ce5); - gUnknown_03005000.unk_ce9 = gUnknown_03005000.unk_ce5; - gUnknown_03005000.unk_ce2 |= gUnknown_03005000.unk_ce5; - gUnknown_03005000.unk_ce5 = 0; - rfu_UNI_setSendData(gUnknown_03005000.unk_ce2, gUnknown_03005000.unk_c87, 70); - gUnknown_03005000.unk_cda = sub_800E87C(gUnknown_03005000.unk_ce2); - CreateTask(sub_8010AAC, 0); - } - } - else - { - gUnknown_03005000.unk_cdc = 1; - gUnknown_03005000.unk_0e = 0; - } - gUnknown_03005000.unk_0e = 0; - } - retval = gUnknown_03005000.unk_cdc; - return gRfuLinkStatus->sendSlotUNIFlag ? retval & 1 : FALSE; -} - -void sub_800F498(u16 *a0, u8 *a1) -{ - s32 i; - - if (a0[0]) - { - a0[0] |= (gUnknown_03005000.unk_102 << 5); - gUnknown_03005000.unk_102 = (gUnknown_03005000.unk_102 + 1) & 7; - for (i = 0; i < 7; i++) - { - a1[2 * i + 1] = a0[i] >> 8; - a1[2 * i + 0] = a0[i]; - } - } - else - { - for (i = 0; i < 14; i++) - a1[i] = 0; - } -} - -bool32 sub_800F4F0(void) -{ - u8 i; - u8 j; - u8 sp00[MAX_RFU_PLAYERS * (2 * (CMD_LENGTH - 1))]; - u8 sp48[2 * (CMD_LENGTH - 1)]; - u8 switchval; - - sub_800D934(&gUnknown_03005000.unk_124, sp00); - for (i = 0; i < MAX_RFU_PLAYERS; i++) - { - for (j = 0; j < CMD_LENGTH - 1; j++) - { - gRecvCmds[i][j] = (sp00[i * 14 + (j << 1) + 1] << 8) | sp00[i * 14 + (j << 1) + 0]; - } - } - sub_800F86C(0); - if (gUnknown_03004140.unk_02 == 0 && gUnknown_03005000.unk_ce4) - { - rfu_REQ_disconnect(gRfuLinkStatus->connSlotFlag | gRfuLinkStatus->linkLossSlotFlag); - rfu_waitREQComplete(); - switchval = sub_8011A74(); - if (switchval != 1 && switchval != 6 && switchval != 9) - sub_8011A64(2, 0x9000); - rfu_clearAllSlot(); - gReceivedRemoteLinkPlayers = FALSE; - gUnknown_03005000.linkRfuCallback = NULL; - if (gUnknown_03005000.unk_ce4 == 1) - { - sub_8011A64(2, 0x9000); - sub_8011170(0x9000); - } - gUnknown_03004140.unk_04 = gUnknown_03004140.unk_05 = 0; - gUnknown_03005000.unk_ce4 = 0; - } - if (gUnknown_03005000.unk_cd0) - { - gUnknown_03005000.unk_cd0--; - sub_8010528(); - sub_800F498(gSendCmd, sp48); - sub_800D888(&gUnknown_03005000.unk_9e8, sp48); - for (i = 0; i < CMD_LENGTH - 1; i++) - gSendCmd[i] = 0; - } - return IsRfuRecvQueueEmpty(); -} - -void sub_800F638(u8 unused, u32 flags) -{ - s32 i, j; - - const u8 *r10 = gUnknown_03005000.unk_6c.unk_04; - for (i = 0; i < gUnknown_03005000.unk_6c.unk_02; i++) - { - if (!(flags & 1)) - { - gUnknown_03000D90[0] = (~0x76ff) | i; - for (j = 0; j < 7; j++) - { - gUnknown_03000D90[j + 1] = (r10[12 * i + (j << 1) + 1] << 8) | r10[12 * i + (j << 1) + 0]; - } - for (j = 0; j < 7; j++) - { - gUnknown_03000D80[2 * j + 1] = gUnknown_03000D90[j] >> 8; - gUnknown_03000D80[2 * j + 0] = gUnknown_03000D90[j]; - - j++;j--; // Needed to match; - } - sub_800D888(&gUnknown_03005000.unk_9e8, gUnknown_03000D80); - gUnknown_03005000.unk_6c.unk_0c |= (1 << i); - } - flags >>= 1; - } -} - -void sub_800F6FC(u8 a0) -{ - if (gUnknown_03005000.unk_0c == 1 && a0) - gUnknown_03005000.unk_61[a0] = 1; - else - gUnknown_03005000.unk_5c[a0] = 1; -} - -void sub_800F728(u8 a0) -{ - gUnknown_03005000.unk_5c[a0] = 0; - gUnknown_03005000.unk_80[a0].unk_12 = 0; -} - -u8 sub_800F74C(const u8 *a0) -{ - u8 i; - - if (gUnknown_03005000.unk_0c == 1) - return FALSE; - for (i = 0; i < 4; i++) - { - gUnknown_03005000.unk_cde[i] = a0[i]; - } - return a0[gUnknown_03005000.unk_c3e]; -} - -void rfu_func_080F97B8(void) -{ - if (gReceivedRemoteLinkPlayers - && gHeldKeyCodeToSend != LINK_KEY_CODE_NULL - && gLinkTransferringData != TRUE) - { - gUnknown_03000D78[0]++; - gHeldKeyCodeToSend |= (gUnknown_03000D78[0] << 8); - sub_800FD14(0xbe00); - } -} - -struct UnkLinkRfuStruct_02022B14 *sub_800F7DC(void) -{ - return &gUnknown_02022B14; -} - -bool32 IsSendingKeysToRfu(void) -{ - return gUnknown_03005000.linkRfuCallback == rfu_func_080F97B8; -} - -void sub_800F804(void) -{ - gUnknown_03005000.linkRfuCallback = rfu_func_080F97B8; -} - -void ClearLinkRfuCallback(void) -{ - gUnknown_03005000.linkRfuCallback = NULL; -} - -void sub_800F820(void) -{ - sub_800FD14(0x4400); - if (GetMultiplayerId() == 0) - gSendCmd[6] = GetBlenderArrowPosition(); - gUnknown_020223C0++; -} - -void sub_800F850(void) -{ - if (gUnknown_03005000.linkRfuCallback == NULL) - gUnknown_03005000.linkRfuCallback = sub_800F820; -} - -static void sub_800F86C(u8 unused) -{ - u16 i; - u16 j; - - for (i = 0; i < MAX_RFU_PLAYERS; i++) - { - switch (gRecvCmds[i][0] & 0xff00) - { - case 0x7800: - if (gUnknown_03005000.unk_0c == 0 && gReceivedRemoteLinkPlayers != 0) - return; - // fallthrough - case 0x7700: - if (gRfuLinkStatus->parentChild == 0) - { - gUnknown_03005000.playerCount = gRecvCmds[i][1]; - gUnknown_03005000.unk_cce = sub_800F74C((u8 *)(gRecvCmds[i] + 2)); - } - break; - case 0x8800: - if (gUnknown_03005000.unk_80[i].unk_12 == 0) - { - gUnknown_03005000.unk_80[i].unk_00 = 0; - gUnknown_03005000.unk_80[i].unk_02 = gRecvCmds[i][1]; - gUnknown_03005000.unk_80[i].unk_11 = gRecvCmds[i][2]; - gUnknown_03005000.unk_80[i].unk_08 = 0; - gUnknown_03005000.unk_80[i].unk_12 = 1; - gUnknown_03005000.unk_5c[i] = 0; - } - break; - case 0x8900: - if (gUnknown_03005000.unk_80[i].unk_12 == 1) - { - gUnknown_03005000.unk_80[i].unk_00 = gRecvCmds[i][0] & 0xff; - gUnknown_03005000.unk_80[i].unk_08 |= (1 << gUnknown_03005000.unk_80[i].unk_00); - for (j = 0; j < 6; j++) - gBlockRecvBuffer[i][gUnknown_03005000.unk_80[i].unk_00 * 6 + j] = gRecvCmds[i][j + 1]; - if (gUnknown_03005000.unk_80[i].unk_08 == gUnknown_082ED628[gUnknown_03005000.unk_80[i].unk_02]) - { - gUnknown_03005000.unk_80[i].unk_12 = 2; - sub_800F6FC(i); - if (sub_800F7DC()->unk_0a_0 == 0x45 && gReceivedRemoteLinkPlayers != 0 && gUnknown_03005000.unk_0c == 0) - sub_8010A70(gBlockRecvBuffer); - } - } - break; - case 0xa100: - sub_800FE84(gUnknown_082ED6B8[gRecvCmds[i][1]].buffer, (u16)gUnknown_082ED6B8[gRecvCmds[i][1]].size); - break; - case 0x5f00: - gUnknown_03005000.unk_e4[i] = 1; - break; - case 0x6600: - if (gUnknown_03005000.unk_100 == gRecvCmds[i][1]) - gUnknown_03005000.unk_e9[i] = 1; - break; - case 0xed00: - if (gUnknown_03005000.unk_0c == 0) - { - if (gReceivedRemoteLinkPlayers != 0) - { - if (gRecvCmds[i][1] & gRfuLinkStatus->connSlotFlag) - { - gReceivedRemoteLinkPlayers = 0; - sub_800D630(); - gUnknown_03005000.unk_ce4 = gRecvCmds[i][2]; - } - gUnknown_03005000.playerCount = gRecvCmds[i][3]; - sub_80109E8(gRecvCmds[i][1]); - } - } - else - { - sub_800FD14(0xee00); - gSendCmd[1] = gRecvCmds[i][1]; - gSendCmd[2] = gRecvCmds[i][2]; - gSendCmd[3] = gRecvCmds[i][3]; - } - break; - case 0xee00: - if (gUnknown_03005000.unk_0c == 1) - { - gUnknown_03005000.unk_ce3 |= gRecvCmds[i][1]; - gUnknown_03005000.unk_ce4 = gRecvCmds[i][2]; - sub_80109E8(gRecvCmds[i][1]); - } - break; - case 0x4400: - case 0xbe00: - gLinkPartnersHeldKeys[i] = gRecvCmds[i][1]; - break; - } - if (gUnknown_03005000.unk_0c == 1 && gUnknown_03005000.unk_61[i]) - { - if (gUnknown_03005000.unk_61[i] == 4) - { - gUnknown_03005000.unk_5c[i] = 1; - gUnknown_03005000.unk_61[i] = 0; - } - else - gUnknown_03005000.unk_61[i]++; - } - } -} - -bool8 sub_800FC60(void) -{ - s32 i; - - for (i = 0; i < 5; i++) - { - if (gUnknown_03005000.unk_80[i].unk_12) - return FALSE; - } - return TRUE; -} - -bool8 sub_800FC88(void) -{ - s32 i; - - for (i = 0; i < gUnknown_03005000.playerCount; i++) - { - if (gUnknown_03005000.unk_80[i].unk_12 != 2 || gUnknown_03005000.unk_5c[i] != 1) - return FALSE; - } - return TRUE; -} - -static void sub_800FCC4(struct UnkRfuStruct_2_Sub_6c *data) -{ - data->unk_00 = 0; - data->unk_02 = 0; - data->unk_04 = NULL; - data->unk_08 = 0; - data->unk_10 = 0; - data->unk_11 = 0; - data->unk_12 = 0; -} - -u8 sub_800FCD8(void) -{ - u8 flags = 0; - s32 i; - - for (i = 0; i < 5; i++) - { - if (gUnknown_03005000.unk_80[i].unk_12 == 2 && gUnknown_03005000.unk_5c[i] == 1) - { - flags |= (1 << i); - } - } - return flags; -} - -void sub_800FD14(u16 command) -{ - u8 i; - u8 *buff; - u8 tmp; - - gSendCmd[0] = command; - switch (command) - { - case 0x8800: - gSendCmd[1] = gUnknown_03005000.unk_6c.unk_02; - gSendCmd[2] = gUnknown_03005000.unk_6c.unk_11 + 0x80; - break; - case 0xa100: - if (sub_800FC60()) - gSendCmd[1] = gUnknown_03005000.unk_5a; - break; - case 0x7700: - case 0x7800: - tmp = gUnknown_03005000.unk_ce2 ^ gUnknown_03005000.unk_ce3; - gUnknown_03005000.playerCount = gUnknown_082ED695[tmp] + 1; - gSendCmd[1] = gUnknown_03005000.playerCount; - buff = (u8 *)(gSendCmd + 2); - for (i = 0; i < 4; i++) - buff[i] = gUnknown_03005000.unk_cde[i]; - break; - case 0x6600: - case 0x5f00: - gSendCmd[1] = gUnknown_03005000.unk_100; - break; - case 0x4400: - gSendCmd[0] = command; - gSendCmd[1] = gMain.heldKeys; - break; - case 0x2f00: - for (i = 0; i < 6; i++) - gSendCmd[1 + i] = gUnknown_03005000.unk_f2[i]; - break; - case 0xbe00: - gSendCmd[1] = gHeldKeyCodeToSend; - break; - case 0xee00: - break; - case 0xed00: - break; - } -} - -void sub_800FE50(void *a0) -{ - if (gSendCmd[0] == 0 && !sub_8011A80()) - { - memcpy(gUnknown_03005000.unk_f2, a0, sizeof(gUnknown_03005000.unk_f2)); - sub_800FD14(0x2f00); - } -} - -bool32 sub_800FE84(const u8 *src, size_t size) -{ - bool8 r4; - if (gUnknown_03005000.linkRfuCallback != NULL) - return FALSE; - if (gSendCmd[0] != 0) - return FALSE; - if (gUnknown_03005000.unk_6c.unk_10 != 0) - { - gUnknown_02022B44.unk_83++; - return FALSE; - } - r4 = (size % 12) != 0; - gUnknown_03005000.unk_6c.unk_11 = GetMultiplayerId(); - gUnknown_03005000.unk_6c.unk_10 = 1; - gUnknown_03005000.unk_6c.unk_02 = (size / 12) + r4; - gUnknown_03005000.unk_6c.unk_00 = 0; - if (size > 0x100) - gUnknown_03005000.unk_6c.unk_04 = src; - else - { - if (src != gBlockSendBuffer) - memcpy(gBlockSendBuffer, src, size); - gUnknown_03005000.unk_6c.unk_04 = gBlockSendBuffer; - } - sub_800FD14(0x8800); - gUnknown_03005000.linkRfuCallback = rfufunc_80F9F44; - gUnknown_03005000.unk_5b = 0; - return TRUE; -} - -static void rfufunc_80F9F44(void) -{ - if (gSendCmd[0] == 0) - { - sub_800FD14(0x8800); - if (gUnknown_03005000.unk_0c == 1) - { - if (++gUnknown_03005000.unk_5b > 2) - gUnknown_03005000.linkRfuCallback = sub_800FFB0; - } - else - { - if ((gRecvCmds[GetMultiplayerId()][0] & 0xff00) == 0x8800) - gUnknown_03005000.linkRfuCallback = sub_800FFB0; - } - } -} - -static void sub_800FFB0(void) -{ - s32 i; - const u8 *src = gUnknown_03005000.unk_6c.unk_04; - gSendCmd[0] = 0x8900 | gUnknown_03005000.unk_6c.unk_00; - for (i = 0; i < 7; i++) - gSendCmd[i + 1] = (src[(i << 1) + gUnknown_03005000.unk_6c.unk_00 * 12 + 1] << 8) | src[(i << 1) + gUnknown_03005000.unk_6c.unk_00 * 12 + 0]; - gUnknown_03005000.unk_6c.unk_00++; - if (gUnknown_03005000.unk_6c.unk_02 <= gUnknown_03005000.unk_6c.unk_00) - { - gUnknown_03005000.unk_6c.unk_10 = 0; - gUnknown_03005000.linkRfuCallback = rfufunc_80FA020; - } -} - -static void rfufunc_80FA020(void) -{ - const u8 *src = gUnknown_03005000.unk_6c.unk_04; - u8 mpId = GetMultiplayerId(); - s32 i; - if (gUnknown_03005000.unk_0c == 0) - { - gSendCmd[0] = (~0x76ff) | (gUnknown_03005000.unk_6c.unk_02 - 1); - for (i = 0; i < 7; i++) - gSendCmd[i + 1] = (src[(i << 1) + (gUnknown_03005000.unk_6c.unk_02 - 1) * 12 + 1] << 8) | src[(i << 1) + (gUnknown_03005000.unk_6c.unk_02 - 1) * 12 + 0]; - if ((u8)gRecvCmds[mpId][0] == gUnknown_03005000.unk_6c.unk_02 - 1) - { - if (gUnknown_03005000.unk_80[mpId].unk_08 != gUnknown_082ED628[gUnknown_03005000.unk_80[mpId].unk_02]) - { - sub_800F638(mpId, gUnknown_03005000.unk_80[mpId].unk_08); - gUnknown_02022B44.unk_64++; - } - else - gUnknown_03005000.linkRfuCallback = NULL; - } - } - else - gUnknown_03005000.linkRfuCallback = NULL; -} - -bool8 sub_8010100(u8 a0) -{ - gUnknown_03005000.unk_5a = a0; - sub_800FD14(0xa100); - return TRUE; -} - -void sub_801011C(void) -{ - rfu_clearAllSlot(); - sub_800C048(); - gReceivedRemoteLinkPlayers = 0; - gUnknown_03005000.unk_ef = 1; - gUnknown_03005000.linkRfuCallback = NULL; -} - -void sub_8010148(void) -{ - rfu_REQ_disconnect(gRfuLinkStatus->connSlotFlag | gRfuLinkStatus->linkLossSlotFlag); - rfu_waitREQComplete(); - sub_801011C(); -} - -void sub_8010168(void) -{ - if (gUnknown_03005000.unk_0c == 0) - { - sub_800D630(); - gUnknown_03005000.unk_ce4 = 2; - } - else - gUnknown_03005000.linkRfuCallback = sub_8010148; -} - -void LinkRfu_FatalError(void) -{ - sub_800D630(); - gUnknown_03005000.unk_ce4 = 1; - gUnknown_03005000.unk_ce3 = gRfuLinkStatus->connSlotFlag | gRfuLinkStatus->linkLossSlotFlag; -} - -void sub_80101CC(void) -{ - s32 i; - u8 playerCount = gUnknown_03005000.playerCount; - s32 count = 0; - - for (i = 0; i < MAX_RFU_PLAYERS; i++) - { - if (gUnknown_03005000.unk_e4[i]) - count++; - } - if (count == playerCount) - { - gBattleTypeFlags &= ~BATTLE_TYPE_20; - if (gUnknown_03005000.unk_0c == 0) - { - gUnknown_03005000.unk_ee = 3; - sub_8010168(); - } - else - gUnknown_03005000.linkRfuCallback = sub_8010168; - } -} - -void sub_801022C(void) -{ - if (gSendCmd[0] == 0 && gUnknown_03005000.unk_ce8 == 0) - { - sub_800FD14(0x5f00); - gUnknown_03005000.linkRfuCallback = sub_80101CC; - } -} - -void sub_8010264(u8 taskId) -{ - if (gUnknown_03005000.linkRfuCallback == NULL) - { - gUnknown_03005000.unk_cd9 = 1; - gUnknown_03005000.linkRfuCallback = sub_801022C; - DestroyTask(taskId); - } -} - -void task_add_05_task_del_08FA224_when_no_RfuFunc(void) -{ - if (!FuncIsActiveTask(sub_8010264)) - CreateTask(sub_8010264, 5); -} - -void sub_80102B8(void) -{ - u8 playerCount; - u8 i; - - if (GetMultiplayerId() != 0) - { - u8 r4 = gUnknown_03005000.unk_124.unk_8c2; - if (r4 == 0 && gUnknown_03005000.unk_fe > 0x3c) - { - sub_800FD14(0x6600); - gUnknown_03005000.unk_fe = r4; - } - } - playerCount = GetLinkPlayerCount(); - for (i = 0; i < playerCount; i++) - { - if (gUnknown_03005000.unk_e9[i] == 0) - break; - } - if (i == playerCount) - { - for (i = 0; i < MAX_RFU_PLAYERS; i++) - gUnknown_03005000.unk_e9[i] = 0; - gUnknown_03005000.unk_100++; - gUnknown_03005000.linkRfuCallback = NULL; - } - gUnknown_03005000.unk_fe++; -} - -void sub_8010358(void) -{ - if (gUnknown_03005000.unk_124.unk_8c2 == 0 && gSendCmd[0] == 0) - { - sub_800FD14(0x6600); - gUnknown_03005000.linkRfuCallback = sub_80102B8; - } -} - -void sub_8010390(void) -{ - u8 i; - u8 playerCount; - - if (GetMultiplayerId() != 0) - { - if (gUnknown_03005000.unk_124.unk_8c2 == 0 && gSendCmd[0] == 0) - { - sub_800FD14(0x6600); - gUnknown_03005000.linkRfuCallback = sub_80102B8; - } - } - else - { - playerCount = GetLinkPlayerCount(); - for (i = 1; i < playerCount; i++) - { - if (gUnknown_03005000.unk_e9[i] == 0) - break; - } - if (i == playerCount) - { - if (gUnknown_03005000.unk_124.unk_8c2 == 0 && gSendCmd[0] == 0) - { - sub_800FD14(0x6600); - gUnknown_03005000.linkRfuCallback = sub_8010358; - } - } - } -} - -void sub_8010434(void) -{ - if (gUnknown_03005000.linkRfuCallback == NULL) - { - gUnknown_03005000.linkRfuCallback = sub_8010390; - gUnknown_03005000.unk_fe = 0; - } -} - -bool32 sub_8010454(u32 a0) -{ - s32 i; - for (i = 0; gUnknown_082ED6E0[i] != a0; i++) - { - if (gUnknown_082ED6E0[i] == 0xFFFF) - return FALSE; - } - return TRUE; -} - -u8 sub_801048C(bool32 a0) -{ - if (a0 == FALSE) - return sub_800D550(0, 0); - sub_800D550(1, 0x258); - return 0; -} - -void sub_80104B0(void) -{ - gUnknown_03005000.unk_cd9 = 1; - sub_800C27C(FALSE); -} - -u8 rfu_get_multiplayer_id(void) -{ - if (gUnknown_03005000.unk_0c == 1) - return 0; - return gUnknown_03005000.unk_cce; -} - -u8 sub_80104F4(void) -{ - return gUnknown_03005000.playerCount; -} - -bool8 IsLinkRfuTaskFinished(void) -{ - if (gUnknown_03005000.unk_f1 == 2) - return FALSE; - return gUnknown_03005000.linkRfuCallback ? FALSE : TRUE; -} - -static void sub_8010528(void) -{ - if (gUnknown_03005000.linkRfuCallback) - gUnknown_03005000.linkRfuCallback(); -} - -bool8 sub_8010540(void) -{ - s32 i; - bool8 retval = FALSE; - for (i = 0; i < 4; i++) - { - if (gUnknown_03005000.unk_cd1[i] < 5 || gUnknown_03005000.unk_cd1[i] > 6) - { - if (gRfuSlotStatusNI[i]->recv.state == 0x46 || gRfuSlotStatusNI[i]->recv.state == 0x48) - { - if (gUnknown_03005000.unk_cd5[i] == 8) - { - gUnknown_03005000.unk_cd1[i] = 9; - gUnknown_03005000.unk_cd5[i] = 10; - rfu_clearSlot(8, i); - rfu_NI_setSendData(1 << i, 8, gUnknown_03005000.unk_cd1 + i, 1); - retval = TRUE; - } - - } - else if (gRfuSlotStatusNI[gUnknown_03005000.unk_c3e]->recv.state == 0x47) - rfu_clearSlot(8, i); - { - - } - } - } - return retval; -} - -bool32 sub_80105EC(void) -{ - u8 flags = 0; - s32 i; - for (i = 0; i < 4; i++) - { - if (gUnknown_03005000.unk_cd5[i] == 11) - { - flags |= (1 << i); - gUnknown_03005000.unk_cd5[i] = 0; - } - } - if (flags) - { - rfu_REQ_disconnect(flags); - rfu_waitREQComplete(); - } - for (i = 0; i < 4; i++) - { - if (gUnknown_03005000.unk_cd5[i] == 10 || gUnknown_03005000.unk_cd5[i] == 11) - return TRUE; - } - return FALSE; -} - -bool32 sub_801064C(u16 a0, const u8 *a1) -{ - u8 r1 = sub_8011CE4(a1, a0); - if (r1 == 0xFF) - return TRUE; - if (gUnknown_03005000.unk_cd1[r1] == 9) - return TRUE; - return FALSE; -} - -void sub_8010688(u8 a0, u16 a1, const u8 *a2) -{ - u8 r4 = sub_8011CE4(a2, a1); - gUnknown_03005000.unk_cd1[r4] = a0; - rfu_clearSlot(4, r4); - rfu_NI_setSendData(1 << r4, 8, gUnknown_03005000.unk_cd1 + r4, 1); -} - -void sub_80106D4(void) -{ - gUnknown_03005000.unk_c85 = 8; - rfu_clearSlot(4, gUnknown_03005000.unk_c3e); - rfu_NI_setSendData(1 << gUnknown_03005000.unk_c3e, 8, &gUnknown_03005000.unk_c85, 1); -} - -u32 sub_8010714(u16 a0, const u8 *a1) -{ - u8 r0 = sub_8011CE4(a1, a0); - if (r0 == 0xFF) - return 2; - if (gRfuSlotStatusNI[r0]->send.state == 0) - return 1; - return 0; -} - -void sub_8010750(void) -{ - s32 i; - - sub_8010540(); - for (i = 0; i < 4; i++) - { - if (gRfuSlotStatusNI[i]->send.state == 0x26 || gRfuSlotStatusNI[i]->send.state == 0x27) - { - if (gUnknown_03005000.unk_cd5[i] == 10) - gUnknown_03005000.unk_cd5[i] = 11; - rfu_clearSlot(4, i); - } - } -} - -s32 sub_80107A0(void) -{ - s32 retval = 0; - if (gUnknown_03005000.unk_c85 == 8) - { - if (gRfuSlotStatusNI[gUnknown_03005000.unk_c3e]->send.state == 0x26 || gRfuSlotStatusNI[gUnknown_03005000.unk_c3e]->send.state == 0x27) - rfu_clearSlot(4, gUnknown_03005000.unk_c3e); - } - if (gRfuSlotStatusNI[gUnknown_03005000.unk_c3e]->recv.state == 0x46 || gRfuSlotStatusNI[gUnknown_03005000.unk_c3e]->recv.state == 0x48) - { - rfu_clearSlot(8, gUnknown_03005000.unk_c3e); - sub_8011A64(gUnknown_03005000.unk_c86, 0); - retval = gUnknown_03005000.unk_c86; - } - else if (gRfuSlotStatusNI[gUnknown_03005000.unk_c3e]->recv.state == 0x47) - { - rfu_clearSlot(8, gUnknown_03005000.unk_c3e); - retval = 6; - } - return retval; -} - -void sub_801084C(u8 taskId) -{ - s32 i; - - if (gUnknown_03005000.unk_f1 == 1 || gUnknown_03005000.unk_f1 == 2) - { - gUnknown_03005000.unk_ce8 = 0; - DestroyTask(taskId); - } - switch (gTasks[taskId].data[0]) - { - case 0: - if (sub_800FC60()) - { - ResetBlockReceivedFlags(); - sub_800B348(); - gTasks[taskId].data[0]++; - } - break; - case 1: - if (gUnknown_03005000.unk_0c == 1) - { - if (gReceivedRemoteLinkPlayers) - sub_800FD14(0x7800); - else - sub_800FD14(0x7700); - gTasks[taskId].data[0] = 101; - } - else - gTasks[taskId].data[0] = 2; - break; - case 101: - if (gSendCmd[0] == 0) - gTasks[taskId].data[0] = 2; - break; - case 2: - if (gUnknown_03005000.playerCount) - gTasks[taskId].data[0]++; - break; - case 3: - if (gUnknown_03005000.unk_0c == 1) - { - if (sub_800FC60()) - { - gUnknown_03005000.unk_5a = 0; - sub_800FD14(0xa100); - gTasks[taskId].data[0]++; - } - } - else - gTasks[taskId].data[0]++; - break; - case 4: - if (sub_800FC88()) - gTasks[taskId].data[0]++; - break; - case 5: - for (i = 0; i < gUnknown_03005000.playerCount; i++) - { - sub_800B3A4(i); - sub_800F728(i); - } - gTasks[taskId].data[0]++; - break; - case 6: - DestroyTask(taskId); - gReceivedRemoteLinkPlayers = 1; - gUnknown_03005000.unk_ce8 = 0; - sub_800D550(1, 0x258); - if (gUnknown_03005000.unk_ce6) - { - for (i = 0; i < 4; i++) - { - if ((gUnknown_03005000.unk_ce6 >> i) & 1) - { - gUnknown_03005000.unk_ce5 = 1 << i; - gUnknown_03005000.unk_ce6 ^= (1 << i); - } - } - } - break; - } -} - -void sub_80109E8(u16 a0) -{ - s32 i; - - for (i = 0; i < 4; i++) - { - if ((a0 >> i) & 1) - gUnknown_03005000.unk_cde[i] = 0; - } -} - -void sub_8010A14(const struct UnkRfuStruct_8010A14 *a0) -{ - s32 i; - gUnknown_03005000.playerCount = a0->unk_0f; - for (i = 0; i < 4; i++) - gUnknown_03005000.unk_cde[i] = a0->unk_10[i]; - for (i = 0; i < MAX_RFU_PLAYERS; i++) - { - gLinkPlayers[i] = a0->unk_14[i]; - sub_800B524(gLinkPlayers + i); - } -} - -void sub_8010A70(void *a0) -{ - if (strcmp(gUnknown_082ED7EC, a0) == 0) - { - sub_8010A14(a0); - CpuFill16(0, a0, sizeof(struct UnkRfuStruct_8010A14)); - ResetBlockReceivedFlag(0); - } -} - -void sub_8010AAC(u8 taskId) -{ - s32 i; - struct LinkPlayerBlock *r2; - struct UnkRfuStruct_8010A14 *r5; - u8 r4 = gUnknown_03005000.unk_cde[gUnknown_082ED68C[gUnknown_03005000.unk_ce9]]; - if (gUnknown_03005000.unk_f1 == 1 || gUnknown_03005000.unk_f1 == 2) - { - gUnknown_03005000.unk_ce8 = 0; - DestroyTask(taskId); - } - switch (gTasks[taskId].data[0]) - { - case 0: - if (gSendCmd[0] == 0) - { - ResetBlockReceivedFlag(r4); - sub_800FD14(0x7800); - gTasks[taskId].data[0]++; - } - break; - case 1: - if (gSendCmd[0] == 0) - gTasks[taskId].data[0]++; - break; - case 2: - if ((GetBlockReceivedStatus() >> r4) & 1) - { - ResetBlockReceivedFlag(r4); - r2 = (struct LinkPlayerBlock *)gBlockRecvBuffer[r4]; - gLinkPlayers[r4] = r2->linkPlayer; - sub_800B524(gLinkPlayers + r4); - gTasks[taskId].data[0]++; - } - break; - case 3: - r5 = (struct UnkRfuStruct_8010A14 *)gBlockSendBuffer; - memcpy(r5->unk_00, gUnknown_082ED7EC, sizeof gUnknown_082ED7EC); - r5->unk_0f = gUnknown_03005000.playerCount; - for (i = 0; i < 4; i++) - r5->unk_10[i] = gUnknown_03005000.unk_cde[i]; - memcpy(r5->unk_14, gLinkPlayers, sizeof gLinkPlayers); - gTasks[taskId].data[0]++; - // fallthrough - case 4: - r5 = (struct UnkRfuStruct_8010A14 *)gBlockSendBuffer; - r5->unk_0f = gUnknown_03005000.playerCount; - for (i = 0; i < 4; i++) - r5->unk_10[i] = gUnknown_03005000.unk_cde[i]; - memcpy(r5->unk_14, gLinkPlayers, sizeof gLinkPlayers); - if (SendBlock(0, gBlockSendBuffer, 0xa0)) - gTasks[taskId].data[0]++; - break; - case 5: - if (IsLinkTaskFinished() && GetBlockReceivedStatus() & 1) - { - CpuFill16(0, gBlockRecvBuffer, sizeof(struct UnkRfuStruct_8010A14)); - ResetBlockReceivedFlag(0); - gUnknown_03005000.unk_ce8 = 0; - if (gUnknown_03005000.unk_ce6) - { - for (i = 0; i < 4; i++) - { - if ((gUnknown_03005000.unk_ce6 >> i) & 1) - { - gUnknown_03005000.unk_ce5 = 1 << i; - gUnknown_03005000.unk_ce6 ^= (1 << i); - gUnknown_03005000.unk_ce8 = 1; - break; - } - } - } - DestroyTask(taskId); - } - break; - } -} - -void sub_8010D0C(u8 taskId) -{ - if (gUnknown_03005000.unk_f1 == 1 || gUnknown_03005000.unk_f1 == 2) - DestroyTask(taskId); - switch (gTasks[taskId].data[0]) - { - case 0: - if (gUnknown_03005000.playerCount) - { - sub_800B348(); - SendBlock(0, gBlockSendBuffer, sizeof(struct LinkPlayerBlock)); - gTasks[taskId].data[0]++; - } - break; - case 1: - if (IsLinkTaskFinished()) - gTasks[taskId].data[0]++; - break; - case 2: - if (GetBlockReceivedStatus() & 1) - { - sub_8010A14((const struct UnkRfuStruct_8010A14 *)gBlockRecvBuffer); - ResetBlockReceivedFlag(0); - gReceivedRemoteLinkPlayers = 1; - DestroyTask(taskId); - } - break; - } -} - -void sub_8010DB4(void) -{ - if (gUnknown_03005000.unk_ee == 1 && gUnknown_03004140.unk_02 == 0) - { - if (gMain.callback2 == c2_mystery_gift_e_reader_run || gUnknown_03004140.unk_3c->unk_04) - gWirelessCommType = 2; - SetMainCallback2(CB2_LinkError); - gMain.savedCallback = CB2_LinkError; - sub_800AF18((gUnknown_03005000.unk_0a << 16) | (gUnknown_03005000.unk_10 << 8) | gUnknown_03005000.unk_12, gUnknown_03005000.unk_124.unk_8c2, gUnknown_03005000.unk_9e8.unk_232, sub_8011A74() == 2); - gUnknown_03005000.unk_ee = 2; - CloseLink(); - } - else if (gUnknown_03005000.unk_9e8.unk_233 == 1 || gUnknown_03005000.unk_124.unk_8c3 == 1) - { - if (gUnknown_03004140.unk_02) - sub_800D630(); - sub_8011A64(1, 0x7000); - sub_8011170(0x7000); - } -} - -void rfu_REQ_recvData_then_sendData(void) -{ - if (gUnknown_03004140.unk_06 == 1) - { - rfu_REQ_recvData(); - rfu_waitREQComplete(); - rfu_REQ_sendData_wrapper(0); - } -} - -bool32 sub_8010EC0(void) -{ - bool32 retval = FALSE; - gUnknown_03005000.unk_ccd = 0; - sub_800C54C(Random2()); - if (gUnknown_03005000.unk_ef == 0) - { - switch (gUnknown_03005000.unk_0c) - { - case 1: - sub_800F0F8(); - break; - case 0: - retval = sub_800F4F0(); - break; - case 2: - rfu_REQ_recvData_then_sendData(); - break; - } - } - return retval; -} - -bool32 sub_8010F1C(void) -{ - bool32 retval = FALSE; - if (gUnknown_03005000.unk_ef == 0) - { - if (gUnknown_03005000.unk_0c == 1) - retval = sub_800F1E0(); - sub_8010DB4(); - } - return retval; -} - -void sub_8010F48(void) -{ - StringCopy(gUnknown_02022B22, gSaveBlock2Ptr->playerName); -} - -void sub_8010F60(void) -{ - memset(&gUnknown_02022B14, 0, 0xD); - sub_800DD94(&gUnknown_02022B14, 0, 0, 0); -} - -void sub_8010F84(u8 a0, u32 a1, u32 a2) -{ - sub_800DD94(&gUnknown_02022B14, a0, a2, a1); -} - -void sub_8010FA0(bool32 a0, bool32 a1) -{ - gUnknown_02022B14.unk_00.unk_00_4 = a0; - gUnknown_02022B14.unk_00.unk_00_5 = a1; -} - -void sub_8010FCC(u32 type, u32 species, u32 level) -{ - gUnknown_02022B14.type = type; - gUnknown_02022B14.species = species; - gUnknown_02022B14.level = level; -} - -u8 sub_801100C(s32 a0) -{ - u8 retval = 0x80; - retval |= (gLinkPlayers[a0].gender << 3); - retval |= (gLinkPlayers[a0].trainerId & 7); - return retval; -} - -void sub_801103C(void) -{ - struct UnkLinkRfuStruct_02022B14 *r5 = &gUnknown_02022B14; - s32 i; - - for (i = 1; i < GetLinkPlayerCount(); i++) - r5->unk_04[i - 1] = sub_801100C(i); -} - -void sub_8011068(u8 a0) -{ - gUnknown_02022B14.unk_0a_7 = a0; - rfu_REQ_configGameData(0, 2, (const u8 *)&gUnknown_02022B14, gUnknown_02022B22); -} - -void sub_8011090(u8 a0, u32 a1, u32 a2) -{ - if (a0) - sub_8010F84(a0, a1, a2); - rfu_REQ_configGameData(0, 2, (const u8 *)&gUnknown_02022B14, gUnknown_02022B22); -} - -void sub_80110B8(u32 a0) -{ - s32 i; - u32 r5; - u32 r7; - s32 r8; - - if (sub_800F7DC()->unk_0a_0 == 0x45) - { - r5 = 0; - r7 = 0; - r8 = gUnknown_03005000.unk_ce2 ^ gUnknown_03005000.unk_ce3; - for (i = 0; i < 4; i++) - { - if ((r8 >> i) & 1) - { - r7 |= ((0x80 | ((gLinkPlayers[gUnknown_03005000.unk_cde[i]].gender & 1) << 3) | (gLinkPlayers[gUnknown_03005000.unk_cde[i]].trainerId & 7)) << (r5 << 3)); - r5++; - if (r5 == a0 - 1) - break; - } - } - sub_8011090(0x45, r7, 0); - } -} - -void sub_8011170(u32 a0) -{ - if (gUnknown_03005000.unk_ee == 0) - { - gUnknown_03005000.unk_10 = gUnknown_03004140.unk_14; - gUnknown_03005000.unk_12 = gUnknown_03004140.unk_16; - gUnknown_03005000.unk_0a = a0; - gUnknown_03005000.unk_ee = 1; - } -} - -void sub_80111A0(void) -{ - gUnknown_03005000.unk_ee = 0; -} - -void sub_80111B0(bool32 a0) -{ - if (!a0) - gUnknown_03005000.unk_ee = 0; - else - gUnknown_03005000.unk_ee = 4; -} - -void sub_80111DC(void) -{ - sub_8011E94(gUnknown_03004140.unk_00, 1); - gUnknown_03005000.linkRfuCallback = NULL; -} - -void sub_80111FC(void) -{ - gUnknown_03005000.linkRfuCallback = sub_80111DC; -} - -void sub_801120C(u8 a0, u8 unused1) -{ - u8 i; - u8 r6 = 0; - switch (a0) - { - case 0x00: - gUnknown_03005000.unk_04 = 2; - break; - case 0x10: - break; - case 0x11: - sub_80115EC(gUnknown_03004140.unk_14); - for (i = 0; i < 4; i++) - { - if ((gUnknown_03004140.unk_14 >> i) & 1) - { - struct UnkLinkRfuStruct_02022B14 *structPtr = (void *)gRfuLinkStatus->partner[i].gname; - if (structPtr->unk_0a_0 == sub_800F7DC()->unk_0a_0) - { - gUnknown_03005000.unk_cd1[i] = 0; - gUnknown_03005000.unk_cd5[i] = 0; - rfu_setRecvBuffer(0x20, i, gUnknown_03005000.unk_cd5 + i, 1); - } - else - { - r6 |= (1 << i); - } - } - } - if (r6) - { - rfu_REQ_disconnect(r6); - rfu_waitREQComplete(); - } - break; - case 0x12: - break; - case 0x13: - break; - case 0x14: - if (gUnknown_03005000.unk_ce7 != gUnknown_03004140.unk_00) - { - rfu_REQ_disconnect(gUnknown_03005000.unk_ce7 ^ gUnknown_03004140.unk_00); - rfu_waitREQComplete(); - } - gUnknown_03005000.unk_04 = 0x11; - break; - case 0x31: - gUnknown_03005000.unk_f0 = 1; - break; - case 0x32: - gUnknown_03005000.unk_f0 = 3; - break; - case 0x30: - case 0x33: - gUnknown_03005000.unk_f0 = 4; - gUnknown_03005000.unk_ce2 &= ~gUnknown_03004140.unk_14; - if (gReceivedRemoteLinkPlayers == 1) - { - if (gUnknown_03005000.unk_ce2 == 0) - sub_8011170(a0); - else - sub_80111FC(); - } - sub_8011A64(2, a0); - break; - case 0x34: - break; - case 0x42 ... 0x44: - break; - case 0xf3: - sub_8011A64(1, a0); - sub_8011170(a0); - gUnknown_03005000.unk_ef = 1; - break; - case 0xf0 ... 0xf2: - case 0xff: - sub_8011170(a0); - sub_8011A64(1, a0); - gUnknown_03005000.unk_cdb = 1; - break; - } -} - -void sub_8011404(u8 a0, u8 unused1) -{ - switch (a0) - { - case 0x00: - gUnknown_03005000.unk_04 = 6; - break; - case 0x20: - gUnknown_03005000.unk_ccd = gUnknown_03004140.unk_14; - break; - case 0x21: - break; - case 0x22: - gUnknown_03005000.unk_c3e = gUnknown_03004140.unk_14; - break; - case 0x23: - sub_8011A64(2, a0); - break; - case 0x24: - gUnknown_03005000.unk_04 = 11; - gUnknown_03005000.unk_c85 = 0; - gUnknown_03005000.unk_c86 = 0; - rfu_setRecvBuffer(0x20, gUnknown_03005000.unk_c3e, &gUnknown_03005000.unk_c86, 1); - rfu_setRecvBuffer(0x10, gUnknown_03005000.unk_c3e, gUnknown_03005000.unk_c3f, 70); - break; - case 0x25: - sub_8011A64(2, 0x25); - break; - case 0x30: - gUnknown_03005000.unk_f0 = 2; - if (gUnknown_03005000.unk_c86 == 6) - break; - case 0x33: - if (gUnknown_03005000.unk_f0 != 2) - gUnknown_03005000.unk_f0 = 4; - if (gUnknown_03005000.unk_c86 != 9) - sub_8011A64(2, a0); - nullsub_5(gUnknown_082ED7FC, 5, 5); - if (gReceivedRemoteLinkPlayers == 1) - sub_8011170(a0); - break; - case 0x31: - gUnknown_03005000.unk_f0 = 1; - nullsub_5(gUnknown_082ED814, 5, 5); - break; - case 0x32: - gUnknown_03005000.unk_f0 = 3; - gUnknown_03005000.unk_c3c = 1; - break; - case 0x34: - break; - case 0x42 ... 0x44: - break; - case 0xF3: - sub_8011A64(1, a0); - sub_8011170(a0); - gUnknown_03005000.unk_ef = 1; - break; - case 0xF0 ... 0xF2: - case 0xFF: - sub_8011A64(1, a0); - sub_8011170(a0); - gUnknown_03005000.unk_cdb = 1; - break; - } -} - -void sub_80115EC(s32 a0) -{ - s32 i; - - for (i = 0; i < 4; i++) - { - if ((a0 >> i) & 1) - { - gUnknown_03005000.unk_cea[i] = 0; - gUnknown_03005000.unk_cee[i] = 0xFF; - } - } -} - -u8 sub_8011628(s32 a0) -{ - u8 ret = 0; - u8 i; - - for (i = 0; i < 4; i++) - { - if ((a0 >> i) & 1) - { - struct UnkLinkRfuStruct_02022B14 *structPtr = (void *)gRfuLinkStatus->partner[i].gname; - if (structPtr->unk_0a_0 == 0x45) - ret |= (1 << i); - } - } - - return ret; -} - -void sub_8011674(u8 a0, u8 unused1) -{ - u8 r1; - - switch (a0) - { - case 0x00: - gUnknown_03005000.unk_04 = 0x11; - break; - case 0x10: - sub_8011A64(4, 0); - break; - case 0x11: - if (sub_800F7DC()->unk_0a_0 == 0x45 && gUnknown_03005000.unk_cd9 == 0) - { - u8 idx = sub_8011628(gUnknown_03004140.unk_14); - if (idx != 0) - { - r1 = 1 << sub_800E87C(idx); - if (gUnknown_03005000.unk_ce6 == 0 && gUnknown_03005000.unk_ce8 == 0) - { - gUnknown_03005000.unk_ce5 = r1; - gUnknown_03005000.unk_ce6 |= (r1 ^ idx); - gUnknown_03005000.unk_ce8 = 1; - } - else - { - gUnknown_03005000.unk_ce6 |= idx; - } - } - if (idx != gUnknown_03004140.unk_14) - { - gUnknown_03005000.unk_ce3 |= (idx ^ gUnknown_03004140.unk_14); - gUnknown_03005000.unk_ce4 = 2; - } - } - else if (sub_800F7DC()->unk_0a_0 == 0x54) - { - rfu_REQ_disconnect(gUnknown_03004140.unk_00); - rfu_waitREQComplete(); - } - sub_80115EC(gUnknown_03004140.unk_14); - break; - case 0x12: - break; - case 0x13: - break; - case 0x14: - if (sub_800F7DC()->unk_0a_0 != 0x45 && gUnknown_03004140.unk_01 > 1) - { - r1 = 1 << sub_800E87C(gUnknown_03004140.unk_14); - rfu_REQ_disconnect(gUnknown_03004140.unk_00 ^ r1); - rfu_waitREQComplete(); - } - if (gUnknown_03005000.unk_04 == 0xF) - gUnknown_03005000.unk_04 = 0x10; - break; - break; - case 0x20: - gUnknown_03005000.unk_ccd = gUnknown_03004140.unk_14; - break; - case 0x21: - break; - case 0x22: - gUnknown_03005000.unk_c3e = gUnknown_03004140.unk_14; - break; - case 0x23: - gUnknown_03005000.unk_04 = 0x12; - if (gUnknown_03005000.unk_ccf < 2) - { - gUnknown_03005000.unk_ccf++; - CreateTask(sub_801209C, 2); - } - else - { - sub_8011A64(2, a0); - } - break; - case 0x24: - gUnknown_03005000.unk_04 = 0xD; - sub_8011A64(3, 0); - rfu_setRecvBuffer(0x10, gUnknown_03005000.unk_c3e, gUnknown_03005000.unk_c3f, 70); - break; - case 0x25: - sub_8011A64(2, a0); - break; - case 0x31: - if (gUnknown_03004140.unk_00 & gUnknown_03004140.unk_14) - gUnknown_03005000.unk_f0 = 1; - break; - case 0x32: - gUnknown_03005000.unk_f0 = 3; - if (gRfuLinkStatus->parentChild == 0) - gUnknown_03005000.unk_c3c = 1; - break; - case 0x30: - gUnknown_03005000.unk_f0 = 2; - case 0x33: - if (gUnknown_03005000.unk_f0 != 2) - gUnknown_03005000.unk_f0 = 4; - if (gUnknown_03005000.unk_0c == 1) - { - if (gReceivedRemoteLinkPlayers == 1) - { - gUnknown_03005000.unk_ce2 &= ~(gUnknown_03004140.unk_14); - if (gUnknown_03005000.unk_ce2 == 0) - sub_8011170(a0); - else - sub_80111FC(); - } - } - else if (gUnknown_03005000.unk_ce4 != 2 && gReceivedRemoteLinkPlayers == 1) - { - sub_8011170(a0); - sub_800C27C(0); - } - - if (gRfuLinkStatus->parentChild == 0xFF && gUnknown_03004140.unk_07 == 0 && FuncIsActiveTask(sub_800EB44) == TRUE) - gUnknown_03005000.unk_04 = 0x11; - - sub_8011A64(2, a0); - break; - case 0x40: - gUnknown_03005000.unk_ce3 = 0; - break; - case 0x42 ... 0x44: - break; - case 0xF3: - sub_8011A64(1, a0); - sub_8011170(a0); - gUnknown_03005000.unk_ef = 1; - break; - case 0xF0 ... 0xF2: - case 0xFF: - sub_8011170(a0); - sub_8011A64(1, a0); - gUnknown_03005000.unk_cdb = 0; - break; - } -} - -void sub_8011A50(void) -{ - gUnknown_03005000.unk_ce4 = 2; -} - -void sub_8011A64(u8 a0, u16 a1) -{ - gUnknown_03005000.unk_f1 = a0; - gUnknown_03005000.unk_0a = a1; -} - -u8 sub_8011A74(void) -{ - return gUnknown_03005000.unk_f1; -} - -bool32 sub_8011A80(void) -{ - u32 var = sub_8011A74() - 1; - if (var < 2) - return TRUE; - else - return FALSE; -} - -bool32 sub_8011A9C(void) -{ - return gUnknown_03005000.unk_ce8; -} - -bool8 Rfu_IsMaster(void) -{ - return gUnknown_03005000.unk_0c; -} - -void RfuVSync(void) -{ - rfu_syncVBlank_(); -} - -void sub_8011AC8(void) -{ - CpuFill32(0, gRecvCmds, sizeof(gRecvCmds)); -} - -void sub_8011AE8(void) -{ - LoadOam(); - ProcessSpriteCopyRequests(); - TransferPlttBuffer(); -} - -void sub_8011AFC(void) -{ - s32 i; - - ResetSpriteData(); - FreeAllSpritePalettes(); - ResetTasks(); - ResetPaletteFade(); - SetVBlankCallback(sub_8011AE8); - if (IsWirelessAdapterConnected()) - { - gLinkType = LINKTYPE_0x1111; - sub_800B488(); - OpenLink(); - SeedRng(gMain.vblankCounter2); - for (i = 0; i < 4; i++) - gSaveBlock2Ptr->playerTrainerId[i] = Random() % 256; - - SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_ON | DISPCNT_BG0_ON | DISPCNT_BG2_ON | DISPCNT_OBJ_1D_MAP); - RunTasks(); - AnimateSprites(); - BuildOamBuffer(); - UpdatePaletteFade(); - sub_8011BA4(); - SetMainCallback2(sub_8011BF8); - } -} - -bool32 sub_8011B90(void) -{ - return FuncIsActiveTask(sub_800EB44); -} - -void sub_8011BA4(void) -{ - if (!FuncIsActiveTask(nullsub_89)) - gUnknown_03005000.unk_66 = CreateTask(nullsub_89, 0); -} - -void sub_8011BD0(void) -{ - if (FuncIsActiveTask(nullsub_89) == TRUE) - DestroyTask(gUnknown_03005000.unk_66); -} - -void sub_8011BF8(void) -{ - RunTasks(); - AnimateSprites(); - BuildOamBuffer(); - UpdatePaletteFade(); -} - -void sub_8011C10(u32 a0) -{ - gUnknown_03005000.unk_0c = 1; - sub_8010F48(); - sub_800BF4C(sub_801120C, NULL); - gUnknown_02022B2C = gUnknown_082ED608; - gUnknown_02022B2C.unk_02 = gUnknown_082ED620[a0 - 1]; - sub_800EE78(); -} - -void sub_8011C5C(void) -{ - gUnknown_03005000.unk_0c = 0; - sub_8010F48(); - sub_800BF4C(sub_8011404, sub_800ED34); - sub_800EF00(); -} - -void sub_8011C84(void) -{ - gUnknown_03005000.unk_0c = 2; - sub_8010F48(); - sub_800BF4C(sub_8011674, NULL); - gUnknown_02022B2C = gUnknown_082ED608; - gUnknown_02022B2C.unk_11 = 0; - gUnknown_02022B2C.unk_12 = 0x258; - gUnknown_03005000.unk_67 = CreateTask(sub_800EB44, 1); -} - -static u16 ReadU16(const void *ptr) -{ - const u8 *ptr_ = ptr; - return (ptr_[1] << 8) | (ptr_[0]); -} - -u8 sub_8011CE4(const u8 *a0, u16 a1) -{ - u8 i; - u8 ret = 0xFF; - - for (i = 0; i < 4; i++) - { - u16 trainerId = ReadU16(gRfuLinkStatus->partner[i].gname + 2); - if (sub_8010454(gRfuLinkStatus->partner[i].serialNo) - && !StringCompare(a0, gRfuLinkStatus->partner[i].uname) - && a1 == trainerId) - { - ret = i; - if (gRfuLinkStatus->partner[i].slot != 0xFF) - break; - } - } - - return ret; -} - -void sub_8011D6C(u32 a0) -{ - rfu_REQ_disconnect(a0); - rfu_waitREQComplete(); - gUnknown_03005000.unk_ce2 &= ~(a0); - rfu_clearSlot(1, gUnknown_03005000.unk_cda); - rfu_UNI_setSendData(gUnknown_03005000.unk_ce2, gUnknown_03005000.unk_c87, 70); - gUnknown_03005000.unk_cda = sub_800E87C(gUnknown_03005000.unk_ce2); -} - -void sub_8011DC0(const u8 *ptr, u16 a1) -{ - u8 var = sub_8011CE4(ptr, a1); - if (var != 0xFF) - sub_8011D6C(1 << var); -} - -void sub_8011DE0(u32 a0) -{ - if (a0 != 0) - { - s32 i; - u8 var = 0; - - for (i = 0; i < 4; i++) - { - if (gUnknown_03005000.unk_cde[i] == a0 && (gUnknown_03005000.unk_ce2 >> i) & 1) - var |= 1 << i; - } - if (var) - sub_8011E94(var, 2); - } -} - -void sub_8011E2C(u8 taskId) -{ - if (gSendCmd[0] == 0 && gUnknown_03005000.unk_ce8 == 0) - { - sub_800FD14(0xED00); - gSendCmd[1] = gTasks[taskId].data[0]; - gSendCmd[2] = gTasks[taskId].data[1]; - gUnknown_03005000.playerCount -= gUnknown_082ED695[gTasks[taskId].data[0]]; - gSendCmd[3] = gUnknown_03005000.playerCount; - DestroyTask(taskId); - } -} - -void sub_8011E94(u32 a0, u32 a1) -{ - u8 taskId = FindTaskIdByFunc(sub_8011E2C); - if (taskId == 0xFF) - { - taskId = CreateTask(sub_8011E2C, 5); - gTasks[taskId].data[0] = a0; - } - else - { - gTasks[taskId].data[0] |= a0; - } - - gTasks[taskId].data[1] = a1; -} - -void sub_8011EF4(u8 taskId) -{ - s16 *data = gTasks[taskId].data; - - if (sub_800EE94()) - { - u8 id = sub_8011CE4((u8*)data, ReadU16(&data[8])); - if (id != 0xFF) - { - if (gRfuLinkStatus->partner[id].slot != 0xFF) - { - gUnknown_03005000.unk_c3d = id; - if (sub_800EEBC()) - DestroyTask(taskId); - } - else if (sub_800F7DC()->unk_0a_0 == 0x15 || sub_800F7DC()->unk_0a_0 == 0x16) - { - data[15]++; - } - else - { - sub_8011A64(2, 0x7000); - DestroyTask(taskId); - } - } - else - { - data[15]++; - gUnknown_03005000.unk_c3d = id; - } - } - else - { - data[15]++; - } - - if (data[15] > 240) - { - sub_8011A64(2, 0x7000); - DestroyTask(taskId); - } -} - -void sub_8011FC8(const u8 *src, u16 trainerId) -{ - u8 taskId; - s16 *data; - - gUnknown_03005000.unk_f1 = 0; - taskId = CreateTask(sub_8011EF4, 3); - data = gTasks[taskId].data; - StringCopy((u8*)(data), src); - data[8] = trainerId; -} - -bool32 sub_801200C(s16 a1, struct UnkLinkRfuStruct_02022B14 *structPtr) -{ - if (sub_800F7DC()->unk_0a_0 == 0x45) - { - if (structPtr->unk_0a_0 != 0x45) - return TRUE; - } - else if (structPtr->unk_0a_0 != 0x40) - { - return TRUE; - } - else if (a1 == 0x44) - { - struct UnkLinkRfuStruct_02022B14 *structPtr2 = &gUnknown_03005000.unk_10A; - if (structPtr2->species == SPECIES_EGG) - { - if (structPtr->species == structPtr2->species) - return FALSE; - else - return TRUE; - } - else if (structPtr->species != structPtr2->species - || structPtr->level != structPtr2->level - || structPtr->type != structPtr2->type) - { - return TRUE; - } - } - - return FALSE; -} - -void sub_801209C(u8 taskId) -{ - if (gUnknown_03005000.unk_f1 == 4) - DestroyTask(taskId); - - if (++gTasks[taskId].data[0] > 300) - { - sub_8011A64(2, 0x7000); - DestroyTask(taskId); - } - - if (gUnknown_03005000.unk_ccd != 0 && gUnknown_03004140.unk_06 == 0) - { - u16 trainerId = ReadU16(gUnknown_03005000.unk_10A.unk_00.playerTrainerId); - u8 id = sub_8011CE4(gUnknown_03005000.playerName, trainerId); - if (id != 0xFF) - { - if (!sub_801200C(gTasks[taskId].data[1], (void *)gRfuLinkStatus->partner[id].gname)) - { - if (gRfuLinkStatus->partner[id].slot != 0xFF && !sub_800C12C(gRfuLinkStatus->partner[id].id, 0x5A)) - { - gUnknown_03005000.unk_04 = 0xA; - DestroyTask(taskId); - } - } - else - { - sub_8011A64(2, 0x7000); - DestroyTask(taskId); - } - } - } -} - -void sub_8012188(const u8 *name, struct UnkLinkRfuStruct_02022B14 *structPtr, u8 a2) -{ - u8 taskId, taskId2; - - gUnknown_03005000.unk_ccf = 0; - gUnknown_03005000.unk_f1 = 0; - StringCopy(gUnknown_03005000.playerName, name); - memcpy(&gUnknown_03005000.unk_10A, structPtr, 0xD); - sub_800D658(); - taskId = CreateTask(sub_801209C, 2); - gTasks[taskId].data[1] = a2; - taskId2 = FindTaskIdByFunc(sub_800EB44); - if (a2 == 0x45) - { - if (taskId2 != 0xFF) - gTasks[taskId2].data[7] = 1; - } - else - { - if (taskId2 != 0xFF) - gTasks[taskId2].data[7] = 0; - } -} - -bool8 sub_8012224(void) -{ - if (gUnknown_03005000.unk_f0 == 1) - return TRUE; - else - return FALSE; -} - -bool32 sub_8012240(void) -{ - s32 i; - - for (i = 0; i < 4; i++) - { - if ((gUnknown_03004140.unk_00 >> i) & 1 && gUnknown_03005000.unk_cd1[i] == 0) - return FALSE; - } - - return TRUE; -} - -void sub_801227C(void) -{ - s32 i; - - for (i = 0; i < 20; i++) - nullsub_5(gUnknown_082ED82C, 0, i); -} - -void sub_801229C(void) -{ - s32 i, j; - - nullsub_13(GetBlockReceivedStatus(), 0x1C, 0x13, 2); - nullsub_13(gRfuLinkStatus->connSlotFlag, 0x14, 1, 1); - nullsub_13(gRfuLinkStatus->linkLossSlotFlag, 0x17, 1, 1); - if (gUnknown_03005000.unk_0c == 1) - { - for (i = 0; i < 4; i++) - { - if ((gRfuLinkStatus->getNameFlag >> i) & 1) - { - nullsub_13(gRfuLinkStatus->partner[i].serialNo, 1, i + 3, 4); - nullsub_5((void*)gRfuLinkStatus->partner[i].gname, 6, i + 3); - nullsub_5(gRfuLinkStatus->partner[i].uname, 0x16, i + 3); - } - } - for (i = 0; i < 4; i++) - { - for (j = 0; j < 14; j++) - { - nullsub_13(gUnknown_03005000.unk_14[i][j], j * 2, i + 11, 2); - } - } - nullsub_5(gUnknown_082ED868, 1, 0xF); - } - else if (gRfuLinkStatus->connSlotFlag != 0 && gRfuLinkStatus->getNameFlag != 0) - { - for (i = 0; i < 4; i++) - { - nullsub_13(0, 1, i + 3, 4); - nullsub_5(gUnknown_082ED84B, 6, i + 3); - nullsub_5(gUnknown_082ED85B, 0x16, i + 3); - } - nullsub_13(gRfuLinkStatus->partner[gUnknown_03005000.unk_c3e].serialNo, 1, 3, 4); - nullsub_5((void*)gRfuLinkStatus->partner[gUnknown_03005000.unk_c3e].gname, 6, 3); - nullsub_5(gRfuLinkStatus->partner[gUnknown_03005000.unk_c3e].uname, 0x16, 3); - } - else - { - for (i = 0; i < gRfuLinkStatus->findParentCount; i++) - { - if (gRfuLinkStatus->partner[i].slot != 0xFF) - { - nullsub_13(gRfuLinkStatus->partner[i].serialNo, 1, i + 3, 4); - nullsub_13(gRfuLinkStatus->partner[i].id, 6, i + 3, 4); - nullsub_5(gRfuLinkStatus->partner[i].uname, 0x16, i + 3); - } - } - for (; i < 4; i++) - { - nullsub_13(0, 1, i + 3, 4); - nullsub_5(gUnknown_082ED84B, 6, i + 3); - nullsub_5(gUnknown_082ED85B, 0x16, i + 3); - } - } -} - -u32 sub_80124C0(void) -{ - return gUnknown_03005000.unk_9e8.unk_232; -} - -u32 GetRfuRecvQueueLength(void) -{ - return gUnknown_03005000.unk_124.unk_8c2; -} diff --git a/src/link_rfu_2.c b/src/link_rfu_2.c new file mode 100644 index 000000000..3ee193ec6 --- /dev/null +++ b/src/link_rfu_2.c @@ -0,0 +1,2818 @@ +#include "global.h" +#include "malloc.h" +#include "battle.h" +#include "berry_blender.h" +#include "decompress.h" +#include "event_data.h" +#include "gpu_regs.h" +#include "librfu.h" +#include "link.h" +#include "link_rfu.h" +#include "overworld.h" +#include "random.h" +#include "palette.h" +#include "union_room.h" +#include "string_util.h" +#include "task.h" +#include "text.h" +#include "constants/species.h" +#include "save.h" +#include "mystery_gift.h" + +extern u16 gHeldKeyCodeToSend; + +u32 gf_rfu_REQ_api[RFU_API_BUFF_SIZE_RAM / 4]; +struct UnkRfuStruct_2 Rfu; + +BSS_DATA u8 gUnknown_03000D78[8]; +BSS_DATA u8 gUnknown_03000D80[16]; +BSS_DATA u16 gUnknown_03000D90[8]; + +EWRAM_DATA struct GFtgtGname gUnknown_02022B14 = {}; +EWRAM_DATA ALIGNED(2) u8 gUnknown_02022B22[RFU_USER_NAME_LENGTH] = {}; +EWRAM_DATA INIT_PARAM gUnknown_02022B2C = {}; +EWRAM_DATA struct UnkLinkRfuStruct_02022B44 gUnknown_02022B44 = {}; + +// Static ROM declarations + +// .rodata + +const INIT_PARAM gUnknown_082ED608 = { + 0x04, 0x20, 0x00, 0x00, 0x02, + (u8 *)&gUnknown_02022B14, + gUnknown_02022B22, + 0x01, 0x00, 0x258, 0x12c +}; +const u8 gUnknown_082ED620[] = { + 0, 3, 2, 1, 0 +}; +const u32 gUnknown_082ED628[] = { + 0x000000, + 0x000001, + 0x000003, + 0x000007, + 0x00000f, + 0x00001f, + 0x00003f, + 0x00007f, + 0x0000ff, + 0x0001ff, + 0x0003ff, + 0x0007ff, + 0x000fff, + 0x001fff, + 0x003fff, + 0x007fff, + 0x00ffff, + 0x01ffff, + 0x03ffff, + 0x07ffff, + 0x0fffff, + 0x1fffff, + 0x3fffff, + 0x7fffff, + 0xffffff +}; +const u8 gUnknown_082ED68C[] = { + 0, 0, 1, + 1, 2, 2, + 2, 2, 3 +}; +const u8 gUnknown_082ED695[] = { + 0, 1, 1, 2, + 1, 2, 2, 3, + 1, 2, 2, 3, + 2, 3, 3, 4 +}; +const u8 gUnknown_082ED6A5[] = { + 0, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0 +}; +const struct { + u8 *buffer; + u32 size; +} gUnknown_082ED6B8[] = { + { gBlockSendBuffer, 200 }, + { gBlockSendBuffer, 200 }, + { gBlockSendBuffer, 100 }, + { gBlockSendBuffer, 220 }, + { gBlockSendBuffer, 40 } +}; +const u16 gUnknown_082ED6E0[] = { + 0x0002, 0x7f7d, 0x0000, 0xFFFF +}; + +const char sUnref_082ED6E8[][15] = { + "RFU WAIT", + "RFU BOOT", + "RFU ERROR", + "RFU RESET", + "RFU CONFIG", + "RFU START", + "RFU SC POLL", + "RFU SP POLL", + "RFU START", + "RFU SEND ERR", + "RFU CP POLL" +}; +const char sUnref_082ED6E9[][16] = { + " ", + "RECOVER START ", + "DISSCONECT ", + "RECOVER SUUSES", + "RECOVER FAILED" +}; +const TaskFunc gUnknown_082ED7E0[] = { + sub_801084C, + sub_8010AAC, + sub_8010D0C +}; +const char gUnknown_082ED7EC[] = "PokemonSioInfo"; +const char gUnknown_082ED7FC[] = "LINK LOSS DISCONNECT!"; +const char gUnknown_082ED814[] = "LINK LOSS RECOVERY NOW"; + +ALIGNED(4) const char gUnknown_082ED82C[31] = {' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',0x00}; +const char gUnknown_082ED84B[16] = {' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',0x00}; +const char gUnknown_082ED85B[9] = {' ',' ',' ',' ',' ',' ',' ',' ',0x00}; +ALIGNED(4) const char gUnknown_082ED864[2] = {' ',0x00}; +const char gUnknown_082ED866[2] = {'*',0x00}; +const char gUnknown_082ED868[8] = "NOWSLOT"; +const char gUnknown_082ED870[12] = " "; +const char gUnknown_082ED87C[12] = "CLOCK DRIFT"; +const char gUnknown_082ED888[12] = "BUSY SEND "; +const char gUnknown_082ED894[12] = "CMD REJECT "; +const char gUnknown_082ED8A0[12] = "CLOCK SLAVE"; +const char gUnknown_082ED8A8[3][8] = { + "CHILD ", + "PARENT", + "SEARCH" +}; + +// .text + +void nullsub_5(const void *unused_0, u8 unused_1, u8 unused_2) +{ + // debug? +} + +void nullsub_13(u16 unused_0, u8 unused_1, u8 unused_2, u8 unused_3) +{ + +} + +void sub_800E604(void) +{ + s32 i; + u8 unk_ee_bak = Rfu.unk_ee; + CpuFill16(0, &Rfu, sizeof Rfu); + Rfu.unk_ee = unk_ee_bak; + Rfu.unk_0c = 0xFF; + if (Rfu.unk_ee != 4) + { + Rfu.unk_ee = 0; + } + for (i = 0; i < 5; i++) + { + sub_800FCC4(Rfu.unk_80 + i); + } + sub_800FCC4(&Rfu.unk_6c); + sub_800D6C8(&Rfu.unk_124); + sub_800D724(&Rfu.unk_9e8); + CpuFill16(0, gSendCmd, sizeof gSendCmd); + CpuFill16(0, gRecvCmds, sizeof gRecvCmds); + CpuFill16(0, gLinkPlayers, sizeof gLinkPlayers); +} + +void sub_800E6D0(void) +{ + IntrFunc serialIntr = gIntrTable[1]; + IntrFunc timerIntr = gIntrTable[2]; + sub_800E700(); + rfu_REQ_stopMode(); + rfu_waitREQComplete(); + REG_IME = 0; + gIntrTable[1] = serialIntr; + gIntrTable[2] = timerIntr; + REG_IME = INTR_FLAG_VBLANK; +} + +void sub_800E700(void) +{ + if (!rfu_initializeAPI((void *)gf_rfu_REQ_api, sizeof gf_rfu_REQ_api, gIntrTable + 1, TRUE)) + { + gLinkType = 0; + sub_800AAF4(); + sub_80111B0(0); + sub_800E604(); + rfu_setTimerInterrupt(3, gIntrTable + 2); + } +} + +void sub_800E748(u8 taskId) +{ + sub_8010750(); + switch (Rfu.unk_04) + { + case 0: + rfu_LMAN_initializeRFU(&gUnknown_02022B2C); + Rfu.unk_04 = 1; + gTasks[taskId].data[1] = 1; + break; + case 1: + break; + case 2: + rfu_LMAN_establishConnection(Rfu.unk_0c, 0, 240, (u16 *)gUnknown_082ED6E0); + Rfu.unk_04 = 3; + gTasks[taskId].data[1] = 6; + break; + case 3: + break; + case 4: + rfu_LMAN_stopManager(FALSE); + Rfu.unk_04 = 5; + break; + case 5: + break; + case 18: + Rfu.unk_cdb = 0; + rfu_LMAN_setMSCCallback(sub_800EDBC); + sub_800EAB4(); + sub_800EAFC(); + Rfu.unk_04 = 20; + gTasks[taskId].data[1] = 8; + CreateTask(sub_801084C, 5); + DestroyTask(taskId); + break; + } +} + +s32 sub_800E87C(u8 idx) +{ + return gUnknown_082ED6A5[idx]; +} + +void sub_800E88C(s32 r2, s32 r5) +{ + u8 i; + u8 r4 = 1; + s32 r1 = r2; + s32 r6 = 0; + if (r5 == -1) + { + for (i = 0; i < 4; r2 >>= 1, i++) + { + if (r2 & 1) + { + Rfu.unk_cde[i] = r4; + r4++; + } + } + } + else + { + for (i = 0; i < 4; r1 >>= 1, i++) + { + if (!(r1 & 1)) + { + Rfu.unk_cde[i] = 0; + } + } + for (r4 = 4; r4 != 0; r4--) + { + for (i = 0; i < 4 && Rfu.unk_cde[i] != r4; i++); + if (i == 4) + { + r6 = r4; + } + } + for (r5 &= ~r2, i = 0; i < 4; r5 >>= 1, i++) + { + if (r5 & 1) + { + Rfu.unk_cde[i] = r6++; + } + } + } +} + +void sub_800E94C(u8 taskId) +{ + switch (Rfu.unk_04) + { + case 0: + rfu_LMAN_initializeRFU((INIT_PARAM *)&gUnknown_082ED608); + Rfu.unk_04 = 1; + gTasks[taskId].data[1] = 1; + break; + case 1: + break; + case 6: + rfu_LMAN_establishConnection(Rfu.unk_0c, 0, 0xf0, (u16 *)gUnknown_082ED6E0); + Rfu.unk_04 = 7; + gTasks[taskId].data[1] = 7; + break; + case 7: + break; + case 9: + gTasks[taskId].data[1] = 10; + break; + case 11: + switch (sub_80107A0()) + { + case 5: + Rfu.unk_04 = 12; + break; + case 6: + case 9: + rfu_LMAN_requestChangeAgbClockMaster(); + Rfu.unk_ce4 = 2; + DestroyTask(taskId); + break; + } + break; + case 12: + { + u8 r5 = 1 << Rfu.unk_c3e; + rfu_clearSlot(12, Rfu.unk_c3e); + rfu_setRecvBuffer(16, Rfu.unk_c3e, Rfu.unk_c3f, 70); + rfu_UNI_setSendData(r5, Rfu.unk_4c, 14); + gTasks[taskId].data[1] = 8; + DestroyTask(taskId); + if (gUnknown_02022B44.unk_0f == 0) + { + sub_801227C(); + gUnknown_02022B44.unk_0f++; + } + CreateTask(sub_801084C, 5); + break; + } + } +} + +void sub_800EAB4(void) +{ + u8 i; + u8 r5 = lman.acceptSlot_flag; + for (i = 0; i < 4; i++) + { + if (r5 & 1) + { + rfu_setRecvBuffer(16, i, Rfu.unk_14[i], 14); + rfu_clearSlot(3, i); + } + r5 >>= 1; + } +} + +void sub_800EAFC(void) +{ + u8 r5 = lman.acceptSlot_flag; + rfu_UNI_setSendData(r5, Rfu.unk_c87, 70); + Rfu.unk_cda = sub_800E87C(r5); + Rfu.unk_ce2 = r5; + sub_800E88C(r5, -1); + Rfu.unk_0c = 1; +} + +void sub_800EB44(u8 taskId) +{ + if (sub_800F7DC()->activity == 0x54 && sub_8011A74() == 4) + { + rfu_REQ_disconnect(lman.acceptSlot_flag); + rfu_waitREQComplete(); + sub_8011A64(0, 0); + } + switch (Rfu.unk_04) + { + case 0: + rfu_LMAN_initializeRFU(&gUnknown_02022B2C); + Rfu.unk_04 = 1; + gTasks[taskId].data[1] = 1; + break; + case 1: + break; + case 17: + rfu_LMAN_establishConnection(2, 0, 240, (u16 *)gUnknown_082ED6E0); + rfu_LMAN_setMSCCallback(sub_800ED34); + Rfu.unk_04 = 18; + break; + case 18: + break; + case 13: + if (rfu_UNI_setSendData(1 << Rfu.unk_c3e, Rfu.unk_4c, 14) == 0) + { + Rfu.unk_0c = 0; + DestroyTask(taskId); + if (gTasks[taskId].data[7]) + { + CreateTask(sub_8010D0C, 1); + } + else + { + CreateTask(sub_801084C, 5); + } + } + break; + case 14: + rfu_LMAN_stopManager(0); + Rfu.unk_04 = 15; + break; + case 15: + break; + case 16: + Rfu.unk_cdb = 0; + rfu_LMAN_setMSCCallback(sub_800EDBC); + sub_8011068(1); + sub_800EAB4(); + sub_800EAFC(); + Rfu.unk_04 = 20; + gTasks[taskId].data[1] = 8; + Rfu.unk_0c = 1; + CreateTask(sub_801084C, 5); + Rfu.unk_ce8 = 1; + DestroyTask(taskId); + break; + } +} + +void sub_800ED10(void) +{ + rfu_LMAN_establishConnection(1, 0, 240, (u16 *)gUnknown_082ED6E0); +} + +void sub_800ED28(void) +{ + rfu_LMAN_stopManager(FALSE); +} + +void sub_800ED34(u16 unused) +{ + s32 i; + + for (i = 0; i < 14; i++) + { + Rfu.unk_4c[i] = 0; + } + rfu_REQ_recvData(); + rfu_waitREQComplete(); + if (gRfuSlotStatusUNI[Rfu.unk_c3e]->recv.newDataFlag) + { + Rfu.unk_cd0++; + sub_800D7D8(&Rfu.unk_124, Rfu.unk_c3f); + gUnknown_02022B44.unk_06++; + sub_800F048(); + rfu_UNI_readySendData(Rfu.unk_c3e); + rfu_UNI_clearRecvNewDataFlag(Rfu.unk_c3e); + } + rfu_LMAN_REQ_sendData(1); +} + +void sub_800EDBC(u16 unused) +{ + Rfu.unk_cdb = 1; +} + +void sub_800EDD4(void) +{ + u8 i; + + rfu_LMAN_powerDownRFU(); + if (Rfu.unk_0c == 1) + { + if (FuncIsActiveTask(sub_800E748) == TRUE) + { + DestroyTask(Rfu.unk_67); + sub_800E604(); + } + } + else if (Rfu.unk_0c == 0) + { + if (FuncIsActiveTask(sub_800E94C) == TRUE) + { + DestroyTask(Rfu.unk_67); + sub_800E604(); + } + } + else if (Rfu.unk_0c == 2) + { + if (FuncIsActiveTask(sub_800EB44) == TRUE) + { + DestroyTask(Rfu.unk_67); + sub_800E604(); + } + } + for (i = 0; i < 3; i++) + { + if (FuncIsActiveTask(gUnknown_082ED7E0[i]) == TRUE) + { + DestroyTask(FindTaskIdByFunc(gUnknown_082ED7E0[i])); + } + } +} + +void sub_800EE78(void) +{ + Rfu.unk_67 = CreateTask(sub_800E748, 1); +} + +bool8 sub_800EE94(void) +{ + if (Rfu.unk_04 == 7 && Rfu.unk_ccd) + { + return TRUE; + } + return FALSE; +} + +bool32 sub_800EEBC(void) +{ + if (Rfu.unk_04 == 7 && !rfu_LMAN_CHILD_connectParent(gRfuLinkStatus->partner[Rfu.unk_c3d].id, 240)) + { + Rfu.unk_04 = 9; + return TRUE; + } + return FALSE; +} + +void sub_800EF00(void) +{ + Rfu.unk_67 = CreateTask(sub_800E94C, 1); +} + +bool8 sub_800EF1C(void) +{ + if (lman.acceptSlot_flag) + { + return TRUE; + } + return FALSE; +} + +void sub_800EF38(void) +{ + Rfu.unk_04 = 4; + Rfu.unk_ce7 = lman.acceptSlot_flag; +} + +bool32 sub_800EF58(bool32 a0) +{ + if (Rfu.unk_04 == 17 || a0) + { + Rfu.unk_04 = 18; + return TRUE; + } + return FALSE; +} + +void sub_800EF7C(void) +{ + Rfu.unk_04 = 14; +} + +void sub_800EF88(u8 a0) +{ + u8 i; + + for (i = 0; i < 4; i++) + { + if (a0 & 1) + { + rfu_UNI_readySendData(i); + break; + } + a0 >>= 1; + } +} + +void sub_800EFB0(void) +{ + s32 i, j; + + for (i = 0; i < 5; i++) + { + struct UnkRfuStruct_2 *ptr = &Rfu; + for (j = 0; j < 7; j++) + { + ptr->unk_c87[i][j][1] = gRecvCmds[i][j] >> 8; + ptr->unk_c87[i][j][0] = gRecvCmds[i][j]; + } + } + CpuFill16(0, gRecvCmds, sizeof gRecvCmds); +} + +void sub_800F014(void) +{ + s32 i; + for (i = 0; i < 7; i++) + { + gRecvCmds[0][i] = gSendCmd[i]; + } + for (i = 0; i < 7; i++) + { + gSendCmd[i] = 0; + } +} + +void sub_800F048(void) +{ + if (Rfu.unk_c3c) + { + u8 r2 = sub_800DAC8(&Rfu.unk_c1c, Rfu.unk_4c); + if (Rfu.unk_c1c.unk_1e == 0) + { + Rfu.unk_c3c = 0; + } + if (r2) + { + return; + } + } + if (Rfu.unk_c3c == 0) + { + sub_800D9DC(&Rfu.unk_9e8, Rfu.unk_4c); + sub_800DA68(&Rfu.unk_c1c, Rfu.unk_4c); + } +} + +bool32 IsRfuRecvQueueEmpty(void) +{ + s32 i; + s32 j; + + if (gRfuLinkStatus->sendSlotUNIFlag == 0) + { + return FALSE; + } + for (i = 0; i < 5; i++) + { + for (j = 0; j < 7; j++) + { + if (gRecvCmds[i][j] != 0) + { + return FALSE; + } + } + } + return TRUE; +} + +bool32 sub_800F0F8(void) +{ + if (Rfu.unk_04 < 20) + { + rfu_REQ_recvData(); + rfu_waitREQComplete(); + rfu_LMAN_REQ_sendData(0); + } + else + { + Rfu.unk_cdb = 0; + if ((Rfu.unk_ce2 & gRfuLinkStatus->connSlotFlag) == Rfu.unk_ce2 && (Rfu.unk_ce2 & gRfuLinkStatus->connSlotFlag)) + { + if (!Rfu.unk_cdc) + { + if (Rfu.unk_ce3) + { + sub_8011D6C(Rfu.unk_ce3); + Rfu.unk_ce3 = 0; + if (Rfu.unk_ce4 == 1) + { + sub_8011A64(2, 0x8000); + sub_8011170(0x8000); + return FALSE; + } + if (!lman.acceptSlot_flag) + { + sub_800EDD4(); + gReceivedRemoteLinkPlayers = 0; + return FALSE; + } + } + sub_800EFB0(); + rfu_UNI_readySendData(Rfu.unk_cda); + rfu_LMAN_REQ_sendData(1); + } + else + { + rfu_REQ_PARENT_resumeRetransmitAndChange(); + } + Rfu.unk_0e = 1; + } + } + return FALSE; +} + +bool32 sub_800F1E0(void) +{ + u16 i; + u16 flags; + u8 r0; + u16 j; + u8 retval; + + if (Rfu.unk_04 >= 20 && Rfu.unk_0e == 1) + { + rfu_waitREQComplete(); + while (Rfu.unk_cdb == 0) + { + if (Rfu.unk_ee != 0) + { + return FALSE; + } + } + rfu_REQ_recvData(); + rfu_waitREQComplete(); + if ((lman.parentAck_flag & Rfu.unk_ce2) == Rfu.unk_ce2) + { + Rfu.unk_cdc = 0; + gUnknown_02022B44.unk_06++; + flags = lman.acceptSlot_flag; + for (i = 0; i < 4; i++) + { + if (flags & 1) + { + if (Rfu.unk_14[i][1]) + { + if (Rfu.unk_cee[i] != 0xFF && (Rfu.unk_14[i][0] >> 5) != ((Rfu.unk_cee[i] + 1) & 7)) + { + if (++Rfu.unk_cea[i] > 4) + sub_8011170(0x8100); + } + else + { + Rfu.unk_cee[i] = Rfu.unk_14[i][0] / 32; + Rfu.unk_cea[i] = 0; + Rfu.unk_14[i][0] &= 0x1f; + r0 = Rfu.unk_cde[i]; + for (j = 0; j < 7; j++) + { + gRecvCmds[r0][j] = (Rfu.unk_14[i][(j << 1) + 1] << 8) | Rfu.unk_14[i][(j << 1) + 0]; + Rfu.unk_14[i][(j << 1) + 1] = 0; + Rfu.unk_14[i][(j << 1) + 0] = 0; + } + } + } + rfu_UNI_clearRecvNewDataFlag(i); + } + flags >>= 1; + } + sub_800F014(); + sub_800F86C(0); + sub_8010528(); + if (Rfu.unk_ce5 && !Rfu.unk_cd9) + { + gUnknown_02022B44.unk_0e = 0; + rfu_clearSlot(3, Rfu.unk_cda); + for (i = 0; i < 4; i++) + { + if ((Rfu.unk_ce5 >> i) & 1) + { + rfu_setRecvBuffer(0x10, i, Rfu.unk_14[i], 14); + } + } + sub_800E88C(Rfu.unk_ce2, Rfu.unk_ce2 | Rfu.unk_ce5); + Rfu.unk_ce9 = Rfu.unk_ce5; + Rfu.unk_ce2 |= Rfu.unk_ce5; + Rfu.unk_ce5 = 0; + rfu_UNI_setSendData(Rfu.unk_ce2, Rfu.unk_c87, 70); + Rfu.unk_cda = sub_800E87C(Rfu.unk_ce2); + CreateTask(sub_8010AAC, 0); + } + } + else + { + Rfu.unk_cdc = 1; + Rfu.unk_0e = 0; + } + Rfu.unk_0e = 0; + } + retval = Rfu.unk_cdc; + return gRfuLinkStatus->sendSlotUNIFlag ? retval & 1 : FALSE; +} + +void sub_800F498(u16 *a0, u8 *a1) +{ + s32 i; + + if (a0[0]) + { + a0[0] |= (Rfu.unk_102 << 5); + Rfu.unk_102 = (Rfu.unk_102 + 1) & 7; + for (i = 0; i < 7; i++) + { + a1[2 * i + 1] = a0[i] >> 8; + a1[2 * i + 0] = a0[i]; + } + } + else + { + for (i = 0; i < 14; i++) + a1[i] = 0; + } +} + +bool32 sub_800F4F0(void) +{ + u8 i; + u8 j; + u8 sp00[MAX_RFU_PLAYERS * (2 * (CMD_LENGTH - 1))]; + u8 sp48[2 * (CMD_LENGTH - 1)]; + u8 switchval; + + sub_800D934(&Rfu.unk_124, sp00); + for (i = 0; i < MAX_RFU_PLAYERS; i++) + { + for (j = 0; j < CMD_LENGTH - 1; j++) + { + gRecvCmds[i][j] = (sp00[i * 14 + (j << 1) + 1] << 8) | sp00[i * 14 + (j << 1) + 0]; + } + } + sub_800F86C(0); + if (lman.childClockSlave_flag == 0 && Rfu.unk_ce4) + { + rfu_REQ_disconnect(gRfuLinkStatus->connSlotFlag | gRfuLinkStatus->linkLossSlotFlag); + rfu_waitREQComplete(); + switchval = sub_8011A74(); + if (switchval != 1 && switchval != 6 && switchval != 9) + sub_8011A64(2, 0x9000); + rfu_clearAllSlot(); + gReceivedRemoteLinkPlayers = FALSE; + Rfu.linkRfuCallback = NULL; + if (Rfu.unk_ce4 == 1) + { + sub_8011A64(2, 0x9000); + sub_8011170(0x9000); + } + lman.state = lman.next_state = 0; + Rfu.unk_ce4 = 0; + } + if (Rfu.unk_cd0) + { + Rfu.unk_cd0--; + sub_8010528(); + sub_800F498(gSendCmd, sp48); + sub_800D888(&Rfu.unk_9e8, sp48); + for (i = 0; i < CMD_LENGTH - 1; i++) + gSendCmd[i] = 0; + } + return IsRfuRecvQueueEmpty(); +} + +void sub_800F638(u8 unused, u32 flags) +{ + s32 i, j; + + const u8 *r10 = Rfu.unk_6c.unk_04; + for (i = 0; i < Rfu.unk_6c.unk_02; i++) + { + if (!(flags & 1)) + { + gUnknown_03000D90[0] = (~0x76ff) | i; + for (j = 0; j < 7; j++) + { + gUnknown_03000D90[j + 1] = (r10[12 * i + (j << 1) + 1] << 8) | r10[12 * i + (j << 1) + 0]; + } + for (j = 0; j < 7; j++) + { + gUnknown_03000D80[2 * j + 1] = gUnknown_03000D90[j] >> 8; + gUnknown_03000D80[2 * j + 0] = gUnknown_03000D90[j]; + + j++;j--; // Needed to match; + } + sub_800D888(&Rfu.unk_9e8, gUnknown_03000D80); + Rfu.unk_6c.unk_0c |= (1 << i); + } + flags >>= 1; + } +} + +void sub_800F6FC(u8 a0) +{ + if (Rfu.unk_0c == 1 && a0) + Rfu.unk_61[a0] = 1; + else + Rfu.unk_5c[a0] = 1; +} + +void sub_800F728(u8 a0) +{ + Rfu.unk_5c[a0] = 0; + Rfu.unk_80[a0].unk_12 = 0; +} + +u8 sub_800F74C(const u8 *a0) +{ + u8 i; + + if (Rfu.unk_0c == 1) + return FALSE; + for (i = 0; i < 4; i++) + { + Rfu.unk_cde[i] = a0[i]; + } + return a0[Rfu.unk_c3e]; +} + +void rfu_func_080F97B8(void) +{ + if (gReceivedRemoteLinkPlayers + && gHeldKeyCodeToSend != LINK_KEY_CODE_NULL + && gLinkTransferringData != TRUE) + { + gUnknown_03000D78[0]++; + gHeldKeyCodeToSend |= (gUnknown_03000D78[0] << 8); + sub_800FD14(0xbe00); + } +} + +struct GFtgtGname *sub_800F7DC(void) +{ + return &gUnknown_02022B14; +} + +bool32 IsSendingKeysToRfu(void) +{ + return Rfu.linkRfuCallback == rfu_func_080F97B8; +} + +void sub_800F804(void) +{ + Rfu.linkRfuCallback = rfu_func_080F97B8; +} + +void ClearLinkRfuCallback(void) +{ + Rfu.linkRfuCallback = NULL; +} + +void sub_800F820(void) +{ + sub_800FD14(0x4400); + if (GetMultiplayerId() == 0) + gSendCmd[6] = GetBlenderArrowPosition(); + gUnknown_020223C0++; +} + +void sub_800F850(void) +{ + if (Rfu.linkRfuCallback == NULL) + Rfu.linkRfuCallback = sub_800F820; +} + +void sub_800F86C(u8 unused) +{ + u16 i; + u16 j; + + for (i = 0; i < MAX_RFU_PLAYERS; i++) + { + switch (gRecvCmds[i][0] & 0xff00) + { + case 0x7800: + if (Rfu.unk_0c == 0 && gReceivedRemoteLinkPlayers != 0) + return; + // fallthrough + case 0x7700: + if (gRfuLinkStatus->parentChild == 0) + { + Rfu.playerCount = gRecvCmds[i][1]; + Rfu.unk_cce = sub_800F74C((u8 *)(gRecvCmds[i] + 2)); + } + break; + case 0x8800: + if (Rfu.unk_80[i].unk_12 == 0) + { + Rfu.unk_80[i].unk_00 = 0; + Rfu.unk_80[i].unk_02 = gRecvCmds[i][1]; + Rfu.unk_80[i].unk_11 = gRecvCmds[i][2]; + Rfu.unk_80[i].unk_08 = 0; + Rfu.unk_80[i].unk_12 = 1; + Rfu.unk_5c[i] = 0; + } + break; + case 0x8900: + if (Rfu.unk_80[i].unk_12 == 1) + { + Rfu.unk_80[i].unk_00 = gRecvCmds[i][0] & 0xff; + Rfu.unk_80[i].unk_08 |= (1 << Rfu.unk_80[i].unk_00); + for (j = 0; j < 6; j++) + gBlockRecvBuffer[i][Rfu.unk_80[i].unk_00 * 6 + j] = gRecvCmds[i][j + 1]; + if (Rfu.unk_80[i].unk_08 == gUnknown_082ED628[Rfu.unk_80[i].unk_02]) + { + Rfu.unk_80[i].unk_12 = 2; + sub_800F6FC(i); + if (sub_800F7DC()->activity == 0x45 && gReceivedRemoteLinkPlayers != 0 && Rfu.unk_0c == 0) + sub_8010A70(gBlockRecvBuffer); + } + } + break; + case 0xa100: + sub_800FE84(gUnknown_082ED6B8[gRecvCmds[i][1]].buffer, (u16)gUnknown_082ED6B8[gRecvCmds[i][1]].size); + break; + case 0x5f00: + Rfu.unk_e4[i] = 1; + break; + case 0x6600: + if (Rfu.unk_100 == gRecvCmds[i][1]) + Rfu.unk_e9[i] = 1; + break; + case 0xed00: + if (Rfu.unk_0c == 0) + { + if (gReceivedRemoteLinkPlayers != 0) + { + if (gRecvCmds[i][1] & gRfuLinkStatus->connSlotFlag) + { + gReceivedRemoteLinkPlayers = 0; + rfu_LMAN_requestChangeAgbClockMaster(); + Rfu.unk_ce4 = gRecvCmds[i][2]; + } + Rfu.playerCount = gRecvCmds[i][3]; + sub_80109E8(gRecvCmds[i][1]); + } + } + else + { + sub_800FD14(0xee00); + gSendCmd[1] = gRecvCmds[i][1]; + gSendCmd[2] = gRecvCmds[i][2]; + gSendCmd[3] = gRecvCmds[i][3]; + } + break; + case 0xee00: + if (Rfu.unk_0c == 1) + { + Rfu.unk_ce3 |= gRecvCmds[i][1]; + Rfu.unk_ce4 = gRecvCmds[i][2]; + sub_80109E8(gRecvCmds[i][1]); + } + break; + case 0x4400: + case 0xbe00: + gLinkPartnersHeldKeys[i] = gRecvCmds[i][1]; + break; + } + if (Rfu.unk_0c == 1 && Rfu.unk_61[i]) + { + if (Rfu.unk_61[i] == 4) + { + Rfu.unk_5c[i] = 1; + Rfu.unk_61[i] = 0; + } + else + Rfu.unk_61[i]++; + } + } +} + +bool8 sub_800FC60(void) +{ + s32 i; + + for (i = 0; i < 5; i++) + { + if (Rfu.unk_80[i].unk_12) + return FALSE; + } + return TRUE; +} + +bool8 sub_800FC88(void) +{ + s32 i; + + for (i = 0; i < Rfu.playerCount; i++) + { + if (Rfu.unk_80[i].unk_12 != 2 || Rfu.unk_5c[i] != 1) + return FALSE; + } + return TRUE; +} + +void sub_800FCC4(struct UnkRfuStruct_2_Sub_6c *data) +{ + data->unk_00 = 0; + data->unk_02 = 0; + data->unk_04 = NULL; + data->unk_08 = 0; + data->unk_10 = 0; + data->unk_11 = 0; + data->unk_12 = 0; +} + +u8 sub_800FCD8(void) +{ + u8 flags = 0; + s32 i; + + for (i = 0; i < 5; i++) + { + if (Rfu.unk_80[i].unk_12 == 2 && Rfu.unk_5c[i] == 1) + { + flags |= (1 << i); + } + } + return flags; +} + +void sub_800FD14(u16 command) +{ + u8 i; + u8 *buff; + u8 tmp; + + gSendCmd[0] = command; + switch (command) + { + case 0x8800: + gSendCmd[1] = Rfu.unk_6c.unk_02; + gSendCmd[2] = Rfu.unk_6c.unk_11 + 0x80; + break; + case 0xa100: + if (sub_800FC60()) + gSendCmd[1] = Rfu.unk_5a; + break; + case 0x7700: + case 0x7800: + tmp = Rfu.unk_ce2 ^ Rfu.unk_ce3; + Rfu.playerCount = gUnknown_082ED695[tmp] + 1; + gSendCmd[1] = Rfu.playerCount; + buff = (u8 *)(gSendCmd + 2); + for (i = 0; i < 4; i++) + buff[i] = Rfu.unk_cde[i]; + break; + case 0x6600: + case 0x5f00: + gSendCmd[1] = Rfu.unk_100; + break; + case 0x4400: + gSendCmd[0] = command; + gSendCmd[1] = gMain.heldKeys; + break; + case 0x2f00: + for (i = 0; i < 6; i++) + gSendCmd[1 + i] = Rfu.unk_f2[i]; + break; + case 0xbe00: + gSendCmd[1] = gHeldKeyCodeToSend; + break; + case 0xee00: + break; + case 0xed00: + break; + } +} + +void sub_800FE50(void *a0) +{ + if (gSendCmd[0] == 0 && !sub_8011A80()) + { + memcpy(Rfu.unk_f2, a0, sizeof(Rfu.unk_f2)); + sub_800FD14(0x2f00); + } +} + +bool32 sub_800FE84(const u8 *src, size_t size) +{ + bool8 r4; + if (Rfu.linkRfuCallback != NULL) + return FALSE; + if (gSendCmd[0] != 0) + return FALSE; + if (Rfu.unk_6c.unk_10 != 0) + { + gUnknown_02022B44.unk_83++; + return FALSE; + } + r4 = (size % 12) != 0; + Rfu.unk_6c.unk_11 = GetMultiplayerId(); + Rfu.unk_6c.unk_10 = 1; + Rfu.unk_6c.unk_02 = (size / 12) + r4; + Rfu.unk_6c.unk_00 = 0; + if (size > 0x100) + Rfu.unk_6c.unk_04 = src; + else + { + if (src != gBlockSendBuffer) + memcpy(gBlockSendBuffer, src, size); + Rfu.unk_6c.unk_04 = gBlockSendBuffer; + } + sub_800FD14(0x8800); + Rfu.linkRfuCallback = rfufunc_80F9F44; + Rfu.unk_5b = 0; + return TRUE; +} + +void rfufunc_80F9F44(void) +{ + if (gSendCmd[0] == 0) + { + sub_800FD14(0x8800); + if (Rfu.unk_0c == 1) + { + if (++Rfu.unk_5b > 2) + Rfu.linkRfuCallback = sub_800FFB0; + } + else + { + if ((gRecvCmds[GetMultiplayerId()][0] & 0xff00) == 0x8800) + Rfu.linkRfuCallback = sub_800FFB0; + } + } +} + +void sub_800FFB0(void) +{ + s32 i; + const u8 *src = Rfu.unk_6c.unk_04; + gSendCmd[0] = 0x8900 | Rfu.unk_6c.unk_00; + for (i = 0; i < 7; i++) + gSendCmd[i + 1] = (src[(i << 1) + Rfu.unk_6c.unk_00 * 12 + 1] << 8) | src[(i << 1) + Rfu.unk_6c.unk_00 * 12 + 0]; + Rfu.unk_6c.unk_00++; + if (Rfu.unk_6c.unk_02 <= Rfu.unk_6c.unk_00) + { + Rfu.unk_6c.unk_10 = 0; + Rfu.linkRfuCallback = rfufunc_80FA020; + } +} + +void rfufunc_80FA020(void) +{ + const u8 *src = Rfu.unk_6c.unk_04; + u8 mpId = GetMultiplayerId(); + s32 i; + if (Rfu.unk_0c == 0) + { + gSendCmd[0] = (~0x76ff) | (Rfu.unk_6c.unk_02 - 1); + for (i = 0; i < 7; i++) + gSendCmd[i + 1] = (src[(i << 1) + (Rfu.unk_6c.unk_02 - 1) * 12 + 1] << 8) | src[(i << 1) + (Rfu.unk_6c.unk_02 - 1) * 12 + 0]; + if ((u8)gRecvCmds[mpId][0] == Rfu.unk_6c.unk_02 - 1) + { + if (Rfu.unk_80[mpId].unk_08 != gUnknown_082ED628[Rfu.unk_80[mpId].unk_02]) + { + sub_800F638(mpId, Rfu.unk_80[mpId].unk_08); + gUnknown_02022B44.unk_64++; + } + else + Rfu.linkRfuCallback = NULL; + } + } + else + Rfu.linkRfuCallback = NULL; +} + +bool8 sub_8010100(u8 a0) +{ + Rfu.unk_5a = a0; + sub_800FD14(0xa100); + return TRUE; +} + +void sub_801011C(void) +{ + rfu_clearAllSlot(); + rfu_LMAN_powerDownRFU(); + gReceivedRemoteLinkPlayers = 0; + Rfu.unk_ef = 1; + Rfu.linkRfuCallback = NULL; +} + +void sub_8010148(void) +{ + rfu_REQ_disconnect(gRfuLinkStatus->connSlotFlag | gRfuLinkStatus->linkLossSlotFlag); + rfu_waitREQComplete(); + sub_801011C(); +} + +void sub_8010168(void) +{ + if (Rfu.unk_0c == 0) + { + rfu_LMAN_requestChangeAgbClockMaster(); + Rfu.unk_ce4 = 2; + } + else + Rfu.linkRfuCallback = sub_8010148; +} + +void LinkRfu_FatalError(void) +{ + rfu_LMAN_requestChangeAgbClockMaster(); + Rfu.unk_ce4 = 1; + Rfu.unk_ce3 = gRfuLinkStatus->connSlotFlag | gRfuLinkStatus->linkLossSlotFlag; +} + +void sub_80101CC(void) +{ + s32 i; + u8 playerCount = Rfu.playerCount; + s32 count = 0; + + for (i = 0; i < MAX_RFU_PLAYERS; i++) + { + if (Rfu.unk_e4[i]) + count++; + } + if (count == playerCount) + { + gBattleTypeFlags &= ~BATTLE_TYPE_20; + if (Rfu.unk_0c == 0) + { + Rfu.unk_ee = 3; + sub_8010168(); + } + else + Rfu.linkRfuCallback = sub_8010168; + } +} + +void sub_801022C(void) +{ + if (gSendCmd[0] == 0 && Rfu.unk_ce8 == 0) + { + sub_800FD14(0x5f00); + Rfu.linkRfuCallback = sub_80101CC; + } +} + +void sub_8010264(u8 taskId) +{ + if (Rfu.linkRfuCallback == NULL) + { + Rfu.unk_cd9 = 1; + Rfu.linkRfuCallback = sub_801022C; + DestroyTask(taskId); + } +} + +void task_add_05_task_del_08FA224_when_no_RfuFunc(void) +{ + if (!FuncIsActiveTask(sub_8010264)) + CreateTask(sub_8010264, 5); +} + +void sub_80102B8(void) +{ + u8 playerCount; + u8 i; + + if (GetMultiplayerId() != 0) + { + u8 r4 = Rfu.unk_124.unk_8c2; + if (r4 == 0 && Rfu.unk_fe > 0x3c) + { + sub_800FD14(0x6600); + Rfu.unk_fe = r4; + } + } + playerCount = GetLinkPlayerCount(); + for (i = 0; i < playerCount; i++) + { + if (Rfu.unk_e9[i] == 0) + break; + } + if (i == playerCount) + { + for (i = 0; i < MAX_RFU_PLAYERS; i++) + Rfu.unk_e9[i] = 0; + Rfu.unk_100++; + Rfu.linkRfuCallback = NULL; + } + Rfu.unk_fe++; +} + +void sub_8010358(void) +{ + if (Rfu.unk_124.unk_8c2 == 0 && gSendCmd[0] == 0) + { + sub_800FD14(0x6600); + Rfu.linkRfuCallback = sub_80102B8; + } +} + +void sub_8010390(void) +{ + u8 i; + u8 playerCount; + + if (GetMultiplayerId() != 0) + { + if (Rfu.unk_124.unk_8c2 == 0 && gSendCmd[0] == 0) + { + sub_800FD14(0x6600); + Rfu.linkRfuCallback = sub_80102B8; + } + } + else + { + playerCount = GetLinkPlayerCount(); + for (i = 1; i < playerCount; i++) + { + if (Rfu.unk_e9[i] == 0) + break; + } + if (i == playerCount) + { + if (Rfu.unk_124.unk_8c2 == 0 && gSendCmd[0] == 0) + { + sub_800FD14(0x6600); + Rfu.linkRfuCallback = sub_8010358; + } + } + } +} + +void sub_8010434(void) +{ + if (Rfu.linkRfuCallback == NULL) + { + Rfu.linkRfuCallback = sub_8010390; + Rfu.unk_fe = 0; + } +} + +bool32 sub_8010454(u32 a0) +{ + s32 i; + for (i = 0; gUnknown_082ED6E0[i] != a0; i++) + { + if (gUnknown_082ED6E0[i] == 0xFFFF) + return FALSE; + } + return TRUE; +} + +u8 sub_801048C(bool32 a0) +{ + if (a0 == FALSE) + return rfu_LMAN_setLinkRecovery(0, 0); + rfu_LMAN_setLinkRecovery(1, 0x258); + return 0; +} + +void sub_80104B0(void) +{ + Rfu.unk_cd9 = 1; + rfu_LMAN_stopManager(FALSE); +} + +u8 rfu_get_multiplayer_id(void) +{ + if (Rfu.unk_0c == 1) + return 0; + return Rfu.unk_cce; +} + +u8 sub_80104F4(void) +{ + return Rfu.playerCount; +} + +bool8 IsLinkRfuTaskFinished(void) +{ + if (Rfu.unk_f1 == 2) + return FALSE; + return Rfu.linkRfuCallback ? FALSE : TRUE; +} + +void sub_8010528(void) +{ + if (Rfu.linkRfuCallback) + Rfu.linkRfuCallback(); +} + +bool8 sub_8010540(void) +{ + s32 i; + bool8 retval = FALSE; + for (i = 0; i < 4; i++) + { + if (Rfu.unk_cd1[i] < 5 || Rfu.unk_cd1[i] > 6) + { + if (gRfuSlotStatusNI[i]->recv.state == 0x46 || gRfuSlotStatusNI[i]->recv.state == 0x48) + { + if (Rfu.unk_cd5[i] == 8) + { + Rfu.unk_cd1[i] = 9; + Rfu.unk_cd5[i] = 10; + rfu_clearSlot(8, i); + rfu_NI_setSendData(1 << i, 8, Rfu.unk_cd1 + i, 1); + retval = TRUE; + } + + } + else if (gRfuSlotStatusNI[Rfu.unk_c3e]->recv.state == 0x47) + rfu_clearSlot(8, i); + { + + } + } + } + return retval; +} + +bool32 sub_80105EC(void) +{ + u8 flags = 0; + s32 i; + for (i = 0; i < 4; i++) + { + if (Rfu.unk_cd5[i] == 11) + { + flags |= (1 << i); + Rfu.unk_cd5[i] = 0; + } + } + if (flags) + { + rfu_REQ_disconnect(flags); + rfu_waitREQComplete(); + } + for (i = 0; i < 4; i++) + { + if (Rfu.unk_cd5[i] == 10 || Rfu.unk_cd5[i] == 11) + return TRUE; + } + return FALSE; +} + +bool32 sub_801064C(u16 a0, const u8 *a1) +{ + u8 r1 = sub_8011CE4(a1, a0); + if (r1 == 0xFF) + return TRUE; + if (Rfu.unk_cd1[r1] == 9) + return TRUE; + return FALSE; +} + +void sub_8010688(u8 a0, u16 a1, const u8 *a2) +{ + u8 r4 = sub_8011CE4(a2, a1); + Rfu.unk_cd1[r4] = a0; + rfu_clearSlot(4, r4); + rfu_NI_setSendData(1 << r4, 8, Rfu.unk_cd1 + r4, 1); +} + +void sub_80106D4(void) +{ + Rfu.unk_c85 = 8; + rfu_clearSlot(4, Rfu.unk_c3e); + rfu_NI_setSendData(1 << Rfu.unk_c3e, 8, &Rfu.unk_c85, 1); +} + +u32 sub_8010714(u16 a0, const u8 *a1) +{ + u8 r0 = sub_8011CE4(a1, a0); + if (r0 == 0xFF) + return 2; + if (gRfuSlotStatusNI[r0]->send.state == 0) + return 1; + return 0; +} + +void sub_8010750(void) +{ + s32 i; + + sub_8010540(); + for (i = 0; i < 4; i++) + { + if (gRfuSlotStatusNI[i]->send.state == 0x26 || gRfuSlotStatusNI[i]->send.state == 0x27) + { + if (Rfu.unk_cd5[i] == 10) + Rfu.unk_cd5[i] = 11; + rfu_clearSlot(4, i); + } + } +} + +s32 sub_80107A0(void) +{ + s32 retval = 0; + if (Rfu.unk_c85 == 8) + { + if (gRfuSlotStatusNI[Rfu.unk_c3e]->send.state == 0x26 || gRfuSlotStatusNI[Rfu.unk_c3e]->send.state == 0x27) + rfu_clearSlot(4, Rfu.unk_c3e); + } + if (gRfuSlotStatusNI[Rfu.unk_c3e]->recv.state == 0x46 || gRfuSlotStatusNI[Rfu.unk_c3e]->recv.state == 0x48) + { + rfu_clearSlot(8, Rfu.unk_c3e); + sub_8011A64(Rfu.unk_c86, 0); + retval = Rfu.unk_c86; + } + else if (gRfuSlotStatusNI[Rfu.unk_c3e]->recv.state == 0x47) + { + rfu_clearSlot(8, Rfu.unk_c3e); + retval = 6; + } + return retval; +} + +void sub_801084C(u8 taskId) +{ + s32 i; + + if (Rfu.unk_f1 == 1 || Rfu.unk_f1 == 2) + { + Rfu.unk_ce8 = 0; + DestroyTask(taskId); + } + switch (gTasks[taskId].data[0]) + { + case 0: + if (sub_800FC60()) + { + ResetBlockReceivedFlags(); + sub_800B348(); + gTasks[taskId].data[0]++; + } + break; + case 1: + if (Rfu.unk_0c == 1) + { + if (gReceivedRemoteLinkPlayers) + sub_800FD14(0x7800); + else + sub_800FD14(0x7700); + gTasks[taskId].data[0] = 101; + } + else + gTasks[taskId].data[0] = 2; + break; + case 101: + if (gSendCmd[0] == 0) + gTasks[taskId].data[0] = 2; + break; + case 2: + if (Rfu.playerCount) + gTasks[taskId].data[0]++; + break; + case 3: + if (Rfu.unk_0c == 1) + { + if (sub_800FC60()) + { + Rfu.unk_5a = 0; + sub_800FD14(0xa100); + gTasks[taskId].data[0]++; + } + } + else + gTasks[taskId].data[0]++; + break; + case 4: + if (sub_800FC88()) + gTasks[taskId].data[0]++; + break; + case 5: + for (i = 0; i < Rfu.playerCount; i++) + { + sub_800B3A4(i); + sub_800F728(i); + } + gTasks[taskId].data[0]++; + break; + case 6: + DestroyTask(taskId); + gReceivedRemoteLinkPlayers = 1; + Rfu.unk_ce8 = 0; + rfu_LMAN_setLinkRecovery(1, 0x258); + if (Rfu.unk_ce6) + { + for (i = 0; i < 4; i++) + { + if ((Rfu.unk_ce6 >> i) & 1) + { + Rfu.unk_ce5 = 1 << i; + Rfu.unk_ce6 ^= (1 << i); + } + } + } + break; + } +} + +void sub_80109E8(u16 a0) +{ + s32 i; + + for (i = 0; i < 4; i++) + { + if ((a0 >> i) & 1) + Rfu.unk_cde[i] = 0; + } +} + +void sub_8010A14(const struct UnkRfuStruct_8010A14 *a0) +{ + s32 i; + Rfu.playerCount = a0->unk_0f; + for (i = 0; i < 4; i++) + Rfu.unk_cde[i] = a0->unk_10[i]; + for (i = 0; i < MAX_RFU_PLAYERS; i++) + { + gLinkPlayers[i] = a0->unk_14[i]; + sub_800B524(gLinkPlayers + i); + } +} + +void sub_8010A70(void *a0) +{ + if (strcmp(gUnknown_082ED7EC, a0) == 0) + { + sub_8010A14(a0); + CpuFill16(0, a0, sizeof(struct UnkRfuStruct_8010A14)); + ResetBlockReceivedFlag(0); + } +} + +void sub_8010AAC(u8 taskId) +{ + s32 i; + struct LinkPlayerBlock *r2; + struct UnkRfuStruct_8010A14 *r5; + u8 r4 = Rfu.unk_cde[gUnknown_082ED68C[Rfu.unk_ce9]]; + if (Rfu.unk_f1 == 1 || Rfu.unk_f1 == 2) + { + Rfu.unk_ce8 = 0; + DestroyTask(taskId); + } + switch (gTasks[taskId].data[0]) + { + case 0: + if (gSendCmd[0] == 0) + { + ResetBlockReceivedFlag(r4); + sub_800FD14(0x7800); + gTasks[taskId].data[0]++; + } + break; + case 1: + if (gSendCmd[0] == 0) + gTasks[taskId].data[0]++; + break; + case 2: + if ((GetBlockReceivedStatus() >> r4) & 1) + { + ResetBlockReceivedFlag(r4); + r2 = (struct LinkPlayerBlock *)gBlockRecvBuffer[r4]; + gLinkPlayers[r4] = r2->linkPlayer; + sub_800B524(gLinkPlayers + r4); + gTasks[taskId].data[0]++; + } + break; + case 3: + r5 = (struct UnkRfuStruct_8010A14 *)gBlockSendBuffer; + memcpy(r5->unk_00, gUnknown_082ED7EC, sizeof gUnknown_082ED7EC); + r5->unk_0f = Rfu.playerCount; + for (i = 0; i < 4; i++) + r5->unk_10[i] = Rfu.unk_cde[i]; + memcpy(r5->unk_14, gLinkPlayers, sizeof gLinkPlayers); + gTasks[taskId].data[0]++; + // fallthrough + case 4: + r5 = (struct UnkRfuStruct_8010A14 *)gBlockSendBuffer; + r5->unk_0f = Rfu.playerCount; + for (i = 0; i < 4; i++) + r5->unk_10[i] = Rfu.unk_cde[i]; + memcpy(r5->unk_14, gLinkPlayers, sizeof gLinkPlayers); + if (SendBlock(0, gBlockSendBuffer, 0xa0)) + gTasks[taskId].data[0]++; + break; + case 5: + if (IsLinkTaskFinished() && GetBlockReceivedStatus() & 1) + { + CpuFill16(0, gBlockRecvBuffer, sizeof(struct UnkRfuStruct_8010A14)); + ResetBlockReceivedFlag(0); + Rfu.unk_ce8 = 0; + if (Rfu.unk_ce6) + { + for (i = 0; i < 4; i++) + { + if ((Rfu.unk_ce6 >> i) & 1) + { + Rfu.unk_ce5 = 1 << i; + Rfu.unk_ce6 ^= (1 << i); + Rfu.unk_ce8 = 1; + break; + } + } + } + DestroyTask(taskId); + } + break; + } +} + +void sub_8010D0C(u8 taskId) +{ + if (Rfu.unk_f1 == 1 || Rfu.unk_f1 == 2) + DestroyTask(taskId); + switch (gTasks[taskId].data[0]) + { + case 0: + if (Rfu.playerCount) + { + sub_800B348(); + SendBlock(0, gBlockSendBuffer, sizeof(struct LinkPlayerBlock)); + gTasks[taskId].data[0]++; + } + break; + case 1: + if (IsLinkTaskFinished()) + gTasks[taskId].data[0]++; + break; + case 2: + if (GetBlockReceivedStatus() & 1) + { + sub_8010A14((const struct UnkRfuStruct_8010A14 *)gBlockRecvBuffer); + ResetBlockReceivedFlag(0); + gReceivedRemoteLinkPlayers = 1; + DestroyTask(taskId); + } + break; + } +} + +void sub_8010DB4(void) +{ + if (Rfu.unk_ee == 1 && lman.childClockSlave_flag == 0) + { + if (gMain.callback2 == c2_mystery_gift_e_reader_run || lman.init_param->mboot_flag) + gWirelessCommType = 2; + SetMainCallback2(CB2_LinkError); + gMain.savedCallback = CB2_LinkError; + sub_800AF18((Rfu.unk_0a << 16) | (Rfu.unk_10 << 8) | Rfu.unk_12, Rfu.unk_124.unk_8c2, Rfu.unk_9e8.unk_232, sub_8011A74() == 2); + Rfu.unk_ee = 2; + CloseLink(); + } + else if (Rfu.unk_9e8.unk_233 == 1 || Rfu.unk_124.unk_8c3 == 1) + { + if (lman.childClockSlave_flag) + rfu_LMAN_requestChangeAgbClockMaster(); + sub_8011A64(1, 0x7000); + sub_8011170(0x7000); + } +} + +void rfu_REQ_recvData_then_sendData(void) +{ + if (lman.parent_child == 1) + { + rfu_REQ_recvData(); + rfu_waitREQComplete(); + rfu_LMAN_REQ_sendData(0); + } +} + +bool32 sub_8010EC0(void) +{ + bool32 retval = FALSE; + Rfu.unk_ccd = 0; + rfu_LMAN_manager_entity(Random2()); + if (Rfu.unk_ef == 0) + { + switch (Rfu.unk_0c) + { + case 1: + sub_800F0F8(); + break; + case 0: + retval = sub_800F4F0(); + break; + case 2: + rfu_REQ_recvData_then_sendData(); + break; + } + } + return retval; +} + +bool32 sub_8010F1C(void) +{ + bool32 retval = FALSE; + if (Rfu.unk_ef == 0) + { + if (Rfu.unk_0c == 1) + retval = sub_800F1E0(); + sub_8010DB4(); + } + return retval; +} + +void sub_8010F48(void) +{ + StringCopy(gUnknown_02022B22, gSaveBlock2Ptr->playerName); +} + +void sub_8010F60(void) +{ + memset(&gUnknown_02022B14, 0, 0xD); + sub_800DD94(&gUnknown_02022B14, 0, 0, 0); +} + +void sub_8010F84(u8 a0, u32 a1, u32 a2) +{ + sub_800DD94(&gUnknown_02022B14, a0, a2, a1); +} + +void sub_8010FA0(bool32 a0, bool32 a1) +{ + gUnknown_02022B14.unk_00.hasNews = a0; + gUnknown_02022B14.unk_00.hasCard = a1; +} + +void sub_8010FCC(u32 type, u32 species, u32 level) +{ + gUnknown_02022B14.type = type; + gUnknown_02022B14.species = species; + gUnknown_02022B14.level = level; +} + +u8 sub_801100C(s32 a0) +{ + u8 retval = 0x80; + retval |= (gLinkPlayers[a0].gender << 3); + retval |= (gLinkPlayers[a0].trainerId & 7); + return retval; +} + +void sub_801103C(void) +{ + struct GFtgtGname *r5 = &gUnknown_02022B14; + s32 i; + + for (i = 1; i < GetLinkPlayerCount(); i++) + r5->child_sprite_gender[i - 1] = sub_801100C(i); +} + +void sub_8011068(u8 a0) +{ + gUnknown_02022B14.started = a0; + rfu_REQ_configGameData(0, 2, (const u8 *)&gUnknown_02022B14, gUnknown_02022B22); +} + +void sub_8011090(u8 a0, u32 a1, u32 a2) +{ + if (a0) + sub_8010F84(a0, a1, a2); + rfu_REQ_configGameData(0, 2, (const u8 *)&gUnknown_02022B14, gUnknown_02022B22); +} + +void sub_80110B8(u32 a0) +{ + s32 i; + u32 r5; + u32 r7; + s32 r8; + + if (sub_800F7DC()->activity == 0x45) + { + r5 = 0; + r7 = 0; + r8 = Rfu.unk_ce2 ^ Rfu.unk_ce3; + for (i = 0; i < 4; i++) + { + if ((r8 >> i) & 1) + { + r7 |= ((0x80 | ((gLinkPlayers[Rfu.unk_cde[i]].gender & 1) << 3) | (gLinkPlayers[Rfu.unk_cde[i]].trainerId & 7)) << (r5 << 3)); + r5++; + if (r5 == a0 - 1) + break; + } + } + sub_8011090(0x45, r7, 0); + } +} + +void sub_8011170(u32 a0) +{ + if (Rfu.unk_ee == 0) + { + Rfu.unk_10 = lman.param[0]; + Rfu.unk_12 = lman.param[1]; + Rfu.unk_0a = a0; + Rfu.unk_ee = 1; + } +} + +void sub_80111A0(void) +{ + Rfu.unk_ee = 0; +} + +void sub_80111B0(bool32 a0) +{ + if (!a0) + Rfu.unk_ee = 0; + else + Rfu.unk_ee = 4; +} + +void sub_80111DC(void) +{ + sub_8011E94(lman.acceptSlot_flag, 1); + Rfu.linkRfuCallback = NULL; +} + +void sub_80111FC(void) +{ + Rfu.linkRfuCallback = sub_80111DC; +} + +void sub_801120C(u8 a0, u8 unused1) +{ + u8 i; + u8 r6 = 0; + switch (a0) + { + case 0x00: + Rfu.unk_04 = 2; + break; + case 0x10: + break; + case 0x11: + sub_80115EC(lman.param[0]); + for (i = 0; i < 4; i++) + { + if ((lman.param[0] >> i) & 1) + { + struct GFtgtGname *structPtr = (void *)gRfuLinkStatus->partner[i].gname; + if (structPtr->activity == sub_800F7DC()->activity) + { + Rfu.unk_cd1[i] = 0; + Rfu.unk_cd5[i] = 0; + rfu_setRecvBuffer(0x20, i, Rfu.unk_cd5 + i, 1); + } + else + { + r6 |= (1 << i); + } + } + } + if (r6) + { + rfu_REQ_disconnect(r6); + rfu_waitREQComplete(); + } + break; + case 0x12: + break; + case 0x13: + break; + case 0x14: + if (Rfu.unk_ce7 != lman.acceptSlot_flag) + { + rfu_REQ_disconnect(Rfu.unk_ce7 ^ lman.acceptSlot_flag); + rfu_waitREQComplete(); + } + Rfu.unk_04 = 0x11; + break; + case 0x31: + Rfu.unk_f0 = 1; + break; + case 0x32: + Rfu.unk_f0 = 3; + break; + case 0x30: + case 0x33: + Rfu.unk_f0 = 4; + Rfu.unk_ce2 &= ~lman.param[0]; + if (gReceivedRemoteLinkPlayers == 1) + { + if (Rfu.unk_ce2 == 0) + sub_8011170(a0); + else + sub_80111FC(); + } + sub_8011A64(2, a0); + break; + case 0x34: + break; + case 0x42 ... 0x44: + break; + case 0xf3: + sub_8011A64(1, a0); + sub_8011170(a0); + Rfu.unk_ef = 1; + break; + case 0xf0 ... 0xf2: + case 0xff: + sub_8011170(a0); + sub_8011A64(1, a0); + Rfu.unk_cdb = 1; + break; + } +} + +void sub_8011404(u8 a0, u8 unused1) +{ + switch (a0) + { + case 0x00: + Rfu.unk_04 = 6; + break; + case 0x20: + Rfu.unk_ccd = lman.param[0]; + break; + case 0x21: + break; + case 0x22: + Rfu.unk_c3e = lman.param[0]; + break; + case 0x23: + sub_8011A64(2, a0); + break; + case 0x24: + Rfu.unk_04 = 11; + Rfu.unk_c85 = 0; + Rfu.unk_c86 = 0; + rfu_setRecvBuffer(0x20, Rfu.unk_c3e, &Rfu.unk_c86, 1); + rfu_setRecvBuffer(0x10, Rfu.unk_c3e, Rfu.unk_c3f, 70); + break; + case 0x25: + sub_8011A64(2, 0x25); + break; + case 0x30: + Rfu.unk_f0 = 2; + if (Rfu.unk_c86 == 6) + break; + case 0x33: + if (Rfu.unk_f0 != 2) + Rfu.unk_f0 = 4; + if (Rfu.unk_c86 != 9) + sub_8011A64(2, a0); + nullsub_5(gUnknown_082ED7FC, 5, 5); + if (gReceivedRemoteLinkPlayers == 1) + sub_8011170(a0); + break; + case 0x31: + Rfu.unk_f0 = 1; + nullsub_5(gUnknown_082ED814, 5, 5); + break; + case 0x32: + Rfu.unk_f0 = 3; + Rfu.unk_c3c = 1; + break; + case 0x34: + break; + case 0x42 ... 0x44: + break; + case 0xF3: + sub_8011A64(1, a0); + sub_8011170(a0); + Rfu.unk_ef = 1; + break; + case 0xF0 ... 0xF2: + case 0xFF: + sub_8011A64(1, a0); + sub_8011170(a0); + Rfu.unk_cdb = 1; + break; + } +} + +void sub_80115EC(s32 a0) +{ + s32 i; + + for (i = 0; i < 4; i++) + { + if ((a0 >> i) & 1) + { + Rfu.unk_cea[i] = 0; + Rfu.unk_cee[i] = 0xFF; + } + } +} + +u8 sub_8011628(s32 a0) +{ + u8 ret = 0; + u8 i; + + for (i = 0; i < 4; i++) + { + if ((a0 >> i) & 1) + { + struct GFtgtGname *structPtr = (void *)gRfuLinkStatus->partner[i].gname; + if (structPtr->activity == 0x45) + ret |= (1 << i); + } + } + + return ret; +} + +void sub_8011674(u8 a0, u8 unused1) +{ + u8 r1; + + switch (a0) + { + case 0x00: + Rfu.unk_04 = 0x11; + break; + case 0x10: + sub_8011A64(4, 0); + break; + case 0x11: + if (sub_800F7DC()->activity == 0x45 && Rfu.unk_cd9 == 0) + { + u8 idx = sub_8011628(lman.param[0]); + if (idx != 0) + { + r1 = 1 << sub_800E87C(idx); + if (Rfu.unk_ce6 == 0 && Rfu.unk_ce8 == 0) + { + Rfu.unk_ce5 = r1; + Rfu.unk_ce6 |= (r1 ^ idx); + Rfu.unk_ce8 = 1; + } + else + { + Rfu.unk_ce6 |= idx; + } + } + if (idx != lman.param[0]) + { + Rfu.unk_ce3 |= (idx ^ lman.param[0]); + Rfu.unk_ce4 = 2; + } + } + else if (sub_800F7DC()->activity == 0x54) + { + rfu_REQ_disconnect(lman.acceptSlot_flag); + rfu_waitREQComplete(); + } + sub_80115EC(lman.param[0]); + break; + case 0x12: + break; + case 0x13: + break; + case 0x14: + if (sub_800F7DC()->activity != 0x45 && lman.acceptCount > 1) + { + r1 = 1 << sub_800E87C(lman.param[0]); + rfu_REQ_disconnect(lman.acceptSlot_flag ^ r1); + rfu_waitREQComplete(); + } + if (Rfu.unk_04 == 0xF) + Rfu.unk_04 = 0x10; + break; + break; + case 0x20: + Rfu.unk_ccd = lman.param[0]; + break; + case 0x21: + break; + case 0x22: + Rfu.unk_c3e = lman.param[0]; + break; + case 0x23: + Rfu.unk_04 = 0x12; + if (Rfu.unk_ccf < 2) + { + Rfu.unk_ccf++; + CreateTask(sub_801209C, 2); + } + else + { + sub_8011A64(2, a0); + } + break; + case 0x24: + Rfu.unk_04 = 0xD; + sub_8011A64(3, 0); + rfu_setRecvBuffer(0x10, Rfu.unk_c3e, Rfu.unk_c3f, 70); + break; + case 0x25: + sub_8011A64(2, a0); + break; + case 0x31: + if (lman.acceptSlot_flag & lman.param[0]) + Rfu.unk_f0 = 1; + break; + case 0x32: + Rfu.unk_f0 = 3; + if (gRfuLinkStatus->parentChild == 0) + Rfu.unk_c3c = 1; + break; + case 0x30: + Rfu.unk_f0 = 2; + case 0x33: + if (Rfu.unk_f0 != 2) + Rfu.unk_f0 = 4; + if (Rfu.unk_0c == 1) + { + if (gReceivedRemoteLinkPlayers == 1) + { + Rfu.unk_ce2 &= ~(lman.param[0]); + if (Rfu.unk_ce2 == 0) + sub_8011170(a0); + else + sub_80111FC(); + } + } + else if (Rfu.unk_ce4 != 2 && gReceivedRemoteLinkPlayers == 1) + { + sub_8011170(a0); + rfu_LMAN_stopManager(0); + } + + if (gRfuLinkStatus->parentChild == 0xFF && lman.pcswitch_flag == 0 && FuncIsActiveTask(sub_800EB44) == TRUE) + Rfu.unk_04 = 0x11; + + sub_8011A64(2, a0); + break; + case 0x40: + Rfu.unk_ce3 = 0; + break; + case 0x42 ... 0x44: + break; + case 0xF3: + sub_8011A64(1, a0); + sub_8011170(a0); + Rfu.unk_ef = 1; + break; + case 0xF0 ... 0xF2: + case 0xFF: + sub_8011170(a0); + sub_8011A64(1, a0); + Rfu.unk_cdb = 0; + break; + } +} + +void sub_8011A50(void) +{ + Rfu.unk_ce4 = 2; +} + +void sub_8011A64(u8 a0, u16 a1) +{ + Rfu.unk_f1 = a0; + Rfu.unk_0a = a1; +} + +u8 sub_8011A74(void) +{ + return Rfu.unk_f1; +} + +bool32 sub_8011A80(void) +{ + u32 var = sub_8011A74() - 1; + if (var < 2) + return TRUE; + else + return FALSE; +} + +bool32 sub_8011A9C(void) +{ + return Rfu.unk_ce8; +} + +bool8 Rfu_IsMaster(void) +{ + return Rfu.unk_0c; +} + +void RfuVSync(void) +{ + rfu_LMAN_syncVBlank(); +} + +void sub_8011AC8(void) +{ + CpuFill32(0, gRecvCmds, sizeof(gRecvCmds)); +} + +void sub_8011AE8(void) +{ + LoadOam(); + ProcessSpriteCopyRequests(); + TransferPlttBuffer(); +} + +void sub_8011AFC(void) +{ + s32 i; + + ResetSpriteData(); + FreeAllSpritePalettes(); + ResetTasks(); + ResetPaletteFade(); + SetVBlankCallback(sub_8011AE8); + if (IsWirelessAdapterConnected()) + { + gLinkType = LINKTYPE_0x1111; + sub_800B488(); + OpenLink(); + SeedRng(gMain.vblankCounter2); + for (i = 0; i < 4; i++) + gSaveBlock2Ptr->playerTrainerId[i] = Random() % 256; + + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_ON | DISPCNT_BG0_ON | DISPCNT_BG2_ON | DISPCNT_OBJ_1D_MAP); + RunTasks(); + AnimateSprites(); + BuildOamBuffer(); + UpdatePaletteFade(); + sub_8011BA4(); + SetMainCallback2(sub_8011BF8); + } +} + +bool32 sub_8011B90(void) +{ + return FuncIsActiveTask(sub_800EB44); +} + +void sub_8011BA4(void) +{ + if (!FuncIsActiveTask(nullsub_89)) + Rfu.unk_66 = CreateTask(nullsub_89, 0); +} + +void sub_8011BD0(void) +{ + if (FuncIsActiveTask(nullsub_89) == TRUE) + DestroyTask(Rfu.unk_66); +} + +void sub_8011BF8(void) +{ + RunTasks(); + AnimateSprites(); + BuildOamBuffer(); + UpdatePaletteFade(); +} + +void sub_8011C10(u32 a0) +{ + Rfu.unk_0c = 1; + sub_8010F48(); + rfu_LMAN_initializeManager(sub_801120C, NULL); + gUnknown_02022B2C = gUnknown_082ED608; + gUnknown_02022B2C.availSlot_flag = gUnknown_082ED620[a0 - 1]; + sub_800EE78(); +} + +void sub_8011C5C(void) +{ + Rfu.unk_0c = 0; + sub_8010F48(); + rfu_LMAN_initializeManager(sub_8011404, sub_800ED34); + sub_800EF00(); +} + +void sub_8011C84(void) +{ + Rfu.unk_0c = 2; + sub_8010F48(); + rfu_LMAN_initializeManager(sub_8011674, NULL); + gUnknown_02022B2C = gUnknown_082ED608; + gUnknown_02022B2C.linkRecovery_enable = 0; + gUnknown_02022B2C.linkRecovery_period = 0x258; + Rfu.unk_67 = CreateTask(sub_800EB44, 1); +} + +u16 ReadU16(const void *ptr) +{ + const u8 *ptr_ = ptr; + return (ptr_[1] << 8) | (ptr_[0]); +} + +u8 sub_8011CE4(const u8 *a0, u16 a1) +{ + u8 i; + u8 ret = 0xFF; + + for (i = 0; i < 4; i++) + { + u16 trainerId = ReadU16(gRfuLinkStatus->partner[i].gname + 2); + if (sub_8010454(gRfuLinkStatus->partner[i].serialNo) + && !StringCompare(a0, gRfuLinkStatus->partner[i].uname) + && a1 == trainerId) + { + ret = i; + if (gRfuLinkStatus->partner[i].slot != 0xFF) + break; + } + } + + return ret; +} + +void sub_8011D6C(u32 a0) +{ + rfu_REQ_disconnect(a0); + rfu_waitREQComplete(); + Rfu.unk_ce2 &= ~(a0); + rfu_clearSlot(1, Rfu.unk_cda); + rfu_UNI_setSendData(Rfu.unk_ce2, Rfu.unk_c87, 70); + Rfu.unk_cda = sub_800E87C(Rfu.unk_ce2); +} + +void sub_8011DC0(const u8 *ptr, u16 a1) +{ + u8 var = sub_8011CE4(ptr, a1); + if (var != 0xFF) + sub_8011D6C(1 << var); +} + +void sub_8011DE0(u32 a0) +{ + if (a0 != 0) + { + s32 i; + u8 var = 0; + + for (i = 0; i < 4; i++) + { + if (Rfu.unk_cde[i] == a0 && (Rfu.unk_ce2 >> i) & 1) + var |= 1 << i; + } + if (var) + sub_8011E94(var, 2); + } +} + +void sub_8011E2C(u8 taskId) +{ + if (gSendCmd[0] == 0 && Rfu.unk_ce8 == 0) + { + sub_800FD14(0xED00); + gSendCmd[1] = gTasks[taskId].data[0]; + gSendCmd[2] = gTasks[taskId].data[1]; + Rfu.playerCount -= gUnknown_082ED695[gTasks[taskId].data[0]]; + gSendCmd[3] = Rfu.playerCount; + DestroyTask(taskId); + } +} + +void sub_8011E94(u32 a0, u32 a1) +{ + u8 taskId = FindTaskIdByFunc(sub_8011E2C); + if (taskId == 0xFF) + { + taskId = CreateTask(sub_8011E2C, 5); + gTasks[taskId].data[0] = a0; + } + else + { + gTasks[taskId].data[0] |= a0; + } + + gTasks[taskId].data[1] = a1; +} + +void sub_8011EF4(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + + if (sub_800EE94()) + { + u8 id = sub_8011CE4((u8*)data, ReadU16(&data[8])); + if (id != 0xFF) + { + if (gRfuLinkStatus->partner[id].slot != 0xFF) + { + Rfu.unk_c3d = id; + if (sub_800EEBC()) + DestroyTask(taskId); + } + else if (sub_800F7DC()->activity == 0x15 || sub_800F7DC()->activity == 0x16) + { + data[15]++; + } + else + { + sub_8011A64(2, 0x7000); + DestroyTask(taskId); + } + } + else + { + data[15]++; + Rfu.unk_c3d = id; + } + } + else + { + data[15]++; + } + + if (data[15] > 240) + { + sub_8011A64(2, 0x7000); + DestroyTask(taskId); + } +} + +void sub_8011FC8(const u8 *src, u16 trainerId) +{ + u8 taskId; + s16 *data; + + Rfu.unk_f1 = 0; + taskId = CreateTask(sub_8011EF4, 3); + data = gTasks[taskId].data; + StringCopy((u8*)(data), src); + data[8] = trainerId; +} + +bool32 sub_801200C(s16 a1, struct GFtgtGname *structPtr) +{ + if (sub_800F7DC()->activity == 0x45) + { + if (structPtr->activity != 0x45) + return TRUE; + } + else if (structPtr->activity != 0x40) + { + return TRUE; + } + else if (a1 == 0x44) + { + struct GFtgtGname *structPtr2 = &Rfu.unk_10A; + if (structPtr2->species == SPECIES_EGG) + { + if (structPtr->species == structPtr2->species) + return FALSE; + else + return TRUE; + } + else if (structPtr->species != structPtr2->species + || structPtr->level != structPtr2->level + || structPtr->type != structPtr2->type) + { + return TRUE; + } + } + + return FALSE; +} + +void sub_801209C(u8 taskId) +{ + if (Rfu.unk_f1 == 4) + DestroyTask(taskId); + + if (++gTasks[taskId].data[0] > 300) + { + sub_8011A64(2, 0x7000); + DestroyTask(taskId); + } + + if (Rfu.unk_ccd != 0 && lman.parent_child == 0) + { + u16 trainerId = ReadU16(Rfu.unk_10A.unk_00.playerTrainerId); + u8 id = sub_8011CE4(Rfu.playerName, trainerId); + if (id != 0xFF) + { + if (!sub_801200C(gTasks[taskId].data[1], (void *)gRfuLinkStatus->partner[id].gname)) + { + if (gRfuLinkStatus->partner[id].slot != 0xFF && !rfu_LMAN_CHILD_connectParent(gRfuLinkStatus->partner[id].id, 0x5A)) + { + Rfu.unk_04 = 0xA; + DestroyTask(taskId); + } + } + else + { + sub_8011A64(2, 0x7000); + DestroyTask(taskId); + } + } + } +} + +void sub_8012188(const u8 *name, struct GFtgtGname *structPtr, u8 a2) +{ + u8 taskId, taskId2; + + Rfu.unk_ccf = 0; + Rfu.unk_f1 = 0; + StringCopy(Rfu.playerName, name); + memcpy(&Rfu.unk_10A, structPtr, 0xD); + rfu_LMAN_forceChangeSP(); + taskId = CreateTask(sub_801209C, 2); + gTasks[taskId].data[1] = a2; + taskId2 = FindTaskIdByFunc(sub_800EB44); + if (a2 == 0x45) + { + if (taskId2 != 0xFF) + gTasks[taskId2].data[7] = 1; + } + else + { + if (taskId2 != 0xFF) + gTasks[taskId2].data[7] = 0; + } +} + +bool8 sub_8012224(void) +{ + if (Rfu.unk_f0 == 1) + return TRUE; + else + return FALSE; +} + +bool32 sub_8012240(void) +{ + s32 i; + + for (i = 0; i < 4; i++) + { + if ((lman.acceptSlot_flag >> i) & 1 && Rfu.unk_cd1[i] == 0) + return FALSE; + } + + return TRUE; +} + +void sub_801227C(void) +{ + s32 i; + + for (i = 0; i < 20; i++) + nullsub_5(gUnknown_082ED82C, 0, i); +} + +void sub_801229C(void) +{ + s32 i, j; + + nullsub_13(GetBlockReceivedStatus(), 0x1C, 0x13, 2); + nullsub_13(gRfuLinkStatus->connSlotFlag, 0x14, 1, 1); + nullsub_13(gRfuLinkStatus->linkLossSlotFlag, 0x17, 1, 1); + if (Rfu.unk_0c == 1) + { + for (i = 0; i < 4; i++) + { + if ((gRfuLinkStatus->getNameFlag >> i) & 1) + { + nullsub_13(gRfuLinkStatus->partner[i].serialNo, 1, i + 3, 4); + nullsub_5((void*)gRfuLinkStatus->partner[i].gname, 6, i + 3); + nullsub_5(gRfuLinkStatus->partner[i].uname, 0x16, i + 3); + } + } + for (i = 0; i < 4; i++) + { + for (j = 0; j < 14; j++) + { + nullsub_13(Rfu.unk_14[i][j], j * 2, i + 11, 2); + } + } + nullsub_5(gUnknown_082ED868, 1, 0xF); + } + else if (gRfuLinkStatus->connSlotFlag != 0 && gRfuLinkStatus->getNameFlag != 0) + { + for (i = 0; i < 4; i++) + { + nullsub_13(0, 1, i + 3, 4); + nullsub_5(gUnknown_082ED84B, 6, i + 3); + nullsub_5(gUnknown_082ED85B, 0x16, i + 3); + } + nullsub_13(gRfuLinkStatus->partner[Rfu.unk_c3e].serialNo, 1, 3, 4); + nullsub_5((void*)gRfuLinkStatus->partner[Rfu.unk_c3e].gname, 6, 3); + nullsub_5(gRfuLinkStatus->partner[Rfu.unk_c3e].uname, 0x16, 3); + } + else + { + for (i = 0; i < gRfuLinkStatus->findParentCount; i++) + { + if (gRfuLinkStatus->partner[i].slot != 0xFF) + { + nullsub_13(gRfuLinkStatus->partner[i].serialNo, 1, i + 3, 4); + nullsub_13(gRfuLinkStatus->partner[i].id, 6, i + 3, 4); + nullsub_5(gRfuLinkStatus->partner[i].uname, 0x16, i + 3); + } + } + for (; i < 4; i++) + { + nullsub_13(0, 1, i + 3, 4); + nullsub_5(gUnknown_082ED84B, 6, i + 3); + nullsub_5(gUnknown_082ED85B, 0x16, i + 3); + } + } +} + +u32 sub_80124C0(void) +{ + return Rfu.unk_9e8.unk_232; +} + +u32 GetRfuRecvQueueLength(void) +{ + return Rfu.unk_124.unk_8c2; +} + +void nullsub_89(u8 taskId) +{ + +} diff --git a/src/link_rfu_3.c b/src/link_rfu_3.c new file mode 100644 index 000000000..535deeca6 --- /dev/null +++ b/src/link_rfu_3.c @@ -0,0 +1,938 @@ +#include "global.h" +#include "malloc.h" +#include "decompress.h" +#include "link_rfu.h" +#include "string_util.h" +#include "random.h" +#include "text.h" +#include "event_data.h" + +EWRAM_DATA u8 gWirelessStatusIndicatorSpriteId = 0; + +static u8 gUnknown_03000D74; + +const u16 gWirelessLinkIconPalette[] = INCBIN_U16("graphics/interface/wireless_link_icon.gbapal"); +const u32 gWirelessLinkIconPic[] = INCBIN_U32("graphics/interface/wireless_link_icon.4bpp.lz"); + +const u8 sWireless_ASCIItoRSETable[] = { + 0xff, 0x95, 0x96, 0x97, 0x98, 0x99, 0x9a, 0x37, + 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, + 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, + 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, + 0x00, 0xab, 0xb5, 0xb6, 0xb1, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xb2, 0xf1, 0x00, 0xae, 0xad, 0xba, + 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, + 0xa9, 0xaa, 0x00, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f, + 0x00, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf, 0xc0, 0xc1, + 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, + 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xd0, 0xd1, + 0xd2, 0xd3, 0xd4, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, + 0x00, 0xd5, 0xd6, 0xd7, 0xd8, 0xd9, 0xda, 0xdb, + 0xdc, 0xdd, 0xde, 0xdf, 0xe0, 0xe1, 0xe2, 0xe3, + 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9, 0xea, 0xeb, + 0xec, 0xed, 0xee, 0x2d, 0x2f, 0x30, 0x31, 0x32, + 0x33, 0x34, 0x35, 0x36, 0x50, 0x00, 0x01, 0x02, + 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, + 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, + 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, + 0x1b, 0xad, 0xb3, 0xb4, 0x00, 0xaf, 0x7d, 0x7f, + 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0xa0, + 0xae, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, + 0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, + 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, + 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, + 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, + 0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7e, 0xb0, 0xac, + 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, + 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, + 0x2c, 0x2e, 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c, + 0x8d, 0x8e, 0x8f, 0x90, 0x91, 0x92, 0x93, 0x94 +}; + +const u8 sWireless_RSEtoASCIITable[] = { + 0x20, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c, + 0x8d, 0x8e, 0x8f, 0x90, 0x91, 0x92, 0x93, 0x94, + 0x95, 0x96, 0x97, 0x98, 0x99, 0x9a, 0x9b, 0x9c, + 0x9d, 0x9e, 0x9f, 0xa0, 0xe0, 0xe1, 0xe2, 0xe3, + 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9, 0xea, 0xeb, + 0xec, 0xed, 0xee, 0xef, 0xf0, 0x7b, 0xf1, 0x7c, + 0x7d, 0x7e, 0x7f, 0x80, 0x81, 0x82, 0x83, 0x07, + 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, + 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, + 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, + 0x84, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7, + 0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf, + 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, + 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, + 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, + 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xa6, 0xdd, 0xa7, + 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xf2, + 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa, + 0xfb, 0xfc, 0xfd, 0xfe, 0xff, 0x01, 0x02, 0x03, + 0x04, 0x05, 0x06, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, + 0xaf, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, + 0x37, 0x38, 0x39, 0x21, 0xdf, 0xa1, 0xb0, 0xa5, + 0xde, 0x24, 0x2a, 0xa2, 0xa3, 0x22, 0x23, 0x20, + 0xa4, 0x20, 0x2f, 0x41, 0x42, 0x43, 0x44, 0x45, + 0x46, 0x47, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, + 0x4e, 0x4f, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, + 0x56, 0x57, 0x58, 0x59, 0x5a, 0x61, 0x62, 0x63, + 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6a, 0x6b, + 0x6c, 0x6d, 0x6e, 0x6f, 0x70, 0x71, 0x72, 0x73, + 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7a, 0x20, + 0x20, 0x2b, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00 +}; + +const struct OamData sWirelessStatusIndicatorOamData = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(16x16), + .x = 0, + .size = SPRITE_SIZE(16x16), + .tileNum = 0, + .priority = 0, + .paletteNum = 0, +}; + +const union AnimCmd sWirelessStatusIndicatorAnim0[] = { + // 3 bars + ANIMCMD_FRAME( 4, 5), + ANIMCMD_FRAME( 8, 5), + ANIMCMD_FRAME(12, 5), + ANIMCMD_FRAME(16, 10), + ANIMCMD_FRAME(12, 5), + ANIMCMD_FRAME( 8, 5), + ANIMCMD_JUMP(0) +}; + +const union AnimCmd sWirelessStatusIndicatorAnim1[] = { + // 2 bars + ANIMCMD_FRAME( 4, 5), + ANIMCMD_FRAME( 8, 5), + ANIMCMD_FRAME(12, 10), + ANIMCMD_FRAME( 8, 5), + ANIMCMD_JUMP(0) +}; + +const union AnimCmd sWirelessStatusIndicatorAnim2[] = { + // 1 bar + ANIMCMD_FRAME(4, 5), + ANIMCMD_FRAME(8, 5), + ANIMCMD_JUMP(0) +}; + +const union AnimCmd sWirelessStatusIndicatorAnim3[] = { + // searching + ANIMCMD_FRAME( 4, 10), + ANIMCMD_FRAME(20, 10), + ANIMCMD_JUMP(0) +}; + +const union AnimCmd sWirelessStatusIndicatorAnim4[] = { + // error + ANIMCMD_FRAME(24, 10), + ANIMCMD_FRAME( 4, 10), + ANIMCMD_JUMP(0) +}; + +const union AnimCmd *const sWirelessStatusIndicatorAnims[] = { + sWirelessStatusIndicatorAnim0, + sWirelessStatusIndicatorAnim1, + sWirelessStatusIndicatorAnim2, + sWirelessStatusIndicatorAnim3, + sWirelessStatusIndicatorAnim4 +}; + +const struct CompressedSpriteSheet sWirelessStatusIndicatorSpriteSheet = { + gWirelessLinkIconPic, 0x0380, 0xD431 +}; + +const struct SpritePalette sWirelessStatusIndicatorSpritePalette = { + gWirelessLinkIconPalette, 0xD432 +}; + +const struct SpriteTemplate sWirelessStatusIndicatorSpriteTemplate = { + 0xD431, + 0xD432, + &sWirelessStatusIndicatorOamData, + sWirelessStatusIndicatorAnims, + NULL, + gDummySpriteAffineAnimTable, + SpriteCallbackDummy +}; + +void sub_800D6C8(struct UnkRfuStruct_2_Sub_124 *ptr) +{ + s32 i; + s32 j; + + for (i = 0; i < 32; i++) + { + for (j = 0; j < 70; j++) + { + ptr->unk_00[i][j] = 0; + } + } + ptr->unk_8c1 = 0; + ptr->unk_8c0 = 0; + ptr->unk_8c2 = 0; + ptr->unk_8c3 = 0; +} + +void sub_800D724(struct UnkRfuStruct_2_Sub_9e8 *ptr) +{ + s32 i; + s32 j; + + for (i = 0; i < 40; i++) + { + for (j = 0; j < 14; j++) + { + ptr->unk_00[i][j] = 0; + } + } + ptr->unk_231 = 0; + ptr->unk_230 = 0; + ptr->unk_232 = 0; + ptr->unk_233 = 0; +} + +void sub_800D780(struct UnkRfuStruct_Sub_Unused *ptr) +{ + s32 i; + s32 j; + + for (i = 0; i < 2; i++) + { + for (j = 0; j < 256; j++) + { + ptr->unk_00[i][j] = 0; + } + } + ptr->unk_201 = 0; + ptr->unk_200 = 0; + ptr->unk_202 = 0; + ptr->unk_203 = 0; +} + +void sub_800D7D8(struct UnkRfuStruct_2_Sub_124 *q1, u8 *q2) +{ + s32 i; + u16 imeBak; + u8 count; + + if (q1->unk_8c2 < 32) + { + imeBak = REG_IME; + REG_IME = 0; + count = 0; + for (i = 0; i < 70; i += 14) + { + if (q2[i] == 0 && q2[i + 1] == 0) + { + count++; + } + } + if (count != 5) + { + for (i = 0; i < 70; i++) + { + q1->unk_00[q1->unk_8c0][i] = q2[i]; + } + q1->unk_8c0++; + q1->unk_8c0 %= 32; + q1->unk_8c2++; + for (i = 0; i < 70; i++) + { + q2[i] = 0; + } + } + REG_IME = imeBak; + } + else + { + q1->unk_8c3 = 1; + } +} + +void sub_800D888(struct UnkRfuStruct_2_Sub_9e8 *q1, u8 *q2) +{ + s32 i; + u16 imeBak; + + if (q1->unk_232 < 40) + { + imeBak = REG_IME; + REG_IME = 0; + for (i = 0; i < 14; i++) + { + if (q2[i] != 0) + { + break; + } + } + if (i != 14) + { + for (i = 0; i < 14; i++) + { + q1->unk_00[q1->unk_230][i] = q2[i]; + } + q1->unk_230++; + q1->unk_230 %= 40; + q1->unk_232++; + for (i = 0; i < 14; i++) + { + q2[i] = 0; + } + } + REG_IME = imeBak; + } + else + { + q1->unk_233 = 1; + } +} + +bool8 sub_800D934(struct UnkRfuStruct_2_Sub_124 *q1, u8 *q2) +{ + u16 imeBak; + s32 i; + + imeBak = REG_IME; + REG_IME = 0; + if (q1->unk_8c0 == q1->unk_8c1 || q1->unk_8c3 != 0) + { + for (i = 0; i < 70; i++) + { + q2[i] = 0; + } + REG_IME = imeBak; + return FALSE; + } + for (i = 0; i < 70; i++) + { + q2[i] = q1->unk_00[q1->unk_8c1][i]; + } + q1->unk_8c1++; + q1->unk_8c1 %= 32; + q1->unk_8c2--; + REG_IME = imeBak; + return TRUE; +} + +bool8 sub_800D9DC(struct UnkRfuStruct_2_Sub_9e8 *q1, u8 *q2) +{ + s32 i; + u16 imeBak; + + if (q1->unk_230 == q1->unk_231 || q1->unk_233 != 0) + { + return FALSE; + } + imeBak = REG_IME; + REG_IME = 0; + for (i = 0; i < 14; i++) + { + q2[i] = q1->unk_00[q1->unk_231][i]; + } + q1->unk_231++; + q1->unk_231 %= 40; + q1->unk_232--; + REG_IME = imeBak; + return TRUE; +} + +void sub_800DA68(struct UnkRfuStruct_2_Sub_c1c *q1, const u8 *q2) +{ + s32 i; + + if (q2[1] == 0) + { + sub_800DAC8(q1, NULL); + } + else + { + for (i = 0; i < 14; i++) + { + q1->unk_00[q1->unk_1c][i] = q2[i]; + } + q1->unk_1c++; + q1->unk_1c %= 2; + if (q1->unk_1e < 2) + { + q1->unk_1e++; + } + else + { + q1->unk_1d = q1->unk_1c; + } + } +} + +bool8 sub_800DAC8(struct UnkRfuStruct_2_Sub_c1c *q1, u8 *q2) +{ + s32 i; + + if (q1->unk_1e == 0) + { + return FALSE; + } + if (q2 != NULL) + { + for (i = 0; i < 14; i++) + { + q2[i] = q1->unk_00[q1->unk_1d][i]; + } + } + q1->unk_1d++; + q1->unk_1d %= 2; + q1->unk_1e--; + return TRUE; +} + +void sub_800DB18(struct UnkRfuStruct_Sub_Unused *q1, u8 *q2) +{ + s32 i; + + if (q1->unk_202 < 2) + { + for (i = 0; i < 256; i++) + { + q1->unk_00[q1->unk_200][i] = q2[i]; + } + q1->unk_200++; + q1->unk_200 %= 2; + q1->unk_202++; + } + else + { + q1->unk_203 = 1; + } +} + +bool8 sub_800DB84(struct UnkRfuStruct_Sub_Unused *q1, u8 *q2) +{ + s32 i; + + if (q1->unk_200 == q1->unk_201 || q1->unk_203) + { + return FALSE; + } + for (i = 0; i < 256; i++) + { + q2[i] = q1->unk_00[q1->unk_201][i]; + } + q1->unk_201++; + q1->unk_201 %= 2; + q1->unk_202--; + return TRUE; +} + +void sub_800DBF8(u8 *q1, u8 mode) +{ + s32 i; + u8 rval; + u16 r5 = 0; + switch (mode) + { + case 0: + for (i = 0; i < 200; i++) + { + q1[i] = i + 1; + r5 += i + 1; + } + *((u16 *)(q1 + i)) = r5; + break; + case 1: + for (i = 0; i < 100; i++) + { + q1[i] = i + 1; + r5 += i + 1; + } + *((u16 *)(q1 + 200)) = r5; + break; + case 2: + for (i = 0; i < 200; i++) + { + rval = Random(); + q1[i] = rval; + r5 += rval; + } + *((u16 *)(q1 + i)) = r5; + break; + case 3: + for (i = 0; i < 200; i++) + { + q1[i] = i + 1 + gUnknown_03000D74; + r5 += (i + 1 + gUnknown_03000D74) & 0xFF; + } + *((u16 *)(q1 + i)) = r5; + gUnknown_03000D74++; + break; + } +} + +// File boundary here maybe? + +void PkmnStrToASCII(u8 *q1, const u8 *q2) +{ + s32 i; + + for (i = 0; q2[i] != EOS; i++) + { + q1[i] = sWireless_RSEtoASCIITable[q2[i]]; + } + q1[i] = 0; +} + +void ASCIIToPkmnStr(u8 *q1, const u8 *q2) +{ + s32 i; + + for (i = 0; q2[i] != 0; i++) + { + q1[i] = sWireless_ASCIItoRSETable[q2[i]]; + } + q1[i] = EOS; +} + +#ifdef NONMATCHING +u8 sub_800DD1C(u8 maxFlags) +{ + u8 flagCount = 0; + u32 flags = gRfuLinkStatus->connSlotFlag; + u8 i; + + if (gRfuLinkStatus->parentChild == 1) + { + for (i = 0; i < 4; flags >>= 1, i++) + { + if (flags & 1) + { + if (maxFlags == flagCount + 1) + return gRfuLinkStatus->strength[i]; + flagCount++; + } + } + } + else + { + for (i = 0; i < 4; flags >>= 1, i++) + { + if (flags & 1) + return gRfuLinkStatus->strength[i]; + } + } + return 0; +} +#else +NAKED u8 sub_800DD1C(u8 maxFlags) +{ + asm_unified("\tpush {r4-r7,lr}\n" + "\tlsls r0, 24\n" + "\tlsrs r5, r0, 24\n" + "\tmovs r6, 0\n" + "\tldr r0, =gRfuLinkStatus\n" + "\tldr r4, [r0]\n" + "\tldrb r2, [r4, 0x2]\n" + "\tldrb r1, [r4]\n" + "\tadds r7, r0, 0\n" + "\tcmp r1, 0x1\n" + "\tbne _0800DD72\n" + "\tmovs r3, 0\n" + "\tands r1, r2\n" + "\tcmp r1, 0\n" + "\tbeq _0800DD4E\n" + "\tcmp r5, 0x1\n" + "\tbne _0800DD48\n" + "\tldrb r0, [r4, 0xA]\n" + "\tb _0800DD8C\n" + "\t.pool\n" + "_0800DD48:\n" + "\tadds r0, r6, 0x1\n" + "\tlsls r0, 24\n" + "\tlsrs r6, r0, 24\n" + "_0800DD4E:\n" + "\tlsrs r2, 1\n" + "\tadds r0, r3, 0x1\n" + "\tlsls r0, 24\n" + "\tlsrs r3, r0, 24\n" + "\tcmp r3, 0x3\n" + "\tbhi _0800DD8A\n" + "\tmovs r0, 0x1\n" + "\tands r0, r2\n" + "\tcmp r0, 0\n" + "\tbeq _0800DD4E\n" + "\tadds r0, r6, 0x1\n" + "\tcmp r5, r0\n" + "\tbne _0800DD48\n" + "_0800DD68:\n" + "\tldr r0, [r7]\n" + "\tadds r0, 0xA\n" + "\tadds r0, r3\n" + "\tldrb r0, [r0]\n" + "\tb _0800DD8C\n" + "_0800DD72:\n" + "\tmovs r3, 0\n" + "\tmovs r1, 0x1\n" + "_0800DD76:\n" + "\tadds r0, r2, 0\n" + "\tands r0, r1\n" + "\tcmp r0, 0\n" + "\tbne _0800DD68\n" + "\tlsrs r2, 1\n" + "\tadds r0, r3, 0x1\n" + "\tlsls r0, 24\n" + "\tlsrs r3, r0, 24\n" + "\tcmp r3, 0x3\n" + "\tbls _0800DD76\n" + "_0800DD8A:\n" + "\tmovs r0, 0\n" + "_0800DD8C:\n" + "\tpop {r4-r7}\n" + "\tpop {r1}\n" + "\tbx r1"); +} +#endif + +void sub_800DD94(struct GFtgtGname *data, u8 r9, bool32 r2, s32 r3) +{ + s32 i; + + for (i = 0; i < 2; i++) + { + data->unk_00.playerTrainerId[i] = gSaveBlock2Ptr->playerTrainerId[i]; + } + for (i = 0; i < 4; i++) + { + data->child_sprite_gender[i] = r3; + r3 >>= 8; + } + data->playerGender = gSaveBlock2Ptr->playerGender; + data->activity = r9; + data->started = r2; + data->unk_00.language = GAME_LANGUAGE; + data->unk_00.version = GAME_VERSION; + data->unk_00.hasNews = 0; + data->unk_00.hasCard = 0; + data->unk_00.unk_00_6 = 0; + data->unk_00.isChampion = FlagGet(FLAG_IS_CHAMPION); + data->unk_00.hasNationalDex = IsNationalPokedexEnabled(); + data->unk_00.gameClear = FlagGet(FLAG_SYS_GAME_CLEAR); +} + +bool8 sub_800DE7C(struct GFtgtGname *buff1, u8 *buff2, u8 idx) +{ + bool8 retVal; + + if (lman.parent_child == 1) + { + retVal = TRUE; + if (sub_8010454(gRfuLinkStatus->partner[idx].serialNo) && ((gRfuLinkStatus->getNameFlag >> idx) & 1)) + { + memcpy(buff1, gRfuLinkStatus->partner[idx].gname, 0xD); + memcpy(buff2, gRfuLinkStatus->partner[idx].uname, PLAYER_NAME_LENGTH + 1); + } + else + { + memset(buff1, 0, 0xD); + memset(buff2, 0, PLAYER_NAME_LENGTH + 1); + } + } + else + { + retVal = FALSE; + if (sub_8010454(gRfuLinkStatus->partner[idx].serialNo)) + { + memcpy(buff1, gRfuLinkStatus->partner[idx].gname, 0xD); + memcpy(buff2, gRfuLinkStatus->partner[idx].uname, PLAYER_NAME_LENGTH + 1); + } + else + { + memset(buff1, 0, 0xD); + memset(buff2, 0, PLAYER_NAME_LENGTH + 1); + } + } + return retVal; +} + +bool8 sub_800DF34(struct GFtgtGname *buff1, u8 *buff2, u8 idx) +{ + bool8 retVal = FALSE; + if (gRfuLinkStatus->partner[idx].serialNo == 0x7F7D) + { + memcpy(buff1, gRfuLinkStatus->partner[idx].gname, 0xD); + memcpy(buff2, gRfuLinkStatus->partner[idx].uname, 8); + retVal = TRUE; + } + else + { + memset(buff1, 0, 0xD); + memset(buff2, 0, 8); + } + return retVal; +} + +void sub_800DF90(struct GFtgtGname *buff1, u8 *buff2) +{ + memcpy(buff1, &gUnknown_02022B14, 0xD); + memcpy(buff2, gUnknown_02022B22, 8); +} + +void CreateWirelessStatusIndicatorSprite(u8 x, u8 y) +{ + u8 sprId; + + if (x == 0 && y == 0) + { + x = 0xE7; + y = 0x08; + } + if (gRfuLinkStatus->parentChild == 1) + { + sprId = CreateSprite(&sWirelessStatusIndicatorSpriteTemplate, x, y, 0); + gSprites[sprId].data[7] = 0x1234; + gSprites[sprId].data[6] = GetSpriteTileStartByTag(sWirelessStatusIndicatorSpriteSheet.tag); + gSprites[sprId].invisible = TRUE; + gWirelessStatusIndicatorSpriteId = sprId; + } + else + { + gWirelessStatusIndicatorSpriteId = CreateSprite(&sWirelessStatusIndicatorSpriteTemplate, x, y, 0); + gSprites[gWirelessStatusIndicatorSpriteId].data[7] = 0x1234; + gSprites[gWirelessStatusIndicatorSpriteId].data[6] = GetSpriteTileStartByTag(sWirelessStatusIndicatorSpriteSheet.tag); + gSprites[gWirelessStatusIndicatorSpriteId].invisible = TRUE; + } +} + +void DestroyWirelessStatusIndicatorSprite(void) +{ + if (gSprites[gWirelessStatusIndicatorSpriteId].data[7] == 0x1234) + { + gSprites[gWirelessStatusIndicatorSpriteId].data[7] = 0; + DestroySprite(&gSprites[gWirelessStatusIndicatorSpriteId]); + gMain.oamBuffer[125] = gDummyOamData; + CpuCopy16(&gDummyOamData, (struct OamData *)OAM + 125, sizeof(struct OamData)); + } +} + +void LoadWirelessStatusIndicatorSpriteGfx(void) +{ + if (GetSpriteTileStartByTag(sWirelessStatusIndicatorSpriteSheet.tag) == 0xFFFF) + { + LoadCompressedSpriteSheet(&sWirelessStatusIndicatorSpriteSheet); + } + LoadSpritePalette(&sWirelessStatusIndicatorSpritePalette); + gWirelessStatusIndicatorSpriteId = 0xFF; +} + +u8 sub_800E124(void) +{ + u8 i; + u8 flags = gRfuLinkStatus->connSlotFlag; + for (i = 0; i < 4; i++) + { + if (flags & 1) + { + return gRfuLinkStatus->strength[i]; + } + flags >>= 1; + } + return 0; +} + +void sub_800E15C(struct Sprite *sprite, s32 signalStrengthAnimNum) +{ + if (sprite->data[2] != signalStrengthAnimNum) + { + sprite->data[2] = signalStrengthAnimNum; + sprite->data[3] = 0; + sprite->data[4] = 0; + } +} + +void sub_800E174(void) +{ + if (gWirelessStatusIndicatorSpriteId != 0xFF && gSprites[gWirelessStatusIndicatorSpriteId].data[7] == 0x1234) + { + struct Sprite *sprite = &gSprites[gWirelessStatusIndicatorSpriteId]; + u8 signalStrength = 255; + u8 i = 0; + if (gRfuLinkStatus->parentChild == 1) + { + for (i = 0; i < GetLinkPlayerCount() - 1; i++) + { + if (signalStrength >= sub_800DD1C(i + 1)) + { + signalStrength = sub_800DD1C(i + 1); + } + } + } + else + { + signalStrength = sub_800E124(); + } + if (sub_8012224() == TRUE) + { + sprite->data[0] = 4; + } + else if (signalStrength < 25) + { + sprite->data[0] = 3; + } + else if (signalStrength >= 25 && signalStrength < 127) + { + sprite->data[0] = 2; + } + else if (signalStrength >= 127 && signalStrength < 229) + { + sprite->data[0] = 1; + } + else if (signalStrength >= 229) + { + sprite->data[0] = 0; + } + if (sprite->data[0] != sprite->data[1]) + { + sub_800E15C(sprite, sprite->data[0]); + sprite->data[1] = sprite->data[0]; + } + if (sprite->anims[sprite->data[2]][sprite->data[4]].frame.duration < sprite->data[3]) + { + sprite->data[4]++; + sprite->data[3] = 0; + if (sprite->anims[sprite->data[2]][sprite->data[4]].type == -2) + { + sprite->data[4] = 0; + } + } + else + { + sprite->data[3]++; + } + gMain.oamBuffer[125] = sWirelessStatusIndicatorOamData; + gMain.oamBuffer[125].x = sprite->pos1.x + sprite->centerToCornerVecX; + gMain.oamBuffer[125].y = sprite->pos1.y + sprite->centerToCornerVecY; + gMain.oamBuffer[125].paletteNum = sprite->oam.paletteNum; + gMain.oamBuffer[125].tileNum = sprite->data[6] + sprite->anims[sprite->data[2]][sprite->data[4]].frame.imageValue; + CpuCopy16(gMain.oamBuffer + 125, (struct OamData *)OAM + 125, sizeof(struct OamData)); + if (sub_8011A74() == 1) + { + DestroyWirelessStatusIndicatorSprite(); + } + } +} + +void CopyTrainerRecord(struct TrainerNameRecord *dest, u32 trainerId, const u8 *name) +{ + dest->trainerId = trainerId; + StringCopy(dest->trainerName, name); +} + +bool32 NameIsNotEmpty(const u8 *name) +{ + s32 i; + + for (i = 0; i < PLAYER_NAME_LENGTH + 1; i++) + { + if (name[i] != 0) + { + return TRUE; + } + } + return FALSE; +} + +// Save the currently connected players into the trainer records, shifting all previous records down. +void RecordMixTrainerNames(void) +{ + if (gWirelessCommType != 0) + { + s32 i; + s32 j; + s32 nextSpace; + s32 connectedTrainerRecordIndices[5]; + struct TrainerNameRecord *newRecords = calloc(20, sizeof(struct TrainerNameRecord)); + + // Check if we already have a record saved for connected trainers. + for (i = 0; i < GetLinkPlayerCount(); i++) + { + connectedTrainerRecordIndices[i] = -1; + for (j = 0; j < 20; j++) + { + if ((u16)gLinkPlayers[i].trainerId == gSaveBlock1Ptr->trainerNameRecords[j].trainerId && StringCompare(gLinkPlayers[i].name, gSaveBlock1Ptr->trainerNameRecords[j].trainerName) == 0) + { + connectedTrainerRecordIndices[i] = j; + } + } + } + + // Save the connected trainers first, at the top of the list. + nextSpace = 0; + for (i = 0; i < GetLinkPlayerCount(); i++) + { + if (i != GetMultiplayerId() && gLinkPlayers[i].language != LANGUAGE_JAPANESE) + { + CopyTrainerRecord(&newRecords[nextSpace], (u16)gLinkPlayers[i].trainerId, gLinkPlayers[i].name); + + // If we already had a record for this trainer, wipe it so that the next step doesn't duplicate it. + if (connectedTrainerRecordIndices[i] >= 0) + { + memset(gSaveBlock1Ptr->trainerNameRecords[connectedTrainerRecordIndices[i]].trainerName, 0, 8); + } + nextSpace++; + } + } + + // Copy all non-empty records to the new list, in the order they appear on the old list. If the list is full, + // the last (oldest) records will be dropped. + for (i = 0; i < 20; i++) + { + if (NameIsNotEmpty(gSaveBlock1Ptr->trainerNameRecords[i].trainerName)) + { + CopyTrainerRecord(&newRecords[nextSpace], gSaveBlock1Ptr->trainerNameRecords[i].trainerId, gSaveBlock1Ptr->trainerNameRecords[i].trainerName); + if (++nextSpace >= 20) + { + break; + } + } + } + + // Finalize the new list, and clean up. + memcpy(gSaveBlock1Ptr->trainerNameRecords, newRecords, 20 * sizeof(struct TrainerNameRecord)); + free(newRecords); + } +} + +bool32 sub_800E540(u16 id, u8 *name) +{ + s32 i; + + for (i = 0; i < 20; i++) + { + if (StringCompare(gSaveBlock1Ptr->trainerNameRecords[i].trainerName, name) == 0 && gSaveBlock1Ptr->trainerNameRecords[i].trainerId == id) + { + return TRUE; + } + if (!NameIsNotEmpty(gSaveBlock1Ptr->trainerNameRecords[i].trainerName)) + { + return FALSE; + } + } + return FALSE; +} + +void WipeTrainerNameRecords(void) +{ + s32 i; + + for (i = 0; i < 20; i++) + { + gSaveBlock1Ptr->trainerNameRecords[i].trainerId = 0; + CpuFill16(0, gSaveBlock1Ptr->trainerNameRecords[i].trainerName, 8); + } +} diff --git a/src/load_save.c b/src/load_save.c index 24dfda20c..8459cd96b 100644 --- a/src/load_save.c +++ b/src/load_save.c @@ -181,32 +181,32 @@ void LoadPlayerParty(void) gPlayerParty[i] = gSaveBlock1Ptr->playerParty[i]; } -void SaveEventObjects(void) +void SaveObjectEvents(void) { int i; - for (i = 0; i < EVENT_OBJECTS_COUNT; i++) - gSaveBlock1Ptr->eventObjects[i] = gEventObjects[i]; + for (i = 0; i < OBJECT_EVENTS_COUNT; i++) + gSaveBlock1Ptr->objectEvents[i] = gObjectEvents[i]; } -void LoadEventObjects(void) +void LoadObjectEvents(void) { int i; - for (i = 0; i < EVENT_OBJECTS_COUNT; i++) - gEventObjects[i] = gSaveBlock1Ptr->eventObjects[i]; + for (i = 0; i < OBJECT_EVENTS_COUNT; i++) + gObjectEvents[i] = gSaveBlock1Ptr->objectEvents[i]; } void SaveSerializedGame(void) { SavePlayerParty(); - SaveEventObjects(); + SaveObjectEvents(); } void LoadSerializedGame(void) { LoadPlayerParty(); - LoadEventObjects(); + LoadObjectEvents(); } void LoadPlayerBag(void) diff --git a/src/lottery_corner.c b/src/lottery_corner.c index bb3bb7a5c..5f68ad516 100644 --- a/src/lottery_corner.c +++ b/src/lottery_corner.c @@ -35,7 +35,7 @@ void SetRandomLotteryNumber(u16 i) u32 var = Random(); while (--i != 0xFFFF) - var = var * 1103515245 + 12345; + var = ISO_RANDOMIZE2(var); SetLotteryNumber(var); } diff --git a/src/main_menu.c b/src/main_menu.c index 61a60a8e7..91931e581 100644 --- a/src/main_menu.c +++ b/src/main_menu.c @@ -2188,7 +2188,7 @@ static void MainMenu_FormatSavegameBadges(void) u8 badgeCount = 0; u32 i; - for (i = FLAG_BADGE01_GET; i <= FLAG_BADGE08_GET; i++) + for (i = FLAG_BADGE01_GET; i < FLAG_BADGE01_GET + NUM_BADGES; i++) { if (FlagGet(i)) badgeCount++; diff --git a/src/map_name_popup.c b/src/map_name_popup.c index 35110581f..32da4d0b4 100644 --- a/src/map_name_popup.c +++ b/src/map_name_popup.c @@ -359,10 +359,10 @@ static void LoadMapNamePopUpWindowBg(void) u8 popupWindowId = GetMapNamePopUpWindowId(); u16 regionMapSectionId = gMapHeader.regionMapSectionId; - if (regionMapSectionId > MAPSEC_DYNAMIC) + if (regionMapSectionId >= KANTO_MAPSEC_START) { - if (regionMapSectionId > MAPSEC_SPECIAL_AREA) - regionMapSectionId -= (MAPSEC_SPECIAL_AREA - MAPSEC_DYNAMIC); + if (regionMapSectionId > KANTO_MAPSEC_END) + regionMapSectionId -= KANTO_MAPSEC_COUNT; else regionMapSectionId = 0; // Discard kanto region sections; } diff --git a/src/match_call.c b/src/match_call.c index dac98e559..9d8523576 100644 --- a/src/match_call.c +++ b/src/match_call.c @@ -1114,7 +1114,7 @@ static void StartMatchCall(void) if (!gMatchCallState.triggeredFromScript) { ScriptContext2_Enable(); - FreezeEventObjects(); + FreezeObjectEvents(); sub_808B864(); sub_808BCF4(); } @@ -1287,11 +1287,11 @@ static bool32 sub_81963F0(u8 taskId) ChangeBgY(0, 0, 0); if (!gMatchCallState.triggeredFromScript) { - sub_81973A4(); - playerObjectId = GetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0); - EventObjectClearHeldMovementIfFinished(&gEventObjects[playerObjectId]); - ScriptMovement_UnfreezeEventObjects(); - UnfreezeEventObjects(); + LoadMessageBoxAndBorderGfx(); + playerObjectId = GetObjectEventIdByLocalIdAndMap(OBJ_EVENT_ID_PLAYER, 0, 0); + ObjectEventClearHeldMovementIfFinished(&gObjectEvents[playerObjectId]); + ScriptMovement_UnfreezeObjectEvents(); + UnfreezeObjectEvents(); ScriptContext2_Disable(); } @@ -1746,7 +1746,7 @@ static void PopulateBattleFrontierStreak(int matchCallId, u8 *destStr) ConvertIntToDecimalStringN(destStr, gBattleFrontierStreakInfo.streak, STR_CONV_MODE_LEFT_ALIGN, i); } -static const u16 sBadgeFlags[] = +static const u16 sBadgeFlags[NUM_BADGES] = { FLAG_BADGE01_GET, FLAG_BADGE02_GET, @@ -1762,7 +1762,7 @@ static int GetNumOwnedBadges(void) { u32 i; - for (i = 0; i < 8; i++) + for (i = 0; i < NUM_BADGES; i++) { if (!FlagGet(sBadgeFlags[i])) break; diff --git a/src/mauville_old_man.c b/src/mauville_old_man.c index 8fe233fc1..dc5a0b335 100644 --- a/src/mauville_old_man.c +++ b/src/mauville_old_man.c @@ -137,7 +137,7 @@ void SetMauvilleOldMan(void) SetupGiddy(); break; } - ScrSpecial_SetMauvilleOldManEventObjGfx(); + ScrSpecial_SetMauvilleOldManObjEventGfx(); } u8 GetCurrentMauvilleOldMan(void) @@ -407,7 +407,7 @@ void ResetMauvilleOldManFlag(void) case MAUVILLE_MAN_GIDDY: break; } - ScrSpecial_SetMauvilleOldManEventObjGfx(); + ScrSpecial_SetMauvilleOldManObjEventGfx(); } @@ -674,9 +674,9 @@ static void Task_BardSong(u8 taskId) RunTextPrintersAndIsPrinter0Active(); } -void ScrSpecial_SetMauvilleOldManEventObjGfx(void) +void ScrSpecial_SetMauvilleOldManObjEventGfx(void) { - VarSet(VAR_OBJ_GFX_ID_0, EVENT_OBJ_GFX_BARD); + VarSet(VAR_OBJ_GFX_ID_0, OBJ_EVENT_GFX_BARD); } // Language fixers? diff --git a/src/menu.c b/src/menu.c index fb7f44ceb..62387c323 100644 --- a/src/menu.c +++ b/src/menu.c @@ -159,7 +159,7 @@ void sub_8197200(void) ChangeBgX(0, 0, 0); ChangeBgY(0, 0, 0); DeactivateAllTextPrinters(); - sub_81973A4(); + LoadMessageBoxAndBorderGfx(); } u16 RunTextPrintersAndIsPrinter0Active(void) @@ -209,7 +209,7 @@ void AddTextPrinterWithCustomSpeedForMessage(bool8 allowSkippingDelayWithButtonP AddTextPrinterParameterized2(0, 1, gStringVar4, speed, NULL, 2, 1, 3); } -void sub_81973A4(void) +void LoadMessageBoxAndBorderGfx(void) { LoadMessageBoxGfx(0, DLG_WINDOW_BASE_TILE_NUM, DLG_WINDOW_PALETTE_NUM * 0x10); LoadUserWindowBorderGfx(0, STD_WINDOW_BASE_TILE_NUM, STD_WINDOW_PALETTE_NUM * 0x10); @@ -458,7 +458,7 @@ u16 sub_81978D0(u8 colorNum) void DisplayItemMessageOnField(u8 taskId, const u8 *string, TaskFunc callback) { - sub_81973A4(); + LoadMessageBoxAndBorderGfx(); DisplayMessageAndContinueTask(taskId, 0, DLG_WINDOW_BASE_TILE_NUM, DLG_WINDOW_PALETTE_NUM, 1, GetPlayerTextSpeedDelay(), string, callback); CopyWindowToVram(0, 3); } @@ -2133,7 +2133,7 @@ void blit_move_info_icon(u8 windowId, u8 iconId, u16 x, u16 y) BlitBitmapRectToWindow(windowId, gFireRedMenuElements_Gfx + gMoveMenuInfoIcons[iconId].offset * 32, 0, 0, 128, 128, x, y, gMoveMenuInfoIcons[iconId].width, gMoveMenuInfoIcons[iconId].height); } -void sub_819A344(u8 a0, u8 *dest, u8 color) +void BufferSaveMenuText(u8 textId, u8 *dest, u8 color) { s32 curFlag; s32 flagCount; @@ -2147,28 +2147,28 @@ void sub_819A344(u8 a0, u8 *dest, u8 color) *(string++) = EXT_CTRL_CODE_SHADOW; *(string++) = color + 1; - switch (a0) + switch (textId) { - case 0: + case SAVE_MENU_NAME: StringCopy(string, gSaveBlock2Ptr->playerName); break; - case 1: + case SAVE_MENU_CAUGHT: if (IsNationalPokedexEnabled()) string = ConvertIntToDecimalStringN(string, GetNationalPokedexCount(FLAG_GET_CAUGHT), STR_CONV_MODE_LEFT_ALIGN, 3); else string = ConvertIntToDecimalStringN(string, GetHoennPokedexCount(FLAG_GET_CAUGHT), STR_CONV_MODE_LEFT_ALIGN, 3); *string = EOS; break; - case 2: + case SAVE_MENU_PLAY_TIME: string = ConvertIntToDecimalStringN(string, gSaveBlock2Ptr->playTimeHours, STR_CONV_MODE_LEFT_ALIGN, 3); *(string++) = CHAR_COLON; ConvertIntToDecimalStringN(string, gSaveBlock2Ptr->playTimeMinutes, STR_CONV_MODE_LEADING_ZEROS, 2); break; - case 3: + case SAVE_MENU_LOCATION: GetMapNameGeneric(string, gMapHeader.regionMapSectionId); break; - case 4: - for (curFlag = FLAG_BADGE01_GET, flagCount = 0, endOfString = string + 1; curFlag <= FLAG_BADGE08_GET; curFlag++) + case SAVE_MENU_BADGES: + for (curFlag = FLAG_BADGE01_GET, flagCount = 0, endOfString = string + 1; curFlag < FLAG_BADGE01_GET + NUM_BADGES; curFlag++) { if (FlagGet(curFlag)) flagCount++; diff --git a/src/mevent_client.c b/src/mevent_client.c index 659b772df..9a62bf18e 100644 --- a/src/mevent_client.c +++ b/src/mevent_client.c @@ -216,7 +216,7 @@ static u32 mainseq_4(struct mevent_client * svr) sub_801B508(svr->recvBuffer); break; case 17: - InitRamScript_NoEventObject(svr->recvBuffer, 1000); + InitRamScript_NoObjectEvent(svr->recvBuffer, 1000); break; case 18: memcpy(&gSaveBlock2Ptr->frontier.ereaderTrainer, svr->recvBuffer, 0xbc); diff --git a/src/mirage_tower.c b/src/mirage_tower.c index bb93bb497..2a6d6d6c4 100644 --- a/src/mirage_tower.c +++ b/src/mirage_tower.c @@ -346,16 +346,16 @@ void StartPlayerDescendMirageTower(void) static void PlayerDescendMirageTower(u8 taskId) { - u8 eventObjectId; - struct EventObject *fakePlayerEventObject; - struct EventObject *playerEventObject; - - TryGetEventObjectIdByLocalIdAndMap(45, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, &eventObjectId); - fakePlayerEventObject = &gEventObjects[eventObjectId]; - gSprites[fakePlayerEventObject->spriteId].pos2.y += 4; - playerEventObject = &gEventObjects[gPlayerAvatar.eventObjectId]; - if ((gSprites[fakePlayerEventObject->spriteId].pos1.y + gSprites[fakePlayerEventObject->spriteId].pos2.y) >= - (gSprites[playerEventObject->spriteId].pos1.y + gSprites[playerEventObject->spriteId].pos2.y)) + u8 objectEventId; + struct ObjectEvent *fakePlayerObjectEvent; + struct ObjectEvent *playerObjectEvent; + + TryGetObjectEventIdByLocalIdAndMap(45, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, &objectEventId); + fakePlayerObjectEvent = &gObjectEvents[objectEventId]; + gSprites[fakePlayerObjectEvent->spriteId].pos2.y += 4; + playerObjectEvent = &gObjectEvents[gPlayerAvatar.objectEventId]; + if ((gSprites[fakePlayerObjectEvent->spriteId].pos1.y + gSprites[fakePlayerObjectEvent->spriteId].pos2.y) >= + (gSprites[playerObjectEvent->spriteId].pos1.y + gSprites[playerObjectEvent->spriteId].pos2.y)) { DestroyTask(taskId); EnableBothScriptContexts(); diff --git a/src/move_relearner.c b/src/move_relearner.c index e88008689..cbeb3a1df 100644 --- a/src/move_relearner.c +++ b/src/move_relearner.c @@ -154,15 +154,13 @@ static EWRAM_DATA struct { u8 state; u8 heartSpriteIds[16]; /*0x001*/ - u16 movesToLearn[MAX_MON_MOVES]; /*0x012*/ - u8 filler1A[0x44 - 0x1A]; /*0x01A*/ + u16 movesToLearn[25]; /*0x01A*/ u8 partyMon; /*0x044*/ u8 moveSlot; /*0x045*/ - struct ListMenuItem menuItems[20]; /*0x048*/ - u8 fillerE8[0x110 - 0xE8]; /*0x0E8*/ + struct ListMenuItem menuItems[25]; /*0x0E8*/ u8 numMenuChoices; /*0x110*/ u8 numToShowAtOnce; /*0x111*/ - u8 moveListMenuTask; /*0x112*/ + u8 moveListMenuTask; /*0x112*/ u8 moveListScrollArrowTask; /*0x113*/ u8 moveDisplayArrowTask; /*0x114*/ u16 scrollOffset; /*0x116*/ diff --git a/src/naming_screen.c b/src/naming_screen.c index 68eeded91..161d4a7e0 100644 --- a/src/naming_screen.c +++ b/src/naming_screen.c @@ -1171,7 +1171,7 @@ static void NamingScreen_CreatePlayerIcon(void) u8 spriteId; rivalGfxId = GetRivalAvatarGraphicsIdByStateIdAndGender(0, gNamingScreenData->monSpecies); - spriteId = AddPseudoEventObject(rivalGfxId, SpriteCallbackDummy, 0x38, 0x25, 0); + spriteId = AddPseudoObjectEvent(rivalGfxId, SpriteCallbackDummy, 0x38, 0x25, 0); gSprites[spriteId].oam.priority = 3; StartSpriteAnim(&gSprites[spriteId], 4); } @@ -1198,7 +1198,7 @@ static void NamingScreen_CreateWandaDadIcon(void) { u8 spriteId; - spriteId = AddPseudoEventObject(EVENT_OBJ_GFX_MAN_1, SpriteCallbackDummy, 0x38, 0x25, 0); + spriteId = AddPseudoObjectEvent(OBJ_EVENT_GFX_MAN_1, SpriteCallbackDummy, 0x38, 0x25, 0); gSprites[spriteId].oam.priority = 3; StartSpriteAnim(&gSprites[spriteId], 4); } diff --git a/src/overworld.c b/src/overworld.c index e11dbbfda..ec43a3e80 100644 --- a/src/overworld.c +++ b/src/overworld.c @@ -141,7 +141,7 @@ static void ResetAllTradingStates(void); static void UpdateHeldKeyCode(u16); static void UpdateAllLinkPlayers(u16*, s32); static u8 FlipVerticalAndClearForced(u8 a1, u8 a2); -static u8 LinkPlayerDetectCollision(u8 selfEventObjId, u8 a2, s16 x, s16 y); +static u8 LinkPlayerDetectCollision(u8 selfObjEventId, u8 a2, s16 x, s16 y); static void CreateLinkPlayerSprite(u8 linkPlayerId, u8 gameVersion); static void GetLinkPlayerCoords(u8 linkPlayerId, u16 *x, u16 *y); static u8 GetLinkPlayerFacingDirection(u8 linkPlayerId); @@ -149,15 +149,15 @@ static u8 GetLinkPlayerElevation(u8 linkPlayerId); static s32 sub_80878E4(u8 linkPlayerId); static u8 GetLinkPlayerIdAt(s16 x, s16 y); static void SetPlayerFacingDirection(u8 linkPlayerId, u8 a2); -static void ZeroEventObject(struct EventObject *eventObj); -static void SpawnLinkPlayerEventObject(u8 linkPlayerId, s16 x, s16 y, u8 a4); -static void InitLinkPlayerEventObjectPos(struct EventObject *eventObj, s16 x, s16 y); +static void ZeroObjectEvent(struct ObjectEvent *objEvent); +static void SpawnLinkPlayerObjectEvent(u8 linkPlayerId, s16 x, s16 y, u8 a4); +static void InitLinkPlayerObjectEventPos(struct ObjectEvent *objEvent, s16 x, s16 y); static void sub_80877DC(u8 linkPlayerId, u8 a2); static void sub_808780C(u8 linkPlayerId); static u8 GetSpriteForLinkedPlayer(u8 linkPlayerId); static void sub_8087584(void); static u32 GetLinkSendQueueLength(void); -static void ZeroLinkPlayerEventObject(struct LinkPlayerEventObject *linkPlayerEventObj); +static void ZeroLinkPlayerObjectEvent(struct LinkPlayerObjectEvent *linkPlayerObjEvent); static const u8 *TryInteractWithPlayer(struct TradeRoomPlayer *a1); static u16 GetDirectionForEventScript(const u8 *script); static void sub_8087510(void); @@ -217,7 +217,7 @@ EWRAM_DATA static u16 sLastMapSectionId = 0; EWRAM_DATA static struct InitialPlayerAvatarState gInitialPlayerAvatarState = {0}; EWRAM_DATA static u16 sAmbientCrySpecies = 0; EWRAM_DATA static bool8 sIsAmbientCryWaterMon = FALSE; -EWRAM_DATA struct LinkPlayerEventObject gLinkPlayerEventObjects[4] = {0}; +EWRAM_DATA struct LinkPlayerObjectEvent gLinkPlayerObjectEvents[4] = {0}; // const rom data static const struct WarpData sDummyWarpData = @@ -338,23 +338,23 @@ static const struct ScanlineEffectParams sFlashEffectParams = 0, }; -static u8 MovementEventModeCB_Normal(struct LinkPlayerEventObject *, struct EventObject *, u8); -static u8 MovementEventModeCB_Ignored(struct LinkPlayerEventObject *, struct EventObject *, u8); -static u8 MovementEventModeCB_Normal_2(struct LinkPlayerEventObject *, struct EventObject *, u8); +static u8 MovementEventModeCB_Normal(struct LinkPlayerObjectEvent *, struct ObjectEvent *, u8); +static u8 MovementEventModeCB_Ignored(struct LinkPlayerObjectEvent *, struct ObjectEvent *, u8); +static u8 MovementEventModeCB_Normal_2(struct LinkPlayerObjectEvent *, struct ObjectEvent *, u8); -static u8 (*const gLinkPlayerMovementModes[])(struct LinkPlayerEventObject *, struct EventObject *, u8) = +static u8 (*const gLinkPlayerMovementModes[])(struct LinkPlayerObjectEvent *, struct ObjectEvent *, u8) = { MovementEventModeCB_Normal, // MOVEMENT_MODE_FREE MovementEventModeCB_Ignored, // MOVEMENT_MODE_FROZEN MovementEventModeCB_Normal_2, // MOVEMENT_MODE_SCRIPTED }; -static u8 FacingHandler_DoNothing(struct LinkPlayerEventObject *, struct EventObject *, u8); -static u8 FacingHandler_DpadMovement(struct LinkPlayerEventObject *, struct EventObject *, u8); -static u8 FacingHandler_ForcedFacingChange(struct LinkPlayerEventObject *, struct EventObject *, u8); +static u8 FacingHandler_DoNothing(struct LinkPlayerObjectEvent *, struct ObjectEvent *, u8); +static u8 FacingHandler_DpadMovement(struct LinkPlayerObjectEvent *, struct ObjectEvent *, u8); +static u8 FacingHandler_ForcedFacingChange(struct LinkPlayerObjectEvent *, struct ObjectEvent *, u8); // These handlers return TRUE if the movement was scripted and successful, and FALSE otherwise. -static bool8 (*const gLinkPlayerFacingHandlers[])(struct LinkPlayerEventObject *, struct EventObject *, u8) = +static bool8 (*const gLinkPlayerFacingHandlers[])(struct LinkPlayerObjectEvent *, struct ObjectEvent *, u8) = { FacingHandler_DoNothing, FacingHandler_DpadMovement, @@ -369,11 +369,11 @@ static bool8 (*const gLinkPlayerFacingHandlers[])(struct LinkPlayerEventObject * FacingHandler_ForcedFacingChange, }; -static void MovementStatusHandler_EnterFreeMode(struct LinkPlayerEventObject *, struct EventObject *); -static void MovementStatusHandler_TryAdvanceScript(struct LinkPlayerEventObject *, struct EventObject *); +static void MovementStatusHandler_EnterFreeMode(struct LinkPlayerObjectEvent *, struct ObjectEvent *); +static void MovementStatusHandler_TryAdvanceScript(struct LinkPlayerObjectEvent *, struct ObjectEvent *); // These handlers are run after an attempted movement. -static void (*const gMovementStatusHandler[])(struct LinkPlayerEventObject *, struct EventObject *) = +static void (*const gMovementStatusHandler[])(struct LinkPlayerObjectEvent *, struct ObjectEvent *) = { // FALSE: MovementStatusHandler_EnterFreeMode, @@ -493,55 +493,55 @@ void ApplyNewEncryptionKeyToGameStats(u32 newKey) ApplyNewEncryptionKeyToWord(&gSaveBlock1Ptr->gameStats[i], newKey); } -void LoadEventObjTemplatesFromHeader(void) +void LoadObjEventTemplatesFromHeader(void) { // Clear map object templates - CpuFill32(0, gSaveBlock1Ptr->eventObjectTemplates, sizeof(gSaveBlock1Ptr->eventObjectTemplates)); + CpuFill32(0, gSaveBlock1Ptr->objectEventTemplates, sizeof(gSaveBlock1Ptr->objectEventTemplates)); // Copy map header events to save block - CpuCopy32(gMapHeader.events->eventObjects, - gSaveBlock1Ptr->eventObjectTemplates, - gMapHeader.events->eventObjectCount * sizeof(struct EventObjectTemplate)); + CpuCopy32(gMapHeader.events->objectEvents, + gSaveBlock1Ptr->objectEventTemplates, + gMapHeader.events->objectEventCount * sizeof(struct ObjectEventTemplate)); } -void LoadSaveblockEventObjScripts(void) +void LoadSaveblockObjEventScripts(void) { - struct EventObjectTemplate *mapHeaderObjTemplates = gMapHeader.events->eventObjects; - struct EventObjectTemplate *savObjTemplates = gSaveBlock1Ptr->eventObjectTemplates; + struct ObjectEventTemplate *mapHeaderObjTemplates = gMapHeader.events->objectEvents; + struct ObjectEventTemplate *savObjTemplates = gSaveBlock1Ptr->objectEventTemplates; s32 i; - for (i = 0; i < EVENT_OBJECT_TEMPLATES_COUNT; i++) + for (i = 0; i < OBJECT_EVENT_TEMPLATES_COUNT; i++) savObjTemplates[i].script = mapHeaderObjTemplates[i].script; } -void Overworld_SetEventObjTemplateCoords(u8 localId, s16 x, s16 y) +void Overworld_SetObjEventTemplateCoords(u8 localId, s16 x, s16 y) { s32 i; - struct EventObjectTemplate *savObjTemplates = gSaveBlock1Ptr->eventObjectTemplates; + struct ObjectEventTemplate *savObjTemplates = gSaveBlock1Ptr->objectEventTemplates; - for (i = 0; i < EVENT_OBJECT_TEMPLATES_COUNT; i++) + for (i = 0; i < OBJECT_EVENT_TEMPLATES_COUNT; i++) { - struct EventObjectTemplate *eventObjectTemplate = &savObjTemplates[i]; - if (eventObjectTemplate->localId == localId) + struct ObjectEventTemplate *objectEventTemplate = &savObjTemplates[i]; + if (objectEventTemplate->localId == localId) { - eventObjectTemplate->x = x; - eventObjectTemplate->y = y; + objectEventTemplate->x = x; + objectEventTemplate->y = y; return; } } } -void Overworld_SetEventObjTemplateMovementType(u8 localId, u8 movementType) +void Overworld_SetObjEventTemplateMovementType(u8 localId, u8 movementType) { s32 i; - struct EventObjectTemplate *savObjTemplates = gSaveBlock1Ptr->eventObjectTemplates; - for (i = 0; i < EVENT_OBJECT_TEMPLATES_COUNT; i++) + struct ObjectEventTemplate *savObjTemplates = gSaveBlock1Ptr->objectEventTemplates; + for (i = 0; i < OBJECT_EVENT_TEMPLATES_COUNT; i++) { - struct EventObjectTemplate *eventObjectTemplate = &savObjTemplates[i]; - if (eventObjectTemplate->localId == localId) + struct ObjectEventTemplate *objectEventTemplate = &savObjTemplates[i]; + if (objectEventTemplate->localId == localId) { - eventObjectTemplate->movementType = movementType; + objectEventTemplate->movementType = movementType; return; } } @@ -814,7 +814,7 @@ void LoadMapFromCameraTransition(u8 mapGroup, u8 mapNum) ApplyCurrentWarp(); LoadCurrentMapData(); - LoadEventObjTemplatesFromHeader(); + LoadObjEventTemplatesFromHeader(); TrySetMapSaveWarpStatus(); ClearTempFieldEventData(); ResetCyclingRoadChallengeData(); @@ -853,11 +853,11 @@ static void mli0_load_map(u32 a1) if (!(sUnknown_020322D8 & 1)) { if (gMapHeader.mapLayoutId == LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_FLOOR) - LoadBattlePyramidEventObjectTemplates(); + LoadBattlePyramidObjectEventTemplates(); else if (InTrainerHill()) - LoadTrainerHillEventObjectTemplates(); + LoadTrainerHillObjectEventTemplates(); else - LoadEventObjTemplatesFromHeader(); + LoadObjEventTemplatesFromHeader(); } isOutdoors = IsMapTypeOutdoors(gMapHeader.mapType); @@ -1721,13 +1721,13 @@ void CB2_ContinueSavedGame(void) ClearDiveAndHoleWarps(); trainerHillMapId = GetCurrentTrainerHillMapId(); if (gMapHeader.mapLayoutId == LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_FLOOR) - LoadBattlePyramidFloorEventObjectScripts(); + LoadBattlePyramidFloorObjectEventScripts(); else if (trainerHillMapId != 0 && trainerHillMapId != TRAINER_HILL_ENTRANCE) - LoadTrainerHillFloorEventObjectScripts(); + LoadTrainerHillFloorObjectEventScripts(); else - LoadSaveblockEventObjScripts(); + LoadSaveblockObjEventScripts(); - UnfreezeEventObjects(); + UnfreezeObjectEvents(); DoTimeBasedEvents(); sub_8084788(); if (gMapHeader.mapLayoutId == LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_FLOOR) @@ -2143,9 +2143,9 @@ static void sub_8086988(u32 a1) ResetCameraUpdateInfo(); InstallCameraPanAheadCallback(); if (!a1) - InitEventObjectPalettes(0); + InitObjectEventPalettes(0); else - InitEventObjectPalettes(1); + InitObjectEventPalettes(1); FieldEffectActiveListClear(); StartWeather(); @@ -2160,8 +2160,8 @@ static void sub_80869DC(void) { gTotalCameraPixelOffsetX = 0; gTotalCameraPixelOffsetY = 0; - ResetEventObjects(); - TrySpawnEventObjects(0, 0); + ResetObjectEvents(); + TrySpawnObjectEvents(0, 0); TryRunOnWarpIntoMapScript(); } @@ -2172,13 +2172,13 @@ static void mli4_mapscripts_and_other(void) gTotalCameraPixelOffsetX = 0; gTotalCameraPixelOffsetY = 0; - ResetEventObjects(); + ResetObjectEvents(); GetCameraFocusCoords(&x, &y); player = GetInitialPlayerAvatarState(); InitPlayerAvatar(x, y, player->direction, gSaveBlock2Ptr->playerGender); SetPlayerAvatarTransitionFlags(player->transitionFlags); ResetInitialPlayerAvatarState(); - TrySpawnEventObjects(0, 0); + TrySpawnObjectEvents(0, 0); TryRunOnWarpIntoMapScript(); } @@ -2191,7 +2191,7 @@ static void sub_8086A68(void) static void sub_8086A80(void) { - gEventObjects[gPlayerAvatar.eventObjectId].trackedByCamera = 1; + gObjectEvents[gPlayerAvatar.objectEventId].trackedByCamera = 1; InitCameraUpdateCallback(gPlayerAvatar.spriteId); } @@ -2226,7 +2226,7 @@ static void sub_8086B14(void) for (i = 0; i < gFieldLinkPlayerCount; i++) { - SpawnLinkPlayerEventObject(i, i + x, y, gLinkPlayers[i].gender); + SpawnLinkPlayerObjectEvent(i, i + x, y, gLinkPlayers[i].gender); CreateLinkPlayerSprite(i, gLinkPlayers[i].version); } @@ -2702,7 +2702,7 @@ static void LoadTradeRoomPlayer(s32 linkPlayerId, s32 myPlayerId, struct TradeRo trainer->playerId = linkPlayerId; trainer->isLocalPlayer = (linkPlayerId == myPlayerId) ? 1 : 0; - trainer->c = gLinkPlayerEventObjects[linkPlayerId].movementMode; + trainer->c = gLinkPlayerObjectEvents[linkPlayerId].movementMode; trainer->facing = GetLinkPlayerFacingDirection(linkPlayerId); GetLinkPlayerCoords(linkPlayerId, &x, &y); trainer->pos.x = x; @@ -2913,115 +2913,115 @@ bool32 sub_808766C(void) static u32 GetLinkSendQueueLength(void) { if (gWirelessCommType != 0) - return gUnknown_03005000.unk_9e8.unk_232; + return Rfu.unk_9e8.unk_232; else return gLink.sendQueue.count; } -static void ZeroLinkPlayerEventObject(struct LinkPlayerEventObject *linkPlayerEventObj) +static void ZeroLinkPlayerObjectEvent(struct LinkPlayerObjectEvent *linkPlayerObjEvent) { - memset(linkPlayerEventObj, 0, sizeof(struct LinkPlayerEventObject)); + memset(linkPlayerObjEvent, 0, sizeof(struct LinkPlayerObjectEvent)); } -void ClearLinkPlayerEventObjects(void) +void ClearLinkPlayerObjectEvents(void) { - memset(gLinkPlayerEventObjects, 0, sizeof(gLinkPlayerEventObjects)); + memset(gLinkPlayerObjectEvents, 0, sizeof(gLinkPlayerObjectEvents)); } -static void ZeroEventObject(struct EventObject *eventObj) +static void ZeroObjectEvent(struct ObjectEvent *objEvent) { - memset(eventObj, 0, sizeof(struct EventObject)); + memset(objEvent, 0, sizeof(struct ObjectEvent)); } -static void SpawnLinkPlayerEventObject(u8 linkPlayerId, s16 x, s16 y, u8 a4) +static void SpawnLinkPlayerObjectEvent(u8 linkPlayerId, s16 x, s16 y, u8 a4) { - u8 eventObjId = GetFirstInactiveEventObjectId(); - struct LinkPlayerEventObject *linkPlayerEventObj = &gLinkPlayerEventObjects[linkPlayerId]; - struct EventObject *eventObj = &gEventObjects[eventObjId]; + u8 objEventId = GetFirstInactiveObjectEventId(); + struct LinkPlayerObjectEvent *linkPlayerObjEvent = &gLinkPlayerObjectEvents[linkPlayerId]; + struct ObjectEvent *objEvent = &gObjectEvents[objEventId]; - ZeroLinkPlayerEventObject(linkPlayerEventObj); - ZeroEventObject(eventObj); + ZeroLinkPlayerObjectEvent(linkPlayerObjEvent); + ZeroObjectEvent(objEvent); - linkPlayerEventObj->active = 1; - linkPlayerEventObj->linkPlayerId = linkPlayerId; - linkPlayerEventObj->eventObjId = eventObjId; - linkPlayerEventObj->movementMode = MOVEMENT_MODE_FREE; + linkPlayerObjEvent->active = 1; + linkPlayerObjEvent->linkPlayerId = linkPlayerId; + linkPlayerObjEvent->objEventId = objEventId; + linkPlayerObjEvent->movementMode = MOVEMENT_MODE_FREE; - eventObj->active = 1; - eventObj->singleMovementActive = a4; - eventObj->range.as_byte = 2; - eventObj->spriteId = 64; + objEvent->active = 1; + objEvent->singleMovementActive = a4; + objEvent->range.as_byte = 2; + objEvent->spriteId = 64; - InitLinkPlayerEventObjectPos(eventObj, x, y); + InitLinkPlayerObjectEventPos(objEvent, x, y); } -static void InitLinkPlayerEventObjectPos(struct EventObject *eventObj, s16 x, s16 y) +static void InitLinkPlayerObjectEventPos(struct ObjectEvent *objEvent, s16 x, s16 y) { - eventObj->currentCoords.x = x; - eventObj->currentCoords.y = y; - eventObj->previousCoords.x = x; - eventObj->previousCoords.y = y; - SetSpritePosToMapCoords(x, y, &eventObj->initialCoords.x, &eventObj->initialCoords.y); - eventObj->initialCoords.x += 8; - EventObjectUpdateZCoord(eventObj); + objEvent->currentCoords.x = x; + objEvent->currentCoords.y = y; + objEvent->previousCoords.x = x; + objEvent->previousCoords.y = y; + SetSpritePosToMapCoords(x, y, &objEvent->initialCoords.x, &objEvent->initialCoords.y); + objEvent->initialCoords.x += 8; + ObjectEventUpdateZCoord(objEvent); } static void sub_80877DC(u8 linkPlayerId, u8 a2) { - if (gLinkPlayerEventObjects[linkPlayerId].active) + if (gLinkPlayerObjectEvents[linkPlayerId].active) { - u8 eventObjId = gLinkPlayerEventObjects[linkPlayerId].eventObjId; - struct EventObject *eventObj = &gEventObjects[eventObjId]; - eventObj->range.as_byte = a2; + u8 objEventId = gLinkPlayerObjectEvents[linkPlayerId].objEventId; + struct ObjectEvent *objEvent = &gObjectEvents[objEventId]; + objEvent->range.as_byte = a2; } } static void sub_808780C(u8 linkPlayerId) { - struct LinkPlayerEventObject *linkPlayerEventObj = &gLinkPlayerEventObjects[linkPlayerId]; - u8 eventObjId = linkPlayerEventObj->eventObjId; - struct EventObject *eventObj = &gEventObjects[eventObjId]; - if (eventObj->spriteId != MAX_SPRITES) - DestroySprite(&gSprites[eventObj->spriteId]); - linkPlayerEventObj->active = 0; - eventObj->active = 0; + struct LinkPlayerObjectEvent *linkPlayerObjEvent = &gLinkPlayerObjectEvents[linkPlayerId]; + u8 objEventId = linkPlayerObjEvent->objEventId; + struct ObjectEvent *objEvent = &gObjectEvents[objEventId]; + if (objEvent->spriteId != MAX_SPRITES) + DestroySprite(&gSprites[objEvent->spriteId]); + linkPlayerObjEvent->active = 0; + objEvent->active = 0; } // Returns the spriteId corresponding to this player. static u8 GetSpriteForLinkedPlayer(u8 linkPlayerId) { - u8 eventObjId = gLinkPlayerEventObjects[linkPlayerId].eventObjId; - struct EventObject *eventObj = &gEventObjects[eventObjId]; - return eventObj->spriteId; + u8 objEventId = gLinkPlayerObjectEvents[linkPlayerId].objEventId; + struct ObjectEvent *objEvent = &gObjectEvents[objEventId]; + return objEvent->spriteId; } static void GetLinkPlayerCoords(u8 linkPlayerId, u16 *x, u16 *y) { - u8 eventObjId = gLinkPlayerEventObjects[linkPlayerId].eventObjId; - struct EventObject *eventObj = &gEventObjects[eventObjId]; - *x = eventObj->currentCoords.x; - *y = eventObj->currentCoords.y; + u8 objEventId = gLinkPlayerObjectEvents[linkPlayerId].objEventId; + struct ObjectEvent *objEvent = &gObjectEvents[objEventId]; + *x = objEvent->currentCoords.x; + *y = objEvent->currentCoords.y; } static u8 GetLinkPlayerFacingDirection(u8 linkPlayerId) { - u8 eventObjId = gLinkPlayerEventObjects[linkPlayerId].eventObjId; - struct EventObject *eventObj = &gEventObjects[eventObjId]; - return eventObj->range.as_byte; + u8 objEventId = gLinkPlayerObjectEvents[linkPlayerId].objEventId; + struct ObjectEvent *objEvent = &gObjectEvents[objEventId]; + return objEvent->range.as_byte; } static u8 GetLinkPlayerElevation(u8 linkPlayerId) { - u8 eventObjId = gLinkPlayerEventObjects[linkPlayerId].eventObjId; - struct EventObject *eventObj = &gEventObjects[eventObjId]; - return eventObj->currentElevation; + u8 objEventId = gLinkPlayerObjectEvents[linkPlayerId].objEventId; + struct ObjectEvent *objEvent = &gObjectEvents[objEventId]; + return objEvent->currentElevation; } static s32 sub_80878E4(u8 linkPlayerId) { - u8 eventObjId = gLinkPlayerEventObjects[linkPlayerId].eventObjId; - struct EventObject *eventObj = &gEventObjects[eventObjId]; - return 16 - (s8)eventObj->directionSequenceIndex; + u8 objEventId = gLinkPlayerObjectEvents[linkPlayerId].objEventId; + struct ObjectEvent *objEvent = &gObjectEvents[objEventId]; + return 16 - (s8)objEvent->directionSequenceIndex; } static u8 GetLinkPlayerIdAt(s16 x, s16 y) @@ -3029,11 +3029,11 @@ static u8 GetLinkPlayerIdAt(s16 x, s16 y) u8 i; for (i = 0; i < MAX_LINK_PLAYERS; i++) { - if (gLinkPlayerEventObjects[i].active - && (gLinkPlayerEventObjects[i].movementMode == 0 || gLinkPlayerEventObjects[i].movementMode == 2)) + if (gLinkPlayerObjectEvents[i].active + && (gLinkPlayerObjectEvents[i].movementMode == 0 || gLinkPlayerObjectEvents[i].movementMode == 2)) { - struct EventObject *eventObj = &gEventObjects[gLinkPlayerEventObjects[i].eventObjId]; - if (eventObj->currentCoords.x == x && eventObj->currentCoords.y == y) + struct ObjectEvent *objEvent = &gObjectEvents[gLinkPlayerObjectEvents[i].objEventId]; + if (objEvent->currentCoords.x == x && objEvent->currentCoords.y == y) return i; } } @@ -3042,23 +3042,23 @@ static u8 GetLinkPlayerIdAt(s16 x, s16 y) static void SetPlayerFacingDirection(u8 linkPlayerId, u8 facing) { - struct LinkPlayerEventObject *linkPlayerEventObj = &gLinkPlayerEventObjects[linkPlayerId]; - u8 eventObjId = linkPlayerEventObj->eventObjId; - struct EventObject *eventObj = &gEventObjects[eventObjId]; + struct LinkPlayerObjectEvent *linkPlayerObjEvent = &gLinkPlayerObjectEvents[linkPlayerId]; + u8 objEventId = linkPlayerObjEvent->objEventId; + struct ObjectEvent *objEvent = &gObjectEvents[objEventId]; - if (linkPlayerEventObj->active) + if (linkPlayerObjEvent->active) { if (facing > FACING_FORCED_RIGHT) { - eventObj->triggerGroundEffectsOnMove = 1; + objEvent->triggerGroundEffectsOnMove = 1; } else { // This is a hack to split this code onto two separate lines, without declaring a local variable. // C++ style inline variables would be nice here. - #define TEMP gLinkPlayerMovementModes[linkPlayerEventObj->movementMode](linkPlayerEventObj, eventObj, facing) + #define TEMP gLinkPlayerMovementModes[linkPlayerObjEvent->movementMode](linkPlayerObjEvent, objEvent, facing) - gMovementStatusHandler[TEMP](linkPlayerEventObj, eventObj); + gMovementStatusHandler[TEMP](linkPlayerObjEvent, objEvent); // Clean up the hack. #undef TEMP @@ -3067,68 +3067,68 @@ static void SetPlayerFacingDirection(u8 linkPlayerId, u8 facing) } -static u8 MovementEventModeCB_Normal(struct LinkPlayerEventObject *linkPlayerEventObj, struct EventObject *eventObj, u8 a3) +static u8 MovementEventModeCB_Normal(struct LinkPlayerObjectEvent *linkPlayerObjEvent, struct ObjectEvent *objEvent, u8 a3) { - return gLinkPlayerFacingHandlers[a3](linkPlayerEventObj, eventObj, a3); + return gLinkPlayerFacingHandlers[a3](linkPlayerObjEvent, objEvent, a3); } -static u8 MovementEventModeCB_Ignored(struct LinkPlayerEventObject *linkPlayerEventObj, struct EventObject *eventObj, u8 a3) +static u8 MovementEventModeCB_Ignored(struct LinkPlayerObjectEvent *linkPlayerObjEvent, struct ObjectEvent *objEvent, u8 a3) { return FACING_UP; } // Duplicate Function -static u8 MovementEventModeCB_Normal_2(struct LinkPlayerEventObject *linkPlayerEventObj, struct EventObject *eventObj, u8 a3) +static u8 MovementEventModeCB_Normal_2(struct LinkPlayerObjectEvent *linkPlayerObjEvent, struct ObjectEvent *objEvent, u8 a3) { - return gLinkPlayerFacingHandlers[a3](linkPlayerEventObj, eventObj, a3); + return gLinkPlayerFacingHandlers[a3](linkPlayerObjEvent, objEvent, a3); } -static bool8 FacingHandler_DoNothing(struct LinkPlayerEventObject *linkPlayerEventObj, struct EventObject *eventObj, u8 a3) +static bool8 FacingHandler_DoNothing(struct LinkPlayerObjectEvent *linkPlayerObjEvent, struct ObjectEvent *objEvent, u8 a3) { return FALSE; } -static bool8 FacingHandler_DpadMovement(struct LinkPlayerEventObject *linkPlayerEventObj, struct EventObject *eventObj, u8 a3) +static bool8 FacingHandler_DpadMovement(struct LinkPlayerObjectEvent *linkPlayerObjEvent, struct ObjectEvent *objEvent, u8 a3) { s16 x, y; - eventObj->range.as_byte = FlipVerticalAndClearForced(a3, eventObj->range.as_byte); - EventObjectMoveDestCoords(eventObj, eventObj->range.as_byte, &x, &y); + objEvent->range.as_byte = FlipVerticalAndClearForced(a3, objEvent->range.as_byte); + ObjectEventMoveDestCoords(objEvent, objEvent->range.as_byte, &x, &y); - if (LinkPlayerDetectCollision(linkPlayerEventObj->eventObjId, eventObj->range.as_byte, x, y)) + if (LinkPlayerDetectCollision(linkPlayerObjEvent->objEventId, objEvent->range.as_byte, x, y)) { return FALSE; } else { - eventObj->directionSequenceIndex = 16; - ShiftEventObjectCoords(eventObj, x, y); - EventObjectUpdateZCoord(eventObj); + objEvent->directionSequenceIndex = 16; + ShiftObjectEventCoords(objEvent, x, y); + ObjectEventUpdateZCoord(objEvent); return TRUE; } } -static bool8 FacingHandler_ForcedFacingChange(struct LinkPlayerEventObject *linkPlayerEventObj, struct EventObject *eventObj, u8 a3) +static bool8 FacingHandler_ForcedFacingChange(struct LinkPlayerObjectEvent *linkPlayerObjEvent, struct ObjectEvent *objEvent, u8 a3) { - eventObj->range.as_byte = FlipVerticalAndClearForced(a3, eventObj->range.as_byte); + objEvent->range.as_byte = FlipVerticalAndClearForced(a3, objEvent->range.as_byte); return FALSE; } // This is called every time a free movement happens. Most of the time it's a No-Op. -static void MovementStatusHandler_EnterFreeMode(struct LinkPlayerEventObject *linkPlayerEventObj, struct EventObject *eventObj) +static void MovementStatusHandler_EnterFreeMode(struct LinkPlayerObjectEvent *linkPlayerObjEvent, struct ObjectEvent *objEvent) { - linkPlayerEventObj->movementMode = MOVEMENT_MODE_FREE; + linkPlayerObjEvent->movementMode = MOVEMENT_MODE_FREE; } -static void MovementStatusHandler_TryAdvanceScript(struct LinkPlayerEventObject *linkPlayerEventObj, struct EventObject *eventObj) +static void MovementStatusHandler_TryAdvanceScript(struct LinkPlayerObjectEvent *linkPlayerObjEvent, struct ObjectEvent *objEvent) { - eventObj->directionSequenceIndex--; - linkPlayerEventObj->movementMode = MOVEMENT_MODE_FROZEN; - MoveCoords(eventObj->range.as_byte, &eventObj->initialCoords.x, &eventObj->initialCoords.y); - if (!eventObj->directionSequenceIndex) + objEvent->directionSequenceIndex--; + linkPlayerObjEvent->movementMode = MOVEMENT_MODE_FROZEN; + MoveCoords(objEvent->range.as_byte, &objEvent->initialCoords.x, &objEvent->initialCoords.y); + if (!objEvent->directionSequenceIndex) { - ShiftStillEventObjectCoords(eventObj); - linkPlayerEventObj->movementMode = MOVEMENT_MODE_SCRIPTED; + ShiftStillObjectEventCoords(objEvent); + linkPlayerObjEvent->movementMode = MOVEMENT_MODE_SCRIPTED; } } @@ -3155,15 +3155,15 @@ static u8 FlipVerticalAndClearForced(u8 newFacing, u8 oldFacing) return oldFacing; } -static u8 LinkPlayerDetectCollision(u8 selfEventObjId, u8 a2, s16 x, s16 y) +static u8 LinkPlayerDetectCollision(u8 selfObjEventId, u8 a2, s16 x, s16 y) { u8 i; for (i = 0; i < 16; i++) { - if (i != selfEventObjId) + if (i != selfObjEventId) { - if ((gEventObjects[i].currentCoords.x == x && gEventObjects[i].currentCoords.y == y) - || (gEventObjects[i].previousCoords.x == x && gEventObjects[i].previousCoords.y == y)) + if ((gObjectEvents[i].currentCoords.x == x && gObjectEvents[i].currentCoords.y == y) + || (gObjectEvents[i].previousCoords.x == x && gObjectEvents[i].previousCoords.y == y)) { return 1; } @@ -3174,51 +3174,51 @@ static u8 LinkPlayerDetectCollision(u8 selfEventObjId, u8 a2, s16 x, s16 y) static void CreateLinkPlayerSprite(u8 linkPlayerId, u8 gameVersion) { - struct LinkPlayerEventObject *linkPlayerEventObj = &gLinkPlayerEventObjects[linkPlayerId]; - u8 eventObjId = linkPlayerEventObj->eventObjId; - struct EventObject *eventObj = &gEventObjects[eventObjId]; + struct LinkPlayerObjectEvent *linkPlayerObjEvent = &gLinkPlayerObjectEvents[linkPlayerId]; + u8 objEventId = linkPlayerObjEvent->objEventId; + struct ObjectEvent *objEvent = &gObjectEvents[objEventId]; struct Sprite *sprite; - if (linkPlayerEventObj->active) + if (linkPlayerObjEvent->active) { switch (gameVersion) { case VERSION_FIRE_RED: case VERSION_LEAF_GREEN: - eventObj->spriteId = AddPseudoEventObject(GetFRLGAvatarGraphicsIdByGender(eventObj->singleMovementActive), SpriteCB_LinkPlayer, 0, 0, 0); + objEvent->spriteId = AddPseudoObjectEvent(GetFRLGAvatarGraphicsIdByGender(objEvent->singleMovementActive), SpriteCB_LinkPlayer, 0, 0, 0); break; case VERSION_RUBY: case VERSION_SAPPHIRE: - eventObj->spriteId = AddPseudoEventObject(GetRSAvatarGraphicsIdByGender(eventObj->singleMovementActive), SpriteCB_LinkPlayer, 0, 0, 0); + objEvent->spriteId = AddPseudoObjectEvent(GetRSAvatarGraphicsIdByGender(objEvent->singleMovementActive), SpriteCB_LinkPlayer, 0, 0, 0); break; case VERSION_EMERALD: - eventObj->spriteId = AddPseudoEventObject(GetRivalAvatarGraphicsIdByStateIdAndGender(PLAYER_AVATAR_STATE_NORMAL, eventObj->singleMovementActive), SpriteCB_LinkPlayer, 0, 0, 0); + objEvent->spriteId = AddPseudoObjectEvent(GetRivalAvatarGraphicsIdByStateIdAndGender(PLAYER_AVATAR_STATE_NORMAL, objEvent->singleMovementActive), SpriteCB_LinkPlayer, 0, 0, 0); break; } - sprite = &gSprites[eventObj->spriteId]; + sprite = &gSprites[objEvent->spriteId]; sprite->coordOffsetEnabled = TRUE; sprite->data[0] = linkPlayerId; - eventObj->triggerGroundEffectsOnMove = 0; + objEvent->triggerGroundEffectsOnMove = 0; } } static void SpriteCB_LinkPlayer(struct Sprite *sprite) { - struct LinkPlayerEventObject *linkPlayerEventObj = &gLinkPlayerEventObjects[sprite->data[0]]; - struct EventObject *eventObj = &gEventObjects[linkPlayerEventObj->eventObjId]; - sprite->pos1.x = eventObj->initialCoords.x; - sprite->pos1.y = eventObj->initialCoords.y; - SetObjectSubpriorityByZCoord(eventObj->previousElevation, sprite, 1); - sprite->oam.priority = ZCoordToPriority(eventObj->previousElevation); + struct LinkPlayerObjectEvent *linkPlayerObjEvent = &gLinkPlayerObjectEvents[sprite->data[0]]; + struct ObjectEvent *objEvent = &gObjectEvents[linkPlayerObjEvent->objEventId]; + sprite->pos1.x = objEvent->initialCoords.x; + sprite->pos1.y = objEvent->initialCoords.y; + SetObjectSubpriorityByZCoord(objEvent->previousElevation, sprite, 1); + sprite->oam.priority = ZCoordToPriority(objEvent->previousElevation); - if (!linkPlayerEventObj->movementMode != MOVEMENT_MODE_FREE) - StartSpriteAnim(sprite, GetFaceDirectionAnimNum(eventObj->range.as_byte)); + if (!linkPlayerObjEvent->movementMode != MOVEMENT_MODE_FREE) + StartSpriteAnim(sprite, GetFaceDirectionAnimNum(objEvent->range.as_byte)); else - StartSpriteAnimIfDifferent(sprite, GetMoveDirectionAnimNum(eventObj->range.as_byte)); + StartSpriteAnimIfDifferent(sprite, GetMoveDirectionAnimNum(objEvent->range.as_byte)); - UpdateEventObjectSpriteVisibility(sprite, 0); - if (eventObj->triggerGroundEffectsOnMove) + UpdateObjectEventSpriteVisibility(sprite, 0); + if (objEvent->triggerGroundEffectsOnMove) { sprite->invisible = ((sprite->data[7] & 4) >> 2); sprite->data[7]++; diff --git a/src/party_menu.c b/src/party_menu.c index d0eaa42fd..0a119f03d 100755 --- a/src/party_menu.c +++ b/src/party_menu.c @@ -3527,7 +3527,7 @@ static void CursorCb_Register(u8 taskId) u16 species = GetMonData(&gPlayerParty[gPartyMenu.slotId], MON_DATA_SPECIES); u8 obedience = GetMonData(&gPlayerParty[gPartyMenu.slotId], MON_DATA_OBEDIENCE); - switch (CanRegisterMonForTradingBoard(*(struct UnkLinkRfuStruct_02022B14Substruct *)sub_800F7DC(), species2, species, obedience)) + switch (CanRegisterMonForTradingBoard(*(struct GFtgtGnameSub *)sub_800F7DC(), species2, species, obedience)) { case CANT_REGISTER_MON: StringExpandPlaceholders(gStringVar4, gText_PkmnCantBeTradedNow); @@ -3553,7 +3553,7 @@ static void CursorCb_Trade1(u8 taskId) u16 species2 = GetMonData(&gPlayerParty[gPartyMenu.slotId], MON_DATA_SPECIES2); u16 species = GetMonData(&gPlayerParty[gPartyMenu.slotId], MON_DATA_SPECIES); u8 obedience = GetMonData(&gPlayerParty[gPartyMenu.slotId], MON_DATA_OBEDIENCE); - u32 stringId = GetUnionRoomTradeMessageId(*(struct UnkLinkRfuStruct_02022B14Substruct *)sub_800F7DC(), gUnknown_02022C38, species2, gUnionRoomOfferedSpecies, gUnionRoomRequestedMonType, species, obedience); + u32 stringId = GetUnionRoomTradeMessageId(*(struct GFtgtGnameSub *)sub_800F7DC(), gUnknown_02022C38, species2, gUnionRoomOfferedSpecies, gUnionRoomRequestedMonType, species, obedience); if (stringId != UR_TRADE_MSG_NONE) { diff --git a/src/player_pc.c b/src/player_pc.c index bf3a5b01d..bb2361779 100644 --- a/src/player_pc.c +++ b/src/player_pc.c @@ -505,7 +505,7 @@ void sub_816B31C(void) void Mailbox_DoRedrawMailboxMenuAfterReturn(void) { - sub_81973A4(); + LoadMessageBoxAndBorderGfx(); DrawDialogueFrame(0, 1); InitItemStorageMenu(CreateTask(ItemStorage_HandleReturnToProcessInput, 0), 1); FadeInFromBlack(); @@ -739,7 +739,7 @@ static void pal_fill_for_maplights_or_black(void) { u8 taskId; - sub_81973A4(); + LoadMessageBoxAndBorderGfx(); taskId = CreateTask(Mailbox_HandleReturnToProcessInput, 0); if (sub_81D1C44(playerPCItemPageInfo.count) == TRUE) Mailbox_DrawMailboxMenu(taskId); @@ -847,7 +847,7 @@ static void Mailbox_UpdateMailListAfterDeposit(void) && playerPCItemPageInfo.itemsAbove != 0) playerPCItemPageInfo.itemsAbove--; ItemStorage_SetItemAndMailCount(taskId); - sub_81973A4(); + LoadMessageBoxAndBorderGfx(); if (sub_81D1C44(playerPCItemPageInfo.count) == TRUE) Mailbox_DrawMailboxMenu(taskId); else diff --git a/src/pokemon.c b/src/pokemon.c index 3f49c0440..ec29af02d 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -1895,14 +1895,26 @@ static const u16 sDeoxysBaseStats[] = [STAT_SPDEF] = 90, }; -const u16 gLinkPlayerFacilityClasses[] = -{ - FACILITY_CLASS_COOLTRAINER_M, FACILITY_CLASS_BLACK_BELT, FACILITY_CLASS_CAMPER, - FACILITY_CLASS_YOUNGSTER, FACILITY_CLASS_PSYCHIC_M, FACILITY_CLASS_BUG_CATCHER, - FACILITY_CLASS_PKMN_BREEDER_M, FACILITY_CLASS_GUITARIST, - FACILITY_CLASS_COOLTRAINER_F, FACILITY_CLASS_HEX_MANIAC, FACILITY_CLASS_PICNICKER, - FACILITY_CLASS_LASS, FACILITY_CLASS_PSYCHIC_F, FACILITY_CLASS_BATTLE_GIRL, - FACILITY_CLASS_PKMN_BREEDER_F, FACILITY_CLASS_BEAUTY +const u16 gLinkPlayerFacilityClasses[NUM_MALE_LINK_FACILITY_CLASSES + NUM_FEMALE_LINK_FACILITY_CLASSES] = +{ + // Male classes + FACILITY_CLASS_COOLTRAINER_M, + FACILITY_CLASS_BLACK_BELT, + FACILITY_CLASS_CAMPER, + FACILITY_CLASS_YOUNGSTER, + FACILITY_CLASS_PSYCHIC_M, + FACILITY_CLASS_BUG_CATCHER, + FACILITY_CLASS_PKMN_BREEDER_M, + FACILITY_CLASS_GUITARIST, + // Female Classes + FACILITY_CLASS_COOLTRAINER_F, + FACILITY_CLASS_HEX_MANIAC, + FACILITY_CLASS_PICNICKER, + FACILITY_CLASS_LASS, + FACILITY_CLASS_PSYCHIC_F, + FACILITY_CLASS_BATTLE_GIRL, + FACILITY_CLASS_PKMN_BREEDER_F, + FACILITY_CLASS_BEAUTY }; static const u8 sHoldEffectToType[][2] = diff --git a/src/pokemon_jump.c b/src/pokemon_jump.c index c7ce6ddf7..6c76b15a6 100755 --- a/src/pokemon_jump.c +++ b/src/pokemon_jump.c @@ -1674,8 +1674,7 @@ static void sub_802BF7C(void) static int sub_802C098(void) { - // The number 1103515245 comes from the example implementation of rand and srand - gUnknown_02022CFC->unk24 = gUnknown_02022CFC->unk24 * 1103515245 + 24691; + gUnknown_02022CFC->unk24 = ISO_RANDOMIZE1(gUnknown_02022CFC->unk24); return gUnknown_02022CFC->unk24 >> 16; } @@ -2040,7 +2039,7 @@ static int sub_802C6B0(void) static bool32 sub_802C70C(void) { - return !gUnknown_03005000.unk_124.unk_8c2 && !gUnknown_03005000.unk_9e8.unk_232; + return !Rfu.unk_124.unk_8c2 && !Rfu.unk_9e8.unk_232; } static int sub_802C73C(u8 *arg0) @@ -2120,61 +2119,23 @@ static u16 sub_802C818(void) return gUnknown_082FB704[index]; } -#ifdef NONMATCHING -// Impossible to match. static u16 sub_802C838(void) { u32 val, i; val = 0; - for (i = 0; i < 5; val = gUnknown_082FB714[i][1], i++) + for (i = 0; i < 5; i++) { if (gUnknown_02022CFC->unk70.unk8 < gUnknown_082FB714[i][0]) break; + else if (1) + val = gUnknown_082FB714[i][1]; + else + break; } return val; } -#else -NAKED -static u16 sub_802C838(void) -{ - asm_unified("\n\ - push {r4-r6,lr}\n\ - movs r5, 0\n\ - movs r4, 0\n\ - ldr r3, =gUnknown_02022CFC\n\ - ldr r0, [r3]\n\ - ldr r2, =gUnknown_082FB714\n\ - ldr r1, [r0, 0x78]\n\ - ldr r0, [r2]\n\ - cmp r1, r0\n\ - bcc _0802C874\n\ - ldr r5, [r2, 0x4]\n\ - adds r6, r3, 0\n\ - adds r3, r2, 0x4\n\ -_0802C852:\n\ - adds r3, 0x8\n\ - adds r2, 0x8\n\ - adds r4, 0x1\n\ - cmp r4, 0x4\n\ - bhi _0802C874\n\ - ldr r0, [r6]\n\ - ldr r1, [r0, 0x78]\n\ - ldr r0, [r2]\n\ - cmp r1, r0\n\ - bcc _0802C874\n\ - ldr r5, [r3]\n\ - b _0802C852\n\ - .pool\n\ -_0802C874:\n\ - lsls r0, r5, 16\n\ - lsrs r0, 16\n\ - pop {r4-r6}\n\ - pop {r1}\n\ - bx r1"); -} -#endif static u16 sub_802C880(u16 item, u16 quantity) { diff --git a/src/pokemon_storage_system.c b/src/pokemon_storage_system.c index f5a013209..1660316de 100644 --- a/src/pokemon_storage_system.c +++ b/src/pokemon_storage_system.c @@ -36,6 +36,7 @@ #include "trig.h" #include "walda_phrase.h" #include "window.h" +#include "constants/items.h" #include "constants/maps.h" #include "constants/moves.h" #include "constants/rgb.h" @@ -231,7 +232,7 @@ struct PokemonStorageSystemData struct Sprite *field_D94; struct Sprite *field_D98[2]; u16 *field_DA0; - struct PokemonMarkMenu field_DA4; + struct PokemonMarkMenu markMenu; struct UnkPSSStruct_2002370 field_1E5C; struct Pokemon movingMon; struct Pokemon field_2108; @@ -367,7 +368,7 @@ enum { MODE_PARTY, MODE_BOX, - MODE_2, + MODE_MOVE, }; enum @@ -454,7 +455,7 @@ EWRAM_DATA static u8 sCurrentBoxOption = 0; EWRAM_DATA static u8 gUnknown_02039D0E = 0; EWRAM_DATA static u8 sWhichToReshow = 0; EWRAM_DATA static u8 sLastUsedBox = 0; -EWRAM_DATA static u16 gUnknown_02039D12 = 0; +EWRAM_DATA static u16 sMovingItemId = 0; EWRAM_DATA static struct Pokemon gUnknown_02039D14 = {0}; EWRAM_DATA static s8 sBoxCursorArea = 0; EWRAM_DATA static s8 sBoxCursorPosition = 0; @@ -1735,7 +1736,7 @@ static void Task_PokemonStorageSystemPC(u8 taskId) { case 0: CreatePCMenu(task->data[1], &task->data[15]); - sub_81973A4(); + LoadMessageBoxAndBorderGfx(); DrawDialogueFrame(0, 0); FillWindowPixelBuffer(0, PIXEL_FILL(1)); AddTextPrinterParameterized2(0, 1, gUnknown_085716C0[task->data[1]].desc, TEXT_SPEED_FF, NULL, 2, 1, 3); @@ -2165,7 +2166,7 @@ static void Cb2_EnterPSS(u8 boxOption) { sPSSData->boxOption = boxOption; sPSSData->isReshowingPSS = FALSE; - gUnknown_02039D12 = 0; + sMovingItemId = ITEM_NONE; sPSSData->state = 0; sPSSData->taskId = CreateTask(Cb_InitPSS, 3); sLastUsedBox = StorageGetCurrentBox(); @@ -2227,7 +2228,7 @@ static void sub_80C7F1C(void) gUnknown_02039D0E = 0; } -static void sub_80C7F4C(void) +static void SetMonIconTransparency(void) { if (sPSSData->boxOption == BOX_OPTION_MOVE_ITEMS) { @@ -2321,9 +2322,9 @@ static void Cb_InitPSS(u8 taskId) if (sPSSData->boxOption != BOX_OPTION_MOVE_ITEMS) { - sPSSData->field_DA4.baseTileTag = TAG_TILE_D; - sPSSData->field_DA4.basePaletteTag = TAG_PAL_DACE; - sub_811F90C(&sPSSData->field_DA4); + sPSSData->markMenu.baseTileTag = TAG_TILE_D; + sPSSData->markMenu.basePaletteTag = TAG_PAL_DACE; + sub_811F90C(&sPSSData->markMenu); sub_811FA90(); } else @@ -2333,7 +2334,7 @@ static void Cb_InitPSS(u8 taskId) } break; case 10: - sub_80C7F4C(); + SetMonIconTransparency(); if (!sPSSData->isReshowingPSS) { BlendPalettes(0xFFFFFFFF, 0x10, RGB_BLACK); @@ -3178,7 +3179,7 @@ static void Cb_ShowMarkMenu(u8 taskId) { case 0: PrintStorageActionText(PC_TEXT_MARK_POKE); - sPSSData->field_DA4.markings = sPSSData->cursorMonMarkings; + sPSSData->markMenu.markings = sPSSData->cursorMonMarkings; sub_811FAA4(sPSSData->cursorMonMarkings, 0xb0, 0x10); sPSSData->state++; break; @@ -3187,7 +3188,7 @@ static void Cb_ShowMarkMenu(u8 taskId) { sub_811FAF8(); ClearBottomWindow(); - SetMonMarkings(sPSSData->field_DA4.markings); + SetMonMarkings(sPSSData->markMenu.markings); RefreshCursorMonData(); SetPSSCallback(Cb_MainPSS); } @@ -3863,9 +3864,9 @@ static void Cb_ChangeScreen(u8 taskId) u8 screenChangeType = sPSSData->screenChangeType; if (sPSSData->boxOption == BOX_OPTION_MOVE_ITEMS && IsActiveItemMoving() == TRUE) - gUnknown_02039D12 = GetMovingItem(); + sMovingItemId = GetMovingItem(); else - gUnknown_02039D12 = 0; + sMovingItemId = ITEM_NONE; switch (screenChangeType) { @@ -4496,9 +4497,9 @@ static void sub_80CAEAC(void) sub_80D0D8C(CURSOR_AREA_IN_BOX, GetBoxCursorPosition()); } - if (gUnknown_02039D12 != 0) + if (sMovingItemId != ITEM_NONE) { - sub_80D0F38(gUnknown_02039D12); + sub_80D0F38(sMovingItemId); sub_80CFE54(3); } } @@ -5077,7 +5078,7 @@ static void sub_80CBF14(u8 mode, u8 position) case MODE_BOX: sPSSData->field_B04 = &sPSSData->boxMonsSprites[position]; break; - case MODE_2: + case MODE_MOVE: sPSSData->field_B04 = &sPSSData->movingMonSprite; break; default: @@ -6388,7 +6389,7 @@ static void sub_80CE250(void) u8 mode; if (sIsMonBeingMoved) - mode = MODE_2; + mode = MODE_MOVE; else if (sBoxCursorArea == CURSOR_AREA_IN_PARTY) mode = MODE_PARTY; else @@ -6756,7 +6757,7 @@ static void sub_80CEB40(void) // fallthrough case CURSOR_AREA_BUTTONS: case CURSOR_AREA_BOX: - SetCursorMonData(NULL, MODE_2); + SetCursorMonData(NULL, MODE_MOVE); break; case CURSOR_AREA_IN_BOX: SetCursorMonData(GetBoxedMonPtr(StorageGetCurrentBox(), sBoxCursorPosition), MODE_BOX); diff --git a/src/random.c b/src/random.c index b570a7bc3..de923fba6 100644 --- a/src/random.c +++ b/src/random.c @@ -1,9 +1,6 @@ #include "global.h" #include "random.h" -// The number 1103515245 comes from the example implementation of rand and srand -// in the ISO C standard. - EWRAM_DATA static u8 sUnknown = 0; EWRAM_DATA static u32 sRandCount = 0; @@ -13,7 +10,7 @@ u32 gRng2Value; u16 Random(void) { - gRngValue = 1103515245 * gRngValue + 24691; + gRngValue = ISO_RANDOMIZE1(gRngValue); sRandCount++; return gRngValue >> 16; } @@ -31,6 +28,6 @@ void SeedRng2(u16 seed) u16 Random2(void) { - gRng2Value = 1103515245 * gRng2Value + 24691; + gRng2Value = ISO_RANDOMIZE1(gRng2Value); return gRng2Value >> 16; } diff --git a/src/record_mixing.c b/src/record_mixing.c index f290c8554..3a93d72f8 100644 --- a/src/record_mixing.c +++ b/src/record_mixing.c @@ -932,7 +932,7 @@ static void ReceiveGiftItem(u16 *item, u8 which) VarSet(VAR_TEMP_1, *item); StringCopy(gStringVar1, gLinkPlayers[0].name); if (*item == ITEM_EON_TICKET) - FlagSet(FLAG_SYS_HAS_EON_TICKET); + FlagSet(FLAG_ENABLE_SHIP_SOUTHERN_ISLAND); } else { diff --git a/src/reset_rtc_screen.c b/src/reset_rtc_screen.c index efad640e3..07e96f3bd 100644 --- a/src/reset_rtc_screen.c +++ b/src/reset_rtc_screen.c @@ -475,7 +475,7 @@ static void sub_809F048(void) ShowBg(0); InitWindows(sUnknown_08510408); DeactivateAllTextPrinters(); - sub_81973A4(); + LoadMessageBoxAndBorderGfx(); } static void CB2_ResetRtcScreen(void) diff --git a/src/rotating_tile_puzzle.c b/src/rotating_tile_puzzle.c index 7238ec751..fd26361dd 100644 --- a/src/rotating_tile_puzzle.c +++ b/src/rotating_tile_puzzle.c @@ -4,19 +4,10 @@ #include "malloc.h" #include "rotating_tile_puzzle.h" #include "script_movement.h" -#include "constants/event_object_movement_constants.h" +#include "constants/event_object_movement.h" #include "constants/event_objects.h" #include "constants/metatile_labels.h" -extern const u8 RotatingTilePuzzle_Movement_ShiftRight[]; -extern const u8 RotatingTilePuzzle_Movement_ShiftDown[]; -extern const u8 RotatingTilePuzzle_Movement_ShiftLeft[]; -extern const u8 RotatingTilePuzzle_Movement_ShiftUp[]; -extern const u8 RotatingTilePuzzle_Movement_FaceRight[]; -extern const u8 RotatingTilePuzzle_Movement_FaceDown[]; -extern const u8 RotatingTilePuzzle_Movement_FaceLeft[]; -extern const u8 RotatingTilePuzzle_Movement_FaceUp[]; - #define ROTATE_COUNTERCLOCKWISE 0 #define ROTATE_CLOCKWISE 1 #define ROTATE_NONE 2 @@ -29,11 +20,67 @@ struct RotatingTileObject struct RotatingTilePuzzle { - struct RotatingTileObject objects[EVENT_OBJECTS_COUNT]; + struct RotatingTileObject objects[OBJECT_EVENTS_COUNT]; u8 numObjects; bool8 isTrickHouse; }; +static const u8 sMovement_ShiftRight[] = +{ + MOVEMENT_ACTION_STORE_AND_LOCK_ANIM, + MOVEMENT_ACTION_WALK_NORMAL_RIGHT, + MOVEMENT_ACTION_FREE_AND_UNLOCK_ANIM, + MOVEMENT_ACTION_STEP_END +}; + +static const u8 sMovement_ShiftDown[] = +{ + MOVEMENT_ACTION_STORE_AND_LOCK_ANIM, + MOVEMENT_ACTION_WALK_NORMAL_DOWN, + MOVEMENT_ACTION_FREE_AND_UNLOCK_ANIM, + MOVEMENT_ACTION_STEP_END +}; + +static const u8 sMovement_ShiftLeft[] = +{ + MOVEMENT_ACTION_STORE_AND_LOCK_ANIM, + MOVEMENT_ACTION_WALK_NORMAL_LEFT, + MOVEMENT_ACTION_FREE_AND_UNLOCK_ANIM, + MOVEMENT_ACTION_STEP_END +}; + +static const u8 sMovement_ShiftUp[] = +{ + MOVEMENT_ACTION_STORE_AND_LOCK_ANIM, + MOVEMENT_ACTION_WALK_NORMAL_UP, + MOVEMENT_ACTION_FREE_AND_UNLOCK_ANIM, + MOVEMENT_ACTION_STEP_END +}; + +static const u8 sMovement_FaceRight[] = +{ + MOVEMENT_ACTION_FACE_RIGHT, + MOVEMENT_ACTION_STEP_END +}; + +static const u8 sMovement_FaceDown[] = +{ + MOVEMENT_ACTION_FACE_DOWN, + MOVEMENT_ACTION_STEP_END +}; + +static const u8 sMovement_FaceLeft[] = +{ + MOVEMENT_ACTION_FACE_LEFT, + MOVEMENT_ACTION_STEP_END +}; + +static const u8 sMovement_FaceUp[] = +{ + MOVEMENT_ACTION_FACE_UP, + MOVEMENT_ACTION_STEP_END +}; + // This file's functions. static void SaveRotatingTileObject(u8 eventTemplateId, u8 arg1); static void TurnUnsavedRotatingTileObject(u8 eventTemplateId, u8 arg1); @@ -57,23 +104,23 @@ void FreeRotatingTilePuzzle(void) if (sRotatingTilePuzzle != NULL) FREE_AND_SET_NULL(sRotatingTilePuzzle); - id = GetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0); - EventObjectClearHeldMovementIfFinished(&gEventObjects[id]); - ScriptMovement_UnfreezeEventObjects(); + id = GetObjectEventIdByLocalIdAndMap(OBJ_EVENT_ID_PLAYER, 0, 0); + ObjectEventClearHeldMovementIfFinished(&gObjectEvents[id]); + ScriptMovement_UnfreezeObjectEvents(); } u16 MoveRotatingTileObjects(u8 puzzleNumber) { u8 i; - struct EventObjectTemplate *eventObjects = gSaveBlock1Ptr->eventObjectTemplates; + struct ObjectEventTemplate *objectEvents = gSaveBlock1Ptr->objectEventTemplates; u16 localId = 0; - for (i = 0; i < EVENT_OBJECT_TEMPLATES_COUNT; i++) + for (i = 0; i < OBJECT_EVENT_TEMPLATES_COUNT; i++) { s32 puzzleTileStart; u8 puzzleTileNum; - s16 x = eventObjects[i].x + 7; - s16 y = eventObjects[i].y + 7; + s16 x = objectEvents[i].x + 7; + s16 y = objectEvents[i].y + 7; u16 metatile = MapGridGetMetatileIdAt(x, y); if (!sRotatingTilePuzzle->isTrickHouse) @@ -106,31 +153,31 @@ u16 MoveRotatingTileObjects(u8 puzzleNumber) switch (puzzleTileNum) { case 0: // Right Arrow - movementScript = RotatingTilePuzzle_Movement_ShiftRight; + movementScript = sMovement_ShiftRight; x = 1; break; case 1: // Down Arrow - movementScript = RotatingTilePuzzle_Movement_ShiftDown; + movementScript = sMovement_ShiftDown; y = 1; break; case 2: // Left Arrow - movementScript = RotatingTilePuzzle_Movement_ShiftLeft; + movementScript = sMovement_ShiftLeft; x = -1; break; case 3: // Up Arrow - movementScript = RotatingTilePuzzle_Movement_ShiftUp; + movementScript = sMovement_ShiftUp; y = -1; break; default: continue; } - eventObjects[i].x += x; - eventObjects[i].y += y; - if (GetEventObjectIdByLocalIdAndMap(eventObjects[i].localId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup) != EVENT_OBJECTS_COUNT) + objectEvents[i].x += x; + objectEvents[i].y += y; + if (GetObjectEventIdByLocalIdAndMap(objectEvents[i].localId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup) != OBJECT_EVENTS_COUNT) { SaveRotatingTileObject(i, puzzleTileNum); - localId = eventObjects[i].localId; + localId = objectEvents[i].localId; ScriptMovement_StartObjectMovementScript(localId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, movementScript); } // Never reached in normal gameplay @@ -148,7 +195,7 @@ void TurnRotatingTileObjects(void) { u8 i; s32 puzzleTileStart; - struct EventObjectTemplate *eventObjects; + struct ObjectEventTemplate *objectEvents; if (sRotatingTilePuzzle == NULL) return; @@ -158,14 +205,14 @@ void TurnRotatingTileObjects(void) else puzzleTileStart = METATILE_TrickHousePuzzle_Arrow_YellowOnWhite_Right; - eventObjects = gSaveBlock1Ptr->eventObjectTemplates; + objectEvents = gSaveBlock1Ptr->objectEventTemplates; for (i = 0; i < sRotatingTilePuzzle->numObjects; i++) { s32 rotation; s8 tileDifference; - u8 eventObjectId; - s16 x = eventObjects[sRotatingTilePuzzle->objects[i].eventTemplateId].x + 7; - s16 y = eventObjects[sRotatingTilePuzzle->objects[i].eventTemplateId].y + 7; + u8 objectEventId; + s16 x = objectEvents[sRotatingTilePuzzle->objects[i].eventTemplateId].x + 7; + s16 y = objectEvents[sRotatingTilePuzzle->objects[i].eventTemplateId].y + 7; u16 metatile = MapGridGetMetatileIdAt(x, y); // NOTE: The following 2 assignments and if else could all be replaced with rotation = ROTATE_COUNTERCLOCKWISE @@ -194,35 +241,35 @@ void TurnRotatingTileObjects(void) rotation = ROTATE_NONE; } - eventObjectId = GetEventObjectIdByLocalIdAndMap(eventObjects[sRotatingTilePuzzle->objects[i].eventTemplateId].localId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); - if (eventObjectId != EVENT_OBJECTS_COUNT) + objectEventId = GetObjectEventIdByLocalIdAndMap(objectEvents[sRotatingTilePuzzle->objects[i].eventTemplateId].localId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); + if (objectEventId != OBJECT_EVENTS_COUNT) { const u8 *movementScript; - u8 direction = gEventObjects[eventObjectId].facingDirection; + u8 direction = gObjectEvents[objectEventId].facingDirection; if (rotation == ROTATE_COUNTERCLOCKWISE) { switch (direction) { case DIR_EAST: - movementScript = RotatingTilePuzzle_Movement_FaceUp; - eventObjects[sRotatingTilePuzzle->objects[i].eventTemplateId].movementType = MOVEMENT_TYPE_FACE_UP; + movementScript = sMovement_FaceUp; + objectEvents[sRotatingTilePuzzle->objects[i].eventTemplateId].movementType = MOVEMENT_TYPE_FACE_UP; break; case DIR_SOUTH: - movementScript = RotatingTilePuzzle_Movement_FaceRight; - eventObjects[sRotatingTilePuzzle->objects[i].eventTemplateId].movementType = MOVEMENT_TYPE_FACE_RIGHT; + movementScript = sMovement_FaceRight; + objectEvents[sRotatingTilePuzzle->objects[i].eventTemplateId].movementType = MOVEMENT_TYPE_FACE_RIGHT; break; case DIR_WEST: - movementScript = RotatingTilePuzzle_Movement_FaceDown; - eventObjects[sRotatingTilePuzzle->objects[i].eventTemplateId].movementType = MOVEMENT_TYPE_FACE_DOWN; + movementScript = sMovement_FaceDown; + objectEvents[sRotatingTilePuzzle->objects[i].eventTemplateId].movementType = MOVEMENT_TYPE_FACE_DOWN; break; case DIR_NORTH: - movementScript = RotatingTilePuzzle_Movement_FaceLeft; - eventObjects[sRotatingTilePuzzle->objects[i].eventTemplateId].movementType = MOVEMENT_TYPE_FACE_LEFT; + movementScript = sMovement_FaceLeft; + objectEvents[sRotatingTilePuzzle->objects[i].eventTemplateId].movementType = MOVEMENT_TYPE_FACE_LEFT; break; default: continue; } - ScriptMovement_StartObjectMovementScript(eventObjects[sRotatingTilePuzzle->objects[i].eventTemplateId].localId, + ScriptMovement_StartObjectMovementScript(objectEvents[sRotatingTilePuzzle->objects[i].eventTemplateId].localId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, movementScript); @@ -233,25 +280,25 @@ void TurnRotatingTileObjects(void) switch (direction) { case DIR_EAST: - movementScript = RotatingTilePuzzle_Movement_FaceDown; - eventObjects[sRotatingTilePuzzle->objects[i].eventTemplateId].movementType = MOVEMENT_TYPE_FACE_DOWN; + movementScript = sMovement_FaceDown; + objectEvents[sRotatingTilePuzzle->objects[i].eventTemplateId].movementType = MOVEMENT_TYPE_FACE_DOWN; break; case DIR_SOUTH: - movementScript = RotatingTilePuzzle_Movement_FaceLeft; - eventObjects[sRotatingTilePuzzle->objects[i].eventTemplateId].movementType = MOVEMENT_TYPE_FACE_LEFT; + movementScript = sMovement_FaceLeft; + objectEvents[sRotatingTilePuzzle->objects[i].eventTemplateId].movementType = MOVEMENT_TYPE_FACE_LEFT; break; case DIR_WEST: - movementScript = RotatingTilePuzzle_Movement_FaceUp; - eventObjects[sRotatingTilePuzzle->objects[i].eventTemplateId].movementType = MOVEMENT_TYPE_FACE_UP; + movementScript = sMovement_FaceUp; + objectEvents[sRotatingTilePuzzle->objects[i].eventTemplateId].movementType = MOVEMENT_TYPE_FACE_UP; break; case DIR_NORTH: - movementScript = RotatingTilePuzzle_Movement_FaceRight; - eventObjects[sRotatingTilePuzzle->objects[i].eventTemplateId].movementType = MOVEMENT_TYPE_FACE_RIGHT; + movementScript = sMovement_FaceRight; + objectEvents[sRotatingTilePuzzle->objects[i].eventTemplateId].movementType = MOVEMENT_TYPE_FACE_RIGHT; break; default: continue; } - ScriptMovement_StartObjectMovementScript(eventObjects[sRotatingTilePuzzle->objects[i].eventTemplateId].localId, + ScriptMovement_StartObjectMovementScript(objectEvents[sRotatingTilePuzzle->objects[i].eventTemplateId].localId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, movementScript); @@ -274,9 +321,9 @@ static void TurnUnsavedRotatingTileObject(u8 eventTemplateId, u8 puzzleTileNum) s32 rotation; s32 puzzleTileStart; u16 movementType; - struct EventObjectTemplate *eventObjects = gSaveBlock1Ptr->eventObjectTemplates; - s16 x = eventObjects[eventTemplateId].x + 7; - s16 y = eventObjects[eventTemplateId].y + 7; + struct ObjectEventTemplate *objectEvents = gSaveBlock1Ptr->objectEventTemplates; + s16 x = objectEvents[eventTemplateId].x + 7; + s16 y = objectEvents[eventTemplateId].y + 7; u16 metatile = MapGridGetMetatileIdAt(x, y); if (!sRotatingTilePuzzle->isTrickHouse) @@ -294,22 +341,22 @@ static void TurnUnsavedRotatingTileObject(u8 eventTemplateId, u8 puzzleTileNum) else rotation = ROTATE_NONE; - movementType = eventObjects[eventTemplateId].movementType; + movementType = objectEvents[eventTemplateId].movementType; if (rotation == ROTATE_COUNTERCLOCKWISE) { switch (movementType) { case MOVEMENT_TYPE_FACE_RIGHT: - eventObjects[eventTemplateId].movementType = MOVEMENT_TYPE_FACE_UP; + objectEvents[eventTemplateId].movementType = MOVEMENT_TYPE_FACE_UP; break; case MOVEMENT_TYPE_FACE_DOWN: - eventObjects[eventTemplateId].movementType = MOVEMENT_TYPE_FACE_RIGHT; + objectEvents[eventTemplateId].movementType = MOVEMENT_TYPE_FACE_RIGHT; break; case MOVEMENT_TYPE_FACE_LEFT: - eventObjects[eventTemplateId].movementType = MOVEMENT_TYPE_FACE_DOWN; + objectEvents[eventTemplateId].movementType = MOVEMENT_TYPE_FACE_DOWN; break; case MOVEMENT_TYPE_FACE_UP: - eventObjects[eventTemplateId].movementType = MOVEMENT_TYPE_FACE_LEFT; + objectEvents[eventTemplateId].movementType = MOVEMENT_TYPE_FACE_LEFT; break; default: break; @@ -320,16 +367,16 @@ static void TurnUnsavedRotatingTileObject(u8 eventTemplateId, u8 puzzleTileNum) switch (movementType) { case MOVEMENT_TYPE_FACE_RIGHT: - eventObjects[eventTemplateId].movementType = MOVEMENT_TYPE_FACE_DOWN; + objectEvents[eventTemplateId].movementType = MOVEMENT_TYPE_FACE_DOWN; break; case MOVEMENT_TYPE_FACE_DOWN: - eventObjects[eventTemplateId].movementType = MOVEMENT_TYPE_FACE_LEFT; + objectEvents[eventTemplateId].movementType = MOVEMENT_TYPE_FACE_LEFT; break; case MOVEMENT_TYPE_FACE_LEFT: - eventObjects[eventTemplateId].movementType = MOVEMENT_TYPE_FACE_UP; + objectEvents[eventTemplateId].movementType = MOVEMENT_TYPE_FACE_UP; break; case MOVEMENT_TYPE_FACE_UP: - eventObjects[eventTemplateId].movementType = MOVEMENT_TYPE_FACE_RIGHT; + objectEvents[eventTemplateId].movementType = MOVEMENT_TYPE_FACE_RIGHT; break; default: break; diff --git a/src/scrcmd.c b/src/scrcmd.c index 0e52f5953..ad01791a9 100644 --- a/src/scrcmd.c +++ b/src/scrcmd.c @@ -13,6 +13,7 @@ #include "event_data.h" #include "field_door.h" #include "field_effect.h" +#include "event_object_lock.h" #include "event_object_movement.h" #include "field_message_box.h" #include "field_player_avatar.h" @@ -24,7 +25,6 @@ #include "item.h" #include "lilycove_lady.h" #include "main.h" -#include "event_obj_lock.h" #include "menu.h" #include "money.h" #include "mystery_event_script.h" @@ -1053,7 +1053,7 @@ bool8 ScrCmd_removeobject(struct ScriptContext *ctx) { u16 localId = VarGet(ScriptReadHalfword(ctx)); - RemoveEventObjectByLocalIdAndMap(localId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); + RemoveObjectEventByLocalIdAndMap(localId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); return FALSE; } @@ -1063,7 +1063,7 @@ bool8 ScrCmd_removeobject_at(struct ScriptContext *ctx) u8 mapGroup = ScriptReadByte(ctx); u8 mapNum = ScriptReadByte(ctx); - RemoveEventObjectByLocalIdAndMap(objectId, mapNum, mapGroup); + RemoveObjectEventByLocalIdAndMap(objectId, mapNum, mapGroup); return FALSE; } @@ -1071,7 +1071,7 @@ bool8 ScrCmd_addobject(struct ScriptContext *ctx) { u16 objectId = VarGet(ScriptReadHalfword(ctx)); - TrySpawnEventObject(objectId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); + TrySpawnObjectEvent(objectId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); return FALSE; } @@ -1081,7 +1081,7 @@ bool8 ScrCmd_addobject_at(struct ScriptContext *ctx) u8 mapGroup = ScriptReadByte(ctx); u8 mapNum = ScriptReadByte(ctx); - TrySpawnEventObject(objectId, mapNum, mapGroup); + TrySpawnObjectEvent(objectId, mapNum, mapGroup); return FALSE; } @@ -1091,7 +1091,7 @@ bool8 ScrCmd_setobjectxy(struct ScriptContext *ctx) u16 x = VarGet(ScriptReadHalfword(ctx)); u16 y = VarGet(ScriptReadHalfword(ctx)); - TryMoveEventObjectToMapCoords(localId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, x, y); + TryMoveObjectEventToMapCoords(localId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, x, y); return FALSE; } @@ -1101,7 +1101,7 @@ bool8 ScrCmd_setobjectxyperm(struct ScriptContext *ctx) u16 x = VarGet(ScriptReadHalfword(ctx)); u16 y = VarGet(ScriptReadHalfword(ctx)); - Overworld_SetEventObjTemplateCoords(localId, x, y); + Overworld_SetObjEventTemplateCoords(localId, x, y); return FALSE; } @@ -1109,7 +1109,7 @@ bool8 ScrCmd_copyobjectxytoperm(struct ScriptContext *ctx) { u16 localId = VarGet(ScriptReadHalfword(ctx)); - TryOverrideEventObjectTemplateCoords(localId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); + TryOverrideObjectEventTemplateCoords(localId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); return FALSE; } @@ -1156,9 +1156,9 @@ bool8 ScrCmd_resetobjectpriority(struct ScriptContext *ctx) bool8 ScrCmd_faceplayer(struct ScriptContext *ctx) { - if (gEventObjects[gSelectedEventObject].active) + if (gObjectEvents[gSelectedObjectEvent].active) { - EventObjectFaceOppositeDirection(&gEventObjects[gSelectedEventObject], + ObjectEventFaceOppositeDirection(&gObjectEvents[gSelectedObjectEvent], GetPlayerFacingDirection()); } return FALSE; @@ -1169,7 +1169,7 @@ bool8 ScrCmd_turnobject(struct ScriptContext *ctx) u16 localId = VarGet(ScriptReadHalfword(ctx)); u8 direction = ScriptReadByte(ctx); - EventObjectTurnByLocalIdAndMap(localId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, direction); + ObjectEventTurnByLocalIdAndMap(localId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, direction); return FALSE; } @@ -1178,7 +1178,7 @@ bool8 ScrCmd_setobjectmovementtype(struct ScriptContext *ctx) u16 localId = VarGet(ScriptReadHalfword(ctx)); u8 movementType = ScriptReadByte(ctx); - Overworld_SetEventObjTemplateMovementType(localId, movementType); + Overworld_SetObjEventTemplateMovementType(localId, movementType); return FALSE; } @@ -1212,7 +1212,7 @@ bool8 ScrCmd_lockall(struct ScriptContext *ctx) } else { - ScriptFreezeEventObjects(); + ScriptFreezeObjectEvents(); SetupNativeScript(ctx, sub_80983C4); return TRUE; } @@ -1226,14 +1226,14 @@ bool8 ScrCmd_lock(struct ScriptContext *ctx) } else { - if (gEventObjects[gSelectedEventObject].active) + if (gObjectEvents[gSelectedObjectEvent].active) { - LockSelectedEventObject(); + LockSelectedObjectEvent(); SetupNativeScript(ctx, sub_809847C); } else { - ScriptFreezeEventObjects(); + ScriptFreezeObjectEvents(); SetupNativeScript(ctx, sub_80983C4); } return TRUE; @@ -1245,10 +1245,10 @@ bool8 ScrCmd_releaseall(struct ScriptContext *ctx) u8 playerObjectId; HideFieldMessageBox(); - playerObjectId = GetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0); - EventObjectClearHeldMovementIfFinished(&gEventObjects[playerObjectId]); - ScriptMovement_UnfreezeEventObjects(); - UnfreezeEventObjects(); + playerObjectId = GetObjectEventIdByLocalIdAndMap(OBJ_EVENT_ID_PLAYER, 0, 0); + ObjectEventClearHeldMovementIfFinished(&gObjectEvents[playerObjectId]); + ScriptMovement_UnfreezeObjectEvents(); + UnfreezeObjectEvents(); return FALSE; } @@ -1257,12 +1257,12 @@ bool8 ScrCmd_release(struct ScriptContext *ctx) u8 playerObjectId; HideFieldMessageBox(); - if (gEventObjects[gSelectedEventObject].active) - EventObjectClearHeldMovementIfFinished(&gEventObjects[gSelectedEventObject]); - playerObjectId = GetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0); - EventObjectClearHeldMovementIfFinished(&gEventObjects[playerObjectId]); - ScriptMovement_UnfreezeEventObjects(); - UnfreezeEventObjects(); + if (gObjectEvents[gSelectedObjectEvent].active) + ObjectEventClearHeldMovementIfFinished(&gObjectEvents[gSelectedObjectEvent]); + playerObjectId = GetObjectEventIdByLocalIdAndMap(OBJ_EVENT_ID_PLAYER, 0, 0); + ObjectEventClearHeldMovementIfFinished(&gObjectEvents[playerObjectId]); + ScriptMovement_UnfreezeObjectEvents(); + UnfreezeObjectEvents(); return FALSE; } @@ -1304,7 +1304,7 @@ bool8 ScrCmd_cmdDB(struct ScriptContext *ctx) if (msg == NULL) msg = (const u8 *)ctx->data[0]; - sub_81973A4(); + LoadMessageBoxAndBorderGfx(); DrawDialogueFrame(0, 1); AddTextPrinterParameterized(0, 1, msg, 0, 1, 0, 0); return FALSE; @@ -2179,7 +2179,7 @@ bool8 ScrCmd_freerotatingtilepuzzle(struct ScriptContext *ctx) bool8 ScrCmd_cmdD8(struct ScriptContext *ctx) { - gSelectedEventObject = GetCurrentApproachingTrainerEventObjectId(); + gSelectedObjectEvent = GetCurrentApproachingTrainerObjectEventId(); return FALSE; } @@ -2191,7 +2191,7 @@ bool8 ScrCmd_cmdD9(struct ScriptContext *ctx) } else { - if (gEventObjects[gSelectedEventObject].active) + if (gObjectEvents[gSelectedObjectEvent].active) { sub_8098630(); SetupNativeScript(ctx, sub_8098734); diff --git a/src/script.c b/src/script.c index 34484561c..9ba1a7429 100644 --- a/src/script.c +++ b/src/script.c @@ -426,7 +426,7 @@ u8 *GetSavedRamScriptIfValid(void) } } -void InitRamScript_NoEventObject(u8 *script, u16 scriptSize) +void InitRamScript_NoObjectEvent(u8 *script, u16 scriptSize) { if (scriptSize > sizeof(gSaveBlock1Ptr->ramScript.data.script)) scriptSize = sizeof(gSaveBlock1Ptr->ramScript.data.script); diff --git a/src/script_menu.c b/src/script_menu.c index 7afe30080..9ff63e357 100644 --- a/src/script_menu.c +++ b/src/script_menu.c @@ -428,7 +428,7 @@ static void CreateLilycoveSSTidalMultichoice(void) } } - if (CheckBagHasItem(ITEM_EON_TICKET, 1) == TRUE && FlagGet(FLAG_SYS_HAS_EON_TICKET) == TRUE) + if (CheckBagHasItem(ITEM_EON_TICKET, 1) == TRUE && FlagGet(FLAG_ENABLE_SHIP_SOUTHERN_ISLAND) == TRUE) { if (gSpecialVar_0x8004 == 0) { @@ -436,11 +436,11 @@ static void CreateLilycoveSSTidalMultichoice(void) selectionCount++; } - if (gSpecialVar_0x8004 == 1 && FlagGet(FLAG_HAS_EON_TICKET) == FALSE) + if (gSpecialVar_0x8004 == 1 && FlagGet(FLAG_SHOWN_EON_TICKET) == FALSE) { sLilycoveSSTidalSelections[selectionCount] = SSTIDAL_SELECTION_SOUTHERN_ISLAND; selectionCount++; - FlagSet(FLAG_HAS_EON_TICKET); + FlagSet(FLAG_SHOWN_EON_TICKET); } } @@ -452,11 +452,11 @@ static void CreateLilycoveSSTidalMultichoice(void) selectionCount++; } - if (gSpecialVar_0x8004 == 1 && FlagGet(FLAG_HAS_MYSTIC_TICKET) == FALSE) + if (gSpecialVar_0x8004 == 1 && FlagGet(FLAG_SHOWN_MYSTIC_TICKET) == FALSE) { sLilycoveSSTidalSelections[selectionCount] = SSTIDAL_SELECTION_NAVEL_ROCK; selectionCount++; - FlagSet(FLAG_HAS_MYSTIC_TICKET); + FlagSet(FLAG_SHOWN_MYSTIC_TICKET); } } @@ -468,11 +468,11 @@ static void CreateLilycoveSSTidalMultichoice(void) selectionCount++; } - if (gSpecialVar_0x8004 == 1 && FlagGet(FLAG_HAS_AURORA_TICKET) == FALSE) + if (gSpecialVar_0x8004 == 1 && FlagGet(FLAG_SHOWN_AURORA_TICKET) == FALSE) { sLilycoveSSTidalSelections[selectionCount] = SSTIDAL_SELECTION_BIRTH_ISLAND; selectionCount++; - FlagSet(FLAG_HAS_AURORA_TICKET); + FlagSet(FLAG_SHOWN_AURORA_TICKET); } } @@ -484,11 +484,11 @@ static void CreateLilycoveSSTidalMultichoice(void) selectionCount++; } - if (gSpecialVar_0x8004 == 1 && FlagGet(FLAG_HAS_OLD_SEA_MAP) == FALSE) + if (gSpecialVar_0x8004 == 1 && FlagGet(FLAG_SHOWN_OLD_SEA_MAP) == FALSE) { sLilycoveSSTidalSelections[selectionCount] = SSTIDAL_SELECTION_FARAWAY_ISLAND; selectionCount++; - FlagSet(FLAG_HAS_OLD_SEA_MAP); + FlagSet(FLAG_SHOWN_OLD_SEA_MAP); } } diff --git a/src/script_movement.c b/src/script_movement.c index 03d6b10e8..4eb305980 100644 --- a/src/script_movement.c +++ b/src/script_movement.c @@ -4,50 +4,50 @@ #include "task.h" #include "util.h" #include "constants/event_objects.h" -#include "constants/event_object_movement_constants.h" +#include "constants/event_object_movement.h" // static functions static void ScriptMovement_StartMoveObjects(u8 priority); static u8 GetMoveObjectsTaskId(void); -static bool8 ScriptMovement_TryAddNewMovement(u8 taskId, u8 eventObjId, const u8 *movementScript); -static u8 GetMovementScriptIdFromEventObjectId(u8 taskId, u8 eventObjId); +static bool8 ScriptMovement_TryAddNewMovement(u8 taskId, u8 objEventId, const u8 *movementScript); +static u8 GetMovementScriptIdFromObjectEventId(u8 taskId, u8 objEventId); static bool8 IsMovementScriptFinished(u8 taskId, u8 moveScrId); -static void ScriptMovement_AddNewMovement(u8 taskId, u8 moveScrId, u8 eventObjId, const u8 *movementScript); +static void ScriptMovement_AddNewMovement(u8 taskId, u8 moveScrId, u8 objEventId, const u8 *movementScript); static void ScriptMovement_UnfreezeActiveObjects(u8 taskId); static void ScriptMovement_MoveObjects(u8 taskId); -static void ScriptMovement_TakeStep(u8 taskId, u8 moveScrId, u8 eventObjId, const u8 *movementScript); +static void ScriptMovement_TakeStep(u8 taskId, u8 moveScrId, u8 objEventId, const u8 *movementScript); // EWRAM_DATA -static EWRAM_DATA const u8 *gMovementScripts[EVENT_OBJECTS_COUNT] = {0}; +static EWRAM_DATA const u8 *gMovementScripts[OBJECT_EVENTS_COUNT] = {0}; // text bool8 ScriptMovement_StartObjectMovementScript(u8 localId, u8 mapNum, u8 mapGroup, const u8 *movementScript) { - u8 eventObjId; + u8 objEventId; - if (TryGetEventObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &eventObjId)) + if (TryGetObjectEventIdByLocalIdAndMap(localId, mapNum, mapGroup, &objEventId)) return TRUE; if (!FuncIsActiveTask(ScriptMovement_MoveObjects)) ScriptMovement_StartMoveObjects(50); - return ScriptMovement_TryAddNewMovement(GetMoveObjectsTaskId(), eventObjId, movementScript); + return ScriptMovement_TryAddNewMovement(GetMoveObjectsTaskId(), objEventId, movementScript); } bool8 ScriptMovement_IsObjectMovementFinished(u8 localId, u8 mapNum, u8 mapGroup) { - u8 eventObjId; + u8 objEventId; u8 taskId; u8 moveScrId; - if (TryGetEventObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &eventObjId)) + if (TryGetObjectEventIdByLocalIdAndMap(localId, mapNum, mapGroup, &objEventId)) return TRUE; taskId = GetMoveObjectsTaskId(); - moveScrId = GetMovementScriptIdFromEventObjectId(taskId, eventObjId); - if (moveScrId == EVENT_OBJECTS_COUNT) + moveScrId = GetMovementScriptIdFromObjectEventId(taskId, objEventId); + if (moveScrId == OBJECT_EVENTS_COUNT) return TRUE; return IsMovementScriptFinished(taskId, moveScrId); } -void ScriptMovement_UnfreezeEventObjects(void) +void ScriptMovement_UnfreezeObjectEvents(void) { u8 taskId; @@ -75,12 +75,12 @@ static u8 GetMoveObjectsTaskId(void) return FindTaskIdByFunc(ScriptMovement_MoveObjects); } -static bool8 ScriptMovement_TryAddNewMovement(u8 taskId, u8 eventObjId, const u8 *movementScript) +static bool8 ScriptMovement_TryAddNewMovement(u8 taskId, u8 objEventId, const u8 *movementScript) { u8 moveScrId; - moveScrId = GetMovementScriptIdFromEventObjectId(taskId, eventObjId); - if (moveScrId != EVENT_OBJECTS_COUNT) + moveScrId = GetMovementScriptIdFromObjectEventId(taskId, objEventId); + if (moveScrId != OBJECT_EVENTS_COUNT) { if (IsMovementScriptFinished(taskId, moveScrId) == 0) { @@ -88,59 +88,59 @@ static bool8 ScriptMovement_TryAddNewMovement(u8 taskId, u8 eventObjId, const u8 } else { - ScriptMovement_AddNewMovement(taskId, moveScrId, eventObjId, movementScript); + ScriptMovement_AddNewMovement(taskId, moveScrId, objEventId, movementScript); return FALSE; } } - moveScrId = GetMovementScriptIdFromEventObjectId(taskId, EVENT_OBJ_ID_PLAYER); - if (moveScrId == EVENT_OBJECTS_COUNT) + moveScrId = GetMovementScriptIdFromObjectEventId(taskId, OBJ_EVENT_ID_PLAYER); + if (moveScrId == OBJECT_EVENTS_COUNT) { return TRUE; } else { - ScriptMovement_AddNewMovement(taskId, moveScrId, eventObjId, movementScript); + ScriptMovement_AddNewMovement(taskId, moveScrId, objEventId, movementScript); return FALSE; } } -static u8 GetMovementScriptIdFromEventObjectId(u8 taskId, u8 eventObjId) +static u8 GetMovementScriptIdFromObjectEventId(u8 taskId, u8 objEventId) { u8 *moveScriptId; u8 i; moveScriptId = (u8 *)&gTasks[taskId].data[1]; - for (i = 0; i < EVENT_OBJECTS_COUNT; i++, moveScriptId++) + for (i = 0; i < OBJECT_EVENTS_COUNT; i++, moveScriptId++) { - if (*moveScriptId == eventObjId) + if (*moveScriptId == objEventId) return i; } - return EVENT_OBJECTS_COUNT; + return OBJECT_EVENTS_COUNT; } -static void LoadEventObjectIdPtrFromMovementScript(u8 taskId, u8 moveScrId, u8 **pEventObjId) +static void LoadObjectEventIdPtrFromMovementScript(u8 taskId, u8 moveScrId, u8 **pObjEventId) { u8 i; - *pEventObjId = (u8 *)&gTasks[taskId].data[1]; - for (i = 0; i < moveScrId; i++, (*pEventObjId)++) + *pObjEventId = (u8 *)&gTasks[taskId].data[1]; + for (i = 0; i < moveScrId; i++, (*pObjEventId)++) ; } -static void SetEventObjectIdAtMovementScript(u8 taskId, u8 moveScrId, u8 eventObjId) +static void SetObjectEventIdAtMovementScript(u8 taskId, u8 moveScrId, u8 objEventId) { u8 *ptr; - LoadEventObjectIdPtrFromMovementScript(taskId, moveScrId, &ptr); - *ptr = eventObjId; + LoadObjectEventIdPtrFromMovementScript(taskId, moveScrId, &ptr); + *ptr = objEventId; } -static void LoadEventObjectIdFromMovementScript(u8 taskId, u8 moveScrId, u8 *eventObjId) +static void LoadObjectEventIdFromMovementScript(u8 taskId, u8 moveScrId, u8 *objEventId) { u8 *ptr; - LoadEventObjectIdPtrFromMovementScript(taskId, moveScrId, &ptr); - *eventObjId = *ptr; + LoadObjectEventIdPtrFromMovementScript(taskId, moveScrId, &ptr); + *objEventId = *ptr; } static void ClearMovementScriptFinished(u8 taskId, u8 moveScrId) @@ -175,56 +175,56 @@ static const u8 *GetMovementScript(u8 moveScrId) return gMovementScripts[moveScrId]; } -static void ScriptMovement_AddNewMovement(u8 taskId, u8 moveScrId, u8 eventObjId, const u8 *movementScript) +static void ScriptMovement_AddNewMovement(u8 taskId, u8 moveScrId, u8 objEventId, const u8 *movementScript) { ClearMovementScriptFinished(taskId, moveScrId); SetMovementScript(moveScrId, movementScript); - SetEventObjectIdAtMovementScript(taskId, moveScrId, eventObjId); + SetObjectEventIdAtMovementScript(taskId, moveScrId, objEventId); } static void ScriptMovement_UnfreezeActiveObjects(u8 taskId) { - u8 *pEventObjId; + u8 *pObjEventId; u8 i; - pEventObjId = (u8 *)&gTasks[taskId].data[1]; - for (i = 0; i < EVENT_OBJECTS_COUNT; i++, pEventObjId++) + pObjEventId = (u8 *)&gTasks[taskId].data[1]; + for (i = 0; i < OBJECT_EVENTS_COUNT; i++, pObjEventId++) { - if (*pEventObjId != 0xFF) - UnfreezeEventObject(&gEventObjects[*pEventObjId]); + if (*pObjEventId != 0xFF) + UnfreezeObjectEvent(&gObjectEvents[*pObjEventId]); } } static void ScriptMovement_MoveObjects(u8 taskId) { u8 i; - u8 eventObjId; + u8 objEventId; - for (i = 0; i < EVENT_OBJECTS_COUNT; i++) + for (i = 0; i < OBJECT_EVENTS_COUNT; i++) { - LoadEventObjectIdFromMovementScript(taskId, i, &eventObjId); - if (eventObjId != 0xFF) - ScriptMovement_TakeStep(taskId, i, eventObjId, GetMovementScript(i)); + LoadObjectEventIdFromMovementScript(taskId, i, &objEventId); + if (objEventId != 0xFF) + ScriptMovement_TakeStep(taskId, i, objEventId, GetMovementScript(i)); } } -static void ScriptMovement_TakeStep(u8 taskId, u8 moveScrId, u8 eventObjId, const u8 *movementScript) +static void ScriptMovement_TakeStep(u8 taskId, u8 moveScrId, u8 objEventId, const u8 *movementScript) { u8 nextMoveActionId; - if (EventObjectIsHeldMovementActive(&gEventObjects[eventObjId]) - && !EventObjectClearHeldMovementIfFinished(&gEventObjects[eventObjId])) + if (ObjectEventIsHeldMovementActive(&gObjectEvents[objEventId]) + && !ObjectEventClearHeldMovementIfFinished(&gObjectEvents[objEventId])) return; nextMoveActionId = *movementScript; if (nextMoveActionId == MOVEMENT_ACTION_STEP_END) { SetMovementScriptFinished(taskId, moveScrId); - FreezeEventObject(&gEventObjects[eventObjId]); + FreezeObjectEvent(&gObjectEvents[objEventId]); } else { - if (!EventObjectSetHeldMovement(&gEventObjects[eventObjId], nextMoveActionId)) + if (!ObjectEventSetHeldMovement(&gObjectEvents[objEventId], nextMoveActionId)) { movementScript++; SetMovementScript(moveScrId, movementScript); diff --git a/src/script_pokemon_util_80F87D8.c b/src/script_pokemon_util_80F87D8.c index e691ed5fb..134004fd0 100755 --- a/src/script_pokemon_util_80F87D8.c +++ b/src/script_pokemon_util_80F87D8.c @@ -33,10 +33,10 @@ #include "constants/vars.h" #include "constants/battle_frontier.h" -extern const u16 gEventObjectPalette8[]; -extern const u16 gEventObjectPalette17[]; -extern const u16 gEventObjectPalette33[]; -extern const u16 gEventObjectPalette34[]; +extern const u16 gObjectEventPalette8[]; +extern const u16 gObjectEventPalette17[]; +extern const u16 gObjectEventPalette33[]; +extern const u16 gObjectEventPalette34[]; static const u8 gUnknown_0858D8EC[] = { 3, 4, 5, 14 }; @@ -249,9 +249,9 @@ void SetLinkContestPlayerGfx(void) if (version == VERSION_RUBY || version == VERSION_SAPPHIRE) { if (gLinkPlayers[i].gender == MALE) - gContestMons[i].trainerGfxId = EVENT_OBJ_GFX_LINK_RS_BRENDAN; + gContestMons[i].trainerGfxId = OBJ_EVENT_GFX_LINK_RS_BRENDAN; else - gContestMons[i].trainerGfxId = EVENT_OBJ_GFX_LINK_RS_MAY; + gContestMons[i].trainerGfxId = OBJ_EVENT_GFX_LINK_RS_MAY; } } @@ -265,7 +265,7 @@ void SetLinkContestPlayerGfx(void) void LoadLinkContestPlayerPalettes(void) { int i; - u8 eventObjectId; + u8 objectEventId; int version; struct Sprite *sprite; @@ -274,23 +274,23 @@ void LoadLinkContestPlayerPalettes(void) { for (i = 0; i < gNumLinkContestPlayers; i++) { - eventObjectId = GetEventObjectIdByLocalIdAndMap(gUnknown_0858D8EC[i], gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); - sprite = &gSprites[gEventObjects[eventObjectId].spriteId]; + objectEventId = GetObjectEventIdByLocalIdAndMap(gUnknown_0858D8EC[i], gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); + sprite = &gSprites[gObjectEvents[objectEventId].spriteId]; sprite->oam.paletteNum = 6 + i; version = (u8)gLinkPlayers[i].version; if (version == VERSION_RUBY || version == VERSION_SAPPHIRE) { if (gLinkPlayers[i].gender == MALE) - LoadPalette(gEventObjectPalette33, 0x160 + i * 0x10, 0x20); + LoadPalette(gObjectEventPalette33, 0x160 + i * 0x10, 0x20); else - LoadPalette(gEventObjectPalette34, 0x160 + i * 0x10, 0x20); + LoadPalette(gObjectEventPalette34, 0x160 + i * 0x10, 0x20); } else { if (gLinkPlayers[i].gender == MALE) - LoadPalette(gEventObjectPalette8, 0x160 + i * 0x10, 0x20); + LoadPalette(gObjectEventPalette8, 0x160 + i * 0x10, 0x20); else - LoadPalette(gEventObjectPalette17, 0x160 + i * 0x10, 0x20); + LoadPalette(gObjectEventPalette17, 0x160 + i * 0x10, 0x20); } } } @@ -434,7 +434,7 @@ void ScriptRandom(void) if (gLinkContestFlags & LINK_CONTEST_FLAG_IS_LINK) { - gContestRngValue = 1103515245 * gContestRngValue + 24691; + gContestRngValue = ISO_RANDOMIZE1(gContestRngValue); random = gContestRngValue >> 16; scriptPtr = &gSpecialVar_Result; } @@ -448,7 +448,7 @@ void ScriptRandom(void) u16 GetContestRand(void) { - gContestRngValue = 1103515245 * gContestRngValue + 24691; + gContestRngValue = ISO_RANDOMIZE1(gContestRngValue); return gContestRngValue >> 16; } diff --git a/src/secret_base.c b/src/secret_base.c index e7f40a72b..31fd901e0 100644 --- a/src/secret_base.c +++ b/src/secret_base.c @@ -34,7 +34,7 @@ #include "task.h" #include "tv.h" #include "window.h" -#include "constants/bg_event_constants.h" +#include "constants/event_bg.h" #include "constants/decorations.h" #include "constants/event_objects.h" #include "constants/items.h" @@ -150,17 +150,17 @@ static const struct YesNoFuncTable sDeleteRegistryYesNoFuncs = static const u8 sSecretBaseOwnerGfxIds[10] = { // Male - EVENT_OBJ_GFX_YOUNGSTER, - EVENT_OBJ_GFX_BUG_CATCHER, - EVENT_OBJ_GFX_RICH_BOY, - EVENT_OBJ_GFX_CAMPER, - EVENT_OBJ_GFX_MAN_3, + OBJ_EVENT_GFX_YOUNGSTER, + OBJ_EVENT_GFX_BUG_CATCHER, + OBJ_EVENT_GFX_RICH_BOY, + OBJ_EVENT_GFX_CAMPER, + OBJ_EVENT_GFX_MAN_3, // Female - EVENT_OBJ_GFX_LASS, - EVENT_OBJ_GFX_GIRL_3, - EVENT_OBJ_GFX_WOMAN_2, - EVENT_OBJ_GFX_PICNICKER, - EVENT_OBJ_GFX_WOMAN_5, + OBJ_EVENT_GFX_LASS, + OBJ_EVENT_GFX_GIRL_3, + OBJ_EVENT_GFX_WOMAN_2, + OBJ_EVENT_GFX_PICNICKER, + OBJ_EVENT_GFX_WOMAN_5, }; static const struct WindowTemplate sRegistryWindowTemplates[] = @@ -440,7 +440,7 @@ bool8 SecretBaseMapPopupEnabled(void) static void EnterNewlyCreatedSecretBase_WaitFadeIn(u8 taskId) { - EventObjectTurn(&gEventObjects[gPlayerAvatar.eventObjectId], DIR_NORTH); + ObjectEventTurn(&gObjectEvents[gPlayerAvatar.objectEventId], DIR_NORTH); if (IsWeatherNotFadingIn() == TRUE) { EnableBothScriptContexts(); @@ -534,13 +534,13 @@ void InitSecretBaseDecorationSprites(void) u8 i; u8 *decorations; u8 *decorationPositions; - u8 eventObjectId; + u8 objectEventId; u8 metatileBehavior; u8 category; u8 permission; u8 numDecorations; - eventObjectId = 0; + objectEventId = 0; if (!CurMapIsSecretBase()) { decorations = gSaveBlock1Ptr->playerRoomDecor; @@ -564,13 +564,13 @@ void InitSecretBaseDecorationSprites(void) category = gDecorations[decorations[i]].category; if (permission == DECORPERM_SPRITE) { - for (eventObjectId = 0; eventObjectId < gMapHeader.events->eventObjectCount; eventObjectId++) + for (objectEventId = 0; objectEventId < gMapHeader.events->objectEventCount; objectEventId++) { - if (gMapHeader.events->eventObjects[eventObjectId].flagId == FLAG_DECORATION_1 + gSpecialVar_0x8004) + if (gMapHeader.events->objectEvents[objectEventId].flagId == FLAG_DECORATION_1 + gSpecialVar_0x8004) break; } - if (eventObjectId == gMapHeader.events->eventObjectCount) + if (objectEventId == gMapHeader.events->objectEventCount) continue; gSpecialVar_0x8006 = decorationPositions[i] >> 4; @@ -579,13 +579,13 @@ void InitSecretBaseDecorationSprites(void) if (MetatileBehavior_HoldsSmallDecoration(metatileBehavior) == TRUE || MetatileBehavior_HoldsLargeDecoration(metatileBehavior) == TRUE) { - gSpecialVar_Result = VAR_OBJ_GFX_ID_0 + (gMapHeader.events->eventObjects[eventObjectId].graphicsId - EVENT_OBJ_GFX_VAR_0); + gSpecialVar_Result = VAR_OBJ_GFX_ID_0 + (gMapHeader.events->objectEvents[objectEventId].graphicsId - OBJ_EVENT_GFX_VAR_0); VarSet(gSpecialVar_Result, gDecorations[decorations[i]].tiles[0]); - gSpecialVar_Result = gMapHeader.events->eventObjects[eventObjectId].localId; + gSpecialVar_Result = gMapHeader.events->objectEvents[objectEventId].localId; FlagClear(FLAG_DECORATION_1 + gSpecialVar_0x8004); - TrySpawnEventObject(gSpecialVar_Result, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); - TryMoveEventObjectToMapCoords(gSpecialVar_Result, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, gSpecialVar_0x8006, gSpecialVar_0x8007); - TryOverrideEventObjectTemplateCoords(gSpecialVar_Result, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); + TrySpawnObjectEvent(gSpecialVar_Result, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); + TryMoveObjectEventToMapCoords(gSpecialVar_Result, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, gSpecialVar_0x8006, gSpecialVar_0x8007); + TryOverrideObjectEventTemplateCoords(gSpecialVar_Result, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); if (CurMapIsSecretBase() == TRUE && VarGet(VAR_CURRENT_SECRET_BASE) != 0) { if (category == DECORCAT_DOLL) @@ -614,16 +614,16 @@ void InitSecretBaseDecorationSprites(void) void HideSecretBaseDecorationSprites(void) { - u8 eventObjectId; + u8 objectEventId; u16 flag; - for (eventObjectId = 0; eventObjectId < gMapHeader.events->eventObjectCount; eventObjectId++) + for (objectEventId = 0; objectEventId < gMapHeader.events->objectEventCount; objectEventId++) { - flag = gMapHeader.events->eventObjects[eventObjectId].flagId; + flag = gMapHeader.events->objectEvents[objectEventId].flagId; if (flag >= FLAG_DECORATION_1 && flag <= FLAG_DECORATION_14) { - RemoveEventObjectByLocalIdAndMap( - gMapHeader.events->eventObjects[eventObjectId].localId, + RemoveObjectEventByLocalIdAndMap( + gMapHeader.events->objectEvents[objectEventId].localId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); FlagSet(flag); diff --git a/src/shop.c b/src/shop.c index e1f9ef534..a4d1939cb 100755 --- a/src/shop.c +++ b/src/shop.c @@ -67,13 +67,13 @@ static void BuyMenuRemoveItemIcon(u16, u8); static void BuyMenuPrint(u8 windowId, const u8 *text, u8 x, u8 y, s8 speed, u8 colorSet); static void BuyMenuDrawMapGraphics(void); static void BuyMenuCopyMenuBgToBg1TilemapBuffer(void); -static void BuyMenuCollectEventObjectData(void); -static void BuyMenuDrawEventObjects(void); +static void BuyMenuCollectObjectEventData(void); +static void BuyMenuDrawObjectEvents(void); static void BuyMenuDrawMapBg(void); static bool8 BuyMenuCheckForOverlapWithMenuBg(int, int); static void BuyMenuDrawMapMetatile(s16, s16, const u16*, u8); static void BuyMenuDrawMapMetatileLayer(u16 *dest, s16 offset1, s16 offset2, const u16 *src); -static bool8 BuyMenuCheckIfEventObjectOverlapsMenuBg(s16 *); +static bool8 BuyMenuCheckIfObjectEventOverlapsMenuBg(s16 *); static void ExitBuyMenu(u8 taskId); static void Task_ExitBuyMenu(u8 taskId); static void BuyMenuTryMakePurchase(u8 taskId); @@ -714,8 +714,8 @@ static void BuyMenuDrawGraphics(void) static void BuyMenuDrawMapGraphics(void) { - BuyMenuCollectEventObjectData(); - BuyMenuDrawEventObjects(); + BuyMenuCollectObjectEventData(); + BuyMenuDrawObjectEvents(); BuyMenuDrawMapBg(); } @@ -787,7 +787,7 @@ static void BuyMenuDrawMapMetatileLayer(u16 *dest, s16 offset1, s16 offset2, con dest[offset1 + offset2 + 33] = src[3]; // bottom right } -static void BuyMenuCollectEventObjectData(void) +static void BuyMenuCollectObjectEventData(void) { s16 facingX; s16 facingY; @@ -797,21 +797,21 @@ static void BuyMenuCollectEventObjectData(void) GetXYCoordsOneStepInFrontOfPlayer(&facingX, &facingY); for (y = 0; y < 16; y++) - gShopDataPtr->viewportObjects[y][EVENT_OBJ_ID] = 16; + gShopDataPtr->viewportObjects[y][OBJ_EVENT_ID] = 16; for (y = 0; y < 5; y++) { for (x = 0; x < 7; x++) { - u8 eventObjId = GetEventObjectIdByXY(facingX - 4 + x, facingY - 2 + y); + u8 objEventId = GetObjectEventIdByXY(facingX - 4 + x, facingY - 2 + y); - if (eventObjId != 16) + if (objEventId != 16) { - gShopDataPtr->viewportObjects[r8][EVENT_OBJ_ID] = eventObjId; + gShopDataPtr->viewportObjects[r8][OBJ_EVENT_ID] = objEventId; gShopDataPtr->viewportObjects[r8][X_COORD] = x; gShopDataPtr->viewportObjects[r8][Y_COORD] = y; gShopDataPtr->viewportObjects[r8][LAYER_TYPE] = MapGridGetMetatileLayerTypeAt(facingX - 4 + x, facingY - 2 + y); - switch (gEventObjects[eventObjId].facingDirection) + switch (gObjectEvents[objEventId].facingDirection) { case DIR_SOUTH: gShopDataPtr->viewportObjects[r8][ANIM_NUM] = 0; @@ -833,27 +833,27 @@ static void BuyMenuCollectEventObjectData(void) } } -static void BuyMenuDrawEventObjects(void) +static void BuyMenuDrawObjectEvents(void) { u8 i; u8 spriteId; - const struct EventObjectGraphicsInfo *graphicsInfo; + const struct ObjectEventGraphicsInfo *graphicsInfo; for (i = 0; i < 16; i++) // max objects? { - if (gShopDataPtr->viewportObjects[i][EVENT_OBJ_ID] == 16) + if (gShopDataPtr->viewportObjects[i][OBJ_EVENT_ID] == 16) continue; - graphicsInfo = GetEventObjectGraphicsInfo(gEventObjects[gShopDataPtr->viewportObjects[i][EVENT_OBJ_ID]].graphicsId); + graphicsInfo = GetObjectEventGraphicsInfo(gObjectEvents[gShopDataPtr->viewportObjects[i][OBJ_EVENT_ID]].graphicsId); - spriteId = AddPseudoEventObject( - gEventObjects[gShopDataPtr->viewportObjects[i][EVENT_OBJ_ID]].graphicsId, + spriteId = AddPseudoObjectEvent( + gObjectEvents[gShopDataPtr->viewportObjects[i][OBJ_EVENT_ID]].graphicsId, SpriteCallbackDummy, (u16)gShopDataPtr->viewportObjects[i][X_COORD] * 16 + 8, (u16)gShopDataPtr->viewportObjects[i][Y_COORD] * 16 + 48 - graphicsInfo->height / 2, 2); - if (BuyMenuCheckIfEventObjectOverlapsMenuBg(gShopDataPtr->viewportObjects[i]) == TRUE) + if (BuyMenuCheckIfObjectEventOverlapsMenuBg(gShopDataPtr->viewportObjects[i]) == TRUE) { gSprites[spriteId].subspriteTableNum = 4; gSprites[spriteId].subspriteMode = SUBSPRITES_ON; @@ -863,7 +863,7 @@ static void BuyMenuDrawEventObjects(void) } } -static bool8 BuyMenuCheckIfEventObjectOverlapsMenuBg(s16 *object) +static bool8 BuyMenuCheckIfObjectEventOverlapsMenuBg(s16 *object) { if (!BuyMenuCheckForOverlapWithMenuBg(object[X_COORD], object[Y_COORD] + 2) && object[LAYER_TYPE] != MB_SECRET_BASE_WALL) { diff --git a/src/slot_machine.c b/src/slot_machine.c index db1291ceb..8f117431a 100644 --- a/src/slot_machine.c +++ b/src/slot_machine.c @@ -319,6 +319,35 @@ static void sub_812F958(void); static void sub_812F968(void); static void LoadSlotMachineWheelOverlay(void); static u8 sub_8105BB4(u8 templateIdx, u8 cbAndCoordsIdx, s16 a2); +static void sub_8105C64(struct Sprite *sprite); +static void sub_8105F54(struct Sprite *sprite); +static void sub_8105F9C(struct Sprite *sprite); +static void sub_8105EB4(struct Sprite *sprite); +static void sub_8105C6C(struct Sprite *sprite); +static void sub_8105CF0(struct Sprite *sprite); +static void sub_8105D08(struct Sprite *sprite); +static void sub_8105D20(struct Sprite *sprite); +static void sub_8105D3C(struct Sprite *sprite); +static void sub_8105DA4(struct Sprite *sprite); +static void sub_8105E08(struct Sprite *sprite); +static void sub_8106058(struct Sprite *sprite); +static void sub_81060FC(struct Sprite *sprite); +static void sub_81061C8(struct Sprite *sprite); +static void sub_8106230(struct Sprite *sprite); +static void sub_810639C(void); +static void sub_8106364(void); +static void sub_8106370(void); +static void nullsub_70(void); +static void sub_8104F18(struct Sprite *sprite); +static void sub_810506C(struct Sprite *sprite); +static void sub_8105170(struct Sprite *sprite); +static void sub_810535C(struct Sprite *sprite); +static void sub_810562C(struct Sprite *sprite); +static void sub_8105784(struct Sprite *sprite); +static void sub_8105894(struct Sprite *sprite); +static void sub_810594C(struct Sprite *sprite); +static void sub_8105A38(struct Sprite *sprite); +static void sub_8105B70(struct Sprite *sprite); // Ewram variables static EWRAM_DATA u16 *sUnknown_0203AAC8 = NULL; @@ -354,56 +383,73 @@ static EWRAM_DATA struct SlotMachineEwramStruct *sSlotMachine = NULL; static struct SpriteFrameImage *gUnknown_03001188[26]; // Const rom data. -extern const struct UnkStruct1 *const gUnknown_083ED048[]; -extern const u16 gPalette_83EDE24[]; -extern const u8 gLuckyRoundProbabilities[][3]; -extern const u8 gBiasTags[]; -extern const u16 gLuckyFlagSettings_Top3[]; -extern const u16 gLuckyFlagSettings_NotTop3[]; -extern const s16 gUnknown_083ECE7E[][2]; -extern const SpriteCallback gUnknown_083ECF0C[]; -extern const struct SpriteTemplate *const gUnknown_083EDB5C[]; -extern const struct SubspriteTable *const gUnknown_083EDBC4[]; -extern const struct SpriteTemplate gSpriteTemplate_83ED6CC; -extern const struct SpriteTemplate gSpriteTemplate_83ED564; -extern const struct SpriteTemplate gSpriteTemplate_83ED54C; -extern const struct SpriteTemplate gSpriteTemplate_83ED534; -extern const u8 gUnknown_083ECC58[2]; -extern const struct SpriteTemplate gSpriteTemplate_83ED51C; -extern const u16 gProbabilityTable_SkipToReeltimeAction14[]; -extern const u16 *const gUnknown_083EDE10[]; -extern const u16 gReelIncrementTable[][2]; -extern const u16 gReelTimeBonusIncrementTable[]; -extern const u16 gSlotMatchFlags[]; -extern const u16 gSlotPayouts[]; -extern const u8 *const gUnknown_083EDCE4; -extern const u8 *const gUnknown_083EDCDC; -extern const u32 gReelTimeGfx[]; -extern const struct SpriteSheet gSlotMachineSpriteSheets[]; -extern const struct SpritePalette gSlotMachineSpritePalettes[]; -extern const u16 *const gUnknown_083EDE20; -extern const s16 gInitialReelPositions[][2]; -extern const struct BgTemplate gUnknown_085A7424[4]; -extern const struct WindowTemplate gUnknown_085A7434[]; -extern const u8 gLuckyFlagProbabilities_Top3[][6]; -extern const u8 gLuckyFlagProbabilities_NotTop3[][6]; -extern const u8 gReeltimeProbabilities_UnluckyGame[][17]; -extern const u8 gReelTimeProbabilities_LuckyGame[][17]; -extern const u8 gSym2Match[]; -extern const u8 gReelTimeTags[]; -extern const u8 gReelSymbols[][REEL_NUM_TAGS]; -extern const u16 *const gUnknown_083EDD08[]; -extern const u16 *const gUnknown_083EDD1C[]; -extern const u8 gUnknown_083EDD30[]; -extern const u8 gBettingTilesId[][2]; -extern const u8 gNumberBettingTiles[]; -extern const u16 *const gUnknown_083EDDA0[]; -extern const u16 *const gUnknown_083EDDAC; -extern const u16 gReelTimeWindowTilemap[]; -extern const u16 gUnknown_085A9898[]; -extern void (*const gUnknown_083ED064[])(void); - -const struct BgTemplate gUnknown_085A7424[] = +static const struct UnkStruct1 *const gUnknown_083ED048[]; +static const u16 gPalette_83EDE24[]; +static const u8 gLuckyRoundProbabilities[][3]; +static const u8 gBiasTags[]; +static const u16 gLuckyFlagSettings_Top3[]; +static const u16 gLuckyFlagSettings_NotTop3[]; +static const s16 gUnknown_083ECE7E[][2]; +static const SpriteCallback gUnknown_083ECF0C[]; +static const struct SpriteTemplate *const gUnknown_083EDB5C[]; +static const struct SubspriteTable *const gUnknown_083EDBC4[]; +static const struct SpriteTemplate gSpriteTemplate_83ED6CC; +static const struct SpriteTemplate gSpriteTemplate_83ED564; +static const struct SpriteTemplate gSpriteTemplate_83ED54C; +static const struct SpriteTemplate gSpriteTemplate_83ED534; +static const u8 gUnknown_083ECC58[2]; +static const struct SpriteTemplate gSpriteTemplate_83ED51C; +static const u16 gProbabilityTable_SkipToReeltimeAction14[]; +static const u16 *const gUnknown_083EDE10[]; +static const u16 gReelIncrementTable[][2]; +static const u16 gReelTimeBonusIncrementTable[]; +static const u16 gSlotMatchFlags[]; +static const u16 gSlotPayouts[]; +static const u8 *const gUnknown_083EDCE4; +static const u8 *const gUnknown_083EDCDC; +static const u32 gReelTimeGfx[]; +static const struct SpriteSheet gSlotMachineSpriteSheets[]; +static const struct SpritePalette gSlotMachineSpritePalettes[]; +static const u16 *const gUnknown_083EDE20; +static const s16 gInitialReelPositions[][2]; +static const struct BgTemplate gUnknown_085A7424[4]; +static const struct WindowTemplate gUnknown_085A7434[]; +static const u8 gLuckyFlagProbabilities_Top3[][6]; +static const u8 gLuckyFlagProbabilities_NotTop3[][6]; +static const u8 gReeltimeProbabilities_UnluckyGame[][17]; +static const u8 gReelTimeProbabilities_LuckyGame[][17]; +static const u8 gSym2Match[]; +static const u8 gReelTimeTags[]; +static const u8 gReelSymbols[][REEL_NUM_TAGS]; +static const u8 *const gUnknown_083EDD08[]; +static const u16 *const gUnknown_083EDD1C[]; +static const u8 gUnknown_083EDD30[]; +static const u8 gBettingTilesId[][2]; +static const u8 gNumberBettingTiles[]; +static const u16 *const gUnknown_083EDDA0[]; +static const u16 *const gUnknown_083EDDAC; +static const u16 gReelTimeWindowTilemap[]; +static const u16 gUnknown_085A9898[]; +static void (*const gUnknown_083ED064[])(void); +static const struct SpriteTemplate gSpriteTemplate_83ED504; +static const struct SpriteTemplate gSpriteTemplate_83ED4EC; +static const struct SpriteTemplate gSpriteTemplate_83ED4D4; +static const struct SpriteTemplate gSpriteTemplate_83ED4BC; +static const struct SpriteTemplate gSpriteTemplate_83ED4A4; +static const struct SpriteTemplate gSpriteTemplate_83ED474; +static const struct SpriteTemplate gSpriteTemplate_83ED48C; +static const struct SpriteTemplate gSpriteTemplate_83ED444; +static const struct SpriteTemplate gSpriteTemplate_83ED42C; +static const struct SpriteTemplate gSpriteTemplate_83ED414; +static const struct SpriteTemplate gSpriteTemplate_83ED45C; +static const struct SubspriteTable gSubspriteTables_83ED7D4[]; +static const struct SubspriteTable gSubspriteTables_83ED7B4[]; +static const struct SubspriteTable gSubspriteTables_83ED78C[]; +static const struct SubspriteTable gSubspriteTables_83ED73C[]; +static const struct SubspriteTable gSubspriteTables_83ED75C[]; +static const struct SubspriteTable gSubspriteTables_83ED704[]; + +static const struct BgTemplate gUnknown_085A7424[] = { { .bg = 0, @@ -443,13 +489,13 @@ const struct BgTemplate gUnknown_085A7424[] = }, }; -const struct WindowTemplate gUnknown_085A7434[] = +static const struct WindowTemplate gUnknown_085A7434[] = { {0, 2, 15, 0x1B, 4, 15, 0x194}, DUMMY_WIN_TEMPLATE }; -const struct WindowTemplate gUnknown_085A7444 = +static const struct WindowTemplate gUnknown_085A7444 = { 0, 1, 3, 20, 13, 13, 1 }; @@ -633,23 +679,8 @@ void (*const gUnknown_083ECC54[])(struct Task *task) = nullsub_69, }; -extern const struct SpriteTemplate gSpriteTemplate_83ED504; -extern const struct SpriteTemplate gSpriteTemplate_83ED4EC; -extern const struct SubspriteTable gSubspriteTables_83ED7D4[]; -extern const struct SpriteTemplate gSpriteTemplate_83ED4D4; -extern const struct SubspriteTable gSubspriteTables_83ED7B4[]; -extern const struct SpriteTemplate gSpriteTemplate_83ED4BC; -extern const struct SpriteTemplate gSpriteTemplate_83ED4A4; -extern const struct SubspriteTable gSubspriteTables_83ED78C[]; -extern const struct SpriteTemplate gSpriteTemplate_83ED474; -extern const struct SpriteTemplate gSpriteTemplate_83ED48C; -extern const struct SubspriteTable gSubspriteTables_83ED73C[]; -extern const struct SubspriteTable gSubspriteTables_83ED75C[]; -extern const struct SpriteTemplate gSpriteTemplate_83ED444; -extern const struct SubspriteTable gSubspriteTables_83ED704[]; -extern const struct SpriteTemplate gSpriteTemplate_83ED42C; -extern const struct SpriteTemplate gSpriteTemplate_83ED414; -extern const struct SpriteTemplate gSpriteTemplate_83ED45C; + + // code #define tState data[0] @@ -3278,7 +3309,7 @@ static void sub_8104EA8(void) } } -/*static */void sub_8104F18(struct Sprite *sprite) +static void sub_8104F18(struct Sprite *sprite) { sprite->data[2] = sSlotMachine->reelPixelOffsets[sprite->data[0]] + sprite->data[1]; sprite->data[2] %= 120; @@ -3308,7 +3339,7 @@ static void sub_8104FF4(s16 x, s16 y, u8 a2, s16 a3) sprite->data[3] = -1; } -/*static */void sub_810506C(struct Sprite *sprite) +static void sub_810506C(struct Sprite *sprite) { u16 tag = sSlotMachine->coins; if (sprite->data[0]) @@ -3364,7 +3395,7 @@ static void sub_810514C(void) FREE_AND_SET_NULL(sUnknown_0203AAE4); } -/*static */void sub_8105170(struct Sprite *sprite) +static void sub_8105170(struct Sprite *sprite) { sprite->pos2.y = sprite->pos2.x = 0; if (sprite->animNum == 4) @@ -3446,7 +3477,7 @@ static void sub_81052EC(void) } } -/*static */void sub_810535C(struct Sprite *sprite) +static void sub_810535C(struct Sprite *sprite) { s16 r0 = (u16)(sSlotMachine->reeltimePixelOffset + sprite->data[7]); r0 %= 40; @@ -3535,7 +3566,7 @@ static void CreateReelTimeSprites1(void) sprite->data[7] = 0x20; } -/*static */void sub_810562C(struct Sprite *sprite) +static void sub_810562C(struct Sprite *sprite) { if (sprite->data[0] != 0) { @@ -3587,7 +3618,7 @@ static void CreateReelTimeSprite2(void) sSlotMachine->reelTimeSprites2[1] = spriteId; } -/*static */void sub_8105784(struct Sprite *sprite) +static void sub_8105784(struct Sprite *sprite) { u8 sp[] = {16, 0}; if (sprite->data[0] && --sprite->data[6] <= 0) @@ -3619,7 +3650,7 @@ static void sub_8105854(void) sSlotMachine->unk41 = spriteId; } -/*static */void sub_8105894(struct Sprite *sprite) +static void sub_8105894(struct Sprite *sprite) { sprite->pos2.y = gSpriteCoordOffsetY; } @@ -3644,7 +3675,7 @@ static void sub_81058C4(void) } } -/*static */void sub_810594C(struct Sprite *sprite) +static void sub_810594C(struct Sprite *sprite) { sprite->data[0] -= 2; sprite->data[0] &= 0xff; @@ -3681,7 +3712,7 @@ static void sub_81059E8(void) sSlotMachine->unk43 = spriteId; } -/*static */void sub_8105A38(struct Sprite *sprite) +static void sub_8105A38(struct Sprite *sprite) { if (sprite->data[0] == 0) { @@ -3730,7 +3761,7 @@ static u8 sub_8105B1C(s16 x, s16 y) return spriteId; } -/*static */void sub_8105B70(struct Sprite *sprite) +static void sub_8105B70(struct Sprite *sprite) { if (sprite->affineAnimEnded) sprite->data[7] = 1; @@ -4189,11 +4220,6 @@ static void sub_8106404(void) LoadSpriteSheet(sUnknown_0203AB2C); } -extern const u32 gSlotMachineMenu_Gfx[]; -extern const u16 gSlotMachineMenu_Tilemap[]; -extern const u16 gUnknown_08DCEC70[]; -extern const u16 gSlotMachineMenu_Pal[]; - static void sub_8106448(void) { sUnknown_0203AAC8 = Alloc(0x2200); @@ -4358,7 +4384,7 @@ static void SlotMachineSetup_8_0(void) sUnknown_0203AB28[1].size = 0x180; } -const u8 gReelSymbols[][REEL_NUM_TAGS] = +static const u8 gReelSymbols[][REEL_NUM_TAGS] = { { SLOT_MACHINE_TAG_7_RED, @@ -4431,17 +4457,17 @@ const u8 gReelSymbols[][REEL_NUM_TAGS] = }, }; -const u8 gReelTimeTags[] = { +static const u8 gReelTimeTags[] = { 1, 0, 5, 4, 3, 2 }; -const s16 gInitialReelPositions[][2] = { +static const s16 gInitialReelPositions[][2] = { {0, 6}, {0, 10}, {0, 2} }; -const u8 gLuckyRoundProbabilities[][3] = { +static const u8 gLuckyRoundProbabilities[][3] = { {1, 1, 12}, {1, 1, 14}, {2, 2, 14}, @@ -4450,13 +4476,13 @@ const u8 gLuckyRoundProbabilities[][3] = { {3, 3, 16} }; -const u8 gLuckyFlagProbabilities_Top3[][6] = { +static const u8 gLuckyFlagProbabilities_Top3[][6] = { {25, 25, 30, 40, 40, 50}, {25, 25, 30, 30, 35, 35}, {25, 25, 30, 25, 25, 30} }; -const u8 gLuckyFlagProbabilities_NotTop3[][6] = { +static const u8 gLuckyFlagProbabilities_NotTop3[][6] = { {20, 25, 25, 20, 25, 25}, {12, 15, 15, 18, 19, 22}, {25, 25, 25, 30, 30, 40}, @@ -4464,7 +4490,7 @@ const u8 gLuckyFlagProbabilities_NotTop3[][6] = { {40, 40, 35, 35, 40, 40} }; -const u8 gReeltimeProbabilities_UnluckyGame[][17] = { +static const u8 gReeltimeProbabilities_UnluckyGame[][17] = { {243, 243, 243, 80, 80, 80, 80, 40, 40, 40, 40, 40, 40, 5, 5, 5, 5}, { 5, 5, 5, 150, 150, 150, 150, 130, 130, 130, 130, 130, 130, 100, 100, 100, 5}, { 4, 4, 4, 20, 20, 20, 20, 80, 80, 80, 80, 80, 80, 100, 100, 100, 40}, @@ -4473,7 +4499,7 @@ const u8 gReeltimeProbabilities_UnluckyGame[][17] = { { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6} }; -const u8 gReelTimeProbabilities_LuckyGame[][17] = { +static const u8 gReelTimeProbabilities_LuckyGame[][17] = { { 243, 243, 243, 200, 200, 200, 200, 160, 160, 160, 160, 160, 160, 70, 70, 70, 5}, { 5, 5, 5, 25, 25, 25, 25, 5, 5, 5, 5, 5, 5, 2, 2, 2, 6}, { 4, 4, 4, 25, 25, 25, 25, 30, 30, 30, 30, 30, 30, 40, 40, 40, 35}, @@ -4482,11 +4508,11 @@ const u8 gReelTimeProbabilities_LuckyGame[][17] = { { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 4, 4, 60} }; -const u16 gProbabilityTable_SkipToReeltimeAction14[] = { +static const u16 gProbabilityTable_SkipToReeltimeAction14[] = { 128, 175, 200, 225, 256 }; -const u16 gReelIncrementTable[][2] = { +static const u16 gReelIncrementTable[][2] = { {10, 5}, {10, 10}, {10, 15}, @@ -4494,24 +4520,24 @@ const u16 gReelIncrementTable[][2] = { {10, 35} }; -const u16 gReelTimeBonusIncrementTable[] = { +static const u16 gReelTimeBonusIncrementTable[] = { 0, 5, 10, 15, 20 }; // tentative name -const u8 gBiasTags[] = { +static const u8 gBiasTags[] = { SLOT_MACHINE_TAG_REPLAY, SLOT_MACHINE_TAG_CHERRY, SLOT_MACHINE_TAG_LOTAD, SLOT_MACHINE_TAG_AZURILL, SLOT_MACHINE_TAG_POWER, SLOT_MACHINE_TAG_7_RED, SLOT_MACHINE_TAG_7_RED, SLOT_MACHINE_TAG_7_RED }; -const u16 gLuckyFlagSettings_Top3[] = { +static const u16 gLuckyFlagSettings_Top3[] = { LUCKY_BIAS_777, LUCKY_BIAS_REELTIME, LUCKY_BIAS_MIXED_777 }; -const u16 gLuckyFlagSettings_NotTop3[] = { +static const u16 gLuckyFlagSettings_NotTop3[] = { LUCKY_BIAS_POWER, LUCKY_BIAS_AZURILL, LUCKY_BIAS_LOTAD, LUCKY_BIAS_CHERRY, LUCKY_BIAS_REPLAY }; -const u8 gSym2Match[] = { +static const u8 gSym2Match[] = { SLOT_MACHINE_MATCHED_777_RED, SLOT_MACHINE_MATCHED_777_BLUE, SLOT_MACHINE_MATCHED_AZURILL, @@ -4521,7 +4547,7 @@ const u8 gSym2Match[] = { SLOT_MACHINE_MATCHED_REPLAY }; -const u16 gSlotMatchFlags[] = { +static const u16 gSlotMatchFlags[] = { 1 << SLOT_MACHINE_MATCHED_1CHERRY, 1 << SLOT_MACHINE_MATCHED_2CHERRY, 1 << SLOT_MACHINE_MATCHED_REPLAY, @@ -4533,11 +4559,11 @@ const u16 gSlotMatchFlags[] = { 1 << SLOT_MACHINE_MATCHED_777_BLUE }; -const u16 gSlotPayouts[] = { +static const u16 gSlotPayouts[] = { 2, 4, 0, 6, 12, 3, 90, 300, 300 }; -const s16 gUnknown_083ECE7E[][2] = { +static const s16 gUnknown_083ECE7E[][2] = { { 0xd0, 0x38}, { 0xb8, 0x00}, { 0xc8, 0x08}, @@ -4575,7 +4601,7 @@ const s16 gUnknown_083ECE7E[][2] = { { 0x00, 0x00} }; -const SpriteCallback gUnknown_083ECF0C[] = { +static const SpriteCallback gUnknown_083ECF0C[] = { sub_8105C64, sub_8105F54, sub_8105F54, @@ -4613,14 +4639,14 @@ const SpriteCallback gUnknown_083ECF0C[] = { sub_8106230 }; -const struct UnkStruct1 Unknown_83ECF98[] = { +static const struct UnkStruct1 Unknown_83ECF98[] = { {25, 34, 0}, {2, 0, 0}, {9, 16, 0}, {255, 0, 0} }; -const struct UnkStruct1 Unknown_83ECFA8[] = { +static const struct UnkStruct1 Unknown_83ECFA8[] = { {10, 1, 0}, {11, 2, 0}, {12, 3, 0}, @@ -4630,13 +4656,13 @@ const struct UnkStruct1 Unknown_83ECFA8[] = { {255, 0, 0} }; -const struct UnkStruct1 Unknown_83ECFC4[] = { +static const struct UnkStruct1 Unknown_83ECFC4[] = { {3, 7, 0}, {8, 17, 0}, {255, 0, 0} }; -const struct UnkStruct1 Unknown_83ECFD0[] = { +static const struct UnkStruct1 Unknown_83ECFD0[] = { {4, 8, 0}, {6, 9, 0}, {6, 10, 1}, @@ -4645,14 +4671,14 @@ const struct UnkStruct1 Unknown_83ECFD0[] = { {255, 0, 0} }; -const struct UnkStruct1 Unknown_83ECFE8[] = { +static const struct UnkStruct1 Unknown_83ECFE8[] = { {0, 13, 0}, {1, 14, 0}, {7, 15, 0}, {255, 0, 0} }; -const struct UnkStruct1 Unknown_83ECFF8[] = { +static const struct UnkStruct1 Unknown_83ECFF8[] = { {19, 26, 0}, {20, 27, 1}, {21, 28, 2}, @@ -4665,7 +4691,7 @@ const struct UnkStruct1 Unknown_83ECFF8[] = { {255, 0, 0} }; -const struct UnkStruct1 Unknown_83ED020[] = { +static const struct UnkStruct1 Unknown_83ED020[] = { {22, 18, 0}, {23, 19, 1}, {24, 20, 2}, @@ -4678,7 +4704,7 @@ const struct UnkStruct1 Unknown_83ED020[] = { {255, 0, 0} }; -const struct UnkStruct1 *const gUnknown_083ED048[] = { +static const struct UnkStruct1 *const gUnknown_083ED048[] = { Unknown_83ECF98, Unknown_83ECFA8, Unknown_83ECFC4, @@ -4688,7 +4714,7 @@ const struct UnkStruct1 *const gUnknown_083ED048[] = { Unknown_83ECFF8 }; -void (*const gUnknown_083ED064[])(void) = { +static void (*const gUnknown_083ED064[])(void) = { sub_810639C, sub_8106364, sub_8106370, @@ -4697,3 +4723,2128 @@ void (*const gUnknown_083ED064[])(void) = { sub_8106370, sub_8106370 }; + +static const struct OamData gUnknown_085A7A3C = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .mosaic = 0, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(8x8), + .x = 0, + .matrixNum = 0, + .size = SPRITE_SIZE(8x8), + .tileNum = 0, + .priority = 0, + .paletteNum = 0, + .affineParam = 0, +}; + +static const struct OamData gUnknown_085A7A44 = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .mosaic = 0, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(8x16), + .x = 0, + .matrixNum = 0, + .size = SPRITE_SIZE(8x16), + .tileNum = 0, + .priority = 0, + .paletteNum = 0, + .affineParam = 0, +}; + +static const struct OamData gUnknown_085A7A4C = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .mosaic = 0, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(16x16), + .x = 0, + .matrixNum = 0, + .size = SPRITE_SIZE(16x16), + .tileNum = 0, + .priority = 0, + .paletteNum = 0, + .affineParam = 0, +}; + +static const struct OamData gUnknown_085A7A54 = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .mosaic = 0, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(16x32), + .x = 0, + .matrixNum = 0, + .size = SPRITE_SIZE(16x32), + .tileNum = 0, + .priority = 0, + .paletteNum = 0, + .affineParam = 0, +}; + +static const struct OamData gUnknown_085A7A5C = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .mosaic = 0, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(32x32), + .x = 0, + .matrixNum = 0, + .size = SPRITE_SIZE(32x32), + .tileNum = 0, + .priority = 0, + .paletteNum = 0, + .affineParam = 0, +}; + +static const struct OamData gUnknown_085A7A64 = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .mosaic = 0, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(32x64), + .x = 0, + .matrixNum = 0, + .size = SPRITE_SIZE(32x64), + .tileNum = 0, + .priority = 0, + .paletteNum = 0, + .affineParam = 0, +}; + +static const struct OamData gUnknown_085A7A6C = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .mosaic = 0, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(64x32), + .x = 0, + .matrixNum = 0, + .size = SPRITE_SIZE(64x32), + .tileNum = 0, + .priority = 0, + .paletteNum = 0, + .affineParam = 0, +}; + +static const struct OamData gUnknown_085A7A74 = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .mosaic = 0, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(64x64), + .x = 0, + .matrixNum = 0, + .size = SPRITE_SIZE(64x64), + .tileNum = 0, + .priority = 0, + .paletteNum = 0, + .affineParam = 0, +}; + +static const struct SpriteFrameImage gUnknown_085A7A7C[] = +{ + { gSlotMachineReelTimeNumber0, 0x80 }, + { gSlotMachineReelTimeNumber1, 0x80 }, + { gSlotMachineReelTimeNumber2, 0x80 }, + { gSlotMachineReelTimeNumber3, 0x80 }, + { gSlotMachineReelTimeNumber4, 0x80 }, + { gSlotMachineReelTimeNumber5, 0x80 }, +}; + +static const struct SpriteFrameImage gUnknown_085A7AAC[] = { gSlotMachineReelTimeShadow, 0x200 }; +static const struct SpriteFrameImage gUnknown_085A7AB4[] = { gUnknown_08DD1A18, 0x40 }; + +static const struct SpriteFrameImage gUnknown_085A7ABC[] = +{ + { gSlotMachineReelTimeLargeBolt0, 0x100 }, + { gSlotMachineReelTimeLargeBolt1, 0x100 }, +}; + +static const struct SpriteFrameImage gUnknown_085A7ACC[] = { gSlotMachineReelTimePikaAura, 0x400 }; + +static const struct SpriteFrameImage gUnknown_085A7AD4[] = +{ + { gSlotMachineReelTimeExplosion0, 0x200 }, + { gSlotMachineReelTimeExplosion1, 0x200 }, +}; + +static const struct SpriteFrameImage gUnknown_085A7AE4[] = { gSlotMachineReelTimeDuck, 0x20}; +static const struct SpriteFrameImage gUnknown_085A7AEC[] = { gSlotMachineReelTimeSmoke, 0x80}; +static const struct SpriteFrameImage gUnknown_085A7AF4[] = { gSlotMachineReelTimeBolt, 0x20}; + +static const union AnimCmd gUnknown_085A7AFC[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END +}; + +static const union AnimCmd gUnknown_085A7B04[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_JUMP(0) +}; + +static const union AnimCmd gUnknown_085A7B0C[] = +{ + ANIMCMD_FRAME(0, 16), + ANIMCMD_END +}; + +static const union AnimCmd gUnknown_085A7B14[] = +{ + ANIMCMD_FRAME(1, 16), + ANIMCMD_FRAME(0, 16), + ANIMCMD_JUMP(0) +}; + +static const union AnimCmd gUnknown_085A7B20[] = +{ + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_JUMP(0) +}; + +static const union AnimCmd gUnknown_085A7B2C[] = +{ + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_JUMP(0) +}; + +static const union AnimCmd gUnknown_085A7B38[] = +{ + ANIMCMD_FRAME(2, 32), + ANIMCMD_FRAME(3, 32), + ANIMCMD_JUMP(0) +}; + +static const union AnimCmd gUnknown_085A7B44[] = +{ + ANIMCMD_FRAME(4, 1), + ANIMCMD_END +}; + +static const union AnimCmd gUnknown_085A7B4C[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END +}; + +static const union AnimCmd gUnknown_085A7B54[] = +{ + ANIMCMD_FRAME(1, 1), + ANIMCMD_END +}; + +static const union AnimCmd gUnknown_085A7B5C[] = +{ + ANIMCMD_FRAME(2, 1), + ANIMCMD_END +}; + +static const union AnimCmd gUnknown_085A7B64[] = +{ + ANIMCMD_FRAME(3, 1), + ANIMCMD_END +}; + +static const union AnimCmd gUnknown_085A7B6C[] = +{ + ANIMCMD_FRAME(4, 1), + ANIMCMD_END +}; + +static const union AnimCmd gUnknown_085A7B74[] = +{ + ANIMCMD_FRAME(5, 1), + ANIMCMD_END +}; + + +static const union AnimCmd gUnknown_085A7B7C[] = +{ + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_JUMP(0) +}; + +static const union AnimCmd gUnknown_085A7B88[] = +{ + ANIMCMD_FRAME(0, 16), + ANIMCMD_FRAME(1, 16), + ANIMCMD_JUMP(0) +}; + +static const union AnimCmd gUnknown_085A7B94[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_JUMP(0) +}; + +static const union AnimCmd gUnknown_085A7BA0[] = +{ + ANIMCMD_FRAME(1, 1), + ANIMCMD_END +}; + +static const union AnimCmd gUnknown_085A7BA8[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_JUMP(0) +}; + +static const union AnimCmd gUnknown_085A7BB4[] = +{ + ANIMCMD_FRAME(0, 16), + ANIMCMD_FRAME(1, 16), + ANIMCMD_FRAME(0, 16), + ANIMCMD_FRAME(1, 16, .hFlip = TRUE), + ANIMCMD_JUMP(0) +}; + +static const union AnimCmd gUnknown_085A7BC8[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END +}; + +static const union AnimCmd gUnknown_085A7BD0[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END +}; + +static const union AnimCmd gUnknown_085A7BD8[] = +{ + ANIMCMD_FRAME(1, 1), + ANIMCMD_END +}; + +static const union AnimCmd gUnknown_085A7BE0[] = +{ + ANIMCMD_FRAME(2, 1), + ANIMCMD_END +}; + +static const union AnimCmd gUnknown_085A7BE8[] = +{ + ANIMCMD_FRAME(3, 1), + ANIMCMD_END +}; + +static const union AnimCmd gUnknown_085A7BF0[] = +{ + ANIMCMD_FRAME(4, 1), + ANIMCMD_END +}; + +static const union AnimCmd *const gUnknown_085A7BF8[] = +{ + gUnknown_085A7AFC +}; + +static const union AnimCmd *const gUnknown_085A7BFC[] = +{ + gUnknown_085A7B04 +}; + +static const union AnimCmd *const gUnknown_085A7C00[] = +{ + gUnknown_085A7B0C, + gUnknown_085A7B14, + gUnknown_085A7B20, + gUnknown_085A7B2C, + gUnknown_085A7B38, + gUnknown_085A7B44 +}; + +static const union AnimCmd *const gUnknown_085A7C18[] = +{ + gUnknown_085A7B4C, + gUnknown_085A7B54, + gUnknown_085A7B5C, + gUnknown_085A7B64, + gUnknown_085A7B6C, + gUnknown_085A7B74 +}; + +static const union AnimCmd *const gUnknown_085A7C30[] = +{ + gUnknown_085A7B7C +}; + +static const union AnimCmd *const gUnknown_085A7C34[] = +{ + gUnknown_085A7B88 +}; + +static const union AnimCmd *const gUnknown_085A7C38[] = +{ + gUnknown_085A7B94, + gUnknown_085A7BA0 +}; + +static const union AnimCmd *const gUnknown_085A7C40[] = +{ + gUnknown_085A7BA8 +}; + +static const union AnimCmd *const gUnknown_085A7C44[] = +{ + gUnknown_085A7BB4, + gUnknown_085A7BC8 +}; + +static const union AnimCmd *const gUnknown_085A7C4C[] = +{ + gUnknown_085A7BD0, + gUnknown_085A7BD8, + gUnknown_085A7BE0, + gUnknown_085A7BE8, + gUnknown_085A7BF0 +}; + + +static const union AffineAnimCmd gUnknown_085A7C60[] = +{ + AFFINEANIMCMD_FRAME(16, 16, 0, 0), + AFFINEANIMCMD_LOOP(0), + AFFINEANIMCMD_FRAME(1, 1, 0, 1), + AFFINEANIMCMD_LOOP(0xFF), + AFFINEANIMCMD_END +}; + +static const union AffineAnimCmd *const gUnknown_085A7C88[] = +{ + gUnknown_085A7C60 +}; + +static const union AffineAnimCmd gUnknown_085A7C8C[] = +{ + AFFINEANIMCMD_FRAME(0, 0, 8, 32), + AFFINEANIMCMD_FRAME(0, 0, 6, 32), + AFFINEANIMCMD_FRAME(0, 0, 4, 16), + AFFINEANIMCMD_FRAME(0, 0, 12, 2), + AFFINEANIMCMD_FRAME(0, 0, -12, 4), + AFFINEANIMCMD_FRAME(0, 0, 12, 2), + AFFINEANIMCMD_FRAME(0, 0, 12, 2), + AFFINEANIMCMD_FRAME(0, 0, -12, 4), + AFFINEANIMCMD_FRAME(0, 0, 12, 2), + AFFINEANIMCMD_END +}; + +static const union AffineAnimCmd *const gUnknown_085A7CDC[] = +{ + gUnknown_085A7C8C +}; + +static const struct SpriteTemplate gSpriteTemplate_83ED414 = +{ + .tileTag = 0, + .paletteTag = 0, + .oam = &gUnknown_085A7A5C, + .anims = gUnknown_085A7BF8, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_8104F18 +}; + +static const struct SpriteTemplate gSpriteTemplate_83ED42C = +{ + .tileTag = 7, + .paletteTag = 4, + .oam = &gUnknown_085A7A44, + .anims = gUnknown_085A7BF8, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_810506C +}; + +static const struct SpriteTemplate gSpriteTemplate_83ED444 = +{ + .tileTag = 17, + .paletteTag = 0, + .oam = &gUnknown_085A7A74, + .anims = gUnknown_085A7BF8, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy +}; + +static const struct SpriteTemplate gSpriteTemplate_83ED45C = +{ + .tileTag = 0xFFFF, + .paletteTag = 1, + .oam = &gUnknown_085A7A74, + .anims = gUnknown_085A7C00, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_8105170 +}; + +static const struct SpriteTemplate gSpriteTemplate_83ED474 = +{ + .tileTag = 0xFFFF, + .paletteTag = 2, + .oam = &gUnknown_085A7A44, + .anims = gUnknown_085A7BF8, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy +}; + +static const struct SpriteTemplate gSpriteTemplate_83ED48C = +{ + .tileTag = 0xFFFF, + .paletteTag = 3, + .oam = &gUnknown_085A7A44, + .anims = gUnknown_085A7BF8, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy +}; + +static const struct SpriteTemplate gSpriteTemplate_83ED4A4 = +{ + .tileTag = 0xFFFF, + .paletteTag = 3, + .oam = &gUnknown_085A7A44, + .anims = gUnknown_085A7BF8, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy +}; + +static const struct SpriteTemplate gSpriteTemplate_83ED4BC = +{ + .tileTag = 0xFFFF, + .paletteTag = 4, + .oam = &gUnknown_085A7A4C, + .anims = gUnknown_085A7C18, + .images = gUnknown_085A7A7C, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_810535C +}; + +static const struct SpriteTemplate gSpriteTemplate_83ED4D4 = +{ + .tileTag = 0xFFFF, + .paletteTag = 4, + .oam = &gUnknown_085A7A4C, + .anims = gUnknown_085A7BF8, + .images = gUnknown_085A7AAC, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy +}; + +static const struct SpriteTemplate gSpriteTemplate_83ED4EC = +{ + .tileTag = 0xFFFF, + .paletteTag = 4, + .oam = &gUnknown_085A7A4C, + .anims = gUnknown_085A7BF8, + .images = gUnknown_085A7AB4, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy +}; + +static const struct SpriteTemplate gSpriteTemplate_83ED504 = +{ + .tileTag = 0xFFFF, + .paletteTag = 4, + .oam = &gUnknown_085A7A54, + .anims = gUnknown_085A7C30, + .images = gUnknown_085A7ABC, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_810562C +}; + +static const struct SpriteTemplate gSpriteTemplate_83ED51C = +{ + .tileTag = 0xFFFF, + .paletteTag = 7, + .oam = &gUnknown_085A7A64, + .anims = gUnknown_085A7BF8, + .images = gUnknown_085A7ACC, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_8105784 +}; + +static const struct SpriteTemplate gSpriteTemplate_83ED534 = +{ + .tileTag = 0xFFFF, + .paletteTag = 5, + .oam = &gUnknown_085A7A5C, + .anims = gUnknown_085A7C34, + .images = gUnknown_085A7AD4, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_8105894 +}; + +static const struct SpriteTemplate gSpriteTemplate_83ED54C = +{ + .tileTag = 0xFFFF, + .paletteTag = 4, + .oam = &gUnknown_085A7A3C, + .anims = gUnknown_085A7BFC, + .images = gUnknown_085A7AE4, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_810594C +}; + +static const struct SpriteTemplate gSpriteTemplate_83ED564 = +{ + .tileTag = 0xFFFF, + .paletteTag = 4, + .oam = &gUnknown_085A7A4C, + .anims = gUnknown_085A7BF8, + .images = gUnknown_085A7AEC, + .affineAnims = gUnknown_085A7C88, + .callback = sub_8105A38 +}; + +static const struct SpriteTemplate gUnknown_085A7E48 = +{ + .tileTag = 0xFFFF, + .paletteTag = 6, + .oam = &gUnknown_085A7A3C, + .anims = gUnknown_085A7BF8, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy +}; + +static const struct SpriteTemplate gUnknown_085A7E60 = +{ + .tileTag = 0xFFFF, + .paletteTag = 6, + .oam = &gUnknown_085A7A3C, + .anims = gUnknown_085A7BF8, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy +}; + +static const struct SpriteTemplate gUnknown_085A7E78 = +{ + .tileTag = 0xFFFF, + .paletteTag = 6, + .oam = &gUnknown_085A7A3C, + .anims = gUnknown_085A7BF8, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy +}; + +static const struct SpriteTemplate gUnknown_085A7E90 = +{ + .tileTag = 18, + .paletteTag = 6, + .oam = &gUnknown_085A7A3C, + .anims = gUnknown_085A7BF8, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy +}; + +static const struct SpriteTemplate gUnknown_085A7EA8 = +{ + .tileTag = 0xFFFF, + .paletteTag = 6, + .oam = &gUnknown_085A7A6C, + .anims = gUnknown_085A7BF8, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy +}; + +static const struct SpriteTemplate gUnknown_085A7EC0 = +{ + .tileTag = 0xFFFF, + .paletteTag = 6, + .oam = &gUnknown_085A7A6C, + .anims = gUnknown_085A7BF8, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy +}; + +static const struct SpriteTemplate gUnknown_085A7ED8 = +{ + .tileTag = 19, + .paletteTag = 6, + .oam = &gUnknown_085A7A3C, + .anims = gUnknown_085A7BF8, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy +}; + +static const struct SpriteTemplate gUnknown_085A7EF0 = +{ + .tileTag = 20, + .paletteTag = 6, + .oam = &gUnknown_085A7A3C, + .anims = gUnknown_085A7BF8, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy +}; + +static const struct SpriteTemplate gUnknown_085A7F08 = +{ + .tileTag = 21, + .paletteTag = 6, + .oam = &gUnknown_085A7A3C, + .anims = gUnknown_085A7BF8, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy +}; + +static const struct SpriteTemplate gUnknown_085A7F20 = +{ + .tileTag = 0xFFFF, + .paletteTag = 6, + .oam = &gUnknown_085A7A5C, + .anims = gUnknown_085A7C38, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy +}; + +static const struct SpriteTemplate gUnknown_085A7F38 = +{ + .tileTag = 0xFFFF, + .paletteTag = 6, + .oam = &gUnknown_085A7A3C, + .anims = gUnknown_085A7BF8, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy +}; + +static const struct SpriteTemplate gUnknown_085A7F50 = +{ + .tileTag = 0xFFFF, + .paletteTag = 6, + .oam = &gUnknown_085A7A4C, + .anims = gUnknown_085A7C4C, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy +}; + +static const struct SpriteTemplate gUnknown_085A7F68 = +{ + .tileTag = 0xFFFF, + .paletteTag = 6, + .oam = &gUnknown_085A7A3C, + .anims = gUnknown_085A7C44, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy +}; + +static const struct SpriteTemplate gUnknown_085A7F80 = +{ + .tileTag = 0xFFFF, + .paletteTag = 6, + .oam = &gUnknown_085A7A3C, + .anims = gUnknown_085A7C40, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy +}; + +static const struct SpriteTemplate gSpriteTemplate_83ED6CC = +{ + .tileTag = 0xFFFF, + .paletteTag = 4, + .oam = &gUnknown_085A7A3C, + .anims = gUnknown_085A7BF8, + .images = gUnknown_085A7AF4, + .affineAnims = gUnknown_085A7CDC, + .callback = sub_8105B70 +}; + +static const struct Subsprite gUnknown_085A7FB0[] = +{ + { + .x = -64, + .y = -64, + .shape = SPRITE_SHAPE(64x64), + .size = SPRITE_SIZE(64x64), + .tileOffset = 0, + .priority = 3, + }, + { + .x = 0, + .y = -64, + .shape = SPRITE_SHAPE(64x64), + .size = SPRITE_SIZE(64x64), + .tileOffset = 0, + .priority = 3, + }, + { + .x = -64, + .y = 0, + .shape = SPRITE_SHAPE(64x64), + .size = SPRITE_SIZE(64x64), + .tileOffset = 0, + .priority = 3, + }, + { + .x = 0, + .y = 0, + .shape = SPRITE_SHAPE(64x64), + .size = SPRITE_SIZE(64x64), + .tileOffset = 0, + .priority = 3, + } +}; + +static const struct SubspriteTable gSubspriteTables_83ED704[] = +{ + ARRAY_COUNT(gUnknown_085A7FB0), gUnknown_085A7FB0 +}; + +static const struct Subsprite gUnknown_085A7FC8[] = +{ + { + .x = -32, + .y = -12, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 0, + .priority = 1, + }, + { + .x = 0, + .y = -12, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 4, + .priority = 1, + }, + { + .x = -32, + .y = -4, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 8, + .priority = 1, + }, + { + .x = 0, + .y = -4, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 12, + .priority = 1, + }, + { + .x = -32, + .y = 4, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 16, + .priority = 1, + }, + { + .x = 0, + .y = 4, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 20, + .priority = 1 + } +}; + +static const struct SubspriteTable gSubspriteTables_83ED73C[] = +{ + ARRAY_COUNT(gUnknown_085A7FC8), gUnknown_085A7FC8 +}; + +static const struct Subsprite gUnknown_085A7FE8[] = +{ + { + .x = -32, + .y = -20, + .shape = SPRITE_SHAPE(64x32), + .size = SPRITE_SIZE(64x32), + .tileOffset = 0, + .priority = 1, + }, + { + .x = -32, + .y = 12, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 32, + .priority = 1, + }, + { + .x = 0, + .y = 12, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 36, + .priority = 1, + } +}; + +static const struct SubspriteTable gSubspriteTables_83ED75C[] = +{ + ARRAY_COUNT(gUnknown_085A7FE8), gUnknown_085A7FE8 +}; + +static const struct Subsprite gUnknown_085A7FFC[] = +{ + { + .x = -32, + .y = -24, + .shape = SPRITE_SHAPE(64x32), + .size = SPRITE_SIZE(64x32), + .tileOffset = 0, + .priority = 1, + }, + { + .x = -32, + .y = 8, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 32, + .priority = 1, + }, + { + .x = 0, + .y = 8, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 36, + .priority = 1, + }, + { + .x = -32, + .y = 16, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 40, + .priority = 1, + }, + { + .x = 0, + .y = 16, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 44, + .priority = 1, + } +}; + +static const struct SubspriteTable gSubspriteTables_83ED78C[] = +{ + ARRAY_COUNT(gUnknown_085A7FFC), gUnknown_085A7FFC +}; + +static const struct Subsprite gUnknown_085A8018[] = +{ + { + .x = -32, + .y = -8, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 0, + .priority = 1, + }, + { + .x = 0, + .y = -8, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 4, + .priority = 1, + }, + { + .x = -32, + .y = 0, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 8, + .priority = 1, + }, + { + .x = 0, + .y = 0, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 12, + .priority = 1, + } +}; + +static const struct SubspriteTable gSubspriteTables_83ED7B4[] = +{ + ARRAY_COUNT(gUnknown_085A8018), gUnknown_085A8018 +}; + +static const struct Subsprite gUnknown_085A8030[] = +{ + { + .x = -8, + .y = -12, + .shape = SPRITE_SHAPE(16x8), + .size = SPRITE_SIZE(16x8), + .tileOffset = 0, + .priority = 1, + }, + { + .x = -8, + .y = -4, + .shape = SPRITE_SHAPE(16x8), + .size = SPRITE_SIZE(16x8), + .tileOffset = 0, + .priority = 1, + }, + { + .x = -8, + .y = 4, + .shape = SPRITE_SHAPE(16x8), + .size = SPRITE_SIZE(16x8), + .tileOffset = 0, + .priority = 1, + } +}; + +static const struct SubspriteTable gSubspriteTables_83ED7D4[] = +{ + ARRAY_COUNT(gUnknown_085A8030), gUnknown_085A8030 +}; + +static const struct Subsprite gUnknown_085A8044[] = +{ + { + .x = -32, + .y = -24, + .shape = SPRITE_SHAPE(64x32), + .size = SPRITE_SIZE(64x32), + .tileOffset = 0, + .priority = 3, + }, + { + .x = -32, + .y = 8, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 32, + .priority = 3, + }, + { + .x = 0, + .y = 8, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 36, + .priority = 3, + }, + { + .x = -32, + .y = 16, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 40, + .priority = 3, + }, + { + .x = 0, + .y = 16, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 44, + .priority = 3, + } +}; + +static const struct SubspriteTable gUnknown_085A8058[] = +{ + ARRAY_COUNT(gUnknown_085A8044), gUnknown_085A8044 +}; + +static const struct Subsprite gUnknown_085A8060[] = +{ + { + .x = -32, + .y = -8, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 0, + .priority = 3, + }, + { + .x = 0, + .y = -8, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 4, + .priority = 3, + }, + { + .x = -32, + .y = 0, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 8, + .priority = 3, + }, + { + .x = 0, + .y = 0, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 12, + .priority = 3, + } +}; + +static const struct SubspriteTable gUnknown_085A8070[] = +{ + ARRAY_COUNT(gUnknown_085A8060), gUnknown_085A8060 +}; + +static const struct Subsprite gUnknown_085A8078[] = +{ + { + .x = -32, + .y = -8, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 0, + .priority = 3, + }, + { + .x = 0, + .y = -8, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 4, + .priority = 3, + }, + { + .x = -32, + .y = 0, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 8, + .priority = 3, + }, + { + .x = 0, + .y = 0, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 12, + .priority = 3, + } +}; + +static const struct SubspriteTable gUnknown_085A8088[] = +{ + ARRAY_COUNT(gUnknown_085A8078), gUnknown_085A8078 +}; + +static const struct Subsprite gUnknown_085A8090[] = +{ + { + .x = -32, + .y = -8, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 0, + .priority = 3, + }, + { + .x = 0, + .y = -8, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 4, + .priority = 3, + }, + { + .x = -32, + .y = 0, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 8, + .priority = 3, + }, + { + .x = 0, + .y = 0, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 12, + .priority = 3, + } +}; + +static const struct SubspriteTable gUnknown_085A80A0[] = +{ + ARRAY_COUNT(gUnknown_085A8090), gUnknown_085A8090 +}; + +static const struct Subsprite gUnknown_085A80A8[] = +{ + { + .x = -32, + .y = -12, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 0, + .priority = 3, + }, + { + .x = 0, + .y = -12, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 4, + .priority = 3, + }, + { + .x = -32, + .y = -4, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 8, + .priority = 3, + }, + { + .x = 0, + .y = -4, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 12, + .priority = 3, + }, + { + .x = -32, + .y = 4, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 16, + .priority = 3, + }, + { + .x = 0, + .y = 4, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 20, + .priority = 3, + } +}; + +static const struct SubspriteTable gUnknown_085A80C0[] = +{ + ARRAY_COUNT(gUnknown_085A80A8), gUnknown_085A80A8 +}; + +static const struct Subsprite gUnknown_085A80C8[] = +{ + { + .x = -16, + .y = -16, + .shape = SPRITE_SHAPE(32x32), + .size = SPRITE_SIZE(32x32), + .tileOffset = 0, + .priority = 3, + } +}; + +static const struct Subsprite gUnknown_085A80CC[] = +{ + { + .x = -8, + .y = -8, + .shape = SPRITE_SHAPE(16x16), + .size = SPRITE_SIZE(16x16), + .tileOffset = 16, + .priority = 3, + } +}; + +static const struct SubspriteTable gUnknown_085A80D0[] = +{ + ARRAY_COUNT(gUnknown_085A80C8), gUnknown_085A80C8 +}; + +static const struct SubspriteTable gUnknown_085A80D8[] = +{ + ARRAY_COUNT(gUnknown_085A80CC), gUnknown_085A80CC +}; + +static const struct Subsprite gUnknown_085A80E0[] = +{ + { + .x = -24, + .y = -24, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 0, + .priority = 3, + }, + { + .x = 8, + -24, + .shape = SPRITE_SHAPE(16x8), + .size = SPRITE_SIZE(16x8), + .tileOffset = 4, + .priority = 3, + }, + { + .x = -24, + .y = -16, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 6, + .priority = 3, + }, + { + .x = 8, + .y = -16, + .shape = SPRITE_SHAPE(16x8), + .size = SPRITE_SIZE(16x8), + .tileOffset = 10, + .priority = 3, + }, + { + .x = -24, + .y = -8, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 12, + .priority = 3, + }, + { + .x = 8, + .y = -8, + .shape = SPRITE_SHAPE(16x8), + .size = SPRITE_SIZE(16x8), + .tileOffset = 16, + .priority = 3, + }, + { + .x = -24, + .y = 0, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 18, + .priority = 3, + }, + { + .x = 8, + .y = 0, + .shape = SPRITE_SHAPE(16x8), + .size = SPRITE_SIZE(16x8), + .tileOffset = 22, + .priority = 3, + }, + { + .x = -24, + .y = 8, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 24, + .priority = 3, + }, + { + .x = 8, + .y = 8, + .shape = SPRITE_SHAPE(16x8), + .size = SPRITE_SIZE(16x8), + .tileOffset = 28, + .priority = 3, + }, + { + .x = -24, + .y = 16, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 30, + .priority = 3, + }, + { + .x = 8, + .y = 16, + .shape = SPRITE_SHAPE(16x8), + .size = SPRITE_SIZE(16x8), + .tileOffset = 34, + .priority = 3, + } +}; + +static const struct SubspriteTable gUnknown_085A8110[] = +{ + ARRAY_COUNT(gUnknown_085A80E0), gUnknown_085A80E0 +}; + +static const struct Subsprite gUnknown_085A8118[] = +{ + { + .x = -16, + .y = -12, + .shape = SPRITE_SHAPE(32x16), + .size = SPRITE_SIZE(32x16), + .tileOffset = 0, + .priority = 3, + }, + { + .x = -16, + .y = 4, + .shape = SPRITE_SHAPE(16x8), + .size = SPRITE_SIZE(16x8), + .tileOffset = 8, + .priority = 3, + }, + { + .x = 0, + .y = 4, + .shape = SPRITE_SHAPE(16x8), + .size = SPRITE_SIZE(16x8), + .tileOffset = 10, + .priority = 3, + } +}; + +static const struct SubspriteTable gUnknown_085A8124[] = +{ + ARRAY_COUNT(gUnknown_085A8118), gUnknown_085A8118 +}; + +static const struct Subsprite gUnknown_085A812C[] = +{ + { + .x = -8, + .y = -8, + .shape = SPRITE_SHAPE(16x8), + .size = SPRITE_SIZE(16x8), + .tileOffset = 0, + .priority = 3, + }, + { + .x = -8, + .y = 0, + .shape = SPRITE_SHAPE(16x8), + .size = SPRITE_SIZE(16x8), + .tileOffset = 8, + .priority = 3, + } +}; + +static const struct SubspriteTable gUnknown_085A8134[] = +{ + ARRAY_COUNT(gUnknown_085A812C), gUnknown_085A812C +}; + +static const struct Subsprite gUnknown_085A813C[] = +{ + { + .x = -8, + .y = -8, + .shape = SPRITE_SHAPE(16x8), + .size = SPRITE_SIZE(16x8), + .tileOffset = 2, + .priority = 3, + }, + { + .x = -8, + .y = 0, + .shape = SPRITE_SHAPE(16x8), + .size = SPRITE_SIZE(16x8), + .tileOffset = 10, + .priority = 3, + } +}; + +static const struct SubspriteTable gUnknown_085A8144[] = +{ + ARRAY_COUNT(gUnknown_085A813C), gUnknown_085A813C +}; + +static const struct Subsprite gUnknown_085A814C[] = +{ + { + .x = -8, + .y = -8, + .shape = SPRITE_SHAPE(16x8), + .size = SPRITE_SIZE(16x8), + .tileOffset = 4, + .priority = 3, + }, + { + .x = -8, + .y = 0, + .shape = SPRITE_SHAPE(16x8), + .size = SPRITE_SIZE(16x8), + .tileOffset = 12, + .priority = 3, + } +}; + +static const struct SubspriteTable gUnknown_085A8154[] = +{ + ARRAY_COUNT(gUnknown_085A814C), gUnknown_085A814C +}; + +static const struct Subsprite gUnknown_085A815C[] = +{ + { + .x = -8, + .y = -8, + .shape = SPRITE_SHAPE(16x8), + .size = SPRITE_SIZE(16x8), + .tileOffset = 6, + .priority = 3, + }, + { + .x = -8, + .y = 0, + .shape = SPRITE_SHAPE(16x8), + .size = SPRITE_SIZE(16x8), + .tileOffset = 14, + .priority = 3, + } +}; + +static const struct SubspriteTable gUnknown_085A8164[] = +{ + ARRAY_COUNT(gUnknown_085A815C), gUnknown_085A815C +}; + +static const struct Subsprite gUnknown_085A816C[] = +{ + { + .x = -8, + .y = -8, + .shape = SPRITE_SHAPE(16x8), + .size = SPRITE_SIZE(16x8), + .tileOffset = 0, + .priority = 3, + }, + { + .x = -8, + .y = 0, + .shape = SPRITE_SHAPE(16x8), + .size = SPRITE_SIZE(16x8), + .tileOffset = 8, + .priority = 3, + } +}; + +static const struct SubspriteTable gUnknown_085A8174[] = +{ + ARRAY_COUNT(gUnknown_085A816C), gUnknown_085A816C +}; + +static const struct Subsprite gUnknown_085A817C[] = +{ + { + .x = -4, + .y = -8, + .shape = SPRITE_SHAPE(8x8), + .size = SPRITE_SIZE(8x8), + .tileOffset = 2, + .priority = 3, + }, + { + .x = -4, + .y = 0, + .shape = SPRITE_SHAPE(8x8), + .size = SPRITE_SIZE(8x8), + .tileOffset = 10, + .priority = 3, + } +}; + +static const struct SubspriteTable gUnknown_085A8184[] = +{ + ARRAY_COUNT(gUnknown_085A817C), gUnknown_085A817C +}; + +static const struct Subsprite gUnknown_085A818C[] = +{ + { + .x = -8, + .y = -8, + .shape = SPRITE_SHAPE(16x8), + .size = SPRITE_SIZE(16x8), + .tileOffset = 3, + .priority = 3, + }, + { + .x = -8, + .y = 0, + .shape = SPRITE_SHAPE(16x8), + .size = SPRITE_SIZE(16x8), + .tileOffset = 11, + .priority = 3, + } +}; + +static const struct SubspriteTable gUnknown_085A8194[] = +{ + ARRAY_COUNT(gUnknown_085A818C), gUnknown_085A818C +}; + +static const struct Subsprite gUnknown_085A819C[] = +{ + { + .x = -4, + .y = -8, + .shape = SPRITE_SHAPE(8x8), + .size = SPRITE_SIZE(8x8), + .tileOffset = 5, + .priority = 3, + }, + { + .x = -4, + .y = 0, + .shape = SPRITE_SHAPE(8x8), + .size = SPRITE_SIZE(8x8), + .tileOffset = 13, + .priority = 3, + } +}; + +static const struct SubspriteTable gUnknown_085A81A4[] = +{ + ARRAY_COUNT(gUnknown_085A819C), gUnknown_085A819C +}; + +static const struct Subsprite gUnknown_085A81AC[] = +{ + { + .x = -8, + .y = -8, + .shape = SPRITE_SHAPE(16x8), + .size = SPRITE_SIZE(16x8), + .tileOffset = 6, + .priority = 3, + }, + { + .x = -8, + .y = 0, + .shape = SPRITE_SHAPE(16x8), + .size = SPRITE_SIZE(16x8), + .tileOffset = 14, + .priority = 3, + } +}; + +static const struct SubspriteTable gUnknown_085A81B4[] = +{ + ARRAY_COUNT(gUnknown_085A81AC), gUnknown_085A81AC +}; + +static const struct Subsprite gUnknown_085A81BC[] = +{ + { + .x = -12, + .y = -12, + .shape = SPRITE_SHAPE(16x8), + .size = SPRITE_SIZE(16x8), + .tileOffset = 0, + .priority = 3, + }, + { + .x = 4, + .y = -12, + .shape = SPRITE_SHAPE(8x8), + .size = SPRITE_SIZE(8x8), + .tileOffset = 2, + .priority = 3, + }, + { + .x = -12, + .y = -4, + .shape = SPRITE_SHAPE(16x8), + .size = SPRITE_SIZE(16x8), + .tileOffset = 8, + .priority = 3, + }, + { + .x = 4, + .y = -4, + .shape = SPRITE_SHAPE(8x8), + .size = SPRITE_SIZE(8x8), + .tileOffset = 10, + .priority = 3, + }, + { + .x = -12, + .y = 4, + .shape = SPRITE_SHAPE(16x8), + .size = SPRITE_SIZE(16x8), + .tileOffset = 16, + .priority = 3, + }, + { + .x = 4, + .y = 4, + .shape = SPRITE_SHAPE(8x8), + .size = SPRITE_SIZE(8x8), + .tileOffset = 18, + .priority = 3, + } +}; + +static const struct SubspriteTable gUnknown_085A81D4[] = +{ + ARRAY_COUNT(gUnknown_085A81BC), gUnknown_085A81BC +}; + +static const struct Subsprite gUnknown_085A81DC[] = +{ + { + .x = -8, + .y = -12, + .shape = SPRITE_SHAPE(16x8), + .size = SPRITE_SIZE(16x8), + .tileOffset = 3, + .priority = 3, + }, + { + .x = -8, + .y = -4, + .shape = SPRITE_SHAPE(16x8), + .size = SPRITE_SIZE(16x8), + .tileOffset = 11, + .priority = 3, + }, + { + .x = -8, + .y = 4, + .shape = SPRITE_SHAPE(16x8), + .size = SPRITE_SIZE(16x8), + .tileOffset = 19, + .priority = 3, + } +}; + +static const struct SubspriteTable gUnknown_085A81E8[] = +{ + ARRAY_COUNT(gUnknown_085A81DC), gUnknown_085A81DC +}; + +static const struct Subsprite gUnknown_085A81F0[] = +{ + { + .x = -12, + .y = -12, + .shape = SPRITE_SHAPE(16x8), + .size = SPRITE_SIZE(16x8), + .tileOffset = 5, + .priority = 3, + }, + { + .x = 4, + .y = -12, + .shape = SPRITE_SHAPE(8x8), + .size = SPRITE_SIZE(8x8), + .tileOffset = 7, + .priority = 3, + }, + { + .x = -12, + .y = -4, + .shape = SPRITE_SHAPE(16x8), + .size = SPRITE_SIZE(16x8), + .tileOffset = 13, + .priority = 3, + }, + { + .x = 4, + .y = -4, + .shape = SPRITE_SHAPE(8x8), + .size = SPRITE_SIZE(8x8), + .tileOffset = 15, + .priority = 3, + }, + { + .x = -12, + .y = 4, + .shape = SPRITE_SHAPE(16x8), + .size = SPRITE_SIZE(16x8), + .tileOffset = 21, + .priority = 3, + }, + { + .x = 4, + .y = 4, + .shape = SPRITE_SHAPE(8x8), + .size = SPRITE_SIZE(8x8), + .tileOffset = 23, + .priority = 3, + } +}; + +static const struct SubspriteTable gUnknown_085A8208[] = +{ + ARRAY_COUNT(gUnknown_085A81F0), gUnknown_085A81F0 +}; + +static const struct Subsprite gUnknown_085A8210[] = +{ + { + .x = -12, + .y = -12, + .shape = SPRITE_SHAPE(16x8), + .size = SPRITE_SIZE(16x8), + .tileOffset = 0, + .priority = 3, + }, + { + .x = 4, + .y = -12, + .shape = SPRITE_SHAPE(8x8), + .size = SPRITE_SIZE(8x8), + .tileOffset = 2, + .priority = 3, + }, + { + .x = -12, + .y = -4, + .shape = SPRITE_SHAPE(16x8), + .size = SPRITE_SIZE(16x8), + .tileOffset = 8, + .priority = 3, + }, + { + .x = 4, + .y = -4, + .shape = SPRITE_SHAPE(8x8), + .size = SPRITE_SIZE(8x8), + .tileOffset = 10, + .priority = 3, + }, + { + .x = -12, + .y = 4, + .shape = SPRITE_SHAPE(16x8), + .size = SPRITE_SIZE(16x8), + .tileOffset = 16, + .priority = 3, + }, + { + .x = 4, + .y = 4, + .shape = SPRITE_SHAPE(8x8), + .size = SPRITE_SIZE(8x8), + .tileOffset = 18, + .priority = 3, + } +}; + +static const struct SubspriteTable gUnknown_085A8228[] = +{ + ARRAY_COUNT(gUnknown_085A8210), gUnknown_085A8210 +}; + +static const struct Subsprite gUnknown_085A822C[] = +{ + { + .x = -8, + .y = -12, + .shape = SPRITE_SHAPE(16x8), + .size = SPRITE_SIZE(16x8), + .tileOffset = 3, + .priority = 3, + }, + { + .x = -8, + .y = -4, + .shape = SPRITE_SHAPE(16x8), + .size = SPRITE_SIZE(16x8), + .tileOffset = 11, + .priority = 3, + }, + { + .x = -8, + .y = 4, + .shape = SPRITE_SHAPE(16x8), + .size = SPRITE_SIZE(16x8), + .tileOffset = 19, + .priority = 3, + } +}; + +static const struct SubspriteTable gUnknown_085A823C[] = +{ + ARRAY_COUNT(gUnknown_085A822C), gUnknown_085A822C +}; + +static const struct Subsprite gUnknown_085A8244[] = +{ + { + .x = -12, + .y = -12, + .shape = SPRITE_SHAPE(16x8), + .size = SPRITE_SIZE(16x8), + .tileOffset = 5, + .priority = 3, + }, + { + .x = 4, + .y = -12, + .shape = SPRITE_SHAPE(8x8), + .size = SPRITE_SIZE(8x8), + .tileOffset = 7, + .priority = 3, + }, + { + .x = -12, + .y = -4, + .shape = SPRITE_SHAPE(16x8), + .size = SPRITE_SIZE(16x8), + .tileOffset = 13, + .priority = 3, + }, + { + .x = 4, + .y = -4, + .shape = SPRITE_SHAPE(8x8), + .size = SPRITE_SIZE(8x8), + .tileOffset = 15, + .priority = 3, + }, + { + .x = -12, + .y = 4, + .shape = SPRITE_SHAPE(16x8), + .size = SPRITE_SIZE(16x8), + .tileOffset = 21, + .priority = 3, + }, + { + .x = 4, + .y = 4, + .shape = SPRITE_SHAPE(8x8), + .size = SPRITE_SIZE(8x8), + .tileOffset = 23, + .priority = 3, + } +}; + +static const struct SubspriteTable gUnknown_085A825C[] = +{ + ARRAY_COUNT(gUnknown_085A8244), gUnknown_085A8244 +}; + +static const struct SpriteTemplate *const gUnknown_083EDB5C[] = +{ + &gUnknown_085A7E48, + &gUnknown_085A7E60, + &gUnknown_085A7E78, + &gUnknown_085A7EA8, + &gUnknown_085A7EC0, + &gUnknown_085A7F20, + &gUnknown_085A7F38, + &gUnknown_085A7F50, + &gUnknown_085A7F68, + &gUnknown_085A7F80, + &gUnknown_085A7E90, + &gUnknown_085A7E90, + &gUnknown_085A7E90, + &gUnknown_085A7E90, + &gUnknown_085A7ED8, + &gUnknown_085A7ED8, + &gUnknown_085A7ED8, + &gUnknown_085A7ED8, + &gUnknown_085A7ED8, + &gUnknown_085A7EF0, + &gUnknown_085A7EF0, + &gUnknown_085A7EF0, + &gUnknown_085A7F08, + &gUnknown_085A7F08, + &gUnknown_085A7F08, + &gDummySpriteTemplate +}; + +static const struct SubspriteTable *const gUnknown_083EDBC4[] = +{ + gUnknown_085A8058, + gUnknown_085A8070, + gUnknown_085A8088, + gUnknown_085A80C0, + NULL, + NULL, + gUnknown_085A80D0, + NULL, + gUnknown_085A8110, + gUnknown_085A8124, + gUnknown_085A8134, + gUnknown_085A8144, + gUnknown_085A8154, + gUnknown_085A8164, + gUnknown_085A8174, + gUnknown_085A8184, + gUnknown_085A8194, + gUnknown_085A81A4, + gUnknown_085A81B4, + gUnknown_085A81D4, + gUnknown_085A81E8, + gUnknown_085A8208, + gUnknown_085A8228, + gUnknown_085A823C, + gUnknown_085A825C, + NULL +}; + +static const struct SpriteSheet gSlotMachineSpriteSheets[] = +{ + { .data = gSlotMachineReelSymbol1Tiles, .size = 0x200, .tag = 0 }, + { .data = gSlotMachineReelSymbol2Tiles, .size = 0x200, .tag = 1 }, + { .data = gSlotMachineReelSymbol3Tiles, .size = 0x200, .tag = 2 }, + { .data = gSlotMachineReelSymbol4Tiles, .size = 0x200, .tag = 3 }, + { .data = gSlotMachineReelSymbol5Tiles, .size = 0x200, .tag = 4 }, + { .data = gSlotMachineReelSymbol6Tiles, .size = 0x200, .tag = 5 }, + { .data = gSlotMachineReelSymbol7Tiles, .size = 0x200, .tag = 6 }, + { .data = gSlotMachineNumber0Tiles, .size = 0x40, .tag = 7 }, + { .data = gSlotMachineNumber1Tiles, .size = 0x40, .tag = 8 }, + { .data = gSlotMachineNumber2Tiles, .size = 0x40, .tag = 9 }, + { .data = gSlotMachineNumber3Tiles, .size = 0x40, .tag = 10 }, + { .data = gSlotMachineNumber4Tiles, .size = 0x40, .tag = 11 }, + { .data = gSlotMachineNumber5Tiles, .size = 0x40, .tag = 12 }, + { .data = gSlotMachineNumber6Tiles, .size = 0x40, .tag = 13 }, + { .data = gSlotMachineNumber7Tiles, .size = 0x40, .tag = 14 }, + { .data = gSlotMachineNumber8Tiles, .size = 0x40, .tag = 15 }, + { .data = gSlotMachineNumber9Tiles, .size = 0x40, .tag = 16 }, +}; + +static const u8 sUnused1[][8] = +{ + {0, 0, 0, 0, 0, 2, 18}, + {0, 0, 0, 0, 0, 2, 19}, + {0, 0, 0, 0, 0, 3, 20}, + {0, 0, 0, 0, 0, 3, 21}, + {0, 0, 0, 0, 0, 0, 0} +}; + +static const u8 *const gUnknown_083EDCDC = gUnknown_08DD19F8; + +static const u8 sUnused2[][2] = +{ + {0x7B, 0x6F}, + {0x68, 0x69}, + {0xAB, 0x36}, + {0xFF, 0x7F}, + {0x50, 0x57}, + {0xC0, 0x7E}, + {0xBA, 2}, + {0xBA, 2}, + {0xFD, 1}, + {0xFD, 1} +}; + +static const u8 gUnknown_085A83FC[] = {0x91, 0x7F}; +static const u8 gUnknown_085A83FE[] = {0xBF, 0x43}; +static const u8 gUnknown_085A8400[] = {0xBF, 0x43}; +static const u8 gUnknown_085A8402[] = {0xBF, 0x4A}; +static const u8 gUnknown_085A8404[] = {0xBF, 0x4A}; + +static const u8 *const gUnknown_083EDD08[] = +{ + gUnknown_085A83FC, + gUnknown_085A83FE, + gUnknown_085A8400, + gUnknown_085A8402, + gUnknown_085A8404, +}; + +static const u16 *const gUnknown_083EDD1C[] = +{ + gSlotMachineMenu_Pal + 0x4A, + gSlotMachineMenu_Pal + 0x4B, + gSlotMachineMenu_Pal + 0x4C, + gSlotMachineMenu_Pal + 0x4D, + gSlotMachineMenu_Pal + 0x4E, +}; + +static const u8 gUnknown_083EDD30[] = {0x4A, 0x4B, 0x4C, 0x4E, 0x4D}; + +static const u8 gBettingTilesId[][2] = +{ + {0, 0}, + {1, 2}, + {3, 4}, +}; + +static const u8 gNumberBettingTiles[] = { 1, 2, 2 }; + +static const u16 gUnknown_085A843E[] = INCBIN_U16("graphics/slot_machine/85A843E.gbapal"); +static const u16 gUnknown_085A845E[] = INCBIN_U16("graphics/slot_machine/85A845E.gbapal"); +static const u16 gUnknown_085A847E[] = INCBIN_U16("graphics/slot_machine/85A847E.gbapal"); + +static const u16 *const gUnknown_083EDDA0[] = +{ + gUnknown_085A843E, + gUnknown_085A845E, + gUnknown_085A847E, +}; + +static const u16 *const gUnknown_083EDDAC = {gSlotMachineMenu_Pal + 0x10}; + +static const u16 gUnknown_085A84B0[] = INCBIN_U16("graphics/slot_machine/85A84B0.gbapal"); +static const u16 gUnknown_085A84D0[] = INCBIN_U16("graphics/slot_machine/85A84D0.gbapal"); +static const u16 gUnknown_085A84F0[] = INCBIN_U16("graphics/slot_machine/85A84F0.gbapal"); + +static const u16 *const gUnknown_083EDE10[] = +{ + gUnknown_085A84B0, + gUnknown_085A84D0, + gUnknown_085A84F0, + gUnknown_08DCF230, +}; + +static const u16 *const gUnknown_083EDE20 = gUnknown_08DCF230; +static const u16 gPalette_83EDE24[] = INCBIN_U16("graphics/slot_machine/85A8524.bin"); + +static const struct SpritePalette gSlotMachineSpritePalettes[] = +{ + { .data = gUnknown_08DCF170, .tag = 0}, + { .data = gUnknown_08DCF190, .tag = 1}, + { .data = gUnknown_08DCF1B0, .tag = 2}, + { .data = gSlotMachineReelTime_Pal, .tag = 3}, + { .data = gUnknown_08DCF1F0, .tag = 4}, + { .data = gUnknown_08DCF210, .tag = 5}, + { .data = gUnknown_08DCF230, .tag = 6}, + { .data = gUnknown_08DCF1F0, .tag = 7}, + {} +}; + +static const u32 gReelTimeGfx[] = INCBIN_U32("graphics/slot_machine/reel_time_gfx.4bpp.lz"); +static const u16 gReelTimeWindowTilemap[] = INCBIN_U16("graphics/slot_machine/85A96E0.bin"); +static const u16 gUnknown_085A9898[] = {0}; diff --git a/src/smokescreen.c b/src/smokescreen.c deleted file mode 100644 index 1ee0c658c..000000000 --- a/src/smokescreen.c +++ /dev/null @@ -1,75 +0,0 @@ -#include "global.h" -#include "data.h" -#include "decompress.h" -#include "sprite.h" -#include "util.h" - -static void SmokescreenImpact_Callback(struct Sprite *); - -extern const struct CompressedSpriteSheet gSmokescreenImpactSpriteSheet; -extern const struct CompressedSpritePalette gSmokescreenlImpactSpritePalette; -extern const struct SpriteTemplate gSmokescreenImpactSpriteTemplate; - -u8 SmokescreenImpact(s16 x, s16 y, u8 a3) -{ - u8 mainSpriteId; - u8 spriteId1, spriteId2, spriteId3, spriteId4; - struct Sprite *mainSprite; - - if (GetSpriteTileStartByTag(gSmokescreenImpactSpriteSheet.tag) == 0xFFFF) - { - LoadCompressedSpriteSheetUsingHeap(&gSmokescreenImpactSpriteSheet); - LoadCompressedSpritePaletteUsingHeap(&gSmokescreenlImpactSpritePalette); - } - - mainSpriteId = CreateInvisibleSpriteWithCallback(SmokescreenImpact_Callback); - mainSprite = &gSprites[mainSpriteId]; - mainSprite->data[1] = a3; - - spriteId1 = CreateSprite(&gSmokescreenImpactSpriteTemplate, x - 16, y - 16, 2); - gSprites[spriteId1].data[0] = mainSpriteId; - mainSprite->data[0]++; - AnimateSprite(&gSprites[spriteId1]); - - spriteId2 = CreateSprite(&gSmokescreenImpactSpriteTemplate, x, y - 16, 2); - gSprites[spriteId2].data[0] = mainSpriteId; - mainSprite->data[0]++; - StartSpriteAnim(&gSprites[spriteId2], 1); - AnimateSprite(&gSprites[spriteId2]); - - spriteId3 = CreateSprite(&gSmokescreenImpactSpriteTemplate, x - 16, y, 2); - gSprites[spriteId3].data[0] = mainSpriteId; - mainSprite->data[0]++; - StartSpriteAnim(&gSprites[spriteId3], 2); - AnimateSprite(&gSprites[spriteId3]); - - spriteId4 = CreateSprite(&gSmokescreenImpactSpriteTemplate, x, y, 2); - gSprites[spriteId4].data[0] = mainSpriteId; - mainSprite->data[0]++; - StartSpriteAnim(&gSprites[spriteId4], 3); - AnimateSprite(&gSprites[spriteId4]); - - return mainSpriteId; -} - -static void SmokescreenImpact_Callback(struct Sprite *sprite) -{ - if (!sprite->data[0]) - { - FreeSpriteTilesByTag(gSmokescreenImpactSpriteSheet.tag); - FreeSpritePaletteByTag(gSmokescreenlImpactSpritePalette.tag); - if (!sprite->data[1]) - DestroySprite(sprite); - else - sprite->callback = SpriteCallbackDummy; - } -} - -void SpriteCB_DestroySprite(struct Sprite *sprite) -{ - if (sprite->animEnded) - { - gSprites[sprite->data[0]].data[0]--; - DestroySprite(sprite); - } -} diff --git a/src/start_menu.c b/src/start_menu.c index a816f4f2f..a6e7ae5d8 100644 --- a/src/start_menu.c +++ b/src/start_menu.c @@ -5,7 +5,7 @@ #include "bg.h" #include "event_data.h" #include "event_object_movement.h" -#include "event_obj_lock.h" +#include "event_object_lock.h" #include "event_scripts.h" #include "fieldmap.h" #include "field_effect.h" @@ -450,7 +450,7 @@ static bool32 InitStartMenuStep(void) sInitStartMenuData[0]++; break; case 2: - sub_81973A4(); + LoadMessageBoxAndBorderGfx(); DrawStdWindowFrame(sub_81979C4(sNumStartMenuActions), FALSE); sInitStartMenuData[1] = 0; sInitStartMenuData[0]++; @@ -541,7 +541,7 @@ void ShowStartMenu(void) { if (!IsUpdateLinkStateCBActive()) { - FreezeEventObjects(); + FreezeObjectEvents(); sub_808B864(); sub_808BCF4(); } @@ -745,7 +745,7 @@ static bool8 StartMenuBattlePyramidRetireCallback(void) void ShowBattlePyramidStartMenu(void) { ClearDialogWindowAndFrameToTransparent(0, FALSE); - ScriptUnfreezeEventObjects(); + ScriptUnfreezeObjectEvents(); CreateStartMenuTask(Task_ShowStartMenu); ScriptContext2_Enable(); } @@ -787,7 +787,7 @@ static bool8 SaveCallback(void) case SAVE_SUCCESS: case SAVE_ERROR: // Close start menu ClearDialogWindowAndFrameToTransparent(0, TRUE); - ScriptUnfreezeEventObjects(); + ScriptUnfreezeObjectEvents(); ScriptContext2_Disable(); SoftResetInBattlePyramid(); return TRUE; @@ -824,7 +824,7 @@ static bool8 BattlePyramidRetireCallback(void) return FALSE; case SAVE_CANCELED: // Yes (Retire from battle pyramid) ClearDialogWindowAndFrameToTransparent(0, TRUE); - ScriptUnfreezeEventObjects(); + ScriptUnfreezeObjectEvents(); ScriptContext2_Disable(); ScriptContext1_SetupScript(BattlePyramid_Retire); return TRUE; @@ -1314,37 +1314,37 @@ static void ShowSaveInfoWindow(void) // Print region name yOffset = 1; - sub_819A344(3, gStringVar4, TEXT_COLOR_GREEN); + BufferSaveMenuText(SAVE_MENU_LOCATION, gStringVar4, TEXT_COLOR_GREEN); AddTextPrinterParameterized(sSaveInfoWindowId, 1, gStringVar4, 0, yOffset, 0xFF, NULL); // Print player name - yOffset = 0x11; + yOffset += 16; AddTextPrinterParameterized(sSaveInfoWindowId, 1, gText_SavingPlayer, 0, yOffset, 0xFF, NULL); - sub_819A344(0, gStringVar4, color); + BufferSaveMenuText(SAVE_MENU_NAME, gStringVar4, color); xOffset = GetStringRightAlignXOffset(1, gStringVar4, 0x70); PrintPlayerNameOnWindow(sSaveInfoWindowId, gStringVar4, xOffset, yOffset); // Print badge count - yOffset = 0x21; + yOffset += 16; AddTextPrinterParameterized(sSaveInfoWindowId, 1, gText_SavingBadges, 0, yOffset, 0xFF, NULL); - sub_819A344(4, gStringVar4, color); + BufferSaveMenuText(SAVE_MENU_BADGES, gStringVar4, color); xOffset = GetStringRightAlignXOffset(1, gStringVar4, 0x70); AddTextPrinterParameterized(sSaveInfoWindowId, 1, gStringVar4, xOffset, yOffset, 0xFF, NULL); if (FlagGet(FLAG_SYS_POKEDEX_GET) == TRUE) { // Print pokedex count - yOffset = 0x31; + yOffset += 16; AddTextPrinterParameterized(sSaveInfoWindowId, 1, gText_SavingPokedex, 0, yOffset, 0xFF, NULL); - sub_819A344(1, gStringVar4, color); + BufferSaveMenuText(SAVE_MENU_CAUGHT, gStringVar4, color); xOffset = GetStringRightAlignXOffset(1, gStringVar4, 0x70); AddTextPrinterParameterized(sSaveInfoWindowId, 1, gStringVar4, xOffset, yOffset, 0xFF, NULL); } // Print play time - yOffset += 0x10; + yOffset += 16; AddTextPrinterParameterized(sSaveInfoWindowId, 1, gText_SavingTime, 0, yOffset, 0xFF, NULL); - sub_819A344(2, gStringVar4, color); + BufferSaveMenuText(SAVE_MENU_PLAY_TIME, gStringVar4, color); xOffset = GetStringRightAlignXOffset(1, gStringVar4, 0x70); AddTextPrinterParameterized(sSaveInfoWindowId, 1, gStringVar4, xOffset, yOffset, 0xFF, NULL); @@ -1377,7 +1377,7 @@ static void HideStartMenuWindow(void) { ClearStdWindowAndFrame(GetStartMenuWindowId(), TRUE); RemoveStartMenuWindow(); - ScriptUnfreezeEventObjects(); + ScriptUnfreezeObjectEvents(); ScriptContext2_Disable(); } diff --git a/src/strings.c b/src/strings.c index f0566c859..3ca7f693f 100644 --- a/src/strings.c +++ b/src/strings.c @@ -1206,12 +1206,12 @@ const u8 gText_UnionTradesAndBattles[] = _("UNION TRADES & BATTLES"); const u8 gText_BerryCrush[] = _("BERRY CRUSH"); const u8 gText_WaitingTrainerFinishReading[] = _("Waiting for the other TRAINER to\nfinish reading your TRAINER CARD."); const u8 gText_PokeblocksWithFriends[] = _("{POKEBLOCK}S W/FRIENDS"); -const u8 gText_Var1DarkGreyShadowLightGrey[] = _("{STR_VAR_1}{COLOR DARK_GREY}{SHADOW LIGHT_GREY}"); +const u8 gText_NumPokeblocks[] = _("{STR_VAR_1}{COLOR DARK_GREY}{SHADOW LIGHT_GREY}"); const u8 gText_WonContestsWFriends[] = _("WON CONTESTS W/FRIENDS"); const u8 gText_BattlePtsWon[] = _("BATTLE POINTS WON"); -const u8 gText_Var1DarkLightGreyBP[] = _("{STR_VAR_1}{COLOR DARK_GREY}{SHADOW LIGHT_GREY}BP"); +const u8 gText_NumBP[] = _("{STR_VAR_1}{COLOR DARK_GREY}{SHADOW LIGHT_GREY}BP"); const u8 gText_BattleTower[] = _("BATTLE TOWER"); -const u8 gText_WSlashStraightSlash[] = _("W/{COLOR RED}{SHADOW LIGHT_RED}{STR_VAR_1}{COLOR DARK_GREY}{SHADOW LIGHT_GREY} STRAIGHT/{COLOR RED}{SHADOW LIGHT_RED}{STR_VAR_2}"); +const u8 gText_WinsStraight[] = _("W/{COLOR RED}{SHADOW LIGHT_RED}{STR_VAR_1}{COLOR DARK_GREY}{SHADOW LIGHT_GREY} STRAIGHT/{COLOR RED}{SHADOW LIGHT_RED}{STR_VAR_2}"); const u8 gText_BattleTower2[] = _("BATTLE TOWER"); const u8 gText_BattleDome[] = _("BATTLE DOME"); const u8 gText_BattlePalace[] = _("BATTLE PALACE"); diff --git a/src/text_input_strings.c b/src/text_input_strings.c new file mode 100644 index 000000000..0fdaa875e --- /dev/null +++ b/src/text_input_strings.c @@ -0,0 +1,64 @@ +#include "global.h" + +// Easy Chat keyboard +const u8 gText_EasyChatKeyboard_ABCDEFothers[] = _("{CLEAR 11}A{CLEAR 6}B{CLEAR 6}C{CLEAR 26}D{CLEAR 6}E{CLEAR 6}F{CLEAR 26}others"); +const u8 gText_EasyChatKeyboard_GHIJKL[] = _("{CLEAR 11}G{CLEAR 6}H{CLEAR 6}I{CLEAR 26}J{CLEAR 6}K{CLEAR 6}L"); +const u8 gText_EasyChatKeyboard_MNOPQRS[] = _("{CLEAR 11}M{CLEAR 6}N{CLEAR 6}O{CLEAR 26}P{CLEAR 6}Q{CLEAR 6}R{CLEAR 6}S{CLEAR 26} "); +const u8 gText_EasyChatKeyboard_TUVWXYZ[] = _("{CLEAR 11}T{CLEAR 6}U{CLEAR 6}V{CLEAR 26}W{CLEAR 6}X{CLEAR 6}Y{CLEAR 6}Z{CLEAR 26} "); + +// Naming Screen keyboard +const u8 gText_NamingScreenKeyboard_abcdef[] = _("{CLEAR 11}a{CLEAR 6}b{CLEAR 6}c{CLEAR 26}d{CLEAR 6}e{CLEAR 6}f{CLEAR 6} {CLEAR 30}."); +const u8 gText_NamingScreenKeyboard_ghijkl[] = _("{CLEAR 11}g{CLEAR 6}h{CLEAR 7}i{CLEAR 27}j{CLEAR 7}k{CLEAR 7}l{CLEAR 7} {CLEAR 30},"); +const u8 gText_NamingScreenKeyboard_mnopqrs[] = _("{CLEAR 11}m{CLEAR 6}n{CLEAR 6}o{CLEAR 26}p{CLEAR 6}q{CLEAR 7}r{CLEAR 6}s{CLEAR 27} "); +const u8 gText_NamingScreenKeyboard_tuvwxyz[] = _("{CLEAR 11}t{CLEAR 6}u{CLEAR 6}v{CLEAR 26}w{CLEAR 6}x{CLEAR 6}y{CLEAR 6}z{CLEAR 26} "); +const u8 gText_NamingScreenKeyboard_ABCDEF[] = _("{CLEAR 11}A{CLEAR 6}B{CLEAR 6}C{CLEAR 26}D{CLEAR 6}E{CLEAR 6}F{CLEAR 6} {CLEAR 30}."); +const u8 gText_NamingScreenKeyboard_GHIJKL[] = _("{CLEAR 11}G{CLEAR 6}H{CLEAR 6}I{CLEAR 26}J{CLEAR 6}K{CLEAR 6}L{CLEAR 6} {CLEAR 30},"); +const u8 gText_NamingScreenKeyboard_MNOPQRS[] = _("{CLEAR 11}M{CLEAR 6}N{CLEAR 6}O{CLEAR 26}P{CLEAR 6}Q{CLEAR 6}R{CLEAR 6}S{CLEAR 26} "); +const u8 gText_NamingScreenKeyboard_TUVWXYZ[] = _("{CLEAR 11}T{CLEAR 6}U{CLEAR 6}V{CLEAR 26}W{CLEAR 6}X{CLEAR 6}Y{CLEAR 6}Z{CLEAR 26} "); +const u8 gText_NamingScreenKeyboard_01234[] = _("{CLEAR 11}0{CLEAR 16}1{CLEAR 16}2{CLEAR 16}3{CLEAR 16}4{CLEAR 16} "); +const u8 gText_NamingScreenKeyboard_56789[] = _("{CLEAR 11}5{CLEAR 16}6{CLEAR 16}7{CLEAR 16}8{CLEAR 16}9{CLEAR 16} "); +const u8 gText_NamingScreenKeyboard_Symbols1[] = _("{CLEAR 12}!{CLEAR 17}?{CLEAR 16}♂{CLEAR 16}♀{CLEAR 16}/{CLEAR 17}-"); +const u8 gText_NamingScreenKeyboard_Symbols2[] = _("{CLEAR 11}…{CLEAR 16}“{CLEAR 16}”{CLEAR 18}‘{CLEAR 19}'{CLEAR 18} "); + +// Union Room Chat keyboard +const u8 gText_UnionRoomChatKeyboard_ABCDE[] = _("ABCDE"); +const u8 gText_UnionRoomChatKeyboard_FGHIJ[] = _("FGHIJ"); +const u8 gText_UnionRoomChatKeyboard_KLMNO[] = _("KLMNO"); +const u8 gText_UnionRoomChatKeyboard_PQRST[] = _("PQRST"); +const u8 gText_UnionRoomChatKeyboard_UVWXY[] = _("UVWXY"); +const u8 gText_UnionRoomChatKeyboard_Z[] = _("Z "); +const u8 gText_UnionRoomChatKeyboard_01234Upper[] = _("01234"); +const u8 gText_UnionRoomChatKeyboard_56789Upper[] = _("56789"); +const u8 gText_UnionRoomChatKeyboard_PunctuationUpper[] = _(".,!? "); +const u8 gText_UnionRoomChatKeyboard_SymbolsUpper[] = _("-/&… "); +const u8 gText_UnionRoomChatKeyboard_abcde[] = _("abcde"); +const u8 gText_UnionRoomChatKeyboard_fghij[] = _("fghij"); +const u8 gText_UnionRoomChatKeyboard_klmno[] = _("klmno"); +const u8 gText_UnionRoomChatKeyboard_pqrst[] = _("pqrst"); +const u8 gText_UnionRoomChatKeyboard_uvwxy[] = _("uvwxy"); +const u8 gText_UnionRoomChatKeyboard_z[] = _("z "); +const u8 gText_UnionRoomChatKeyboard_01234Lower[] = _("01234"); +const u8 gText_UnionRoomChatKeyboard_56789Lower[] = _("56789"); +const u8 gText_UnionRoomChatKeyboard_PunctuationLower[] = _(".,!? "); +const u8 gText_UnionRoomChatKeyboard_SymbolsLower[] = _("-/&… "); + +const u8 gText_EmptyTextInput1[] = _(""); +const u8 gText_EmptyTextInput2[] = _(""); +const u8 gText_EmptyTextInput3[] = _(""); +const u8 gText_EmptyTextInput4[] = _(""); +const u8 gText_EmptyTextInput5[] = _(""); +const u8 gText_EmptyTextInput6[] = _(""); +const u8 gText_EmptyTextInput7[] = _(""); +const u8 gText_EmptyTextInput8[] = _(""); + +// Union Room Chat keyboard emojis +const u8 gText_UnionRoomChatKeyboard_Emoji1[] = _("{EMOJI_MISCHIEVOUS}{EMOJI_HAPPY}{EMOJI_ANGRY}{EMOJI_SURPRISED}{EMOJI_BIGANGER}"); +const u8 gText_UnionRoomChatKeyboard_Emoji2[] = _("{EMOJI_BIGSMILE}{EMOJI_EVIL}{EMOJI_NEUTRAL}{EMOJI_TIRED}{EMOJI_SHOCKED}"); +const u8 gText_UnionRoomChatKeyboard_Emoji3[] = _("{EMOJI_LEAF}{EMOJI_FIRE}{EMOJI_WATER}{EMOJI_BOLT}{EMOJI_BALL}"); +const u8 gText_UnionRoomChatKeyboard_Emoji4[] = _("♂♀{EMOJI_LEFT_PAREN}{EMOJI_RIGHT_PAREN}{EMOJI_TILDE}"); +const u8 gText_UnionRoomChatKeyboard_Emoji5[] = _("{EMOJI_LEFT_EYE}{EMOJI_RIGHT_EYE}{EMOJI_SMALLWHEEL}{EMOJI_SPHERE}{EMOJI_IRRITATED}"); +const u8 gText_UnionRoomChatKeyboard_Emoji6[] = _("{EMOJI_AT}{EMOJI_BIGWHEEL}{EMOJI_TONGUE}{EMOJI_ACUTE}{EMOJI_GRAVE}"); +const u8 gText_UnionRoomChatKeyboard_Emoji7[] = _("{EMOJI_RIGHT_FIST}{EMOJI_LEFT_FIST}{EMOJI_TRIANGLE_OUTLINE}{EMOJI_UNION}{EMOJI_GREATER_THAN}"); +const u8 gText_UnionRoomChatKeyboard_Emoji8[] = _("{EMOJI_CIRCLE}{EMOJI_TRIANGLE}{EMOJI_SQUARE}{EMOJI_HEART}{EMOJI_MOON}"); +const u8 gText_UnionRoomChatKeyboard_Emoji9[] = _("{EMOJI_NOTE}{EMOJI_PLUS}{EMOJI_MINUS}{EMOJI_EQUALS}{EMOJI_PIPE}"); +const u8 gText_UnionRoomChatKeyboard_Emoji10[] = _("{EMOJI_HIGHBAR}{EMOJI_UNDERSCORE};: "); diff --git a/src/time_events.c b/src/time_events.c index bd51f0c2d..3f56d3ab5 100644 --- a/src/time_events.c +++ b/src/time_events.c @@ -33,7 +33,7 @@ void UpdateMirageRnd(u16 days) s32 rnd = GetMirageRnd(); while (days) { - rnd = 1103515245 * rnd + 12345; + rnd = ISO_RANDOMIZE2(rnd); days--; } SetMirageRnd(rnd); diff --git a/src/trade.c b/src/trade.c index bd97471e3..37a63eb4b 100644 --- a/src/trade.c +++ b/src/trade.c @@ -236,7 +236,7 @@ static bool8 SendLinkData(const void *linkData, u32 size) { if (gUnknown_02022C2C == 29) { - rfu_NI_setSendData(gUnknown_03004140.unk_00, 84, linkData, size); + rfu_NI_setSendData(lman.acceptSlot_flag, 84, linkData, size); return TRUE; } else @@ -254,7 +254,7 @@ static bool32 sub_80771BC(void) { if (gUnknown_02022C2C == 29) { - if (gRfuSlotStatusNI[sub_800E87C(gUnknown_03004140.unk_00)]->send.state == 0) + if (gRfuSlotStatusNI[sub_800E87C(lman.acceptSlot_flag)]->send.state == 0) return TRUE; else return FALSE; @@ -273,7 +273,7 @@ static u32 _GetBlockReceivedStatus(void) static void TradeResetReceivedFlags(void) { if (IsWirelessTrade()) - rfu_clearSlot(12, gUnknown_03004140.unk_00); + rfu_clearSlot(12, lman.acceptSlot_flag); else ResetBlockReceivedFlags(); } @@ -281,7 +281,7 @@ static void TradeResetReceivedFlags(void) static void TradeResetReceivedFlag(u32 who) { if (IsWirelessTrade()) - rfu_clearSlot(12, gUnknown_03004140.unk_00); + rfu_clearSlot(12, lman.acceptSlot_flag); else ResetBlockReceivedFlag(who); } @@ -2405,15 +2405,15 @@ static bool32 IsDeoxysOrMewUntradable(u16 species, bool8 isObedientBitSet) return FALSE; } -int GetUnionRoomTradeMessageId(struct UnkLinkRfuStruct_02022B14Substruct rfuPlayer, struct UnkLinkRfuStruct_02022B14Substruct rfuPartner, u16 playerSpecies2, u16 partnerSpecies, u8 requestedType, u16 playerSpecies, u8 isObedientBitSet) +int GetUnionRoomTradeMessageId(struct GFtgtGnameSub rfuPlayer, struct GFtgtGnameSub rfuPartner, u16 playerSpecies2, u16 partnerSpecies, u8 requestedType, u16 playerSpecies, u8 isObedientBitSet) { bool8 playerHasNationalDex = rfuPlayer.hasNationalDex; bool8 playerIsChampion = rfuPlayer.isChampion; bool8 partnerHasNationalDex = rfuPartner.hasNationalDex; bool8 partnerIsChampion = rfuPartner.isChampion; - u8 r1 = rfuPartner.unk_01_2; + u8 r1 = rfuPartner.version; - if (r1 != 3) + if (r1 != VERSION_EMERALD) { if (!playerIsChampion) { @@ -2476,7 +2476,7 @@ int GetUnionRoomTradeMessageId(struct UnkLinkRfuStruct_02022B14Substruct rfuPlay return UR_TRADE_MSG_NONE; } -int CanRegisterMonForTradingBoard(struct UnkLinkRfuStruct_02022B14Substruct rfuPlayer, u16 species2, u16 species, u8 isObedientBitSet) +int CanRegisterMonForTradingBoard(struct GFtgtGnameSub rfuPlayer, u16 species2, u16 species, u8 isObedientBitSet) { bool8 hasNationalDex = rfuPlayer.hasNationalDex; diff --git a/src/trainer_card.c b/src/trainer_card.c index 5ea076c2a..fb92dc336 100755 --- a/src/trainer_card.c +++ b/src/trainer_card.c @@ -31,62 +31,56 @@ #include "constants/game_stat.h" #include "constants/battle_frontier.h" #include "constants/rgb.h" - -enum -{ - CARD_TYPE_FRLG, - CARD_TYPE_RS, - CARD_TYPE_EMERALD, -}; +#include "constants/trainers.h" struct TrainerCardData { - u8 var_0; + u8 mainState; u8 printState; u8 gfxLoadState; u8 bgPalLoadState; - u8 var_4; + u8 flipDrawState; bool8 isLink; - u8 var_6; - u8 var_7; - u8 var_8; + u8 timeColonBlinkTimer; + bool8 timeColonInvisible; + bool8 onBack; bool8 allowDMACopy; bool8 hasPokedex; bool8 hasHofResult; bool8 hasLinkResults; bool8 hasBattleTowerWins; - u8 var_E; - u8 var_F; + bool8 unused_E; + bool8 unused_F; bool8 hasTrades; - u8 badgeCount[8]; - u8 var_19[4][0xD]; - u8 var_4D[0x46]; - u8 var_93[0x46]; - u8 var_D9[0x8C]; - u8 var_165[0x46]; - u8 var_1AB[0x8C]; - u8 var_237[0x8C]; - u8 var_2C3[0x8C]; - u8 var_34F[0x46]; - u8 var_395[0x46]; - u8 var_3DB[0x46]; - u8 var_421[0x46]; - u16 var_468[0x60]; - s8 var_528; - u8 var_529; + u8 badgeCount[NUM_BADGES]; + u8 easyChatProfile[TRAINER_CARD_PROFILE_LENGTH][13]; + u8 textPlayersCard[70]; + u8 textHofTime[70]; + u8 textLinkBattleType[140]; + u8 textLinkBattleWins[70]; + u8 textLinkBattleLosses[140]; + u8 textNumTrades[140]; + u8 textBerryCrushPts[140]; + u8 textUnionRoomStats[70]; + u8 textNumLinkPokeblocks[70]; + u8 textNumLinkContests[70]; + u8 textBattleFacilityStat[70]; + u16 monIconPal[16 * PARTY_SIZE]; + s8 flipBlendY; + bool8 timeColonNeedDraw; u8 cardType; bool8 isHoenn; - u16 var_52C; + u16 blendColor; void (*callback2)(void); struct TrainerCard trainerCard; - u16 var_598[0x4B0 / 2]; - u16 var_A48[0x4B0 / 2]; - u16 var_EF8[0x4B0 / 2]; - u8 var_13A8[0x400]; - u8 var_17A8[0x200]; - u8 var_19A8[0x2300]; - u16 var_3CA8[0x2000 / 2]; - u16 var_5CA8[0x2000 / 2]; + u16 frontTilemap[600]; + u16 backTilemap[600]; + u16 bgTilemap[600]; + u8 badgeTiles[0x80 * NUM_BADGES]; + u8 stickerTiles[0x200]; + u8 cardTiles[0x2300]; + u16 cardTilemapBuffer[0x1000]; + u16 bgTilemapBuffer[0x1000]; u16 var_7CA8; u8 language; }; @@ -98,18 +92,18 @@ EWRAM_DATA static struct TrainerCardData *sData = NULL; //this file's functions static void VblankCb_TrainerCard(void); static void HblankCb_TrainerCard(void); -static void sub_80C48C8(void); +static void BlinkTimeColon(void); static void CB2_TrainerCard(void); static void CloseTrainerCard(u8 task); -static bool8 PrintAllOnCardPage1(void); -static void sub_80C438C(u8); -static void sub_80C4FF0(void); -static void sub_80C4550(u16*); -static void sub_80C45C0(u16*); -static void TrainerCard_PrintStarsAndBadgesOnCard(void); +static bool8 PrintAllOnCardFront(void); +static void DrawTrainerCardWindow(u8); +static void CreateTrainerCardTrainerPic(void); +static void DrawCardScreenBackground(u16*); +static void DrawCardFrontOrBack(u16*); +static void DrawStarsAndBadgesOnCard(void); static void PrintTimeOnCard(void); -static void sub_80C4918(void); -static bool8 sub_80C4940(void); +static void FlipTrainerCard(void); +static bool8 IsCardFlipTaskActive(void); static bool8 LoadCardGfx(void); static void CB2_InitTrainerCard(void); static u32 GetCappedGameStat(u8 statId, u32 maxValue); @@ -124,74 +118,74 @@ static void HandleGpuRegs(void); static void ResetGpuRegs(void); static void InitBgsAndWindows(void); static void SetTrainerCardCb2(void); -static void sub_80C3414(void); -static void sub_80C4EE4(void); +static void SetUpTrainerCardTask(void); +static void InitTrainerCardData(void); static u8 GetSetCardType(void); -static void PrintNameOnCard(void); +static void PrintNameOnCardFront(void); static void PrintIdOnCard(void); static void PrintMoneyOnCard(void); static void PrintPokedexOnCard(void); static void PrintProfilePhraseOnCard(void); -static bool8 PrintStringsOnCardPage2(void); -static void sub_80C3B50(void); -static void PrintHofDebutStringOnCard(void); -static void PrintWinsLossesStringOnCard(void); +static bool8 PrintAllOnCardBack(void); +static void PrintNameOnCardBack(void); +static void PrintHofDebutTimeOnCard(void); +static void PrintLinkBattleResultsOnCard(void); static void PrintTradesStringOnCard(void); static void PrintBerryCrushStringOnCard(void); static void PrintPokeblockStringOnCard(void); static void PrintUnionStringOnCard(void); static void PrintContestStringOnCard(void); -static void TrainerCard_PrintPokemonIconsOnCard(void); +static void PrintPokemonIconsOnCard(void); static void PrintBattleFacilityStringOnCard(void); -static void sub_80C42A4(void); -static void PrintAllVariableNumsOnCardPage2(void); -static void PrintNameOnCard2(void); -static void PrintHofTimeOnCard(void); -static void PrintLinkResultsNumsOnCard(void); -static void PrintTradesNumOnCard(void); -static void PrintBerryCrushNumOnCard(void); -static void PrintUnionNumOnCard(void); -static void PrintPokeblocksNumOnCard(void); -static void PrintContestNumOnCard(void); -static void PrintBattleFacilityNumsOnCard(void); -static void PrintString(u8 top, const u8* str1, u8* str2, const u8* color); -static void sub_80C4330(void); +static void PrintStickersOnCard(void); +static void BufferTextsVarsForCardPage2(void); +static void BufferNameForCardBack(void); +static void BufferHofDebutTime(void); +static void BufferLinkBattleResults(void); +static void BufferNumTrades(void); +static void BufferBerryCrushPoints(void); +static void BufferUnionRoomStats(void); +static void BufferLinkPokeblocksNum(void); +static void BufferLinkContestNum(void); +static void BufferBattleFacilityStats(void); +static void PrintStatOnBackOfCard(u8 top, const u8* str1, u8* str2, const u8* color); +static void LoadStickerGfx(void); static u8 SetCardBgsAndPals(void); -static void sub_80C474C(void); -static void sub_80C4960(u8); -static bool8 sub_80C4998(struct Task* task); -static bool8 sub_80C49D8(struct Task* task); -static bool8 sub_80C4B08(struct Task* task); -static bool8 sub_80C4C1C(struct Task* task); -static bool8 sub_80C4C84(struct Task* task); -static bool8 sub_80C4DB0(struct Task* task); +static void DrawCardBackStats(void); +static void Task_DoCardFlipTask(u8); +static bool8 Task_BeginCardFlip(struct Task* task); +static bool8 Task_AnimateCardFlipDown(struct Task* task); +static bool8 Task_DrawFlippedCardSide(struct Task* task); +static bool8 Task_SetCardFlipped(struct Task* task); +static bool8 Task_AnimateCardFlipUp(struct Task* task); +static bool8 Task_EndCardFlip(struct Task* task); static void sub_80C32EC(u16); -static void sub_80C41D8(void); +static void LoadMonIconGfx(void); // const rom data -static const u32 gUnknown_0856F018[] = INCBIN_U32("graphics/trainer_card/stickers_fr.4bpp.lz"); -static const u16 gUnknown_0856F18C[] = INCBIN_U16("graphics/trainer_card/unknown_56F18C.gbapal"); -static const u16 gEmeraldTrainerCard1Star_Pal[] = INCBIN_U16("graphics/trainer_card/one_star.gbapal"); -static const u16 gFireRedTrainerCard1Star_Pal[] = INCBIN_U16("graphics/trainer_card/one_star_fr.gbapal"); -static const u16 gEmeraldTrainerCard2Star_Pal[] = INCBIN_U16("graphics/trainer_card/two_stars.gbapal"); -static const u16 gFireRedTrainerCard2Star_Pal[] = INCBIN_U16("graphics/trainer_card/two_stars_fr.gbapal"); -static const u16 gEmeraldTrainerCard3Star_Pal[] = INCBIN_U16("graphics/trainer_card/three_stars.gbapal"); -static const u16 gFireRedTrainerCard3Star_Pal[] = INCBIN_U16("graphics/trainer_card/three_stars_fr.gbapal"); -static const u16 gEmeraldTrainerCard4Star_Pal[] = INCBIN_U16("graphics/trainer_card/four_stars.gbapal"); -static const u16 gFireRedTrainerCard4Star_Pal[] = INCBIN_U16("graphics/trainer_card/four_stars_fr.gbapal"); -static const u16 sEmeraldTrainerCardFemaleBackground_Pal[] = INCBIN_U16("graphics/trainer_card/female_bg.gbapal"); -static const u16 sFireRedTrainerCardFemaleBackground_Pal[] = INCBIN_U16("graphics/trainer_card/female_bg_fr.gbapal"); -static const u16 sEmeraldTrainerCardBadges_Pal[] = INCBIN_U16("graphics/trainer_card/badges.gbapal"); -static const u16 sFireRedTrainerCardBadges_Pal[] = INCBIN_U16("graphics/trainer_card/badges_fr.gbapal"); -static const u16 gUnknown_0856F52C[] = INCBIN_U16("graphics/trainer_card/gold.gbapal"); -static const u16 gUnknown_0856F54C[] = INCBIN_U16("graphics/trainer_card/stickers_fr1.gbapal"); -static const u16 gUnknown_0856F56C[] = INCBIN_U16("graphics/trainer_card/stickers_fr2.gbapal"); -static const u16 gUnknown_0856F58C[] = INCBIN_U16("graphics/trainer_card/stickers_fr3.gbapal"); -static const u16 gUnknown_0856F5AC[] = INCBIN_U16("graphics/trainer_card/stickers_fr4.gbapal"); -static const u32 sEmeraldTrainerCardBadges_Tile[] = INCBIN_U32("graphics/trainer_card/badges.4bpp.lz"); -static const u32 sFireRedTrainerCardBadges_Tile[] = INCBIN_U32("graphics/trainer_card/badges_fr.4bpp.lz"); - -static const struct BgTemplate gUnknown_0856FAB4[4] = +static const u32 sTrainerCardStickers_Gfx[] = INCBIN_U32("graphics/trainer_card/stickers_fr.4bpp.lz"); +static const u16 sUnused_0856F18C[] = INCBIN_U16("graphics/trainer_card/unknown_56F18C.gbapal"); +static const u16 sHoennTrainerCard1Star_Pal[] = INCBIN_U16("graphics/trainer_card/one_star.gbapal"); +static const u16 sKantoTrainerCard1Star_Pal[] = INCBIN_U16("graphics/trainer_card/one_star_fr.gbapal"); +static const u16 sHoennTrainerCard2Star_Pal[] = INCBIN_U16("graphics/trainer_card/two_stars.gbapal"); +static const u16 sKantoTrainerCard2Star_Pal[] = INCBIN_U16("graphics/trainer_card/two_stars_fr.gbapal"); +static const u16 sHoennTrainerCard3Star_Pal[] = INCBIN_U16("graphics/trainer_card/three_stars.gbapal"); +static const u16 sKantoTrainerCard3Star_Pal[] = INCBIN_U16("graphics/trainer_card/three_stars_fr.gbapal"); +static const u16 sHoennTrainerCard4Star_Pal[] = INCBIN_U16("graphics/trainer_card/four_stars.gbapal"); +static const u16 sKantoTrainerCard4Star_Pal[] = INCBIN_U16("graphics/trainer_card/four_stars_fr.gbapal"); +static const u16 sHoennTrainerCardFemaleBg_Pal[] = INCBIN_U16("graphics/trainer_card/female_bg.gbapal"); +static const u16 sKantoTrainerCardFemaleBg_Pal[] = INCBIN_U16("graphics/trainer_card/female_bg_fr.gbapal"); +static const u16 sHoennTrainerCardBadges_Pal[] = INCBIN_U16("graphics/trainer_card/badges.gbapal"); +static const u16 sKantoTrainerCardBadges_Pal[] = INCBIN_U16("graphics/trainer_card/badges_fr.gbapal"); +static const u16 sTrainerCardGold_Pal[] = INCBIN_U16("graphics/trainer_card/gold.gbapal"); +static const u16 sTrainerCardSticker1_Pal[] = INCBIN_U16("graphics/trainer_card/stickers_fr1.gbapal"); +static const u16 sTrainerCardSticker2_Pal[] = INCBIN_U16("graphics/trainer_card/stickers_fr2.gbapal"); +static const u16 sTrainerCardSticker3_Pal[] = INCBIN_U16("graphics/trainer_card/stickers_fr3.gbapal"); +static const u16 sTrainerCardSticker4_Pal[] = INCBIN_U16("graphics/trainer_card/stickers_fr4.gbapal"); +static const u32 sHoennTrainerCardBadges_Gfx[] = INCBIN_U32("graphics/trainer_card/badges.4bpp.lz"); +static const u32 sKantoTrainerCardBadges_Gfx[] = INCBIN_U32("graphics/trainer_card/badges_fr.4bpp.lz"); + +static const struct BgTemplate sTrainerCardBgTemplates[4] = { { .bg = 0, @@ -231,7 +225,7 @@ static const struct BgTemplate gUnknown_0856FAB4[4] = }, }; -static const struct WindowTemplate gUnknown_0856FAC4[] = +static const struct WindowTemplate sTrainerCardWindowTemplates[] = { { .bg = 1, @@ -263,44 +257,69 @@ static const struct WindowTemplate gUnknown_0856FAC4[] = DUMMY_WIN_TEMPLATE }; -static const u16 *const gEmeraldTrainerCardStarPals[] = +static const u16 *const sHoennTrainerCardStarPals[] = { - gEmeraldTrainerCard0Star_Pal, - gEmeraldTrainerCard1Star_Pal, - gEmeraldTrainerCard2Star_Pal, - gEmeraldTrainerCard3Star_Pal, - gEmeraldTrainerCard4Star_Pal, + gHoennTrainerCard0Star_Pal, + sHoennTrainerCard1Star_Pal, + sHoennTrainerCard2Star_Pal, + sHoennTrainerCard3Star_Pal, + sHoennTrainerCard4Star_Pal, }; -static const u16 *const gFireRedTrainerCardStarPals[] = +static const u16 *const sKantoTrainerCardStarPals[] = { - gFireRedTrainerCard0Star_Pal, - gFireRedTrainerCard1Star_Pal, - gFireRedTrainerCard2Star_Pal, - gFireRedTrainerCard3Star_Pal, - gFireRedTrainerCard4Star_Pal, + gKantoTrainerCard0Star_Pal, + sKantoTrainerCard1Star_Pal, + sKantoTrainerCard2Star_Pal, + sKantoTrainerCard3Star_Pal, + sKantoTrainerCard4Star_Pal, }; static const u8 sTrainerCardTextColors[] = {TEXT_COLOR_TRANSPARENT, TEXT_COLOR_DARK_GREY, TEXT_COLOR_LIGHT_GREY}; static const u8 sTrainerCardStatColors[] = {TEXT_COLOR_TRANSPARENT, TEXT_COLOR_RED, TEXT_COLOR_LIGHT_RED}; -static const u8 gUnknown_0856FB12[6] = {0}; +static const u8 sTimeColonInvisibleTextColors[6] = {TEXT_COLOR_TRANSPARENT, TEXT_COLOR_TRANSPARENT, TEXT_COLOR_TRANSPARENT}; -static const u8 gUnknown_0856FB18[][2][2] = +static const u8 sTrainerPicOffset[2][GENDER_COUNT][2] = { - {{0xD, 4}, {0xD, 4}}, - {{1, 0}, {1, 0}}, + // Kanto + { + [MALE] = {13, 4}, + [FEMALE] = {13, 4} + }, + // Hoenn + { + [MALE] = {1, 0}, + [FEMALE] = {1, 0} + }, }; -static const u8 gUnknown_0856FB20[][2] = {{0x4E, 0x4F}, {0x50, 0x51}, {0x3C, 0x3F}}; +static const u8 sTrainerPicFacilityClass[][GENDER_COUNT] = +{ + [CARD_TYPE_FRLG] = + { + [MALE] = FACILITY_CLASS_RED, + [FEMALE] = FACILITY_CLASS_LEAF + }, + [CARD_TYPE_RS] = + { + [MALE] = FACILITY_CLASS_RS_BRENDAN, + [FEMALE] = FACILITY_CLASS_RS_MAY + }, + [CARD_TYPE_EMERALD] = + { + [MALE] = FACILITY_CLASS_BRENDAN, + [FEMALE] = FACILITY_CLASS_MAY + } +}; -static bool8 (*const gUnknown_0856FB28[])(struct Task *) = +static bool8 (*const sTrainerCardFlipTasks[])(struct Task *) = { - sub_80C4998, - sub_80C49D8, - sub_80C4B08, - sub_80C4C1C, - sub_80C4C84, - sub_80C4DB0, + Task_BeginCardFlip, + Task_AnimateCardFlipDown, + Task_DrawFlippedCardSide, + Task_SetCardFlipped, + Task_AnimateCardFlipUp, + Task_EndCardFlip, }; // code @@ -309,7 +328,7 @@ static void VblankCb_TrainerCard(void) LoadOam(); ProcessSpriteCopyRequests(); TransferPlttBuffer(); - sub_80C48C8(); + BlinkTimeColon(); if (sData->allowDMACopy) DmaCopy16(3, &gScanlineEffectRegBuffers[0], &gScanlineEffectRegBuffers[1], 0x140); } @@ -342,114 +361,126 @@ static void CloseTrainerCard(u8 taskId) DestroyTask(taskId); } -static void sub_80C2760(u8 taskId) +// States for Task_TrainerCard. Skips the initial states, which are done once in order +#define STATE_HANDLE_INPUT_FRONT 10 +#define STATE_HANDLE_INPUT_BACK 11 +#define STATE_WAIT_FLIP_TO_BACK 12 +#define STATE_WAIT_FLIP_TO_FRONT 13 +#define STATE_CLOSE_CARD 14 +#define STATE_WAIT_LINK_PARTNER 15 +#define STATE_CLOSE_CARD_LINK 16 + +static void Task_TrainerCard(u8 taskId) { - switch (sData->var_0) + switch (sData->mainState) { + // Draw card initially case 0: if (!IsDma3ManagerBusyWithBgCopy()) { FillWindowPixelBuffer(1, PIXEL_FILL(0)); - sData->var_0++; + sData->mainState++; } break; case 1: - if (PrintAllOnCardPage1()) - sData->var_0++; + if (PrintAllOnCardFront()) + sData->mainState++; break; case 2: - sub_80C438C(1); - sData->var_0++; + DrawTrainerCardWindow(1); + sData->mainState++; break; case 3: FillWindowPixelBuffer(2, PIXEL_FILL(0)); - sub_80C4FF0(); - sub_80C438C(2); - sData->var_0++; + CreateTrainerCardTrainerPic(); + DrawTrainerCardWindow(2); + sData->mainState++; break; case 4: - sub_80C4550(sData->var_EF8); - sData->var_0++; + DrawCardScreenBackground(sData->bgTilemap); + sData->mainState++; break; case 5: - sub_80C45C0(sData->var_598); - sData->var_0++; + DrawCardFrontOrBack(sData->frontTilemap); + sData->mainState++; break; case 6: - TrainerCard_PrintStarsAndBadgesOnCard(); - sData->var_0++; + DrawStarsAndBadgesOnCard(); + sData->mainState++; break; + // Fade in case 7: if (gWirelessCommType == 1 && gReceivedRemoteLinkPlayers == TRUE) { LoadWirelessStatusIndicatorSpriteGfx(); CreateWirelessStatusIndicatorSprite(230, 150); } - BlendPalettes(0xFFFFFFFF, 16, sData->var_52C); - BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, sData->var_52C); + BlendPalettes(0xFFFFFFFF, 16, sData->blendColor); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, sData->blendColor); SetVBlankCallback(VblankCb_TrainerCard); - sData->var_0++; + sData->mainState++; break; case 8: if (!UpdatePaletteFade() && !IsDma3ManagerBusyWithBgCopy()) { PlaySE(SE_RG_CARD3); - sData->var_0 = 10; + sData->mainState = STATE_HANDLE_INPUT_FRONT; } break; case 9: if (!IsSEPlaying()) - sData->var_0++; + sData->mainState++; break; - case 10: - if (!gReceivedRemoteLinkPlayers && sData->var_529) + case STATE_HANDLE_INPUT_FRONT: + // Blink the : in play time + if (!gReceivedRemoteLinkPlayers && sData->timeColonNeedDraw) { PrintTimeOnCard(); - sub_80C438C(1); - sData->var_529 = 0; + DrawTrainerCardWindow(1); + sData->timeColonNeedDraw = FALSE; } if (gMain.newKeys & A_BUTTON) { - sub_80C4918(); + FlipTrainerCard(); PlaySE(SE_RG_CARD1); - sData->var_0 = 12; + sData->mainState = STATE_WAIT_FLIP_TO_BACK; } else if (gMain.newKeys & B_BUTTON) { if (gReceivedRemoteLinkPlayers && sData->isLink && InUnionRoom() == TRUE) { - sData->var_0 = 15; + sData->mainState = STATE_WAIT_LINK_PARTNER; } else { - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, sData->var_52C); - sData->var_0 = 14; + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, sData->blendColor); + sData->mainState = STATE_CLOSE_CARD; } } break; - case 12: - if (sub_80C4940() && sub_8087598() != TRUE) + case STATE_WAIT_FLIP_TO_BACK: + if (IsCardFlipTaskActive() && sub_8087598() != TRUE) { PlaySE(SE_RG_CARD3); - sData->var_0 = 11; + sData->mainState = STATE_HANDLE_INPUT_BACK; } break; - case 11: + case STATE_HANDLE_INPUT_BACK: if (gMain.newKeys & B_BUTTON) { if (gReceivedRemoteLinkPlayers && sData->isLink && InUnionRoom() == TRUE) { - sData->var_0 = 15; + sData->mainState = STATE_WAIT_LINK_PARTNER; } else if (gReceivedRemoteLinkPlayers) { - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, sData->var_52C); - sData->var_0 = 14; + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, sData->blendColor); + sData->mainState = STATE_CLOSE_CARD; } else { - sub_80C4918(); - sData->var_0 = 13; + FlipTrainerCard(); + sData->mainState = STATE_WAIT_FLIP_TO_FRONT; PlaySE(SE_RG_CARD1); } } @@ -457,37 +488,37 @@ static void sub_80C2760(u8 taskId) { if (gReceivedRemoteLinkPlayers && sData->isLink && InUnionRoom() == TRUE) { - sData->var_0 = 15; + sData->mainState = STATE_WAIT_LINK_PARTNER; } else { - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, sData->var_52C); - sData->var_0 = 14; + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, sData->blendColor); + sData->mainState = STATE_CLOSE_CARD; } } break; - case 15: + case STATE_WAIT_LINK_PARTNER: sub_800AC34(); DrawDialogueFrame(0, 1); AddTextPrinterParameterized(0, 1, gText_WaitingTrainerFinishReading, 0, 1, 255, 0); CopyWindowToVram(0, 3); - sData->var_0 = 16; + sData->mainState = STATE_CLOSE_CARD_LINK; break; - case 16: + case STATE_CLOSE_CARD_LINK: if (!gReceivedRemoteLinkPlayers) { - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, sData->var_52C); - sData->var_0 = 14; + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, sData->blendColor); + sData->mainState = STATE_CLOSE_CARD; } break; - case 14: + case STATE_CLOSE_CARD: if (!UpdatePaletteFade()) CloseTrainerCard(taskId); break; - case 13: - if (sub_80C4940() && sub_8087598() != TRUE) + case STATE_WAIT_FLIP_TO_FRONT: + if (IsCardFlipTaskActive() && sub_8087598() != TRUE) { - sData->var_0 = 10; + sData->mainState = STATE_HANDLE_INPUT_FRONT; PlaySE(SE_RG_CARD3); } break; @@ -500,47 +531,47 @@ static bool8 LoadCardGfx(void) { case 0: if (sData->cardType != CARD_TYPE_FRLG) - LZ77UnCompWram(gUnknown_08DD1F78, sData->var_EF8); + LZ77UnCompWram(gHoennTrainerCardBg_Tilemap, sData->bgTilemap); else - LZ77UnCompWram(gUnknown_08DD2AE0, sData->var_EF8); + LZ77UnCompWram(gKantoTrainerCardBg_Tilemap, sData->bgTilemap); break; case 1: if (sData->cardType != CARD_TYPE_FRLG) - LZ77UnCompWram(gUnknown_08DD21B0, sData->var_A48); + LZ77UnCompWram(gHoennTrainerCardBack_Tilemap, sData->backTilemap); else - LZ77UnCompWram(gUnknown_08DD2D30, sData->var_A48); + LZ77UnCompWram(gKantoTrainerCardBack_Tilemap, sData->backTilemap); break; case 2: if (!sData->isLink) { if (sData->cardType != CARD_TYPE_FRLG) - LZ77UnCompWram(gUnknown_08DD2010, sData->var_598); + LZ77UnCompWram(gHoennTrainerCardFront_Tilemap, sData->frontTilemap); else - LZ77UnCompWram(gUnknown_08DD2B78, sData->var_598); + LZ77UnCompWram(gKantoTrainerCardFront_Tilemap, sData->frontTilemap); } else { if (sData->cardType != CARD_TYPE_FRLG) - LZ77UnCompWram(gUnknown_08DD228C, sData->var_598); + LZ77UnCompWram(gHoennTrainerCardFrontLink_Tilemap, sData->frontTilemap); else - LZ77UnCompWram(gUnknown_08DD2E5C, sData->var_598); + LZ77UnCompWram(gKantoTrainerCardFrontLink_Tilemap, sData->frontTilemap); } break; case 3: if (sData->cardType != CARD_TYPE_FRLG) - LZ77UnCompWram(sEmeraldTrainerCardBadges_Tile, sData->var_13A8); + LZ77UnCompWram(sHoennTrainerCardBadges_Gfx, sData->badgeTiles); else - LZ77UnCompWram(sFireRedTrainerCardBadges_Tile, sData->var_13A8); + LZ77UnCompWram(sKantoTrainerCardBadges_Gfx, sData->badgeTiles); break; case 4: if (sData->cardType != CARD_TYPE_FRLG) - LZ77UnCompWram(gEmeraldTrainerCard_Gfx, sData->var_19A8); + LZ77UnCompWram(gHoennTrainerCard_Gfx, sData->cardTiles); else - LZ77UnCompWram(gFireRedTrainerCard_Gfx, sData->var_19A8); + LZ77UnCompWram(gKantoTrainerCard_Gfx, sData->cardTiles); break; case 5: if (sData->cardType == CARD_TYPE_FRLG) - LZ77UnCompWram(gUnknown_0856F018, sData->var_17A8); + LZ77UnCompWram(sTrainerCardStickers_Gfx, sData->stickerTiles); break; default: sData->gfxLoadState = 0; @@ -556,7 +587,7 @@ static void CB2_InitTrainerCard(void) { case 0: ResetGpuRegs(); - sub_80C3414(); + SetUpTrainerCardTask(); gMain.state++; break; case 1: @@ -564,7 +595,7 @@ static void CB2_InitTrainerCard(void) gMain.state++; break; case 2: - if (!sData->var_52C) + if (!sData->blendColor) DmaClear16(3, (void *)PLTT, PLTT_SIZE); gMain.state++; break; @@ -578,7 +609,7 @@ static void CB2_InitTrainerCard(void) gMain.state++; break; case 5: - sub_80C41D8(); + LoadMonIconGfx(); gMain.state++; break; case 6: @@ -586,7 +617,7 @@ static void CB2_InitTrainerCard(void) gMain.state++; break; case 7: - sub_80C4330(); + LoadStickerGfx(); gMain.state++; break; case 8: @@ -594,7 +625,7 @@ static void CB2_InitTrainerCard(void) gMain.state++; break; case 9: - PrintAllVariableNumsOnCardPage2(); + BufferTextsVarsForCardPage2(); gMain.state++; break; case 10: @@ -693,8 +724,8 @@ static void SetPlayerCardData(struct TrainerCard *trainerCard, u8 cardType) trainerCard->money = GetMoney(&gSaveBlock1Ptr->money); - for (i = 0; i < 4; i++) - trainerCard->var_28[i] = gSaveBlock1Ptr->easyChatProfile[i]; + for (i = 0; i < TRAINER_CARD_PROFILE_LENGTH; i++) + trainerCard->easyChatProfile[i] = gSaveBlock1Ptr->easyChatProfile[i]; StringCopy(trainerCard->playerName, gSaveBlock2Ptr->playerName); @@ -733,9 +764,9 @@ static void TrainerCard_GenerateCardForLinkPlayer(struct TrainerCard *trainerCar trainerCard->stars++; if (trainerCard->gender == FEMALE) - trainerCard->var_4F = gLinkPlayerFacilityClasses[(trainerCard->trainerId % 8) + 8]; + trainerCard->facilityClass = gLinkPlayerFacilityClasses[(trainerCard->trainerId % NUM_FEMALE_LINK_FACILITY_CLASSES) + NUM_MALE_LINK_FACILITY_CLASSES]; else - trainerCard->var_4F = gLinkPlayerFacilityClasses[trainerCard->trainerId % 8]; + trainerCard->facilityClass = gLinkPlayerFacilityClasses[trainerCard->trainerId % NUM_MALE_LINK_FACILITY_CLASSES]; } void TrainerCard_GenerateCardForPlayer(struct TrainerCard *trainerCard) @@ -743,15 +774,15 @@ void TrainerCard_GenerateCardForPlayer(struct TrainerCard *trainerCard) memset(trainerCard, 0, 0x60); trainerCard->version = GAME_VERSION; SetPlayerCardData(trainerCard, CARD_TYPE_EMERALD); - trainerCard->var_3A = HasAllFrontierSymbols(); + trainerCard->hasAllFrontierSymbols = HasAllFrontierSymbols(); *((u16*)&trainerCard->berryCrushPoints) = gSaveBlock2Ptr->frontier.cardBattlePoints; - if (trainerCard->var_3A) + if (trainerCard->hasAllFrontierSymbols) trainerCard->stars++; if (trainerCard->gender == FEMALE) - trainerCard->var_4F = gLinkPlayerFacilityClasses[(trainerCard->trainerId % 8) + 8]; + trainerCard->facilityClass = gLinkPlayerFacilityClasses[(trainerCard->trainerId % NUM_FEMALE_LINK_FACILITY_CLASSES) + NUM_MALE_LINK_FACILITY_CLASSES]; else - trainerCard->var_4F = gLinkPlayerFacilityClasses[trainerCard->trainerId % 8]; + trainerCard->facilityClass = gLinkPlayerFacilityClasses[trainerCard->trainerId % NUM_MALE_LINK_FACILITY_CLASSES]; } void CopyTrainerCardData(struct TrainerCard *dst, u16 *src, u8 gameVersion) @@ -785,8 +816,8 @@ static void SetDataFromTrainerCard(void) sData->hasHofResult = FALSE; sData->hasLinkResults = FALSE; sData->hasBattleTowerWins = FALSE; - sData->var_E = 0; - sData->var_F = 0; + sData->unused_E = FALSE; + sData->unused_F = FALSE; sData->hasTrades = FALSE; memset(sData->badgeCount, 0, sizeof(sData->badgeCount)); if (sData->trainerCard.hasPokedex) @@ -804,7 +835,7 @@ static void SetDataFromTrainerCard(void) if (sData->trainerCard.battleTowerWins || sData->trainerCard.battleTowerStraightWins) sData->hasBattleTowerWins++; - for (i = 0, badgeFlag = FLAG_BADGE01_GET; badgeFlag <= FLAG_BADGE08_GET; badgeFlag++, i++) + for (i = 0, badgeFlag = FLAG_BADGE01_GET; badgeFlag < FLAG_BADGE01_GET + NUM_BADGES; badgeFlag++, i++) { if (FlagGet(badgeFlag)) sData->badgeCount[i]++; @@ -830,14 +861,15 @@ static void HandleGpuRegs(void) EnableInterrupts(INTR_FLAG_VBLANK | INTR_FLAG_HBLANK); } +// Part of animating card flip static void sub_80C32EC(u16 arg0) { s8 quotient = (arg0 + 40) / 10; if (quotient <= 4) quotient = 0; - sData->var_528 = quotient; - SetGpuReg(REG_OFFSET_BLDY, sData->var_528); + sData->flipBlendY = quotient; + SetGpuReg(REG_OFFSET_BLDY, sData->flipBlendY); SetGpuReg(REG_OFFSET_WIN0V, (sData->var_7CA8 * 256) | (160 - sData->var_7CA8)); } @@ -855,7 +887,7 @@ static void ResetGpuRegs(void) static void InitBgsAndWindows(void) { ResetBgsAndClearDma3BusyFlags(0); - InitBgsFromTemplates(0, gUnknown_0856FAB4, ARRAY_COUNT(gUnknown_0856FAB4)); + InitBgsFromTemplates(0, sTrainerCardBgTemplates, ARRAY_COUNT(sTrainerCardBgTemplates)); ChangeBgX(0, 0, 0); ChangeBgY(0, 0, 0); ChangeBgX(1, 0, 0); @@ -864,9 +896,9 @@ static void InitBgsAndWindows(void) ChangeBgY(2, 0, 0); ChangeBgX(3, 0, 0); ChangeBgY(3, 0, 0); - InitWindows(gUnknown_0856FAC4); + InitWindows(sTrainerCardWindowTemplates); DeactivateAllTextPrinters(); - sub_81973A4(); + LoadMessageBoxAndBorderGfx(); } static void SetTrainerCardCb2(void) @@ -874,21 +906,21 @@ static void SetTrainerCardCb2(void) SetMainCallback2(CB2_TrainerCard); } -static void sub_80C3414(void) +static void SetUpTrainerCardTask(void) { ResetTasks(); ScanlineEffect_Stop(); - CreateTask(sub_80C2760, 0); - sub_80C4EE4(); + CreateTask(Task_TrainerCard, 0); + InitTrainerCardData(); SetDataFromTrainerCard(); } -static bool8 PrintAllOnCardPage1(void) +static bool8 PrintAllOnCardFront(void) { switch (sData->printState) { case 0: - PrintNameOnCard(); + PrintNameOnCardFront(); break; case 1: PrintIdOnCard(); @@ -913,18 +945,18 @@ static bool8 PrintAllOnCardPage1(void) return FALSE; } -static bool8 PrintStringsOnCardPage2(void) +static bool8 PrintAllOnCardBack(void) { switch (sData->printState) { case 0: - sub_80C3B50(); + PrintNameOnCardBack(); break; case 1: - PrintHofDebutStringOnCard(); + PrintHofDebutTimeOnCard(); break; case 2: - PrintWinsLossesStringOnCard(); + PrintLinkBattleResultsOnCard(); break; case 3: PrintTradesStringOnCard(); @@ -938,11 +970,11 @@ static bool8 PrintStringsOnCardPage2(void) PrintContestStringOnCard(); break; case 6: - TrainerCard_PrintPokemonIconsOnCard(); + PrintPokemonIconsOnCard(); PrintBattleFacilityStringOnCard(); break; case 7: - sub_80C42A4(); + PrintStickersOnCard(); break; default: sData->printState = 0; @@ -952,20 +984,20 @@ static bool8 PrintStringsOnCardPage2(void) return FALSE; } -static void PrintAllVariableNumsOnCardPage2(void) +static void BufferTextsVarsForCardPage2(void) { - PrintNameOnCard2(); - PrintHofTimeOnCard(); - PrintLinkResultsNumsOnCard(); - PrintTradesNumOnCard(); - PrintBerryCrushNumOnCard(); - PrintUnionNumOnCard(); - PrintPokeblocksNumOnCard(); - PrintContestNumOnCard(); - PrintBattleFacilityNumsOnCard(); + BufferNameForCardBack(); + BufferHofDebutTime(); + BufferLinkBattleResults(); + BufferNumTrades(); + BufferBerryCrushPoints(); + BufferUnionRoomStats(); + BufferLinkPokeblocksNum(); + BufferLinkContestNum(); + BufferBattleFacilityStats(); } -static void PrintNameOnCard(void) +static void PrintNameOnCardFront(void) { u8 buffer[32]; u8* txtPtr; @@ -1058,14 +1090,14 @@ static void PrintPokedexOnCard(void) } } -static const u8 *const gUnknown_0856FB40[] = {sTrainerCardTextColors, gUnknown_0856FB12}; +static const u8 *const sTimeColonTextColors[] = {sTrainerCardTextColors, sTimeColonInvisibleTextColors}; static void PrintTimeOnCard(void) { u16 hours; u16 minutes; s32 width; - u32 r7, r4, r10; + u32 x, y, totalWidth; if (!sData->isHoenn) AddTextPrinterParameterized3(1, 1, 20, 88, sTrainerCardTextColors, TEXT_SPEED_FF, gText_TrainerCardTime); @@ -1091,175 +1123,180 @@ static void PrintTimeOnCard(void) if (!sData->isHoenn) { - r7 = 144; - r4 = 88; + x = 144; + y = 88; } else { - r7 = 128; - r4 = 89; + x = 128; + y = 89; } - r10 = width + 30; - r7 -= r10; + totalWidth = width + 30; + x -= totalWidth; - FillWindowPixelRect(1, PIXEL_FILL(0), r7, r4, r10, 15); + FillWindowPixelRect(1, PIXEL_FILL(0), x, y, totalWidth, 15); ConvertIntToDecimalStringN(gStringVar4, hours, STR_CONV_MODE_RIGHT_ALIGN, 3); - AddTextPrinterParameterized3(1, 1, r7, r4, sTrainerCardTextColors, TEXT_SPEED_FF, gStringVar4); - r7 += 18; - AddTextPrinterParameterized3(1, 1, r7, r4, gUnknown_0856FB40[sData->var_7], TEXT_SPEED_FF, gText_Colon2); - r7 += width; + AddTextPrinterParameterized3(1, 1, x, y, sTrainerCardTextColors, TEXT_SPEED_FF, gStringVar4); + x += 18; + AddTextPrinterParameterized3(1, 1, x, y, sTimeColonTextColors[sData->timeColonInvisible], TEXT_SPEED_FF, gText_Colon2); + x += width; ConvertIntToDecimalStringN(gStringVar4, minutes, STR_CONV_MODE_LEADING_ZEROS, 2); - AddTextPrinterParameterized3(1, 1, r7, r4, sTrainerCardTextColors, TEXT_SPEED_FF, gStringVar4); + AddTextPrinterParameterized3(1, 1, x, y, sTrainerCardTextColors, TEXT_SPEED_FF, gStringVar4); } -static const u8 gUnknown_0856FB48[] = {0x71, 0x68}; -static const u8 gUnknown_0856FB4A[] = {0x81, 0x78}; - static void PrintProfilePhraseOnCard(void) { + static const u8 yOffsetsLine1[] = {113, 104}; + static const u8 yOffsetsLine2[] = {129, 120}; + if (sData->isLink) { - AddTextPrinterParameterized3(1, 1, 8, gUnknown_0856FB48[sData->isHoenn], sTrainerCardTextColors, TEXT_SPEED_FF, sData->var_19[0]); - AddTextPrinterParameterized3(1, 1, GetStringWidth(1, sData->var_19[0], 0) + 14, gUnknown_0856FB48[sData->isHoenn], sTrainerCardTextColors, TEXT_SPEED_FF, sData->var_19[1]); - AddTextPrinterParameterized3(1, 1, 8, gUnknown_0856FB4A[sData->isHoenn], sTrainerCardTextColors, TEXT_SPEED_FF, sData->var_19[2]); - AddTextPrinterParameterized3(1, 1, GetStringWidth(1, sData->var_19[2], 0) + 14, gUnknown_0856FB4A[sData->isHoenn], sTrainerCardTextColors, TEXT_SPEED_FF, sData->var_19[3]); + AddTextPrinterParameterized3(1, 1, 8, yOffsetsLine1[sData->isHoenn], sTrainerCardTextColors, TEXT_SPEED_FF, sData->easyChatProfile[0]); + AddTextPrinterParameterized3(1, 1, GetStringWidth(1, sData->easyChatProfile[0], 0) + 14, yOffsetsLine1[sData->isHoenn], sTrainerCardTextColors, TEXT_SPEED_FF, sData->easyChatProfile[1]); + AddTextPrinterParameterized3(1, 1, 8, yOffsetsLine2[sData->isHoenn], sTrainerCardTextColors, TEXT_SPEED_FF, sData->easyChatProfile[2]); + AddTextPrinterParameterized3(1, 1, GetStringWidth(1, sData->easyChatProfile[2], 0) + 14, yOffsetsLine2[sData->isHoenn], sTrainerCardTextColors, TEXT_SPEED_FF, sData->easyChatProfile[3]); } } -static void PrintNameOnCard2(void) +static void BufferNameForCardBack(void) { - StringCopy(sData->var_4D, sData->trainerCard.playerName); - ConvertInternationalString(sData->var_4D, sData->language); + StringCopy(sData->textPlayersCard, sData->trainerCard.playerName); + ConvertInternationalString(sData->textPlayersCard, sData->language); if (sData->cardType != CARD_TYPE_FRLG) { - StringCopy(gStringVar1, sData->var_4D); - StringExpandPlaceholders(sData->var_4D, gText_Var1sTrainerCard); + StringCopy(gStringVar1, sData->textPlayersCard); + StringExpandPlaceholders(sData->textPlayersCard, gText_Var1sTrainerCard); } } -static void sub_80C3B50(void) +static void PrintNameOnCardBack(void) { if (!sData->isHoenn) - AddTextPrinterParameterized3(1, 1, 136, 9, sTrainerCardTextColors, TEXT_SPEED_FF, sData->var_4D); + AddTextPrinterParameterized3(1, 1, 136, 9, sTrainerCardTextColors, TEXT_SPEED_FF, sData->textPlayersCard); else - AddTextPrinterParameterized3(1, 1, GetStringRightAlignXOffset(1, sData->var_4D, 216), 9, sTrainerCardTextColors, TEXT_SPEED_FF, sData->var_4D); + AddTextPrinterParameterized3(1, 1, GetStringRightAlignXOffset(1, sData->textPlayersCard, 216), 9, sTrainerCardTextColors, TEXT_SPEED_FF, sData->textPlayersCard); } -static const u8 gUnknown_0856FB4C[] = {0xfd, 0x02, 0xf0, 0xfd, 0x03, 0xf0, 0xfd, 0x04, 0xff}; +static const u8 sText_HofTime[] = _("{STR_VAR_1}:{STR_VAR_2}:{STR_VAR_3}"); -static void PrintHofTimeOnCard(void) +static void BufferHofDebutTime(void) { if (sData->hasHofResult) { ConvertIntToDecimalStringN(gStringVar1, sData->trainerCard.hofDebutHours, STR_CONV_MODE_RIGHT_ALIGN, 3); ConvertIntToDecimalStringN(gStringVar2, sData->trainerCard.hofDebutMinutes, STR_CONV_MODE_LEADING_ZEROS, 2); ConvertIntToDecimalStringN(gStringVar3, sData->trainerCard.hofDebutSeconds, STR_CONV_MODE_LEADING_ZEROS, 2); - StringExpandPlaceholders(sData->var_93, gUnknown_0856FB4C); + StringExpandPlaceholders(sData->textHofTime, sText_HofTime); } } -static const u8 gUnknown_0856FB55[] = {0x08, 0x10}; -static const u8 gUnknown_0856FB57[] = {0xd8, 0xd8}; - -static void PrintString(u8 top, const u8* str1, u8* str2, const u8* color) +static void PrintStatOnBackOfCard(u8 top, const u8* statName, u8* stat, const u8* color) { - AddTextPrinterParameterized3(1, 1, gUnknown_0856FB55[sData->isHoenn], top * 16 + 33, sTrainerCardTextColors, TEXT_SPEED_FF, str1); - AddTextPrinterParameterized3(1, 1, GetStringRightAlignXOffset(1, str2, gUnknown_0856FB57[sData->isHoenn]), top * 16 + 33, color, TEXT_SPEED_FF, str2); + static const u8 xOffsets[] = {8, 16}; + static const u8 widths[] = {216, 216}; + + AddTextPrinterParameterized3(1, 1, xOffsets[sData->isHoenn], top * 16 + 33, sTrainerCardTextColors, TEXT_SPEED_FF, statName); + AddTextPrinterParameterized3(1, 1, GetStringRightAlignXOffset(1, stat, widths[sData->isHoenn]), top * 16 + 33, color, TEXT_SPEED_FF, stat); } -static void PrintHofDebutStringOnCard(void) +static void PrintHofDebutTimeOnCard(void) { if (sData->hasHofResult) - PrintString(0, gText_HallOfFameDebut, sData->var_93, sTrainerCardStatColors); + PrintStatOnBackOfCard(0, gText_HallOfFameDebut, sData->textHofTime, sTrainerCardStatColors); } -static const u8 *const gUnknown_0856FB5C[] = {gText_LinkBattles, gText_LinkCableBattles, gText_LinkBattles}; +static const u8 *const sLinkBattleTexts[] = +{ + [CARD_TYPE_FRLG] = gText_LinkBattles, + [CARD_TYPE_RS] = gText_LinkCableBattles, + [CARD_TYPE_EMERALD] = gText_LinkBattles +}; -static void PrintLinkResultsNumsOnCard(void) +static void BufferLinkBattleResults(void) { if (sData->hasLinkResults) { - StringCopy(sData->var_D9, gUnknown_0856FB5C[sData->cardType]); - ConvertIntToDecimalStringN(sData->var_165, sData->trainerCard.linkBattleWins, STR_CONV_MODE_LEFT_ALIGN, 4); - ConvertIntToDecimalStringN(sData->var_1AB, sData->trainerCard.linkBattleLosses, STR_CONV_MODE_LEFT_ALIGN, 4); + StringCopy(sData->textLinkBattleType, sLinkBattleTexts[sData->cardType]); + ConvertIntToDecimalStringN(sData->textLinkBattleWins, sData->trainerCard.linkBattleWins, STR_CONV_MODE_LEFT_ALIGN, 4); + ConvertIntToDecimalStringN(sData->textLinkBattleLosses, sData->trainerCard.linkBattleLosses, STR_CONV_MODE_LEFT_ALIGN, 4); } } -static void PrintWinsLossesStringOnCard(void) +static void PrintLinkBattleResultsOnCard(void) { if (sData->hasLinkResults) { - StringCopy(gStringVar1, sData->var_165); - StringCopy(gStringVar2, sData->var_1AB); + StringCopy(gStringVar1, sData->textLinkBattleWins); + StringCopy(gStringVar2, sData->textLinkBattleLosses); StringExpandPlaceholders(gStringVar4, gText_WinsLosses); - PrintString(1, sData->var_D9, gStringVar4, sTrainerCardTextColors); + PrintStatOnBackOfCard(1, sData->textLinkBattleType, gStringVar4, sTrainerCardTextColors); } } -static void PrintTradesNumOnCard(void) +static void BufferNumTrades(void) { if (sData->hasTrades) - ConvertIntToDecimalStringN(sData->var_237, sData->trainerCard.pokemonTrades, STR_CONV_MODE_RIGHT_ALIGN, 5); + ConvertIntToDecimalStringN(sData->textNumTrades, sData->trainerCard.pokemonTrades, STR_CONV_MODE_RIGHT_ALIGN, 5); } static void PrintTradesStringOnCard(void) { if (sData->hasTrades) - PrintString(2, gText_PokemonTrades, sData->var_237, sTrainerCardStatColors); + PrintStatOnBackOfCard(2, gText_PokemonTrades, sData->textNumTrades, sTrainerCardStatColors); } -static void PrintBerryCrushNumOnCard(void) +static void BufferBerryCrushPoints(void) { if (sData->cardType == CARD_TYPE_FRLG && sData->trainerCard.berryCrushPoints) - ConvertIntToDecimalStringN(sData->var_2C3, sData->trainerCard.berryCrushPoints, STR_CONV_MODE_RIGHT_ALIGN, 5); + ConvertIntToDecimalStringN(sData->textBerryCrushPts, sData->trainerCard.berryCrushPoints, STR_CONV_MODE_RIGHT_ALIGN, 5); } static void PrintBerryCrushStringOnCard(void) { if (sData->cardType == CARD_TYPE_FRLG && sData->trainerCard.berryCrushPoints) - PrintString(4, gText_BerryCrush, sData->var_2C3, sTrainerCardStatColors); + PrintStatOnBackOfCard(4, gText_BerryCrush, sData->textBerryCrushPts, sTrainerCardStatColors); } -static void PrintUnionNumOnCard(void) +static void BufferUnionRoomStats(void) { if (sData->cardType == CARD_TYPE_FRLG && sData->trainerCard.unionRoomNum) - ConvertIntToDecimalStringN(sData->var_34F, sData->trainerCard.unionRoomNum, STR_CONV_MODE_RIGHT_ALIGN, 5); + ConvertIntToDecimalStringN(sData->textUnionRoomStats, sData->trainerCard.unionRoomNum, STR_CONV_MODE_RIGHT_ALIGN, 5); } static void PrintUnionStringOnCard(void) { if (sData->cardType == CARD_TYPE_FRLG && sData->trainerCard.unionRoomNum) - PrintString(3, gText_UnionTradesAndBattles, sData->var_34F, sTrainerCardStatColors); + PrintStatOnBackOfCard(3, gText_UnionTradesAndBattles, sData->textUnionRoomStats, sTrainerCardStatColors); } -static void PrintPokeblocksNumOnCard(void) +static void BufferLinkPokeblocksNum(void) { if (sData->cardType != CARD_TYPE_FRLG && sData->trainerCard.pokeblocksWithFriends) { ConvertIntToDecimalStringN(gStringVar1, sData->trainerCard.pokeblocksWithFriends, STR_CONV_MODE_RIGHT_ALIGN, 5); - StringExpandPlaceholders(sData->var_395, gText_Var1DarkGreyShadowLightGrey); + StringExpandPlaceholders(sData->textNumLinkPokeblocks, gText_NumPokeblocks); } } static void PrintPokeblockStringOnCard(void) { if (sData->cardType != CARD_TYPE_FRLG && sData->trainerCard.pokeblocksWithFriends) - PrintString(3, gText_PokeblocksWithFriends, sData->var_395, sTrainerCardStatColors); + PrintStatOnBackOfCard(3, gText_PokeblocksWithFriends, sData->textNumLinkPokeblocks, sTrainerCardStatColors); } -static void PrintContestNumOnCard(void) +static void BufferLinkContestNum(void) { if (sData->cardType != CARD_TYPE_FRLG && sData->trainerCard.contestsWithFriends) - ConvertIntToDecimalStringN(sData->var_3DB, sData->trainerCard.contestsWithFriends, STR_CONV_MODE_RIGHT_ALIGN, 5); + ConvertIntToDecimalStringN(sData->textNumLinkContests, sData->trainerCard.contestsWithFriends, STR_CONV_MODE_RIGHT_ALIGN, 5); } static void PrintContestStringOnCard(void) { if (sData->cardType != CARD_TYPE_FRLG && sData->trainerCard.contestsWithFriends) - PrintString(4, gText_WonContestsWFriends, sData->var_3DB, sTrainerCardStatColors); + PrintStatOnBackOfCard(4, gText_WonContestsWFriends, sData->textNumLinkContests, sTrainerCardStatColors); } -static void PrintBattleFacilityNumsOnCard(void) +static void BufferBattleFacilityStats(void) { switch (sData->cardType) { @@ -1268,14 +1305,14 @@ static void PrintBattleFacilityNumsOnCard(void) { ConvertIntToDecimalStringN(gStringVar1, sData->trainerCard.battleTowerWins, STR_CONV_MODE_RIGHT_ALIGN, 4); ConvertIntToDecimalStringN(gStringVar2, sData->trainerCard.battleTowerStraightWins, STR_CONV_MODE_RIGHT_ALIGN, 4); - StringExpandPlaceholders(sData->var_421, gText_WSlashStraightSlash); + StringExpandPlaceholders(sData->textBattleFacilityStat, gText_WinsStraight); } break; case CARD_TYPE_EMERALD: if (sData->trainerCard.frontierBP) { ConvertIntToDecimalStringN(gStringVar1, sData->trainerCard.frontierBP, STR_CONV_MODE_RIGHT_ALIGN, 5); - StringExpandPlaceholders(sData->var_421, gText_Var1DarkLightGreyBP); + StringExpandPlaceholders(sData->textBattleFacilityStat, gText_NumBP); } break; case CARD_TYPE_FRLG: @@ -1289,90 +1326,90 @@ static void PrintBattleFacilityStringOnCard(void) { case CARD_TYPE_RS: if (sData->hasBattleTowerWins) - PrintString(5, gText_BattleTower, sData->var_421, sTrainerCardTextColors); + PrintStatOnBackOfCard(5, gText_BattleTower, sData->textBattleFacilityStat, sTrainerCardTextColors); break; case CARD_TYPE_EMERALD: if (sData->trainerCard.frontierBP) - PrintString(5, gText_BattlePtsWon, sData->var_421, sTrainerCardStatColors); + PrintStatOnBackOfCard(5, gText_BattlePtsWon, sData->textBattleFacilityStat, sTrainerCardStatColors); break; case CARD_TYPE_FRLG: break; } } -static void TrainerCard_PrintPokemonIconsOnCard(void) +static void PrintPokemonIconsOnCard(void) { u8 i; - u8 buffer[] = {0x05, 0x06, 0x07, 0x08, 0x09, 0x0a}; - u8 buffer2[] = {0x00, 0x04, 0x08, 0x0c, 0x10, 0x14}; + u8 paletteSlots[PARTY_SIZE] = {5, 6, 7, 8, 9, 10}; + u8 xOffsets[PARTY_SIZE] = {0, 4, 8, 12, 16, 20}; if (sData->cardType == CARD_TYPE_FRLG) { - for (i = 0; i < 6; i++) + for (i = 0; i < PARTY_SIZE; i++) { if (sData->trainerCard.monSpecies[i]) { u8 monSpecies = GetMonIconPaletteIndexFromSpecies(sData->trainerCard.monSpecies[i]); - WriteSequenceToBgTilemapBuffer(3, 16 * i + 224, buffer2[i] + 3, 15, 4, 4, buffer[monSpecies], 1); + WriteSequenceToBgTilemapBuffer(3, 16 * i + 224, xOffsets[i] + 3, 15, 4, 4, paletteSlots[monSpecies], 1); } } } } -static void sub_80C41D8(void) +static void LoadMonIconGfx(void) { u8 i; - CpuSet(gMonIconPalettes, sData->var_468, 0x60); - switch (sData->trainerCard.var_4E) + CpuSet(gMonIconPalettes, sData->monIconPal, 0x60); + switch (sData->trainerCard.monIconTint) { - case 0: + case MON_ICON_TINT_NORMAL: break; - case 1: - TintPalette_CustomTone(sData->var_468, 96, 0, 0, 0); + case MON_ICON_TINT_BLACK: + TintPalette_CustomTone(sData->monIconPal, 96, 0, 0, 0); break; - case 2: - TintPalette_CustomTone(sData->var_468, 96, 500, 330, 310); + case MON_ICON_TINT_PINK: + TintPalette_CustomTone(sData->monIconPal, 96, 500, 330, 310); break; - case 3: - TintPalette_SepiaTone(sData->var_468, 96); + case MON_ICON_TINT_SEPIA: + TintPalette_SepiaTone(sData->monIconPal, 96); break; } - LoadPalette(sData->var_468, 80, 192); + LoadPalette(sData->monIconPal, 80, 192); - for (i = 0; i < 6; i++) + for (i = 0; i < PARTY_SIZE; i++) { if (sData->trainerCard.monSpecies[i]) LoadBgTiles(3, GetMonIconTiles(sData->trainerCard.monSpecies[i], 0), 512, 16 * i + 32); } } -static void sub_80C42A4(void) +static void PrintStickersOnCard(void) { u8 i; - u8 buffer[4] = {0x0b, 0x0c, 0x0d, 0x0e}; + u8 paletteSlots[4] = {11, 12, 13, 14}; - if (sData->cardType == CARD_TYPE_FRLG && sData->trainerCard.var_4C == 1) + if (sData->cardType == CARD_TYPE_FRLG && sData->trainerCard.shouldDrawStickers == TRUE) { - for (i = 0; i < 3; i++) + for (i = 0; i < TRAINER_CARD_STICKER_TYPES; i++) { - u8 var_50 = sData->trainerCard.var_50[i]; - if (sData->trainerCard.var_50[i]) - WriteSequenceToBgTilemapBuffer(3, i * 4 + 320, i * 3 + 2, 2, 2, 2, buffer[var_50 - 1], 1); + u8 sticker = sData->trainerCard.stickers[i]; + if (sData->trainerCard.stickers[i]) + WriteSequenceToBgTilemapBuffer(3, i * 4 + 320, i * 3 + 2, 2, 2, 2, paletteSlots[sticker - 1], 1); } } } -static void sub_80C4330(void) +static void LoadStickerGfx(void) { - LoadPalette(gUnknown_0856F54C, 176, 32); - LoadPalette(gUnknown_0856F56C, 192, 32); - LoadPalette(gUnknown_0856F58C, 208, 32); - LoadPalette(gUnknown_0856F5AC, 224, 32); - LoadBgTiles(3, sData->var_17A8, 1024, 128); + LoadPalette(sTrainerCardSticker1_Pal, 176, 32); + LoadPalette(sTrainerCardSticker2_Pal, 192, 32); + LoadPalette(sTrainerCardSticker3_Pal, 208, 32); + LoadPalette(sTrainerCardSticker4_Pal, 224, 32); + LoadBgTiles(3, sData->stickerTiles, 1024, 128); } -static void sub_80C438C(u8 windowId) +static void DrawTrainerCardWindow(u8 windowId) { PutWindowTilemap(windowId); CopyWindowToVram(windowId, 3); @@ -1383,31 +1420,31 @@ static u8 SetCardBgsAndPals(void) switch (sData->bgPalLoadState) { case 0: - LoadBgTiles(3, sData->var_13A8, 1024, 0); + LoadBgTiles(3, sData->badgeTiles, ARRAY_COUNT(sData->badgeTiles), 0); break; case 1: - LoadBgTiles(0, sData->var_19A8, 6144, 0); + LoadBgTiles(0, sData->cardTiles, 0x1800, 0); break; case 2: if (sData->cardType != CARD_TYPE_FRLG) { - LoadPalette(gEmeraldTrainerCardStarPals[sData->trainerCard.stars], 0, 96); - LoadPalette(sEmeraldTrainerCardBadges_Pal, 48, 32); - if (sData->trainerCard.gender) - LoadPalette(sEmeraldTrainerCardFemaleBackground_Pal, 16, 32); + LoadPalette(sHoennTrainerCardStarPals[sData->trainerCard.stars], 0, 96); + LoadPalette(sHoennTrainerCardBadges_Pal, 48, 32); + if (sData->trainerCard.gender != MALE) + LoadPalette(sHoennTrainerCardFemaleBg_Pal, 16, 32); } else { - LoadPalette(gFireRedTrainerCardStarPals[sData->trainerCard.stars], 0, 96); - LoadPalette(sFireRedTrainerCardBadges_Pal, 48, 32); - if (sData->trainerCard.gender) - LoadPalette(sFireRedTrainerCardFemaleBackground_Pal, 16, 32); + LoadPalette(sKantoTrainerCardStarPals[sData->trainerCard.stars], 0, 96); + LoadPalette(sKantoTrainerCardBadges_Pal, 48, 32); + if (sData->trainerCard.gender != MALE) + LoadPalette(sKantoTrainerCardFemaleBg_Pal, 16, 32); } - LoadPalette(gUnknown_0856F52C, 64, 32); + LoadPalette(sTrainerCardGold_Pal, 64, 32); break; case 3: - SetBgTilemapBuffer(0, sData->var_3CA8); - SetBgTilemapBuffer(2, sData->var_5CA8); + SetBgTilemapBuffer(0, sData->cardTilemapBuffer); + SetBgTilemapBuffer(2, sData->bgTilemapBuffer); break; case 4: FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 32, 32); @@ -1420,10 +1457,10 @@ static u8 SetCardBgsAndPals(void) return 0; } -static void sub_80C4550(u16 *ptr) +static void DrawCardScreenBackground(u16 *ptr) { s16 i, j; - u16 *dst = sData->var_5CA8; + u16 *dst = sData->bgTilemapBuffer; for (i = 0; i < 20; i++) { @@ -1438,10 +1475,10 @@ static void sub_80C4550(u16 *ptr) CopyBgTilemapBufferToVram(2); } -static void sub_80C45C0(u16* ptr) +static void DrawCardFrontOrBack(u16* ptr) { s16 i, j; - u16 *dst = sData->var_3CA8; + u16 *dst = sData->cardTilemapBuffer; for (i = 0; i < 20; i++) { @@ -1456,19 +1493,19 @@ static void sub_80C45C0(u16* ptr) CopyBgTilemapBufferToVram(0); } -static const u8 gUnknown_0856FB78[] = {7, 7}; - -static void TrainerCard_PrintStarsAndBadgesOnCard(void) +static void DrawStarsAndBadgesOnCard(void) { + static const u8 yOffsets[] = {7, 7}; + s16 i, x; u16 tileNum = 192; u8 palNum = 3; - FillBgTilemapBufferRect(3, 143, 15, gUnknown_0856FB78[sData->isHoenn], sData->trainerCard.stars, 1, 4); + FillBgTilemapBufferRect(3, 143, 15, yOffsets[sData->isHoenn], sData->trainerCard.stars, 1, 4); if (!sData->isLink) { x = 4; - for (i = 0; i < 8; i++, tileNum += 2, x += 3) + for (i = 0; i < NUM_BADGES; i++, tileNum += 2, x += 3) { if (sData->badgeCount[i]) { @@ -1482,7 +1519,7 @@ static void TrainerCard_PrintStarsAndBadgesOnCard(void) CopyBgTilemapBufferToVram(3); } -static void sub_80C474C(void) +static void DrawCardBackStats(void) { if (sData->cardType == CARD_TYPE_FRLG) { @@ -1525,13 +1562,13 @@ static void sub_80C474C(void) CopyBgTilemapBufferToVram(3); } -static void sub_80C48C8(void) +static void BlinkTimeColon(void) { - if (++sData->var_6 > 60) + if (++sData->timeColonBlinkTimer > 60) { - sData->var_6 = 0; - sData->var_7 ^= 1; - sData->var_529 = 1; + sData->timeColonBlinkTimer = 0; + sData->timeColonInvisible ^= 1; + sData->timeColonNeedDraw = TRUE; } } @@ -1541,28 +1578,30 @@ u8 GetTrainerCardStars(u8 cardId) return trainerCards[cardId].stars; } -static void sub_80C4918(void) +#define tFlipState data[0] + +static void FlipTrainerCard(void) { - u8 taskId = CreateTask(sub_80C4960, 0); - sub_80C4960(taskId); + u8 taskId = CreateTask(Task_DoCardFlipTask, 0); + Task_DoCardFlipTask(taskId); SetHBlankCallback(HblankCb_TrainerCard); } -static bool8 sub_80C4940(void) +static bool8 IsCardFlipTaskActive(void) { - if (FindTaskIdByFunc(sub_80C4960) == 0xFF) + if (FindTaskIdByFunc(Task_DoCardFlipTask) == 0xFF) return TRUE; else return FALSE; } -static void sub_80C4960(u8 taskId) +static void Task_DoCardFlipTask(u8 taskId) { - while(gUnknown_0856FB28[gTasks[taskId].data[0]](&gTasks[taskId])) + while(sTrainerCardFlipTasks[gTasks[taskId].tFlipState](&gTasks[taskId])) ; } -static bool8 sub_80C4998(struct Task* task) +static bool8 Task_BeginCardFlip(struct Task* task) { u32 i; @@ -1572,11 +1611,11 @@ static bool8 sub_80C4998(struct Task* task) ScanlineEffect_Clear(); for (i = 0; i < 160; i++) gScanlineEffectRegBuffers[1][i] = 0; - task->data[0]++; + task->tFlipState++; return FALSE; } -static bool8 sub_80C49D8(struct Task* task) +static bool8 Task_AnimateCardFlipDown(struct Task* task) { u32 r4, r5, r10, r7, r6, var_24, r9, var; s16 i; @@ -1617,12 +1656,12 @@ static bool8 sub_80C49D8(struct Task* task) sData->allowDMACopy = TRUE; if (task->data[1] >= 77) - task->data[0]++; + task->tFlipState++; return FALSE; } -static bool8 sub_80C4B08(struct Task* task) +static bool8 Task_DrawFlippedCardSide(struct Task* task) { sData->allowDMACopy = FALSE; if (sub_8087598() == TRUE) @@ -1630,71 +1669,73 @@ static bool8 sub_80C4B08(struct Task* task) do { - switch (sData->var_4) + switch (sData->flipDrawState) { case 0: FillWindowPixelBuffer(1, PIXEL_FILL(0)); FillBgTilemapBufferRect_Palette0(3, 0, 0, 0, 0x20, 0x20); break; case 1: - if (!sData->var_8) + if (!sData->onBack) { - if (!PrintStringsOnCardPage2()) + if (!PrintAllOnCardBack()) return FALSE; } else { - if (!PrintAllOnCardPage1()) + if (!PrintAllOnCardFront()) return FALSE; } break; case 2: - if (!sData->var_8) - sub_80C45C0(sData->var_A48); + if (!sData->onBack) + DrawCardFrontOrBack(sData->backTilemap); else - sub_80C438C(1); + DrawTrainerCardWindow(1); break; case 3: - if (!sData->var_8) - sub_80C474C(); + if (!sData->onBack) + DrawCardBackStats(); else FillWindowPixelBuffer(2, PIXEL_FILL(0)); break; case 4: - if (sData->var_8) - sub_80C4FF0(); + if (sData->onBack) + CreateTrainerCardTrainerPic(); break; default: - task->data[0]++; + task->tFlipState++; sData->allowDMACopy = TRUE; - sData->var_4 = 0; + sData->flipDrawState = 0; return FALSE; } - sData->var_4++; + sData->flipDrawState++; } while (gReceivedRemoteLinkPlayers == 0); return FALSE; } -static bool8 sub_80C4C1C(struct Task* task) +static bool8 Task_SetCardFlipped(struct Task* task) { sData->allowDMACopy = FALSE; - if (sData->var_8) + + // If on back of card, draw front of card because its being flipped + if (sData->onBack) { - sub_80C438C(2); - sub_80C4550(sData->var_EF8); - sub_80C45C0(sData->var_598); - TrainerCard_PrintStarsAndBadgesOnCard(); + DrawTrainerCardWindow(2); + DrawCardScreenBackground(sData->bgTilemap); + DrawCardFrontOrBack(sData->frontTilemap); + DrawStarsAndBadgesOnCard(); } - sub_80C438C(1); - sData->var_8 ^= 1; - task->data[0]++; + DrawTrainerCardWindow(1); + sData->onBack ^= 1; + task->tFlipState++; sData->allowDMACopy = TRUE; PlaySE(SE_RG_CARD2); return FALSE; } -static bool8 sub_80C4C84(struct Task* task) +static bool8 Task_AnimateCardFlipUp(struct Task* task) { u32 r4, r5, r10, r7, r6, var_24, r9, var; s16 i; @@ -1735,17 +1776,17 @@ static bool8 sub_80C4C84(struct Task* task) sData->allowDMACopy = TRUE; if (task->data[1] <= 0) - task->data[0]++; + task->tFlipState++; return FALSE; } -static bool8 sub_80C4DB0(struct Task *task) +static bool8 Task_EndCardFlip(struct Task *task) { ShowBg(1); ShowBg(3); SetHBlankCallback(NULL); - DestroyTask(FindTaskIdByFunc(sub_80C4960)); + DestroyTask(FindTaskIdByFunc(Task_DoCardFlipTask)); return FALSE; } @@ -1754,9 +1795,9 @@ void ShowPlayerTrainerCard(void (*callback)(void)) sData = AllocZeroed(sizeof(*sData)); sData->callback2 = callback; if (callback == CB2_ReshowFrontierPass) - sData->var_52C = 0x7FFF; + sData->blendColor = RGB_WHITE; else - sData->var_52C = 0; + sData->blendColor = RGB_BLACK; if (InUnionRoom() == TRUE) sData->isLink = TRUE; @@ -1778,18 +1819,18 @@ void ShowTrainerCardInLink(u8 cardId, void (*callback)(void)) SetMainCallback2(CB2_InitTrainerCard); } -static void sub_80C4EE4(void) +static void InitTrainerCardData(void) { u8 i; - sData->var_0 = 0; - sData->var_6 = gSaveBlock2Ptr->playTimeVBlanks; - sData->var_7 = 0; - sData->var_8 = 0; - sData->var_528 = 0; + sData->mainState = 0; + sData->timeColonBlinkTimer = gSaveBlock2Ptr->playTimeVBlanks; + sData->timeColonInvisible = FALSE; + sData->onBack = FALSE; + sData->flipBlendY = 0; sData->cardType = GetSetCardType(); - for (i = 0; i < 4; i++) - CopyEasyChatWord(sData->var_19[i], sData->trainerCard.var_28[i]); + for (i = 0; i < TRAINER_CARD_PROFILE_LENGTH; i++) + CopyEasyChatWord(sData->easyChatProfile[i], sData->trainerCard.easyChatProfile[i]); } static u8 GetSetCardType(void) @@ -1833,23 +1874,23 @@ static u8 VersionToCardType(u8 version) return CARD_TYPE_RS; } -static void sub_80C4FF0(void) +static void CreateTrainerCardTrainerPic(void) { if (InUnionRoom() == TRUE && gReceivedRemoteLinkPlayers == 1) { - sub_818D938(FacilityClassToPicIndex(sData->trainerCard.var_4F), + CreateTrainerCardTrainerPicSprite(FacilityClassToPicIndex(sData->trainerCard.facilityClass), TRUE, - gUnknown_0856FB18[sData->isHoenn][sData->trainerCard.gender][0], - gUnknown_0856FB18[sData->isHoenn][sData->trainerCard.gender][1], + sTrainerPicOffset[sData->isHoenn][sData->trainerCard.gender][0], + sTrainerPicOffset[sData->isHoenn][sData->trainerCard.gender][1], 8, 2); } else { - sub_818D938(FacilityClassToPicIndex(gUnknown_0856FB20[sData->cardType][sData->trainerCard.gender]), + CreateTrainerCardTrainerPicSprite(FacilityClassToPicIndex(sTrainerPicFacilityClass[sData->cardType][sData->trainerCard.gender]), TRUE, - gUnknown_0856FB18[sData->isHoenn][sData->trainerCard.gender][0], - gUnknown_0856FB18[sData->isHoenn][sData->trainerCard.gender][1], + sTrainerPicOffset[sData->isHoenn][sData->trainerCard.gender][0], + sTrainerPicOffset[sData->isHoenn][sData->trainerCard.gender][1], 8, 2); } diff --git a/src/trainer_hill.c b/src/trainer_hill.c index c339a56e0..11ac49e3a 100644 --- a/src/trainer_hill.c +++ b/src/trainer_hill.c @@ -23,7 +23,7 @@ #include "window.h" #include "util.h" #include "constants/battle_ai.h" -#include "constants/event_object_movement_constants.h" +#include "constants/event_object_movement.h" #include "constants/event_objects.h" #include "constants/items.h" #include "constants/layouts.h" @@ -251,9 +251,9 @@ static const u8 *const sTagMatchStrings[] = gText_ExpertTagMatch, }; -static const struct EventObjectTemplate sTrainerEventObjectTemplate = +static const struct ObjectEventTemplate sTrainerObjectEventTemplate = { - .graphicsId = EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL, + .graphicsId = OBJ_EVENT_GFX_RIVAL_BRENDAN_NORMAL, .elevation = 3, .movementType = MOVEMENT_TYPE_LOOK_AROUND, .movementRangeX = 1, @@ -629,25 +629,25 @@ static void SetTimerValue(u32 *dst, u32 val) *dst = val; } -void LoadTrainerHillEventObjectTemplates(void) +void LoadTrainerHillObjectEventTemplates(void) { u8 i, floorId; - struct EventObjectTemplate *eventTemplates = gSaveBlock1Ptr->eventObjectTemplates; + struct ObjectEventTemplate *eventTemplates = gSaveBlock1Ptr->objectEventTemplates; - if (!LoadTrainerHillFloorEventObjectScripts()) + if (!LoadTrainerHillFloorObjectEventScripts()) return; SetUpDataStruct(); for (i = 0; i < 2; i++) gSaveBlock2Ptr->frontier.trainerIds[i] = 0xFFFF; - CpuFill32(0, gSaveBlock1Ptr->eventObjectTemplates, sizeof(gSaveBlock1Ptr->eventObjectTemplates)); + CpuFill32(0, gSaveBlock1Ptr->objectEventTemplates, sizeof(gSaveBlock1Ptr->objectEventTemplates)); floorId = GetFloorId(); for (i = 0; i < 2; i++) { u8 bits; - eventTemplates[i] = sTrainerEventObjectTemplate; + eventTemplates[i] = sTrainerObjectEventTemplate; eventTemplates[i].localId = i + 1; eventTemplates[i].graphicsId = FacilityClassToGraphicsId(sHillData->floors[floorId].trainers[i].facilityClass); eventTemplates[i].x = sHillData->floors[floorId].display.coords[i] & 0xF; @@ -662,7 +662,7 @@ void LoadTrainerHillEventObjectTemplates(void) FreeDataStruct(); } -bool32 LoadTrainerHillFloorEventObjectScripts(void) +bool32 LoadTrainerHillFloorObjectEventScripts(void) { SetUpDataStruct(); // Something may have been dummied here @@ -860,10 +860,10 @@ u16 LocalIdToHillTrainerId(u8 localId) return gSaveBlock2Ptr->frontier.trainerIds[localId - 1]; } -bool8 GetHillTrainerFlag(u8 eventObjectId) +bool8 GetHillTrainerFlag(u8 objectEventId) { u32 floorId = GetFloorId() * 2; - u8 bitId = gEventObjects[eventObjectId].localId - 1 + floorId; + u8 bitId = gObjectEvents[objectEventId].localId - 1 + floorId; return gSaveBlock2Ptr->frontier.trainerFlags & gBitTable[bitId]; } diff --git a/src/trainer_pokemon_sprites.c b/src/trainer_pokemon_sprites.c index 99a3fd4c5..d2cb634f0 100644 --- a/src/trainer_pokemon_sprites.c +++ b/src/trainer_pokemon_sprites.c @@ -331,7 +331,7 @@ static u16 sub_818D65C(u16 species, u32 otId, u32 personality, bool8 isFrontPic, return 0; } -static u16 sub_818D6CC(u16 species, u32 otId, u32 personality, bool8 isFrontPic, u16 destX, u16 destY, u8 paletteSlot, u8 windowId, bool8 isTrainer) +static u16 CreateTrainerCardSprite(u16 species, u32 otId, u32 personality, bool8 isFrontPic, u16 destX, u16 destY, u8 paletteSlot, u8 windowId, bool8 isTrainer) { u8 *framePics; @@ -366,9 +366,10 @@ u16 sub_818D834(u16 species, u32 otId, u32 personality, bool8 isFrontPic, u8 pal return sub_818D65C(species, otId, personality, isFrontPic, paletteSlot, windowId, FALSE); } -u16 sub_818D864(u16 species, u32 otId, u32 personality, bool8 isFrontPic, u16 destX, u16 destY, u8 paletteSlot, u8 windowId) +// Unused, FRLG only +u16 CreateTrainerCardMonIconSprite(u16 species, u32 otId, u32 personality, bool8 isFrontPic, u16 destX, u16 destY, u8 paletteSlot, u8 windowId) { - return sub_818D6CC(species, otId, personality, isFrontPic, destX, destY, paletteSlot, windowId, FALSE); + return CreateTrainerCardSprite(species, otId, personality, isFrontPic, destX, destY, paletteSlot, windowId, FALSE); } u16 CreateTrainerPicSprite(u16 species, bool8 isFrontPic, s16 x, s16 y, u8 paletteSlot, u16 paletteTag) @@ -386,9 +387,9 @@ u16 sub_818D904(u16 species, bool8 isFrontPic, u8 paletteSlot, u8 windowId) return sub_818D65C(species, 0, 0, isFrontPic, paletteSlot, windowId, TRUE); } -u16 sub_818D938(u16 species, bool8 isFrontPic, u16 destX, u16 destY, u8 paletteSlot, u8 windowId) +u16 CreateTrainerCardTrainerPicSprite(u16 species, bool8 isFrontPic, u16 destX, u16 destY, u8 paletteSlot, u8 windowId) { - return sub_818D6CC(species, 0, 0, isFrontPic, destX, destY, paletteSlot, windowId, TRUE); + return CreateTrainerCardSprite(species, 0, 0, isFrontPic, destX, destY, paletteSlot, windowId, TRUE); } u16 PlayerGenderToFrontTrainerPicId_Debug(u8 gender, bool8 getClass) diff --git a/src/trainer_see.c b/src/trainer_see.c index 5e843164d..b34b8f106 100644 --- a/src/trainer_see.c +++ b/src/trainer_see.c @@ -15,35 +15,35 @@ #include "battle_pyramid.h" #include "constants/battle_setup.h" #include "constants/event_objects.h" -#include "constants/event_object_movement_constants.h" +#include "constants/event_object_movement.h" #include "constants/field_effects.h" // this file's functions -static u8 CheckTrainer(u8 eventObjectId); -static u8 GetTrainerApproachDistance(struct EventObject *trainerObj); -static u8 CheckPathBetweenTrainerAndPlayer(struct EventObject *trainerObj, u8 approachDistance, u8 direction); -static void TrainerApproachPlayer(struct EventObject *trainerObj, u8 range); +static u8 CheckTrainer(u8 objectEventId); +static u8 GetTrainerApproachDistance(struct ObjectEvent *trainerObj); +static u8 CheckPathBetweenTrainerAndPlayer(struct ObjectEvent *trainerObj, u8 approachDistance, u8 direction); +static void TrainerApproachPlayer(struct ObjectEvent *trainerObj, u8 range); static void Task_RunTrainerSeeFuncList(u8 taskId); static void Task_DestroyTrainerApproachTask(u8 taskId); static void SetIconSpriteData(struct Sprite *sprite, u16 fldEffId, u8 spriteAnimNum); -static u8 GetTrainerApproachDistanceSouth(struct EventObject *trainerObj, s16 range, s16 x, s16 y); -static u8 GetTrainerApproachDistanceNorth(struct EventObject *trainerObj, s16 range, s16 x, s16 y); -static u8 GetTrainerApproachDistanceWest(struct EventObject *trainerObj, s16 range, s16 x, s16 y); -static u8 GetTrainerApproachDistanceEast(struct EventObject *trainerObj, s16 range, s16 x, s16 y); - -static bool8 sub_80B4178(u8 taskId, struct Task *task, struct EventObject *trainerObj); -static bool8 TrainerExclamationMark(u8 taskId, struct Task *task, struct EventObject *trainerObj); -static bool8 WaitTrainerExclamationMark(u8 taskId, struct Task *task, struct EventObject *trainerObj); -static bool8 TrainerMoveToPlayer(u8 taskId, struct Task *task, struct EventObject *trainerObj); -static bool8 PlayerFaceApproachingTrainer(u8 taskId, struct Task *task, struct EventObject *trainerObj); -static bool8 WaitPlayerFaceApproachingTrainer(u8 taskId, struct Task *task, struct EventObject *trainerObj); -static bool8 RevealDisguisedTrainer(u8 taskId, struct Task *task, struct EventObject *trainerObj); -static bool8 WaitRevealDisguisedTrainer(u8 taskId, struct Task *task, struct EventObject *trainerObj); -static bool8 RevealHiddenTrainer(u8 taskId, struct Task *task, struct EventObject *trainerObj); -static bool8 PopOutOfAshHiddenTrainer(u8 taskId, struct Task *task, struct EventObject *trainerObj); -static bool8 JumpInPlaceHiddenTrainer(u8 taskId, struct Task *task, struct EventObject *trainerObj); -static bool8 WaitRevealHiddenTrainer(u8 taskId, struct Task *task, struct EventObject *trainerObj); +static u8 GetTrainerApproachDistanceSouth(struct ObjectEvent *trainerObj, s16 range, s16 x, s16 y); +static u8 GetTrainerApproachDistanceNorth(struct ObjectEvent *trainerObj, s16 range, s16 x, s16 y); +static u8 GetTrainerApproachDistanceWest(struct ObjectEvent *trainerObj, s16 range, s16 x, s16 y); +static u8 GetTrainerApproachDistanceEast(struct ObjectEvent *trainerObj, s16 range, s16 x, s16 y); + +static bool8 sub_80B4178(u8 taskId, struct Task *task, struct ObjectEvent *trainerObj); +static bool8 TrainerExclamationMark(u8 taskId, struct Task *task, struct ObjectEvent *trainerObj); +static bool8 WaitTrainerExclamationMark(u8 taskId, struct Task *task, struct ObjectEvent *trainerObj); +static bool8 TrainerMoveToPlayer(u8 taskId, struct Task *task, struct ObjectEvent *trainerObj); +static bool8 PlayerFaceApproachingTrainer(u8 taskId, struct Task *task, struct ObjectEvent *trainerObj); +static bool8 WaitPlayerFaceApproachingTrainer(u8 taskId, struct Task *task, struct ObjectEvent *trainerObj); +static bool8 RevealDisguisedTrainer(u8 taskId, struct Task *task, struct ObjectEvent *trainerObj); +static bool8 WaitRevealDisguisedTrainer(u8 taskId, struct Task *task, struct ObjectEvent *trainerObj); +static bool8 RevealHiddenTrainer(u8 taskId, struct Task *task, struct ObjectEvent *trainerObj); +static bool8 PopOutOfAshHiddenTrainer(u8 taskId, struct Task *task, struct ObjectEvent *trainerObj); +static bool8 JumpInPlaceHiddenTrainer(u8 taskId, struct Task *task, struct ObjectEvent *trainerObj); +static bool8 WaitRevealHiddenTrainer(u8 taskId, struct Task *task, struct ObjectEvent *trainerObj); static void SpriteCB_TrainerIcons(struct Sprite *sprite); @@ -62,7 +62,7 @@ static const u8 sEmotion_ExclamationMarkGfx[] = INCBIN_U8("graphics/misc/emotion static const u8 sEmotion_QuestionMarkGfx[] = INCBIN_U8("graphics/misc/emotion_question.4bpp"); static const u8 sEmotion_HeartGfx[] = INCBIN_U8("graphics/misc/emotion_heart.4bpp"); -static u8 (*const sDirectionalApproachDistanceFuncs[])(struct EventObject *trainerObj, s16 range, s16 x, s16 y) = +static u8 (*const sDirectionalApproachDistanceFuncs[])(struct ObjectEvent *trainerObj, s16 range, s16 x, s16 y) = { GetTrainerApproachDistanceSouth, GetTrainerApproachDistanceNorth, @@ -70,7 +70,7 @@ static u8 (*const sDirectionalApproachDistanceFuncs[])(struct EventObject *train GetTrainerApproachDistanceEast, }; -static bool8 (*const sTrainerSeeFuncList[])(u8 taskId, struct Task *task, struct EventObject *trainerObj) = +static bool8 (*const sTrainerSeeFuncList[])(u8 taskId, struct Task *task, struct ObjectEvent *trainerObj) = { sub_80B4178, TrainerExclamationMark, @@ -86,7 +86,7 @@ static bool8 (*const sTrainerSeeFuncList[])(u8 taskId, struct Task *task, struct WaitRevealHiddenTrainer, }; -static bool8 (*const sTrainerSeeFuncList2[])(u8 taskId, struct Task *task, struct EventObject *trainerObj) = +static bool8 (*const sTrainerSeeFuncList2[])(u8 taskId, struct Task *task, struct ObjectEvent *trainerObj) = { RevealHiddenTrainer, PopOutOfAshHiddenTrainer, @@ -179,13 +179,13 @@ bool8 CheckForTrainersWantingBattle(void) gNoOfApproachingTrainers = 0; gApproachingTrainerId = 0; - for (i = 0; i < EVENT_OBJECTS_COUNT; i++) + for (i = 0; i < OBJECT_EVENTS_COUNT; i++) { u8 retVal; - if (!gEventObjects[i].active) + if (!gObjectEvents[i].active) continue; - if (gEventObjects[i].trainerType != 1 && gEventObjects[i].trainerType != 3) + if (gObjectEvents[i].trainerType != 1 && gObjectEvents[i].trainerType != 3) continue; retVal = CheckTrainer(i); @@ -204,7 +204,7 @@ bool8 CheckForTrainersWantingBattle(void) if (gNoOfApproachingTrainers == 1) { ResetTrainerOpponentIds(); - ConfigureAndSetUpOneTrainerBattle(gApproachingTrainers[gNoOfApproachingTrainers - 1].eventObjectId, + ConfigureAndSetUpOneTrainerBattle(gApproachingTrainers[gNoOfApproachingTrainers - 1].objectEventId, gApproachingTrainers[gNoOfApproachingTrainers - 1].trainerScriptPtr); gTrainerApproachedPlayer = TRUE; return TRUE; @@ -214,7 +214,7 @@ bool8 CheckForTrainersWantingBattle(void) ResetTrainerOpponentIds(); for (i = 0; i < gNoOfApproachingTrainers; i++, gApproachingTrainerId++) { - ConfigureTwoTrainersBattle(gApproachingTrainers[i].eventObjectId, + ConfigureTwoTrainersBattle(gApproachingTrainers[i].objectEventId, gApproachingTrainers[i].trainerScriptPtr); } SetUpTwoTrainersBattle(); @@ -229,7 +229,7 @@ bool8 CheckForTrainersWantingBattle(void) } } -static u8 CheckTrainer(u8 eventObjectId) +static u8 CheckTrainer(u8 objectEventId) { const u8 *scriptPtr; u8 ret = 1; @@ -238,16 +238,16 @@ static u8 CheckTrainer(u8 eventObjectId) if (InTrainerHill() == TRUE) scriptPtr = GetTrainerHillTrainerScript(); else - scriptPtr = GetEventObjectScriptPointerByEventObjectId(eventObjectId); + scriptPtr = GetObjectEventScriptPointerByObjectEventId(objectEventId); if (InBattlePyramid()) { - if (GetBattlePyramidTrainerFlag(eventObjectId)) + if (GetBattlePyramidTrainerFlag(objectEventId)) return 0; } else if (InTrainerHill() == TRUE) { - if (GetHillTrainerFlag(eventObjectId)) + if (GetHillTrainerFlag(objectEventId)) return 0; } else @@ -256,7 +256,7 @@ static u8 CheckTrainer(u8 eventObjectId) return 0; } - approachDistance = GetTrainerApproachDistance(&gEventObjects[eventObjectId]); + approachDistance = GetTrainerApproachDistance(&gObjectEvents[objectEventId]); if (approachDistance != 0) { @@ -270,10 +270,10 @@ static u8 CheckTrainer(u8 eventObjectId) ret = 2; } - gApproachingTrainers[gNoOfApproachingTrainers].eventObjectId = eventObjectId; + gApproachingTrainers[gNoOfApproachingTrainers].objectEventId = objectEventId; gApproachingTrainers[gNoOfApproachingTrainers].trainerScriptPtr = scriptPtr; gApproachingTrainers[gNoOfApproachingTrainers].radius = approachDistance; - TrainerApproachPlayer(&gEventObjects[eventObjectId], approachDistance - 1); + TrainerApproachPlayer(&gObjectEvents[objectEventId], approachDistance - 1); gNoOfApproachingTrainers++; return ret; @@ -282,7 +282,7 @@ static u8 CheckTrainer(u8 eventObjectId) return 0; } -static u8 GetTrainerApproachDistance(struct EventObject *trainerObj) +static u8 GetTrainerApproachDistance(struct ObjectEvent *trainerObj) { s16 x, y; u8 i; @@ -308,7 +308,7 @@ static u8 GetTrainerApproachDistance(struct EventObject *trainerObj) } // Returns how far south the player is from trainer. 0 if out of trainer's sight. -static u8 GetTrainerApproachDistanceSouth(struct EventObject *trainerObj, s16 range, s16 x, s16 y) +static u8 GetTrainerApproachDistanceSouth(struct ObjectEvent *trainerObj, s16 range, s16 x, s16 y) { if (trainerObj->currentCoords.x == x && y > trainerObj->currentCoords.y @@ -319,7 +319,7 @@ static u8 GetTrainerApproachDistanceSouth(struct EventObject *trainerObj, s16 ra } // Returns how far north the player is from trainer. 0 if out of trainer's sight. -static u8 GetTrainerApproachDistanceNorth(struct EventObject *trainerObj, s16 range, s16 x, s16 y) +static u8 GetTrainerApproachDistanceNorth(struct ObjectEvent *trainerObj, s16 range, s16 x, s16 y) { if (trainerObj->currentCoords.x == x && y < trainerObj->currentCoords.y @@ -330,7 +330,7 @@ static u8 GetTrainerApproachDistanceNorth(struct EventObject *trainerObj, s16 ra } // Returns how far west the player is from trainer. 0 if out of trainer's sight. -static u8 GetTrainerApproachDistanceWest(struct EventObject *trainerObj, s16 range, s16 x, s16 y) +static u8 GetTrainerApproachDistanceWest(struct ObjectEvent *trainerObj, s16 range, s16 x, s16 y) { if (trainerObj->currentCoords.y == y && x < trainerObj->currentCoords.x @@ -341,7 +341,7 @@ static u8 GetTrainerApproachDistanceWest(struct EventObject *trainerObj, s16 ran } // Returns how far east the player is from trainer. 0 if out of trainer's sight. -static u8 GetTrainerApproachDistanceEast(struct EventObject *trainerObj, s16 range, s16 x, s16 y) +static u8 GetTrainerApproachDistanceEast(struct ObjectEvent *trainerObj, s16 range, s16 x, s16 y) { if (trainerObj->currentCoords.y == y && x > trainerObj->currentCoords.x @@ -353,7 +353,7 @@ static u8 GetTrainerApproachDistanceEast(struct EventObject *trainerObj, s16 ran #define COLLISION_MASK (~1) -static u8 CheckPathBetweenTrainerAndPlayer(struct EventObject *trainerObj, u8 approachDistance, u8 direction) +static u8 CheckPathBetweenTrainerAndPlayer(struct ObjectEvent *trainerObj, u8 approachDistance, u8 direction) { s16 x, y; u8 unk19_temp; @@ -394,16 +394,16 @@ static u8 CheckPathBetweenTrainerAndPlayer(struct EventObject *trainerObj, u8 ap #define tFuncId data[0] #define tTrainerRange data[3] #define tOutOfAshSpriteId data[4] -#define tTrainerEventObjectId data[7] +#define tTrainerObjectEventId data[7] -static void TrainerApproachPlayer(struct EventObject *trainerObj, u8 range) +static void TrainerApproachPlayer(struct ObjectEvent *trainerObj, u8 range) { struct Task *task; gApproachingTrainers[gNoOfApproachingTrainers].taskId = CreateTask(Task_RunTrainerSeeFuncList, 0x50); task = &gTasks[gApproachingTrainers[gNoOfApproachingTrainers].taskId]; task->tTrainerRange = range; - task->tTrainerEventObjectId = gApproachingTrainers[gNoOfApproachingTrainers].eventObjectId; + task->tTrainerObjectEventId = gApproachingTrainers[gNoOfApproachingTrainers].objectEventId; } static void sub_80B40C8(TaskFunc followupFunc) @@ -425,7 +425,7 @@ static void sub_80B40C8(TaskFunc followupFunc) static void Task_RunTrainerSeeFuncList(u8 taskId) { struct Task *task = &gTasks[taskId]; - struct EventObject *trainerObj = &gEventObjects[task->tTrainerEventObjectId]; + struct ObjectEvent *trainerObj = &gObjectEvents[task->tTrainerObjectEventId]; if (!trainerObj->active) { @@ -437,24 +437,24 @@ static void Task_RunTrainerSeeFuncList(u8 taskId) } } -static bool8 sub_80B4178(u8 taskId, struct Task *task, struct EventObject *trainerObj) +static bool8 sub_80B4178(u8 taskId, struct Task *task, struct ObjectEvent *trainerObj) { return FALSE; } -static bool8 TrainerExclamationMark(u8 taskId, struct Task *task, struct EventObject *trainerObj) +static bool8 TrainerExclamationMark(u8 taskId, struct Task *task, struct ObjectEvent *trainerObj) { u8 direction; - EventObjectGetLocalIdAndMap(trainerObj, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]); + ObjectEventGetLocalIdAndMap(trainerObj, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]); FieldEffectStart(FLDEFF_EXCLAMATION_MARK_ICON); direction = GetFaceDirectionMovementAction(trainerObj->facingDirection); - EventObjectSetHeldMovement(trainerObj, direction); + ObjectEventSetHeldMovement(trainerObj, direction); task->tFuncId++; return TRUE; } -static bool8 WaitTrainerExclamationMark(u8 taskId, struct Task *task, struct EventObject *trainerObj) +static bool8 WaitTrainerExclamationMark(u8 taskId, struct Task *task, struct ObjectEvent *trainerObj) { if (FieldEffectActiveListContains(FLDEFF_EXCLAMATION_MARK_ICON)) { @@ -471,88 +471,88 @@ static bool8 WaitTrainerExclamationMark(u8 taskId, struct Task *task, struct Eve } } -static bool8 TrainerMoveToPlayer(u8 taskId, struct Task *task, struct EventObject *trainerObj) +static bool8 TrainerMoveToPlayer(u8 taskId, struct Task *task, struct ObjectEvent *trainerObj) { - if (!EventObjectIsMovementOverridden(trainerObj) || EventObjectClearHeldMovementIfFinished(trainerObj)) + if (!ObjectEventIsMovementOverridden(trainerObj) || ObjectEventClearHeldMovementIfFinished(trainerObj)) { if (task->tTrainerRange) { - EventObjectSetHeldMovement(trainerObj, GetWalkNormalMovementAction(trainerObj->facingDirection)); + ObjectEventSetHeldMovement(trainerObj, GetWalkNormalMovementAction(trainerObj->facingDirection)); task->tTrainerRange--; } else { - EventObjectSetHeldMovement(trainerObj, MOVEMENT_ACTION_FACE_PLAYER); + ObjectEventSetHeldMovement(trainerObj, MOVEMENT_ACTION_FACE_PLAYER); task->tFuncId++; } } return FALSE; } -static bool8 PlayerFaceApproachingTrainer(u8 taskId, struct Task *task, struct EventObject *trainerObj) +static bool8 PlayerFaceApproachingTrainer(u8 taskId, struct Task *task, struct ObjectEvent *trainerObj) { - struct EventObject *playerObj; + struct ObjectEvent *playerObj; - if (EventObjectIsMovementOverridden(trainerObj) && !EventObjectClearHeldMovementIfFinished(trainerObj)) + if (ObjectEventIsMovementOverridden(trainerObj) && !ObjectEventClearHeldMovementIfFinished(trainerObj)) return FALSE; SetTrainerMovementType(trainerObj, GetTrainerFacingDirectionMovementType(trainerObj->facingDirection)); - TryOverrideTemplateCoordsForEventObject(trainerObj, GetTrainerFacingDirectionMovementType(trainerObj->facingDirection)); - OverrideTemplateCoordsForEventObject(trainerObj); + TryOverrideTemplateCoordsForObjectEvent(trainerObj, GetTrainerFacingDirectionMovementType(trainerObj->facingDirection)); + OverrideTemplateCoordsForObjectEvent(trainerObj); - playerObj = &gEventObjects[gPlayerAvatar.eventObjectId]; - if (EventObjectIsMovementOverridden(playerObj) && !EventObjectClearHeldMovementIfFinished(playerObj)) + playerObj = &gObjectEvents[gPlayerAvatar.objectEventId]; + if (ObjectEventIsMovementOverridden(playerObj) && !ObjectEventClearHeldMovementIfFinished(playerObj)) return FALSE; sub_808BCE8(); - EventObjectSetHeldMovement(&gEventObjects[gPlayerAvatar.eventObjectId], GetFaceDirectionMovementAction(GetOppositeDirection(trainerObj->facingDirection))); + ObjectEventSetHeldMovement(&gObjectEvents[gPlayerAvatar.objectEventId], GetFaceDirectionMovementAction(GetOppositeDirection(trainerObj->facingDirection))); task->tFuncId++; return FALSE; } -static bool8 WaitPlayerFaceApproachingTrainer(u8 taskId, struct Task *task, struct EventObject *trainerObj) +static bool8 WaitPlayerFaceApproachingTrainer(u8 taskId, struct Task *task, struct ObjectEvent *trainerObj) { - struct EventObject *playerObj = &gEventObjects[gPlayerAvatar.eventObjectId]; + struct ObjectEvent *playerObj = &gObjectEvents[gPlayerAvatar.objectEventId]; - if (!EventObjectIsMovementOverridden(playerObj) - || EventObjectClearHeldMovementIfFinished(playerObj)) + if (!ObjectEventIsMovementOverridden(playerObj) + || ObjectEventClearHeldMovementIfFinished(playerObj)) SwitchTaskToFollowupFunc(taskId); return FALSE; } -static bool8 RevealDisguisedTrainer(u8 taskId, struct Task *task, struct EventObject *trainerObj) +static bool8 RevealDisguisedTrainer(u8 taskId, struct Task *task, struct ObjectEvent *trainerObj) { - if (!EventObjectIsMovementOverridden(trainerObj) - || EventObjectClearHeldMovementIfFinished(trainerObj)) + if (!ObjectEventIsMovementOverridden(trainerObj) + || ObjectEventClearHeldMovementIfFinished(trainerObj)) { - EventObjectSetHeldMovement(trainerObj, MOVEMENT_ACTION_REVEAL_TRAINER); + ObjectEventSetHeldMovement(trainerObj, MOVEMENT_ACTION_REVEAL_TRAINER); task->tFuncId++; } return FALSE; } -static bool8 WaitRevealDisguisedTrainer(u8 taskId, struct Task *task, struct EventObject *trainerObj) +static bool8 WaitRevealDisguisedTrainer(u8 taskId, struct Task *task, struct ObjectEvent *trainerObj) { - if (EventObjectClearHeldMovementIfFinished(trainerObj)) + if (ObjectEventClearHeldMovementIfFinished(trainerObj)) task->tFuncId = 3; return FALSE; } -static bool8 RevealHiddenTrainer(u8 taskId, struct Task *task, struct EventObject *trainerObj) +static bool8 RevealHiddenTrainer(u8 taskId, struct Task *task, struct ObjectEvent *trainerObj) { - if (!EventObjectIsMovementOverridden(trainerObj) - || EventObjectClearHeldMovementIfFinished(trainerObj)) + if (!ObjectEventIsMovementOverridden(trainerObj) + || ObjectEventClearHeldMovementIfFinished(trainerObj)) { - EventObjectSetHeldMovement(trainerObj, MOVEMENT_ACTION_FACE_PLAYER); + ObjectEventSetHeldMovement(trainerObj, MOVEMENT_ACTION_FACE_PLAYER); task->tFuncId++; } return FALSE; } -static bool8 PopOutOfAshHiddenTrainer(u8 taskId, struct Task *task, struct EventObject *trainerObj) +static bool8 PopOutOfAshHiddenTrainer(u8 taskId, struct Task *task, struct ObjectEvent *trainerObj) { - if (EventObjectCheckHeldMovementStatus(trainerObj)) + if (ObjectEventCheckHeldMovementStatus(trainerObj)) { gFieldEffectArguments[0] = trainerObj->currentCoords.x; gFieldEffectArguments[1] = trainerObj->currentCoords.y; @@ -564,7 +564,7 @@ static bool8 PopOutOfAshHiddenTrainer(u8 taskId, struct Task *task, struct Event return FALSE; } -static bool8 JumpInPlaceHiddenTrainer(u8 taskId, struct Task *task, struct EventObject *trainerObj) +static bool8 JumpInPlaceHiddenTrainer(u8 taskId, struct Task *task, struct ObjectEvent *trainerObj) { struct Sprite *sprite; @@ -575,15 +575,15 @@ static bool8 JumpInPlaceHiddenTrainer(u8 taskId, struct Task *task, struct Event sprite = &gSprites[trainerObj->spriteId]; sprite->oam.priority = 2; - EventObjectClearHeldMovementIfFinished(trainerObj); - EventObjectSetHeldMovement(trainerObj, GetJumpInPlaceMovementAction(trainerObj->facingDirection)); + ObjectEventClearHeldMovementIfFinished(trainerObj); + ObjectEventSetHeldMovement(trainerObj, GetJumpInPlaceMovementAction(trainerObj->facingDirection)); task->tFuncId++; } return FALSE; } -static bool8 WaitRevealHiddenTrainer(u8 taskId, struct Task *task, struct EventObject *trainerObj) +static bool8 WaitRevealHiddenTrainer(u8 taskId, struct Task *task, struct ObjectEvent *trainerObj) { if (!FieldEffectActiveListContains(FLDEFF_POP_OUT_OF_ASH)) task->tFuncId = 3; @@ -594,34 +594,34 @@ static bool8 WaitRevealHiddenTrainer(u8 taskId, struct Task *task, struct EventO #undef tFuncId #undef tTrainerRange #undef tOutOfAshSpriteId -#undef tTrainerEventObjectId +#undef tTrainerObjectEventId static void sub_80B44C8(u8 taskId) { struct Task *task = &gTasks[taskId]; - struct EventObject *eventObj; + struct ObjectEvent *objEvent; - // another eventObj loaded into by loadword? - LoadWordFromTwoHalfwords(&task->data[1], (u32 *)&eventObj); + // another objEvent loaded into by loadword? + LoadWordFromTwoHalfwords(&task->data[1], (u32 *)&objEvent); if (!task->data[7]) { - EventObjectClearHeldMovement(eventObj); + ObjectEventClearHeldMovement(objEvent); task->data[7]++; } - sTrainerSeeFuncList2[task->data[0]](taskId, task, eventObj); + sTrainerSeeFuncList2[task->data[0]](taskId, task, objEvent); if (task->data[0] == 3 && !FieldEffectActiveListContains(FLDEFF_POP_OUT_OF_ASH)) { - SetTrainerMovementType(eventObj, GetTrainerFacingDirectionMovementType(eventObj->facingDirection)); - TryOverrideTemplateCoordsForEventObject(eventObj, GetTrainerFacingDirectionMovementType(eventObj->facingDirection)); + SetTrainerMovementType(objEvent, GetTrainerFacingDirectionMovementType(objEvent->facingDirection)); + TryOverrideTemplateCoordsForObjectEvent(objEvent, GetTrainerFacingDirectionMovementType(objEvent->facingDirection)); DestroyTask(taskId); } else { - eventObj->heldMovementFinished = 0; + objEvent->heldMovementFinished = 0; } } -void sub_80B4578(struct EventObject *var) +void sub_80B4578(struct ObjectEvent *var) { StoreWordInTwoHalfwords(&gTasks[CreateTask(sub_80B44C8, 0)].data[1], (u32)var); } @@ -645,8 +645,8 @@ void TryPrepareSecondApproachingTrainer(void) { gApproachingTrainerId++; gSpecialVar_Result = TRUE; - UnfreezeEventObjects(); - FreezeEventObjectsExceptOne(gApproachingTrainers[1].eventObjectId); + UnfreezeObjectEvents(); + FreezeObjectEventsExceptOne(gApproachingTrainers[1].objectEventId); } else { @@ -718,21 +718,21 @@ static void SetIconSpriteData(struct Sprite *sprite, u16 fldEffId, u8 spriteAnim static void SpriteCB_TrainerIcons(struct Sprite *sprite) { - u8 eventObjId; + u8 objEventId; - if (TryGetEventObjectIdByLocalIdAndMap(sprite->sLocalId, sprite->sMapNum, sprite->sMapGroup, &eventObjId) + if (TryGetObjectEventIdByLocalIdAndMap(sprite->sLocalId, sprite->sMapNum, sprite->sMapGroup, &objEventId) || sprite->animEnded) { FieldEffectStop(sprite, sprite->sFldEffId); } else { - struct Sprite *eventObjSprite = &gSprites[gEventObjects[eventObjId].spriteId]; + struct Sprite *objEventSprite = &gSprites[gObjectEvents[objEventId].spriteId]; sprite->sData4 += sprite->sData3; - sprite->pos1.x = eventObjSprite->pos1.x; - sprite->pos1.y = eventObjSprite->pos1.y - 16; - sprite->pos2.x = eventObjSprite->pos2.x; - sprite->pos2.y = eventObjSprite->pos2.y + sprite->sData4; + sprite->pos1.x = objEventSprite->pos1.x; + sprite->pos1.y = objEventSprite->pos1.y - 16; + sprite->pos2.x = objEventSprite->pos2.x; + sprite->pos2.y = objEventSprite->pos2.y + sprite->sData4; if (sprite->sData4) sprite->sData3++; else @@ -747,42 +747,42 @@ static void SpriteCB_TrainerIcons(struct Sprite *sprite) #undef sData4 #undef sFldEffId -u8 GetCurrentApproachingTrainerEventObjectId(void) +u8 GetCurrentApproachingTrainerObjectEventId(void) { if (gApproachingTrainerId == 0) - return gApproachingTrainers[0].eventObjectId; + return gApproachingTrainers[0].objectEventId; else - return gApproachingTrainers[1].eventObjectId; + return gApproachingTrainers[1].objectEventId; } -u8 GetChosenApproachingTrainerEventObjectId(u8 arrayId) +u8 GetChosenApproachingTrainerObjectEventId(u8 arrayId) { if (arrayId >= ARRAY_COUNT(gApproachingTrainers)) return 0; else if (arrayId == 0) - return gApproachingTrainers[0].eventObjectId; + return gApproachingTrainers[0].objectEventId; else - return gApproachingTrainers[1].eventObjectId; + return gApproachingTrainers[1].objectEventId; } void PlayerFaceTrainerAfterBattle(void) { - struct EventObject *eventObj; + struct ObjectEvent *objEvent; if (gTrainerApproachedPlayer == TRUE) { - eventObj = &gEventObjects[gApproachingTrainers[gWhichTrainerToFaceAfterBattle].eventObjectId]; - gPostBattleMovementScript[0] = GetFaceDirectionMovementAction(GetOppositeDirection(eventObj->facingDirection)); + objEvent = &gObjectEvents[gApproachingTrainers[gWhichTrainerToFaceAfterBattle].objectEventId]; + gPostBattleMovementScript[0] = GetFaceDirectionMovementAction(GetOppositeDirection(objEvent->facingDirection)); gPostBattleMovementScript[1] = MOVEMENT_ACTION_STEP_END; - ScriptMovement_StartObjectMovementScript(EVENT_OBJ_ID_PLAYER, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, gPostBattleMovementScript); + ScriptMovement_StartObjectMovementScript(OBJ_EVENT_ID_PLAYER, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, gPostBattleMovementScript); } else { - eventObj = &gEventObjects[gPlayerAvatar.eventObjectId]; - gPostBattleMovementScript[0] = GetFaceDirectionMovementAction(eventObj->facingDirection); + objEvent = &gObjectEvents[gPlayerAvatar.objectEventId]; + gPostBattleMovementScript[0] = GetFaceDirectionMovementAction(objEvent->facingDirection); gPostBattleMovementScript[1] = MOVEMENT_ACTION_STEP_END; - ScriptMovement_StartObjectMovementScript(EVENT_OBJ_ID_PLAYER, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, gPostBattleMovementScript); + ScriptMovement_StartObjectMovementScript(OBJ_EVENT_ID_PLAYER, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, gPostBattleMovementScript); } - SetMovingNpcId(EVENT_OBJ_ID_PLAYER); + SetMovingNpcId(OBJ_EVENT_ID_PLAYER); } @@ -47,13 +47,15 @@ // Static type declarations +#define LAST_TVSHOW_IDX (TV_SHOWS_COUNT - 1) + #define rbernoulli(num, den) TV_BernoulliTrial(0xFFFF * (num) / (den)) // Static RAM declarations s8 sCurTVShowSlot; u16 sTV_SecretBaseVisitMovesTemp[8]; -u8 sTV_DecorationsBuffer[16]; +u8 sTV_DecorationsBuffer[DECOR_MAX_SECRET_BASE]; struct { u8 level; u16 species; @@ -131,8 +133,8 @@ void PutPokemonTodayFailedOnTheAir(void); static void sub_80ED718(void); static void sub_80EED88(void); void TV_SortPurchasesByQuantity(void); -static void sub_80ED8B4(u16 days); -void UpdateMassOutbreakTimeLeft(u16 days); +static void UpdateMassOutbreakTimeLeft(u16 days); +static void TryEndMassOutbreak(u16 days); static void sub_80EF120(u16 days); static void sub_80EDA48(u16 days); static void sub_80EEB98(u16 days); @@ -191,29 +193,34 @@ static const struct { u8 location; } sPokeOutbreakSpeciesList[] = { { - SPECIES_SEEDOT, - {MOVE_BIDE, MOVE_HARDEN, MOVE_LEECH_SEED}, - 3, 0x11 // Route 102 + .species = SPECIES_SEEDOT, + .moves = {MOVE_BIDE, MOVE_HARDEN, MOVE_LEECH_SEED}, + .level = 3, + .location = MAP_NUM(ROUTE102) }, { - SPECIES_NUZLEAF, - {MOVE_HARDEN, MOVE_GROWTH, MOVE_NATURE_POWER, MOVE_LEECH_SEED}, - 15, 0x1D // Route 114 + .species = SPECIES_NUZLEAF, + .moves = {MOVE_HARDEN, MOVE_GROWTH, MOVE_NATURE_POWER, MOVE_LEECH_SEED}, + .level = 15, + .location = MAP_NUM(ROUTE114), }, { - SPECIES_SEEDOT, - {MOVE_HARDEN, MOVE_GROWTH, MOVE_NATURE_POWER, MOVE_LEECH_SEED}, - 13, 0x20 // Route 117 + .species = SPECIES_SEEDOT, + .moves = {MOVE_HARDEN, MOVE_GROWTH, MOVE_NATURE_POWER, MOVE_LEECH_SEED}, + .level = 13, + .location = MAP_NUM(ROUTE117), }, { - SPECIES_SEEDOT, - {MOVE_GIGA_DRAIN, MOVE_FRUSTRATION, MOVE_SOLAR_BEAM, MOVE_LEECH_SEED}, - 25, 0x23 // Route 110 + .species = SPECIES_SEEDOT, + .moves = {MOVE_GIGA_DRAIN, MOVE_FRUSTRATION, MOVE_SOLAR_BEAM, MOVE_LEECH_SEED}, + .level = 25, + .location = MAP_NUM(ROUTE120), }, { - SPECIES_SKITTY, - {MOVE_GROWL, MOVE_TACKLE, MOVE_TAIL_WHIP, MOVE_ATTRACT}, - 8, 0x1F // Route 116 + .species = SPECIES_SKITTY, + .moves = {MOVE_GROWL, MOVE_TACKLE, MOVE_TAIL_WHIP, MOVE_ATTRACT}, + .level = 8, + .location = MAP_NUM(ROUTE116), } }; @@ -1039,7 +1046,7 @@ u8 GabbyAndTyGetLastBattleTrivia(void) return 0; } -void GabbyAndTySetScriptVarsToEventObjectLocalIds(void) +void GabbyAndTySetScriptVarsToObjectEventLocalIds(void) { switch (GabbyAndTyGetBattleNum()) { @@ -1176,10 +1183,10 @@ void UpdateWorldOfMastersAndPutItOnTheAir(void) { TVShow *show; - show = &gSaveBlock1Ptr->tvShows[24]; + show = &gSaveBlock1Ptr->tvShows[LAST_TVSHOW_IDX]; if (show->worldOfMasters.kind != TVSHOW_WORLD_OF_MASTERS) { - DeleteTVShowInArrayByIdx(gSaveBlock1Ptr->tvShows, 24); + DeleteTVShowInArrayByIdx(gSaveBlock1Ptr->tvShows, LAST_TVSHOW_IDX); show->worldOfMasters.steps = GetGameStat(GAME_STAT_STEPS); show->worldOfMasters.kind = TVSHOW_WORLD_OF_MASTERS; } @@ -1255,7 +1262,7 @@ static void InterviewAfter_ContestLiveUpdates(void) TVShow *show; TVShow *show2; - show = &gSaveBlock1Ptr->tvShows[24]; + show = &gSaveBlock1Ptr->tvShows[LAST_TVSHOW_IDX]; if (show->contestLiveUpdates.kind == TVSHOW_CONTEST_LIVE_UPDATES) { show2 = &gSaveBlock1Ptr->tvShows[sCurTVShowSlot]; @@ -1274,7 +1281,7 @@ static void InterviewAfter_ContestLiveUpdates(void) tv_store_id_2x(show2); show2->contestLiveUpdates.language = gGameLanguage; show2->contestLiveUpdates.winningTrainerLanguage = show->contestLiveUpdates.winningTrainerLanguage; - DeleteTVShowInArrayByIdx(gSaveBlock1Ptr->tvShows, 24); + DeleteTVShowInArrayByIdx(gSaveBlock1Ptr->tvShows, LAST_TVSHOW_IDX); } } @@ -1396,11 +1403,11 @@ void ContestLiveUpdates_BeforeInterview_1(u8 a0) { TVShow *show; - DeleteTVShowInArrayByIdx(gSaveBlock1Ptr->tvShows, 24); + DeleteTVShowInArrayByIdx(gSaveBlock1Ptr->tvShows, LAST_TVSHOW_IDX); sCurTVShowSlot = FindEmptyTVSlotWithinFirstFiveShowsOfArray(gSaveBlock1Ptr->tvShows); if (sCurTVShowSlot != -1) { - show = &gSaveBlock1Ptr->tvShows[24]; + show = &gSaveBlock1Ptr->tvShows[LAST_TVSHOW_IDX]; show->contestLiveUpdates.round1Rank = a0; show->contestLiveUpdates.kind = TVSHOW_CONTEST_LIVE_UPDATES; } @@ -1410,7 +1417,7 @@ void ContestLiveUpdates_BeforeInterview_2(u8 a0) { TVShow *show; - show = &gSaveBlock1Ptr->tvShows[24]; + show = &gSaveBlock1Ptr->tvShows[LAST_TVSHOW_IDX]; sCurTVShowSlot = FindEmptyTVSlotWithinFirstFiveShowsOfArray(gSaveBlock1Ptr->tvShows); if (sCurTVShowSlot != -1) { @@ -1422,7 +1429,7 @@ void ContestLiveUpdates_BeforeInterview_3(u8 a0) { TVShow *show; - show = &gSaveBlock1Ptr->tvShows[24]; + show = &gSaveBlock1Ptr->tvShows[LAST_TVSHOW_IDX]; sCurTVShowSlot = FindEmptyTVSlotWithinFirstFiveShowsOfArray(gSaveBlock1Ptr->tvShows); if (sCurTVShowSlot != -1) { @@ -1434,7 +1441,7 @@ void ContestLiveUpdates_BeforeInterview_4(u16 a0) { TVShow *show; - show = &gSaveBlock1Ptr->tvShows[24]; + show = &gSaveBlock1Ptr->tvShows[LAST_TVSHOW_IDX]; sCurTVShowSlot = FindEmptyTVSlotWithinFirstFiveShowsOfArray(gSaveBlock1Ptr->tvShows); if (sCurTVShowSlot != -1) { @@ -1446,7 +1453,7 @@ void ContestLiveUpdates_BeforeInterview_5(u8 a0, u8 a1) { TVShow *show; - show = &gSaveBlock1Ptr->tvShows[24]; + show = &gSaveBlock1Ptr->tvShows[LAST_TVSHOW_IDX]; sCurTVShowSlot = FindEmptyTVSlotWithinFirstFiveShowsOfArray(gSaveBlock1Ptr->tvShows); if (sCurTVShowSlot != -1) { @@ -1474,7 +1481,7 @@ static void InterviewAfter_BravoTrainerPokemonProfile(void) TVShow *show; TVShow *show2; - show = &gSaveBlock1Ptr->tvShows[24]; + show = &gSaveBlock1Ptr->tvShows[LAST_TVSHOW_IDX]; if (show->bravoTrainer.kind == TVSHOW_BRAVO_TRAINER_POKEMON_PROFILE) { show2 = &gSaveBlock1Ptr->tvShows[sCurTVShowSlot]; @@ -1498,7 +1505,7 @@ static void InterviewAfter_BravoTrainerPokemonProfile(void) { show2->bravoTrainer.pokemonNameLanguage = show->bravoTrainer.pokemonNameLanguage; } - DeleteTVShowInArrayByIdx(gSaveBlock1Ptr->tvShows, 24); + DeleteTVShowInArrayByIdx(gSaveBlock1Ptr->tvShows, LAST_TVSHOW_IDX); } } @@ -1506,12 +1513,12 @@ void BravoTrainerPokemonProfile_BeforeInterview1(u16 a0) { TVShow *show; - show = &gSaveBlock1Ptr->tvShows[24]; + show = &gSaveBlock1Ptr->tvShows[LAST_TVSHOW_IDX]; InterviewBefore_BravoTrainerPkmnProfile(); sCurTVShowSlot = FindEmptyTVSlotWithinFirstFiveShowsOfArray(gSaveBlock1Ptr->tvShows); if (sCurTVShowSlot != -1) { - DeleteTVShowInArrayByIdx(gSaveBlock1Ptr->tvShows, 24); + DeleteTVShowInArrayByIdx(gSaveBlock1Ptr->tvShows, LAST_TVSHOW_IDX); show->bravoTrainer.move = a0; show->bravoTrainer.kind = TVSHOW_BRAVO_TRAINER_POKEMON_PROFILE; } @@ -1521,7 +1528,7 @@ void BravoTrainerPokemonProfile_BeforeInterview2(u8 contestStandingPlace) { TVShow *show; - show = &gSaveBlock1Ptr->tvShows[24]; + show = &gSaveBlock1Ptr->tvShows[LAST_TVSHOW_IDX]; sCurTVShowSlot = FindEmptyTVSlotWithinFirstFiveShowsOfArray(gSaveBlock1Ptr->tvShows); if (sCurTVShowSlot != -1) { @@ -1734,7 +1741,7 @@ static void sub_80ED718(void) if (FlagGet(FLAG_SYS_GAME_CLEAR)) { - for (i = 0; i < 24; i ++) + for (i = 0; i < LAST_TVSHOW_IDX; i ++) { if (gSaveBlock1Ptr->tvShows[i].common.kind == TVSHOW_MASS_OUTBREAK) { @@ -1791,49 +1798,42 @@ void EndMassOutbreak(void) void UpdateTVShowsPerDay(u16 days) { - sub_80ED8B4(days); UpdateMassOutbreakTimeLeft(days); + TryEndMassOutbreak(days); sub_80EF120(days); sub_80EDA48(days); sub_80EEB98(days); } -static void sub_80ED8B4(u16 days) +static void UpdateMassOutbreakTimeLeft(u16 days) { u8 i; TVShow *show; if (gSaveBlock1Ptr->outbreakPokemonSpecies == SPECIES_NONE) { - for (i = 0; i < 24; i ++) + for (i = 0; i < LAST_TVSHOW_IDX; i ++) { if (gSaveBlock1Ptr->tvShows[i].massOutbreak.kind == TVSHOW_MASS_OUTBREAK && gSaveBlock1Ptr->tvShows[i].massOutbreak.active == TRUE) { show = &gSaveBlock1Ptr->tvShows[i]; if (show->massOutbreak.daysLeft < days) - { show->massOutbreak.daysLeft = 0; - } else - { show->massOutbreak.daysLeft -= days; - } + break; } } } } -void UpdateMassOutbreakTimeLeft(u16 days) +static void TryEndMassOutbreak(u16 days) { if (gSaveBlock1Ptr->outbreakDaysLeft <= days) - { EndMassOutbreak(); - } else - { gSaveBlock1Ptr->outbreakDaysLeft -= days; - } } void sub_80ED950(bool8 flag) @@ -1892,14 +1892,14 @@ static void sub_80EDA48(u16 days) { TVShow *show; - show = &gSaveBlock1Ptr->tvShows[24]; + show = &gSaveBlock1Ptr->tvShows[LAST_TVSHOW_IDX]; if (show->worldOfMasters.kind == TVSHOW_WORLD_OF_MASTERS) { if (show->worldOfMasters.numPokeCaught >= 20) { sub_80EDA80(); } - DeleteTVShowInArrayByIdx(gSaveBlock1Ptr->tvShows, 24); + DeleteTVShowInArrayByIdx(gSaveBlock1Ptr->tvShows, LAST_TVSHOW_IDX); } } @@ -1908,7 +1908,7 @@ void sub_80EDA80(void) TVShow *show; TVShow *show2; - show = &gSaveBlock1Ptr->tvShows[24]; + show = &gSaveBlock1Ptr->tvShows[LAST_TVSHOW_IDX]; if (!rbernoulli(1, 1)) { sCurTVShowSlot = FindEmptyTVSlotBeyondFirstFiveShowsOfArray(gSaveBlock1Ptr->tvShows); @@ -1925,7 +1925,7 @@ void sub_80EDA80(void) StringCopy(show2->worldOfMasters.playerName, gSaveBlock2Ptr->playerName); tv_store_id_3x(show2); show2->worldOfMasters.language = gGameLanguage; - DeleteTVShowInArrayByIdx(gSaveBlock1Ptr->tvShows, 24); + DeleteTVShowInArrayByIdx(gSaveBlock1Ptr->tvShows, LAST_TVSHOW_IDX); } } } @@ -1943,7 +1943,7 @@ void sub_80EDB44(void) show = &gSaveBlock1Ptr->tvShows[sCurTVShowSlot]; show->rivalTrainer.kind = TVSHOW_TODAYS_RIVAL_TRAINER; show->rivalTrainer.active = FALSE; - for (i = FLAG_BADGE01_GET, nBadges = 0; i < FLAG_BADGE01_GET + 8; i ++) + for (i = FLAG_BADGE01_GET, nBadges = 0; i < FLAG_BADGE01_GET + NUM_BADGES; i ++) { if (FlagGet(i)) { @@ -2093,16 +2093,16 @@ static void sub_80EDE98(TVShow *show) u8 deco; u8 x; - for (i = 0; i < 16; i ++) + for (i = 0; i < DECOR_MAX_SECRET_BASE; i ++) { sTV_DecorationsBuffer[i] = 0; } - for (i = 0, n = 0; i < 16; i ++) + for (i = 0, n = 0; i < DECOR_MAX_SECRET_BASE; i ++) { deco = gSaveBlock1Ptr->secretBases[0].decorations[i]; if (deco) { - for (j = 0; j < 16; j ++) + for (j = 0; j < DECOR_MAX_SECRET_BASE; j ++) { if (sTV_DecorationsBuffer[j] == 0) { @@ -2481,7 +2481,7 @@ bool8 ShouldAirFrontierTVShow(void) { shows = gSaveBlock1Ptr->tvShows; playerId = GetPlayerIDAsU32(); - for (showIdx = 5; showIdx < 24; showIdx ++) + for (showIdx = 5; showIdx < LAST_TVSHOW_IDX; showIdx ++) { if (shows[showIdx].common.kind == TVSHOW_FRONTIER && (playerId & 0xFF) == shows[showIdx].common.trainerIdLo && ((playerId >> 8) & 0xFF) == shows[showIdx].common.trainerIdHi) { @@ -2681,7 +2681,7 @@ s8 sub_80EEE30(PokeNews *pokeNews) { s8 i; - for (i = 0; i < 16; i ++) + for (i = 0; i < POKE_NEWS_COUNT; i ++) { if (pokeNews[i].kind == 0) { @@ -2695,7 +2695,7 @@ void ClearPokemonNews(void) { u8 i; - for (i = 0; i < 16; i ++) + for (i = 0; i < POKE_NEWS_COUNT; i ++) { ClearPokemonNewsI(i); } @@ -2713,11 +2713,11 @@ static void sub_80EEEB8(void) u8 i; u8 j; - for (i = 0; i < 15; i ++) + for (i = 0; i < POKE_NEWS_COUNT - 1; i ++) { if (gSaveBlock1Ptr->pokeNews[i].kind == POKENEWS_NONE) { - for (j = i + 1; j < 16; j ++) + for (j = i + 1; j < POKE_NEWS_COUNT; j ++) { if (gSaveBlock1Ptr->pokeNews[j].kind != POKENEWS_NONE) { @@ -2734,7 +2734,7 @@ u8 FindAnyTVNewsOnTheAir(void) { u8 i; - for (i = 0; i < 16; i ++) + for (i = 0; i < POKE_NEWS_COUNT; i ++) { if (gSaveBlock1Ptr->pokeNews[i].kind != POKENEWS_NONE && gSaveBlock1Ptr->pokeNews[i].state == TRUE && gSaveBlock1Ptr->pokeNews[i].days < 3) { @@ -2828,7 +2828,7 @@ bool8 sub_80EF0E4(u8 newsKind) { return TRUE; } - for (i = 0; i < 16; i ++) + for (i = 0; i < POKE_NEWS_COUNT; i ++) { if (gSaveBlock1Ptr->pokeNews[i].kind == newsKind) { @@ -2842,7 +2842,7 @@ static void sub_80EF120(u16 days) { u8 i; - for (i = 0; i < 16; i ++) + for (i = 0; i < POKE_NEWS_COUNT; i ++) { if (gSaveBlock1Ptr->pokeNews[i].kind != POKENEWS_NONE) { @@ -2965,7 +2965,7 @@ bool8 HasMixableShowAlreadyBeenSpawnedWithPlayerID(u8 kind, bool8 flag) shows = gSaveBlock1Ptr->tvShows; playerId = GetPlayerIDAsU32(); - for (i = 5; i < 24; i ++) + for (i = 5; i < LAST_TVSHOW_IDX; i ++) { if (shows[i].common.kind == kind && (playerId & 0xFF) == shows[i].common.trainerIdLo && ((playerId >> 8) & 0xFF) == shows[i].common.trainerIdHi) { @@ -3195,11 +3195,11 @@ static void sub_80EF93C(TVShow *shows) } } } - for (i = 5; i < 24; i ++) + for (i = 5; i < LAST_TVSHOW_IDX; i ++) { if (shows[i].common.kind == TVSHOW_OFF_AIR) { - for (j = i + 1; j < 24; j ++) + for (j = i + 1; j < LAST_TVSHOW_IDX; j ++) { if (shows[j].common.kind != TVSHOW_OFF_AIR) { @@ -3279,7 +3279,7 @@ s8 FindEmptyTVSlotBeyondFirstFiveShowsOfArray(TVShow *shows) { s8 i; - for (i = 5; i < 24; i ++) + for (i = 5; i < LAST_TVSHOW_IDX; i ++) { if (shows[i].common.kind == TVSHOW_OFF_AIR) { @@ -3598,7 +3598,7 @@ void GetMomOrDadStringForTVMessage(void) void HideBattleTowerReporter(void) { VarSet(VAR_BRAVO_TRAINER_BATTLE_TOWER_ON, 0); - RemoveEventObjectByLocalIdAndMap(5, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); + RemoveObjectEventByLocalIdAndMap(5, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); FlagSet(FLAG_HIDE_BATTLE_TOWER_REPORTER); } @@ -3790,7 +3790,7 @@ static s8 sub_80F06D0(TVShow *tvShows) { u8 i; - for (i = 0; i < 24; i ++) + for (i = 0; i < LAST_TVSHOW_IDX; i ++) { if (tvShows[i].common.active == FALSE && (u8)(tvShows[i].common.kind - 1) < 60) { @@ -3806,7 +3806,7 @@ static void sub_80F0708(void) // FIXME: register allocation shenanigans u16 i; TVShow *show; - for (i = 0; i < 24; i ++) + for (i = 0; i < LAST_TVSHOW_IDX; i ++) { switch (gSaveBlock1Ptr->tvShows[i].common.kind) { @@ -4384,7 +4384,7 @@ static void sub_80F0B64(void) if (FlagGet(FLAG_SYS_GAME_CLEAR) != TRUE) { - for (i = 0; i < 24; i ++) + for (i = 0; i < LAST_TVSHOW_IDX; i ++) { if (gSaveBlock1Ptr->tvShows[i].common.kind == TVSHOW_BRAVO_TRAINER_BATTLE_TOWER_PROFILE) { @@ -4417,7 +4417,7 @@ static void sub_80F0C04(void) s8 ct; ct = 0; - for (i = 5; i < 24; i ++) + for (i = 5; i < LAST_TVSHOW_IDX; i ++) { if (gSaveBlock1Ptr->tvShows[i].common.kind == TVSHOW_OFF_AIR) { @@ -4477,7 +4477,7 @@ static void sub_80F0D60(PokeNews player1[16], PokeNews player2[16], PokeNews pla argslist[2] = &player3; argslist[3] = &player4; sTVShowNewsMixingNumPlayers = GetLinkPlayerCount(); - for (i = 0; i < 16; i ++) + for (i = 0; i < POKE_NEWS_COUNT; i ++) { for (j = 0; j < sTVShowNewsMixingNumPlayers; j ++) { @@ -4517,7 +4517,7 @@ static bool8 sub_80F0E84(PokeNews *dest, PokeNews *src, s8 slot) { return FALSE; } - for (i = 0; i < 16; i ++) + for (i = 0; i < POKE_NEWS_COUNT; i ++) { if (dest[i].kind == src->kind) { @@ -4543,7 +4543,7 @@ static void sub_80F0EEC(void) { u8 i; - for (i = 0; i < 16; i ++) + for (i = 0; i < POKE_NEWS_COUNT; i ++) { if (gSaveBlock1Ptr->pokeNews[i].kind > POKENEWS_BLENDMASTER) { @@ -4559,7 +4559,7 @@ static void sub_80F0F24(void) if (FlagGet(FLAG_SYS_GAME_CLEAR) != TRUE) { - for (i = 0; i < 16; i ++) + for (i = 0; i < POKE_NEWS_COUNT; i ++) { gSaveBlock1Ptr->pokeNews[i].state = 0; } @@ -4582,7 +4582,7 @@ static void sub_80F0F64(TVShow *show, u32 language) TVShow **r4; r4 = calloc(11, sizeof(TVShow *)); - for (i = 0; i < 24; i ++) + for (i = 0; i < LAST_TVSHOW_IDX; i ++) { switch (show[i].common.kind) { @@ -4646,7 +4646,7 @@ void sub_80F1208(TVShow *shows) TVShow *curShow; sub_80F14F8(shows); - for (curShow = shows; curShow < shows + 24; curShow ++) + for (curShow = shows; curShow < shows + LAST_TVSHOW_IDX; curShow ++) { if (curShow->bravoTrainerTower.kind == TVSHOW_BRAVO_TRAINER_BATTLE_TOWER_PROFILE) { @@ -4662,7 +4662,7 @@ static void sub_80F1254(TVShow *shows) { TVShow *curShow; - for (curShow = shows; curShow < shows + 24; curShow ++) + for (curShow = shows; curShow < shows + LAST_TVSHOW_IDX; curShow ++) { if (curShow->bravoTrainerTower.kind == TVSHOW_BRAVO_TRAINER_BATTLE_TOWER_PROFILE) { @@ -4687,7 +4687,7 @@ static void sub_80F12A4(TVShow *shows) { TVShow *curShow; - for (curShow = shows; curShow < shows + 24; curShow ++) + for (curShow = shows; curShow < shows + LAST_TVSHOW_IDX; curShow ++) { switch(curShow->common.kind) { @@ -4797,18 +4797,18 @@ void sub_80F14F8(TVShow *shows) { int i; - for (i = 0; i < 24; i ++) + for (i = 0; i < LAST_TVSHOW_IDX; i ++) { switch (shows[i].common.kind) { case TVSHOW_WORLD_OF_MASTERS: - if (shows[i].worldOfMasters.location > 0x58) + if (shows[i].worldOfMasters.location > KANTO_MAPSEC_START) { memset(&shows[i], 0, sizeof(TVShow)); } break; case TVSHOW_POKEMON_TODAY_FAILED: - if (shows[i].pokemonTodayFailed.location > 0x58) + if (shows[i].pokemonTodayFailed.location > KANTO_MAPSEC_START) { memset(&shows[i], 0, sizeof(TVShow)); } diff --git a/src/union_room.c b/src/union_room.c index 6098ce349..cd45907f5 100644 --- a/src/union_room.c +++ b/src/union_room.c @@ -10,7 +10,7 @@ #include "dynamic_placeholder_text_util.h" #include "easy_chat.h" #include "event_data.h" -#include "event_obj_lock.h" +#include "event_object_lock.h" #include "field_control_avatar.h" #include "field_player_avatar.h" #include "field_screen_effect.h" @@ -59,7 +59,7 @@ EWRAM_DATA u8 gUnknown_02022C2C = 0; EWRAM_DATA u8 gUnknown_02022C2D = 0; EWRAM_DATA union UnkUnion_Main gUnknown_02022C30 = {}; EWRAM_DATA u32 gFiller_02022C34 = 0; -EWRAM_DATA struct UnkLinkRfuStruct_02022B14Substruct gUnknown_02022C38 = {}; +EWRAM_DATA struct GFtgtGnameSub gUnknown_02022C38 = {}; EWRAM_DATA u16 gUnionRoomOfferedSpecies = 0; EWRAM_DATA u8 gUnionRoomRequestedMonType = 0; static EWRAM_DATA struct UnionRoomTrade sUnionRoomTrade = {}; @@ -106,7 +106,7 @@ void sub_801AC54(void); void sub_80149D8(void); void MG_DrawTextBorder(u8 windowId); s8 mevent_message_print_and_prompt_yes_no(u8 *textState, u8 *arg1, u8 arg2, const u8 *str); -bool32 sub_8016F1C(struct UnkLinkRfuStruct_02022B14 *arg0, s16 arg1); +bool32 sub_8016F1C(struct GFtgtGname *arg0, s16 arg1); u8 sub_8016DF0(struct UnkStruct_Main4 *arg0, struct UnkStruct_Main4 *arg1, u32 arg2); void sub_8019F2C(void); static bool32 RegisterTradeMonAndGetIsEgg(u32 monId, struct UnionRoomTrade *trade); @@ -147,11 +147,6 @@ void nullsub_14(u8 windowId, s32 itemId, u8 y); #include "data/union_room.h" // code -void nullsub_89(u8 taskId) -{ - -} - void sub_80124EC(u8 windowId, u8 arg1, u8 stringId) { FillWindowPixelBuffer(windowId, PIXEL_FILL(1)); @@ -875,9 +870,9 @@ void sub_80134E8(u8 taskId) { // this unused variable along with the assignment is needed to match u32 unusedVar; - unusedVar = data->field_0->arr[id].unk.field_0.unk_0a_0; + unusedVar = data->field_0->arr[id].unk.field_0.activity; - if (data->field_0->arr[id].field_1A_0 == 1 && !data->field_0->arr[id].unk.field_0.unk_0a_7) + if (data->field_0->arr[id].field_1A_0 == 1 && !data->field_0->arr[id].unk.field_0.started) { u32 var = sub_8013B8C(data, id); if (var == 0) @@ -919,7 +914,7 @@ void sub_80134E8(u8 taskId) case 6: if (gReceivedRemoteLinkPlayers != 0) { - gUnknown_02022C2C = data->field_0->arr[data->field_F].unk.field_0.unk_0a_0; + gUnknown_02022C2C = data->field_0->arr[data->field_F].unk.field_0.activity; sub_8011A64(0, 0); switch (gUnknown_02022C2C) { @@ -1078,7 +1073,7 @@ u32 sub_8013B8C(struct UnkStruct_Group *arg0, s32 id) { struct UnkStruct_x20 *structPtr = &arg0->field_0->arr[id]; - if (gUnknown_02022C2C == 4 && structPtr->unk.field_0.unk_00.unk_01_2 != 3) + if (gUnknown_02022C2C == 4 && structPtr->unk.field_0.unk_00.version != VERSION_EMERALD) { if (!(gSaveBlock2Ptr->specialSaveWarpFlags & CHAMPION_SAVEWARP)) return 1; @@ -1187,7 +1182,7 @@ u8 sub_8013DBC(struct UnkStruct_Group *data, u32 id) { if (data->field_0->arr[id].field_1A_0 == 1) { - if (data->field_0->arr[id].unk.field_0.unk_0a_7) + if (data->field_0->arr[id].unk.field_0.started) return 3; else if (data->field_0->arr[id].field_1A_1 != 0) return 1; @@ -1946,9 +1941,9 @@ void sub_8014F48(u8 taskId) { // this unused variable along with the assignment is needed to match u32 unusedVar; - unusedVar = data->field_0->arr[id].unk.field_0.unk_0a_0; + unusedVar = data->field_0->arr[id].unk.field_0.activity; - if (data->field_0->arr[id].field_1A_0 == 1 && !data->field_0->arr[id].unk.field_0.unk_0a_7) + if (data->field_0->arr[id].field_1A_0 == 1 && !data->field_0->arr[id].unk.field_0.started) { data->field_F = id; LoadWirelessStatusIndicatorSpriteGfx(); @@ -1979,7 +1974,7 @@ void sub_8014F48(u8 taskId) case 5: if (gReceivedRemoteLinkPlayers != 0) { - gUnknown_02022C2C = data->field_0->arr[data->field_F].unk.field_0.unk_0a_0; + gUnknown_02022C2C = data->field_0->arr[data->field_F].unk.field_0.activity; data->state = 10; } @@ -2108,7 +2103,7 @@ void sub_80152F4(u8 taskId) id = ListMenu_ProcessInput(data->listTaskId); if (data->field_14 > 120) { - if (data->field_0->arr[0].field_1A_0 == 1 && !data->field_0->arr[0].unk.field_0.unk_0a_7) + if (data->field_0->arr[0].field_1A_0 == 1 && !data->field_0->arr[0].unk.field_0.started) { if (sub_8016F1C(&data->field_0->arr[0].unk.field_0, data->field_12 + 7)) { @@ -2144,7 +2139,7 @@ void sub_80152F4(u8 taskId) case 5: if (gReceivedRemoteLinkPlayers != 0) { - gUnknown_02022C2C = data->field_0->arr[data->field_F].unk.field_0.unk_0a_0; + gUnknown_02022C2C = data->field_0->arr[data->field_F].unk.field_0.activity; data->state = 12; } @@ -3250,11 +3245,11 @@ void sub_8016CA0(u8 taskId) for (i = 0; i < 4; i++) { r4 = sub_800DE7C(&sp0.field_0, sp0.playerName, i); - if (!sub_8013D88(sp0.field_0.unk_0a_0, gTasks[taskId].data[4])) + if (!sub_8013D88(sp0.field_0.activity, gTasks[taskId].data[4])) { sp0 = gUnknown_082F045C; } - if (sp0.field_0.unk_00.unk_00_0 == 1) + if (sp0.field_0.unk_00.language == 1) { sp0 = gUnknown_082F045C; } @@ -3296,7 +3291,7 @@ void sub_8016E24(u8 taskId) for (i = 0; i < 4; i++) { sub_800DE7C(&ptr[0]->arr[i].unk0.field_0, ptr[0]->arr[i].unk0.playerName, i); - if (!sub_8013D88(ptr[0]->arr[i].unk0.field_0.unk_0a_0, gTasks[taskId].data[2])) + if (!sub_8013D88(ptr[0]->arr[i].unk0.field_0.activity, gTasks[taskId].data[2])) { ptr[0]->arr[i].unk0 = gUnknown_082F045C; } @@ -3311,11 +3306,11 @@ void sub_8016E24(u8 taskId) } } -bool32 sub_8016F1C(struct UnkLinkRfuStruct_02022B14 *arg0, s16 arg1) +bool32 sub_8016F1C(struct GFtgtGname *arg0, s16 arg1) { if (arg1 == 7) { - if (!arg0->unk_00.unk_00_5) + if (!arg0->unk_00.hasCard) { return FALSE; } @@ -3326,7 +3321,7 @@ bool32 sub_8016F1C(struct UnkLinkRfuStruct_02022B14 *arg0, s16 arg1) } else if (arg1 == 8) { - if (!arg0->unk_00.unk_00_4) + if (!arg0->unk_00.hasNews) { return FALSE; } @@ -3376,7 +3371,7 @@ u8 sub_8016FF0(struct UnkStruct_Main4 * a0, u32 a1) bool32 sub_8017020(const u8 *src) { - sub_81973A4(); + LoadMessageBoxAndBorderGfx(); DrawDialogueFrame(0, 1); StringExpandPlaceholders(gStringVar4, src); AddTextPrinterWithCustomSpeedForMessage(FALSE, 1); @@ -3400,7 +3395,7 @@ bool8 PrintOnTextbox(u8 *textState, const u8 *str) switch (*textState) { case 0: - sub_81973A4(); + LoadMessageBoxAndBorderGfx(); DrawDialogueFrame(0, 1); StringExpandPlaceholders(gStringVar4, str); AddTextPrinterForMessage_2(TRUE); @@ -3703,19 +3698,19 @@ bool32 sub_8017678(struct UnkStruct_Shared *arg0, struct UnkStruct_Shared *arg1) { s32 i; - if (arg0->field_0.unk_0a_0 != arg1->field_0.unk_0a_0) + if (arg0->field_0.activity != arg1->field_0.activity) { return TRUE; } - if (arg0->field_0.unk_0a_7 != arg1->field_0.unk_0a_7) + if (arg0->field_0.started != arg1->field_0.started) { return TRUE; } for (i = 0; i < 4; i++) { - if (arg0->field_0.unk_04[i] != arg1->field_0.unk_04[i]) + if (arg0->field_0.child_sprite_gender[i] != arg1->field_0.child_sprite_gender[i]) { return TRUE; } @@ -3783,7 +3778,7 @@ void sub_80177B8(u8 arg0, u8 arg1, u8 arg2, struct UnkStruct_x20 *arg3, u8 arg4, StringAppend(gStringVar4, sText_Colon); sub_80173E0(arg0, 1, gStringVar4, arg1, arg2, 0); arg1 += 18; - r2 = arg3->unk.field_0.unk_0a_0; + r2 = arg3->unk.field_0.activity; if (arg3->field_1A_0 == 1 && !(r2 & 0x40)) { sub_8018404(gStringVar4, arg3); @@ -3859,11 +3854,11 @@ s32 sub_80179D4(struct UnkStruct_Main0 *arg0, u8 arg1, u8 arg2, u32 playerGender struct UnkStruct_x20 * r5 = &arg0->arr[arg2]; - if (!r5->unk.field_0.unk_0a_7 && arg1 == 0) + if (!r5->unk.field_0.started && arg1 == 0) { sub_8018404(gStringVar1, r5); r2 = sub_800E540(ReadAsU16(r5->unk.field_0.unk_00.playerTrainerId), gStringVar1); - if (r5->unk.field_0.unk_0a_0 == 0x45) + if (r5->unk.field_0.activity == 0x45) { StringExpandPlaceholders(gStringVar4, sJoinChatTexts[r2][playerGender]); return 2; @@ -3881,7 +3876,7 @@ s32 sub_80179D4(struct UnkStruct_Main0 *arg0, u8 arg1, u8 arg2, u32 playerGender { playerGender = (r5->unk.field_0.unk_00.playerTrainerId[arg1 + 1] >> 3) & 1; } - switch (r5->unk.field_0.unk_0a_0 & 0x3F) + switch (r5->unk.field_0.activity & 0x3F) { case 1: StringExpandPlaceholders(gStringVar4, sBattleReactionTexts[playerGender][Random() % 4]); @@ -3908,7 +3903,7 @@ void nullsub_14(u8 windowId, s32 itemId, u8 y) } -void sub_8017B3C(u8 arg0, u8 arg1, struct UnkLinkRfuStruct_02022B14 * arg2, const u8 * str, u8 arg4) +void sub_8017B3C(u8 arg0, u8 arg1, struct GFtgtGname * arg2, const u8 * str, u8 arg4) { u8 sp8[4]; u16 r8 = arg2->species; @@ -3932,7 +3927,7 @@ void sub_8017B3C(u8 arg0, u8 arg1, struct UnkLinkRfuStruct_02022B14 * arg2, cons void sub_8017BE8(u8 windowId, s32 itemId, u8 y) { struct UnkStruct_Leader *leader = gUnknown_02022C30.leader; - struct UnkLinkRfuStruct_02022B14 *rfu; + struct GFtgtGname *rfu; s32 i, j; u8 sp4[11]; @@ -4249,7 +4244,7 @@ void sub_801818C(bool32 arg0) void sub_80181CC(void) { ScriptContext2_Enable(); - ScriptFreezeEventObjects(); + ScriptFreezeObjectEvents(); } u8 sub_80181DC(struct UnkStruct_URoom *arg0) @@ -4316,9 +4311,9 @@ void sub_8018220(u8 *unused, struct UnkStruct_URoom *arg1, bool8 arg2) ConvertIntToDecimalStringN(arg1->field_C0[2], trainerCard->pokemonTrades, STR_CONV_MODE_LEFT_ALIGN, 5); DynamicPlaceholderTextUtil_SetPlaceholderPtr(3, arg1->field_C0[2]); - for (i = 0; i < 4; i++) + for (i = 0; i < TRAINER_CARD_PROFILE_LENGTH; i++) { - CopyEasyChatWord(arg1->field_C0[i + 3], trainerCard->var_28[i]); + CopyEasyChatWord(arg1->field_C0[i + 3], trainerCard->easyChatProfile[i]); DynamicPlaceholderTextUtil_SetPlaceholderPtr(i + 4, arg1->field_C0[i + 3]); } @@ -4340,5 +4335,5 @@ void sub_8018220(u8 *unused, struct UnkStruct_URoom *arg1, bool8 arg2) void sub_8018404(u8 *dest, struct UnkStruct_x20 *arg1) { StringCopy7(dest, arg1->unk.playerName); - ConvertInternationalString(dest, arg1->unk.field_0.unk_00.unk_00_0); + ConvertInternationalString(dest, arg1->unk.field_0.unk_00.language); } diff --git a/src/union_room_battle.c b/src/union_room_battle.c index b49406eac..c80340da3 100644 --- a/src/union_room_battle.c +++ b/src/union_room_battle.c @@ -369,7 +369,7 @@ static void sub_801A8B0(u8 windowId, u8 fontId, const u8 * str, u8 x, u8 y, u8 m u32 sub_801A960(struct UnkStruct_x20 * a0, u32 * a1) { s32 i, j, r2; - u32 result = a0->unk.field_0.unk_0a_0; + u32 result = a0->unk.field_0.activity; for (i = 0; i < (unsigned)ARRAY_COUNT(gUnknown_082F0D70); i++) { @@ -386,7 +386,7 @@ u32 sub_801A960(struct UnkStruct_x20 * a0, u32 * a1) r2 = 0; for (j = 0; j < 4; j++) { - if (a0->unk.field_0.unk_04[j] != 0) + if (a0->unk.field_0.child_sprite_gender[j] != 0) { r2++; } diff --git a/src/union_room_player_avatar.c b/src/union_room_player_avatar.c index 0b7324366..8a09306c0 100644 --- a/src/union_room_player_avatar.c +++ b/src/union_room_player_avatar.c @@ -7,7 +7,7 @@ #include "task.h" #include "union_room.h" #include "constants/event_objects.h" -#include "constants/event_object_movement_constants.h" +#include "constants/event_object_movement.h" #include "constants/flags.h" EWRAM_DATA struct UnkStruct_8019BA8 * gUnknown_02022C64 = NULL; @@ -124,30 +124,30 @@ static void SetUnionRoomPlayerGfx(u32 playerIdx, u32 gfxId) VarSet(VAR_OBJ_GFX_ID_0 + playerIdx, gfxId); } -static void CreateUnionRoomPlayerEventObject(u32 playerIdx) +static void CreateUnionRoomPlayerObjectEvent(u32 playerIdx) { - TrySpawnEventObject(gUnknown_082F0774[playerIdx], gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); + TrySpawnObjectEvent(gUnknown_082F0774[playerIdx], gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); } -static void RemoveUnionRoomPlayerEventObject(u32 playerIdx) +static void RemoveUnionRoomPlayerObjectEvent(u32 playerIdx) { - RemoveEventObjectByLocalIdAndMap(gUnknown_082F0774[playerIdx], gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); + RemoveObjectEventByLocalIdAndMap(gUnknown_082F0774[playerIdx], gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); } static bool32 SetUnionRoomPlayerEnterExitMovement(u32 playerIdx, const u8 * movement) { u8 objectId; - struct EventObject * object; - if (TryGetEventObjectIdByLocalIdAndMap(gUnknown_082F0774[playerIdx], gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, &objectId)) + struct ObjectEvent * object; + if (TryGetObjectEventIdByLocalIdAndMap(gUnknown_082F0774[playerIdx], gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, &objectId)) { return FALSE; } - object = &gEventObjects[objectId]; - if (EventObjectIsMovementOverridden(object)) + object = &gObjectEvents[objectId]; + if (ObjectEventIsMovementOverridden(object)) { return FALSE; } - if (EventObjectSetHeldMovement(object, *movement)) + if (ObjectEventSetHeldMovement(object, *movement)) { return FALSE; } @@ -157,23 +157,23 @@ static bool32 SetUnionRoomPlayerEnterExitMovement(u32 playerIdx, const u8 * move static bool32 sub_8019B3C(u32 playerIdx) { u8 objectId; - struct EventObject * object; - if (TryGetEventObjectIdByLocalIdAndMap(gUnknown_082F0774[playerIdx], gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, &objectId)) + struct ObjectEvent * object; + if (TryGetObjectEventIdByLocalIdAndMap(gUnknown_082F0774[playerIdx], gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, &objectId)) { return TRUE; } - object = &gEventObjects[objectId]; - if (!EventObjectClearHeldMovementIfFinished(object)) + object = &gObjectEvents[objectId]; + if (!ObjectEventClearHeldMovementIfFinished(object)) { return FALSE; } if (!ScriptContext2_IsEnabled()) { - UnfreezeEventObject(object); + UnfreezeObjectEvent(object); } else { - FreezeEventObject(object); + FreezeObjectEvent(object); } return TRUE; } @@ -208,7 +208,7 @@ static bool32 sub_8019BDC(s8 * a0, u32 playerIdx, struct UnkStruct_8019BA8 * ptr case 1: if (sub_8019B3C(playerIdx)) { - RemoveUnionRoomPlayerEventObject(playerIdx); + RemoveUnionRoomPlayerObjectEvent(playerIdx); HideUnionRoomPlayer(playerIdx); *a0 = 0; return TRUE; @@ -240,7 +240,7 @@ static bool32 sub_8019C38(s8 * a0, u32 playerIdx, struct UnkStruct_8019BA8 * ptr break; } SetUnionRoomPlayerGfx(playerIdx, ptr->field_1); - CreateUnionRoomPlayerEventObject(playerIdx); + CreateUnionRoomPlayerObjectEvent(playerIdx); ShowUnionRoomPlayer(playerIdx); (*a0)++; // fallthrough @@ -310,7 +310,7 @@ static void sub_8019D44(u32 playerIdx, struct UnkStruct_8019BA8 * ptr) { ptr->field_0 = 0; ptr->field_2 = 0; - RemoveUnionRoomPlayerEventObject(playerIdx); + RemoveUnionRoomPlayerObjectEvent(playerIdx); HideUnionRoomPlayer(playerIdx); } else if (sub_8019C38(&ptr->field_2, playerIdx, ptr) == 1) @@ -376,7 +376,7 @@ void sub_8019E3C(void) { if (!IsUnionRoomPlayerHidden(i)) { - RemoveUnionRoomPlayerEventObject(i); + RemoveUnionRoomPlayerObjectEvent(i); HideUnionRoomPlayer(i); } } @@ -391,7 +391,7 @@ void sub_8019E70(u8 * sp8, s32 r9) for (r7 = 0; r7 < 5; r7++) { s32 r5 = 5 * r9 + r7; - sp8[r5] = sprite_new(EVENT_OBJ_GFX_MAN_4, r5 - 0x38, gUnknown_082F0740[r9][0] + gUnknown_082F0760[r7][0], gUnknown_082F0740[r9][1] + gUnknown_082F0760[r7][1], 3, 1); + sp8[r5] = sprite_new(OBJ_EVENT_GFX_MAN_4, r5 - 0x38, gUnknown_082F0740[r9][0] + gUnknown_082F0760[r7][0], gUnknown_082F0740[r9][1] + gUnknown_082F0760[r7][1], 3, 1); sub_8097C44(r5 - 0x38, TRUE); } } @@ -418,13 +418,13 @@ void sub_8019F2C(void) } } -static u8 sub_8019F64(u32 r1, u32 unused, struct UnkLinkRfuStruct_02022B14 * r2) +static u8 sub_8019F64(u32 r1, u32 unused, struct GFtgtGname * r2) { if (r1 != 0) { return gUnknown_082F076F[r1]; } - else if (r2->unk_0a_0 == 0x45) + else if (r2->activity == 0x45) { return 1; } @@ -439,7 +439,7 @@ static u32 sub_8019F8C(u32 a0, u32 a1) return sub_8097C8C(5 * a0 + a1 - 0x38); } -static void sub_8019FA4(u32 r5, u32 r6, u8 r8, struct UnkLinkRfuStruct_02022B14 * r9) +static void sub_8019FA4(u32 r5, u32 r6, u8 r8, struct GFtgtGname * r9) { s32 x, y; s32 r7 = 5 * r5 + r6; @@ -462,7 +462,7 @@ static void sub_801A02C(u32 a0, u32 a1) sub_8088B94(x, y, 0); } -static void sub_801A064(u32 r7, struct UnkLinkRfuStruct_02022B14 * r8) +static void sub_801A064(u32 r7, struct GFtgtGname * r8) { s16 x, y, x2, y2; s32 i; @@ -479,21 +479,21 @@ static void sub_801A064(u32 r7, struct UnkLinkRfuStruct_02022B14 * r8) } for (i = 1; i < 5; i++) { - if (r8->unk_04[i - 1] == 0) + if (r8->child_sprite_gender[i - 1] == 0) { sub_801A02C(r7, i); } else if (sub_80199E0(r7, i, x, y) == 0 && sub_80199E0(r7, i, x2, y2) == 0) { - sub_8019FA4(r7, i, sub_8019978((r8->unk_04[i - 1] >> 3) & 1, r8->unk_04[i - 1] & 7), r8); + sub_8019FA4(r7, i, sub_8019978((r8->child_sprite_gender[i - 1] >> 3) & 1, r8->child_sprite_gender[i - 1] & 7), r8); } } } -static void sub_801A16C(u32 r5, struct UnkLinkRfuStruct_02022B14 * r4) +static void sub_801A16C(u32 r5, struct GFtgtGname * r4) { u32 i; - switch (r4->unk_0a_0) + switch (r4->activity) { case 0x40: case 0x54: @@ -516,7 +516,7 @@ static void sub_801A16C(u32 r5, struct UnkLinkRfuStruct_02022B14 * r4) } } -static void sub_801A214(u32 r5, struct UnkLinkRfuStruct_02022B14 * unused) +static void sub_801A214(u32 r5, struct GFtgtGname * unused) { s32 i; sub_8019D20(r5); diff --git a/src/unk_text_util_2.c b/src/unk_text_util_2.c index 02648bf93..b1d2264e4 100644 --- a/src/unk_text_util_2.c +++ b/src/unk_text_util_2.c @@ -6,7 +6,7 @@ ALIGNED(4) static const u8 sUnknown_08616124[] = {1, 2, 4}; -static const u16 sFont6BrailleGlyphs[] = INCBIN_U16("data/graphics/fonts/font6.fwjpnfont"); +static const u16 sFont6BrailleGlyphs[] = INCBIN_U16("graphics/fonts/font6.fwjpnfont"); static void DecompressGlyphFont6(u16); diff --git a/src/wild_encounter.c b/src/wild_encounter.c index 52aac17f3..21f871751 100644 --- a/src/wild_encounter.c +++ b/src/wild_encounter.c @@ -127,12 +127,9 @@ static bool8 CheckFeebas(void) return FALSE; } -// The number 1103515245 comes from the example implementation of rand and srand -// in the ISO C standard. - static u16 FeebasRandom(void) { - sFeebasRngValue = (1103515245 * sFeebasRngValue) + 12345; + sFeebasRngValue = ISO_RANDOMIZE2(sFeebasRngValue); return sFeebasRngValue >> 16; } |