242,768 Commits over 3,867 Days - 2.62cph!
Update: Add ServerInfo.Protocol enum
Avoids us creating a string to track which protocol to use. On average, saves about 0.6allocs (9.56 -> 8.95). We already have a similar enum on the game level, but this has the "Default" member.
Tests: none, trivial change
Completely client-auth inventory, remove networking for now. Improve world item pickup to reduce/eliminate possibility of two players picking up the item / duplication.
Fix scoring and ranking of potential destinations not being respected
Hide Clouds Convar -> Main
Main -> Hide Clouds Convar
Remove hardcoded SMG/Sword starting items
Dragging an item in/out of the active inventory slot will equip/unequip it
Added CraftingRequirements to ItemAsset. Make StatusEffects public so it serializes properly.
New Divesite Spawns -> World Update 2
Add divesite scripts to each prefab
Buoy's added
Spawnable added
Crate spawns wired up
Better slot styling again
Fix modeldoc vox import, only read content size for palette, not 256
Hook in effect prefab as well
Add sounds to fists, nerf damage a lot
Add metal node, metal fragment item
If Contact Point returns Vector3.Zero, then position the DamageInstance on the Projectile. Prevents damage numbers from spawning at origin for now
Eliminated areas that poked through wallpaper pieces in legacy wood skin
cobblestone_wall vox
won't import
Fixed upgrade blocked errors not detecting sleeping players client-side, the server will send the toast to the player now
Remove the random item giver
Add fallback weapon (hands) that can resource gather and destroy blocks
Can't drag the same item on itself
Hopefully fixed all the item moving issues
Fixed SMG muzzle position
Eliminated areas that poked through wallpaper pieces in Brick skin doorway
burst cloth constraints tell you if you mess up the min/max constraint order
Eliminated areas that poked through wallpaper pieces in Twig tier walls
Tightened wallpaper pieces fitting
Eliminated zfighting on wallpaper pieces interior side (visible with Twig tier)
Merge from world_update_2
missing alpha texture lake_a
Changes to buffer and textures used for autoexposure compute shaders
ditto
Can drop items in inventory
Use constant voxel size here
Can now click-and-drag a stack onto another stack and it will combine them. Putting any max stack overflow into it's own slot
Containers now save/load their inventory index in ISaveData (So stacks dont get automatically combined and placed in the first slot on load)
Fix NRE if trying to drag empty slot
Optim: further reduce allocs for ServerInfo
Couple easy wins - Changeset is unused so removed, construct ConnectionString on demand, avoid identifying tags if already identified.
Should've removed 2allocs per ctor, but data shows reduction by 3allocs on average(12.94 -> 9.56).
Tests: None, trivial changes
Add dummy item for drag drop
Updated backpack pelt constraints
Fixed server side errors not being translated by the client when received
Inventory drag drop logic
Update: Allow StringView to implicitly convert to ReadOnlySpan
This allows StringView to be friendly with APIs that Span, like int.TryParse(). It also removes 3 allocations, and weirdly my tests show a reduction of 4 allocations per ctor invocation on average.
Also merging stragler tag lookup into the main loop(avoids an extra traversal and extra lambda allocation).
Tests: Checked ServerBrowser, player count was sane.
Frontier bag cloth material
Style the slots a little bit
Projectiles damage voxel world too