145,533 Commits over 4,413 Days - 1.37cph!
killing more shadow casters, disabled shadow casting on a dozen of pointlights
Disabled automatic lightmap baking in all scenes (this can be overwritten in case of any conflicts in .unity files)
Improved placement of industrial torch on weapon racks
apartment shadow casters and proxy optimizations
added presets for cinematic textures
Industrial Storage - removed duplicate gibs file
- Add a serverside convar to be able to toggle it on/off
- Parameter-less constructor to Deque so it can be pooled
- Codegen
Initial attempt at mountable rollback to fix 'projectile invalid' when attacking a player thats on a mini or zipline etc.
We cheat by only storing player relative positions to avoid rolling back mountables physics positions
Each client will allocate and store the last 16 ticks. 192 bytes for each mounted player, which is reused via the pool.
Retain old behaviour if not mounted hit or if the last 16 ticks aren't available
demo_scrubbing_optimizations -> main
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
Fixed DDraw text spacing being affected by the predefined GUISkin font size (15 -> 5)
https://files.facepunch.com/raul/1b2311b1/ddraw_text_spacing.png
Fixed DDraw text color grey tint
https://files.facepunch.com/raul/1b2311b1/tint_fix.png
Fix broken collision + material on an excavator light
S2P excav
PressButton merge, compile fix
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)
Skin viewer ticks the viewmodel components so we can have the space lr300 ammo counter working, default ammo for rpg etc
General store view fixes
Added arrow buttons to switch to the next item in the store from the skin viewer (limited tab only)
Industrial Torch - Updated textures (still wip lads)
merge from deformhair_enum_cleanup
Updated deformhair value for all head wearables
don't treat wearable.deformhair as a bit flag
Add "rentallrooms" to see performance impact of fully loaded apartment monument
Can only ADS item allowing ADS
integrate animation subsystem with 3p animator controller and dartboard
Lets try fixing MacOS doing full rebuilds every time
Fixed Lua state corruption
Minor cleanups + whitespace cleanups
Make loading screen dialog have static height again
* Simpler, fixes a few issues, potentially helps that one guy who would "Style around the box" on their loading screen.
Minor cleanups
Added mask conditional meshes to hair sets
Removed BoonieHat and MinersHat from DeformHair enum (both can use baseballcap)
Added Mask option
▋ ▌▌▅ ▌▋▄▊▉▌▋██▅▊▆▅▄▆▇▍ ▊█▍▄▌▌▊ ▌▉▄▅▄▅█ ▌▋▄ ▄▇▋▋ ▅█▄▊▆ ▍▌ ▌▊▉█▆▉▄▇▌▄▍
Lower skinnable paths when we update them during manifest generation, otherwise they log warnings about being slow to spawn.
merge from main -> apartment_complex_monument
Glass AR - lowpoly model update, material tweaks
Attack anims only for melee items
Added a cubemap to the skin viewer (based on craggy). The skin viewer viewmodel camera uses that instead of the ingame cubemap, so it works in the menu and the ingame realtime cubemap isnt used
It also fixes some issues with some world models using material needing a cubemap
NRE fixes when using viewmodels in the skin viewer
▉ █▆█▆▋█▊ ▉▌▌▅▍▄▄▆▌▅ ▍▆▌▊▅▅▆▊▍▊▊▅▄▄▋▍▊█▄▊▋▌ ▊▉▊ ▉▋▊▉▌▄▋▊▍▊
Fixed note loot panel not saving typed text
updating 3p jumping anims