fp: Make the building behaviours generic and work across multiple buildings

This commit is contained in:
2023-10-06 20:48:20 +11:00
parent bfe2fef528
commit 57a09d6f9a
3 changed files with 156 additions and 65 deletions
+5 -5
View File
@@ -16,10 +16,9 @@ enum FP_GameEntityFlag
FP_GameEntityFlag_MobSpawnerWaypoint = 1 << 8,
FP_GameEntityFlag_AggrosWhenNearTerry = 1 << 9,
FP_GameEntityFlag_Attackable = 1 << 10,
FP_GameEntityFlag_RespondsToClubTerry = 1 << 11,
FP_GameEntityFlag_PartyingAtClubTerry = 1 << 12,
FP_GameEntityFlag_ExperiencedClubTerry = 1 << 13,
FP_GameEntityFlag_PointOfInterestHeart = 1 << 11,
FP_GameEntityFlag_RespondsToBuildings = 1 << 11,
FP_GameEntityFlag_OccupiedInBuilding = 1 << 12,
FP_GameEntityFlag_PointOfInterestHeart = 1 << 13,
FP_GameEntityFlag_CameraTracking = 1 << 14,
FP_GameEntityFlag_BuildZone = 1 << 15,
FP_GameEntityFlag_TTL = 1 << 16,
@@ -162,7 +161,7 @@ struct FP_GameEntity
FP_SentinelList<FP_GameWaypoint> waypoints;
FP_GameEntityHandle aggro_slot[FP_GameDirection_Count];
FP_GameEntityHandle club_terry_patron;
FP_GameEntityHandle building_patron;
// NOTE: The entity hit box is positioned at the center of the entity.
Dqn_V2 local_hit_box_size;
@@ -193,6 +192,7 @@ struct FP_GameEntity
Dqn_FArray<FP_GameShape, 4> shapes;
Dqn_FArray<FP_GameEntityHandle, 4> projectiles;
uint64_t ttl_end_timestamp;
FP_SentinelList<FP_GameEntityHandle> buildings_visited;
};
struct FP_GameEntityIterator