summaryrefslogtreecommitdiff
path: root/src/event_object_movement.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/event_object_movement.c')
-rw-r--r--src/event_object_movement.c399
1 files changed, 192 insertions, 207 deletions
diff --git a/src/event_object_movement.c b/src/event_object_movement.c
index 57f72b284..93be006ea 100644
--- a/src/event_object_movement.c
+++ b/src/event_object_movement.c
@@ -18,10 +18,12 @@
#include "random.h"
#include "rom_818CFC8.h"
#include "sprite.h"
+#include "task.h"
#include "trainer_see.h"
#include "util.h"
#include "constants/event_object_movement_constants.h"
#include "constants/event_objects.h"
+#include "constants/field_effects.h"
// this file was known as evobjmv.c in Game Freak's original source
@@ -42,7 +44,7 @@ static bool8 IsCoordOutsideEventObjectMovementRange(struct EventObject *, s16, s
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 npc_update_obj_anim_flag(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*);
@@ -73,7 +75,7 @@ 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 void sub_808D450(void);
+static void CreateReflectionEffectSprites(void);
static u8 GetEventObjectIdByLocalId(u8);
static u8 GetEventObjectIdByLocalIdAndMapInternal(u8, u8, u8);
static bool8 GetAvailableEventObjectId(u16, u8, u8, u8 *);
@@ -84,7 +86,7 @@ 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 sub_808E894(u16);
+static void LoadEventObjectPalette(u16);
static void RemoveEventObjectIfOutsideView(struct EventObject *);
static void sub_808E1B8(u8, s16, s16);
static void SetPlayerAvatarEventObjectIdAndObjectId(u8, u8);
@@ -100,6 +102,8 @@ 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 void oamt_npc_ministep_reset(struct Sprite *, u8, u8);
+static void UpdateEventObjectSpriteSubpriorityAndVisibility(struct Sprite *);
const u8 gReflectionEffectPaletteMap[] = {1, 1, 6, 7, 8, 9, 6, 7, 8, 9, 11, 11, 0, 0, 0, 0};
@@ -625,7 +629,6 @@ const u16 gObjectPaletteTags3[] = {
EVENT_OBJ_PAL_TAG_7,
};
-
const u16 *const gObjectPaletteTagSets[] = {
gObjectPaletteTags0,
gObjectPaletteTags1,
@@ -1078,19 +1081,19 @@ static void ClearAllEventObjects(void)
{
u8 i;
- for (i = 0; i < NUM_EVENT_OBJECTS; i++)
+ for (i = 0; i < EVENT_OBJECTS_COUNT; i++)
ClearEventObject(&gEventObjects[i]);
}
-void sub_808D438(void)
+void ResetEventObjects(void)
{
ClearLinkPlayerEventObjects();
ClearAllEventObjects();
ClearPlayerAvatarInfo();
- sub_808D450();
+ CreateReflectionEffectSprites();
}
-static void sub_808D450(void)
+static void CreateReflectionEffectSprites(void)
{
u8 spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[21], 0, 0, 31);
gSprites[spriteId].oam.affineMode = 1;
@@ -1108,7 +1111,7 @@ static void sub_808D450(void)
u8 GetFirstInactiveEventObjectId(void)
{
u8 i;
- for (i = 0; i < NUM_EVENT_OBJECTS; i++)
+ for (i = 0; i < EVENT_OBJECTS_COUNT; i++)
{
if (!gEventObjects[i].active)
break;
@@ -1119,7 +1122,7 @@ u8 GetFirstInactiveEventObjectId(void)
u8 GetEventObjectIdByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroupId)
{
- if (localId < 0xff)
+ if (localId < 0xFF)
{
return GetEventObjectIdByLocalIdAndMapInternal(localId, mapNum, mapGroupId);
}
@@ -1129,7 +1132,7 @@ u8 GetEventObjectIdByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroupId)
bool8 TryGetEventObjectIdByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroupId, u8 *eventObjectId)
{
*eventObjectId = GetEventObjectIdByLocalIdAndMap(localId, mapNum, mapGroupId);
- if (*eventObjectId == NUM_EVENT_OBJECTS)
+ if (*eventObjectId == EVENT_OBJECTS_COUNT)
return TRUE;
else
return FALSE;
@@ -1138,7 +1141,7 @@ bool8 TryGetEventObjectIdByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroupId, u
u8 GetEventObjectIdByXY(s16 x, s16 y)
{
u8 i;
- for (i = 0; i < NUM_EVENT_OBJECTS; i++)
+ for (i = 0; i < EVENT_OBJECTS_COUNT; i++)
{
if (gEventObjects[i].active && gEventObjects[i].currentCoords.x == x && gEventObjects[i].currentCoords.y == y)
break;
@@ -1150,25 +1153,25 @@ u8 GetEventObjectIdByXY(s16 x, s16 y)
static u8 GetEventObjectIdByLocalIdAndMapInternal(u8 localId, u8 mapNum, u8 mapGroupId)
{
u8 i;
- for (i = 0; i < NUM_EVENT_OBJECTS; i++)
+ for (i = 0; i < EVENT_OBJECTS_COUNT; i++)
{
if (gEventObjects[i].active && gEventObjects[i].localId == localId && gEventObjects[i].mapNum == mapNum && gEventObjects[i].mapGroup == mapGroupId)
return i;
}
- return NUM_EVENT_OBJECTS;
+ return EVENT_OBJECTS_COUNT;
}
static u8 GetEventObjectIdByLocalId(u8 localId)
{
u8 i;
- for (i = 0; i < NUM_EVENT_OBJECTS; i++)
+ for (i = 0; i < EVENT_OBJECTS_COUNT; i++)
{
if (gEventObjects[i].active && gEventObjects[i].localId == localId)
return i;
}
- return NUM_EVENT_OBJECTS;
+ return EVENT_OBJECTS_COUNT;
}
// This function has the same nonmatching quirk as in Ruby/Sapphire.
@@ -1183,7 +1186,7 @@ static u8 InitEventObjectStateFromTemplate(struct EventObjectTemplate *template,
// mapNum and mapGroup are in the wrong registers (r7/r6 instead of r6/r7)
if (GetAvailableEventObjectId(template->localId, mapNum, mapGroup, &eventObjectId))
{
- return NUM_EVENT_OBJECTS;
+ return EVENT_OBJECTS_COUNT;
}
eventObject = &gEventObjects[eventObjectId];
ClearEventObject(eventObject);
@@ -1387,24 +1390,24 @@ static NAKED u8 InitEventObjectStateFromTemplate(struct EventObjectTemplate *tem
u8 Unref_TryInitLocalEventObject(u8 localId)
{
u8 i;
- u8 nObjects;
+ u8 eventObjectCount;
struct EventObjectTemplate *template;
if (gMapHeader.events != NULL)
{
if (InBattlePyramid())
{
- nObjects = sub_81AAA40();
+ eventObjectCount = sub_81AAA40();
}
else if (InTrainerHill())
{
- nObjects = 2;
+ eventObjectCount = 2;
}
else
{
- nObjects = gMapHeader.events->eventObjectCount;
+ eventObjectCount = gMapHeader.events->eventObjectCount;
}
- for (i = 0; i < nObjects; i++)
+ for (i = 0; i < eventObjectCount; i++)
{
template = &gSaveBlock1Ptr->eventObjectTemplates[i];
if (template->localId == localId && !FlagGet(template->flagId))
@@ -1413,7 +1416,7 @@ u8 Unref_TryInitLocalEventObject(u8 localId)
}
}
}
- return NUM_EVENT_OBJECTS;
+ return EVENT_OBJECTS_COUNT;
}
static bool8 GetAvailableEventObjectId(u16 localId, u8 mapNum, u8 mapGroup, u8 *eventObjectId)
@@ -1425,14 +1428,14 @@ static bool8 GetAvailableEventObjectId(u16 localId, u8 mapNum, u8 mapGroup, u8 *
{
u8 i = 0;
- for (i = 0; i < NUM_EVENT_OBJECTS; i++)
+ for (i = 0; i < EVENT_OBJECTS_COUNT; i++)
{
if (!gEventObjects[i].active)
break;
if (gEventObjects[i].localId == localId && gEventObjects[i].mapNum == mapNum && gEventObjects[i].mapGroup == mapGroup)
return TRUE;
}
- if (i >= NUM_EVENT_OBJECTS)
+ if (i >= EVENT_OBJECTS_COUNT)
return TRUE;
*eventObjectId = i;
do
@@ -1440,7 +1443,7 @@ static bool8 GetAvailableEventObjectId(u16 localId, u8 mapNum, u8 mapGroup, u8 *
if (gEventObjects[i].active && gEventObjects[i].localId == localId && gEventObjects[i].mapNum == mapNum && gEventObjects[i].mapGroup == mapGroup)
return TRUE;
i++;
- } while (i < NUM_EVENT_OBJECTS);
+ } while (i < EVENT_OBJECTS_COUNT);
return FALSE;
}
@@ -1472,7 +1475,7 @@ void RemoveAllEventObjectsExceptPlayer(void)
{
u8 i;
- for (i = 0; i < NUM_EVENT_OBJECTS; i++)
+ for (i = 0; i < EVENT_OBJECTS_COUNT; i++)
{
if (i != gPlayerAvatar.eventObjectId)
RemoveEventObject(&gEventObjects[i]);
@@ -1481,16 +1484,16 @@ void RemoveAllEventObjectsExceptPlayer(void)
static u8 TrySetupEventObjectSprite(struct EventObjectTemplate *eventObjectTemplate, struct SpriteTemplate *spriteTemplate, u8 mapNum, u8 mapGroup, s16 cameraX, s16 cameraY)
{
+ u8 spriteId;
+ u8 paletteSlot;
+ u8 eventObjectId;
+ struct Sprite *sprite;
struct EventObject *eventObject;
const struct EventObjectGraphicsInfo *graphicsInfo;
- struct Sprite *sprite;
- u8 eventObjectId;
- u8 paletteSlot;
- u8 spriteId;
eventObjectId = InitEventObjectStateFromTemplate(eventObjectTemplate, mapNum, mapGroup);
- if (eventObjectId == NUM_EVENT_OBJECTS)
- return NUM_EVENT_OBJECTS;
+ if (eventObjectId == EVENT_OBJECTS_COUNT)
+ return EVENT_OBJECTS_COUNT;
eventObject = &gEventObjects[eventObjectId];
graphicsInfo = GetEventObjectGraphicsInfo(eventObject->graphicsId);
@@ -1508,7 +1511,7 @@ static u8 TrySetupEventObjectSprite(struct EventObjectTemplate *eventObjectTempl
paletteSlot -= 16;
sub_808EAB0(graphicsInfo->paletteTag1, paletteSlot);
}
- if (eventObject->movementType == 0x4c)
+ if (eventObject->movementType == MOVEMENT_TYPE_INVISIBLE)
{
eventObject->invisible = TRUE;
}
@@ -1517,7 +1520,7 @@ static u8 TrySetupEventObjectSprite(struct EventObjectTemplate *eventObjectTempl
if (spriteId == MAX_SPRITES)
{
gEventObjects[eventObjectId].active = FALSE;
- return NUM_EVENT_OBJECTS;
+ return EVENT_OBJECTS_COUNT;
}
sprite = &gSprites[spriteId];
sub_8092FF0(eventObject->currentCoords.x + cameraX, eventObject->currentCoords.y + cameraY, &sprite->pos1.x, &sprite->pos1.y);
@@ -1541,21 +1544,20 @@ static u8 TrySetupEventObjectSprite(struct EventObjectTemplate *eventObjectTempl
static u8 TrySpawnEventObject(struct EventObjectTemplate *eventObjectTemplate, u8 mapNum, u8 mapGroup, s16 cameraX, s16 cameraY)
{
- const struct EventObjectGraphicsInfo *graphicsInfo;
+ u8 eventObjectId;
struct SpriteTemplate spriteTemplate;
- const struct SubspriteTable *subspriteTables;
struct SpriteFrameImage spriteFrameImage;
- u8 eventObjectId;
+ const struct EventObjectGraphicsInfo *graphicsInfo;
+ const struct SubspriteTable *subspriteTables = NULL;
- subspriteTables = NULL;
graphicsInfo = GetEventObjectGraphicsInfo(eventObjectTemplate->graphicsId);
MakeObjectTemplateFromEventObjectTemplate(eventObjectTemplate, &spriteTemplate, &subspriteTables);
spriteFrameImage.size = graphicsInfo->size;
spriteTemplate.images = &spriteFrameImage;
eventObjectId = TrySetupEventObjectSprite(eventObjectTemplate, &spriteTemplate, mapNum, mapGroup, cameraX, cameraY);
- if (eventObjectId == NUM_EVENT_OBJECTS)
+ if (eventObjectId == EVENT_OBJECTS_COUNT)
{
- return NUM_EVENT_OBJECTS;
+ return EVENT_OBJECTS_COUNT;
}
gSprites[gEventObjects[eventObjectId].spriteId].images = graphicsInfo->images;
if (subspriteTables != NULL)
@@ -1603,29 +1605,29 @@ u8 show_sprite(u8 localId, u8 mapNum, u8 mapGroup)
eventObjectTemplate = GetEventObjectTemplateByLocalIdAndMap(localId, mapNum, mapGroup);
if (eventObjectTemplate == NULL)
{
- return NUM_EVENT_OBJECTS;
+ return EVENT_OBJECTS_COUNT;
}
GetEventObjectMovingCameraOffset(&cameraX, &cameraY);
return TrySpawnEventObject(eventObjectTemplate, mapNum, mapGroup, cameraX, cameraY);
}
-static void MakeObjectTemplateFromEventObjectGraphicsInfo(u16 graphicsId, void (*callback)(struct Sprite *), struct SpriteTemplate *sprTemplate, const struct SubspriteTable **subspriteTables)
+static void MakeObjectTemplateFromEventObjectGraphicsInfo(u16 graphicsId, void (*callback)(struct Sprite *), struct SpriteTemplate *spriteTemplate, const struct SubspriteTable **subspriteTables)
{
- const struct EventObjectGraphicsInfo *gfxInfo = GetEventObjectGraphicsInfo(graphicsId);
+ const struct EventObjectGraphicsInfo *graphicsInfo = GetEventObjectGraphicsInfo(graphicsId);
- sprTemplate->tileTag = gfxInfo->tileTag;
- sprTemplate->paletteTag = gfxInfo->paletteTag1;
- sprTemplate->oam = gfxInfo->oam;
- sprTemplate->anims = gfxInfo->anims;
- sprTemplate->images = gfxInfo->images;
- sprTemplate->affineAnims = gfxInfo->affineAnims;
- sprTemplate->callback = callback;
- *subspriteTables = gfxInfo->subspriteTables;
+ spriteTemplate->tileTag = graphicsInfo->tileTag;
+ spriteTemplate->paletteTag = graphicsInfo->paletteTag1;
+ spriteTemplate->oam = graphicsInfo->oam;
+ spriteTemplate->anims = graphicsInfo->anims;
+ spriteTemplate->images = graphicsInfo->images;
+ spriteTemplate->affineAnims = graphicsInfo->affineAnims;
+ spriteTemplate->callback = callback;
+ *subspriteTables = graphicsInfo->subspriteTables;
}
-static void MakeObjectTemplateFromEventObjectGraphicsInfoWithCallbackIndex(u16 graphicsId, u16 callbackIndex, struct SpriteTemplate *sprTemplate, const struct SubspriteTable **subspriteTables)
+static void MakeObjectTemplateFromEventObjectGraphicsInfoWithCallbackIndex(u16 graphicsId, u16 callbackIndex, struct SpriteTemplate *spriteTemplate, const struct SubspriteTable **subspriteTables)
{
- MakeObjectTemplateFromEventObjectGraphicsInfo(graphicsId, sMovementTypeCallbacks[callbackIndex], sprTemplate, subspriteTables);
+ MakeObjectTemplateFromEventObjectGraphicsInfo(graphicsId, sMovementTypeCallbacks[callbackIndex], spriteTemplate, subspriteTables);
}
static void MakeObjectTemplateFromEventObjectTemplate(struct EventObjectTemplate *eventObjectTemplate, struct SpriteTemplate *spriteTemplate, const struct SubspriteTable **subspriteTables)
@@ -1638,37 +1640,37 @@ u8 AddPseudoEventObject(u16 graphicsId, void (*callback)(struct Sprite *), s16 x
struct SpriteTemplate *spriteTemplate;
const struct SubspriteTable *subspriteTables;
struct Sprite *sprite;
- u8 spriteIdx;
+ u8 spriteId;
spriteTemplate = malloc(sizeof(struct SpriteTemplate));
MakeObjectTemplateFromEventObjectGraphicsInfo(graphicsId, callback, spriteTemplate, &subspriteTables);
- if (spriteTemplate->paletteTag != 0xffff)
+ if (spriteTemplate->paletteTag != 0xFFFF)
{
- sub_808E894(spriteTemplate->paletteTag);
+ LoadEventObjectPalette(spriteTemplate->paletteTag);
}
- spriteIdx = CreateSprite(spriteTemplate, x, y, subpriority);
+ spriteId = CreateSprite(spriteTemplate, x, y, subpriority);
free(spriteTemplate);
- if (spriteIdx != MAX_SPRITES && subspriteTables != NULL)
+ if (spriteId != MAX_SPRITES && subspriteTables != NULL)
{
- sprite = &gSprites[spriteIdx];
+ sprite = &gSprites[spriteId];
SetSubspriteTables(sprite, subspriteTables);
sprite->subspriteMode = 2;
}
- return spriteIdx;
+ return spriteId;
}
u8 sprite_new(u8 graphicsId, u8 a1, s16 x, s16 y, u8 z, u8 direction)
{
- const struct EventObjectGraphicsInfo *graphicsInfo;
- struct SpriteTemplate spriteTemplate;
- const struct SubspriteTable *subspriteTables;
u8 spriteId;
struct Sprite *sprite;
+ struct SpriteTemplate spriteTemplate;
+ const struct SubspriteTable *subspriteTables;
+ const struct EventObjectGraphicsInfo *graphicsInfo;
graphicsInfo = GetEventObjectGraphicsInfo(graphicsId);
MakeObjectTemplateFromEventObjectGraphicsInfo(graphicsId, UpdateEventObjectSpriteSubpriorityAndVisibility, &spriteTemplate, &subspriteTables);
- *(u16 *)&spriteTemplate.paletteTag = 0xffff;
+ *(u16 *)&spriteTemplate.paletteTag = 0xFFFF;
x += 7;
y += 7;
sub_80930E0(&x, &y, 8, 16);
@@ -1710,20 +1712,14 @@ u8 sprite_new(u8 graphicsId, u8 a1, s16 x, s16 y, u8 z, u8 direction)
void TrySpawnEventObjects(s16 cameraX, s16 cameraY)
{
u8 i;
- s16 left;
- s16 right;
- s16 top;
- s16 bottom;
u8 objectCount;
- s16 npcX;
- s16 npcY;
if (gMapHeader.events != NULL)
{
- left = gSaveBlock1Ptr->pos.x - 2;
- right = gSaveBlock1Ptr->pos.x + 17;
- top = gSaveBlock1Ptr->pos.y;
- bottom = gSaveBlock1Ptr->pos.y + 16;
+ s16 left = gSaveBlock1Ptr->pos.x - 2;
+ s16 right = gSaveBlock1Ptr->pos.x + 17;
+ s16 top = gSaveBlock1Ptr->pos.y;
+ s16 bottom = gSaveBlock1Ptr->pos.y + 16;
if (InBattlePyramid())
{
@@ -1741,8 +1737,8 @@ void TrySpawnEventObjects(s16 cameraX, s16 cameraY)
for (i = 0; i < objectCount; i++)
{
struct EventObjectTemplate *template = &gSaveBlock1Ptr->eventObjectTemplates[i];
- npcX = template->x + 7;
- npcY = template->y + 7;
+ s16 npcX = template->x + 7;
+ s16 npcY = template->y + 7;
if (top <= npcY && bottom >= npcY && left <= npcX && right >= npcX
&& !FlagGet(template->flagId))
@@ -1753,12 +1749,10 @@ void TrySpawnEventObjects(s16 cameraX, s16 cameraY)
void RemoveEventObjectsOutsideView(void)
{
- u8 i;
- u8 j;
+ u8 i, j;
bool8 isActiveLinkPlayer;
- struct EventObject *eventObject;
- for (i = 0; i < NUM_EVENT_OBJECTS; i++)
+ for (i = 0; i < EVENT_OBJECTS_COUNT; i++)
{
for (j = 0, isActiveLinkPlayer = FALSE; j < ARRAY_COUNT(gLinkPlayerEventObjects); j++)
{
@@ -1767,7 +1761,7 @@ void RemoveEventObjectsOutsideView(void)
}
if (!isActiveLinkPlayer)
{
- eventObject = &gEventObjects[i];
+ struct EventObject *eventObject = &gEventObjects[i];
if (eventObject->active && !eventObject->isPlayer)
RemoveEventObjectIfOutsideView(eventObject);
@@ -1777,21 +1771,16 @@ void RemoveEventObjectsOutsideView(void)
static void RemoveEventObjectIfOutsideView(struct EventObject *eventObject)
{
- s16 left;
- s16 right;
- s16 top;
- s16 bottom;
-
- left = gSaveBlock1Ptr->pos.x - 2;
- right = gSaveBlock1Ptr->pos.x + 17;
- top = gSaveBlock1Ptr->pos.y;
- bottom = gSaveBlock1Ptr->pos.y + 16;
+ 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)
+ && eventObject->currentCoords.y >= top && eventObject->currentCoords.y <= bottom)
return;
if (eventObject->initialCoords.x >= left && eventObject->initialCoords.x <= right
- && eventObject->initialCoords.y >= top && eventObject->initialCoords.y <= bottom)
+ && eventObject->initialCoords.y >= top && eventObject->initialCoords.y <= bottom)
return;
RemoveEventObject(eventObject);
}
@@ -1801,26 +1790,26 @@ void sub_808E16C(s16 x, s16 y)
u8 i;
ClearPlayerAvatarInfo();
- for (i = 0; i < NUM_EVENT_OBJECTS; i++)
+ for (i = 0; i < EVENT_OBJECTS_COUNT; i++)
{
if (gEventObjects[i].active)
{
sub_808E1B8(i, x, y);
}
}
- sub_808D450();
+ CreateReflectionEffectSprites();
}
static void sub_808E1B8(u8 eventObjectId, s16 x, s16 y)
{
u8 spriteId;
u8 paletteSlot;
+ struct Sprite *sprite;
struct EventObject *eventObject;
+ struct SpriteTemplate spriteTemplate;
+ struct SpriteFrameImage spriteFrameImage;
const struct SubspriteTable *subspriteTables;
const struct EventObjectGraphicsInfo *graphicsInfo;
- struct SpriteFrameImage spriteFrameImage;
- struct SpriteTemplate spriteTemplate;
- struct Sprite *sprite;
#define i spriteId
for (i = 0; i < ARRAY_COUNT(gLinkPlayerEventObjects); i++)
@@ -1838,7 +1827,7 @@ static void sub_808E1B8(u8 eventObjectId, s16 x, s16 y)
spriteFrameImage.size = graphicsInfo->size;
MakeObjectTemplateFromEventObjectGraphicsInfoWithCallbackIndex(eventObject->graphicsId, eventObject->movementType, &spriteTemplate, &subspriteTables);
spriteTemplate.images = &spriteFrameImage;
- *(u16 *)&spriteTemplate.paletteTag = 0xffff;
+ *(u16 *)&spriteTemplate.paletteTag = 0xFFFF;
paletteSlot = graphicsInfo->paletteSlot;
if (paletteSlot == 0)
{
@@ -1853,7 +1842,7 @@ static void sub_808E1B8(u8 eventObjectId, s16 x, s16 y)
paletteSlot -= 16;
sub_808EAB0(graphicsInfo->paletteTag1, paletteSlot);
}
- *(u16 *)&spriteTemplate.paletteTag = 0xffff;
+ *(u16 *)&spriteTemplate.paletteTag = 0xFFFF;
spriteId = CreateSprite(&spriteTemplate, 0, 0, 0);
if (spriteId != MAX_SPRITES)
{
@@ -1864,7 +1853,7 @@ static void sub_808E1B8(u8 eventObjectId, s16 x, s16 y)
sprite->pos1.x += 8;
sprite->pos1.y += 16 + sprite->centerToCornerVecY;
sprite->images = graphicsInfo->images;
- if (eventObject->movementType == 0x0b)
+ if (eventObject->movementType == MOVEMENT_TYPE_PLAYER)
{
SetPlayerAvatarEventObjectIdAndObjectId(eventObjectId, spriteId);
eventObject->warpArrowSpriteId = CreateWarpArrowSprite();
@@ -1877,7 +1866,7 @@ static void sub_808E1B8(u8 eventObjectId, s16 x, s16 y)
sprite->coordOffsetEnabled = TRUE;
sprite->data[0] = eventObjectId;
eventObject->spriteId = spriteId;
- if (!eventObject->inanimate && eventObject->movementType != 0x0b)
+ if (!eventObject->inanimate && eventObject->movementType != MOVEMENT_TYPE_PLAYER)
{
StartSpriteAnim(sprite, GetFaceDirectionAnimNum(eventObject->facingDirection));
}
@@ -1888,7 +1877,7 @@ static void sub_808E1B8(u8 eventObjectId, s16 x, s16 y)
static void sub_808E38C(struct EventObject *eventObject)
{
- eventObject->singleMovementActive = 0;
+ eventObject->singleMovementActive = FALSE;
eventObject->triggerGroundEffectsOnMove = TRUE;
eventObject->hasShadow = FALSE;
eventObject->hasReflection = FALSE;
@@ -1983,7 +1972,7 @@ void PlayerObjectTurn(struct PlayerAvatar *playerAvatar, u8 direction)
EventObjectTurn(&gEventObjects[playerAvatar->eventObjectId], direction);
}
-/*static*/ void get_berry_tree_graphics(struct EventObject *eventObject, struct Sprite *sprite)
+static void get_berry_tree_graphics(struct EventObject *eventObject, struct Sprite *sprite)
{
u8 berryStage;
u8 berryId;
@@ -1996,7 +1985,7 @@ void PlayerObjectTurn(struct PlayerAvatar *playerAvatar, u8 direction)
eventObject->invisible = FALSE;
sprite->invisible = FALSE;
berryId = GetBerryTypeByBerryTreeId(eventObject->trainerRange_berryTreeId) - 1;
- berryStage -= 1;
+ berryStage--;
if (berryId >= NUM_BERRIES)
{
berryId = 0;
@@ -2059,7 +2048,7 @@ void sub_808E75C(s16 x, s16 y)
struct EventObject *eventObject;
eventObjectId = GetEventObjectIdByXY(x, y);
- if (eventObjectId != NUM_EVENT_OBJECTS)
+ if (eventObjectId != EVENT_OBJECTS_COUNT)
{
eventObject = &gEventObjects[eventObjectId];
eventObject->triggerGroundEffectsOnMove = TRUE;
@@ -2113,42 +2102,40 @@ void FreeAndReserveObjectSpritePalettes(void)
gReservedSpritePaletteCount = 12;
}
-static void sub_808E894(u16 paletteTag)
+static void LoadEventObjectPalette(u16 paletteTag)
{
- u16 paletteSlot;
+ u16 i = FindEventObjectPaletteIndexByTag(paletteTag);
- paletteSlot = FindEventObjectPaletteIndexByTag(paletteTag);
- if (paletteSlot != EVENT_OBJ_PAL_TAG_NONE) // always true
+ if (i != EVENT_OBJ_PAL_TAG_NONE) // always true
{
- sub_808E8F4(&sEventObjectSpritePalettes[paletteSlot]);
+ sub_808E8F4(&sEventObjectSpritePalettes[i]);
}
}
-void sub_808E8C0(u16 *paletteTags)
+void Unused_LoadEventObjectPaletteSet(u16 *paletteTags)
{
u8 i;
for (i = 0; paletteTags[i] != EVENT_OBJ_PAL_TAG_NONE; i++)
{
- sub_808E894(paletteTags[i]);
+ LoadEventObjectPalette(paletteTags[i]);
}
}
static u8 sub_808E8F4(const struct SpritePalette *spritePalette)
{
- if (IndexOfSpritePaletteTag(spritePalette->tag) != 0xff)
+ if (IndexOfSpritePaletteTag(spritePalette->tag) != 0xFF)
{
- return 0xff;
+ return 0xFF;
}
return LoadSpritePalette(spritePalette);
}
void PatchObjectPalette(u16 paletteTag, u8 paletteSlot)
{
- u16 paletteIdx;
+ u8 paletteIndex = FindEventObjectPaletteIndexByTag(paletteTag);
- paletteIdx = FindEventObjectPaletteIndexByTag(paletteTag);
- LoadPalette(sEventObjectSpritePalettes[paletteIdx].data, 16 * paletteSlot + 256, 0x20);
+ LoadPalette(sEventObjectSpritePalettes[paletteIndex].data, 16 * paletteSlot + 0x100, 0x20);
}
void PatchObjectPaletteRange(const u16 *paletteTags, u8 minSlot, u8 maxSlot)
@@ -2172,7 +2159,7 @@ static u8 FindEventObjectPaletteIndexByTag(u16 tag)
return i;
}
}
- return 0xff;
+ return 0xFF;
}
void LoadPlayerObjectReflectionPalette(u16 tag, u8 slot)
@@ -2227,7 +2214,7 @@ void ShiftEventObjectCoords(struct EventObject *eventObject, s16 x, s16 y)
eventObject->currentCoords.y = y;
}
-/*static*/ void SetEventObjectCoords(struct EventObject *eventObject, s16 x, s16 y)
+static void SetEventObjectCoords(struct EventObject *eventObject, s16 x, s16 y)
{
eventObject->previousCoords.x = x;
eventObject->previousCoords.y = y;
@@ -2282,7 +2269,7 @@ void UpdateEventObjectCoordsForCameraUpdate(void)
{
dx = gCamera.x;
dy = gCamera.y;
- for (i = 0; i < NUM_EVENT_OBJECTS; i++)
+ for (i = 0; i < EVENT_OBJECTS_COUNT; i++)
{
if (gEventObjects[i].active)
{
@@ -2300,7 +2287,8 @@ void UpdateEventObjectCoordsForCameraUpdate(void)
u8 GetEventObjectIdByXYZ(u16 x, u16 y, u8 z)
{
u8 i;
- for (i = 0; i < NUM_EVENT_OBJECTS; i++)
+
+ for (i = 0; i < EVENT_OBJECTS_COUNT; i++)
{
if (gEventObjects[i].active)
{
@@ -2310,7 +2298,7 @@ u8 GetEventObjectIdByXYZ(u16 x, u16 y, u8 z)
}
}
}
- return NUM_EVENT_OBJECTS;
+ return EVENT_OBJECTS_COUNT;
}
static bool8 EventObjectDoesZCoordMatch(struct EventObject *eventObject, u8 z)
@@ -2331,9 +2319,8 @@ void UpdateEventObjectsForCameraUpdate(s16 x, s16 y)
u8 AddCameraObject(u8 linkedSpriteId)
{
- u8 spriteId;
+ u8 spriteId = CreateSprite(&gCameraSpriteTemplate, 0, 0, 4);
- spriteId = CreateSprite(&gCameraSpriteTemplate, 0, 0, 4);
gSprites[spriteId].invisible = TRUE;
gSprites[spriteId].data[0] = linkedSpriteId;
return spriteId;
@@ -2358,11 +2345,9 @@ static void CameraObject_0(struct Sprite *sprite)
static void CameraObject_1(struct Sprite *sprite)
{
- s16 x;
- s16 y;
+ s16 x = gSprites[sprite->data[0]].pos1.x;
+ s16 y = gSprites[sprite->data[0]].pos1.y;
- y = gSprites[sprite->data[0]].pos1.y;
- x = gSprites[sprite->data[0]].pos1.x;
sprite->data[2] = x - sprite->pos1.x;
sprite->data[3] = y - sprite->pos1.y;
sprite->pos1.x = x;
@@ -2379,13 +2364,13 @@ static void CameraObject_2(struct Sprite *sprite)
static struct Sprite *FindCameraObject(void)
{
- u8 spriteId;
+ u8 i;
- for (spriteId = 0; spriteId < MAX_SPRITES; spriteId++)
+ for (i = 0; i < MAX_SPRITES; i++)
{
- if (gSprites[spriteId].inUse && gSprites[spriteId].callback == ObjectCB_CameraObject)
+ if (gSprites[i].inUse && gSprites[i].callback == ObjectCB_CameraObject)
{
- return &gSprites[spriteId];
+ return &gSprites[i];
}
}
return NULL;
@@ -2454,7 +2439,7 @@ u8 CreateCopySpriteAt(struct Sprite *sprite, s16 x, s16 y, u8 subpriority)
{
s16 i;
- for (i = MAX_SPRITES - 1; i > -1; i --)
+ for (i = MAX_SPRITES - 1; i > -1; i--)
{
if (!gSprites[i].inUse)
{
@@ -2978,10 +2963,8 @@ u8 GetLimitedVectorDirection_SouthWestEast(s16 dx, s16 dy, s16 absdx, s16 absdy)
u8 TryGetTrainerEncounterDirection(struct EventObject *eventObject, u8 movementType)
{
- s16 dx;
- s16 dy;
- s16 absdx;
- s16 absdy;
+ s16 dx, dy;
+ s16 absdx, absdy;
if (!EventObjectIsTrainerAndCloseToPlayer(eventObject))
{
@@ -4449,7 +4432,7 @@ bool8 CopyablePlayerMovement_GoSpeed1(struct EventObject *eventObject, struct Sp
{
EventObjectSetSingleMovement(eventObject, sprite, GetFaceDirectionMovementAction(direction));
}
- eventObject->singleMovementActive = 1;
+ eventObject->singleMovementActive = TRUE;
sprite->data[1] = 2;
return TRUE;
}
@@ -4468,7 +4451,7 @@ bool8 CopyablePlayerMovement_GoSpeed2(struct EventObject *eventObject, struct Sp
{
EventObjectSetSingleMovement(eventObject, sprite, GetFaceDirectionMovementAction(direction));
}
- eventObject->singleMovementActive = 1;
+ eventObject->singleMovementActive = TRUE;
sprite->data[1] = 2;
return TRUE;
}
@@ -4487,7 +4470,7 @@ bool8 CopyablePlayerMovement_Slide(struct EventObject *eventObject, struct Sprit
{
EventObjectSetSingleMovement(eventObject, sprite, GetFaceDirectionMovementAction(direction));
}
- eventObject->singleMovementActive = 1;
+ eventObject->singleMovementActive = TRUE;
sprite->data[1] = 2;
return TRUE;
}
@@ -4499,7 +4482,7 @@ bool8 cph_IM_DIFFERENT(struct EventObject *eventObject, struct Sprite *sprite, u
direction = playerDirection;
direction = state_to_direction(gInitialMovementTypeFacingDirections[eventObject->movementType], eventObject->directionSequenceIndex, direction);
EventObjectSetSingleMovement(eventObject, sprite, GetJumpInPlaceMovementAction(direction));
- eventObject->singleMovementActive = 1;
+ eventObject->singleMovementActive = TRUE;
sprite->data[1] = 2;
return TRUE;
}
@@ -4518,7 +4501,7 @@ bool8 CopyablePlayerMovement_GoSpeed4(struct EventObject *eventObject, struct Sp
{
EventObjectSetSingleMovement(eventObject, sprite, GetFaceDirectionMovementAction(direction));
}
- eventObject->singleMovementActive = 1;
+ eventObject->singleMovementActive = TRUE;
sprite->data[1] = 2;
return TRUE;
}
@@ -4539,7 +4522,7 @@ bool8 CopyablePlayerMovement_Jump(struct EventObject *eventObject, struct Sprite
{
EventObjectSetSingleMovement(eventObject, sprite, GetFaceDirectionMovementAction(direction));
}
- eventObject->singleMovementActive = 1;
+ eventObject->singleMovementActive = TRUE;
sprite->data[1] = 2;
return TRUE;
}
@@ -4951,7 +4934,7 @@ static bool8 DoesObjectCollideWithObjectAt(struct EventObject *eventObject, s16
u8 i;
struct EventObject *curObject;
- for (i = 0; i < NUM_EVENT_OBJECTS; i++)
+ for (i = 0; i < EVENT_OBJECTS_COUNT; i++)
{
curObject = &gEventObjects[i];
if (curObject->active && curObject != eventObject)
@@ -5022,8 +5005,8 @@ void sub_8092FF0(s16 x, s16 y, s16 *dest_x, s16 *dest_y)
{
*dest_x = (x - gSaveBlock1Ptr->pos.x) << 4;
*dest_y = (y - gSaveBlock1Ptr->pos.y) << 4;
- *dest_x -= gUnknown_03005DEC;
- *dest_y -= gUnknown_03005DE8;
+ *dest_x -= gTotalCameraPixelOffsetX;
+ *dest_y -= gTotalCameraPixelOffsetY;
}
void sub_8093038(s16 x, s16 y, s16 *dest_x, s16 *dest_y)
@@ -5031,21 +5014,21 @@ void sub_8093038(s16 x, s16 y, s16 *dest_x, s16 *dest_y)
s16 dx;
s16 dy;
- dx = -gUnknown_03005DEC - gUnknown_03005DD0.x;
- dy = -gUnknown_03005DE8 - gUnknown_03005DD0.y;
- if (gUnknown_03005DD0.x > 0)
+ dx = -gTotalCameraPixelOffsetX - gFieldCamera.x;
+ dy = -gTotalCameraPixelOffsetY - gFieldCamera.y;
+ if (gFieldCamera.x > 0)
{
dx += 0x10;
}
- if (gUnknown_03005DD0.x < 0)
+ if (gFieldCamera.x < 0)
{
dx -= 0x10;
}
- if (gUnknown_03005DD0.y > 0)
+ if (gFieldCamera.y > 0)
{
dy += 0x10;
}
- if (gUnknown_03005DD0.y < 0)
+ if (gFieldCamera.y < 0)
{
dy -= 0x10;
}
@@ -5064,19 +5047,19 @@ static void GetEventObjectMovingCameraOffset(s16 *x, s16 *y)
{
*x = 0;
*y = 0;
- if (gUnknown_03005DD0.x > 0)
+ if (gFieldCamera.x > 0)
{
(*x)++;
}
- if (gUnknown_03005DD0.x < 0)
+ if (gFieldCamera.x < 0)
{
(*x) --;
}
- if (gUnknown_03005DD0.y > 0)
+ if (gFieldCamera.y > 0)
{
(*y)++;
}
- if (gUnknown_03005DD0.y < 0)
+ if (gFieldCamera.y < 0)
{
(*y) --;
}
@@ -5332,7 +5315,7 @@ void npc_apply_direction(struct EventObject *eventObject, struct Sprite *sprite,
ShiftEventObjectCoords(eventObject, x, y);
oamt_npc_ministep_reset(sprite, direction, speed);
sprite->animPaused = FALSE;
- if (gLockedAnimEventObjects != NULL && FindLockedEventObjectIndex(eventObject) != NUM_EVENT_OBJECTS)
+ if (gLockedAnimEventObjects != NULL && FindLockedEventObjectIndex(eventObject) != EVENT_OBJECTS_COUNT)
{
sprite->animPaused = TRUE;
}
@@ -7435,7 +7418,7 @@ bool8 MovementAction_AcroWheelieMoveLeft_Step1(struct EventObject *eventObject,
bool8 MovementAction_AcroWheelieMoveRight_Step0(struct EventObject *eventObject, struct Sprite *sprite)
{
- sub_8096200(eventObject, sprite, DIR_EAST, 1);
+ sub_8096200(eventObject, sprite, DIR_EAST, 1);
return MovementAction_AcroWheelieMoveRight_Step1(eventObject, sprite);
}
@@ -7490,7 +7473,7 @@ bool8 MovementAction_AcroEndWheelieMoveUp_Step1(struct EventObject *eventObject,
bool8 MovementAction_AcroEndWheelieMoveLeft_Step0(struct EventObject *eventObject, struct Sprite *sprite)
{
- sub_8096330(eventObject, sprite, DIR_WEST, 1);
+ sub_8096330(eventObject, sprite, DIR_WEST, 1);
return MovementAction_AcroEndWheelieMoveLeft_Step1(eventObject, sprite);
}
@@ -7506,7 +7489,7 @@ bool8 MovementAction_AcroEndWheelieMoveLeft_Step1(struct EventObject *eventObjec
bool8 MovementAction_AcroEndWheelieMoveRight_Step0(struct EventObject *eventObject, struct Sprite *sprite)
{
- sub_8096330(eventObject, sprite, DIR_EAST, 1);
+ sub_8096330(eventObject, sprite, DIR_EAST, 1);
return MovementAction_AcroEndWheelieMoveRight_Step1(eventObject, sprite);
}
@@ -7578,15 +7561,13 @@ static void TryEnableEventObjectAnim(struct EventObject *eventObject, struct Spr
static void UpdateEventObjectVisibility(struct EventObject *eventObject, struct Sprite *sprite)
{
sub_8096530(eventObject, sprite);
- npc_update_obj_anim_flag(eventObject, sprite);
+ UpdateEventObjSpriteVisibility(eventObject, sprite);
}
static void sub_8096530(struct EventObject *eventObject, struct Sprite *sprite)
{
- u16 x;
- u16 y;
- u16 x2;
- u16 y2;
+ u16 x, y;
+ u16 x2, y2;
const struct EventObjectGraphicsInfo *graphicsInfo;
eventObject->offScreen = FALSE;
@@ -7615,7 +7596,7 @@ static void sub_8096530(struct EventObject *eventObject, struct Sprite *sprite)
}
}
-static void npc_update_obj_anim_flag(struct EventObject *eventObject, struct Sprite *sprite)
+static void UpdateEventObjSpriteVisibility(struct EventObject *eventObject, struct Sprite *sprite)
{
sprite->invisible = FALSE;
if (eventObject->invisible || eventObject->offScreen)
@@ -7624,7 +7605,7 @@ static void npc_update_obj_anim_flag(struct EventObject *eventObject, struct Spr
}
}
-/*static*/ void GetAllGroundEffectFlags_OnSpawn(struct EventObject *eventObj, u32 *flags)
+static void GetAllGroundEffectFlags_OnSpawn(struct EventObject *eventObj, u32 *flags)
{
EventObjectUpdateMetatileBehaviors(eventObj);
GetGroundEffectFlags_Reflection(eventObj, flags);
@@ -7650,7 +7631,7 @@ static void GetAllGroundEffectFlags_OnBeginStep(struct EventObject *eventObj, u3
GetGroundEffectFlags_HotSprings(eventObj, flags);
}
-/*static*/ void GetAllGroundEffectFlags_OnFinishStep(struct EventObject *eventObj, u32 *flags)
+static void GetAllGroundEffectFlags_OnFinishStep(struct EventObject *eventObj, u32 *flags)
{
EventObjectUpdateMetatileBehaviors(eventObj);
GetGroundEffectFlags_ShallowFlowingWater(eventObj, flags);
@@ -7930,7 +7911,7 @@ u8 GetLedgeJumpDirection(s16 x, s16 y, u8 z)
return 0;
}
-void EventObjectSetSpriteOamTableForLongGrass(struct EventObject *eventObj, struct Sprite *sprite)
+static void SetEventObjectSpriteOamTableForLongGrass(struct EventObject *eventObj, struct Sprite *sprite)
{
if (eventObj->disableCoveringGroundEffects)
return;
@@ -7983,7 +7964,7 @@ static const u8 sEventObjectPriorities_08376070[] = {
1, 1, 1, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 0, 0, 1,
};
-void EventObjectUpdateZCoordAndPriority(struct EventObject *eventObj, struct Sprite *sprite)
+void UpdateEventObjectZCoordAndPriority(struct EventObject *eventObj, struct Sprite *sprite)
{
if (eventObj->fixedPriority)
return;
@@ -8206,7 +8187,11 @@ void GroundEffect_JumpOnTallGrass(struct EventObject *eventObj, struct Sprite *s
FieldEffectStart(FLDEFF_JUMP_TALL_GRASS);
spriteId = FindTallGrassFieldEffectSpriteId(
- eventObj->localId, eventObj->mapNum, eventObj->mapGroup, eventObj->currentCoords.x, eventObj->currentCoords.y);
+ eventObj->localId,
+ eventObj->mapNum,
+ eventObj->mapGroup,
+ eventObj->currentCoords.x,
+ eventObj->currentCoords.y);
if (spriteId == MAX_SPRITES)
GroundEffect_SpawnOnTallGrass(eventObj, sprite);
@@ -8288,7 +8273,7 @@ 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 EventObject *eventObj, struct Sprite *sprite, u32 flags)
{
u8 i;
@@ -8329,9 +8314,9 @@ static void DoGroundEffects_OnSpawn(struct EventObject *eventObj, struct Sprite
if (eventObj->triggerGroundEffectsOnMove)
{
flags = 0;
- EventObjectUpdateZCoordAndPriority(eventObj, sprite);
+ UpdateEventObjectZCoordAndPriority(eventObj, sprite);
GetAllGroundEffectFlags_OnSpawn(eventObj, &flags);
- EventObjectSetSpriteOamTableForLongGrass(eventObj, sprite);
+ SetEventObjectSpriteOamTableForLongGrass(eventObj, sprite);
DoFlaggedGroundEffects(eventObj, sprite, flags);
eventObj->triggerGroundEffectsOnMove = 0;
eventObj->disableCoveringGroundEffects = 0;
@@ -8345,9 +8330,9 @@ static void DoGroundEffects_OnBeginStep(struct EventObject *eventObj, struct Spr
if (eventObj->triggerGroundEffectsOnMove)
{
flags = 0;
- EventObjectUpdateZCoordAndPriority(eventObj, sprite);
+ UpdateEventObjectZCoordAndPriority(eventObj, sprite);
GetAllGroundEffectFlags_OnBeginStep(eventObj, &flags);
- EventObjectSetSpriteOamTableForLongGrass(eventObj, sprite);
+ SetEventObjectSpriteOamTableForLongGrass(eventObj, sprite);
filters_out_some_ground_effects(eventObj, &flags);
DoFlaggedGroundEffects(eventObj, sprite, flags);
eventObj->triggerGroundEffectsOnMove = 0;
@@ -8362,9 +8347,9 @@ static void DoGroundEffects_OnFinishStep(struct EventObject *eventObj, struct Sp
if (eventObj->triggerGroundEffectsOnStop)
{
flags = 0;
- EventObjectUpdateZCoordAndPriority(eventObj, sprite);
+ UpdateEventObjectZCoordAndPriority(eventObj, sprite);
GetAllGroundEffectFlags_OnFinishStep(eventObj, &flags);
- EventObjectSetSpriteOamTableForLongGrass(eventObj, sprite);
+ SetEventObjectSpriteOamTableForLongGrass(eventObj, sprite);
FilterOutStepOnPuddleGroundEffectIfJumping(eventObj, &flags);
DoFlaggedGroundEffects(eventObj, sprite, flags);
eventObj->triggerGroundEffectsOnStop = 0;
@@ -8397,11 +8382,11 @@ void FreezeEventObjects(void)
FreezeEventObject(&gEventObjects[i]);
}
-void FreezeEventObjectsExceptOne(u8 a1)
+void FreezeEventObjectsExceptOne(u8 eventObjectId)
{
u8 i;
for (i = 0; i < EVENT_OBJECTS_COUNT; i++)
- if (i != a1 && gEventObjects[i].active && i != gPlayerAvatar.eventObjectId)
+ if (i != eventObjectId && gEventObjects[i].active && i != gPlayerAvatar.eventObjectId)
FreezeEventObject(&gEventObjects[i]);
}
@@ -8423,44 +8408,44 @@ void UnfreezeEventObjects(void)
UnfreezeEventObject(&gEventObjects[i]);
}
-void Step1(struct Sprite *sprite, u8 dir)
+static void Step1(struct Sprite *sprite, u8 dir)
{
sprite->pos1.x += sDirectionToVectors[dir].x;
sprite->pos1.y += sDirectionToVectors[dir].y;
}
-void Step2(struct Sprite *sprite, u8 dir)
+static void Step2(struct Sprite *sprite, u8 dir)
{
sprite->pos1.x += 2 * (u16) sDirectionToVectors[dir].x;
sprite->pos1.y += 2 * (u16) sDirectionToVectors[dir].y;
}
-void Step3(struct Sprite *sprite, u8 dir)
+static void Step3(struct Sprite *sprite, u8 dir)
{
sprite->pos1.x += 2 * (u16) sDirectionToVectors[dir].x + (u16) sDirectionToVectors[dir].x;
sprite->pos1.y += 2 * (u16) sDirectionToVectors[dir].y + (u16) sDirectionToVectors[dir].y;
}
-void Step4(struct Sprite *sprite, u8 dir)
+static void Step4(struct Sprite *sprite, u8 dir)
{
sprite->pos1.x += 4 * (u16) sDirectionToVectors[dir].x;
sprite->pos1.y += 4 * (u16) sDirectionToVectors[dir].y;
}
-void Step8(struct Sprite *sprite, u8 dir)
+static void Step8(struct Sprite *sprite, u8 dir)
{
sprite->pos1.x += 8 * (u16) sDirectionToVectors[dir].x;
sprite->pos1.y += 8 * (u16) sDirectionToVectors[dir].y;
}
-void oamt_npc_ministep_reset(struct Sprite *sprite, u8 a2, u8 a3)
+static void oamt_npc_ministep_reset(struct Sprite *sprite, u8 direction, u8 a3)
{
- sprite->data[3] = a2;
+ sprite->data[3] = direction;
sprite->data[4] = a3;
sprite->data[5] = 0;
}
-typedef void (*SpriteStepFunc)(struct Sprite *sprite, u8 dir);
+typedef void (*SpriteStepFunc)(struct Sprite *sprite, u8 direction);
static const SpriteStepFunc gUnknown_0850E6C4[] = {
Step1,
@@ -8540,9 +8525,9 @@ bool8 obj_npc_ministep(struct Sprite *sprite)
return TRUE;
}
-void sub_80976DC(struct Sprite *sprite, u8 a2)
+void sub_80976DC(struct Sprite *sprite, u8 direction)
{
- sprite->data[3] = a2;
+ sprite->data[3] = direction;
sprite->data[4] = 0;
sprite->data[5] = 0;
}
@@ -8563,7 +8548,7 @@ bool8 sub_80976EC(struct Sprite *sprite)
return FALSE;
}
-const s8 gUnknown_0850E772[] = {
+static const s8 gUnknown_0850E772[] = {
1, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 1, 2, 2, 1, 2,
2, 1, 2, 2, 1, 2, 1, 1,
@@ -8575,7 +8560,7 @@ const s8 gUnknown_0850E772[] = {
0, 1, 0, 0, 0, 0, 0, 0,
};
-const s8 gUnknown_0850E7BA[] = {
+static const s8 gUnknown_0850E7BA[] = {
0, 0, 1, 0, 0, 1, 0, 0,
1, 0, 1, 1, 0, 1, 1, 0,
1, 1, 0, 1, 1, 0, 1, 1,
@@ -8745,7 +8730,7 @@ u8 sub_80978E4(struct Sprite *sprite)
return v2;
}
-void SetMovementDelay(struct Sprite *sprite, s16 timer)
+static void SetMovementDelay(struct Sprite *sprite, s16 timer)
{
sprite->data[3] = timer;
}
@@ -8760,11 +8745,11 @@ static bool8 WaitForMovementDelay(struct Sprite *sprite)
return FALSE;
}
-void SetAndStartSpriteAnim(struct Sprite *sprite, u8 a2, u8 a3)
+void SetAndStartSpriteAnim(struct Sprite *sprite, u8 animNum, u8 animCmdIndex)
{
- sprite->animNum = a2;
- sprite->animPaused = 0 ;
- SeekSpriteAnim(sprite, a3);
+ sprite->animNum = animNum;
+ sprite->animPaused = FALSE;
+ SeekSpriteAnim(sprite, animCmdIndex);
}
bool8 SpriteAnimEnded(struct Sprite *sprite)
@@ -8802,7 +8787,7 @@ void UpdateEventObjectSpriteVisibility(struct Sprite *sprite, bool8 invisible)
sprite->invisible = TRUE;
}
-void UpdateEventObjectSpriteSubpriorityAndVisibility(struct Sprite *sprite)
+static void UpdateEventObjectSpriteSubpriorityAndVisibility(struct Sprite *sprite)
{
sub_8097D68(sprite);
SetObjectSubpriorityByZCoord(sprite->data[1], sprite, 1);
@@ -8849,15 +8834,15 @@ void sub_8097BB4(u8 var1, u8 graphicsId)
if(spriteId != MAX_SPRITES)
{
struct Sprite *sprite = &gSprites[spriteId];
- const struct EventObjectGraphicsInfo *gfxInfo = GetEventObjectGraphicsInfo(graphicsId);
+ const struct EventObjectGraphicsInfo *graphicsInfo = GetEventObjectGraphicsInfo(graphicsId);
u16 tileNum = sprite->oam.tileNum;
- sprite->oam = *gfxInfo->oam;
+ sprite->oam = *graphicsInfo->oam;
sprite->oam.tileNum = tileNum;
- sprite->oam.paletteNum = gfxInfo->paletteSlot;
- sprite->images = gfxInfo->images;
+ sprite->oam.paletteNum = graphicsInfo->paletteSlot;
+ sprite->images = graphicsInfo->images;
- if(gfxInfo->subspriteTables == NULL)
+ if(graphicsInfo->subspriteTables == NULL)
{
sprite->subspriteTables = NULL;
sprite->subspriteTableNum = 0;
@@ -8865,7 +8850,7 @@ void sub_8097BB4(u8 var1, u8 graphicsId)
}
else
{
- SetSubspriteTables(sprite, gfxInfo->subspriteTables);
+ SetSubspriteTables(sprite, graphicsInfo->subspriteTables);
sprite->subspriteMode = 2;
}
StartSpriteAnim(sprite, 0);
@@ -8990,9 +8975,9 @@ void DoShadowFieldEffect(struct EventObject *eventObject)
static void DoRippleFieldEffect(struct EventObject *eventObject, struct Sprite *sprite)
{
- const struct EventObjectGraphicsInfo *gfxInfo = GetEventObjectGraphicsInfo(eventObject->graphicsId);
+ const struct EventObjectGraphicsInfo *graphicsInfo = GetEventObjectGraphicsInfo(eventObject->graphicsId);
gFieldEffectArguments[0] = sprite->pos1.x;
- gFieldEffectArguments[1] = sprite->pos1.y + (gfxInfo->height >> 1) - 2;
+ gFieldEffectArguments[1] = sprite->pos1.y + (graphicsInfo->height >> 1) - 2;
gFieldEffectArguments[2] = 151;
gFieldEffectArguments[3] = 3;
FieldEffectStart(FLDEFF_RIPPLE);