1,239 Commits over 1,341 Days - 0.04cph!
Add description attributes to Surface asset for the editor
Make "clear" option available for "Unknown asset" in AssetProperty editor
Fixed "Collection has a fixed size" error when trying to remove items from an array in an asset
Updated all surface assets
Added grass surface & footsteps
Fixed Resources not loading when networked from server
Fixes shatter glass being invisible for clients who are not the host
Hammer Map Nodes API
Split Hammer save/load logic into different file and document all the internals so anyone other than me can know what the fuck is going on
Fix double filesystem dispose with addon config
Closes #498
Fixed some histograms being offset horizontally
Only show histogram markers that are in range
Add Hotload.AssemblyResolver, warn if not assigned when needed
Set HotloadManager.AssemblyResolver for client / menu / server
Documentation pass
Hides Prop.weldParent, Prop.childrenProps and Prop.clonedShapes
TagAttribute can now accept multiple tags at the same time
Documentation pass
VertexBuffer index methods throw if buffer is not indexed
Obsolete TextureArrayBuilder
Readd single string constructor for TagAttribute
Hook up the CMapView's CToolCamera so we can have the camera pos/angles and able to build rays from 2d coords
Hammer traces return their hit MapNode by managed handle so can do `if ( tr.MapNode is MapMesh mesh )` now
Add MapMesh.SetMaterial( Material )
Real simple drag handler for material packages - this code is all getting shit though time to rip it up
Refactored map view drop targets into an interface with attributes: `[CanDrop( Package.Type.Model )] class ModelDropTarget : IMapViewDropTarget`
Once I wrap CMapView I'll make this public and make it work with standard AssetType too, so you'd be able to create custom drop targets for your game resources.
Simple color picker for color properties
Snap to color on mouse press
Add comments to new publics
Merge pull request #573 from Facepunch/color-picker
Simple color picker for color properties
Merge branch 'master' into custom-client-input
Start stripping out stuff that'll need implementing on pawn
Prepare to move a bunch of stuff from user cmd to managed. Clear out eye angle stuff
Calculate lod level clamps to max lod level of model
ModelDoc: Clean up code for new morph frame compiling now that we know it works
Merge branch 'master' into custom-client-input
Make ButtonState a struct with implicit bool conversion
Write dynamic assembly hash to managed input message. Check hashes match when deserializing, if they don't skip that input
Can publish materials to asset.party same way as models
Allow non power of two textures in materials, strip some gameinfo image preprocessors code we'll never use too
Documentation pass
Internalize BaseFileSystem.Watch/Watch(string), WatchEnabled
Only used internally.
Added PhysicsPoint.Transform
Added debug overlays for constraints (ent_text), clean up accessibility & docs
Citizen: further updates & misc. fixes around the head & its shoulder seams
Previously updated clothing included in this commit
Asset Browser: use User order for cloud assets so you see your shit first
Asset Browser: can search for cloud materials
Hammer Asset Browser: double clicking a cloud material will install and set the current material to it
Fix addon editor getting squished and not scrolling
Make _metal and _trans suffixes actually work in create material from image
Fixed text alignment
Citizen: more misc. fixes
A working example for the VirutalScrolling ui test
Fix black sky
Fix color picker stomping hsv sometimes
Citizen/clothing: buttoned shirt skinning pass
Documentation pass
Cookie system does backups on save, add warnings on load failure
Trying to track down an issue where all cookies get reset
Hide a bunch of internal entity methods
Do not fire BaseTrigger outputs if its disabled
Renamed TriggerMultiple.Wait to Cooldown
Documentation pass
Hidden Water.Think
Obsoleted Water.EnableShadows, EnableFog & EnableRefraction
Hidden GradientFogEntity.TickFrame, ParticleSystemEntity.OnMapCleanup, PrecipitationEntity.ClientTick
Implemented ParticleSystemEntity.SetControlPoint
Hidden SoundEventEntity.OnStartSound, OnStopSound
Made SoundEventEntity.StartSound, StopSound public
Added srcds genereated file to gitignore
Added Leaderboard.GetHistogram()
Basic leaderboard histogram drawing
Show markers on friend scores in histogram
Citizen/clothing: buttoned shirt LODs
Add some extra checks for file watchers
Revert "Add some extra checks for file watchers"
This reverts commit 00719712d06cd2ea5f06166a561c640476dd3409.
Fall back to fetching top scores if no scores around user
Throw ObjectDisposedException instead of NotImplementedException when accessing a disconnected clients pawn
Try compiling morph frames with an empty weight list instead of setting bones to bindpose
Documentation pass
Obsoleted Soundscape.MasterVolume, Surface.Dampening, Surface.Sounds.SmoothScrape and RoughScrape on the account of them not being used anywhere
Documentation pass
Dirt footsteps for testing
Citizen/clothing: misc. fixes
Merge branch 'master' into custom-client-input
Don't add const to ArgPointer if asref is specified
Rid of CUtlVectorByte in favor of direct byte arrays
Rename to PawnInput
Just use TypeLibrary as its cached anyway
Add comments + use TypeLibrary
Add HasAttribute<T>()
Tidy up + add ManagedInputs
Delta values for some stuff (only send stuff that changed since last cmd)
Fixed IsDown / WasDown and also Pressed / Released being swapped
Revert "Make ButtonState a struct again but add a method `Set` so it doesn't need to be a class for the property"
This reverts commit 6d29a14ea85614a2c91c8f670f73e5ebb30e60cf.
Make ButtonState a struct again but add a method `Set` so it doesn't need to be a class for the property
Fixed compile error from copy paste 🥴
Added ButtonState.Pressed and ButtonState.Released with docs
Use TypeDescription to fetch property for [ClientInput]
Add extensions for reading/writing Transform
Add Transform.Read and Transform.Write
Add support for Transform to [ClientInput]
Added ButtonState intended for use with [ClientInput]
Limit stored custom inputs to a maximum of 256, removing older entries as new ones are added
Add global:: to codegen EditorBrowsable attributes to avoid errors if the class has a property called System
Cleaned up some game setting code. Added MoveSetting. Added options for moving a setting up or down in the list. Ensure that when the list is rebuilt the previously selected page stays selected.
Added functionality for setting a description per Game Setting that will show during lobby creation
Ensure description is updated properly from TextEdit
Fixed NRE in GameLobbySettings that occurs when a Choice setting has an empty value (Gunfight)
Clear remembered ConVars (from hotloading) when game loop shuts down. Fixes Facepunch/sbox-issues#2281
Have Bot implement IValid. Catch an exception for max players reached in bot_add and fail silently.
Add opacity support for keyframes
Fixed saved ConVars not being applied on startup as they should be
Merge branch 'master' of github.com:Facepunch/sbox
Add EndGameAsync and improve some documentation
Add global:: to EnsureSufficientExecutionStack statement
Fix Client.FetchGameRankAsync by passing an int into TaskSource, it seems like this int is never used although it may have once been, re-evaluate that later
Merge branch 'master' of github.com:Facepunch/sbox
Ensure that the max players slider in the lobby settings is correctly positioned when initialized
Defer setting values for replicated ConVars received from server info (#464)
* Defer setting values for replicated ConVars received from server info until the ConVars are added from the game client-side. This fixes connecting clients not having replicated ConVar values set correctly (because the ConVar doesn't exist at the time they receive them.)
* Set replicated ConVar values after AddConVar to avoid parent/child ConVar default value mis-match and ensure value is set client-side
* Simplify by just sending the initial replicated ConVar values message after the game assembly will have been loaded
* Fix case where value would be overriden by an old one
Validate valid game setting before loading from cookie
Fix case where value would be overriden by an old one
Fix list add button sometimes missing
Fix PropertySheet warnings
Game Settings now support choices with a Value and a Name so that the actual ConVar value can be separated from how it is displayed in the dropdown box
Merge branch 'master' of github.com:Facepunch/sbox
Merge branch 'master' into fix-replicated-convars
Simplify by just sending the initial replicated ConVar values message after the game assembly will have been loaded
Game Settings now support choices with a Value and a Name so that the actual ConVar value can be separated from how it is displayed in the dropdown box
Merge branch 'master' of github.com:Facepunch/sbox
Hide the entire map field in the lobby settings when Map Select mode is set to Hidden for a game. This fixes it just showing "Map" with nothing underneath in this mode.
Merge branch 'master' into fix-replicated-convars
Hide the entire map field in the lobby settings when Map Select mode is set to Hidden for a game. This fixes it just showing "Map" with nothing underneath in this mode.
Set replicated ConVar values after AddConVar to avoid parent/child ConVar default value mis-match and ensure value is set client-side
Defer setting values for replicated ConVars received from server info until the ConVars are added from the game client-side. This fixes connecting clients not having replicated ConVar values set correctly (because the ConVar doesn't exist at the time they receive them.)
Remove HasActive guard for value property on Slider as it prevents value change events when dragging the slider
Set game settings to their default if no override found (for dedicated servers, launcher) in the future we can make it so you can specify game setting values in launcher configs
Use SetProperty to update game settings for other players in the lobby
Use Switch instead of Checkbox in lobby UI for game settings
Make it clearer that ConVars are not automatically created for you
Silent fail handling for game settings deserialization if the game is started by dedicated server or via the console
Revert "Lobby Settings (#432)"
This reverts commit 5c0ad1204fb7ad45bf2b63b7cec6c08d322a66c0.
Lobby Settings (#432)
* Add LobbySettingsPage stub
* Initial version of adding lobby settings (I don't love it, still learning this Qt stuff, v0.0.1)
* Add first iteration of UI for changing settings in a lobby and applying them as lobby data / should auto update for clients to view
* Some cleanup. Don't put lobby settings into seperate tab. Add GameSettingType.Choice (not implemented yet.) Run game setting convars immediately (this seems to set server-side but isn't being replicated??)
* Added support for choices in the settings page
* Some cleanup. Add support for choice setting types in the lobby settings
* Only create all settings if the Game property (package) is set (BaseGamePanel sets it async)
* Improved styling a little for GameSettingsPage
* Add GameSettings dictionary as a property, ensure a blank default and clean up cookie values if the settings have been removed
* Bind GameSettings in GameLobby.html
* Added a button to delete a setting
* Fix typo
* Left-hand scroll pane and add button for settings and tidy up
* Updated to use NavigationView and add EditConVarPage
* Style tweak
* Remove unused code
* Some tidy up and add info explaining how they work and a warning that ConVar.Replicated is preferred
* Change wording
* Change ConVarName description
* Automatically update page names when the Display Name is changed
* Automatically show a default new setting page if there's none existing. Update the page icon automatically based on display type and if it's a new setting
* Remove the big shit delete button and add a context menu on the page item
* Default -> Default Value
* Fixed documentation on FloatSliderProperty/IntSliderProperty and added Step and Format support
* Added GameSettingType.Integer and GameSettingType.Float
* Fixed lobby data for game setting convars being stomped by cookies
* Added GameSettingType.Float and GameSettingType.Integer support to settings page and lobby
* Have the game settings scroll with a max height so they don't end up being overlapped by start game button etc
* Update step and format value for game lobby slider control to match the one in project settings
* Use gamesettings convar for lobbies and various other feedback fixes
* Throw deserialization into try/catch and use ConVar.Server instead of ConVar.Replicated
* Hide away "convar." string prefixes from addon code into Set/GetConVar methods for Lobby so the API is nicer
* Added documentation to GameSetting
* Added some extra doc
Added documentation to GameSetting
Added some extra doc