19,298 Commits over 1,614 Days - 0.50cph!
Relationships clean up and persistence
Reproduction persistence (untested)
campfire and large building updated for new building sytem
Patched hair, skin and clothing shaders
SaveLoad GetSaves missing directory create
Disabled keepalpha in clothing, hair and skin to allow latest ASE until fix is up
Updated ASE to 25.002
FlockDriver.OnDestroy disposes culling groups
Misc Player reset tweaks
Player camera module resets
VicinityEffect reset/physics trigger cleanup
Refactored entity view containers so that we get a cleaner scene heirarchy after load
Fixed some missing materials on den prefabs causing NREs
Let's not always cycle selected unit after game ready is invoked in PlayerController.InitUnitHandling
Refactoring Player persistence so we don't init components repeatedly
PlayerProgression refactor to use entity/asset ids in persisted data, not references
unconnected the part of the shader that broke lighting while next to fire
added some angry/breate anims to conversations
small polish on angry anims
Load optimisations
GameManager no longer bootstraps via coroutine, loads GUI from Awake and inits in Start instead
Cleaned up entity view destruction
More work on player camera persistence
EntityManager.Reset doesn't need to go through the full entity destruction path
Cleaning up Singleton/ManagerExtension init flagging, ECS reset
Fixed a bunch of silly shit with bootstrap/game manager init
AudioManager reset returns pooled sources
SmartObject persistence WIP
TimeManager persistence improvements
WorldManager weather persistence
Some unit portrait clone optimisations
Split socials persistence to partial, removed a foreach in OnMinute callback
ActionChain uses FixedArray to avoid any dynamic allocs, added pooling for action chains
Removed NullItention
ActionChain pool return moved to behaviour/effect exit/complete state handling
Fixed Action events not being cleared
Forced forward in AO settings to avoid artifacting with shaders that are fwd
Menu background mouse paralax thing
improved skinning on female skirt
gave male boar corpse chunks of meat to be cut out
SmartObject now holds GetInteractionPlanById
When loading Interaction Positions, Occupier and ReservedFor might not hold valid Unit Id, so account for that.
Behaviours are aware of the plan they were created from, some other small refactors
Moved action chain pooling to the AI manager, to ensure we alloc on init
Added EntityId type with implicit conversions to IEntity via EntityManager.GetById (for persistence)
Added DataAsset.Id, replaced GetInstanceID usages
Fixed EntityId implicit conversion NRE
Removed some stop coroutine calls
Types to files (EntityId, PersistedEntityData)
Added tooltips for rally + home buttons
Ensure player is initialized when loading a session from the menu (doh)
Added RoleDefinition noun and verb fields
Tribe tracker UI shows current/active role text when applicable
Fixed DataAsset ids fields not being marked serializable
More work on InteractionPosition and InteractionPositionGroup.
Now using EntityId + more work on persisting smart objects and their minions!
InteractionPositionGroup shouldn't need its InteractionSettings persisted, so let's not do that!
InteractionPositionSet/Data need to inherit from DataParameters, that we get a Guid we can use to recognize the right instance when we load from persisted data.
Added Entity.Create, called when entities are created and saved for the first time, usage example in Unit.Traits
Added BaseId, derived EntityId, AssetId, ParametersId, BaseIdEx for retrieval
Building upgrades data schema WIP