4,510 Commits over 1,249 Days - 0.15cph!
    
    
    
        
            
            
            
                
                Add industiral pipes to the batching system to reduce draw calls significantly when rendering industiral pipes
                
                
                
                
             
         
        
            
            
            
                
                Fix textures that are resized to the nearest NPOT by Unity on import being incorrectly flagged as "compression disabled" by the texture analyzer tool
                
                
                
                
             
         
        
            
            
            
                
                Fix pool used for Vis.Entities() in AddNearbyTurrets() not returned to pool
                
                
                
                
             
         
        
            
            
            
                
                merge from fix_console_flickering -> main
                
                
                
                
             
         
        
            
            
            
                
                Fix all the flickering in the windows console and all the pre-existing bugs
- boils down to avoiding clearing text (by writing spaces) before writing the new characters, to prefering straight overwrite where possible
- changed both status text and input text to only be updated when needed
- that change created a bunch more bugs (not listed here for our sanity) and made below bugs stand out more
- fix multi-line log messages cutting off when reaching the bottom of the buffer
- fixed the cursor bouncing around as you are typing commands
                
                
                
                
             
         
        
            
            
            
                
                Add /copypaste/ and /demos/ to shared ignore.conf file
                
                
                
                
             
         
        
            
            
            
                
                Try to fix windows server console flickering
- only clear 1 line when there are pending lines to log or status text to update instead of clearing all 3 lines
- only redraw status text when we recieve status update
- switch from 20 fps -> 50 fps (via Task.Delay())
- remove input.Update() redrawing the input line every 0.5s
                
                
                
                
             
         
        
            
            
            
                
                merge from copy_paste_boats -> naval_update
                
                
                
                
             
         
        
            
            
            
                
                Add `copyboat` command
- functions identical to 'copybuilding' but has a bit of special handling for boats
- add "GetRootParentEntity()" to BaseEntity to get the highest level parent
- fix "snap to terrain" paste setting causing bases (and boats) to snap to the bottom of the ocean instead of top of the water
                
                
                
                
             
         
        
            
            
            
                
                merge from ghost_ship_parenting -> deep_sea
                
                
                
                
             
         
        
            
            
            
                
                Add "ShouldChildrenInheritNetworkGroup()" to allow a parent to prevent any of it's children from inheriting network group
- set to false so ghost ships don't network children to the whole deep sea
                
                
                
                
             
         
        
            
            
            
                
                Add component to floating city prefab and deep sea island prefab
                
                
                
                
             
         
        
            
            
            
                
                Switch from unparenting every entity spawned in the deep sea to using a EntityParentSettings component to ocnfigure detaching children after spawn & skipping running DisableInternalCollisions()
- using separate component so we avoid reserializing every entity prefab for now
                
                
                
                
             
         
        
            
            
            
                
                Add floating city to "Scenes/Monuments/" menu in editor
                
                
                
                
             
         
        
            
            
            
                
                merge from disable_island_parenting -> deep_sea
                
                
                
                
             
         
        
            
            
            
                
                Unparent all the child entiites on the deep sea islands so they only network when up close
- simplier and easier than dealing with inheriting network groups
                
                
                
                
             
         
        
            
            
            
                
                Change OutlineManager to only use "PhysicsDebris" as the Vis.Entities() layer instead of every single layer
- fixes 0.5ms lag spike every 0.5s
                
                
                
                
             
         
        
            
            
            
                
                Replace normal sprinkler visuals with "new" sprinkler_model in electric.sprinkler.deployed prefab
                
                
                
                
             
         
        
            
            
            
                
                Add new sprinkler_model prefab that has two set of renderers: one for skinned meshes and one for normal renderers
- reduce skinned LODs from 3-> 2 since the AnimatorLOD will turn off the renderers once they are past 25m (meaning it will switch to placeholder renderers)
- reduce unskinned LODs from 4->3 since the 4th LOD was messed up (still hide after 100m)
                
                
                
                
             
         
        
            
            
            
                
                Add SkinnedPlaceholder component that will switch between skinned & normal mesh renderers depending on the animator being active
