diff --git a/README.md b/README.md index c3648a0443..893678a2dc 100644 --- a/README.md +++ b/README.md @@ -4,13 +4,13 @@ This is a fork of the [matching decompilation](https://github.com/pret/pokeemera This fork tries to maintain vanilla compatibility whenever possible. It doesn't increase the size of any save data structure or the object event structure. -There are several branches, each with one main feature: +There are several branches, each with one main feature (and sometimes some extra stuff): **followers** branch: * [HGSS-style pokémon followers](https://bulbapedia.bulbagarden.net/wiki/Walking_Pok%C3%A9mon#Pok.C3.A9mon_HeartGold_and_SoulSilver) for all 386 pokémon, including emotes, the 28 Unown forms and a majority of follower messages. * Dynamic overworld palettes & reflections compatible with vanilla berry trees. -* Function to change a pokemon's nature while preserving most properties of its PID. -* Function to detect newer emulators/new GBA hardware. +* PID (but not legitimacy) preserving Pokémon nature-changing function +* Function to detect modern emulators/GBA hardware. **icons** branch: * Everything from the **followers** branch. @@ -28,6 +28,11 @@ There are several branches, each with one main feature: * WIP interframe-blended lamp lights at night, i.e in Rustboro. * HGSS-style alpha-blended shadows for object events. +Additional branches to mention: + +* `followers-expanded-id` - like `followers`, but includes backwards-compatible 16-bit graphics IDs for object events. +* `lighting-expanded-id` - like the above but for `lighting`. + To set up the repository, see [INSTALL.md](INSTALL.md). ## See also diff --git a/src/event_object_movement.c b/src/event_object_movement.c index 6bd8803cbd..49523559dd 100644 --- a/src/event_object_movement.c +++ b/src/event_object_movement.c @@ -5190,6 +5190,11 @@ bool8 FollowablePlayerMovement_Step(struct ObjectEvent *objectEvent, struct Spri ClearObjectEventMovement(objectEvent, sprite); if (objectEvent->invisible) { // Animate exiting pokeball + // Player is jumping, but follower is invisible + if (PlayerGetCopyableMovement() == COPY_MOVE_JUMP2) { + sprite->sTypeFuncId = 0; // return to shadowing state + return FALSE; + } MoveObjectEventToMapCoords(objectEvent, targetX, targetY); ObjectEventSetSingleMovement(objectEvent, sprite, MOVEMENT_ACTION_EXIT_POKEBALL); objectEvent->singleMovementActive = 1;