22,445 Commits over 1,614 Days - 0.58cph!
Added StartPosition option to ent_platform & other minor updates
BREAKING CHANGE: ent_platform "Spawn Settings" flags were separated into their own C# properties and now have proper descriptions, maps using "Starts Moving" and "Loop Movement" features will need recompiling
Merge branch 'master' of sbox
Gamma correct background-tint
Background tint should now set the exact color values instead of a more washed out color
Don't allow entities to try and become children of their children, throw a warning for creators - fixes infinite recursion crash.
Make Vector4.One actually equal Vector4(1, 1, 1, 1);
Add "tint" filter for SCSS. filter: trint(COLOR);
```css
filter: tint(red);
filter: tint(#ff0000);
filter: tint(rgb(255, 0, 0));
```
Add "tint" filter for SCSS. filter: trint(COLOR);
```css
filter: tint(red);
filter: tint(#ff0000);
filter: tint(rgb(255, 0, 0));
```
Allow particles to be created in the current scene world
Addons use CodePath, HasCode from config
Opening console stack only needs single click
Queue to dispose Qt's smart pointer objects in the main thread
Added Rect.Contract methods to match .Expand
Fixed NRE in DisplayInfo
Remove Tools menu
Added Widget.LocalRect, ScreenRect, Width, Height
Added initial help page to addon switcher
Update local games list when local addons change
.addon file upgrading, saving
Addon right click > open folder
Fix load addon gamemodes not loading
Indicate that addon has an old schema and upgrade is available
Fix InputBuilder.Pressed/Up not working properly with controller input
Hammer: Allow block tool to vertex snap
Added DoorEntity.Break input
Added Health keyvalue, Break input and OnBreak/OnDamaged outputs to FuncBrush
Also renamed FuncBrush class to BrushEntity
Fixed KeyframeEntity methods not working correctly with host_timescale above 1
Improvements to documentation of some methods and properties
Host.Name, Host.Color, Model game data methods, LogicEntity, ent_platform
Update FuncMonitor.cs
Give physics to some rust ported junk models
Breakables class will now try to spawn generic gibs if model has none
Update base.fgd
Update .fgd files to remove func_platrot, func_breakable
func_breakable is superseded by func_brush
Updated on kill particle example to use "Init from killed parent particle"
Particles: Enable InitFromParentKilled and CreateFromParentParticles
Asset browser mod filter obeys active status
Delete addons.json
GetAllModsCount can return only active mod count
Add Asset.AbsolutePath
Don't dump a tools_asset_info.bin into each addon
Save tool settings and autosave in .source2 folder
Asset absolute paths
Update .gitignore
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
Basic Example Particles
collision_particle_example, constrain_distance_example, epitrochoid_example, follow_cp_example, grid_example, int_from_model_example, move_between_2points_example, on_kill_example, pull_towards_example, screen_space_example, snapshot_example
Hammer: More robust quad basis calculation for shatter glass etc
Whitelist ZipArchive properly so you can pass a Stream and whitelist various System.IO exceptions.
Small fix with controller config (exporter missed a #?)
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.
Asset System enable/disable mods when adding/removing
Trim all this vwatch shit
Trim some P4 shit
Rebuild asset browser controls when mod count changes
Asset system will add new assets from added folders
Final code/doc cleanup, fix Controller.All returning disconnected ones
Fixed collisions on metal beam tileset model
Added 16 width beam for metal beam tileset
Updated metal beam tile set with 16 width and better corners
Addon remove option works
Can change active status
filesystem.RemoveSearchPaths accepts a wildcard pattern
Remove mod_* searchpaths when adding addon paths
Actually add new addons
Native reads new .addon format, can add addons without restarting
Be more conservative on quality-related optimizations now that we have a good enough speedup on reflections
Add Reflection as a supported rendermode in gameinfo.gi
Add ToMaterialMultiblend helper
Add multiblend to high_quality_reflections shader
Composite reflections with new multipass reflection buffer rather than tracing on the shader itself, fix stuff on the pipeline
Add multiline text entry to ui tests
Fix incorrect carat position when backspacing in a TextEntry
Updated pipe material to have correct surface properties
Addition models for tileset
Pipe_a Tileset https://files.facepunch.com/louie/1b1111b1/sbox_KUq94DR0F5.png
Remove env_spark, point_tesla, logic_lineto, physics_cannister, point_gamestats_counter from the base.fgd
Fix description of ent_path_platform.StartBackwards
Added Rect corner accessors
Force scrollarea background to transparent
Addon list
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.
Server addon loading
Rename AddonConf to LocalAddon
Clean up logging
Add a repeat counter on console message repeat
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
Addon Config, Solution Folders
DataModel tooltip, statustip, selection
TextEdit.GetAnchorAt
Clickable objects in console
Asset List filtering
Start organising for addon manager
Aircon - adjusted mount so its easier to place on walls in hammer
Merge branch 'master' of sbox
Remove redundant overload and add extra documentation
Allow choices to be optional for SpeechRecognition
Simple Speech API (Limited) (#144)
* Very simple listen method purely with dictation or listen method with a set of possible choices
Co-authored-by: Chloe Marcec <dmarcecguzman@gmail.com>
Allow specifying HTTP headers in WebSocket.Connect (some are not allowed though)
Set appropriate User-Agent and Origin headers (not customizable)
Added Paint.AntiAliasing
Add Widget.ToolTip, Widget.StatusTip
FloatEditor can have an icon instead
Add Angles Editor
Add Paint.SetBrush( image )
Color editor
Select server entity, if available
Split classes into files
Allow getting DisplayInfo to type to not inherit
Inspector navbar
Add Option.Enabled
Inspector back/forward with history
PropertySheet header wip
Add mp4 support to CMovieRecorder so we have a working mp4 recorder that we can speed up for runtime use
Iron Fences - revised post design and improved texture resolution
iron fence - roughness tweak for paint
Move sliders from menu to base
Make CoC Smoother for shader
Initial dev camera DOF UI
Remove old DOF stuff from devcam
Add the ability to use old CoC
Update entity list when entity parent changes
Cleanup var names
Correct focal point for old coc
Merge pull request #143 from Facepunch/dof-settin-devcam
DOF Settings menu with devcam.
Hold TAB:
https://files.facepunch.com/ognik/1b0711b1/2022-01-21_02-16-6a51e513-aa5a-4419-a390-0c91b867974e-ZdXU8wWx.png
Disable videomode settings when in tools as it's handled by the widget (prevents user getting into an infinitely tiling window state)
Fixed weird ghosting on DOF edge
If in full screen tools mode and open the console, disable full screen
Added console command "tcmd", which can be used to run events in tools realm
Added tool event commands editor.fulltoggle, editor.fulloff, editor.fullon
Bind f3 "tcmd editor.fulltoggle"
Add Input.GetBindingForButton( string buttonName )
Pressing F keys in editor will run those binds in game, even if the game doesn't have direct focus
Removed broken/ fixed Core particles
Removed old test maps from /core
Updated tags for particles
Cleaned up explosion particle
Metal Railing Tileset https://files.facepunch.com/louie/1b0711b1/sbox_JRSGuE8OgJ.png
Addition models for railing tileset
Initial SDF tracing optimizations until multipass rewrite
Fix DoF on AMD
Allow specifying root namespace
Refactoring
Expose the ModelEntity's Model as a property
Moved Model, Material, Texture into Engine.dll
Remove unused RouteDamageToNative
ModelProperty placeholder
Chop off a pixel when mp4 recording is an odd size so any size can be recorded
Aircon - aircon, gibs and mount lod0
Organize Qt defs
Bind pixmap
Create IAsset.def
Create IAssetPreviewSystem.def
Create IAssetSystem.def
Add Paint.Draw( rect, pixmap )
Add Utility.GetAssetThumb( path )
ModelProperty draws thumbnail
AssetSystem hooks
Better fix for AMD driver bug on DoF, wrap around problematic instruction
Fix startup assert related to duplicate QT layout
Fixed start up exception due to a malformed comment
Remove glass hack, try and put quad basis into entity key values instead
Merge pull request #145 from Facepunch/root-namespace
Allow specifying root namespace in the .addon file
```
{
"sharedassets": "*.*",
"type": "game",
"ident": "ognik.spectest",
"rootnamespace": "Poop"
}
```
https://files.facepunch.com/ognik/1b0811b1/2022-01-18_36-07-333a9692-b006-45ae-9291-ba9d4a2e701b-EM3ZWSxJ.png
Icon Attribute, MaterialIcon enum
MaterialIcon lookup fix
ListView control
Add Vector3.Clamp
Add min max variant to ClampLength
Asset Listing tests
Fix Vector3.ClampLength( float minLength, float maxLength )
Fix menu clipping with maps & local games
Merge pull request #138 from Facepunch/websocket-headers
Allow specifying HTTP headers in WebSocket.Connect
Merge branch 'master' into speech