5,158 Commits over 1,583 Days - 0.14cph!
Fix menu closing too early
Clean load progress messages
Lets try not forcing a 1s GC collection multiple times during loop start
Create loading screen from gamemenu addon
Add button on local project game menu to preview loading screen
Cut out the old loading screen
Fix sboxgame/issues/issues/3394
When uploading a menu whitelist, pull in references of the wildcarded assets and add them to the whitelist too
RedirectFileSystem can resolve full filenames properly
Fix Game.Audio not available in menu
Fix videoplayer not playing video files (this isn't the correct fix, we should pass in the relative filename and check the extension on that)
UI textures load as they're going to be used, rather than loading everything in the stylesheet
Fix border-image not drawing if background unset
Support videos as background-image etc
Add Texture.LastUsed - the number of frames since last used
Texture has a ParentObject (so they can keep things like VideoPlayer from being garbage collected)
Add IWeakInteropHandle to interopsystem, so c++ can reference c# objects that can get garbage collected
VideoPlayer implement IWeakInteropHandle
Add Debug/Full Garbage Collection
VideoTextureLoader is weak, will let videos get garbage collected
Remove Styles.TextBackgroundImage (not used)
Add AudioSystem.Play overloads to play from an entity
Fix reading json color32 string not working
Fix GameLog not printing all aggregate exceptions
Fix transition time parsing
Fix GetSavedGames typo
Fix IPanel.Depth logic
Re-organize the sound classes
Sound doesn't need to keep the hash around
Sound wraps a SoundHandle
Stop all sounds when leaving game(menu)
Load GameResources from menu filesystem (allows sounds to load)
We don't need to access the soundsystem via interfaces, we can live in the dll
Games can define their own main menus
Show default common binds
Delete Switch, add SwitchControl
Zombie Head Variation 02
https://files.facepunch.com/daniel/1b3011b1/sbox-dev_BN7EsqGgcy.mp4
https://files.facepunch.com/daniel/1b3011b1/chrome_uVsnZinHzp.png
https://files.facepunch.com/daniel/1b3011b1/sbox-dev_pgwwUWwijV.jpg
Another zombie variant, slight different head, should be great for creation multiple variations for hordes of zombies, rather than every zombie having the same face.
intruder alarms - metal bins
removed from core as they are now on asset party
Merge branch 'master' of sbox
Ship game templates from sboxgame/templates manually for now, need to consider about fetching from the repo soon
Muscley Citizen Skin (Work in Progress)
https://files.facepunch.com/daniel/1b0111b1/Photoshop_BTmDLMnH03.jpg
Initial asset for the Muscley Citizen. In need of some general adjustments and fixes. A more defined set of legs and hairy back coming ASAP.
As well as skin colour variations.
Fix skin material not being applied to SceneModel clothes
Networkable Component References (#1056)
* add componentid to IComponent
* make component id public - add internal findbyid method, add lookup dict for comp by id
* add/remove components from lookup where appropriate
* Add VarIComponent to support [Net] IComponent types
* Add replicate codegen
* VarIComponent -> VarEntityComponent, make ComponentId internal again, remove from IComponent interface. in Replicate..Component search for derived types from EntityComponent
* FindById should just return an EntityComponent now
FPArms: explicitly reject weapon_root from existing weightlists
FPArms: add notes on IKChain nodes
Soundscapes always transmit, should fix long initial delay
FPArms: fixed left arm IKchain
New Skin Variations for the Muscley body
Shadingmodel Declutter (#1041)
* Start cleaning up material and shadingapi
* Allow using functions inside of HLSL structs
https://i.imgur.com/t1AwQzr.png
* Replace all GatherMaterial bullshit with Material::From()
* Remove Material parameter references to things that aren't implemented yet, put TransformNormal in normals file
* Cut everything from ShadingModel too and let's start from a static class
* Redo light api on shaders, start implementing new dynamic light under this structure, move raytracing shit to it's own folder, add sample shadingmodel
* Allow structs in structs ( HLSL 2021 and forwards )
* Most of static light with the new api
* Fix shadowing on indexed lights on new light api
* Move shadingmodel structures to shadingmodel.hlsl
* Fix light static assignment for lighting api, fix shadowing for them too
* Stub for EnvironmentMapLight
* Implement cubemap light
* ShadingModelValve
* light.envmap.hlsl becomes light.environment.hlsl for better readability, add debug views to material api, CUSTOM_MATERIAL_INPUTS preprocessor
* AmbientLight
* Sane implementation atmospherics and debug vis postprocessing for shadingmodel api
* Finish debug vis, rename ShadingModelValve to ShadingModelStandard
* Start rewriting blendable with new api, port glass to new api
* Rewritten blendable shader
* Refactor remaining shaders to new shadingmodel api, fix shadergraph not working, readd procedural.hlsl for shadergraph but fix typo on title
Fix typo
Add Panel.DeletionToken
Merge branch 'master' into gamemenu
Add an option to start a game without a lobby first
string.WildcardMatch is case insensitive
Download `MenuResources` when entering the menu
Project editors for Resource paths and MenuResource paths
Turn file upload whitelist into a blacklist
Reset the environment before loading fallback menu
Menu differentiates between #local and packaged
Add reload button for local game menus
Remove Slider
Remove SliderEntry
Organize DefaultGameMenu into folders
Stylesheet cleanups
Actually delete the panels in UISystem.Clear()
Style tweaks
Add some delays to let the UI be smooth during game transitions
Refactor, add Game.Menu instead of expecting n00bs to pass the object around
Hide menu navbars when in gamemenu
Whitelist playing sounds in gamemenu
Don't SkipHotload InspectablePanels because it fucks the menu up
Pass menu opacity to the gamemenu
Friends list gets pointer events
Fixed wrong ui alpha blending
https://files.facepunch.com/garry/43b379eb-f457-4b92-92c1-be67b30b4d2d.png
DefaultGameMenu ingame style
Fix joining server from gamemenu context
Constrain package list on main menu
RootPanel gets automatic basic styles for textentry, popup, tooltip
Don't try to navigate to /lobby - that's done when it's ready
Slider control value range font tweaks
Move buttons on :active
Don't swallow first window click activation if we're in the menu
Serverlist styles
Don't try to load ParentPackage if it doesn't look like an ident
Load the newest assembly, ignore versions
Don't try to load ParentPackage if it's empty
Better logic to just let F keys past the UI
When trying to add a child of a label or image, add it as the next sibling instead
Move package list styles to component
Fill out bind methods
Convert slider to razor with its own framework stylesheet
Use original slider style in menu
When loading a package with ParentPackage, load the parent first
Tell GameMenu when lobby game is launched and auto join
Game.Client works in GameMenu
Add IGameInstance.ChangeServerMap
Key Bind Stubbing
Fix popup panels not getting focus
Fix gamemenu not getting button inputs
Add GameInstance.TrapButtons
Server list to base addon
Move PackageList + LobbyMapPage to base
Move SavedGameCard over
Hotload should be watching Sandbox.Bind right?
Move LoadGamePage
On panel hotload prune out null panels from children lists
Move active game pages
Isolate packagecard styles
Hide gamemenu root panels when in game
Can leave server again
Package modal works again
Fix StyleSheetAttribute loading path from inherited classes
Add IGameInstance.GetSavedGames()
Move menu and FrontPage to base addon
Add Game.Overlay.ShowPackageModal
Fix not Menu/Client asserts
Sensible defaults for game menu root panel
Move more stuff into base addon from menu
Move NavHostPanel/NavLinkPanel to addons.base
Increase HeavyGarbageRegion size
Add TypeLibrary test
Re-initialize TypeLibrary and Events in when game menu swapped
Add TypeLibrary.ShouldProbeConstructors
Don't collect in HeavtGarbageRegion
Allow GameMenu to see inside Sandbox.Event