5,146 Commits over 1,461 Days - 0.15cph!
merge from apartment_complex_monument/prototype -> apartment_complex_monument
Set apartment phones to not require power
Allow `checkoutroom` to checkout other rooms (NPC rooms for example)
Also set apartment room phones as "ApartmentStatic" so you the directory is filled between room <-> room
Unsaved changes in large apartment
Fix placement of phone in small apartment, add to medium & large apartment
Give telephones a random number when apartments are rented (like phones usually work)
Add all telephone of active rooms to the directory of the static phones outside the apartment (not every monument, only the apartment monument)
- allows you to call rooms that are rented + is one way to see which rooms are currently rented
Add telephone to small apartment
Apartment complex scene set static phones to "apartment phones" with flag + disable scene light baking (can be stomped)
Apartment .meta texture files after Unity 6
Fix upkeep terminal not being in furniture root in medium apartment
Fix scrap in apartment upkeep terminal not being moved when upgrading rooms
Restore chat messages when renting room (until adding support in conversation system for it)
Fix room upkeep not using min rent
▄ ▅▉▄▆ ▆▅▌▆▋ ▆▆▉▊▋▋ ▇ ▋▌█▅▄▌▆▉
▉ ▌▌▋▌▇ ▊▇ ▄▇▉█▌▅▄▄▍ ▅▌▄▄▌▋▌ █▍▌ ▉▅▆▋█▊▍ ▇▌ █▆▆▍▋▊█▌▊▌▊ ▅▅▊▅▆▇▄▄▊▅▍▇ ▌█▅▅▋▊▅▋▍▋▆▊ ▋▍▍▇▇▇▌▅▊▇ ▋▇█▅▉▄▉▌▊▊ █▍▇█▉█▊ ▅▉▄▊▇▍▄
merge from fix_hemp_collectable_wind -> main
update apartment_complex_monument/prototype
merge from main -> apartment_complex_monument
Re-enable wind on hemp collectable
Fix elevator radial menu not using correct buttons
update apartment_complex_monument/prototype
Rename PathMeshLOD -> RailMeshLOD, less generic but much clearer what it does
Fix the AddToHeightMap at the end of GenerateRailMeshes not having a collider available due to the client deferring the generation of meshes & therefore mesh colliders
- still generate meshes for colliders right away on servers
- generate the lowest LOD in the rare case that a client is generating a map (and not loading a cached map)
- keep PathMeshLOD components disabled until procgen finishes to ensure they don't update LODs mid-map generation and start deleting the colliders
Rename CreatePathMeshJob -> PathMeshTemplate to make it clearer
Defer the integration of the generated mesh by sending it to the load balance
- it would be quick but Unity doesn't letting us assign the UV distribution float manually from C# so we have to call mesh.RecalculateUVDistributionMetrics() on main thread which takes 0.8ms
Add `printrails` command to print all the railroad meshes currently active
Add profiling markers
Destroy mesh instead of assigning to MeshLOD if the railroad LOD is hidden before the mesh generation request finishes
merge from main -> optimize_train_track_meshes
Fix CommentComponent being reserialized with different line breaks due to Unity clamping yaml string length in prefabs to 80 characters
- normalize every line break to \n so it can't change when saved on different platforms
- this fixes RidableHorse constantly wanting to be commited
More progress
- generate meshes right away when running on server (so they can be assigned to colliders) while keeping it defered on the client so we only generated meshes when in LOD range
- create PathMeshLOD which is MeshLOD + request mesh generation when the lowest LOD becomes visible & destroy when no LOD is visible
- fix the "job" version creating a job per mesh segment instead of batching every 5 segments together
- some more fixes with the mesh generation (stuff like handling both 16bit and 32bit indicies instead of assuming every mesh is <65k verts)
Add "rentallrooms" to see performance impact of fully loaded apartment monument
merge from main -> apartment_complex_monument
Wrap PathList.CreateMesh() with a request class
- preparing to generate and destroy the meshes when the rail segments are loaded by WorldGrid instead of generating all rail meshes at startup and keeping them in memory for the whole session
- proxy the normal CreateMesh() method to use the "job" class internally (even though it runs on worker threads instead of the job system)
- switched to the NativeArray mesh building methods instead of using MeshCache.Data for storage
merge from apartment_complex_monument/prototype -> apartment_complex_monument
Fix compile errors + the Load() method not calling the correct "SetStaticFurnitureVisible() method for client vs server mode
Disable the HLOD mesh renderer by default so it doesn't show in scene view (can re-enable the component on HLOD_apartment_complex_1.prefab if needed)
Switch basement elevator door in apartment wing to the rusty version (keeping the rest of the elevator doors looking normal)
Create rusty version of apartment elevator door
Fix TMP door decal not being disabled by default on apartment door C
Update apartment elevator prefab with new lift prefab
Make separate prefab for the elevator lift
- swap the buttons to "+1, -1 floor" so they respond when the flags are changed by the radial menu floor selector
Switch apartment elevator doors from the rusty ones -> normal ones
Radial menu functionally works, need better floor icons than "up" and "down"
- or maybe we put a keypad in, we shall see
Change the RPCs for elevator
- reimplement old -1,+1, bottom, top with relative & absolute floor parameteters
- implement new target floor with absolute floor parameter
Start adding support for elevators to go to a specific floor instead of being limited to -1, +1, bottom, top)
- send lift of floors available in the elevator shaft so the client can create a radial menu