240,567 Commits over 3,867 Days - 2.59cph!
Update ActionGraphs, NodeLibrary restructuring
* Now one NodeLibrary per TypeLibrary instead of per ResourceLibrary
* No need to have a JsonSerializerOptions per ResourceLibrary any more
ActionGraphResource serialization fixes
Exposing some stuff in GraphView for derived types
Fix ActionGraph serialization test
Got rid of some debug logging
Basic GC buffer setting setup.
Fixed broken reference to priv.
Apply starting rotation
Renamed shelter prefabs
Show server version in F8 panel
Fixed "Core/Foliage" shader not working with decals; only supports no-layers or layer0/default, for now
Make VRNative Compositor/System/etc. all properties
TrackedDeviceInfo has battery percentage (cherry-picked from vr-stats branch)
Battery percentage just displays in `vr_info` concommand for now
Actually include the functional part of SolidEnergy shader (DX9 only)
Added SolidEnergy shader from CS:GO
Enables certain things to draw correctly from Portal 2 and Black Mesa
Actually include the functional part of SolidEnergy shader (DX9 only)
Swapped mesh colliders for primatives.
Lowered shelter.
Change the way we handle VRTextureWithPose - create an initial VRTexture and then (optionally) append pose data, rather than just creating a VRTextureWithPose outright
Reinstate VR overlay code using new internal VR backend
Move FromTransform into Matrix so we can re-use it
Change linear slop instead of convex radius
Hide compass when the map is open
Change the patrol heli crate from military crate model to elite / bradley crate model
Added new shader "Rust/Standard Packed Mask Blend" for testing
Add extra colors for industrial pipes
- orange
- light blue
- purple
- pink
Clean RPC system, ownership taking, renouncing
Update OpenVR SDK from 1.26.7 to 2.0.10
Expose render/exclude tags to CameraComponent
Updated Prevent Building Bounds To Prevent Clipping
Moved Storage Adaptor To A More Suitable Position
Fix warning
Make BytePack internal, expose functionality via TypeLibrary
Add a LocalChannel for local Rpc calls
Fix possible NRE on nested deserialization
Disable HL2's sneak attack code for non hostile NPCs
Also disable sneak attacks when ignore players is set, or ai is disabled
Make duplicator actually spawn the correct NPC
It was spawning them by entity class, luckily all of the base ones are present in the "NPC" list, now it spawns them by their actual original name in the "NPC" list.
Make it easier to select addons in the Addons list (Pull Request)
Reduce Panel:DrawTextEntryText type checking
Causes issues with existing addons
Add custom icons for tree nodes in spawnmenu categories (Pull Req)
Added GM:CanCreateUndo hook (Pull Request)
Added new CRecipientFilter functions
CRecipientFilter.AddPlayers( table or filter )
CRecipientFilter.RemovePlayers( table or filter )
CRecipientFilter.RemoveMismatchedPlayers( table or filter )
Add "Bone" field for Entity:GetAttachment
Add optional argument to Loco:Jump - activity
Unhide r_portalscloseall
Added Vector:Distance2D[Sqr](Vec)
Entity:SetIK is now shared (was clientside only)
Added GM:HandlePlayerArmorReduction( ply, dmginfo )
This change moves the armor reduction system to Lua (base gamemode), allowing full control over it.
Fix OOB crashes with Entity.GetAttachment
Fix SteamID placeholder calculation for clients with no SteamID
Make CreateConVar type errors non halting
experimental: dont break mods
Fixed crashes due to CSoundPatch
Add g_ragdoll_maxcount to server settings in spawnmenu
Minor code adjustments
RT_DEPTH_ONLY > RT_DEPTH_NONE for projected textures
Minor changes from upstream
Added missing TF2 map icons
Fallback shaders only if they don't exist
Change default value of mat_depthbias_shadowmap to 0.001
Was 0.0001, was in certain cases caused visual bugs. You can still set it to whatever you want.
Delete crashhandler.dll/so
I am fairly certain these are from Steam client binaries, which are now shipped by SteamCMD automatically
TextEntry improvements
* Fixed SetDrawLanguageIDAtLeft causing cursor selection to be offset
* Fixed deleting a bunch of text and then typing not updating the horizontal scrolling to show the typed text
Main menu workshop changes
Allowed to favorite addons through menu UI
Favorite and Vote Up/Down are now better synched with real values
Favorite categories are not cached
Merged Pull Requests
* Fixed an infinite loop with string.Comma
* Fixed server browser showing lowercase gamemode names for empty categories
Mention nav_quicksave 2 in its description
Merged Pull Requests
Added math.Factorial
Added language string for g_ragdoll_maxcount
Fix citizens healing players with ai_ignoreplayers 1
func_door looping sound fixes
Bump ents.FindInCone/Box return limit to match FindAlongRay (1024)
Added lua_refresh_file <path>
Bump ents library limits to MAX_EDICTS
Enable episodic behaviors for npc_citizen
Improve autorefresh handling for lua_openscript scripts
If the opened script is in one of the special folders such as autorun/, autorefresh those based on our pre-existing rules.
Added ENTITY:TranslateActivity( act ) for `ai` type entities
Do not handle spawnicons and posters during render.RenderView
Added GM:PostEntityFireBullets( ent, info )
This hook is called for every "pellet" of a FireBullets call, contains the performed trace (i.e. which entity it hit, and precisely where), and can block the bullet from firing when returning false
Some of the bullet structure data is not available due to it being deemed useless or "obsolete" when the hook is called.
Altered how missing members of GM:EntityFireBullets return table work
They used to default to weird static values, now will inherit the previous value that was passed to the hook, which seems more logical
Minor code adjustments
Entity.SetPreventTransmit can now accept a table of players or a filter
Added NPC.SetIdealYaw/UpdateYaw/IsFacingIdealYaw
Added NPC.SetIgnoreConditions/RemoveIgnoreConditions
Turn Lua effect creation warnings to non halting Lua errors
Fixed NPC:SetSquad not working when the NPC has no squad
Added IGModAudioChannel:GetBufferedTime()
Fixed addon file conflict problem duplicating file paths on remount
Merge Pull Request - return true for EntityFireBullets in base gamemode
This allows multiple hooks to modify the bullet structure
Don't play ammo pickup sounds for NPCs
Panel:GetText/Value now returns text of RichText panels
Allow JSON converters to resolve node library on each call
Clear out any log entries that are from diagnostics on hotload (to prevent duplicate logs when hotloading often)
Raise the console when clicking status toggle buttons
Sort out padding for stack trace "copy to clipboard"
Panel:GetText/Value now returns text of RichText panels
Set convex radius to what rubikon used (should we change linear slop instead?)
Additional explosion bounce and overlay tweaks
Don't throw if we fail to create dock widgets (error when loading editor layout that has nonexistent managed types, i.e error list, game project editor docks)
added collision to laptop screen back
reworked collision on twitch rivasl desk so it can be deployed on tugboats
Updated and Improved Legacy Furnace Icon to include VFX
Console Window Improvements (#1332)
* Added Status Bar console output
* Moved log counts to the Status Bar
* Moved stack trace to be inline with the Console
* Removed Error List
* Show all code editors in Preferences window, but disable editors that are not installed
Move ConsoleWidget to addon so I can hotload it (move it back when done), add splitter window for stack trace viewer instead of using main inspector window
https://files.facepunch.com/tony/1b0911b1/sbox_LIfiBOFDPg.png
StatusBarLog experiments https://files.facepunch.com/tony/1b0911b1/pfmbUSg70M.png
Kill StatusBarLog after some time, based on LogEvent level
Give StackTraceProperty a MinimumWidth so it pops out at a readable size
Clear current stack trace entry when clearing the console
On compile, store diagnostics in console and display warnings/errors. When clearing console, always show important diagnostics
Progress on supporting showing 'simple' stacks for diagnostics
ConsoleEntry refactor, can read simple stack of diagnostic messages now
Refactor
More cleanup
Sort diagnostics by severity / project, so errors are output last on compile
Clear status bar on compile, remove test button
Delete Error List
Move some code back to Engine, raise console dock when clicking status bar log
Move ICodeEditor, CodeEditor to Sandbox.Tools (code editor implementations and events are still in base addon)
StackTraceProperty row clicks can use CodeEditor again
Add setItemEnabled to NativeEngine.QComboBox
Add enabled parameter to ComboBox.AddItem
Show all code editors, even if they're not installed, but disable the button
Add try catch to compile.complete event, any exception that gets thrown in that event will halt the compile forever
Experiment moving log counts to status bar
Would be good if I actually clamped this value
Use ToolTip instead of StatusTip in a bunch of places
Don't delete StatusBarLog unless we're killing the console entirely. Re-use existing Widget where possible. Only run Update if last log was >10ms ago.
Fix running EmptyAsync every time a log would come through even if it wouldn't display
Replace async shit with frame event, forgot this existed
Re-add icon def
curse piercing
curse crit chance
curse crit multiplier
curse teleport
full hp aoe upgrade
merge from HABParentingFix
merge from exploit_clamp_max_fps
merged from TugboatPhysXErrors
merge from ExplosiveAmmoFix
Remove some debug draws in
90153
cherrypicking
90150 - Added a longResourceForgiveness option to BaseMelee, does a second raycast with an extra 0.5m if the player missed on their swing and will only accept the result if the second raycast hits an ore node. Should make it easier to hit the hotspots on ores without having to crouch and climb all over them.
Enabled on the rock only for now
Leaderboard backup, run #7588
Spawnable static props (torchholder_on, tunalight_on, fireplace_on, lab tables, catina chair)
Added kick and push cine gestures (from frontier bar door interaction).
Added drink and chicken cine gestures - previously unlinked.
Added a longResourceForgiveness option to BaseMelee, does a second raycast with an extra 0.5m if the player missed on their swing and will only accept the result if the second raycast hits an ore node. Should make it easier to hit the hotspots on ores without having to crouch and climb all over them.
Enabled on the rock only for now