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