summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGriffinR <griffin.g.richards@gmail.com>2020-04-21 16:11:00 -0400
committerhuderlem <huderlem@gmail.com>2020-04-28 19:59:16 -0500
commitf302fcc134bf354c3655e3423be68fd7a99cb396 (patch)
treedb3e835f1e6ae4edf5f466f9220600d2ca8cbc27 /src
parenta4b7e862b49927c434f9624cde4213de8fad24db (diff)
More trainer type usage
Diffstat (limited to 'src')
-rw-r--r--src/event_object_movement.c11
-rw-r--r--src/field_player_avatar.c3
-rw-r--r--src/trainer_see.c9
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