254,760 Commits over 3,990 Days - 2.66cph!
Merge from minigun_2024/viewmodel_camera_anim (support for modifying camera pos/rot via a dedicated animated bone on the viewmodel)
Cherrypick
91693,
91692,
91667 from viewmodel_camera_anim (skips the changeset with LR anim changes, out of scope for this month)
Ignore cubemap precomputed handshakes, we can add and remove cubemaps at will on scene, those do not have handshakes so the entire thing was already deprecated when we implemented maploader, this cache gets built by m_nCachedEnvMap at runtime
This fixes scene cubemaps not showing on static map geometry
Fixed errors when the TC is not associated to any building (spawned via command)
Prefab cleanup, fixed screens initialization
Fixed containers not getting properly parented to cargo ship after a server reboot if the server was shut down while the cranes were working
Refill rockets when starting orbit strafe
Cubemapper tests
Remove all ggx code for now & just copy directly to cubemap array
TextureCube with mipmaps and arrays and mipmaps
Move texture logic from cubemapper to c#
Stub for cubemapper_cs, will calculate both GGX and spherical harmonics all in GPU
Handle all array index stuff in cubemapper
Allow for single sliced cubemap array, needed to be able to render an independent texture in the renderer since it expects a TextureCubeArray, also allow TSPEC_CUBE_CAN_SAMPLE_AS_ARRAY if we want UAV
Also fix a problem where CTextureManagerVulkan::GetImageView wouldn't work with a cubemap array as a rwtexture2darray in compute shaders
Fix cube orientation when copying, do texture per envmap probe instead of a singleton array, this will cause headaches with multiple envmaps intersecting but makes it much simpler
GGX filtering
Don't bother with writing cubemap normalization right now (in fact disable it for now!), reuse previous mip so that we have more quality with less samples
Assert isn't valid anymore in ComputeImageViews since we can pass a cube array
Do cubemapper processing of all faces at once without using intermediary copies, 4-8x speedup (~17ms > ~2.5ms), still needs to be faster
https://i.imgur.com/b61mX1Y.png
Rendersystemvulkan: Alllow binding specific cubemap [ & arrays ] mips if UAV
Remove unsued, clean up
Dynamic cubemap component settings
Remove the old BuildCubeMaps
Add WidgetUtil.CreateSwapChain
NativeRenderingWidget renders in regular render path
Fix RenderDeviceInfo_t wrong size
Add HandlePendingSwapChainResize for explicitly handling swapchain resize events before doing any work, fixes NativeRenderingWidget.RenderScene rendering on a frame with different window size than the actual swapchain ( and then having invalid color/depth buffers)
CI fails building shaders when machine is coming from a branch that was deleted, full checkout action should be enough for pulling?
If cubemap has no normalization set, don't consider it for NormalizeCubeBrightness
Compiled shaders with normalization brightness fixes for cubes without SH, reenable cube normalization
Wip fast cubemap filtering ( 2.5ms > 0.09ms 😱 )
Adjust things on fast envmap filtering, major cleanup, rename shader to envmap_filtering
Use high quality GGX filtering if baking cubemap as OnEnabled
Vulkan: Fix image transition layout when binding a mip of a cubemap that's sampleable as Texture2DArray
Don't fetch render attributes from context, that's composited over, fixes a crash
Assert when UAV Index is invalid
Flag hammer maps to always render cubemaps dynamically & always render at least one frame regardless of distance update settings
Refactored strafe rocket code
Setup for western DLC racks
Initial script auto setup run
Removed unused duplicate lodgroup script
▅▋▍▉▉ ▄▊▍.▉▋▉▉█▄▊▌ ▊▆▆ █▄▄.▌▍▆▋▇█▊▍▍▇▆█▆█▌▇ █▄▋██▄▍▉█ ▇▋▄▋▋▌▇▄▄▌ ▄▇▌ ▋▅▇▊▌▅▇▍ ▌▅▄▇ ▌▅▊▊▊▌▍▊ ▆▍▊▉▆▅▉▌▇
▅▊▌▄▊▇▊▄▋ ▆▋▆▉▉▉▄▇.▍▊▋██▄▄▊▉▋▉▌█▊ ▊█▉▊ ▉▆▇.▆▌▄▉▌▉▅█▋ █▄ █▌▆.▌▅▍▋▊▋▇▄ ▉▄ ▆▇▉ ▅▋▍ ▌▄ ▌▄▋▌▋▌▉█▌ ▆▌▆█▇▉ █▋▇▊▌▍▉▍▅▆▍
Few checks to only point at interest zone if in orbit and not breaking orbit
Overrode default rotation speed for orbit strafing
Set interestzone origin from strafe passover to ensure a more accurate target
Use a fresh PackageLoader when loading new games - fixes Facepunch/sbox-issues#5219
CreateModelFromMeshFile uses modeldoc utils so it does automatic lods etc again
Add InitFromMesh to modeldoc utils - tries to automatically build document from mesh file
SessionImportFromModel uses InitFromMesh
Prevent multiple OnEnable and OnDisable calls for people doing nonsensical things like reenabling parent gameobject in component OnEnable
merge from toolcupboard_retroskin
Converted retro tool cupboard from prefab variant to normal prefab
Fixed StringPool errors on retro tool cupboard
merge from oilrig_sat_tube
merge from harbor_tweaks_4_cargoship
fixed outline not appearing on worldmodel when dropped
viewmodel renderer setup ( turned off for now) still needs ammo belt settings once mat's are completed
cherry picking bridge LOD fix
New Outfit! - Space Suit
https://files.facepunch.com/daniel/1b2711b1/Photoshop_ImaSTMln2y.png
LODs and small skinning adjustments coming ASAP.
NRE fix when MaterialSetup is missing MaterailConfig (now logs a warning instead)
Updated minigun ammo pack with final model (placeholder materials for now)
Orbit strafe now attempts to point at interest zone wilst orbitting
Heavy scientist suit can be equipped with backpacks
Heavy scientist suit tanks get hidden when backpack is equipped
edited minigun view model deploy and admire anims
cctv controls, microphone, notepad, telephone
Fire extinguisher and poster meshes
Docs, GameControllerExtensions to internal
Why the fuck are you there
Fixed resource boxes disappearing after leaving network range and returning
CVfxStackMachineBuilder::FindConstant case insensitive
Fixed screens not appearing on lowest object quality
Tweaked LOD culling distance to match regular TC
Tweaked front storage adaptor position
edited 3p minigun idle and shooting anims