diff options
author | Kurausukun <lord.uber1@gmail.com> | 2020-12-14 21:41:30 -0500 |
---|---|---|
committer | Kurausukun <lord.uber1@gmail.com> | 2020-12-14 21:41:30 -0500 |
commit | 6faa63347a9ad99d90f81c24fa41531cd20656bb (patch) | |
tree | 79a6a7d7e7af8929187a6ba1360588ac7237233e /src | |
parent | 58976ebaa8d73d174940f622ec36f22bcd2fd8a2 (diff) |
document reuse of variables in link mode
Diffstat (limited to 'src')
-rw-r--r-- | src/overworld.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/overworld.c b/src/overworld.c index dbc923e7b..3a7eb34de 100644 --- a/src/overworld.c +++ b/src/overworld.c @@ -2908,6 +2908,9 @@ static void ZeroObjectEvent(struct ObjectEvent *objEvent) memset(objEvent, 0, sizeof(struct ObjectEvent)); } +// Note: Emerald reuses the direction and range variables during Link mode +// as special gender and direction values. The types and placement +// conflict with the usual Event Object struct, thus the definitions. #define linkGender(obj) obj->singleMovementActive // not even one can reference *byte* aligned bitfield members... #define linkDirection(obj) ((u8*)obj)[offsetof(typeof(*obj), fieldEffectSpriteId) - 1] // -> rangeX |