1
0
Fork 0
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:
Dragorn421 2022-05-09 00:17:10 +02:00 committed by GitHub
commit 6cd8029cd5
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
12 changed files with 146 additions and 185 deletions

View file

@ -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