mirror of
https://github.com/pret/pokeemerald.git
synced 2026-09-27 12:26:51 -05:00
feat: improved follower handling during scripted movements
This commit is contained in:
@@ -289,6 +289,12 @@
|
||||
// instead of a normal pokeball
|
||||
#define OW_MON_POKEBALLS TRUE
|
||||
|
||||
// New/old handling for followers during scripts;
|
||||
// TRUE: Script collisions hide follower, FLAG_SAFE_FOLLOWER_MOVEMENT on by default
|
||||
// (scripted player movement moves follower too!)
|
||||
// FALSE: Script collisions unhandled, FLAG_SAFE_FOLLOWER_MOVEMENT off by default
|
||||
#define OW_MON_SCRIPT_MOVEMENT TRUE
|
||||
|
||||
#define SHADOW_SIZE_S 0
|
||||
#define SHADOW_SIZE_M 1
|
||||
#define SHADOW_SIZE_L 2
|
||||
|
||||
@@ -1643,7 +1643,9 @@
|
||||
#define FLAG_ENABLE_MULTI_CORRIDOR_DOOR (SPECIAL_FLAGS_START + 0x2)
|
||||
#define FLAG_SPECIAL_FLAG_UNUSED_0x4003 (SPECIAL_FLAGS_START + 0x3) // Unused Flag
|
||||
#define FLAG_STORING_ITEMS_IN_PYRAMID_BAG (SPECIAL_FLAGS_START + 0x4)
|
||||
#define FLAG_SAFE_FOLLOWER_MOVEMENT (SPECIAL_FLAGS_START + 0x5) // When set, applymovement does not put the follower inside a pokeball
|
||||
// When set, `applymovement` does not hide follower pokemon;
|
||||
// Also, scripted movements on the player will move follower(s), too
|
||||
#define FLAG_SAFE_FOLLOWER_MOVEMENT (SPECIAL_FLAGS_START + 0x5)
|
||||
// FLAG_SPECIAL_FLAG_0x4005 - 0x407F also exist and are unused
|
||||
#define SPECIAL_FLAGS_END (SPECIAL_FLAGS_START + 0x7F)
|
||||
#define NUM_SPECIAL_FLAGS (SPECIAL_FLAGS_END - SPECIAL_FLAGS_START + 1)
|
||||
|
||||
@@ -161,6 +161,7 @@ u8 GetWalkInPlaceFastMovementAction(u32);
|
||||
u8 GetWalkInPlaceNormalMovementAction(u32);
|
||||
u8 GetWalkInPlaceSlowMovementAction(u32);
|
||||
u8 GetCollisionAtCoords(struct ObjectEvent *, s16 x, s16 y, u32 dir);
|
||||
u32 GetObjectObjectCollidesWith(struct ObjectEvent *objectEvent, s16 x, s16 y, bool32 addCoords);
|
||||
void MoveCoords(u8 direction, s16 *x, s16 *y);
|
||||
bool8 ObjectEventIsHeldMovementActive(struct ObjectEvent *);
|
||||
u8 ObjectEventClearHeldMovementIfFinished(struct ObjectEvent *);
|
||||
|
||||
Reference in New Issue
Block a user