254,766 Commits over 3,990 Days - 2.66cph!
Add TextureGenerator boilerplate
TextureControlWidget poc
Fix NRE in SpriteRenderer when texture is null
TextureControlWidget creates a child ResourceControlWidget instead of trying to be one
Draw texture preview
Standardize internal way to async replace placeholder textures
Add Sandbox.Utility.ForAsync
TextureGenerators are async
Add IPopupEditor<T>, EditorUtility.OpenControlSheet looks for this interface when creating a popup
Rename ControlSheetPopup to PopupEditor, make more modular so we can override important bits
Add TextureEditorPopup
Clean up TextureControlWidget
Add Color.Rgba16 (half based color)
Add Bitmap class
More bitmap stuff
Bitmap draw and bitmap pen
Bitmap drawing fixes
Bitmap clone, IDisposable, IValid
Wrap IResourceCompilerContext
Find "$compiler" in resource json and launch compiler
Add more ResourceCompiler functionality
Managed can override compiling of any resource
Add Texture.GetBitmap
Simple texture compiling from managed
Add Bitmap.ToFormat( ImageFormat format )
Add TextureBuilder.WithMips() - auto mip count
Bitmap.ToTexture supports mipmaps
ResourceCompiler.Compile is async (but we have to run it syncronously)
ResourceCompiler,. ResourceCompilerContext are in Engine
Add transient filesystem
Add Texture.IsError
Compile embedded textures to transient folder
Double height texturcontrolwidget
Remove debug
Add Bitmap.DrawText
Clean up
Lock FontManager cache when accessing
Refactor
Generated resources get weak cached in memory for re-use
Cleanup floatbitmap, add LoadFromInMemoryTGA
Load Bitmap.CreateFromBytes supports tga
Better tooltips on TextureControlWidget
Don't support mipmaps if npot (until we figure out how/why)
Create Bitmap.Filters.cs
Fix outline sync running out of memory
Default sort packages by updated
Add decimal to total players, total sessions
Can click on screenshots to view full image
Give more detailed times in contest
Fix couldn't edit contest time, only date
Leaderboard backup, run #
17093
Disabling D_SKINNING and D_MORPH when D_CS_VERTEX_ANIMATION is enabled would be a mistake because it would break older compiled shaders
Cleanup floatbitmap, add LoadFromInMemoryTGA
Load Bitmap.CreateFromBytes supports tga
Better tooltips on TextureControlWidget
Don't support mipmaps if npot (until we figure out how/why)
Create Bitmap.Filters.cs
Remove this toolvis shit from skinning compute, I don't think it's needed
These newer decompress normal functions can be removed, we're not using them yet
Remove SV_VertexID from depth_only
use shader_c from master, these somehow got fucked
Add octohedral_encoding.fxc
Add skinning_cs.shader
Try and use animated vertex cache when D_CS_VERTEX_ANIMATION is enabled
Store vb size offsets in rendermesh
Create GPU buffers for skinned vertex cache and vertex cache offsets
Dispatch requested vertex cache updates
Animatables requests vertex cache updates
Compile shaders
Make sure both buffers are destroyed
Add SV_VertexID to VS_INPUT, this can be used for indexing vertex cache instead of using D_MORPH nVertexIndex
Don't call CalculateInstancingObjectToWorldMatrix when using D_CS_VERTEX_ANIMATION, it's already calculated in the cache
Decode cached vertex normals and tangents
Compute morphs, normals and tangents in skinning compute shader
Define MORPH_TEXTURE_ATLAS_WIDTH as g_nMorphTextureAtlasWidth when in compute
Fix incorrect offset to CalculateMorphSubrectData
Don't run morph code when using vertex cache
Compile shaders
Use remaining bytes in extra shader data to hold base vertex cache offset, add another vertex id lookup buffer relative to meshes vertex buffer size offsets - this allows correct indexing into cached vertices while remaining backwards compatible
Compile shaders
Resize vertex cache buffer when out of space
Use descriptor set for vertex cache so that it doesn't need to be set with an attribute (which would be set too early if resize is needed)
Compile shaders
Fix decompressing normals in skinning compute shader
Add back vertex cache request batching now we know everything works
Player can now block with the shield as long as they have more than 0.5s of block power left (don't need wait for bar to fill back up)
Reduced minimum time the shield has to be raised to 0.5s
merge from primitive -> aux2
merge from primitive_gm -> primitive
Merge from main (discard delete)
Increased ballista bolts projectile speed
Changed the placeholder bolts damage so they aren't all doing the same damage (wip)
Tweaked siege weapon health and protection
DofExposer doesn't change values on enable
Unsaved chicken name stuff
Merge from knight_armour_desc_change
Merge from Shield.Desc.Update
Scene grp script additions
Tweaked horse ground angle update rate convar values
Horse animations: calculate speed and reversing parameters in local space
Horse metal footsteps default to concrete instead of dirt
Pants/Hoodie/Boots for v4 rig
Fixed horse animations on vehicle large layer (cargo, harbor swing bridge)
Fixed animals not playing footsteps on Vehicle Large and Vehicle Detailed layers
Move `scientist_spawners_enabled` convar so it blocks spawns from PuzzleReset as well as normal timed spawns
- was causing scientists to keep spawning in monuments
Towing anchor tweaks, prevent horse legs to climb on the catapult bumper
Fix server not sending world config to client because it didn't serialize it to the `JsonString` field
Fix client era not being reset to "none" when switching from primitive server -> normal server
- era was being sent to client as "unknown" but the client convar wouldn't consider "unknown" as a valid string to change era
Horse legs animator tweak, added Transparent layer detection
weapon updates
- Ported over ak and sar 3p anims, exported on v4 rig
- prefab setup work
- holster updates
- removed offsets in entities
- created world weapon masks and removed root bone from meta
- holdtype setup
- re-parent entity to prop bone
Ram's head collider change when broken
Tweaked vehicle server collider
Battering ram cabin lights
When the head is damaged, change the button interaction + gametip explaining what to do
WIP minimal public API
Fleshing out how movies get applied to a scene