192,689 Commits over 4,049 Days - 1.98cph!
Wrap spawn logs in UNITY_EDITOR checks
Merge from fix_computer_station_enter -> main
Stop Travelling Vendor from spawning on top of stuff inside the Radtown:
- Simplified Travelling Vendor spawning
- Profiling for spawn attempts
- Topology alongside better physics checks
- Refactor
Fix having to click on the input field after each camera you enter in computer station
Added rock_formation_huge_e
▄▄▊▍▋ ▉▋▅▇▅▆▊ ▄▅▍▄▆▋▋█ ▆▋ ▉ ▋█▆▇▆▄ ▋▌▇▄ ▋▉ ▇.██ ▄▆▊▊ █▉█▍▊█▉▆ ▄▊▍ ▄.▍▆ ▉▍█▉ ▅█▄ ▊▆▌▊▇▊▊▉ - ▌▊█▋▊▇▍ ▆█▉▍▋▌▋▆ █▍▌▆ ▋▉▍▉▄▅▉▌ ▆▉ ▇▇▋▌▊▅ ▍█▇▆▍ ▉▊▄ ▍▆▋▆
▌▄▇▊▉ █▌▍▌▅ █▉▄█▊▊▅ ▅▅▌▅ ▉▆▍▊▉▆▆▍▍▉▋ █▇▄▆▆▊ ▌▆▄▊▆▋▄▋▅▉▍ ▍▍▌▅▌▄ ▆▋█▍▍▆▊
Radtown puts down monument topology
▉▅▉▆▇ ▌█▊▄ ▄▍▇▍▊▌▅▄▌▊▆_▌▄▍▊▅▆▋▇▆_▇▋▉
▍▌▌▄▍▄ ▍▅▍▊ ▆▉▆▄▅▉ (▊▆▉▌▋▌▌▇▄▊ ▌▋▍▉▇▇█▊▅▅▅_▋▇▍▊▉_▅▄▇ █▇▇▅▊▉▌▄▆)
█▉▅▌█▅▉▊ ▋▆▉▋▊▉ (█▌▅▊▉█▉▉▊▍▍_▍▄▅▋▋_▄▄▄ ▉▋▅▇▄ ▅█▌▆▊▍▋▉)
Update: Whole tree streaming logic is time budgetted
- Right now has a budget of 1ms, controlled by UpdateBudgetMS convar
- Streaming preference is given to players who have more cells left to stream
This change protects us from having too many players in the streaming queue eating up all the frame budget.
Tests: On craggy confirmed that streaming still completes
Changes to rope segments of catapult. Added transmission to parts that needed it.
▇▌▍▉▋▌ ▌▊▄▄▅▅██▆▅▊ ▌█▅ ▋▄▊▌▇ ▅▌█▄▍▌
gmad.exe - do not pause when launched through existing cmd.exe (Partially Community Contrib)
Make "force open main menu" warning an informational one (Community Contrib)
Also make it use a localization string
RPG entering water does not slow down
Also if the RPG missile somehow reaches speed close to 0, explode (before required exactly zero)
Early tests at getting siege weapons hitchable by horses and cars
Tweaked catapult colliders, added repel and hurt triggers
Update: consolidate tree manager cell streaming
- Hidden behind the Network level 2 logging
Right now we don't fit the 10micros budget(~60micros), so we end up sending 1 cell per player - going to add a frame budget with player sorting to avoid hogging the server
Tests: On 4.5k procgen map tracked first and second player connecting, was able to observe cost of jit
- Further cloud experimenting/prototyping
- Set up proper render order for output texture (mesh in front of sky dome/sun/moon/stars)
- Set up shader to render clouds into reflection probe
- Better partial update pattern
Minor bounce shift to fix stray spec.
▌▇▉▌▌ ▊▍▊▇ ▍▌▍▇_▄▌██▆▌▊_▌▊▍▆▆▍▍▌▍▆
▆██ ▆█▄▊, ▅▍▌ ▊▉▆ █▋▉▅▇▋ ██▍█▅▍▄▇ ▍▅▋▉▌ ▉▌▍▋▊▍▌▌▄▊ ▌██▆█
Gave the regular flashlight VM the full volumetric treatment because it worked well on the attachment.
Clean: Removing a couple TODOs
- Not doing vehicle specific streaming logic as 4.5k world grid gets streamed in less than a second
- removing old TODO since my change implements it
Tests: none, trivial change
Added setlocalplayervisible client admin command
Update: Budget every tree-cell send
On Procgen 4.5k map from a save sending one cell can take 0.25ms - this change should smooth out the cost further.
Tests: Booted on craggy, confirmed that player recieved all cells.
Player:StripWeapons drops weapons before removing them
This mimics behavior of Player:StripWeapon()
Added massCenterOveride for certain physics init functions
PhysicsInit
PhysicsInitMultiConvex
PhysicsInitConvex
PhysicsFromMesh
PhysicsInitBox
PhysModelCreateBox doesnt reset solid parameters
Groundwork for PE changes
Particle browser with previews for Particle Editor
https://files.facepunch.com/rubat/2024/September16-554-RoughAsiansmallclawedotter.png
Case sensitive include (Linux compile fix)
Added hide_server cvar, sv_lan 1 will hide the server too
Load particle editor first in -tools mode
Fixed non left clicks in particle previews breaking the controls
Prevent errors about missing materials in particle editor
Improved particle properties panel
https://files.facepunch.com/rubat/2024/September17-559-BestAnt.png
Improve tools scrollbar styling
Fixed a typo in the name of NPC:SetIdealSequence
Fixed ENT:GetPreferredCarryAngles for `ai` ents not being called
Added "use local space" to "Position Within Box Random" particle init
Replace missing .png/.jpg image data with white color
This would happen when a Material()'d .png file goes missing. It used to be undefined behavior.
Apply the fix for Panel.Exec on SetHTML'd panels
This is probably wasn't affecting this branch, but still match the code
Run render.UpdateRefractTexture during halo rendering
Fixes garrysmod-issues/issues/6000
Delete constraints.lua
Unused file
Added sbox_maxconstraints and sbox_maxropeconstraints
Both default at 1000, sbox_maxconstraints is for non rope constraints only, not ALL of them.
Nocollide is considered a non rope constraint now for the sake of limits.
Also fixed a bug where duplicated constraints would not be able to be cleaned up via Utilities > Admin or User Cleanup
player.CreateNextBot sets the bot name by player_activate event
Fixes for HL1 barnacle
Added SetTarget1-4 to logic_choreographed_scene/scene_entity
Pull Request: Search bar in icon editor + copy to clipboard
Pull Request: TTT traitor button fixes
Fixed CNPC_ControllerZapBall not doing damage
Consistent returns from Sandbox tool Make* functions
Minor clean ups in constraint library
Bump max save game size to 16M (from 3)
This is Source's save system, for level transitions
Implement GetPreferredCarryAngles for `ai` type SENTs
Disable -nulldevice
Added NPC:SetIdealSequence
Fix undoing nocollide constraint not restoring collisions
Adds `disable_on_remove` keyvalue to `logic_collision_pair`
Adds 5th argument to constraint.Nocollide - disableOnRemove
Fixed duplicated nocollides not being cleaned up via No-Collides cleanup option
Merged Pull Requests
TTT: Minor updates to Turkish translations
Optimized SortedPairs further
Added properties.Remove( name )
Added surface.GetPanelPaintState
returns a table with the following keys:
* translate_x
* translate_y
* scissor_left
* scissor_top
* scissor_right
* scissor_bottom
* scissor_enabled
Bugfix: Don't send newly spawned trees to player if they land in a batch yet to be sent to them
- Added a profiling scope so we can track if it's taking too much time(it's a TxP complexity algo, but P tends to 0 very quickly, so we should be able to afford this)
Tests: Tested on 4.5k procgen world and connected from a separate client and chopped a bunch of trees saw no duplicates. That said, it's very difficult to proc this (<1s window).
Replace usage of "devshots_screenshot" with "screenshot"
Add "killserver" to concommand blacklist
Correct UTF8<->UTF16 conversion for close caption function & hook
Try to resolve issues caused by sv_max_userinfo_rate for extreme cases
merge from physics_horses
▉▄▅█▄▄▆▄ ▍▄▅ ▊▆▋▇ ▉▋▉▌▅▆▅▄▍▋ █▌ ▅▇▄▋█▋ ▄▋▇▅▅▇, ▊█ ▋▉▌▉▄▉▇▌▆ ▅▍▉▆ ▆█▄▅▊▉
Put counter text changes on the correct branch
Clean: forgot to save an extra comment
Tests: none, trivial change
Update: replacing cell budget with a time-per-player budget
- Setting this budget to 10micros initially
This budget doesn't evaluate every cell, but rather groupings of cells. I'll re-evaluate this once I get to testing big procedural worlds.
Tests: Confirmed entire Craggy grid gets streamed to the player
Update: added a runtime switch to disable tree batch streaming
- Enabled by default
Tests: booted with it being both turned on and off
Merge: from main
Tests: none
Fixed a bunch of props in radtown that were either missing LOD components entirely or using LODGroups
S2P and HLOD generation
Fixed some placeholder stuff for gesture slots that are empty
Fixed radial menu defaulting to the text of the last opened radial menu if opening a new menu that has no enabled options (bug is extremely old, very obvious when switching between gesture wheels)
▋▆▄▊▅▋█ ▉▇▆▉█▇ ▄▆ █▆█ ▉▄█▍▌██▅▊ ▄▋▉▍▄█, ▊▆ ▌▇▆▅▆▉▅ ▅▇▋▊▅▅ ▉▉ ▊▅'▄ ▉▊▌ █▉ ▅▄▄▇▌▌▆█
- ▍▊▌█▄ ▍ ▇▆▉▇▋█▋▌▍▉█▅ ▍▌▍▍▍ ▇▇▋ ▅▅▆▅▆▇▄▆▊ █▇ ▅█▊▋▌ ▄▇▄▄▌▆ ▄▉▍▊▌█▉▄▊█▄▆
- ▌▆▄█▄█▇ █▅▉▆▇▋▇▄▅▍▊ ▇▇▍▌▄▊▆▊ █▊▋▊▋▌ ▄▅ ▋▉▋ ▉▆ ▉▊█▅▉ ▇▉▍▉ █▇▅▄▅▋▇▄ ▅▇▆█▄
- ▋▋▉▋▇▆▉▊ ██▇█▋ ▊█ ▋▉▇ ▊▋▌▆▇█▋
▆▍▇█▋ ▌▄▄ ▆▌▋ ▊▊▉▉▌▌▌█▊ ▇▊ ▊▄██▌██▋▉▋.▄▊▌▋▉▉▍▊▋▌▉▆▅▋▋▅█▇, █▊▇▇ █▉ ▇▆ ▄▆▄▉
▆▇▍▄▌▄▅ ▄▄▅▇▅▆█▅▉▍▊█▍▄▅▇▇▆▅▄▆▌▅▌▆▆ ▊▅ ▊▌▆▊▉▆▆█▄▅ ▄▅▄▆▅▆▋▌▍▄▄▄▉▋ ▊▄▍▅▌▆
▄▌ ▊▆ █▊▋ ▍▌▋▋ ▋▆ ▆▅▄▍ ▍ ▋▌▄▇ ▇▉▅▊▇█▄▉ ▇▅ ▉▋▄ ▅█▋▌██ ▋▄▆▆ ▆▌▆▉▉▄▍▇ ▄▆▋ ▉▅ ▅▌▇▇▍▇, █▊▆▉ ▅▄▊▆▄ ▇▇▆ ▇▄▆ ▌▋ ▄▌█▉, ▇▋ ▉▉▇▊ ▆▊ ▍▅▅▌▊▌▊ ▄▇ ▅▉ ▍▌▍ ▄▊▍▇█▍ ▆▄ ▆▉█ ▌▅▍ ▊▍ ▌▇▇ ▉▅▅ ▆█▊▆▊▌ █▍▆▉▋▇▊▍. ▊▍▆▇█▌▌▉▇ ▌▋▋▇ ▇▇▅▉▆▋ ▍▇█▊▅▇▇▊▇▇ ▍▄▋▆ ▋▇▌ ▅▄▅▇▇▋ ▅▌█ ▌█ ▅▊▄▄█▊▋
▉▅▇▄ ▍▄▆▉▆▇ ▌▄█▊▍█▄█▅█▉, ▉▇▌ ▋█▌█▋▆ ▌▉▄ █▅▅▉▅▄▄▄ ▋▉ ▋▄█ █▌▅▅▄▊ ▇▅▅▍▌█ ▇▉▅ ▋▋▍▉ ▆▍ ▍█▋▍▍ ▇▄ ▇▌▄▉▌▆▄ ▄▇▊ ▆▆▆▌▇▆▇▄▌▉ ▍▇▍▉ ▆▋███▇▅▅
▆▇▌▇ ▌▇▊▄█ ▅█▅▋▆▄ ▅▊▆█-▍▄▋▄ ▄▌▉▇▄▋▊ ▉▍█▄▍▍▄ ▍▇▄█▋▄ ▌▍▌▋▍▋▇▋▆▍▆
Revert WaterSystem.cs to the version from main, should make merges easier. Looks like it was missing a bunch of stuff due to various botched merges over the years
Added demo.saveShotFolderAsAnim, saves all shots of the current demo as anim files