diff options
author | GriffinR <griffin.g.richards@gmail.com> | 2020-04-21 16:11:00 -0400 |
---|---|---|
committer | huderlem <huderlem@gmail.com> | 2020-04-28 19:59:16 -0500 |
commit | f302fcc134bf354c3655e3423be68fd7a99cb396 (patch) | |
tree | db3e835f1e6ae4edf5f466f9220600d2ca8cbc27 /src | |
parent | a4b7e862b49927c434f9624cde4213de8fad24db (diff) |
More trainer type usage
Diffstat (limited to 'src')
-rw-r--r-- | src/event_object_movement.c | 11 | ||||
-rw-r--r-- | src/field_player_avatar.c | 3 | ||||
-rw-r--r-- | src/trainer_see.c | 9 |
3 files changed, 14 insertions, 9 deletions
diff --git a/src/event_object_movement.c b/src/event_object_movement.c index 81e352e70..91e9da961 100644 --- a/src/event_object_movement.c +++ b/src/event_object_movement.c @@ -17,6 +17,7 @@ #include "constants/maps.h" #include "constants/event_object_movement.h" #include "constants/event_objects.h" +#include "constants/trainer_types.h" // this file was known as evobjmv.c in Game Freak's original source @@ -1386,7 +1387,7 @@ u8 SpawnSpecialObjectEventParametrized(u8 graphicsId, u8 movementType, u8 localI objectEventTemplate.movementType = movementType; objectEventTemplate.movementRangeX = 0; objectEventTemplate.movementRangeY = 0; - objectEventTemplate.trainerType = 0; + objectEventTemplate.trainerType = TRAINER_TYPE_NONE; objectEventTemplate.trainerRange_berryTreeId = 0; return SpawnSpecialObjectEvent(&objectEventTemplate); } @@ -2225,7 +2226,8 @@ static u16 GetObjectEventFlagIdByObjectEventId(u8 objectEventId) return GetObjectEventFlagIdByLocalIdAndMap(gObjectEvents[objectEventId].localId, gObjectEvents[objectEventId].mapNum, gObjectEvents[objectEventId].mapGroup); } -u8 unref_sub_805C5D0(u8 localId, u8 mapNum, u8 mapGroup) +// Unused +u8 GetObjectTrainerTypeByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup) { u8 objectEventId; @@ -2235,7 +2237,8 @@ u8 unref_sub_805C5D0(u8 localId, u8 mapNum, u8 mapGroup) return gObjectEvents[objectEventId].trainerType; } -u8 unref_sub_805C60C(u8 objectEventId) +// Unused +u8 GetObjectTrainerTypeByObjectEventId(u8 objectEventId) { return gObjectEvents[objectEventId].trainerType; } @@ -2435,7 +2438,7 @@ bool8 ObjectEventIsTrainerAndCloseToPlayer(struct ObjectEvent *objectEvent) { return FALSE; } - if (objectEvent->trainerType != 1 && objectEvent->trainerType != 3) + if (objectEvent->trainerType != TRAINER_TYPE_NORMAL && objectEvent->trainerType != TRAINER_TYPE_BURIED) { return FALSE; } diff --git a/src/field_player_avatar.c b/src/field_player_avatar.c index 324dab9c8..cd6e67c8c 100644 --- a/src/field_player_avatar.c +++ b/src/field_player_avatar.c @@ -26,6 +26,7 @@ #include "constants/moves.h" #include "constants/songs.h" #include "constants/species.h" +#include "constants/trainer_types.h" EWRAM_DATA struct PlayerAvatar gPlayerAvatar = {0}; @@ -1197,7 +1198,7 @@ void InitPlayerAvatar(s16 x, s16 y, u8 direction, u8 gender) playerObjEventTemplate.movementType = MOVEMENT_TYPE_PLAYER; playerObjEventTemplate.movementRangeX = 0; playerObjEventTemplate.movementRangeY = 0; - playerObjEventTemplate.trainerType = 0; + playerObjEventTemplate.trainerType = TRAINER_TYPE_NONE; playerObjEventTemplate.trainerRange_berryTreeId = 0; playerObjEventTemplate.script = NULL; playerObjEventTemplate.flagId = 0; diff --git a/src/trainer_see.c b/src/trainer_see.c index 5fc0a346d..caeb22a79 100644 --- a/src/trainer_see.c +++ b/src/trainer_see.c @@ -10,6 +10,7 @@ #include "util.h" #include "constants/event_object_movement.h" #include "constants/field_effects.h" +#include "constants/trainer_types.h" static bool8 CheckTrainer(u8); static void sub_8084894(struct Sprite *sprite, u16 a2, u8 a3); @@ -43,7 +44,7 @@ bool8 CheckTrainers(void) for (objEventId = 0; objEventId < 16; objEventId++) { if (gObjectEvents[objEventId].active - && (gObjectEvents[objEventId].trainerType == 1 || gObjectEvents[objEventId].trainerType == 3) + && (gObjectEvents[objEventId].trainerType == TRAINER_TYPE_NORMAL || gObjectEvents[objEventId].trainerType == TRAINER_TYPE_BURIED) && CheckTrainer(objEventId)) return TRUE; } @@ -83,14 +84,14 @@ static bool8 TrainerCanApproachPlayer(struct ObjectEvent *trainerObj) u8 approachDistance; PlayerGetDestCoords(&x, &y); - if (trainerObj->trainerType == 1) // can only see in one direction + if (trainerObj->trainerType == TRAINER_TYPE_NORMAL) // can only see in one direction { approachDistance = sDirectionalApproachDistanceFuncs[trainerObj->facingDirection - 1](trainerObj, trainerObj->trainerRange_berryTreeId, x, y); return CheckPathBetweenTrainerAndPlayer(trainerObj, approachDistance, trainerObj->facingDirection); } - else // can see in all directions + else // TRAINER_TYPE_SEE_ALL_DIRECTIONS, TRAINER_TYPE_BURIED { - for (i = 0; i < 4; i++) + for (i = 0; i < ARRAY_COUNT(sDirectionalApproachDistanceFuncs); i++) { approachDistance = sDirectionalApproachDistanceFuncs[i](trainerObj, trainerObj->trainerRange_berryTreeId, x, y); if (CheckPathBetweenTrainerAndPlayer(trainerObj, approachDistance, i + 1)) // directions are 1-4 instead of 0-3. south north west east |