final pass at unifying on object event

This commit is contained in:
garak
2019-12-17 20:16:40 -05:00
parent ddaa88390e
commit fabe354c01
11 changed files with 94 additions and 94 deletions
+27 -27
View File
@@ -48,7 +48,7 @@ struct VsSeekerTrainerInfo
const u8 *script;
u16 trainerIdx;
u8 localId;
u8 fieldObjectId;
u8 objectEventId;
s16 xCoord;
s16 yCoord;
u8 graphicsId;
@@ -617,7 +617,7 @@ void sub_810C444(void)
u8 i;
u8 r6;
u8 sp0;
struct ObjectEvent * mapObject;
struct ObjectEvent * objectEvent;
for (i = 0; i < gMapHeader.events->objectEventCount; i++)
{
@@ -625,10 +625,10 @@ void sub_810C444(void)
{
r6 = sub_810CF54();
TryGetObjectEventIdByLocalIdAndMap(templates[i].localId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, &sp0);
mapObject = &gObjectEvents[sp0];
objectEvent = &gObjectEvents[sp0];
if (sub_810CF04(sp0) == TRUE)
{
SetTrainerMovementType(mapObject, r6);
SetTrainerMovementType(objectEvent, r6);
}
templates[i].movementType = r6;
}
@@ -758,15 +758,15 @@ static void sub_810C594(void)
for (i = 0; i < MAP_OBJECTS_COUNT; i++)
{
struct ObjectEvent * mapObject = &gObjectEvents[i];
if (mapObject->animPattern == 0x4D || mapObject->animPattern == 0x4E || mapObject->animPattern == 0x4F)
struct ObjectEvent * objectEvent = &gObjectEvents[i];
if (objectEvent->animPattern == 0x4D || objectEvent->animPattern == 0x4E || objectEvent->animPattern == 0x4F)
{
u8 r3 = sub_810CF54();
if (mapObject->active && gSprites[mapObject->spriteId].data[0] == i)
if (objectEvent->active && gSprites[objectEvent->spriteId].data[0] == i)
{
gSprites[mapObject->spriteId].pos2.x = 0;
gSprites[mapObject->spriteId].pos2.y = 0;
SetTrainerMovementType(mapObject, r3);
gSprites[objectEvent->spriteId].pos2.x = 0;
gSprites[objectEvent->spriteId].pos2.y = 0;
SetTrainerMovementType(objectEvent, r3);
}
}
}
@@ -858,22 +858,22 @@ static void Task_VsSeeker_2(u8 taskId)
static void GatherNearbyTrainerInfo(void)
{
struct ObjectEventTemplate *templates = gSaveBlock1Ptr->objectEventTemplates;
u8 fieldObjectId = 0;
u8 objectEventId = 0;
u8 vsSeekerObjectIdx = 0;
s32 mapObjectIdx;
s32 objectEventIdx;
for (mapObjectIdx = 0; mapObjectIdx < gMapHeader.events->objectEventCount; mapObjectIdx++)
for (objectEventIdx = 0; objectEventIdx < gMapHeader.events->objectEventCount; objectEventIdx++)
{
if (templates[mapObjectIdx].trainerType == 1 || templates[mapObjectIdx].trainerType == 3)
if (templates[objectEventIdx].trainerType == 1 || templates[objectEventIdx].trainerType == 3)
{
sVsSeeker->trainerInfo[vsSeekerObjectIdx].script = templates[mapObjectIdx].script;
sVsSeeker->trainerInfo[vsSeekerObjectIdx].trainerIdx = GetTrainerFlagFromScript(templates[mapObjectIdx].script);
sVsSeeker->trainerInfo[vsSeekerObjectIdx].localId = templates[mapObjectIdx].localId;
TryGetObjectEventIdByLocalIdAndMap(templates[mapObjectIdx].localId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, &fieldObjectId);
sVsSeeker->trainerInfo[vsSeekerObjectIdx].fieldObjectId = fieldObjectId;
sVsSeeker->trainerInfo[vsSeekerObjectIdx].xCoord = gObjectEvents[fieldObjectId].coords2.x - 7;
sVsSeeker->trainerInfo[vsSeekerObjectIdx].yCoord = gObjectEvents[fieldObjectId].coords2.y - 7;
sVsSeeker->trainerInfo[vsSeekerObjectIdx].graphicsId = templates[mapObjectIdx].graphicsId;
sVsSeeker->trainerInfo[vsSeekerObjectIdx].script = templates[objectEventIdx].script;
sVsSeeker->trainerInfo[vsSeekerObjectIdx].trainerIdx = GetTrainerFlagFromScript(templates[objectEventIdx].script);
sVsSeeker->trainerInfo[vsSeekerObjectIdx].localId = templates[objectEventIdx].localId;
TryGetObjectEventIdByLocalIdAndMap(templates[objectEventIdx].localId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, &objectEventId);
sVsSeeker->trainerInfo[vsSeekerObjectIdx].objectEventId = objectEventId;
sVsSeeker->trainerInfo[vsSeekerObjectIdx].xCoord = gObjectEvents[objectEventId].coords2.x - 7;
sVsSeeker->trainerInfo[vsSeekerObjectIdx].yCoord = gObjectEvents[objectEventId].coords2.y - 7;
sVsSeeker->trainerInfo[vsSeekerObjectIdx].graphicsId = templates[objectEventIdx].graphicsId;
vsSeekerObjectIdx++;
}
}
@@ -960,7 +960,7 @@ static u8 GetVsSeekerResponseInArea(const VsSeekerData * a0)
else
{
gSaveBlock1Ptr->trainerRematches[sVsSeeker->trainerInfo[vsSeekerIdx].localId] = r7;
npc_coords_shift_still(&gObjectEvents[sVsSeeker->trainerInfo[vsSeekerIdx].fieldObjectId]);
npc_coords_shift_still(&gObjectEvents[sVsSeeker->trainerInfo[vsSeekerIdx].objectEventId]);
StartTrainerObjectMovementScript(&sVsSeeker->trainerInfo[vsSeekerIdx], gUnknown_8453F64);
sVsSeeker->trainerIdxArray[sVsSeeker->numRematchableTrainers] = r8;
sVsSeeker->runningBehaviourEtcArray[sVsSeeker->numRematchableTrainers] = GetRunningBehaviorFromGraphicsId(sVsSeeker->trainerInfo[vsSeekerIdx].graphicsId);
@@ -1508,7 +1508,7 @@ static bool8 IsTrainerVisibleOnScreen(struct VsSeekerTrainerInfo * trainerInfo)
&& x + 7 >= trainerInfo->xCoord
&& y - 5 <= trainerInfo->yCoord
&& y + 5 >= trainerInfo->yCoord
&& sub_810CF04(trainerInfo->fieldObjectId) == 1)
&& sub_810CF04(trainerInfo->objectEventId) == 1)
return TRUE;
return FALSE;
}
@@ -1560,7 +1560,7 @@ static u8 GetRematchableTrainerLocalId(void)
static void StartTrainerObjectMovementScript(struct VsSeekerTrainerInfo * trainerInfo, const u8 * script)
{
npc_sync_anim_pause_bits(&gObjectEvents[trainerInfo->fieldObjectId]);
npc_sync_anim_pause_bits(&gObjectEvents[trainerInfo->objectEventId]);
ScriptMovement_StartObjectMovementScript(trainerInfo->localId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, script);
}
@@ -1596,9 +1596,9 @@ static void StartAllRespondantIdleMovements(void)
{
if (sVsSeeker->trainerInfo[j].trainerIdx == sVsSeeker->trainerIdxArray[i])
{
struct ObjectEvent *r4 = &gObjectEvents[sVsSeeker->trainerInfo[j].fieldObjectId];
struct ObjectEvent *r4 = &gObjectEvents[sVsSeeker->trainerInfo[j].objectEventId];
if (sub_810CF04(sVsSeeker->trainerInfo[j].fieldObjectId) == 1)
if (sub_810CF04(sVsSeeker->trainerInfo[j].objectEventId) == 1)
SetTrainerMovementType(r4, sVsSeeker->runningBehaviourEtcArray[i]);
sub_805FE7C(r4, sVsSeeker->runningBehaviourEtcArray[i]);
gSaveBlock1Ptr->trainerRematches[sVsSeeker->trainerInfo[j].localId] = GetNextAvailableRematchTrainer(sVsSeekerData, sVsSeeker->trainerInfo[j].trainerIdx, &dummy);