192,393 Commits over 4,049 Days - 1.98cph!
Remove the equals sign, add "c" for temperature tea consumable display.
Testing async gpu readback to calculate foliage counts to avoid any consistency issues
merge from premium_servers -> main
Fixed premium refresh interval being set <5s, clamp it from 30s -> 1hr
Fix rotation of paste relative to admin seeming random
- was sending a Quaternion which is serialized with spaces and breaks command parsing and being read as a default rotation
Fix copybuilding not always working
- was sending transform.position instead of eyePos so it was raycasting from the admin's feet and sometimes missing the target
Add using statement when client recieves paste from server to dispose protobuf
merge from premium_servers -> main
Indicate which `hello` api call is the first one
Send pastes from client -> server on a different channel so they don't block player ticks from being sent and cause packet flooding
Add support for each overload of ServerRPC to change what channel it's sent on
- also fixed `SendMethod.Reliable` for each RPC not being sent assigned in SendInfo (it defaulted to reliable but best to fix)
Added a new RPC to roughly sync the players local shield power bar with the server every half a second
Allow dashes and underscores in paste filename
Prompt users to use `--overwrite` if copying a paste will overwrite a local file
Print out number of entities saved when a paste is saved to the client
(stash from before the patch)
merge from main -> copy_paste_clientside_fixes
Merge from coop_improvements
Don't allow the player to start petting another chicken while they are already petting a chicken (it worked, but printed a warning on the client and looked bad)
Merge from coop_improvements
Added an indicator to the consumable food info panel if a food item can be fed to chickens
Added a tooltip to the food slot on the chicken coop that lists all compatible food
merge from premium_servers -> main
Final fix for premium status not deserializing properly
Chickens now start producing eggs at 75% happiness (was 50%)
This aligns with the green smiley face on the status widget, so no green face = no eggs
Chickens now spawn with all of their needs between 20%-40% (was 40-80)
Don't allow chicken name changes from players that don't have building auth (still allow egg thefts though)
Merge from food_spoil_nre_fix
Use the condition bar on item icons to show food spoil progress
Fix both spoiled and non-spoiled models appearing briefly when meat dropped in the world spoils
Fixed a food spoiling NRE
Fixed some edge cases that would have resulted in food disappearing when it spoils if the container it was in was full
merge from premium_servers -> main
Initial refresh premium status 60s after launch to reduce worst case players waiting 10m before seeing their initial premium status
ibc water tank - complete and damaged version
blowpipe ammo update
updated ammo projecticles for scatter and incapacitate darts
updated icons, updated .item and other ammo specific prefabs
cleaned up folders of unnecessary prefabs
opaque bg except for missed rays
Print out content as warning if HTTP request fails and slight cleanup
Switch PremiumStatusResult from struct -> class because it seems IL2CPP can't deserialize JSON into a struct
Merge from vram_budget: Enable building atlasses for streaming
Started work on graphical texture optimisation tools (very much WIP). This will come in handy for future tuning of the texture streaming system. Especially once we get back to instancing. Hoo boy.
Enable building atlasses for mip level streaming. This might be a pandora's box, but it brings non-streaming texture memory to less than 1 GB, leaving plenty of room for streaming textures.
merge from premium_servers -> main
Cherrpick rest of commits from `manual_refresh` -> `premium_servers` after the merge from main (so we don't take staging updates onto `premium_servers`)