6,270 Commits over 3,898 Days - 0.07cph!
Fixed Hammer showing custom ModelDoc nodes as entities
FGDWriter reads XML correctly for properties
func_shatterglass additions & changes
Added support for parenting in Hammer
Added Break input
Added OnBreak output
Replaced "Is in a frame" property with a "contraint" property - has 1 extra selection for physics glass that starts asleep
Fix light_environment's sky lighting keyvalues not being setup correctly
Removed debug output from FGDWriter
Make Hammer.EntityTool Attribute not inherited
Moved light_environment to engine.fgd (is now auto generated)
fade distances and range properties were not moved as they appear to do nothing and make no sense on that entity anyway.
Restore light_environment's description in Hammer
Restore and make obsolete PointLightEntity.LightCookie
Added Hammer.SkipProperty attribute
Allows properties of parent classes to be hidden in the FGD
light_omni, light_ortho and light_spot are now auto generated into engine.fgd
Texture and Rotation support for custom Hammer properties
Prevent stack overflows in FGDWriter
Don't write read only properties, and don't write properties whose type is same as the parent class type
Vector2 can load from object in a JSON
EditorModelAttribute can do different color tint when the entity is dynamic (for lights)
Added Hammer.CanBeClientsideOnlyAttribute
Added 2 internal Hammer helper attributes
Fix compile warning with SoundEvent asset type
Added .vs/* into gitignore
FGDWriter considers writes doubles as floats
Fix up func_shatterglass Hammer properties
Rename first arg of PropertyAttribute's constructors to mention the name is internal
(Also updated the XML comments to reflect this more clearly.
Property attribute uses C# variable name to autogenerate Title, not the internal name
string.ToTitleCase() handles numbers
Update base.fgd
Make SphereAttribute( string ) not ambigious
ResourceTypeAttribute vsnap
Delete breakable_door_model node
Delete Model.GetBreakParicle
write FGD structs for modeldoc only once
FGDWriter can write ModelBreakCommand to modeldoc fgd
Added Library.GetType( string )
Added Model.GetBreakCommands
Breakables class runs BreakCommands, added ModelBreakParticle break command
Cache break command data
Match JSONOptions between Breakables.ApplyBreakCommands and Model.GetData
IBreakCommand => IModelBreakCommand
Update FgdWriter.cs
FGDWriter better handles nullables
DefaultValue generator handles int/float nullables
Merge branch 'master' into modelbreakcommand
ModelDoc does not write GenericGameData fields that are at default value
This is to make nullables in C# modeldoc structs happen
Use nullable ints in ModelBreakParticle command
Update base_modeldata.fgd
Merge pull request #91 from Facepunch/modelbreakcommand
ModelBreakCommand for FGDWriter
Give RangedFloat an implicit float initializer operator
Temporarily fix "Duplicate FGD class" popup/asserts by not writing light entities
Recompile all surface assets
FGDWriter supports System.ComponentModel.DefaultValueAttribute
Restore missing descriptions/defaults for surface and soundevent assets
Make sure floats are quoted in .fgds
Remove base classes from engine.fgd
Give Particles class a description
Update base.fgd/sound.asset
Update base_modeldata.fgd
Use nullable ints in ModelBreakParticle command
ModelDoc does not write GenericGameData fields that are at default value
This is to make nullables in C# modeldoc structs happen
Industrial light - large light for construct warehouse
Merge branch 'master' of sbox
Throw if trying to set RootPanel.Parent
Fix a couple of NREs preventing -dedicated from working
Allow RootPanel.Parent = null though
Shotgun aim workarounds
Initial reimplementation of func_shatterglass https://files.facepunch.com/layla/1b1111b1/sbox_xf1v5teDcI.png
Add entity network ident to list before calling spawn so that setting entity net vars works in spawn
Add glass material property to shatter glass
Add half thickness property to shatter glass, clamp to sane values
Only try to reset glass panel if it's broken
Don';t delete shard if we didn't manage to shatter it
Glass thickness property instead of half thickness
Allow shatter on physics impact although the effect isn't as good as it can be yet
Don't try to shatter if the shatter point is outside of the shard
Only generate shard model on client when there's a valid parent panel with a material set
Filter out all kinds of damage except bullet and physics impact for now
Move car vmdl to rust addon for now so tools stop trying to recompile it
Custom constbuffer support for shaders
Sandbox.ConstantBuffer.Create
ConstantBuffer.Update
Render.Set Constbuffer variant
Compute.WithAttribute Constbuffer variant
Add BBox.FromPositionAndSize
Update to net6
vpc support for vs2022 🙄🔫
vs2022 fixes
New bat files
Make Analyzers and references work with relative paths
Fix surface.asset causing fgd parsing errors
Ready text
Buttons can have subtitles
Hack to make map selection less shit
Error Fixes
Fix missing game lobby settings
Give linebreaks an empty style to prevent shadows etc being rendered
Transform: matrix3d
Transform: matrix
Fix NRE, create lobby if there isn't one when selecting a map
Fix leaderboard showing duplicate entries when rapidly clicked
Don't create lobby, just null check
Better fix for duplicate leaderboard entries
Revert "Give linebreaks an empty style to prevent shadows etc being rendered"
This reverts commit 0a0b8967c63ecd9f8eca49dbdd347fbb02a60b48.
industrial light - fix for #1269
Merge branch 'master' of sbox
Fix Asset property as a List not being an array in fgdwriter
FgdWriter uses DisplayAttribute properties
Write engine defined asset fgd's on startup
FgdWriter - special treatment for Assets, don't treat them like structs
Sound & Surface .asset are now AutoGenerate
Change WorldInput API to instances to resolve issues and allow simultaneous inputs.
* Replace WorldInput.Update with instanced WorldInput fixing hovering and clicking issues as well as allowing simultaneous inputs.
* Resolved various issues with WorldPanel.RayToLocalPosition not using the right axis, being inverted and not scaling.
* Simulate double click and mousemove events for world inputs.
* Fix right clicks not working on WorldInput.
Merge branch 'master' into modelbreakcommand
Update FgdWriter.cs
FGDWriter better handles nullables
DefaultValue generator handles int/float nullables
IBreakCommand => IModelBreakCommand
Cache break command data
Match JSONOptions between Breakables.ApplyBreakCommands and Model.GetData
ResourceTypeAttribute vsnap
Delete breakable_door_model node
Delete Model.GetBreakParicle
write FGD structs for modeldoc only once
FGDWriter can write ModelBreakCommand to modeldoc fgd
Added Library.GetType( string )
Added Model.GetBreakCommands
Breakables class runs BreakCommands, added ModelBreakParticle break command
Maintain CRLF line endings in FGDs + remove trailing whitespace
Update base.fgd
Restore surface asset type defaults
ModelDoc.Sphere's origin argument is optional
Give 'explosion_behavior' property descriptions and a radius visualization
Add sandbox and sbox-ai-lab addons to gitignore
Make sure Surface asset type could be autogenerated
(Its not auto generated because its in the wrong assembly)
Clothing/Decal assets no longer use [Property] attributes
Make internal Hammer attribute properties/fields private like they should be
FGDWriter supports C# structs as fgd structs
FGDType and its derivatives support arrays
FGDWriter: Make non [Property] titles generate consistently with [Property] titles
Fixed selecting tools not working due to recent changes
ModelDoc: Switched Mass/Shape info into a tabbed view so its data can actually fit
Removed gizmos that try to change non existent properties of hand_pose_pair gamedata node
Added "description" property to surface asset
Remove Library attribute from the game class
Added various ModelDoc markup attributes for ModelDoc GameData nodes
ModelDoc.Axis
ModelDoc.Box
ModelDoc.Sphere
ModelDoc.Capsule
ModelDoc.Cylinder
Update Cylinder helper rendering in ModelDoc
ModelDoc: Hide translation/rotation gizmo from 'box' helper when they aren't functional
Fixed cached attachment transforms not updating for a frame or two around entity creation
Fixes single-fire particles in Entity.ClientSpawn attached to an entity attachment spawning at map origin
Fixed ModelDoc particle previews ignoring Attachment Offset
Fixed a minor issue with ModelDoc GameData previews
CMapListService no longer returns _bakeresourcecache.vpks in the list
Fixes _bakeresourcecache files appearing in ModelDoc's preview map selector, possibly other places too
ModelDoc: Proper previews for compiled GenericGameData nodes
Update base.fgd
Cleanup FGDWriter
Make Hammer.Skip for entities not inherited
GenericGameData fgd autogen
Delete IModelGameData, Add ModelDoc.GenericGameData Attribute
Move door_sounds modelgamedata to c#
Move prop_data to c#
Update models_gamedata.fgd
Move explosion_behavior to c#
More strict usage for AutoGenerate, FGDType and BitFlags attributes
Classes can dictate their own FGD type via FGDTypeAttribute
(So you don't have to put the attribute on every property every time)
Rename ParticleAttachment fields to be consistent
FGDWriter can output classes as "choices" selector in tools
This is a workaround to be able to use strings as data in fgd choices type, which c# enums do not allow.
Move 'particle' (particles_list) modelgamedata to c#
Cleanup
Fix Model.GetData<>() not working with structs
ModelBreakPiece works with Model.GetData<>()
Obsolete Model.GetJson, GetData(str), HasData(str)
Update ModelExtension.cs
FGDWriter can use ComponentModel.DisplayName & JsonPropertyName Attributes
ComponentModel.DisplayName replacing Property.Title
JsonPropertyName replacing Property.Name
If a class as no properties with [Property] attribute, all properties will be exported to .fgd
Delete ParticleAttachmentType
Switch ModelGameData back to JSON for deserialization
Update BasePathNode.cs
Remove no longer needed interop methods
Fix missing 'using' in FGDWriter
Added Model.TryGetData<>
FGDTypeAttribute can now provide choices to fgd properties
Attribute suffix for ModelDoc attributes
Fix recent changes
Make ParticleAttachment public
Hammer.Skip works for enum fields
Engine's string to particleattachment type supports string numbers
Model.GetData<>() supports deserializing to enums
ModelParticle class uses ParticleAttachment enum
Merge ModelDoc.ListAttribute into ModelDoc.GenericGameData, and rename it to ModelDoc.GameData
Demote Model.TryToGetData()'s error to a warning
Update base_modeldata.fgd
Merge pull request #75 from Facepunch/modeldoc-fgdgen
Basic FGD Autogen for ModelDoc
Make ParticleAttachment public
Hammer.Skip works for enum fields
Engine's string to particleattachment type supports string numbers
Model.GetData<>() supports deserializing to enums
ModelParticle class uses ParticleAttachment enum
Merge ModelDoc.ListAttribute into ModelDoc.GenericGameData, and rename it to ModelDoc.GameData
Demote Model.TryToGetData()'s error to a warning
Update base_modeldata.fgd
Attribute suffix for ModelDoc attributes