usermattcancel
reposboxcancel

1,296 Commits over 943 Days - 0.06cph!

2 Years Ago
Fix some issues with Steam Input glyphs reflected in upcoming Steam Client update * Glyph sizes for medium and large glyphs changed 64 => 128, 128 => 256. * Glyph style modifiers now work properly with the source files from Steam. * Added `steaminput_glyph_forceresize` cvar (default on), some of the styled glyphs are still the wrong size on Steam's end, so cvar so we know when it's safe to remove this hack. * Added `steaminput_glyph_forcetype` cvar, you can test what your game looks like with different controller types easily.
2 Years Ago
send playername in connect protobuf, was previously wrapped in a splitscreen message
2 Years Ago
Remove splitscreen from engine and all the hacky shit that went along with it * Input config now handled in InputService instead of SplitScreenService * Remove split client connects / channels from networksystem * Remove all remaining references to CSplitScreenSlot Remove c++ engine camera manager from dota, we do cameras entirely in C# managed already anyway Delete c++ flashlight code Remove a bunch of vgui HUD stuff Delete achievements manager from C++, when we add achievements it'll be easier to do in C# with Steamworks Remove more unused convars specific to hl2, cs, etc. Restore host_writeconfig which was hidden away in splitscreen service 🥴 Drop `name` convar that was really just a wrapped steamworks GetFriendPersonaName() call - replace with a cached GetPersonaName()
2 Years Ago
Packaged games properly update their hash for networking, fixes net vars in packaged games
2 Years Ago
Remove anything marked as [Obsolete] 3+ months ago Obsolete Entity.EyePos/Rot => Entity.EyePosition/Rotation delete some legacy c++ concommands: god, say, give, etc. these didn't work anyway and if they should work they should be done in c# reimplement cl_showpos in c# so it uses the pawn, remove cl_showfps (there's much better ways to see it now) Fix compile error and strip Panorama stuff from the particle host Remove more legacy player concommands and whatevers left of impulse remove env_message
2 Years Ago
Basic Managed Hammer: add menus from C# and auto reload fgds * Basic Hammer interop, let tools addons add menu bar options with [Menu] * FgdWriter tells Hammer to reload fgd automatically when written * Hammer: Save & restore selection when reloading fgds instead of clearing it
2 Years Ago
[Net] codegen, use the ISymbol to get attributes instead of the syntax node so you can use the FQN and not have it silently do nothing Fix access violation crash in NetWrite.SendRpc on invalid entities
2 Years Ago
Add missing interop includes
2 Years Ago
Basic Hammer interop, let tools addons add menu bar options with [Menu] FgdWriter tells Hammer to reload fgd automatically when written Hammer: Save & restore selection when reloading fgds instead of clearing it Hook Hammer MapViewHUD render and pass a ToolRenderContext to C# for helper overlays (e.g. showing where a platform will go.)
2 Years Ago
Lobby.JoinGame remove [] wrapped steamid from connect
2 Years Ago
Hammer: Fix "New From Template" creating 2 world nodes and leaving one in a fucked state crashing loads of shit
2 Years Ago
Bare managed interop setup for Hammer FgdWriter: tell tools to reload fgds Hammer: when reloading fgds instead of just clearing selection, make a backup and restore it
2 Years Ago
Restore default key binds button for when you've fucked them
2 Years Ago
When uploading addons use a 64 bit int for scanned bytes for addons with manifests over ~2.1gb
2 Years Ago
Use an estimated velocity clientside for entities with physics (was just 0 before)
2 Years Ago
Only show gamemode packages in local games menu
2 Years Ago
Give KeyframeEntity (e.g ent_platform) velocity so pawn movers can use their base velocity. https://files.facepunch.com/matt/1b2611b1/platform_before_after.mp4
2 Years Ago
Template property binds (e.g @text=) allow non-public and ignore case, matches @ref behavior
2 Years Ago
Whitelist System.IO.StreamReader/TextReader ( explicitly the Stream constructor only )
2 Years Ago
Basic key bind menu https://files.facepunch.com/matt/1b2411b1/sbox_VIhmptifiG.png Remove old unused default controller binds Allow changing audio output device in tools Save key binds
2 Years Ago
Resolve obsolete ResourceId usage
2 Years Ago
Don't derive Asset from Resource... fix getting assets by id/path returning null (#150) Don't derive Asset from Resource, lets Sandbox.Game keep it's loaded assets instead of Sandbox.Engine Fixes case when assets are loaded across Client, Server, Menu and all stored under the same ID, meaning when you fetched by ID it would only be valid in one state.
2 Years Ago
Clear Asset dictionaries and dispose of watchers on Init/Shutdown
2 Years Ago
Don't derive Asset from Resource, lets Sandbox.Game keep it's loaded assets instead of Sandbox.Engine Fixes case when assets are loaded across Client, Server, Menu and all stored under the same ID, meaning when you fetched by ID it would only be valid in one state.
2 Years Ago
Hint the networked dictionary generator to support class types we can NetWrite as keys.
2 Years Ago
Disable debug warning log on network hash mismatch Implement [Net] IDictionary<TKey, BaseNetworkable> and expose IDictionary<TKey, object>, code gen is more resilient and gives better feedback for unsupported combination types.
2 Years Ago
Tag asset type images under tools Fix small regression with InputBuilder Pressed/Released not working after calling Clear() Remove VROverlay from update list if it's handle is 0, don't think the weakref was freeing fast enough
2 Years Ago
Update Steam file exclusion so some pngs from base addon end up in steam build - fixes missing ui / asset files
2 Years Ago
Fix SlotNext, SlotPrev buttons not working on controllers
2 Years Ago
Add mouse icons for Input.GetGlyph instead of text https://files.facepunch.com/matt/1b1711b1/sbox_BvBA1fyVuJ.png Fix glyphs for analog inputs not working
2 Years Ago
Make [Net] only work on { get; set; } props and throw a nice error, people were constantly getting confused why their custom getters/setters weren't working.
2 Years Ago
Make [Net, Change] work with entities and remove obsolete [OnChangedCallback]
2 Years Ago
Give base addons proper schemas so they don't get auto-upgraded and stomp SharedAssets.
2 Years Ago
Set SharedAssets to empty on base, citizen, rust addons - stops them being downloaded over multiplayer
2 Years Ago
Hack to resize glyphs from Steam if they're the wrong size until it's fixed on Steam, e.g PS glyphs are twice as big.. Add optional style parameter to Input.GetGlyph There's 3 styles Knockout (default) buttons are on a knocked-out background. Light is black on a white background, Dark is white on a black background. Modifiers WithNeutralColorABXY() will match the style color instead, WithSolidABXY() gives the buttons a solid fill. Example usage: Input.GetGlyph( InputButton, style: GlyphStyle.Light.WithSolidABXY() ); https://files.facepunch.com/matt/1b1711b1/glyph_styles.png
2 Years Ago
Error if trying to add the same addon twice. Remove debug log from controller testing.
2 Years Ago
Remove extra EndGlobalSection from .sln - fixes Rider being unable to open solution When upgrading .addon to new schema default SharedAssets to `*.*`
2 Years Ago
Fix hanging from SetParent, forgot to stage this fix oops
2 Years Ago
Don't allow entities to try and become children of their children, throw a warning for creators - fixes infinite recursion crash.
2 Years Ago
Fix InputBuilder.Pressed/Up not working properly with controller input
2 Years Ago
Add optional argument to Input.GetGlyph specifying glyph size. ( Small: 32px, Med: 64px, Large: 128px ) Input.GetGlyph( InputButton ) will now return glyphs in the same knockout style as controller glyphs https://files.facepunch.com/matt/1b1311b1/glyphs.png Clear all cached handles when a new Steam Input config is loaded
2 Years Ago
Whitelist ZipArchive properly so you can pass a Stream and whitelist various System.IO exceptions.
2 Years Ago
Small fix with controller config (exporter missed a #?)
2 Years Ago
Update Steamworks SDK 1.53 Resolve deprecated SteamNetworkingSockets usage Controller API in Sandbox.Engine wrapping Steam Input internally with proper async glyph loading Better controller support in C# Input system with Steam Input. New methods: * Input.UsingController - true if the last input from a user was from a controller (accessible serverside too) * Input.GetAxis( InputAnalog ) - get the raw analog axis from a controller, move / look / triggers. * Input.GetGlyph( InputButton / InputAnalog ) - Get a controller-specific glyph texture for the bound InputButton ( if using controller ) * Input.GetButtonOrigin( InputButton / InputAnalog ) - Get context specific button, e.g InputButton.Jump would return 'SPACE' or 'A Button' Users can bind any InputButton to various controller devices by opening the binding panel from the settings menu. Default configurations for Xbox One and PS4 controllers, other devices should derive nicely from these, let us know if not. InputButton: Obsolete a bunch of unused/unbound buttons that made no sense. Strip native InputSystem of legacy code for XInput / Joystick / Steam Controller.
2 Years Ago
Final code/doc cleanup, fix Controller.All returning disconnected ones
2 Years Ago
Add Input.GetAnalog( InputAnalog ) returns a Vector2 of either Move, Look or Trigger - can be used serverside too. Strip XInput / Joystick methods completely from InputSystem, remove workarounds / hacks around it since we just do it all in C# now Add Input.GetGlyph( InputAnalog ) - split InputAnalog.Trigger into LeftTrigger, RightTrigger so you can get the glyphs Add action manifest file with PS4 / Xbox One configs ( other controllers should derive nicely from these ) Very simple controller settings button in main menu to open bindings Don't cache invalid handles in the Controller API, seems to be a few ms where handles are invalid when a controller is plugged in.
2 Years Ago
Update Steamworks SDK 1.53 Resolve deprecated SteamNetworkingSockets usage Controller API in Sandbox.Engine wrapping Steam Input internally with proper async glyph loading Use Controller API for Input, all InputButton are bindable from Steam Input. New methods: * Input.UsingController - true if the last input from a user was from a controller (accessible serverside too) * Input.GetGlyph( InputButton ) - Get a controller-specific glyph texture for the bound InputButton ( if using controller ) * Input.GetButtonOrigin( InputButton ) - Get context specific button, e.g InputButton.Jump would return 'SPACE' or 'A Button' InputButton: Obsolete a bunch of unused/unbound buttons that made no sense Remove old Steam Controller initialization from C++ engine and disable XInput Remove dead or legacy code / tidy InputSystem/UserCmd
2 Years Ago
Disable videomode settings when in tools as it's handled by the widget (prevents user getting into an infinitely tiling window state)
2 Years Ago
Fix generated ISteamInput interface not handling arrays for originsOut which would just crash if a user has multiple buttons for an action Remove InputButton enums that were completely unused and unbound to avoid API confusion Ditch seperate DigitalAction enum, let Steam Input bind any InputButton as a digital action. Make Controller an internal class that we use from the public Input class instead Add clientside Input.GetGlyph( InputButton ) and Input.GetButtonOriginName( InputButton ) which return dependent on active input device. ( Need to source some M+KB glyphs really )
2 Years Ago
Throw a nicer exception if you try to add children to something that shouldn't have them ( <text>, <img> )