642 Commits over 976 Days - 0.03cph!
Add Speech.Synthesizer.WithRate to specify speed of speech. Added Synthesizer.OnVisemeReached which gives the user data on the sound's visemes
Viseme data here doesn't hook into anything right now.
Moved Sandbox.SpeechRecognition to Sandbox.Speech.Recognition, removed obsoletes
Forgot to rename SpeechRecognition.Reset to Speech.Recognition.Reset
Add basic text to speech support using System.Speech.Synthesis
- Use Sandbox.Speech.Synthesizer to build your text to speech sound and play it
- This probably doesn't work with Proton
Plumb in a fix for EntityPrefabEditor entity selection
KeyBindWidget: Fixed using the wrong code for middle/right mouse button
Optimized compile for gizmo_line and gizmo_sprite, fixes on Vulkan
Editor.Animate promoted to public
BoolControlWidget: don't propagate mouse press to parent widgets
Added path for updating audio listener outside of client gameloop
Add Decal.Place( SceneWorld, ... )
Don't use file scoped classes for input action cells, ends up codegenning a really shit name for them and makes stack traces worse to read
Editor: Add inline text editing for input action name and group
https://files.facepunch.com/tony/1b0911b1/sbox_Pa9V155XnL.mp4
Editor: Add "keybind" editor widget, instead of manually finding inputs, just press the button you want to use - would be good to have proper trapping in tools soon (?)
Ensure Account.Memberships is not null, cleans up having to validate it everywhere
Groundwork for starting the game without connection to steam servers / our API
AssetBrowser: Only show cloud tab if we're connected
Add a hint to editor window title to dictate if we're in offline mode
UI: Replace content on Home/GameList with a hint if we're not connected to the Api
AssetBrowser: Handle case where we don't get any account memberships (offline mode prep)
Small JumpList refactor, update JumpList when activating game project
- Removed JumpListManager
- Moved all JumpList stuff into Sandbox.Engine
Editor: Cleanup logic for opening last loaded project - remove unused code, and lastprojectopened cookie
Check to see if an asset gets deleted from explorer - and mark it as deleted in the asset system
Update asset browser list on content.changed
Fix tooltips not being visible in the main menu, removed unused main menu style
Look for .sbproj in DownloadCloudProjectAsync instead of .addon
Editor: set gamemode to CurrentGame, loading map manually / from hammer should use active game
Editor: Add Min/MaxLength to ProjectConfig.Title to match asset manifest spec
Editor: Add Project.Config.Title to review wizard
Editor: check for validation attributes on review wizard page, can't continue if it fails
Added Tags to Surface (HasTag, HasAnyTag, HasAllTags - define tags in resource)
Remove ClientEntity.HasPermission (unused)
Set known Game.Server fields when running Game.Menu.StartServerAsync (sboxgame/issues#3980)
Don't moan about missing voice input
Add SteamInput manifest file for deck
At the moment, all it does is make the right trackpad work
Run RichPresenceSystem.Tick in GameMenuDll instead, fixes presence being incorrect while in a game's menu
Run ServerConfig.UpdateFromPackage after ServerInformation gets set, fixes bind collection failing to load in GameMenu
Remove unneeded rich presence setter
Fixed invalid grouping of members in rich presence, need to find out why the server's SteamID can become this
Make gamepad input poll properly in GameMenu
Game.AssertClientOrMenu includes GameMenu, fix Input.GetGlyph not working in GameMenu
Update BaseFileSystem.ReadJson<T> docs
SteamInput: fixed left trigger action being bound to right trigger
Input: fixed AnalogInput being incorrect for right trigger
Would be good if I reflected all use of RequestAsync and not break everything, thank god for unit tests
Http.RequestAsync( string method, string requestUri ) changed to Http.RequestAsync( string requestUri, string method = "GET" ) to match all other methods
This is a breaking change, please update your code (I assume not many people are using this)
Gamepad Support Refactor (#1218)
- No manifest codegen
- Gamepads work again (including Steam Deck)
- Goes against what SteamInput is all about 😢
Add rich presence system class which is polled every so often, instead of updating presence from 7 different classes
Fix NRE in ServerDll.UpdateServerDetails if playing locally, my bad
Pass gamemode version tag to ServerList so games can decide what to do with servers that are out of date
GameMenu: load FileSystem.Data/OrganizationData immediately, not just server join
Remove use of CancelWebAuthTicket in WebSocket.Connect, was crashing dedicated servers
Subtract m_nMaxPlayers by m_nBotPlayers so servers show that they're full if they're occupied by bots + players
Editor: If "show start screen" is off, load last opened project automatically
Remove duplicate gamepad codes in common actions
Docs pass / MenuDll typo fix
Fix initial menu presence, as well as presence when disconnecting from a server
Implement ModalSystem.CloseAll, close all modals when killing game menu instance
Make rich presence say playing a game while in its game menu (update to say Menu later?)
When connecting to a server, open its gamemenu and immediately open the loading screen
Cache GameLobby.Data to prevent issues with grabbing lobby info after setting it. Invalidate on lobby data refresh
Probably a better way to do this :anguished:
Docs pass for GameLobby, importantly Lobby.ConVars, and inherit docs where possible
Org Info Modal https://files.facepunch.com/tony/1b0711b1/sbox_g2OtLOLYzn.mp4
Revert "Compiled complex with parallax fixes"
This reverts commit 02e13ee057b7394fe7831e732d6eff6f4621b7a5.