- can check animator for bool parameter and check if it's in a known inactive state
- poll every 5s (configurable) to see if the animator is inactive
- send event when the animator is activated from EntityFlags_Animator
                
                
                
                
             
         
        
            
            
            
                
                merge from modding_cui_merges -> main
                
                
                
                
             
         
        
            
            
            
                
                Fix verticalNormalizedPosition not starting at 1 (top of screen)
                
                
                
                
             
         
        
            
            
            
                
                - fix pivot missing from normal UI elements
- fix rotation missing from ScrollRect
                
                
                
                
             
         
        
            
            
            
                
                Make new empty methods for oxide to hook, original ones got deleted when fighting with codegen
                
                
                
                
             
         
        
            
            
            
                
                merge from main -> modding_cui_merges
                
                
                
                
             
         
        
            
            
            
                
                merge from optimize_windows_console -> main 
- fix colored text being logged on main thread instead of queued to console thread
                
                
                
                
             
         
        
            
            
            
                
                merge from fix_puzzle_reset_analytics -> main
                
                
                
                
             
         
        
            
            
            
                
                Fix puzzle analytics having "Submit()" commented out. whoops
                
                
                
                
             
         
        
            
            
            
                
                Switch the default limitBias of the effect mipmap group from +1 -> +0 to rule out the mipmap from being stripped out at build time (even though the setting is disabled, who knows)
                
                
                
                
             
         
        
            
            
            
                
                merge from main -> test_effect_quality
                
                
                
                
             
         
        
        
            
            
            
                
                Fix showing "Died to KillerName" with random death reason when joining a server at the start of a wipe
- caused by lifestory being persisted from a previous wipe in the death database
- include wipeId inside the LifeStory protobuf and invalidate the lifestory when loading if the wipe id doesn't match
                
                
                
                
             
         
        
            
            
            
                
                Make username optional field since it's not included anymore
                
                
                
                
             
         
        
            
            
            
                
                Optimize turret & TC to use HashSet<ulong> instead of List<PlayerNameID>
- makes it faster for them to check auth
- protobuf data still uses PlayerNameID but only saves steam id for backwards compatability
                
                
                
                
             
         
        
            
            
            
                
                Optimize BasePlayer.FindById() since it's used throughout the codebase
- add Dictionary<ulong,BasePlayer> for online & offline players
- speed up string search methods by first seeing if the string is a steam id & calling FindById() methods first
                
                
                
                
             
         
        
        
            
            
            
                
                Add `forceaddtoteam <steamid> <team?>` command to add online (or offline) players to team
                
                
                
                
             
         
        
            
            
            
                
                Send steamId of teammate when sending player name (should only network to teammates / self) & lookup name with NameHelper if steam id is provided on client
- allows steam nicknames to show instead of server names
                
                
                
                
             
         
        
            
            
            
                
                merge from fix_custom_item_icon_description -> main
                
                
                
                
             
         
        
            
            
            
                
                Fix NRE when joining server with custom icon due to CommunityEntity not being networked yet
                
                
                
                
             
         
        
            
            
            
                
                Fix custom item icon from modding not showing the custom icon in the item's description
                
                
                
                
             
         
        
            
            
            
                
                merge from modding_custom_vitals -> main
                
                
                
                
             
         
        
            
            
            
                
                Ensure all custom vitals are cleaned up when community UI is destroyed (aka left the server)
                
                
                
                
             
         
        
            
            
            
                
                Implemented a way for the client to countdown a time so server isn't sending network updates to update vitals every 1s 
- use {timeleft:***} in RightText to use TimeSpan.ToString() formatting
- test_custom_vitals commands accepts more parameters: {amount} {seconds} {formatting}
                
                
                
                
             
         
        
        
            
            
            
                
                Fix the merge + existing implementation, add changes not included in cherrypick
- move vitals logic inside CommunityEntity instead of creating a new entity specifically for vitals
                
                
                
                
             
         
        
            
            
            
                
                Cherrypick hackweek custom_vitals branch
                
                
                
                
             
         
        
            
            
            
                
                merge from fix_max_hp_tea -> main
                
                
                
                
             
         
        
            
            
            
                
                Fix client showing 100 HP when using max hp tea
                
                
                
                
             
         
        
            
            
            
                
                merge from analytics_puzzle_reset -> main