244,595 Commits over 3,898 Days - 2.61cph!
Remove optional argument from GetMethodsWithAttribute and instead have an overload with the parameter required. This should solve tests failing.
Updated helis dummy repair item names so we can display accurate building errors
Added new "Blocked by X" building errors for players, horses, modular cars and scientist npcs
Localized NPC names
Unify the names of all tool shortcuts
Rebuild Keybind List widget on hotload (when Shortcuts are added/removed). Order Shortcuts alphabetically so list order isn't random
Add Shortcut for Object Tool, and only allow Subtool Shortcuts if proper parent Tool
updated WorkCartDecals_albedo
Unauthorised is now correctly spelded
fix for rail road planter
added missing bottom face
Adjusted AreaCheck and SphereCheck socket mods default messages
Added detailed fail messages and/or re-order priorities on a few item prefabs
- Tool cupboard
- Water pump
- Drone
- Fish trap
- Floor spikes
- Gravestones
- All seeds
Created EditorKeybinds.cs with a few starting keybinds
Move Keybinds into EditorPreferences since that makes more sense
Add RegisterShortcuts() function whenever shortcuts are registered and use the EditorPreferences keybind instead of hardcoded string
Added Editor Keybinds page to EditorPreferencesWindow
Subscribe all RegisterShortcut voids to keybinds.update EditorEvent
https://files.facepunch.com/CarsonKompon/2024/July/10_21-46-TautDuck.mp4
Create shortcut for EditorCycleViewMode
Make Keybinds page scrollable, add Reset to Default button, and add Are You Sure popup to Reset button
Use TitleAttribute for keybind names
https://files.facepunch.com/CarsonKompon/2024/July/10_22-23-FakeGourami.png
Add AllowModifiers to KeyBind widget, set to true for Editor Keybinds Page (Allows you to bind CTRL+SHIFT+ALT+Whatever)
Some FileOption binds, but they dont auto-update yet. Will need to find a good way to do that for Option entries
Call keybinds.update EditorEvent on Reset to Default
Created EditorShortcuts.cs to eventually replace EditorPreferences.Keybinds
Need to call this after EditorTypeLibrary is created
Register shortcuts elsewhere and remove some option shortcuts
Change default shortcut type
Register shortcuts on hotload
Convert some older shortcuts into the new [Shortcut] attribute
Change shortcut defaults
Update EditorShortcuts to include Identifier and Keys, including method to get current keys from overrides (player defined overrides)
Display [Shortcut] shortcuts in Editor Keybinds page instead of EditorPreferences.Keybinds
EditorShortcuts rebinding actually works now, much more lightweight than prior version
Make user overrides save properly
Get Name and Group properly, allow attributes to override.
Get keys from shortcut name in Option.cs
Allow non-static method shortcuts since there seems to be a good chunk of those
Stop feeding shortcut to Options for now
Fix size of Editor Keybinds page
Fix using the wrong widget for non-static shortcuts
Move EditorPreferences.Keybinds over to new [Shortcut] attribute system on each function
Completely remove EditorPreferences.Keybinds
Change name/groups for a few shortcuts
Order categories by name in PageKeybinds
Remove some debug logs
Create Texture Editor and Actiongraph shortcuts
Create ShaderGraph, Hotspot Editor and some more scene shortcuts
Add GameObject/Transform shortcuts and fix static method issues.
Made grid size shortcuts Window type instead of Widget type
Make all the different editors share a few binds (So there's not a Copy,Cut,Paste,Undo,Redo,ect. per-editor)
Make classes with [Shortcut] attribute properly rebindable (used for editortools)
Cleanup shortcut groups
Added individual Revert button when bind is different from the default
https://files.facepunch.com/CarsonKompon/2024/July/12_08-54-UnimportantTarantula.mp4
Qt Option now takes shortcut ident (eg. "editor.undo") and internally resolves bind (eg. "CTRL+Z"), updating when changed. No longer registers shortcut internally when set.
Shortcuts with Function Keys are always to editor even when Game Frame is in focus
F3 and F5 editor commands are now Shortcuts like everything else
Fix shortcut not displaying on Align To View option
Fix SaveMixer being static
Change "F5" -> "editor.toggle-play" on Play menu option
Cache the overrides so we don't have to keep checking against EditorCookie
Super minor cleanup
Rename Name -> DisplayName so there's no conflict on KeybindPanel
Fix ShortcutOverrides not loading properly
Use CodeToString(ButtonCode) instead of the weird enum parsing I was doing.
Remove `Editor.Option.ShortcutContext`
Strip native shortcuts from `Editor.Shortcut` class. Make class internal.
Documentation cleanup
Update Shortcut.Invoke so it handles Mode logic
EditorShortcut.Invoke is now a bool returning whether or not a shortcut was invoked from the pressed keys
Shortcuts are now invoked from Sandbox.Tools instead of thru native QT shortcut.
Make `scene.fullscreen` (F4) bind static. Fixes rebuilding issue.
Fix Function Keys not being sent when in-game since it was checking for a console bind instead of keybind
Fix number keys not working
Create keybinds for the different Tools now that Editor.Shortcut is internal
Create keybinds for the different subtools for the same reason
Mark `MenuAttribute.Shortcut` as Obsolete. Get identifier from `[Shortcut]` attribute if one exists.
Update Shortcut value in AssetInspector
Display shortcuts on Tool and Subtool buttons without need for ShortcutAttribute on the class
Mark Editor.Option.Shortcut as [Obsolete], telling users to use Editor.Option.ShortcutName instead
GlobalKeyPressed now passes KeyEvent instead of key int
Added KeyEvent.Name which returns the name of the key pressed based on it's KeyCode and NativeKeyCode
Strip the Shortcut class from EditorShortcuts altogether, reducing bloat and fixing widget focus issues. Pulled ShortcutType enum outside of ShortcutAttribute class.
Added `Widget.IsDescendantOf` and `Widget.IsAscenstorOf`
Check if widget is a descendant of the focused widget when invoking shortcuts
NRE fixes
Don't invoke shortcuts if the focused widget is an input field
Remove hack to call F1-F12 binds in the editor. Make F6 Editor Shortcut to replace F6 bind.
Merge pull request #1624 from Facepunch/editor-keybinds
Editor Keybinds
fix for small and large planters missing underside faces
menu zombie json upgrader
Fix fuel tank mesh collider not being readable
Remove some more allocations and add more profiling
buy item panel text colors
more annoying text shit
remove text coloring
emojis in descriptions
▋▋▆▆ ▅▉▊▆ ▆▍▉▄▉▊▊ ▌▉▍▋ ▌▅▊ ▇▉▊▉ ▇█▋▉ ▇▊ ▉▌▍ ▌▆▋▆ ▍▌▄▉ █▋▇ ▅▍▌▅▊▄█ ▄▍▅█▋▉▊▅ ▆▉ ▋▉▌▉ ▋▊▋▊ ▋▊▋ ▍▅▄▌ ▋▇ ▇▇▉▉▌▇▅█
Created EditorKeybinds.cs with a few starting keybinds
Move Keybinds into EditorPreferences since that makes more sense
Add RegisterShortcuts() function whenever shortcuts are registered and use the EditorPreferences keybind instead of hardcoded string
Added Editor Keybinds page to EditorPreferencesWindow
Subscribe all RegisterShortcut voids to keybinds.update EditorEvent
https://files.facepunch.com/CarsonKompon/2024/July/10_21-46-TautDuck.mp4
Create shortcut for EditorCycleViewMode
Make Keybinds page scrollable, add Reset to Default button, and add Are You Sure popup to Reset button
Use TitleAttribute for keybind names
https://files.facepunch.com/CarsonKompon/2024/July/10_22-23-FakeGourami.png
Add AllowModifiers to KeyBind widget, set to true for Editor Keybinds Page (Allows you to bind CTRL+SHIFT+ALT+Whatever)
Some FileOption binds, but they dont auto-update yet. Will need to find a good way to do that for Option entries
Call keybinds.update EditorEvent on Reset to Default
Created EditorShortcuts.cs to eventually replace EditorPreferences.Keybinds
Need to call this after EditorTypeLibrary is created
Register shortcuts elsewhere and remove some option shortcuts
Change default shortcut type
Register shortcuts on hotload
Convert some older shortcuts into the new [Shortcut] attribute
Change shortcut defaults
Update EditorShortcuts to include Identifier and Keys, including method to get current keys from overrides (player defined overrides)
Display [Shortcut] shortcuts in Editor Keybinds page instead of EditorPreferences.Keybinds
EditorShortcuts rebinding actually works now, much more lightweight than prior version
Make user overrides save properly
Get Name and Group properly, allow attributes to override.
Get keys from shortcut name in Option.cs
Allow non-static method shortcuts since there seems to be a good chunk of those
Stop feeding shortcut to Options for now
Fix size of Editor Keybinds page
Fix using the wrong widget for non-static shortcuts
Move EditorPreferences.Keybinds over to new [Shortcut] attribute system on each function
Completely remove EditorPreferences.Keybinds
Change name/groups for a few shortcuts
Order categories by name in PageKeybinds
Remove some debug logs
Create Texture Editor and Actiongraph shortcuts
Create ShaderGraph, Hotspot Editor and some more scene shortcuts
Add GameObject/Transform shortcuts and fix static method issues.
Made grid size shortcuts Window type instead of Widget type
Make all the different editors share a few binds (So there's not a Copy,Cut,Paste,Undo,Redo,ect. per-editor)
Make classes with [Shortcut] attribute properly rebindable (used for editortools)
Cleanup shortcut groups
Added individual Revert button when bind is different from the default
https://files.facepunch.com/CarsonKompon/2024/July/12_08-54-UnimportantTarantula.mp4
Qt Option now takes shortcut ident (eg. "editor.undo") and internally resolves bind (eg. "CTRL+Z"), updating when changed. No longer registers shortcut internally when set.
Shortcuts with Function Keys are always to editor even when Game Frame is in focus
F3 and F5 editor commands are now Shortcuts like everything else
Fix shortcut not displaying on Align To View option
Fix SaveMixer being static
Change "F5" -> "editor.toggle-play" on Play menu option
Cache the overrides so we don't have to keep checking against EditorCookie
Super minor cleanup
Rename Name -> DisplayName so there's no conflict on KeybindPanel
Fix ShortcutOverrides not loading properly
Use CodeToString(ButtonCode) instead of the weird enum parsing I was doing.
Remove `Editor.Option.ShortcutContext`
Strip native shortcuts from `Editor.Shortcut` class. Make class internal.
Documentation cleanup
Update Shortcut.Invoke so it handles Mode logic
EditorShortcut.Invoke is now a bool returning whether or not a shortcut was invoked from the pressed keys
Shortcuts are now invoked from Sandbox.Tools instead of thru native QT shortcut.
Make `scene.fullscreen` (F4) bind static. Fixes rebuilding issue.
Fix Function Keys not being sent when in-game since it was checking for a console bind instead of keybind
Fix number keys not working
Create keybinds for the different Tools now that Editor.Shortcut is internal
Create keybinds for the different subtools for the same reason
Mark `MenuAttribute.Shortcut` as Obsolete. Get identifier from `[Shortcut]` attribute if one exists.
Update Shortcut value in AssetInspector
Display shortcuts on Tool and Subtool buttons without need for ShortcutAttribute on the class
Mark Editor.Option.Shortcut as [Obsolete], telling users to use Editor.Option.ShortcutName instead
GlobalKeyPressed now passes KeyEvent instead of key int
Added KeyEvent.Name which returns the name of the key pressed based on it's KeyCode and NativeKeyCode
Strip the Shortcut class from EditorShortcuts altogether, reducing bloat and fixing widget focus issues. Pulled ShortcutType enum outside of ShortcutAttribute class.
Added `Widget.IsDescendantOf` and `Widget.IsAscenstorOf`
Check if widget is a descendant of the focused widget when invoking shortcuts
NRE fixes
Don't invoke shortcuts if the focused widget is an input field
Remove hack to call F1-F12 binds in the editor. Make F6 Editor Shortcut to replace F6 bind.
Explosion post profile & file org.
Fix setting the initial position on an object create in a FixedUpdate wrongly lerping to that position
Fixes sbox-issues/issues/6002
Don't let people create or destroy GameObjects in a thread
merge from spectate_blackout_fix
Fixed spectator getting a black screen when the spectated player dies
tin can alarm gibs colliders
Fix a collider's cached monument not being invalidated if the collider moves
- no evidence of this happening but best to be safe
Rename `MonumentColliderTag` to `CachedMonumentComponent` to make it a lot clearer what it does
Add `GetOrAddComponent()` to ComponentEx instead of using the VLB namespace
Fixed crashes with npc_portal_turret_floor
Bump .exe versions
Updated language files
Prevent stack overflows with InvalidateLayout( true ) from PerformLayout
Will print a warning when it breaks the loop.
New: Starting set of CompanionServerTests
A set of functional tests that validate operation of CompanionServer (Rust+). This only covers 3 request types out of 19, but proves that this should work in principle. Next up is adding the remaining tests and making it safe in regards to server-client modes.
Tests: Ran new unit tests - they pass.
Fixed crashes with npc_portal_turret_floor
Bump .exe versions
Updated language files
Prevent stack overflows with InvalidateLayout( true ) from PerformLayout
Will print a warning when it breaks the loop.
Prevent stack overflows with InvalidateLayout( true ) from PerformLayout
Will print a warning when it breaks the loop.
Added a setting for errror toasts to be displayed on top of everything, so they can be seen when the in inventory and other menus
Set a few of them to show on top
Multi-thread navmesh building, making the recast side computations almost negligible
Ported ExplosionScreenBounceFade
More error messages localized and toasted: legacy deployer, vending machines, spraycan, inventory
▇▄▄▌▍ ▉▉▆▇▄ ▋▉▉▇ █▌▋▄▆▊▄▋▊▍ ▅▆ ▊▉▆ ▊██▄█▇▅▍▌▉▌▊▊▇▊▇▆▋▋▇▄▋▋ ▌▋ ▋▊ █▅▋▋▍▍
AO texture format changed to A8
ditto
Improve handling of control widgets with Nullable structs, Facepunch/sbox-issues#5984
Spruce up PropertySheetPopup, disable position cookies so they always appear closer to the action
Separate navigation building steps so it's easier to multi-thread
Vehicle locked/unlocked messages localized and toasted
Reduce test cases to help with debugging
Revert formatting this entire file
Add missing ctor
Can export without having to disable whitelist
Don't need loads of warnings here, people can read
Unify terminology, icons
Added `Widget.IsDescendantOf` and `Widget.IsAscenstorOf`
Check if widget is a descendant of the focused widget when invoking shortcuts
NRE fixes
Don't invoke shortcuts if the focused widget is an input field
Remove hack to call F1-F12 binds in the editor. Make F6 Editor Shortcut to replace F6 bind.
Very unartistic terrain mesh blend shader
Add AG nodes to find objects by name
https://files.facepunch.com/ziks/2024-07-30/Pj8i1MXoJx.png
Add option to build navmesh asynchronously, add more profile markers
Add start delay to particles
Player inventory, storage containers and player belt fail messages localized and toasted
Minor socket mods fail messages tweaks
Expose network accessor to ActionGraph
Tools to help investigate debug dumps
Add preview icon to clothing resources in the asset browser
Squash game-exporting branch
Bring everything up to date
Exit whole app in standalone mode
Export option in Project menu
CMaterialSystem2AppSystemDict uses struct for initialisation instead of parameters
Custom steam app ID for standalone games
Put steam appid field here for now - we might wanna rethink this later though
would help if I labelled this correctly
Init steamclient in standalone
Explicit copy sounds
Reject API access in Standalone (we should probably dependency inject this stuff, it'd be cleaner)
Slightly better time estimate
Generate .ico from thumbnail, try changing it on the exe
Can't get this working no matter what, just corrupts the exe header, disable it
Use correct exit function
Get networking working, even if it's a bit hacky
Move API into backends for standalone/platform, stub out standalone backend
Standalone.Init()
Get rid of LoadStandaloneGameAsync, roll diff into LoadGamePackageAsync
Make a StandaloneGameInstance in standalone
Remove all these file hacks so I'm forced to do something to fix them
Fix file hacks
Add missing sbox-standalone exe back to sln
We only need to copy core/scripts/soundmixers.txt as far as I know
Move gamecontrollerdb.txt into core/cfg/
Get rid of `IsCitizenEnabled` hack
Don't override window title with gameinfo name, apply it nice and early when making app dict
Can't think of any other way to filter out citizen assets, cuts down build by 1.8gb(!) so we'll have to live with this for now
Copy all compiled assets from enabled addons again, because sometimes they'll be referenced at runtime even though they're not in a dependency tree
Rebase fixes
Standalone config / wizard changes:
- Can either export standalone or publish to sbox.game, but not both
- Add dialog warning about no whitelist, sbox.game access
- Export step is similar to sbox.game upload rather than being its own thing
- Tell people not to distribute their games or anything
- Remove AppID, Icon entries for now
Remove logs
Respect desired executable name
Delete IconChanger, it don't work