248,697 Commits over 3,928 Days - 2.64cph!
Fixed side areas on constructable tower
Clean: removing unnecessary backticks
- And more styling improvements
Setup Siege Tower LODs 0-3
Update: Split into Core + DLL
- Also added an empty linux project
- Separated out platform specific code into WinDLL
Tests: ran in unity couple times
Update: Removing PCH use from Core
MSBuild does not expose PCH for Linux target, and we don't really need it
Compilfix: adding cstring header
Turns out gcc doesn't include it via string_view
Compilfix: move exporting section to OS specific project
Avoids having me write an export macro for either Win32 or Linux
New: first building version of Linux server profiler
Still need to clean up how projects are organized
Update: referencing core files directly in WInDLL
- This follows same convention as LinuxSO - hoping it'll avoid confusion
- Removed PCH usage (since shared files didn't use pch)
- Added filters to separate core files vs project-specific files
Clean: removing Core project (but keeping the files)
Since these sources are built as part of DLL projects, there's no point to keep this lib project
Update: replacing lib name with a proper one
- also adding a comment explaining the export code
Update: Linux binary named same way as Windows, but with .so extension
Update(linux): only get already-loaded dylib instead of trying to load a new one
Update: properly export API on linux
- Also compile as std20
Had to redo my approach to code duplication - gcc was ignoring my annotated forward decl(probably because it was encountered after full definition).
Tests: checked with `nm` - symbols were demangled. Tried running server on linux - crashes immediately
Bugfix: use different memory offset in MonoClass
There's a clash between MSVC and GCC in how to pack the structure, causing the image to be offset on GCC and causing an illegal memory read
Tests: ran linux server - it now runs
Update: moving the output of WinDLL project inside the project folder
Update: improving documentation
- Mentioning Linux
- Adding Credits
Clean: minor styling changes
Clean: minor styling changes
Update: moving the output of WinDLL project inside the project folder
Update: improving documentation
- Mentioning Linux
- Adding Credits
Don't show "Include Source Files" checkbox when publishing type that always includes their source files (libraries)
Update: Exposing binary exporter
- Added missing features from ServerProfiler.Core
- Can be triggered via profile.perfsnapshot last argument
I need it to be able to investigate and fix hard-to-reproduce issues - hopefully it'll speed up the workflow.
Tests: in Editor on craggy took a binary snapshot - it exported succesfully
Added GetTextureFromFrame docs
Support 3x3m and 3x3c guides with new TextureAtlas approach
TextureAtlas.GetTextureFromFrame now grabs proper coordinates for all ratios
Fix NRE in TextureAtlas.FromSpritesheet
Optimize TextureAtlas class and fix random green pixels in TextureAtlas.GetTextureFromFrame
Use TextureAtlas for Autotile Guides
TextureAtlas.GetPreviewTexture no longer has 1px padding or texture bleed
Refactor over-complicated tile caching process and do everything from TileAtlas
Condense individual guide images into single images. Saves on a ton of space.
Fixed some broken prevent building colliders
- Improved the siege tower collisions on stage changes
- Removed invisible doorway colliders on constructable stages
Bugfix: don't access invalid memory when exporting Linux snapshot
Same GCC vs MSVC issue in the native libs, but this time on Managed side (since I have a copy of these structs for name resolving purposes).
Tests: Built a linux server, ran it on WSL and triggered a snapshot - it generated. But periodically select frames export incorrectly, investigating further
merge from garage_door_collider_optim
Fix mass center override gizmo not updating when not dynamic (editor forces rigidbody to static)
▉▍█▌▆ ▄▅▉▆ ▍▊▌_▆▌▌▍█▉▋▊▅_▆▌█▇▆▍▌▌▅_▆▅
Added a combined "Clean and Generate" Codegen option that seems to work (fixed a bunch of issues with it, but still testing)
added ClientIOLineParentClampedBounds to manage IO points on garage doors
- actual collider parent movement doesn't match the visuals, so we define a local bounds (re-mapped to OBB on awake) that the points are clamped to be within
3p mini corssbow anims updated
split vm mini crossbow reload anim into 3 parts and removed skinned mesh arrows from its rig
gibs import settings change
Bugfix: new ServerProfiler.Core dynamic libs
- Fixes Linux exporting symbols with name mangling
- Fixes GCC vs MSVC struct packing inconsistency, causing Linux server to crash when instrumenting functions
Tests: DLL tested in editor on Craggy, SO tested in WSL standalone server (snapshot export fails though)
Bugfix: use different memory offset in MonoClass
There's a clash between MSVC and GCC in how to pack the structure, causing the image to be offset on GCC and causing an illegal memory read
Tests: ran linux server - it now runs
sanity editor script to find doors using ClosedColliderRoots (only the garage doors are)
separated closed collider flags on garage door into mutually exclusive closed and busy collider sets - should significantly reduce the number of active colliders in a sealed base
Tweak stat recording
tweak contest button
Fixed network updates, for example from parenting changes, interfering with smooth movement for entities that are currently lerping
Removed Jarryd's interpolator SnapToEnd demo workaround
Prefab file loads cached scene on post load if needed - Fixes prefabs referenced in resources not loading the prefab scene
Set TSPEC_TEXTURE_GEN_MIP_MAPS on RenderTargets with mips
Whitelist error event analytics
[ThreadStatic] AccessControl.Location because we test types in multiple threads and this was gibberish
Fix duplicating a spline point with shift not copying roll & scale
Ensured constructable entities update state on the serverside as well as the clientside
Remove stackalloc (it's not whitelisted)
Textures and materials for build stages.
Update: properly export API on linux
- Also compile as std20
Had to redo my approach to code duplication - gcc was ignoring my annotated forward decl(probably because it was encountered after full definition).
Tests: checked with `nm` - symbols were demangled. Tried running server on linux - crashes immediately
Added collider to the little overhang roof beside the window
Flip tower orientation whilst placing so it looks away from you
Add some randomness to the scientist peek timings
Fixed broken constructable entity reference
- Fixed broken guide mesh
- Fixed offset guide mesh deploy location
Fixed broken colliders and positions on siege tower constructable stages
Play around with threaded Steam networking message usage like Rust does - and some other tips from Andre
Use Span instead for Memory to pass Transforms to CommandList.DrawModelInstanced
Fix CameraComponent.ScreenNormalToRay
Always define vTexCoord2 by default
Shader rebuild
Expose category tree and package properties to package find results
Package category tree
WIP filter, allow discovering WIP games
Explicitly set fields/props to null when deserializing (#1728)
Obsolete HostSync, add SyncFlag, add code upgrade / fix (#1729)
This stuff shouldn't be public
Move Qt.Orientation to Editor namespace, LinkableSplitter uses it
Citizen/animgraph: add character_type enum & branches so that Citizen & Humans can use the same animgraph. Ongoing work.
Humans: convert Citizen animations on the ModelDoc side rather than graph side
Start using SceneRenderingWidget instead of NativeRenderingWidget for shadergraph https://files.facepunch.com/layla/1b1311b1/sbox-dev_v8vsdE0JhV.png
Only add query flag is property was set to true - otherwise remove the query flag
Fix SceneRenderingWidget not calling PreRender
Shadergraph: Fix preview ShowSkybox option
Fix undo for convert to prefab (#1730)
We need to explicitly unset PrefabSource by calling BreakFromPrefab if __Prefab is not specified.
Give some hitbox depth bias to capsule collider gizmo
Fix parsing <see> with langword / href
More unused render pipeline
Remove SceneSystemStats (snapshots for external debugger)
Begin migrating CRenderingPipelineStandard to managed RenderPipeline with RenderLayer & ProceduralRenderLayer (w/ callback). Starting with depth prepass layer.
Use custom mip filter that samples from neighbors for cubemapper
https://i.imgur.com/nn23dRG.png
Fixed NRE in code upgrader for HostSync in scenario where no sibling Sync is found
Citizen/animgraph: fixed broken crouch states (oops)
Remove legacy loop
Add ControlSheet.AddProperty for expression to easily add static properties
Add code editor control widget
delete preferences.build event
Title current code editor so it can show up titled in settings
Page general uses control sheets
Set tooltips for static control sheet properties
Page networking uses control sheets
ActionBasedSerializedProperty can provide attributes
Page scene view uses control sheets
Page notifications uses control sheets
Don't adapt ActionBasedSerializedProperty for this, create a ReflectionSerializedProperty instead
OpenPropertySheet -> OpenControlSheet
Shadergraph: Use control sheet for preview settings popup
Get rid of property sheet usage in widget gallery
CompilerPage uses control sheet
Move InputAction and enums from sandbox.system to sandbox.engine so they can be exposed
Add CustomEditor for NamedEditor "keybind"
InputActionPanel modal uses control sheet
Expose ControlModeSettings
Supported Control Modes uses control sheet
Move input actions back to sandbox.system
InputAction can't use control sheet yet, it exists sandbox.system and now it can't be moved from there to be exposed
Package references uses control sheet
Add FolderControlWidget
Standalone review page uses control sheet
Publish finalize page uses control sheet
Delete RuntimeAddonPage, not used anymore?
Project page uses control sheet
InputActionPanel uses input action proxy for now because we can't move the fucker
Block tool uses control sheet
Path tool uses control sheet
Delete property sheet cya
Fix exception in TreeNode.SetChildren
Order block tools, select current tool in combo box
Use WorldTransform instead of Transform.World in engine code
Remove remaining usage of Transform.World/Local
Add simulation space option for particle force https://files.facepunch.com/layla/1b1511b1/sbox-dev_wMFfk99UTS.mp4
Add Scene.Trace.Rotated to allow for tracing rotated boxes or capsules (this already worked with FromTo( Transform, Vector ) but it's not obvious enough because no one knew it was there
Drop model as static prop based on model archetype
Allow for inner feathering for EnvmapProbe in UI, same defaults for hammer equivalents of this
ggxcubemaphelper (cpu) is equivalent to cubemapper (gpu), increase sample count but use faster sampling and sample from first mip always
https://i.imgur.com/5UuaG0b.mp4
Sample from mips again and decrease sample count to not be absurd for our budget
More beards - human versions + malehead02 texture adjustments
Merge branch 'master' into SantaOutfit24-2
Material Update in constructable prefab
merge from f1grenadeskinfix