summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/event_object_movement.c77
-rw-r--r--src/fldeff_berrytree.c14
2 files changed, 14 insertions, 77 deletions
diff --git a/src/event_object_movement.c b/src/event_object_movement.c
index 6883c82c1..bc52fba74 100644
--- a/src/event_object_movement.c
+++ b/src/event_object_movement.c
@@ -2024,72 +2024,9 @@ u8 GetFieldObjectIdByLocalId(u8 localId)
return 16;
}
-// The bitfield at 0x18 needs to be u16 for this function to match
-struct MapObjectAlt
-{
- /*0x00*/ u32 active:1;
- u32 mapobj_bit_1:1;
- u32 mapobj_bit_2:1;
- u32 mapobj_bit_3:1;
- u32 mapobj_bit_4:1;
- u32 mapobj_bit_5:1;
- u32 mapobj_bit_6:1;
- u32 mapobj_bit_7:1;
- /*0x01*/ u32 mapobj_bit_8:1;
- u32 mapobj_bit_9:1;
- u32 mapobj_bit_10:1;
- u32 mapobj_bit_11:1;
- u32 mapobj_bit_12:1;
- u32 mapobj_bit_13:1;
- u32 mapobj_bit_14:1;
- u32 mapobj_bit_15:1;
- /*0x02*/ u32 mapobj_bit_16:1;
- u32 mapobj_bit_17:1;
- u32 mapobj_bit_18:1;
- u32 mapobj_bit_19:1;
- u32 mapobj_bit_20:1;
- u32 mapobj_bit_21:1;
- u32 mapobj_bit_22:1;
- u32 mapobj_bit_23:1;
- /*0x03*/ u32 mapobj_bit_24:1;
- u32 mapobj_bit_25:1;
- u32 mapobj_bit_26:1;
- u32 mapobj_bit_27:1;
- u32 mapobj_bit_28:1;
- u32 mapobj_bit_29:1;
- u32 mapobj_bit_30:1;
- u32 mapobj_bit_31:1;
- /*0x04*/ u8 spriteId;
- /*0x05*/ u8 graphicsId;
- /*0x06*/ u8 animPattern;
- /*0x07*/ u8 trainerType;
- /*0x08*/ u8 localId;
- /*0x09*/ u8 mapNum;
- /*0x0A*/ u8 mapGroup;
- /*0x0B*/ u8 mapobj_unk_0B_0:4;
- u8 elevation:4;
- /*0x0C*/ struct Coords16 coords1;
- /*0x10*/ struct Coords16 coords2;
- /*0x14*/ struct Coords16 coords3;
- /*0x18*/ u16 mapobj_unk_18:4; //current direction?
- /*0x18*/ u16 placeholder18:4;
- /*0x19*/ u16 rangeX:4;
- /*0x19*/ u16 rangeY:4;
- /*0x1A*/ u8 mapobj_unk_1A;
- /*0x1B*/ u8 mapobj_unk_1B;
- /*0x1C*/ u8 mapobj_unk_1C;
- /*0x1D*/ u8 trainerRange_berryTreeId;
- /*0x1E*/ u8 mapobj_unk_1E;
- /*0x1F*/ u8 mapobj_unk_1F;
- /*0x20*/ u8 mapobj_unk_20;
- /*0x21*/ u8 mapobj_unk_21;
- /*0x22*/ u8 animId;
- /*size = 0x24*/
-};
-
u8 InitFieldObjectStateFromTemplate(struct MapObjectTemplate *template, u8 b, u8 c)
{
- struct MapObjectAlt *mapObj; //TODO: resolve the mapobj_unk_19b weirdness
+ struct MapObject *mapObj;
u8 var;
s16 r3;
s16 r2;
@@ -2116,8 +2053,8 @@ u8 InitFieldObjectStateFromTemplate(struct MapObjectTemplate *template, u8 b, u8
mapObj->coords3.y = r2;
mapObj->mapobj_unk_0B_0 = template->elevation;
mapObj->elevation = template->elevation;
- mapObj->rangeX = template->unkA_0;
- mapObj->rangeY = template->unkA_4;
+ mapObj->range.as_nybbles.x = template->unkA_0;
+ mapObj->range.as_nybbles.y = template->unkA_4;
mapObj->trainerType = template->unkC;
mapObj->trainerRange_berryTreeId = template->unkE;
mapObj->mapobj_unk_20 = gUnknown_0836DC09[template->movementType];
@@ -2126,10 +2063,10 @@ u8 InitFieldObjectStateFromTemplate(struct MapObjectTemplate *template, u8 b, u8
FieldObjectHandleDynamicGraphicsId((struct MapObject *)mapObj);
if (gUnknown_0836DBBC[mapObj->animPattern] != 0)
{
- if (mapObj->rangeX == 0)
- mapObj->rangeX++;
- if (mapObj->rangeY == 0)
- mapObj->rangeY++;
+ if (mapObj->range.as_nybbles.x == 0)
+ mapObj->range.as_nybbles.x++;
+ if (mapObj->range.as_nybbles.y == 0)
+ mapObj->range.as_nybbles.y++;
}
#if DEBUG
gUnknown_Debug_03004BC0++;
diff --git a/src/fldeff_berrytree.c b/src/fldeff_berrytree.c
index 6b03e9952..fa4a7e76b 100644
--- a/src/fldeff_berrytree.c
+++ b/src/fldeff_berrytree.c
@@ -15,26 +15,26 @@ static void Task_WateringBerryTreeAnim_0(u8 taskId)
static void Task_WateringBerryTreeAnim_1(u8 taskId)
{
- struct MapObject *mapObject = &gMapObjects[gPlayerAvatar.mapObjectId];
- if (!FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive(mapObject)
- || FieldObjectClearAnimIfSpecialAnimFinished(mapObject))
+ struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId];
+ if (!FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive(playerMapObj)
+ || FieldObjectClearAnimIfSpecialAnimFinished(playerMapObj))
{
sub_8059D08(player_get_direction_lower_nybble());
- FieldObjectSetSpecialAnim(mapObject, GetStepInPlaceDelay16AnimId(player_get_direction_lower_nybble()));
+ FieldObjectSetSpecialAnim(playerMapObj, GetStepInPlaceDelay16AnimId(player_get_direction_lower_nybble()));
gTasks[taskId].func = Task_WateringBerryTreeAnim_2;
}
}
static void Task_WateringBerryTreeAnim_2(u8 taskId)
{
- struct MapObject *mapObject = &gMapObjects[gPlayerAvatar.mapObjectId];
- if (FieldObjectClearAnimIfSpecialAnimFinished(mapObject))
+ struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId];
+ if (FieldObjectClearAnimIfSpecialAnimFinished(playerMapObj))
{
s16 value = gTasks[taskId].data[1]++;
if (value < 10)
{
- FieldObjectSetSpecialAnim(mapObject, GetStepInPlaceDelay16AnimId(player_get_direction_lower_nybble()));
+ FieldObjectSetSpecialAnim(playerMapObj, GetStepInPlaceDelay16AnimId(player_get_direction_lower_nybble()));
}
else
{