14,047 Commits over 1,583 Days - 0.37cph!
Shadergraph: only compile preview shader for the current render API
StartScreen is no longer modal
Cap IdentEdit to 16 chars
Split out Explorer into 3 tabs now that our docking doesn't suck
Draw active project at top of Project tab
ShaderGraph: Use .source2/temp folder that is actually mounted instead of absolute path shaders, these go properly through the ShaderTypeManager and get the right offsets then
Can compile Vulkan shaders on shadergraph / shaderhook now without crashes on DX11 🤯
ShaderGraph: Dynamic branch UseSecondaryCoord in texture coord in preview mode to avoid a shader recompile for this option
Do finer steps on soft shadowing of directional AO
https://i.imgur.com/VDwm44j.png
Don't use Trace.WorldAndEntities in MoveHelper
Allow VoxelChunk to be created without dependency on VoxelSurface
Remove very last DX9 references from source code 🫡
rubikon: Fix double free crash in CMultiworldSoftbodyStepper
Cleaned up template vmap (removed missing models)
Use Sound.Listener as a priority in SoundscapeFrame
Add AnimatedEntity.CopyAnimParameters to be able to easily sync params from another entity like player to viewmodel
Update first_person_arms_punching.vanmgrph_c
[ pick ] Pick reprojection transform constants from SSR branch
[ Pick ] let reflections api be more generic to use
Racer Helmet Adjustments + Closed Visor version
https://files.facepunch.com/daniel/1b1411b1/slack_vMj7SB1IEe.jpg
https://files.facepunch.com/daniel/1b1411b1/sbox-dev_ALc0Muw9rK.jpg
Adjustments to the textures and materials of the visor.
Minimal content project no longer adds a default map file
Also renamed the project to "empty". Map files can still be created via right click in the asset browser
When closing or opening a game project, run disconnect & close active menu
Fix setting GameLobby.ConVars not checking correct key for input
Remove Map options for Game projects (this stuff to be handled in game menus only in future)
Remove map select stuff from LaunchConfig
Remove validate map stuff from GameMenuInstance
Obsolete ValidateMap, MapSelectionMode and MapList
Close project creator when creating not a game project
Tools PopupWindow correctly sizes to content
Descriptions for tool/library minimal projects
Fix streaming resampled audio, keep decoding until there's enough for output
Fix ReadStructuresFromStream overflow
Fix ByteStream exploits
Seal some classes
Update Qt with backported QTextEngine fixes for shitty strings
TextEdit.AppendHtml remove invalid control characters, Qt has an open report on crashes caused by these.. and they're invalid anyway
Add DistanceMin and DistanceMax to music player
Give ProjectCreator "Create" button an icon
Update templates (shooter game menu, template descriptions)
Launcher: minor content mode cleanup
Launcher: make a new empty-ish config when opening a config editor
Set the same expandgroup margin in StartScreenHome too
Fix crash with procedural materials
Remove ProjectList ExpandGroup top margin
Set cursor type for IconButton
Add some tooltips to welcome screen
Audioplayer (#1167)
Add MusicPlayer class to stream mp3 etc from disk or URL with control over playback (seeking, pausing, looping etc)
Always show "edit configurations" option in launcher regardless, open project settings or global config editor based on context
Make package selector modal
Add IsContentMode to tools Global class
Leaderboard formatted value and unit
Add `Sandbox.Services.Stats.GetGlobalStats()`
Global stats api
Update materialsystem2 with latest Valve code
Backporting latest Valve code to make it easier to integrate raytracing & bindless
Removes render passes that never did anything, lots of refactoring
materialsystem2 API becomes much simpler to draw stuff too:
```diff
- IMaterialMode *pMode = pMaterial->GetMode( "Default" );
- if ( pMode != NULL ) // NULL if unsupported mode
- {
- MaterialRenderablePass_t renderablePassArray[ MATERIAL_RENDERABLE_PASS_MAX ];
- int nNumPasses = pMode->ComputeRenderablePassesForContext( NULL, pRenderContext, renderablePassArray );
- for ( int i = 0; i < nNumPasses; i++ )
- {
- g_pMaterialSystem2->SetRenderStateForRenderablePass( NULL, pRenderContext, g_hLayout, renderablePassArray[i] );
- pRenderContext->DrawIndexed( RENDER_PRIM_TRIANGLES, 0, 6 );
- }
- }
+ IMaterialMode *pMode = pMaterial->GetMode( "Default" );
+ if ( g_pMaterialSystem2->SetRenderStateForMode( pMode, NULL, pRenderContext, g_hLayout ) )
+ {
+ pRenderContext->DrawIndexed( RENDER_PRIM_TRIANGLES, 0, 6 );
+ }
```
Small quick fix for the Skin 03 material0
Skin 03 texture update
https://files.facepunch.com/daniel/1b1311b1/Photoshop_111hqUo6bJ.png
Updated Skin 03 textures
Load local menu when clicking menu toolbar button
Bring back launch configs with some changes:
In content mode:
- Load global configs from `launcher.launchconfigs`
- Display "Edit Launch Configurations" option
With game loaded:
- Load project-specific configs from .addon (edit these in project settings)
Remove primary styling from SidebarLink, makes the content button gray
Single Game Project (#1129)
Racer Helmet
https://files.facepunch.com/daniel/1b1311b1/HELMET3.png
LODs coming asap
Hook up video_bitrate and video_framerate to recorder
Allow drag and drop for skybox materials.
Creates a env_sky, Materials must be tagged with "sky" or "skybox"
Try to preserve child local scale when bone merged https://files.facepunch.com/layla/1b1311b1/sbox-dev_H6RHi9sauH.png
Add ffx_sssr shader headers from SSR branch
Make Voice.Decode internal
Add DisplayName and Description to leaderboard response
Fix AddBlitTextureToTargetLayer not blitting correctly if dimensions are different
Backport Hierarchical Z Downsample and FindOrCreateFrameBufferTexture from SSR branch, clean it up
FPArms: move_groundspeed min/max to -1000,1000