mirror of
https://github.com/zeldaret/oot.git
synced 2025-10-20 05:30:26 +00:00
Fixup weird horse flags usage (#1214)
* wip: refactor flag defines for `eventInf[0]` * Cleanup attempt * run formatter * remove spacing in enum indices comments * Add line breaks * Macros +`()` -`;`
This commit is contained in:
parent
3b0e095ee6
commit
6cd8029cd5
12 changed files with 146 additions and 185 deletions
|
@ -644,31 +644,55 @@ typedef enum {
|
|||
*/
|
||||
|
||||
// 0x00-0x0F
|
||||
#define EVENTINF_0X_INDEX 0
|
||||
#define EVENTINF_00_SHIFT 0
|
||||
#define EVENTINF_01_SHIFT 1
|
||||
#define EVENTINF_02_SHIFT 2
|
||||
#define EVENTINF_03_SHIFT 3
|
||||
#define EVENTINF_04_SHIFT 4
|
||||
#define EVENTINF_05_SHIFT 5
|
||||
#define EVENTINF_06_SHIFT 6
|
||||
#define EVENTINF_08_SHIFT 8
|
||||
#define EVENTINF_0A_SHIFT 10
|
||||
#define EVENTINF_0F_SHIFT 15
|
||||
#define EVENTINF_00_MASK (1 << EVENTINF_00_SHIFT)
|
||||
#define EVENTINF_01_MASK (1 << EVENTINF_01_SHIFT)
|
||||
#define EVENTINF_02_MASK (1 << EVENTINF_02_SHIFT)
|
||||
#define EVENTINF_03_MASK (1 << EVENTINF_03_SHIFT)
|
||||
#define EVENTINF_04_MASK (1 << EVENTINF_04_SHIFT)
|
||||
#define EVENTINF_05_MASK (1 << EVENTINF_05_SHIFT)
|
||||
#define EVENTINF_06_MASK (1 << EVENTINF_06_SHIFT)
|
||||
#define EVENTINF_0F_MASK (1 << EVENTINF_0F_SHIFT)
|
||||
#define EVENTINF_04 ((EVENTINF_0X_INDEX << 4) | EVENTINF_04_SHIFT)
|
||||
#define EVENTINF_05 ((EVENTINF_0X_INDEX << 4) | EVENTINF_05_SHIFT)
|
||||
#define EVENTINF_06 ((EVENTINF_0X_INDEX << 4) | EVENTINF_06_SHIFT)
|
||||
#define EVENTINF_08 ((EVENTINF_0X_INDEX << 4) | EVENTINF_08_SHIFT)
|
||||
#define EVENTINF_0A ((EVENTINF_0X_INDEX << 4) | EVENTINF_0A_SHIFT)
|
||||
#define EVENTINF_0F ((EVENTINF_0X_INDEX << 4) | EVENTINF_0F_SHIFT)
|
||||
// horses related
|
||||
#define EVENTINF_HORSES_INDEX 0
|
||||
#define EVENTINF_HORSES_STATE_SHIFT 0
|
||||
#define EVENTINF_HORSES_HORSETYPE_SHIFT 4
|
||||
#define EVENTINF_HORSES_05_SHIFT 5
|
||||
#define EVENTINF_HORSES_06_SHIFT 6
|
||||
#define EVENTINF_HORSES_08_SHIFT 8
|
||||
#define EVENTINF_HORSES_0A_SHIFT 10
|
||||
#define EVENTINF_HORSES_0F_SHIFT 15 // unused?
|
||||
#define EVENTINF_HORSES_STATE_MASK (0xF << EVENTINF_HORSES_STATE_SHIFT)
|
||||
#define EVENTINF_HORSES_HORSETYPE_MASK (1 << EVENTINF_HORSES_HORSETYPE_SHIFT)
|
||||
#define EVENTINF_HORSES_05_MASK (1 << EVENTINF_HORSES_05_SHIFT)
|
||||
#define EVENTINF_HORSES_06_MASK (1 << EVENTINF_HORSES_06_SHIFT)
|
||||
#define EVENTINF_HORSES_0F_MASK (1 << EVENTINF_HORSES_0F_SHIFT)
|
||||
#define EVENTINF_HORSES_05 ((EVENTINF_HORSES_INDEX << 4) | EVENTINF_HORSES_05_SHIFT)
|
||||
#define EVENTINF_HORSES_06 ((EVENTINF_HORSES_INDEX << 4) | EVENTINF_HORSES_06_SHIFT)
|
||||
#define EVENTINF_HORSES_08 ((EVENTINF_HORSES_INDEX << 4) | EVENTINF_HORSES_08_SHIFT)
|
||||
#define EVENTINF_HORSES_0A ((EVENTINF_HORSES_INDEX << 4) | EVENTINF_HORSES_0A_SHIFT)
|
||||
|
||||
typedef enum {
|
||||
/* 0 */ EVENTINF_HORSES_STATE_0,
|
||||
/* 1 */ EVENTINF_HORSES_STATE_1,
|
||||
/* 2 */ EVENTINF_HORSES_STATE_2,
|
||||
/* 3 */ EVENTINF_HORSES_STATE_3,
|
||||
/* 4 */ EVENTINF_HORSES_STATE_4,
|
||||
/* 5 */ EVENTINF_HORSES_STATE_5,
|
||||
/* 6 */ EVENTINF_HORSES_STATE_6,
|
||||
/* 7 */ EVENTINF_HORSES_STATE_7
|
||||
} EventInfHorsesState;
|
||||
|
||||
// "InRaceSeq"
|
||||
#define GET_EVENTINF_HORSES_STATE() \
|
||||
((gSaveContext.eventInf[EVENTINF_HORSES_INDEX] & EVENTINF_HORSES_STATE_MASK) >> EVENTINF_HORSES_STATE_SHIFT)
|
||||
#define SET_EVENTINF_HORSES_STATE(v) \
|
||||
gSaveContext.eventInf[EVENTINF_HORSES_INDEX] = \
|
||||
(gSaveContext.eventInf[EVENTINF_HORSES_INDEX] & ~EVENTINF_HORSES_STATE_MASK) | \
|
||||
((v) << EVENTINF_HORSES_STATE_SHIFT)
|
||||
|
||||
#define GET_EVENTINF_HORSES_HORSETYPE() \
|
||||
((gSaveContext.eventInf[EVENTINF_HORSES_INDEX] & EVENTINF_HORSES_HORSETYPE_MASK) >> EVENTINF_HORSES_HORSETYPE_SHIFT)
|
||||
#define SET_EVENTINF_HORSES_HORSETYPE(v) \
|
||||
gSaveContext.eventInf[EVENTINF_HORSES_INDEX] = \
|
||||
(gSaveContext.eventInf[EVENTINF_HORSES_INDEX] & ~EVENTINF_HORSES_HORSETYPE_MASK) | \
|
||||
((v) << EVENTINF_HORSES_HORSETYPE_SHIFT)
|
||||
|
||||
#define SET_EVENTINF_HORSES_0F(v) \
|
||||
gSaveContext.eventInf[EVENTINF_HORSES_INDEX] = \
|
||||
(gSaveContext.eventInf[EVENTINF_HORSES_INDEX] & ~EVENTINF_HORSES_0F_MASK) | ((v) << EVENTINF_HORSES_0F_SHIFT)
|
||||
|
||||
|
||||
#define EVENTINF_10 0x10
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue