diff options
author | PikalaxALT <PikalaxALT@gmail.com> | 2020-02-02 11:23:04 -0500 |
---|---|---|
committer | PikalaxALT <PikalaxALT@gmail.com> | 2020-02-02 11:23:04 -0500 |
commit | ceeed6247dbeca94fdb073441b98a885da44ffe1 (patch) | |
tree | 93e2c1f0b966e704922a14ca7df62f955a0f2c96 | |
parent | ba7403c74e214fe798095e99949461aaadd274c7 (diff) |
Port object event flags from emerald
-rw-r--r-- | include/global.fieldmap.h | 108 | ||||
-rw-r--r-- | include/global.h | 32 | ||||
-rw-r--r-- | src/event_object_80688E4.c | 16 | ||||
-rw-r--r-- | src/event_object_lock.c | 4 | ||||
-rw-r--r-- | src/field_fadetransition.c | 2 | ||||
-rw-r--r-- | src/field_specials.c | 2 | ||||
-rw-r--r-- | src/quest_log_objects.c | 64 | ||||
-rw-r--r-- | src/quest_log_player.c | 2 | ||||
-rw-r--r-- | src/vs_seeker.c | 2 |
9 files changed, 114 insertions, 118 deletions
diff --git a/include/global.fieldmap.h b/include/global.fieldmap.h index b7f28d8a0..e0053fe88 100644 --- a/include/global.fieldmap.h +++ b/include/global.fieldmap.h @@ -168,62 +168,58 @@ struct MapHeader struct ObjectEvent { - /*0x00*/ u32 active:1; - u32 mapobj_bit_1:1; - u32 mapobj_bit_2:1; - u32 mapobj_bit_3:1; - u32 mapobj_bit_4:1; - u32 mapobj_bit_5:1; - u32 mapobj_bit_6:1; - u32 mapobj_bit_7:1; - /*0x01*/ u32 mapobj_bit_8:1; - u32 mapobj_bit_9:1; - u32 mapobj_bit_10:1; - u32 mapobj_bit_11:1; - u32 mapobj_bit_12:1; - u32 mapobj_bit_13:1; - u32 mapobj_bit_14:1; - u32 mapobj_bit_15:1; - /*0x02*/ u32 mapobj_bit_16:1; - u32 mapobj_bit_17:1; - u32 mapobj_bit_18:1; - u32 mapobj_bit_19:1; - u32 mapobj_bit_20:1; - u32 mapobj_bit_21:1; - u32 hasShadow:1; - u32 mapobj_bit_23:1; - /*0x03*/ u32 mapobj_bit_24:1; - u32 mapobj_bit_25:1; - u32 mapobj_bit_26:1; - u32 mapobj_bit_27:1; - u32 mapobj_bit_28:1; - u32 mapobj_bit_29:1; - u32 mapobj_bit_30:1; - u32 mapobj_bit_31:1; - /*0x04*/ u8 spriteId; - /*0x05*/ u8 graphicsId; - /*0x06*/ u8 animPattern; - /*0x07*/ u8 trainerType; - /*0x08*/ u8 localId; - /*0x09*/ u8 mapNum; - /*0x0A*/ u8 mapGroup; - /*0x0B*/ u8 mapobj_unk_0B_0:4; - u8 elevation:4; - /*0x0C*/ struct Coords16 coords1; - /*0x10*/ struct Coords16 coords2; - /*0x14*/ struct Coords16 coords3; - /*0x18*/ u8 facingDirection:4; //current direction? - /*0x18*/ u8 placeholder18:4; - /*0x19*/ union ObjectEventRange range; - /*0x1A*/ u8 mapobj_unk_1A; - /*0x1B*/ u8 mapobj_unk_1B; - /*0x1C*/ u8 mapobj_unk_1C; - /*0x1D*/ u8 trainerRange_berryTreeId; - /*0x1E*/ u8 mapobj_unk_1E; - /*0x1F*/ u8 mapobj_unk_1F; - /*0x20*/ u8 mapobj_unk_20; - /*0x21*/ u8 mapobj_unk_21; - /*0x22*/ u8 animId; + /*0x00*/ /* 0*/ u32 active:1; + /* 1*/ u32 singleMovementActive:1; + /* 2*/ u32 triggerGroundEffectsOnMove:1; + /* 3*/ u32 triggerGroundEffectsOnStop:1; + /* 4*/ u32 disableCoveringGroundEffects:1; + /* 5*/ u32 landingJump:1; + /* 6*/ u32 heldMovementActive:1; + /* 7*/ u32 heldMovementFinished:1; + /*0x01*/ /* 8*/ u32 frozen:1; + /* 9*/ u32 facingDirectionLocked:1; + /*10*/ u32 disableAnim:1; + /*11*/ u32 enableAnim:1; + /*12*/ u32 inanimate:1; + /*13*/ u32 invisible:1; + /*14*/ u32 offScreen:1; + /*15*/ u32 trackedByCamera:1; + /*0x02*/ /*16*/ u32 isPlayer:1; + /*17*/ u32 hasReflection:1; + /*18*/ u32 inShortGrass:1; + /*19*/ u32 inShallowFlowingWater:1; + /*20*/ u32 inSandPile:1; + /*21*/ u32 inHotSprings:1; + /*22*/ u32 hasShadow:1; + /*23*/ u32 spriteAnimPausedBackup:1; + /*0x03*/ /*24*/ u32 spriteAffineAnimPausedBackup:1; + /*25*/ u32 disableJumpLandingGroundEffect:1; + /*26*/ u32 fixedPriority:1; + /*27*/ u32 hideReflection:1; + /*0x04*/ u8 spriteId; + /*0x05*/ u8 graphicsId; + /*0x06*/ u8 animPattern; + /*0x07*/ u8 trainerType; + /*0x08*/ u8 localId; + /*0x09*/ u8 mapNum; + /*0x0A*/ u8 mapGroup; + /*0x0B*/ u8 mapobj_unk_0B_0:4; + u8 elevation:4; + /*0x0C*/ struct Coords16 coords1; + /*0x10*/ struct Coords16 coords2; + /*0x14*/ struct Coords16 coords3; + /*0x18*/ u8 facingDirection:4; //current direction? + /*0x18*/ u8 placeholder18:4; + /*0x19*/ union ObjectEventRange range; + /*0x1A*/ u8 mapobj_unk_1A; + /*0x1B*/ u8 mapobj_unk_1B; + /*0x1C*/ u8 mapobj_unk_1C; + /*0x1D*/ u8 trainerRange_berryTreeId; + /*0x1E*/ u8 mapobj_unk_1E; + /*0x1F*/ u8 mapobj_unk_1F; + /*0x20*/ u8 mapobj_unk_20; + /*0x21*/ u8 mapobj_unk_21; + /*0x22*/ u8 animId; /*size = 0x24*/ }; diff --git a/include/global.h b/include/global.h index 2f87a0c29..a0027f9dc 100644 --- a/include/global.h +++ b/include/global.h @@ -591,22 +591,22 @@ union QuestLogMovement struct QuestLogObjectEvent { /*0x00*/ u8 active:1; - /*0x00*/ u8 mapobj_bit_3:1; - /*0x00*/ u8 mapobj_bit_4:1; - /*0x00*/ u8 mapobj_bit_5:1; - /*0x00*/ u8 mapobj_bit_8:1; - /*0x00*/ u8 mapobj_bit_9:1; - /*0x00*/ u8 mapobj_bit_10:1; - /*0x00*/ u8 mapobj_bit_11:1; - /*0x01*/ u8 mapobj_bit_12:1; - /*0x01*/ u8 mapobj_bit_13:1; - /*0x01*/ u8 mapobj_bit_14:1; - /*0x01*/ u8 mapobj_bit_15:1; - /*0x01*/ u8 mapobj_bit_16:1; - /*0x01*/ u8 mapobj_bit_23:1; - /*0x01*/ u8 mapobj_bit_24:1; - /*0x01*/ u8 mapobj_bit_25:1; - /*0x02*/ u8 mapobj_bit_26:1; + /*0x00*/ u8 triggerGroundEffectsOnStop:1; + /*0x00*/ u8 disableCoveringGroundEffects:1; + /*0x00*/ u8 landingJump:1; + /*0x00*/ u8 frozen:1; + /*0x00*/ u8 facingDirectionLocked:1; + /*0x00*/ u8 disableAnim:1; + /*0x00*/ u8 enableAnim:1; + /*0x01*/ u8 inanimate:1; + /*0x01*/ u8 invisible:1; + /*0x01*/ u8 offScreen:1; + /*0x01*/ u8 trackedByCamera:1; + /*0x01*/ u8 isPlayer:1; + /*0x01*/ u8 spriteAnimPausedBackup:1; + /*0x01*/ u8 spriteAffineAnimPausedBackup:1; + /*0x01*/ u8 disableJumpLandingGroundEffect:1; + /*0x02*/ u8 fixedPriority:1; /*0x02*/ u8 mapobj_unk_18:4; /*0x02*/ u8 unused_02_5:3; /*0x03*/ u8 mapobj_unk_0B_0:4; diff --git a/src/event_object_80688E4.c b/src/event_object_80688E4.c index 4ce976b6d..133052642 100644 --- a/src/event_object_80688E4.c +++ b/src/event_object_80688E4.c @@ -10,11 +10,11 @@ static void DoObjectUnionRoomWarpYDisplacement(struct Sprite * sprite); bool8 FreezeObjectEvent(struct ObjectEvent * objectEvent) { - if (objectEvent->mapobj_bit_6 || objectEvent->mapobj_bit_8) + if (objectEvent->heldMovementActive || objectEvent->frozen) return TRUE; - objectEvent->mapobj_bit_8 = TRUE; - objectEvent->mapobj_bit_23 = gSprites[objectEvent->spriteId].animPaused; - objectEvent->mapobj_bit_24 = gSprites[objectEvent->spriteId].affineAnimPaused; + objectEvent->frozen = TRUE; + objectEvent->spriteAnimPausedBackup = gSprites[objectEvent->spriteId].animPaused; + objectEvent->spriteAffineAnimPausedBackup = gSprites[objectEvent->spriteId].affineAnimPaused; gSprites[objectEvent->spriteId].animPaused = TRUE; gSprites[objectEvent->spriteId].affineAnimPaused = TRUE; return FALSE; @@ -42,11 +42,11 @@ void FreezeObjectEventsExceptOne(u8 noFreeze) void UnfreezeObjectEvent(struct ObjectEvent * objectEvent) { - if (objectEvent->active && objectEvent->mapobj_bit_8) + if (objectEvent->active && objectEvent->frozen) { - objectEvent->mapobj_bit_8 = FALSE; - gSprites[objectEvent->spriteId].animPaused = objectEvent->mapobj_bit_23; - gSprites[objectEvent->spriteId].affineAnimPaused = objectEvent->mapobj_bit_24; + objectEvent->frozen = FALSE; + gSprites[objectEvent->spriteId].animPaused = objectEvent->spriteAnimPausedBackup; + gSprites[objectEvent->spriteId].affineAnimPaused = objectEvent->spriteAffineAnimPausedBackup; } } diff --git a/src/event_object_lock.c b/src/event_object_lock.c index e91642aa2..cf500054f 100644 --- a/src/event_object_lock.c +++ b/src/event_object_lock.c @@ -51,7 +51,7 @@ void sub_80695CC(u8 taskId) task->data[0] = 1; } - if (task->data[1] == 0 && !gObjectEvents[gSelectedObjectEvent].mapobj_bit_1) + if (task->data[1] == 0 && !gObjectEvents[gSelectedObjectEvent].singleMovementActive) { FreezeObjectEvent(&gObjectEvents[gSelectedObjectEvent]); task->data[1] = 1; @@ -78,7 +78,7 @@ void LockSelectedObjectEvent(void) FreezeObjectEventsExceptOne(gSelectedObjectEvent); taskId = CreateTask(sub_80695CC, 80); - if (!gObjectEvents[gSelectedObjectEvent].mapobj_bit_1) + if (!gObjectEvents[gSelectedObjectEvent].singleMovementActive) { FreezeObjectEvent(&gObjectEvents[gSelectedObjectEvent]); gTasks[taskId].data[1] = 1; diff --git a/src/field_fadetransition.c b/src/field_fadetransition.c index 0af5f462c..42fe26c91 100644 --- a/src/field_fadetransition.c +++ b/src/field_fadetransition.c @@ -850,7 +850,7 @@ static void sub_807EAC4(s16 a0, s16 a1, s16 *a2, s16 *a3, s16 *a4) (*a4)++; playerSpr->pos2.x = *a2 >> 5; playerSpr->pos2.y = *a3 >> 5; - if (playerObj->mapobj_bit_7) + if (playerObj->heldMovementFinished) { ObjectEventForceSetSpecialAnim(playerObj, GetStepInPlaceDelay16AnimId(GetPlayerFacingDirection())); } diff --git a/src/field_specials.c b/src/field_specials.c index 57bf53830..bb320d42a 100644 --- a/src/field_specials.c +++ b/src/field_specials.c @@ -316,7 +316,7 @@ void Special_AnimatePcTurnOff() void SpawnCameraObject(void) { u8 objectEventId = SpawnSpecialObjectEventParameterized(OBJECT_EVENT_GFX_YOUNGSTER, 8, 127, gSaveBlock1Ptr->pos.x + 7, gSaveBlock1Ptr->pos.y + 7, 3); - gObjectEvents[objectEventId].mapobj_bit_13 = TRUE; + gObjectEvents[objectEventId].invisible = TRUE; CameraObjectSetFollowedObjectId(gObjectEvents[objectEventId].spriteId); } diff --git a/src/quest_log_objects.c b/src/quest_log_objects.c index 7917d03e9..aecc5fd68 100644 --- a/src/quest_log_objects.c +++ b/src/quest_log_objects.c @@ -14,22 +14,22 @@ void SetQuestLogObjectEventsData(struct QuestLog * questLog) for (i = 0; i < OBJECT_EVENTS_COUNT; i++) { questLog->unk_008[i].active = gObjectEvents[i].active; - questLog->unk_008[i].mapobj_bit_3 = gObjectEvents[i].mapobj_bit_3; - questLog->unk_008[i].mapobj_bit_4 = gObjectEvents[i].mapobj_bit_4; - questLog->unk_008[i].mapobj_bit_5 = gObjectEvents[i].mapobj_bit_5; - questLog->unk_008[i].mapobj_bit_8 = gObjectEvents[i].mapobj_bit_8; - questLog->unk_008[i].mapobj_bit_9 = gObjectEvents[i].mapobj_bit_9; - questLog->unk_008[i].mapobj_bit_10 = gObjectEvents[i].mapobj_bit_10; - questLog->unk_008[i].mapobj_bit_11 = gObjectEvents[i].mapobj_bit_11; - questLog->unk_008[i].mapobj_bit_12 = gObjectEvents[i].mapobj_bit_12; - questLog->unk_008[i].mapobj_bit_13 = gObjectEvents[i].mapobj_bit_13; - questLog->unk_008[i].mapobj_bit_14 = gObjectEvents[i].mapobj_bit_14; - questLog->unk_008[i].mapobj_bit_15 = gObjectEvents[i].mapobj_bit_15; - questLog->unk_008[i].mapobj_bit_16 = gObjectEvents[i].mapobj_bit_16; - questLog->unk_008[i].mapobj_bit_23 = gObjectEvents[i].mapobj_bit_23; - questLog->unk_008[i].mapobj_bit_24 = gObjectEvents[i].mapobj_bit_24; - questLog->unk_008[i].mapobj_bit_25 = gObjectEvents[i].mapobj_bit_25; - questLog->unk_008[i].mapobj_bit_26 = gObjectEvents[i].mapobj_bit_26; + questLog->unk_008[i].triggerGroundEffectsOnStop = gObjectEvents[i].triggerGroundEffectsOnStop; + questLog->unk_008[i].disableCoveringGroundEffects = gObjectEvents[i].disableCoveringGroundEffects; + questLog->unk_008[i].landingJump = gObjectEvents[i].landingJump; + questLog->unk_008[i].frozen = gObjectEvents[i].frozen; + questLog->unk_008[i].facingDirectionLocked = gObjectEvents[i].facingDirectionLocked; + questLog->unk_008[i].disableAnim = gObjectEvents[i].disableAnim; + questLog->unk_008[i].enableAnim = gObjectEvents[i].enableAnim; + questLog->unk_008[i].inanimate = gObjectEvents[i].inanimate; + questLog->unk_008[i].invisible = gObjectEvents[i].invisible; + questLog->unk_008[i].offScreen = gObjectEvents[i].offScreen; + questLog->unk_008[i].trackedByCamera = gObjectEvents[i].trackedByCamera; + questLog->unk_008[i].isPlayer = gObjectEvents[i].isPlayer; + questLog->unk_008[i].spriteAnimPausedBackup = gObjectEvents[i].spriteAnimPausedBackup; + questLog->unk_008[i].spriteAffineAnimPausedBackup = gObjectEvents[i].spriteAffineAnimPausedBackup; + questLog->unk_008[i].disableJumpLandingGroundEffect = gObjectEvents[i].disableJumpLandingGroundEffect; + questLog->unk_008[i].fixedPriority = gObjectEvents[i].fixedPriority; questLog->unk_008[i].mapobj_unk_18 = gObjectEvents[i].facingDirection; questLog->unk_008[i].mapobj_unk_0B_0 = gObjectEvents[i].mapobj_unk_0B_0; questLog->unk_008[i].elevation = gObjectEvents[i].elevation; @@ -58,22 +58,22 @@ void sub_815A1F8(const struct QuestLog * questLog, const struct ObjectEventTempl for (i = 0; i < OBJECT_EVENTS_COUNT; i++) { gObjectEvents[i].active = questLogObjectEvents[i].active; - gObjectEvents[i].mapobj_bit_3 = questLogObjectEvents[i].mapobj_bit_3; - gObjectEvents[i].mapobj_bit_4 = questLogObjectEvents[i].mapobj_bit_4; - gObjectEvents[i].mapobj_bit_5 = questLogObjectEvents[i].mapobj_bit_5; - gObjectEvents[i].mapobj_bit_8 = questLogObjectEvents[i].mapobj_bit_8; - gObjectEvents[i].mapobj_bit_9 = questLogObjectEvents[i].mapobj_bit_9; - gObjectEvents[i].mapobj_bit_10 = questLogObjectEvents[i].mapobj_bit_10; - gObjectEvents[i].mapobj_bit_11 = questLogObjectEvents[i].mapobj_bit_11; - gObjectEvents[i].mapobj_bit_12 = questLogObjectEvents[i].mapobj_bit_12; - gObjectEvents[i].mapobj_bit_13 = questLogObjectEvents[i].mapobj_bit_13; - gObjectEvents[i].mapobj_bit_14 = questLogObjectEvents[i].mapobj_bit_14; - gObjectEvents[i].mapobj_bit_15 = questLogObjectEvents[i].mapobj_bit_15; - gObjectEvents[i].mapobj_bit_16 = questLogObjectEvents[i].mapobj_bit_16; - gObjectEvents[i].mapobj_bit_23 = questLogObjectEvents[i].mapobj_bit_23; - gObjectEvents[i].mapobj_bit_24 = questLogObjectEvents[i].mapobj_bit_24; - gObjectEvents[i].mapobj_bit_25 = questLogObjectEvents[i].mapobj_bit_25; - gObjectEvents[i].mapobj_bit_26 = questLogObjectEvents[i].mapobj_bit_26; + gObjectEvents[i].triggerGroundEffectsOnStop = questLogObjectEvents[i].triggerGroundEffectsOnStop; + gObjectEvents[i].disableCoveringGroundEffects = questLogObjectEvents[i].disableCoveringGroundEffects; + gObjectEvents[i].landingJump = questLogObjectEvents[i].landingJump; + gObjectEvents[i].frozen = questLogObjectEvents[i].frozen; + gObjectEvents[i].facingDirectionLocked = questLogObjectEvents[i].facingDirectionLocked; + gObjectEvents[i].disableAnim = questLogObjectEvents[i].disableAnim; + gObjectEvents[i].enableAnim = questLogObjectEvents[i].enableAnim; + gObjectEvents[i].inanimate = questLogObjectEvents[i].inanimate; + gObjectEvents[i].invisible = questLogObjectEvents[i].invisible; + gObjectEvents[i].offScreen = questLogObjectEvents[i].offScreen; + gObjectEvents[i].trackedByCamera = questLogObjectEvents[i].trackedByCamera; + gObjectEvents[i].isPlayer = questLogObjectEvents[i].isPlayer; + gObjectEvents[i].spriteAnimPausedBackup = questLogObjectEvents[i].spriteAnimPausedBackup; + gObjectEvents[i].spriteAffineAnimPausedBackup = questLogObjectEvents[i].spriteAffineAnimPausedBackup; + gObjectEvents[i].disableJumpLandingGroundEffect = questLogObjectEvents[i].disableJumpLandingGroundEffect; + gObjectEvents[i].fixedPriority = questLogObjectEvents[i].fixedPriority; gObjectEvents[i].facingDirection = questLogObjectEvents[i].mapobj_unk_18; gObjectEvents[i].mapobj_unk_0B_0 = questLogObjectEvents[i].mapobj_unk_0B_0; gObjectEvents[i].elevation = questLogObjectEvents[i].elevation; diff --git a/src/quest_log_player.c b/src/quest_log_player.c index 7665a8a92..0d7a2bb50 100644 --- a/src/quest_log_player.c +++ b/src/quest_log_player.c @@ -100,7 +100,7 @@ static void sub_81505C4(u8 taskId) { case 0: ObjectEventClearAnimIfSpecialAnimActive(objectEvent); - objectEvent->mapobj_bit_11 = TRUE; + objectEvent->enableAnim = TRUE; sub_81507BC(objectEvent, sub_805C808(4)); StartSpriteAnim(sprite, sub_80634F0(objectEvent->facingDirection)); gTasks[taskId].data[0]++; diff --git a/src/vs_seeker.c b/src/vs_seeker.c index b35b6143e..c0f53d5c2 100644 --- a/src/vs_seeker.c +++ b/src/vs_seeker.c @@ -598,7 +598,7 @@ static void sub_810C3B8(u8 taskId) { if (sub_810CF04(i) == TRUE) { - if (gObjectEvents[i].mapobj_bit_1) + if (gObjectEvents[i].singleMovementActive) return; FreezeObjectEvent(&gObjectEvents[i]); } |