Undo PokeCodec's PRs
This commit undoes most of PokeCodec's PRs after the debate in chat. Some harmless or completely superseded PRs have been left alone, as there is not much benefit in attempting to undo them. Reverts #1104, #1108, #1115, #1118, #1119, #1124, #1126, #1127, #1132, #1136, #1137, #1139, #1140, #1144, #1148, #1149, #1150, #1153, #1155, #1177, #1179, #1180, #1181, #1182 and #1183.
This commit is contained in:
+69
-33
@@ -1223,6 +1223,7 @@ static u8 InitObjectEventStateFromTemplate(struct ObjectEventTemplate *template,
|
||||
objectEvent->movementType = template->movementType;
|
||||
objectEvent->localId = template->localId;
|
||||
objectEvent->mapNum = mapNum;
|
||||
objectEvent++; objectEvent--;
|
||||
objectEvent->mapGroup = mapGroup;
|
||||
objectEvent->initialCoords.x = x;
|
||||
objectEvent->initialCoords.y = y;
|
||||
@@ -1235,11 +1236,13 @@ static u8 InitObjectEventStateFromTemplate(struct ObjectEventTemplate *template,
|
||||
objectEvent->range.as_nybbles.x = template->movementRangeX;
|
||||
objectEvent->range.as_nybbles.y = template->movementRangeY;
|
||||
objectEvent->trainerType = template->trainerType;
|
||||
objectEvent->mapNum = mapNum; //redundant, but needed to match
|
||||
objectEvent->trainerRange_berryTreeId = template->trainerRange_berryTreeId;
|
||||
objectEvent->previousMovementDirection = gInitialMovementTypeFacingDirections[template->movementType];
|
||||
SetObjectEventDirection(objectEvent, objectEvent->previousMovementDirection);
|
||||
SetObjectEventDynamicGraphicsId(objectEvent);
|
||||
#ifndef NONMATCHING
|
||||
asm("":::"r5", "r6");
|
||||
#endif
|
||||
if (gRangedMovementTypes[objectEvent->movementType])
|
||||
{
|
||||
if (objectEvent->range.as_nybbles.x == 0)
|
||||
@@ -8216,13 +8219,15 @@ bool8 FreezeObjectEvent(struct ObjectEvent *objectEvent)
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
objectEvent->frozen = 1;
|
||||
objectEvent->spriteAnimPausedBackup = gSprites[objectEvent->spriteId].animPaused;
|
||||
objectEvent->spriteAffineAnimPausedBackup = gSprites[objectEvent->spriteId].affineAnimPaused;
|
||||
gSprites[objectEvent->spriteId].animPaused = 1;
|
||||
gSprites[objectEvent->spriteId].affineAnimPaused = 1;
|
||||
return FALSE;
|
||||
else
|
||||
{
|
||||
objectEvent->frozen = 1;
|
||||
objectEvent->spriteAnimPausedBackup = gSprites[objectEvent->spriteId].animPaused;
|
||||
objectEvent->spriteAffineAnimPausedBackup = gSprites[objectEvent->spriteId].affineAnimPaused;
|
||||
gSprites[objectEvent->spriteId].animPaused = 1;
|
||||
gSprites[objectEvent->spriteId].affineAnimPaused = 1;
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
void FreezeObjectEvents(void)
|
||||
@@ -8395,8 +8400,8 @@ bool8 sub_80976EC(struct Sprite *sprite)
|
||||
|
||||
if (sprite->data[5] > 15)
|
||||
return TRUE;
|
||||
|
||||
return FALSE;
|
||||
else
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static const s8 sFigure8XOffsets[FIGURE_8_LENGTH] = {
|
||||
@@ -8476,15 +8481,15 @@ static bool8 AnimateSpriteInFigure8(struct Sprite *sprite)
|
||||
return finished;
|
||||
}
|
||||
|
||||
static const s8 gUnknown_0850E802[16] = {
|
||||
static const s8 gUnknown_0850E802[] = {
|
||||
-4, -6, -8, -10, -11, -12, -12, -12, -11, -10, -9, -8, -6, -4, 0, 0
|
||||
};
|
||||
|
||||
static const s8 gUnknown_0850E812[16] = {
|
||||
static const s8 gUnknown_0850E812[] = {
|
||||
0, -2, -3, -4, -5, -6, -6, -6, -5, -5, -4, -3, -2, 0, 0, 0
|
||||
};
|
||||
|
||||
static const s8 gUnknown_0850E822[16] = {
|
||||
static const s8 gUnknown_0850E822[] = {
|
||||
-2, -4, -6, -8, -9, -10, -10, -10, -9, -8, -6, -5, -3, -2, 0, 0
|
||||
};
|
||||
|
||||
@@ -8507,11 +8512,23 @@ void sub_809783C(struct Sprite *sprite, u8 a2, u8 a3, u8 a4)
|
||||
sprite->data[6] = 0;
|
||||
}
|
||||
|
||||
static const s16 gUnknown_0850E840[] = {
|
||||
16, 16, 32,
|
||||
};
|
||||
|
||||
static const u8 gUnknown_0850E846[] = {
|
||||
0, 0, 1,
|
||||
};
|
||||
|
||||
u8 sub_809785C(struct Sprite *sprite)
|
||||
{
|
||||
s16 v5[] = {16, 16, 32};
|
||||
u8 v6[] = {0, 0, 1};
|
||||
u8 v2 = 0;
|
||||
s16 v5[3];
|
||||
u8 v6[3];
|
||||
u8 v2;
|
||||
|
||||
memcpy(v5, gUnknown_0850E840, 6); // TODO: get rid of memcpy
|
||||
memcpy(v6, gUnknown_0850E846, 3);
|
||||
v2 = 0;
|
||||
|
||||
if (sprite->data[4])
|
||||
Step1(sprite, sprite->data[3]);
|
||||
@@ -8532,11 +8549,23 @@ u8 sub_809785C(struct Sprite *sprite)
|
||||
return v2;
|
||||
}
|
||||
|
||||
static const s16 gUnknown_0850E84A[] = {
|
||||
32, 32, 64,
|
||||
};
|
||||
|
||||
static const u8 gUnknown_0850E850[] = {
|
||||
1, 1, 2,
|
||||
};
|
||||
|
||||
u8 sub_80978E4(struct Sprite *sprite)
|
||||
{
|
||||
s16 v5[] = {32, 32, 64};
|
||||
u8 v6[] = {1, 1, 2};
|
||||
u8 v2 = 0;
|
||||
s16 v5[3];
|
||||
u8 v6[3];
|
||||
u8 v2;
|
||||
|
||||
memcpy(v5, gUnknown_0850E84A, 6);
|
||||
memcpy(v6, gUnknown_0850E850, 3);
|
||||
v2 = 0;
|
||||
|
||||
if (sprite->data[4] && !(sprite->data[6] & 1))
|
||||
Step1(sprite, sprite->data[3]);
|
||||
@@ -8564,9 +8593,12 @@ static void SetMovementDelay(struct Sprite *sprite, s16 timer)
|
||||
|
||||
static bool8 WaitForMovementDelay(struct Sprite *sprite)
|
||||
{
|
||||
if (--sprite->data[3] == 0)
|
||||
sprite->data[3]--;
|
||||
|
||||
if (sprite->data[3] == 0)
|
||||
return TRUE;
|
||||
return FALSE;
|
||||
else
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
void SetAndStartSpriteAnim(struct Sprite *sprite, u8 animNum, u8 animCmdIndex)
|
||||
@@ -8580,7 +8612,8 @@ bool8 SpriteAnimEnded(struct Sprite *sprite)
|
||||
{
|
||||
if (sprite->animEnded)
|
||||
return TRUE;
|
||||
return FALSE;
|
||||
else
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
void UpdateObjectEventSpriteVisibility(struct Sprite *sprite, bool8 invisible)
|
||||
@@ -8759,14 +8792,14 @@ static void UpdateObjectEventSpritePosition(struct Sprite *sprite)
|
||||
{
|
||||
switch(sprite->tAnimNum)
|
||||
{
|
||||
case 0:
|
||||
break;
|
||||
case UNION_ROOM_SPAWN_IN:
|
||||
MoveUnionRoomObjectDown(sprite);
|
||||
break;
|
||||
case UNION_ROOM_SPAWN_OUT:
|
||||
MoveUnionRoomObjectUp(sprite);
|
||||
break;
|
||||
case 0:
|
||||
break;
|
||||
default:
|
||||
sprite->tAnimNum = 0;
|
||||
break;
|
||||
@@ -8835,18 +8868,21 @@ u8 (*const gMovementActionFuncs_FlyDown[])(struct ObjectEvent *, struct Sprite *
|
||||
|
||||
u8 MovementAction_StoreAndLockAnim_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite)
|
||||
{
|
||||
bool8 ableToStore = FALSE;
|
||||
u32 one;
|
||||
bool32 ableToStore = FALSE;
|
||||
if (gLockedAnimObjectEvents == NULL)
|
||||
{
|
||||
gLockedAnimObjectEvents = AllocZeroed(sizeof(struct LockedAnimObjectEvents));
|
||||
gLockedAnimObjectEvents->objectEventIds[0] = objectEvent->localId;
|
||||
gLockedAnimObjectEvents->count = 1;
|
||||
ableToStore = TRUE;
|
||||
// needed to match
|
||||
gLockedAnimObjectEvents->count = (one = 1);
|
||||
ableToStore = one;
|
||||
}
|
||||
else
|
||||
{
|
||||
u8 i, firstFreeSlot;
|
||||
bool8 found;
|
||||
u8 i;
|
||||
u8 firstFreeSlot;
|
||||
bool32 found;
|
||||
for (firstFreeSlot = 16, found = FALSE, i = 0; i < 16; i++)
|
||||
{
|
||||
if (firstFreeSlot == 16 && gLockedAnimObjectEvents->objectEventIds[i] == 0)
|
||||
@@ -8879,7 +8915,7 @@ u8 MovementAction_StoreAndLockAnim_Step0(struct ObjectEvent *objectEvent, struct
|
||||
|
||||
u8 MovementAction_FreeAndUnlockAnim_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite)
|
||||
{
|
||||
bool8 ableToStore;
|
||||
bool32 ableToStore;
|
||||
u8 index;
|
||||
|
||||
sprite->data[2] = 1;
|
||||
@@ -8923,7 +8959,7 @@ void CreateLevitateMovementTask(struct ObjectEvent *objectEvent)
|
||||
u8 taskId = CreateTask(ApplyLevitateMovement, 0xFF);
|
||||
struct Task *task = &gTasks[taskId];
|
||||
|
||||
StoreWordInTwoHalfwords((u16 *)&task->data[0], (u32)objectEvent);
|
||||
StoreWordInTwoHalfwords(&task->data[0], (u32)objectEvent);
|
||||
objectEvent->warpArrowSpriteId = taskId;
|
||||
task->data[3] = 0xFFFF;
|
||||
}
|
||||
@@ -8934,7 +8970,7 @@ static void ApplyLevitateMovement(u8 taskId)
|
||||
struct Sprite *sprite;
|
||||
struct Task *task = &gTasks[taskId];
|
||||
|
||||
LoadWordFromTwoHalfwords((u16 *)&task->data[0], (u32 *)&objectEvent); // load the map object pointer.
|
||||
LoadWordFromTwoHalfwords(&task->data[0], (u32 *)&objectEvent); // load the map object pointer.
|
||||
sprite = &gSprites[objectEvent->spriteId];
|
||||
|
||||
if(!(task->data[2] & 0x3))
|
||||
@@ -8951,7 +8987,7 @@ void DestroyExtraMovementTask(u8 taskId)
|
||||
struct ObjectEvent *objectEvent;
|
||||
struct Task *task = &gTasks[taskId];
|
||||
|
||||
LoadWordFromTwoHalfwords((u16 *)&task->data[0], (u32 *)&objectEvent); // unused objectEvent
|
||||
LoadWordFromTwoHalfwords(&task->data[0], (u32 *)&objectEvent); // unused objectEvent
|
||||
DestroyTask(taskId);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user