usermattcancel
reposboxcancel

1,478 Commits over 1,157 Days - 0.05cph!

3 Years Ago
Obsolete [Hammer.EntityTool] names & categories should be set with [Display, Category] and descriptions should be /// <summary> ... </summary>. Entity Tool will show these friendly names / icons over class names.
3 Years Ago
Add [Hammer.PhysicsSimulated] this hints to the map compiler that the entity is simulated in game and should pre-settle. Internally replace BasePhysicsSimulated @baseclass check with PhysicsSimulated tag and replaces the hacky solution I had implemented with .fgds previously. Make all these [Hammer.] attributes make helpers, metadata, etc. with dictionaries / lists instead of a stringbuilder to fgd format
3 Years Ago
default_fov not a cheat (lets you have it set on servers) and also saves, games can force a fov still if they care
3 Years Ago
Add MetaData for classes, turn it into native KV3 Add PropertyTypeOverride for MapVariable for some shit we really just can't derive from a C# Type [Hammer.CanBeClientsideOnly] adds its variable
3 Years Ago
Sort out the C++ side of fgdlib so we know wtf is going on, organize our C# interop nicer because of it. * Split fgd file parsing away so we have more ownership of GameData and it's way less confusing. * Classes, variables, globals are named properly e.g pGD -> g_pGameData (it got very confusing when pGD is a parameter name everywhere too) * Document what GameData is & how we use it in s&box. * Sort out code stink, unnecessary long compile times and remove some headers that haven't been used in the past couple of decades. Add "point" and "solid" tags to applicable managed gamedata classes, Hammer likes to use these over the type for some things Don't mix AssemblyLoadContexts, I've one this part all pretty wank need to revisit this bit later. Implement Inputs and Outputs, the parameter types make more sense now and entity parameters should work now too. Remove map entity related stuff we've already ported to our tools from FGDWriter
3 Years Ago
AccessControl check remote packages in Hammer before loading them GameData::AddClass sets the classes parent to itself properly Copy editor helpers and tags to native GameData, add standard base properties "parentname", "local.origin" etc. (is there a reason these aren't just on the Entity class as normal properties?) Implement property type overrides so I don't fuck up backwards compatibility, we can iterate on if these are needed later Adjust Hammer.MetaDataAttribute to accept Lists for metadata & helpers, implement even more Hammer attributes (there are a lot..)
3 Years Ago
Hotload CachedUpgrader: it's okay if this is already in the replace cache it's gonna be the same instance Update base fgd
3 Years Ago
Load all entities from our local base addon dll Make resource types on properties work properly, Texture Model etc. - handle Tags on map classes and start parsing [Input]
3 Years Ago
Can manually dispatch CI workflow to force a full rebuild for when incremental builds get fucked
3 Years Ago
Delete loads of C++ entities that were removed from fgd ages ago or just legacy as fuck, clean up loads of shit because of it too. Important we do delete these after removing them from fgds because the engine will still create them if a map has specified them previously
3 Years Ago
Map class variables type themselves from the C# Property Type now and their default value is set too. Clean this shit up using partial classes keep it nice and tight.
3 Years Ago
Add entities to Hammer GameData straight from games assembly data (skipping fgd) Use an AssemblyLoadContext for game binaries in Tools/Hammer so we can use real Reflection instead of Cecil We can load entities from remote packages too, put it all into a simple `Hammer.LoadEntitiesFromPackage( "facepunch.minigolf" )` Clean up GDVar code a bit to keep our changes manageable, we don't need S1 fgd parser or game units/items Turns out we were using the legacy stuff, switch it all over to KV3 Populate entity gamedata properties Make structured MapClass w/ mirroring to native GameData so we have access to map entity classes in managed easily Port Hammer Entity tool to C#, can pick s&works games from within the tool and use the game entities straight away Don't output entities with FGDWriter Load entities from all active LocalAddon when Hammer is started, split the API for local/remote package to make it saner Load entities straight from Sandbox.Game.dll too Hammer: don't load any .fgds from addons, we only load core/fgd/s&box.fgd now for remaining C++ entities Remove DotaMaxTrees Load managed GameData after engine fgd is read, copy native engine entities to our managed lists and then mirror our managed game classes back to native Copy variables to native Make our entity tool properly functional and less shit, add a button that pops up a dialog to use entities from remote games.
3 Years Ago
Remove DotaMaxTrees Load managed GameData after engine fgd is read, copy native engine entities to our managed lists and then mirror our managed game classes back to native
3 Years Ago
Load entities straight from Sandbox.Game.dll too Hammer: don't load any .fgds from addons, we only load core/fgd/s&box.fgd now for remaining C++ entities
3 Years Ago
Don't output entities with FGDWriter Load entities from all active LocalAddon when Hammer is started, split the API for local/remote package to make it saner
3 Years Ago
Clean up GDVar code a bit to keep our changes manageable, we don't need S1 fgd parser or game units/items Turns out we were using the legacy stuff, switch it all over to KV3 Populate entity gamedata properties Make structured MapClass w/ mirroring to native GameData so we have access to map entity classes in managed easily Port Hammer Entity tool to C#, can pick s&works games from within the tool and use the game entities straight away
3 Years Ago
BasePhysics entities (prop_physics) should derive from the FGD baseclass BasePhysicsSimulated - that way the map compiler will simulate and settle them.
3 Years Ago
Add entities to Hammer GameData straight from games assembly data (skipping fgd) Use an AssemblyLoadContext for game binaries in Tools/Hammer so we can use real Reflection instead of Cecil We can load entities from remote packages too, put it all into a simple `Hammer.LoadEntitiesFromPackage( "facepunch.minigolf" )`
3 Years Ago
Fix erode tool not working seemingly randomly due to some uninitialized memory
3 Years Ago
Add entities to Hammer GameData straight from games assembly data (skipping fgd)
3 Years Ago
Add some more mix-blend-mode, fix lighten colors (but this breaks alpha), someone smarter have a look, I don't see how we can do this with just DX11 blend states we likely need to do software blending in the shader.
3 Years Ago
NetRead Asset is supported
3 Years Ago
Don't generate custom asset types where extension is over 8 chars, add appropriate errors so you know wtf is going on Internally these extensions turn into a 64-bit int (8 bytes) so making them longer isn't practical.
3 Years Ago
PostProcess.Get<T> correctly returns null instead of erroring if it's not in the active effects list
3 Years Ago
BasePlayerController / MoveHelper traces hit Window & NPC layers as expected
3 Years Ago
Fix wrong blend mode happening in shader somehow
3 Years Ago
Remove SceneObject.SetMaterialGroup, it was already on SceneModel
3 Years Ago
Whitelist System.WeakReference Whitelist System.ValueType Whitelist System.IConvertible Whitelist System.TypeCode Whitelist System.TimeZoneInfo
3 Years Ago
Add `mix-blend-mode: multiply`, color picker works again
3 Years Ago
Fix missing key binds on asset inspector tool
3 Years Ago
Remove redundent footer-space on game edit screen
3 Years Ago
If Steam Input gives us no motion state use Quaternion.Identity instead of an invalid quat Make Input.MotionData.Rotation match our S2 world space
3 Years Ago
Fix NRE on Game Setup screen Restore game setup description editing functionality Can set control mode / single/multiplayer tags on game setup page Add controller/vr information the same way as "Mouse & Keyboard Supported" is Fix exception from Package.UpdateValue
3 Years Ago
Fix UI shader using wrong constants for background image repeats
3 Years Ago
PrimitiveBuilder.Is2D now works as intended and makes a 2D bounding box on the block tool Revert "Quad primitive creates from the bottom of the bbox" This reverts commit 6e1704dfd5a9a62d3bcc4de46a18de1ece416047.
3 Years Ago
PathPlatformEntity moves with velocity matching PlatformEntity behaviour, so the player controller can match it's velocity. https://files.facepunch.com/matt/1b1611b1/sbox_0001.mp4
3 Years Ago
net_fakelag remove FCVAR_ARCHIVE, and add FCVAR_CHEAT to it and sdr command
3 Years Ago
Set controller "Menu" action set if ingame but main menu is open
3 Years Ago
Asset.Load log the actual exception when deserializing errors
3 Years Ago
Fix typo in water bounds code using y instead of x
3 Years Ago
Completely remove HLTV/SourceTV, decouple spawngroupmessagemanager so the demo recorder can use it Remove instant replays
3 Years Ago
Don't flatten hierarchy when looking for [Event] methods
3 Years Ago
Use the Center +- Radius of Water RenderBounds
3 Years Ago
Make sure water render bounds are larger then ripple radius * 2 and not just radius.
3 Years Ago
Implement `UPathComparer.OrdinalIgnoreCase` and use it for `RedirectFileSystem ManifestFileSystem.Redirect` - fixes not finding non lowercase files.
3 Years Ago
Add SceneObject.SetMaterialGroup( string group )
3 Years Ago
Load all Assets before entities are created clientside, matching serverside behaviour
3 Years Ago
Get rid of trains and elevators and shit Delete more shit, maprules, multiplay/teamplay game rules, misc shit handled by C# already
3 Years Ago
Fix DX11 check wrongly checking for DX10 D3D11 device video support is only supported on DX11.1 (w/o WARP), add the proper feature level check
3 Years Ago
Add -dx11novideosupport flag for debug