243,492 Commits over 3,898 Days - 2.60cph!
First pass on base building help
Moved some vars, increased SLEEP_CHECK_FREQUENCY to 20 seconds
Add some more highlights in the crafting menu if an item is required by the current mission
Periodic raycast check to reactivate kinematic dropped items if needed
Material::Init initializes TextureCoords too
Update new shader template
Make sure it still works with 0-4
Change `ent setgrade {radius}` to work with `brick`, `brutalist`, etc instead of 0-4
Remove stereo multiview instancing from debug menu
Add Texture.Update<T>( ReadOnlySpan<T> data ) & Texture2DBuilder.WithData<T>( ReadOnlySpan<T> data )
Stop using PixelInput for everything (#1336)
* PS_InitFinalCombiner( PS_INPUT ) -> PS_InitFinalCombiner() so it works without COMMON_PS_INPUT_DEFINED - this is just for default values anyway
PS_CommonTransformNormal should be wrapped in COMMON_PS_INPUT_DEFINED too
* Material shading API can be used without common PixelInput
Internals rewritten to remove reliance on a commonly defined PixelInput
instead every function just takes what it needs.
The only public methods you may have been using were changed like so:
```diff
- float3 TransformNormal( const PixelInput i, float3 vNormalTs )
+ float3 TransformNormal( float3 vNormalTs, float3 vGeometricNormalWs, float3 vTangentUWs, float3 vTangentVWs )
- float3 NormalWorldToTangent( PS_INPUT i, float3 vNormalWs )
+ float3 NormalWorldToTangent( float3 vNormalWs, float3 vGeometricNormalWs, float3 vTangentUWs, float3 vTangentVWs )
```
Material::From( PixelInput ... ), ShadingModelStandard::Shade( PixelInput ... )
stil exist but are wrapped in ifdef COMMON_PS_INPUT_DEFINED, so only work
with the common PixelInput include.
Material::Init() added to initialize a Material with default values
Geometric normals are now distinctive from normals in Material too, this
is important for the lighting model: https://files.facepunch.com/matt/1b1711b1/beforeafter.png
And a lot of tool vis modes were fixed too.
* Material.AmbientOcclusion float3 -> float
First pass on overhauling the help away from a full screen input blocking modal into a side of screen popup
Uses new TriggerTutorialPrompt volumes to pop up a specific text/image/video combo based on the players position as well as current mission and stage
Updated the first mission with new trigger volumes
Replaced a few keywords with runtime branching (75% reduction in variants)
Add InputField & code to allow you to search keybinds in options menu
Add padding to the bottom of keybinds so the search bar doesn't move around while typing
Cache sleep check, fix server call
Change stack trace style a bit to show file path on a separate line if we have one
https://files.facepunch.com/tony/1b2211b1/parsecd_LAii24egtt.png
Adjust StackTraceProperty style more, copy to clipboard by clicking any part of the header, add tooltip
No longer need to be currently spectating in order to run ToggleSpectateTeamInfo (will still only have an effect while spectating)
Re-enabled Tugboat deployment for the Twitch Rivals desk
Merge Twitch_Rivals_IV -> Main (desk updates)
Fixed chair collider width
Rebuild sign painting UI with flexbox, cleaned up the layout of things
Changed brush size and opacity to be sliders
Added tooltips to clear and save button explaining what they do, updated tooltips for undo/redo with their shortcut keys
Fixed the preview camera not aligning with the right panel so there is never a weird gap
Update FP.Flexbox with a way to override the preferred width/height to nicely size images
Show the drone's ID when a drone is selected in your inventory
Show `streamer mode` in the inventory panel if streamer mode is enabled
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