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
+3 -3
View File
@@ -88,11 +88,11 @@ void sub_805FE7C(struct ObjectEvent *, u8);
void SetTrainerMovementType(struct ObjectEvent *, u8); void SetTrainerMovementType(struct ObjectEvent *, u8);
u8 sub_80634F0(u8 direction); u8 sub_80634F0(u8 direction);
u8 sub_8063500(u8 a0); u8 sub_8063500(u8 a0);
void ObjectEventSetGraphicsId(struct ObjectEvent *mapObject, u8 a1); void ObjectEventSetGraphicsId(struct ObjectEvent *objectEvent, u8 a1);
u8 sub_805EB44(u8, u8, s16, s16); u8 sub_805EB44(u8, u8, s16, s16);
void npc_paltag_set_load(u8 mode); void npc_paltag_set_load(u8 mode);
bool8 ObjectEventIsMovementOverridden(struct ObjectEvent *mapObject); bool8 ObjectEventIsMovementOverridden(struct ObjectEvent *objectEvent);
u8 ObjectEventCheckHeldMovementStatus(struct ObjectEvent *mapObject); u8 ObjectEventCheckHeldMovementStatus(struct ObjectEvent *objectEvent);
u8 sub_8063F84(u8 direction); u8 sub_8063F84(u8 direction);
u8 GetTrainerFacingDirectionMovementType(u8 direction); u8 GetTrainerFacingDirectionMovementType(u8 direction);
void CameraObjectSetFollowedObjectId(u8 spriteId); void CameraObjectSetFollowedObjectId(u8 spriteId);
+1 -1
View File
@@ -288,7 +288,7 @@ struct PlayerAvatar /* 0x202E858 */
/*0x02*/ u8 running2; /*0x02*/ u8 running2;
/*0x03*/ u8 running1; /*0x03*/ u8 running1;
/*0x04*/ u8 spriteId; /*0x04*/ u8 spriteId;
/*0x05*/ u8 mapObjectId; /*0x05*/ u8 objectEventId;
/*0x06*/ u8 unk6; /*0x06*/ u8 unk6;
/*0x07*/ u8 gender; /*0x07*/ u8 gender;
u8 acroBikeState; u8 acroBikeState;
+5 -5
View File
@@ -87,19 +87,19 @@ void LockSelectedObjectEvent(void)
void sub_80696C0(void) void sub_80696C0(void)
{ {
u8 fieldObjectId = GetObjectEventIdByLocalIdAndMap(0xFF, 0, 0); u8 objectEventId = GetObjectEventIdByLocalIdAndMap(0xFF, 0, 0);
ObjectEventClearHeldMovementIfFinished(&gObjectEvents[fieldObjectId]); ObjectEventClearHeldMovementIfFinished(&gObjectEvents[objectEventId]);
sub_80974D8(); sub_80974D8();
UnfreezeObjectEvents(); UnfreezeObjectEvents();
} }
void sub_80696F0(void) void sub_80696F0(void)
{ {
u8 fieldObjectId; u8 objectEventId;
if (gObjectEvents[gSelectedObjectEvent].active) if (gObjectEvents[gSelectedObjectEvent].active)
ObjectEventClearHeldMovementIfFinished(&gObjectEvents[gSelectedObjectEvent]); ObjectEventClearHeldMovementIfFinished(&gObjectEvents[gSelectedObjectEvent]);
fieldObjectId = GetObjectEventIdByLocalIdAndMap(0xFF, 0, 0); objectEventId = GetObjectEventIdByLocalIdAndMap(0xFF, 0, 0);
ObjectEventClearHeldMovementIfFinished(&gObjectEvents[fieldObjectId]); ObjectEventClearHeldMovementIfFinished(&gObjectEvents[objectEventId]);
sub_80974D8(); sub_80974D8();
UnfreezeObjectEvents(); UnfreezeObjectEvents();
} }
+4 -4
View File
@@ -791,7 +791,7 @@ static void sub_807E80C(u8 taskId)
static void sub_807E980(u8 taskId) static void sub_807E980(u8 taskId)
{ {
s16 * data = gTasks[taskId].data; s16 * data = gTasks[taskId].data;
struct ObjectEvent *playerObj = &gObjectEvents[gPlayerAvatar.mapObjectId]; struct ObjectEvent *playerObj = &gObjectEvents[gPlayerAvatar.objectEventId];
struct Sprite *playerSpr = &gSprites[gPlayerAvatar.spriteId]; struct Sprite *playerSpr = &gSprites[gPlayerAvatar.spriteId];
switch (data[0]) switch (data[0])
{ {
@@ -843,7 +843,7 @@ static void sub_807E980(u8 taskId)
static void sub_807EAC4(s16 a0, s16 a1, s16 *a2, s16 *a3, s16 *a4) static void sub_807EAC4(s16 a0, s16 a1, s16 *a2, s16 *a3, s16 *a4)
{ {
struct Sprite *playerSpr = &gSprites[gPlayerAvatar.spriteId]; struct Sprite *playerSpr = &gSprites[gPlayerAvatar.spriteId];
struct ObjectEvent *playerObj = &gObjectEvents[gPlayerAvatar.mapObjectId]; struct ObjectEvent *playerObj = &gObjectEvents[gPlayerAvatar.objectEventId];
if (a1 > 0 || *a4 > 6) if (a1 > 0 || *a4 > 6)
*a3 += a1; *a3 += a1;
*a2 += a0; *a2 += a0;
@@ -858,7 +858,7 @@ static void sub_807EAC4(s16 a0, s16 a1, s16 *a2, s16 *a3, s16 *a4)
static void sub_807EB64(u16 a0, s16 *a1, s16 *a2) static void sub_807EB64(u16 a0, s16 *a1, s16 *a2)
{ {
ObjectEventForceSetSpecialAnim(&gObjectEvents[gPlayerAvatar.mapObjectId], GetStepInPlaceDelay16AnimId(GetPlayerFacingDirection())); ObjectEventForceSetSpecialAnim(&gObjectEvents[gPlayerAvatar.objectEventId], GetStepInPlaceDelay16AnimId(GetPlayerFacingDirection()));
sub_807EBBC(a0, a1, a2); sub_807EBBC(a0, a1, a2);
} }
@@ -930,7 +930,7 @@ static void sub_807ECBC(s16 *a0, s16 *a1, s16 *a2, s16 *a3, s16 *a4)
r1 = 3; r1 = 3;
else else
r1 = 4; r1 = 4;
ObjectEventForceSetSpecialAnim(&gObjectEvents[gPlayerAvatar.mapObjectId], sub_8064270(r1)); ObjectEventForceSetSpecialAnim(&gObjectEvents[gPlayerAvatar.objectEventId], sub_8064270(r1));
sub_807EBBC(behavior, a0, a1); sub_807EBBC(behavior, a0, a1);
*a2 = *a0 * 16; *a2 = *a0 * 16;
*a3 = *a1 * 16; *a3 = *a1 * 16;
+3 -3
View File
@@ -314,9 +314,9 @@ void Special_AnimatePcTurnOff()
void SpawnCameraObject(void) void SpawnCameraObject(void)
{ {
u8 mapObjectId = SpawnSpecialObjectEventParameterized(MAP_OBJ_GFX_YOUNGSTER, 8, 127, gSaveBlock1Ptr->pos.x + 7, gSaveBlock1Ptr->pos.y + 7, 3); u8 objectEventId = SpawnSpecialObjectEventParameterized(MAP_OBJ_GFX_YOUNGSTER, 8, 127, gSaveBlock1Ptr->pos.x + 7, gSaveBlock1Ptr->pos.y + 7, 3);
gObjectEvents[mapObjectId].mapobj_bit_13 = TRUE; gObjectEvents[objectEventId].mapobj_bit_13 = TRUE;
CameraObjectSetFollowedObjectId(gObjectEvents[mapObjectId].spriteId); CameraObjectSetFollowedObjectId(gObjectEvents[objectEventId].spriteId);
} }
void RemoveCameraObject(void) void RemoveCameraObject(void)
+3 -3
View File
@@ -50,7 +50,7 @@ static void task08_080C9820(u8 taskId)
ScriptContext2_Enable(); ScriptContext2_Enable();
gPlayerAvatar.unk6 = TRUE; gPlayerAvatar.unk6 = TRUE;
mapObjId = gPlayerAvatar.mapObjectId; mapObjId = gPlayerAvatar.objectEventId;
if (!ObjectEventIsMovementOverridden(&gObjectEvents[mapObjId]) if (!ObjectEventIsMovementOverridden(&gObjectEvents[mapObjId])
|| ObjectEventClearHeldMovementIfFinished(&gObjectEvents[mapObjId])) || ObjectEventClearHeldMovementIfFinished(&gObjectEvents[mapObjId]))
{ {
@@ -70,7 +70,7 @@ static void task08_080C9820(u8 taskId)
static void sub_80C98B0(u8 taskId) static void sub_80C98B0(u8 taskId)
{ {
if (ObjectEventCheckHeldMovementStatus(&gObjectEvents[gPlayerAvatar.mapObjectId]) == TRUE) if (ObjectEventCheckHeldMovementStatus(&gObjectEvents[gPlayerAvatar.objectEventId]) == TRUE)
{ {
FieldEffectStart(FLDEFF_FIELD_MOVE_SHOW_MON_INIT); FieldEffectStart(FLDEFF_FIELD_MOVE_SHOW_MON_INIT);
gTasks[taskId].func = sub_80C98FC; gTasks[taskId].func = sub_80C98FC;
@@ -90,7 +90,7 @@ static void sub_80C98FC(u8 taskId)
gFieldEffectArguments[2] = 2; gFieldEffectArguments[2] = 2;
if (gFieldEffectArguments[1] == 4) if (gFieldEffectArguments[1] == 4)
gFieldEffectArguments[2] = 3; gFieldEffectArguments[2] = 3;
ObjectEventSetGraphicsId(&gObjectEvents[gPlayerAvatar.mapObjectId], GetPlayerAvatarGraphicsIdByCurrentState()); ObjectEventSetGraphicsId(&gObjectEvents[gPlayerAvatar.objectEventId], GetPlayerAvatarGraphicsIdByCurrentState());
StartSpriteAnim(&gSprites[gPlayerAvatar.spriteId], gFieldEffectArguments[2]); StartSpriteAnim(&gSprites[gPlayerAvatar.spriteId], gFieldEffectArguments[2]);
FieldEffectActiveListRemove(6); FieldEffectActiveListRemove(6);
gTasks[taskId].func = sub_80C99A0; gTasks[taskId].func = sub_80C99A0;
+8 -8
View File
@@ -1532,12 +1532,12 @@ void sub_8112450(void)
void sub_811246C(struct Sprite *sprite) void sub_811246C(struct Sprite *sprite)
{ {
struct ObjectEvent *mapObject = &gObjectEvents[sprite->data[0]]; struct ObjectEvent *objectEvent = &gObjectEvents[sprite->data[0]];
if (mapObject->localId == 0xFF) if (objectEvent->localId == 0xFF)
{ {
if (gUnknown_203AF9A[0][0] != 0xFF) if (gUnknown_203AF9A[0][0] != 0xFF)
{ {
ObjectEventSetHeldMovement(mapObject, gUnknown_203AF9A[0][0]); ObjectEventSetHeldMovement(objectEvent, gUnknown_203AF9A[0][0]);
gUnknown_203AF9A[0][0] = 0xFF; gUnknown_203AF9A[0][0] = 0xFF;
} }
if (gUnknown_203AF9A[0][1] != 0xFF) if (gUnknown_203AF9A[0][1] != 0xFF)
@@ -1545,16 +1545,16 @@ void sub_811246C(struct Sprite *sprite)
sub_8150454(); sub_8150454();
gUnknown_203AF9A[0][1] = 0xFF; gUnknown_203AF9A[0][1] = 0xFF;
} }
sub_8063E28(mapObject, sprite); sub_8063E28(objectEvent, sprite);
} }
else else
{ {
if (gUnknown_203AF9A[mapObject->localId][0] != 0xFF) if (gUnknown_203AF9A[objectEvent->localId][0] != 0xFF)
{ {
ObjectEventSetHeldMovement(mapObject, gUnknown_203AF9A[mapObject->localId][0]); ObjectEventSetHeldMovement(objectEvent, gUnknown_203AF9A[objectEvent->localId][0]);
gUnknown_203AF9A[mapObject->localId][0] = 0xFF; gUnknown_203AF9A[objectEvent->localId][0] = 0xFF;
} }
sub_8063E28(mapObject, sprite); sub_8063E28(objectEvent, sprite);
} }
} }
+26 -26
View File
@@ -56,25 +56,25 @@ void sub_8150498(u8 a0)
static void sub_81504A8(void) static void sub_81504A8(void)
{ {
struct ObjectEvent *mapObject = &gObjectEvents[gPlayerAvatar.mapObjectId]; struct ObjectEvent *objectEvent = &gObjectEvents[gPlayerAvatar.objectEventId];
sub_81507BC(mapObject, sub_805C808(0)); sub_81507BC(objectEvent, sub_805C808(0));
ObjectEventTurn(mapObject, mapObject->placeholder18); ObjectEventTurn(objectEvent, objectEvent->placeholder18);
SetPlayerAvatarStateMask(PLAYER_AVATAR_FLAG_ON_FOOT); SetPlayerAvatarStateMask(PLAYER_AVATAR_FLAG_ON_FOOT);
} }
static void sub_81504E8(void) static void sub_81504E8(void)
{ {
struct ObjectEvent *mapObject = &gObjectEvents[gPlayerAvatar.mapObjectId]; struct ObjectEvent *objectEvent = &gObjectEvents[gPlayerAvatar.objectEventId];
sub_81507BC(mapObject, sub_805C808(1)); sub_81507BC(objectEvent, sub_805C808(1));
ObjectEventTurn(mapObject, mapObject->placeholder18); ObjectEventTurn(objectEvent, objectEvent->placeholder18);
SetPlayerAvatarStateMask(PLAYER_AVATAR_FLAG_MACH_BIKE); SetPlayerAvatarStateMask(PLAYER_AVATAR_FLAG_MACH_BIKE);
sub_80BD620(0, 0); sub_80BD620(0, 0);
} }
static void sub_8150530(void) static void sub_8150530(void)
{ {
struct ObjectEvent *mapObject = &gObjectEvents[gPlayerAvatar.mapObjectId]; struct ObjectEvent *objectEvent = &gObjectEvents[gPlayerAvatar.objectEventId];
struct Sprite *sprite = &gSprites[mapObject->spriteId]; struct Sprite *sprite = &gSprites[objectEvent->spriteId];
if (gUnknown_3005E88 == 1 || gUnknown_3005E88 == 3) if (gUnknown_3005E88 == 1 || gUnknown_3005E88 == 3)
{ {
@@ -86,23 +86,23 @@ static void sub_8150530(void)
} }
else else
{ {
sub_81507BC(mapObject, sub_805C808(4)); sub_81507BC(objectEvent, sub_805C808(4));
StartSpriteAnim(sprite, sub_80634F0(mapObject->facingDirection)); StartSpriteAnim(sprite, sub_80634F0(objectEvent->facingDirection));
} }
} }
static void sub_81505C4(u8 taskId) static void sub_81505C4(u8 taskId)
{ {
struct ObjectEvent *mapObject = &gObjectEvents[gPlayerAvatar.mapObjectId]; struct ObjectEvent *objectEvent = &gObjectEvents[gPlayerAvatar.objectEventId];
struct Sprite *sprite = &gSprites[mapObject->spriteId]; struct Sprite *sprite = &gSprites[objectEvent->spriteId];
switch (gTasks[taskId].data[0]) switch (gTasks[taskId].data[0])
{ {
case 0: case 0:
ObjectEventClearAnimIfSpecialAnimActive(mapObject); ObjectEventClearAnimIfSpecialAnimActive(objectEvent);
mapObject->mapobj_bit_11 = TRUE; objectEvent->mapobj_bit_11 = TRUE;
sub_81507BC(mapObject, sub_805C808(4)); sub_81507BC(objectEvent, sub_805C808(4));
StartSpriteAnim(sprite, sub_80634F0(mapObject->facingDirection)); StartSpriteAnim(sprite, sub_80634F0(objectEvent->facingDirection));
gTasks[taskId].data[0]++; gTasks[taskId].data[0]++;
gTasks[taskId].data[1] = 0; gTasks[taskId].data[1] = 0;
break; break;
@@ -122,10 +122,10 @@ static void sub_81505C4(u8 taskId)
if (sprite->animEnded) if (sprite->animEnded)
{ {
if (!(gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_SURFING)) if (!(gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_SURFING))
sub_81507BC(mapObject, sub_805C808(0)); sub_81507BC(objectEvent, sub_805C808(0));
else else
sub_81507BC(mapObject, sub_805C808(2)); sub_81507BC(objectEvent, sub_805C808(2));
ObjectEventTurn(mapObject, mapObject->placeholder18); ObjectEventTurn(objectEvent, objectEvent->placeholder18);
sprite->pos2.x = 0; sprite->pos2.x = 0;
sprite->pos2.y = 0; sprite->pos2.y = 0;
ScriptContext2_Disable(); ScriptContext2_Disable();
@@ -137,19 +137,19 @@ static void sub_81505C4(u8 taskId)
static void sub_8150708(void) static void sub_8150708(void)
{ {
struct ObjectEvent *mapObject = &gObjectEvents[gPlayerAvatar.mapObjectId]; struct ObjectEvent *objectEvent = &gObjectEvents[gPlayerAvatar.objectEventId];
u8 fieldEffectId; u8 fieldEffectId;
if (!(gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_SURFING)) if (!(gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_SURFING))
{ {
sub_81507BC(mapObject, sub_805C808(2)); sub_81507BC(objectEvent, sub_805C808(2));
ObjectEventTurn(mapObject, mapObject->placeholder18); ObjectEventTurn(objectEvent, objectEvent->placeholder18);
SetPlayerAvatarStateMask(PLAYER_AVATAR_FLAG_SURFING); SetPlayerAvatarStateMask(PLAYER_AVATAR_FLAG_SURFING);
gFieldEffectArguments[0] = mapObject->coords2.x; gFieldEffectArguments[0] = objectEvent->coords2.x;
gFieldEffectArguments[1] = mapObject->coords2.y; gFieldEffectArguments[1] = objectEvent->coords2.y;
gFieldEffectArguments[2] = gPlayerAvatar.mapObjectId; gFieldEffectArguments[2] = gPlayerAvatar.objectEventId;
fieldEffectId = FieldEffectStart(FLDEFF_SURF_BLOB); fieldEffectId = FieldEffectStart(FLDEFF_SURF_BLOB);
mapObject->mapobj_unk_1A = fieldEffectId; objectEvent->mapobj_unk_1A = fieldEffectId;
sub_80DC44C(fieldEffectId, 1); sub_80DC44C(fieldEffectId, 1);
} }
} }
+2 -2
View File
@@ -141,9 +141,9 @@ void sub_815A540(void)
PlayerGetDestCoords(&x, &y); PlayerGetDestCoords(&x, &y);
if (!MetatileBehavior_IsSurfable(MapGridGetMetatileBehaviorAt(x, y)) && TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_SURFING)) if (!MetatileBehavior_IsSurfable(MapGridGetMetatileBehaviorAt(x, y)) && TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_SURFING))
{ {
struct ObjectEvent * mapObject = &gObjectEvents[gPlayerAvatar.mapObjectId]; struct ObjectEvent * objectEvent = &gObjectEvents[gPlayerAvatar.objectEventId];
SetPlayerAvatarTransitionFlags(0x01); SetPlayerAvatarTransitionFlags(0x01);
DestroySprite(&gSprites[mapObject->mapobj_unk_1A]); DestroySprite(&gSprites[objectEvent->mapobj_unk_1A]);
} }
} }
} }
+12 -12
View File
@@ -103,7 +103,7 @@ static void Task_SSAnneInit(u8 taskId)
static void Task_SSAnneRun(u8 taskId) static void Task_SSAnneRun(u8 taskId)
{ {
s16 * data = gTasks[taskId].data; s16 * data = gTasks[taskId].data;
u8 mapObjectId; u8 objectEventId;
struct ObjectEvent * boatObject; struct ObjectEvent * boatObject;
s16 x; s16 x;
@@ -114,8 +114,8 @@ static void Task_SSAnneRun(u8 taskId)
data[1] = 0; data[1] = 0;
CreateSmokeSprite(); CreateSmokeSprite();
} }
TryGetObjectEventIdByLocalIdAndMap(1, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, &mapObjectId); TryGetObjectEventIdByLocalIdAndMap(1, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, &objectEventId);
boatObject = &gObjectEvents[mapObjectId]; boatObject = &gObjectEvents[objectEventId];
if (gSprites[boatObject->spriteId].pos1.x + gSprites[boatObject->spriteId].pos2.x < -120) if (gSprites[boatObject->spriteId].pos1.x + gSprites[boatObject->spriteId].pos2.x < -120)
{ {
PlaySE(SE_KITEKI); PlaySE(SE_KITEKI);
@@ -143,13 +143,13 @@ static void Task_SSAnneFinish(u8 taskId)
static void CreateWakeBehindBoat(void) static void CreateWakeBehindBoat(void)
{ {
u8 mapObjectId; u8 objectEventId;
struct ObjectEvent * boatObject; struct ObjectEvent * boatObject;
u16 x; u16 x;
u8 spriteId; u8 spriteId;
TryGetObjectEventIdByLocalIdAndMap(1, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, &mapObjectId); TryGetObjectEventIdByLocalIdAndMap(1, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, &objectEventId);
boatObject = &gObjectEvents[mapObjectId]; boatObject = &gObjectEvents[objectEventId];
x = gSprites[boatObject->spriteId].pos1.x + gSprites[boatObject->spriteId].pos2.x + 80; x = gSprites[boatObject->spriteId].pos1.x + gSprites[boatObject->spriteId].pos2.x + 80;
spriteId = CreateSprite(&sWakeSpriteTemplate, x, 109, 0xFF); spriteId = CreateSprite(&sWakeSpriteTemplate, x, 109, 0xFF);
gSprites[spriteId].oam.priority = 2; gSprites[spriteId].oam.priority = 2;
@@ -158,12 +158,12 @@ static void CreateWakeBehindBoat(void)
static void WakeSpriteCallback(struct Sprite * sprite) static void WakeSpriteCallback(struct Sprite * sprite)
{ {
u8 mapObjectId; u8 objectEventId;
struct ObjectEvent * boatObject; struct ObjectEvent * boatObject;
u16 x; u16 x;
TryGetObjectEventIdByLocalIdAndMap(1, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, &mapObjectId); TryGetObjectEventIdByLocalIdAndMap(1, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, &objectEventId);
boatObject = &gObjectEvents[mapObjectId]; boatObject = &gObjectEvents[objectEventId];
x = gSprites[boatObject->spriteId].pos1.x + gSprites[boatObject->spriteId].pos2.x + 80; x = gSprites[boatObject->spriteId].pos1.x + gSprites[boatObject->spriteId].pos2.x + 80;
sprite->pos1.x = x; sprite->pos1.x = x;
if (sprite->data[0] / 6 < 22) if (sprite->data[0] / 6 < 22)
@@ -175,13 +175,13 @@ static void WakeSpriteCallback(struct Sprite * sprite)
static void CreateSmokeSprite(void) static void CreateSmokeSprite(void)
{ {
u8 mapObjectId; u8 objectEventId;
struct ObjectEvent * boatObject; struct ObjectEvent * boatObject;
u16 x; u16 x;
u8 spriteId; u8 spriteId;
TryGetObjectEventIdByLocalIdAndMap(1, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, &mapObjectId); TryGetObjectEventIdByLocalIdAndMap(1, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, &objectEventId);
boatObject = &gObjectEvents[mapObjectId]; boatObject = &gObjectEvents[objectEventId];
x = gSprites[boatObject->spriteId].pos1.x + gSprites[boatObject->spriteId].pos2.x + 49; x = gSprites[boatObject->spriteId].pos1.x + gSprites[boatObject->spriteId].pos2.x + 49;
if ((s16)x >= -32) if ((s16)x >= -32)
{ {
+27 -27
View File
@@ -48,7 +48,7 @@ struct VsSeekerTrainerInfo
const u8 *script; const u8 *script;
u16 trainerIdx; u16 trainerIdx;
u8 localId; u8 localId;
u8 fieldObjectId; u8 objectEventId;
s16 xCoord; s16 xCoord;
s16 yCoord; s16 yCoord;
u8 graphicsId; u8 graphicsId;
@@ -617,7 +617,7 @@ void sub_810C444(void)
u8 i; u8 i;
u8 r6; u8 r6;
u8 sp0; u8 sp0;
struct ObjectEvent * mapObject; struct ObjectEvent * objectEvent;
for (i = 0; i < gMapHeader.events->objectEventCount; i++) for (i = 0; i < gMapHeader.events->objectEventCount; i++)
{ {
@@ -625,10 +625,10 @@ void sub_810C444(void)
{ {
r6 = sub_810CF54(); r6 = sub_810CF54();
TryGetObjectEventIdByLocalIdAndMap(templates[i].localId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, &sp0); TryGetObjectEventIdByLocalIdAndMap(templates[i].localId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, &sp0);
mapObject = &gObjectEvents[sp0]; objectEvent = &gObjectEvents[sp0];
if (sub_810CF04(sp0) == TRUE) if (sub_810CF04(sp0) == TRUE)
{ {
SetTrainerMovementType(mapObject, r6); SetTrainerMovementType(objectEvent, r6);
} }
templates[i].movementType = r6; templates[i].movementType = r6;
} }
@@ -758,15 +758,15 @@ static void sub_810C594(void)
for (i = 0; i < MAP_OBJECTS_COUNT; i++) for (i = 0; i < MAP_OBJECTS_COUNT; i++)
{ {
struct ObjectEvent * mapObject = &gObjectEvents[i]; struct ObjectEvent * objectEvent = &gObjectEvents[i];
if (mapObject->animPattern == 0x4D || mapObject->animPattern == 0x4E || mapObject->animPattern == 0x4F) if (objectEvent->animPattern == 0x4D || objectEvent->animPattern == 0x4E || objectEvent->animPattern == 0x4F)
{ {
u8 r3 = sub_810CF54(); 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[objectEvent->spriteId].pos2.x = 0;
gSprites[mapObject->spriteId].pos2.y = 0; gSprites[objectEvent->spriteId].pos2.y = 0;
SetTrainerMovementType(mapObject, r3); SetTrainerMovementType(objectEvent, r3);
} }
} }
} }
@@ -858,22 +858,22 @@ static void Task_VsSeeker_2(u8 taskId)
static void GatherNearbyTrainerInfo(void) static void GatherNearbyTrainerInfo(void)
{ {
struct ObjectEventTemplate *templates = gSaveBlock1Ptr->objectEventTemplates; struct ObjectEventTemplate *templates = gSaveBlock1Ptr->objectEventTemplates;
u8 fieldObjectId = 0; u8 objectEventId = 0;
u8 vsSeekerObjectIdx = 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].script = templates[objectEventIdx].script;
sVsSeeker->trainerInfo[vsSeekerObjectIdx].trainerIdx = GetTrainerFlagFromScript(templates[mapObjectIdx].script); sVsSeeker->trainerInfo[vsSeekerObjectIdx].trainerIdx = GetTrainerFlagFromScript(templates[objectEventIdx].script);
sVsSeeker->trainerInfo[vsSeekerObjectIdx].localId = templates[mapObjectIdx].localId; sVsSeeker->trainerInfo[vsSeekerObjectIdx].localId = templates[objectEventIdx].localId;
TryGetObjectEventIdByLocalIdAndMap(templates[mapObjectIdx].localId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, &fieldObjectId); TryGetObjectEventIdByLocalIdAndMap(templates[objectEventIdx].localId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, &objectEventId);
sVsSeeker->trainerInfo[vsSeekerObjectIdx].fieldObjectId = fieldObjectId; sVsSeeker->trainerInfo[vsSeekerObjectIdx].objectEventId = objectEventId;
sVsSeeker->trainerInfo[vsSeekerObjectIdx].xCoord = gObjectEvents[fieldObjectId].coords2.x - 7; sVsSeeker->trainerInfo[vsSeekerObjectIdx].xCoord = gObjectEvents[objectEventId].coords2.x - 7;
sVsSeeker->trainerInfo[vsSeekerObjectIdx].yCoord = gObjectEvents[fieldObjectId].coords2.y - 7; sVsSeeker->trainerInfo[vsSeekerObjectIdx].yCoord = gObjectEvents[objectEventId].coords2.y - 7;
sVsSeeker->trainerInfo[vsSeekerObjectIdx].graphicsId = templates[mapObjectIdx].graphicsId; sVsSeeker->trainerInfo[vsSeekerObjectIdx].graphicsId = templates[objectEventIdx].graphicsId;
vsSeekerObjectIdx++; vsSeekerObjectIdx++;
} }
} }
@@ -960,7 +960,7 @@ static u8 GetVsSeekerResponseInArea(const VsSeekerData * a0)
else else
{ {
gSaveBlock1Ptr->trainerRematches[sVsSeeker->trainerInfo[vsSeekerIdx].localId] = r7; 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); StartTrainerObjectMovementScript(&sVsSeeker->trainerInfo[vsSeekerIdx], gUnknown_8453F64);
sVsSeeker->trainerIdxArray[sVsSeeker->numRematchableTrainers] = r8; sVsSeeker->trainerIdxArray[sVsSeeker->numRematchableTrainers] = r8;
sVsSeeker->runningBehaviourEtcArray[sVsSeeker->numRematchableTrainers] = GetRunningBehaviorFromGraphicsId(sVsSeeker->trainerInfo[vsSeekerIdx].graphicsId); sVsSeeker->runningBehaviourEtcArray[sVsSeeker->numRematchableTrainers] = GetRunningBehaviorFromGraphicsId(sVsSeeker->trainerInfo[vsSeekerIdx].graphicsId);
@@ -1508,7 +1508,7 @@ static bool8 IsTrainerVisibleOnScreen(struct VsSeekerTrainerInfo * trainerInfo)
&& x + 7 >= trainerInfo->xCoord && x + 7 >= trainerInfo->xCoord
&& y - 5 <= trainerInfo->yCoord && y - 5 <= trainerInfo->yCoord
&& y + 5 >= trainerInfo->yCoord && y + 5 >= trainerInfo->yCoord
&& sub_810CF04(trainerInfo->fieldObjectId) == 1) && sub_810CF04(trainerInfo->objectEventId) == 1)
return TRUE; return TRUE;
return FALSE; return FALSE;
} }
@@ -1560,7 +1560,7 @@ static u8 GetRematchableTrainerLocalId(void)
static void StartTrainerObjectMovementScript(struct VsSeekerTrainerInfo * trainerInfo, const u8 * script) 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); 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]) 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]); SetTrainerMovementType(r4, sVsSeeker->runningBehaviourEtcArray[i]);
sub_805FE7C(r4, sVsSeeker->runningBehaviourEtcArray[i]); sub_805FE7C(r4, sVsSeeker->runningBehaviourEtcArray[i]);
gSaveBlock1Ptr->trainerRematches[sVsSeeker->trainerInfo[j].localId] = GetNextAvailableRematchTrainer(sVsSeekerData, sVsSeeker->trainerInfo[j].trainerIdx, &dummy); gSaveBlock1Ptr->trainerRematches[sVsSeeker->trainerInfo[j].localId] = GetNextAvailableRematchTrainer(sVsSeekerData, sVsSeeker->trainerInfo[j].trainerIdx, &dummy);