14,461 Commits over 1,614 Days - 0.37cph!
Hammer: Add toggleable fullscreen layout ( Shift + Alt + Z )
https://files.facepunch.com/matt/1b1211b1/sbox_0AAXaFMbCO.png
Add BindSystem.Flush (internal)
Add GameResource.OnEdited (called when it's been edited by the editor)
Mark ResourceId as not browsable
Rebuild sound event in OnEdited
In tools, try to load GameResource objects via the Resource system
Add Tools.Utility.NoteObjectEdited - for now this calls OnEdited if objectr is a GameResource
Fix combobox triggering valuechanged when setting value programmatically
Load GameResource properly from Asset.TryLoadGameResource
Remove the legacy color correction system (and color_correction entity)
This entire system is replaced by Post Processing Editor
New Makeup! - Tattoos, Freckles and Eyeliner
We have 3 new pieces for the face today! Like with the last submissions for facial pieces, the blendshapes do work in menu but will need some adjustments for running in game.
https://files.facepunch.com/daniel/1b1211b1/present_faces.png
Remove unused
Soundstack support entity attachments
Soundstack reliably place view entity sounds
Play weapons sounds from owner
Add AnimEntity.OnAnimSound + OnAnimFootstep
Play footstep from the world
Viewmodels try to play sounds via the owner
sound stack input_default_local_position no longer used
Tweak where the sound comes from for view entity
Tweaks to not break all addons
Add description to ModelDoc prop_data "Bake Lighting As Static Prop" so it doesn't seem unimplemented
Delete ModelPropData.AllowStatic - did nothing
Removed engine post_processing_volume and env_tonemap_controller
Added managed post_processing_volume and env_tonemap_controller
Moved ent_remove(_all) to c#
Merge branch 'master' of sbox
Add audio menu in editor to switch occlusion/doppler when diagnosing bad audio
Fix SetupPhysicsFromModel not setting ideal motion type after setting move type, this made it so static motion type was never possible, always got reset to keyframed (wtf) - fixes slow loading repo
Support for shatter_glass initial damage positions
Created LODs and collider meshes for oak trees. Polished oak tree materials and textures
Collapsible game tabs in Hammer entity selector
https://files.facepunch.com/matt/1b1111b1/sbox_h9bb4QJuJf.png
Citizen: toned down eyeball darkening on darker skin colors
Move SoundEvent to engine
Fix tools serializing GameResource
Don't upload .source2 folder to steam (probably fixes long startup times)
Delete orphaned textures
Delete orphaned models
Add Utility.SendToRecycleBin
Asset system attempts to automatically delete orphans
Commenting out a bunch of texture compile noise
Allow setting MSAA whilst in tool mode
Replace per tool GameData with a shared one managed by IToolFramework2, move the managed GameData out of Tools.MapEditor and into Tools, same with it's interop.
* Decoupled CGameData from CGameConfig (mapdoclib), removed g_pGameData use the IToolFramework2 locator now instead.
* Initialize managed GameData from CToolFramework2::Init() before anything could ever need it.
* Populate GameData from managed asynchronously, this solves race conditions of loading Hammer too fast, as well as letting you add localaddons mid game.
Tool scenes loading maps will now have access to all this managed game data too, solving lighting issues / missing sky boxes in modeldoc / others.
This also gives us a very easy route to deprecate fgd files in ModelDoc if desired.
Instead of loading GameData from addons on initialize, load it in from assemblies when added to GameAssemblyManager
Unfuck the map compilation, gotta use a dirty global for gamedata still in mapdoclib, set it automatically when toolframework2 is avaliable, mapcompiler manages it's own manually though.
A couple of dirty hacks to do this, we can undo these if we end up making map compilation not use a seperate process - or there may be some nicer ways to do these globals.
Startup time optimizations (~400ms)
Smoothing out tools mode startup
Move splashscreen to c#
Add r_force_copy_texture_using_shaders for the rare situations some cards are encoding video with incorrect color format
Fix compile error in fibertools.h with VS2022 17.2.0
Add some additional launch profiles to Sandbox.Engine for VR or going straight into a map, etc.
Add VR checks when creating a VROverlay
Don't try creating a borderless window in tools mode, fixes keyboard input not working in-game on tools
Fix loading a load of sound stacks we don't want/use
Fix compile warnings in NodeGraph
Fix compile warnings
Obsolete IAsset
Rename Asset to GameResource, move to engine, derive from Resource
New Hair! - Stubble WIP
WIP Stubble beard hair, needing to get the blendshapes fixed, will work on menu but not in game just yet!
https://files.facepunch.com/daniel/1b1011b1/beard_present.png
Now you can look as grizzly and cool as you do in real life!
Rearrange entity files
Add descriptions to some Entity virtual methods
Merge branch 'master' of sbox
Remove unused
Renaming sound system accessors to match native names
Fix pitch change sounding like dog shit
Sound Preview wip
Add to get_system_globals to allow forcing listener location to 0
SoundHandle, SoundPreview
Remove unused
VR: Get auto fidelity levels actually loading from their config, they don't seem to do anything yet though so need to tinker more
Fix bizzarre rendering logic preventing VR autofidelity from setting the render targets size
Delete more unused/non useful FGD types
ivScript, ivScriptList, ivGameUnitClass, ivGameItemClass, ivPropDataName
Trim underwater, hand positions, volume convars from soundsystem
Fix sound stack not applying soundevent volume propertly
Move pitch shift to vmix
Add Paint.DrawCircle
assetpreview: widgets
Mountain pine shrubs and bushes
Fixup our sky entity and implement everything the native env_sky entity has, replace native env_sky with our own C# one. Remove env_sky_atmosphere (if you use this, replace it with env_sky and use a atmosphere material)
Add Hammer.Skybox helper to render skybox in hammer
Default vr_depth_submit to on
VR overlays should set their transform from standing origin, this should be more consistent with everything else in the engine now
Added `VrHand.TriggerHapticVibration( float duration, float frequency, float amplitude )` Usage: `Input.VR.LeftHand.TriggerHapticVibration( 0.25f, 100.0f, 1.0f )`
This is clientside only for now, we can probably hook it up as an RPC though if it's required.
It would've been nice to hook this up as a unified API with controller vibrations, but haptics and rumble are pretty different, enough that emulating it either way ends up being utter wank.
Remove 'vecline' fgd type (all it does is spawn a vecline helper)
In favor of Hammer.PointLineAttribute
Clear audio system on game loop
Doppler, loudness compressor
New Hair! - Fade
New stylish hairstyle!
Implement phys_spring
Remove the bullshit constraints (phys_constraint, phys_ragdollconstraint, phys_genericconstraint, phys_keepupright - if we ever need these we can implement in a better way)
Implement phys_pulleyconstraint
Add Audio class
Player underwater effect
Deafen player when taking damage from explosions
Fixed Hammer.MinMax not applying in Hammer
Fixed GenerateStandardFullPathForResourceName succeeding for empty inputs
FBX loader: generate better fallback material names for blender meshes
DmeMesh: try to work around invalid material extensions
Fixes Blender's default material names not showing up in ModelDoc correctly
VR: Simplify and remove more code that we use OpenVR for or has no purpose for sbox
VR: Submit depth texture to the SteamVR compositor, flagged behind `vr_depth_submit 1` - this primarily assists Occulus' time warping / reprojection, but could help other HMDs too
FPArms: the camera of fists landing is now additive & handled separately
This allows the kick of the camera to continue gracefully even if the landing motion in the arms gets interrupted by a punch
Add GraphicsItem.HandlePosition
Add MouseEvent HasShift, HasCtrl, HasAlt
Add some help around FocusMode and OnKeyPress
Adding Curve2D wip
Cable tray tileset https://files.facepunch.com/louie/1b0911b1/sbox_14GcewgiNQ.png