22,417 Commits over 1,614 Days - 0.58cph!
Implement remaining missing functionality (file menu, templates)
Remove old Utility.Projects.SetActive(), error if setting non-gamemode project
Fix NRE when launching projects through jump list
Use direct path to project through jump lists instead of addon ident
We can add the project manually if it exists but we don't know about
it (can happen if you pin something on the jump list, then remove it
from registered addons list, and then try to launch the pinned addon)
Move task persistence allowing / forbidding to GameMenuInstance
GameMenuInstance.PackageAssembly can be private
Add GameMenuInstance.PackageAssembly property
Allow persistent tasks in current menu package assembly (#1143)
Simplify checking expired tasks (#1143)
Allow any tasks defined in our DLLs to continue, but user code can't continue if it was from an expired context
Citizen/animgraph: further protect against movement hitches by blocking reset signals to the pelvis lean additive node + updated comments
Fix texture filtering feature on user shaders, recompile blendable and glass
▉▋▍'▆ ▍█▌▋ ▆▄▆▉▍▆▆ ▅▉█▅▍▅▆ ▉▉ ▇▄▉▆▉ ▌▋▆
▊▋▄▊▆▉▆▆▅▌ ▊▆▆▇ ▇▉▇▌ ▊▇▌▄▊▊▊ ▄▍▋ ▌▅█▋▊█ ▄▍ ▊▊▉▉, ▍▋▇ ▍▇▅▅ ▇▍▆▍▍▄▄ ▇▉▅█▍▅ ▊▉█ ▍▇ ▍▊▋▆ ▇▌▋
Fix some NRE's found in logs of people shutting down on game startup
Add audioplayer to play mp3 or whatever with control over playback (seek, pause, etc)
Fix mixed lights having incorrect behavior when disabing high precision lighting offset, same behavior as before with it enabled
Clear downloadTokenSource if it's this one
Remove a lot of the bullshit from the default menu, don't use a lobby to create a game.
Latest shaders with Vulkan RenderState fixes
ShaderGraph: Protect against textures that fail to compile
Fix warnings on rendering transparents, LAYERFLAGS_READONLY_DEPTH_STENCIL disables depth access?? Just really needs LAYERFLAGS_DOESNT_MODIFY_DEPTH_STENCIL_BUFFER, remove vr_readonly_depth_stencil_enable since it's pretty redundant
Make iterating over widget children less error prone
Live update player counts, favourite counts on menu
Mark Color.ToHsv readonly
Remove this obsoleted ClientStats stuff
Remove sections from start screen, use existing project creator (with new layout)
Use SegmentedControl in TabWidget rather than doing the same thing twice
Game editor menu, contains options for uploading, opening explorer, etc.
Add -allowlocalhttp command line switch, only works on server and allows you to do http requests to any port on localhost or private IP addresses. This is only really gonna be useful for dedicated servers to access their apis
▆▋▊█.▌▇▅▊▊█▄▍▌ ▅▌█'▊ ▅▇█▉▆ ▆▍▇█▌▄▇ ▋▄▇█ ▇█▆▆▊▍▆ ▋▅ ▋▇█▆▆▍▊▄ ▄▊ ▆▋▇▄▉▋▅ ██▅▆▌█▊██
Command line project loading
Remove Game.IsEditorEmpty, can do this better later
Apply first update to damped value with no damping to initialize to target
AnimGraph: Set damped value to target value on first update
null check g_pApplication just incase
ShaderGraph: Compile textures so that images can be used for texture nodes https://files.facepunch.com/layla/1b0711b1/sbox_EXhMp9FGvJ.png
vfxc: can output preprocessed hlsl for vulkan
Use two stage macro expansion for RenderState and SrgbWrite so token pasting combos (and other defines) works as intended on DXC
Fixes RenderState being evaluated incorrectly on Vulkan and doing nothing or worst case crashing
`RenderState( CullMode, D_MYCOMBO );` was getting evaluated differently as FXC had some non standard macro expansion rules:
FXC: `string g_renderState_CullMode < string arg1 = "1" ; > = "" ; ; `
DXC: `string g_renderState_CullMode < string arg1 = "D_MYCOMBO"; > = "" ;;`
DXC's -flegacy-macro-expansion wasn't doing anything either
Citizen/animgraph: prevent animation hitches that could happen when strafing back and forth or changing directions (see commit comment) + improved noclip blend
In order to have movement cycles always start from the same phase (left foot passing the right foot), the state machine in charge of tagging would send a reset signal every time the movement speed would go from under 2 u/s (defined as idle) to above 2 u/s (or 100 u/s in one tick). However, strafing back and forth or changing directions could satisfy these conditions right away, and the received signal would not only reset the 2D Blendspace, but also the newer lean layers, creating a visible hitch. The implemented solution is a second set of state change conditions. The current conditions still exist, but don't send a reset signal anymore. The new set of conditions can still send a reset, but they also require to have spent at least 250ms under 2 u/s first. The defined transition priority order now sets the newer set of conditions to the first slots, to then make sure the time condition can always get evaluated first.
Citizen/animgraph: your input direction is now visually reflected when airborne
https://files.facepunch.com/maxlebled/1b0711b1/airborne_wish_lean.webm
Vulkan compile for wireframe shaders
Set wireframe color as an attribute rather thaan dedicating a whole cbuffer to it, fixes hammer wireframe being dark as well since that data was not being set correctly
Pirate Outfit!
Pirate Outfit - Adjustments to Skinning and LODs coming ASAP.
https://files.facepunch.com/daniel/1b0611b1/Photoshop_JM6t21LgUC.jpg
https://files.facepunch.com/daniel/1b0611b1/pirate.png
https://files.facepunch.com/daniel/1b0611b1/pirate02.png
Backport simple water from SSR branch
Update citizen aoproxies
Merge branch 'water-backport'
Water fog and refraction
Auto-start cloud projects when downloaded from start screen
Rename "empty" to "content mode", add "-skip_start_screen" command line switch, works with jump list
StartScreen Section -> Page
Shut down engine properly when start screen is closed 🤦
Fix cloud project cloning, move into Utility
Get file/line in error report stack
StartScreen home sections are ExpandGroups
Item rows handle longer names better + display VR compatibility where appropriate
Tidy up SegmentedControl
Fix menu resources not downloading compiled versions of shit
Stats data fixes
ByteStream can be written to another ByteStream, added ReadObject
Obsolete the ClientStats class I added 4 days ago :cry:
Add EngineRpc
Add Stats variants for applying to a client from the server, throw exception when calling the wrong function from the server
Don't emit SB3000 about const fields in generic types
ShaderGraph: Center on material node when opening a graph so you don't get lost
Fix Rider integration for toolbox installs - thanks faint
Latest compiled shaders - fix occasional blinking lights & fix lights on Vulkan
[Squash] Native editor JumpList support, JumpList content, minor editor tweaks