4,298 Commits over 1,552 Days - 0.12cph!
Don't try to access game props from surface props index, these are no longer compatible, fixes rare physics crashes
Asset Browser: Initial support for renaming single assets and bulk moving multiple assets
Don't show asset rename dialog for single assets that don't have content
Asset Browser: ctrl+c to copy asset name
Possible fix in CTraceSolver::ComputeSeparation for ray tests reporting as start in solid when they're not
ModelDoc: Also check for _phys and _collision suffix when importing model file
ModelDoc: Support opening session with fbx asset
AssetBrowser: Bring up delete helper when pressing delete on selected assets
ModelDoc: Add "import model" which tries to construct useful nodes based on the model file. Also works from drag and drop. https://files.facepunch.com/layla/1b0611b1/sbox_8AeQQydblD.png
toolrenderutils: allow drawing of translucents in ortho
ModelDoc: Fix model sometimes not showing up in ortho views. Reframe camera when switching camera mode.
Asset Browser: Add delete assets menu https://files.facepunch.com/layla/1b0311b1/sbox_LOSvhJYD8R.png
Hammer: Switch to object selection mode before switching tool to selection when showing context menu in outliner, fixes sbox-issues/issues/1033
Default some surface audio properties
Hammer: Fix prefab display color not being used in 2d view wireframe
AssetBrowser: Add a "free scroll" option to stop scrolling snapping to items
Update rubikon materials when surface asset hotloads
Animgraph: Add color tags to create node context menu https://files.facepunch.com/layla/1b0211b1/sbox_YrOOD4mpt2.png
Animgraph: Highlight blend list using blend weights https://files.facepunch.com/layla/1b0211b1/4lfU2YhGgT.mp4
Animgraph: Give a proper title to sequence picker dialog
Animgraph: Blend 2D: animation picker should be case-insensitive
ModelDoc: Add orthographic view and camera alignment modes
And "operator end cap state"
ParticleEditor: Make some common properties not hidden by default "Screen Space Effect" "Operator Fade" "Time Offset" "Timescale Modifiers" and "Strength Modifiers"
Rubikon: Don't backup body if we're stuck
Add ogg support to sound compiler
Animgraph: Add state reordering https://files.facepunch.com/layla/1b2711b1/ZlnSoKvqy9.mp4
Don't bother creating tonemap system for DrawScene, isn't needed yet
Enable basic postprocessing for Render.DrawScene when using 16 bit or 32 bit float color format
Try to get linked service token before creating stream service, don't try to deserialize token if getting linked service fails
Let's not fuck up this branch this time
Add TwitchAPI.CreatePoll
Add TwitchAPI.EndPoll
Add TwitchAPI.CreatePrediction, TwitchAPI.EndPrediction
Have lock, cancel and resolve prediction functions, more clear than an enum for each end status
Stream.OnChat library method instead of event system CommandAttribute
Sandbox.Streaming.StreamClient to Sandbox.Stream
Add Sandbox.Stream.IsActive
Add channel modify functions to Sandbox.Stream
Internal twitchapi
Refractor so that TwitchService handles client and api
Implement Sandbox.Stream.GetUser
internal Stream.Connect and Stream.Disconnect, auto connect to twitch service on loop init
Optional channel param in Stream.SendMessage, sends to your own channel if non specified
Add Stream.GetUserFollowing and Stream.GetUserFollowers
Add Stream.GetBroadcast
Add Stream.GetChannel
Deserialize poll response
Add Stream.CreatePoll, Stream.EndPoll
Document all public Sandbox.Stream functions
Move stream events under Sandbox.Stream instead of Sandbox.Event
Deserialize prediction response
Add prediction to api
Add summary to all stream events
Move IRCMessage to StreamChatMessage constructor
Parse any time response data to DateTimeOffset
Change channel modify functions to properties
Merge BanUser and Timeout user, the only difference is perm ban or timed ban, clarify this in the summary
Move get following/followers to StreamUser
Optional username param for GetUser
Add StreamPoll.End
Move prediction lock/cancel/resolve to StreamPrediction
internal set StreamPrediction properties
internal set StreamPoll properties
internal set StreamUser properties
internal set StreamChannel properties
internal set StreamBroadcast and StreamChatMessage properties
internal set StreamUserFollow properties
Remove OnChat callback, dealing with chat commands should be dealt with addon level
Move Sandbox.Stream to sandbox.engine so multiple connections aren't made for menu, client, server
Remove stream connected/disconnect events for now, doesn't make much sense currently
Add StreamUser.Channel and StreamUser.Broadcast
Add Stream.GetBroadcasts (from game_id)
Add Stream.GetGame (from game name)
Update Stream.cs
Add StreamGame.Broadcasts
Init stream service in MenuInterface.Init. Connect/Disconnect stream service in GameLoop
Add MenuTools.SetStreamService
Save stream service type to cookies
Check websocket is valid before trying to join/leave channel
Make Stream.Init awaitable so menu can know if it failed
Only proceed with irc login if websocket connected, try a reconnect if it fails to connect
Add StreamUser.CreateClip
Add StreamUser.CreatePrediction
Add StreamUser.CreatePrediction
Add StreamUser.CreatePoll
Add StreamUser.Ban, StreamUser.Unban
Keep track of all the chat channels we're in
Rename Sandbox.Stream to Sandbox.Streamer
Remove automatic connect/disconnect in game loop, move to menu commands
AssertMenu in SetStreamService
Don't run events in server context
Remove debug logs
Sandbox.Streamer front to Sandbox.Engine.Streamer to ensure API can only run on menu or client
Move StreamChatMessage to Sandbox.Engine, fixes issue with events
Missed some asserts
Remove websocket copy
Move interfaces to their own files
Merge pull request #28 from Facepunch/streaming
Initial streaming api
Fix Render.DrawScene exception returns wrong image format
Move interfaces to their own files
Move StreamChatMessage to Sandbox.Engine, fixes issue with events
Sandbox.Streamer front to Sandbox.Engine.Streamer to ensure API can only run on menu or client
AssertMenu in SetStreamService
Don't run events in server context
Remove debug logs
Remove automatic connect/disconnect in game loop, move to menu commands
Rename Sandbox.Stream to Sandbox.Streamer
Keep track of all the chat channels we're in
Add StreamUser.Ban, StreamUser.Unban
Add StreamUser.CreatePoll
Add StreamUser.CreateClip
Add StreamUser.CreatePrediction
Add StreamUser.CreatePrediction
Only proceed with irc login if websocket connected, try a reconnect if it fails to connect
Make Stream.Init awaitable so menu can know if it failed
Check websocket is valid before trying to join/leave channel
Save stream service type to cookies
Add MenuTools.SetStreamService
Init stream service in MenuInterface.Init. Connect/Disconnect stream service in GameLoop
Add StreamGame.Broadcasts