final pass at unifying on object event
This commit is contained in:
+27
-27
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user