4,313 Commits over 1,552 Days - 0.12cph!
Remove GameResource.Load, huh
Move shader resource to engine
Remove compile function from game resource, resources shouldn't have this, what if we're not in tools mode?
Remove bullshit from shader resource, only add things when we need them
Cleanup and fix exceptions in ShaderHooks
Experimental tool to edit entities from map classes
Add Model.MaterialGroupCount and Model.GetMaterialGroupName
Add tooltips to collapsed sidebar of entity selector
Add Model.AnimationCount and Model.GetAnimationName
Add Application.CursorPosition setter (used for locking cursor in tools)
Revert "Move ParticleAttachment to engine, this is something we'll need in tools, not just game"
This reverts commit 1c9df82ec6bb1371f321125a19b915be853016eb.
Add SceneParticles.SetControlPoint for rotation and transform
Move ParticleAttachment to engine, this is something we'll need in tools, not just game
backup material builder incase changing features after material creation doesn't make sense
Don't save color states, just parse it from variable state
Get default, min and max values of variable desc
Set slider property default and min max values
Set checkbox property default
Editor window and preview widget
Fix material adding duplicate params
Get material description, as json
Build features description for material
Serialize feature descriptions
Features list UI https://files.facepunch.com/layla/1b0911b1/sbox_AQUvbCPcCn.mp4
group combo and label (really should make a radio selection widget for this)
Remove GetKV3MaterialDescription binding
Grab variable descriptions based on feature state
Add group to variable description
Display variables
Decode sort key (todo: do this in C#)
Only show variable groups that have at least one enabled variable, don't create widget for disabled variable
Add state cookie to variable list expanders
Sort variable groups
Create property widgets for variables
Create correct property widgets for variables
Custom tab widget to tab multiple sessions
Try to grab feature state from material
Move material editing to a session class so we can have multiple sessions going at once
Don't add duplicate variable desc to kv3, don't know why these are showing up, probably because I'm not recompiling material on feature change
Bind CompileAndReplaceResource and DiscardInMemoryReplacement
Discard in memory replacement on session close
Create new tab for new sessions
Get active session from current tab page
Change preview material on session change
Allow Material.Create to set feature states
Only skip duplicate variable descs that are disabled (no idea why there are duplicates in the first place)
Recreate new unsaved materials when features change
Don't update material variables through events
Switch tab when adding new session
Allow sessions to be closed
Process in memory compile reload requests after replacing resource
Add dummy material in core for material editor to piggy back off of
Recompile material when features or textures change
Recompile material on session change
Include params in replacement resource
Don't forget checkboxes
Undo passing features to Material.Create, no longer using this for material editor
Restore texture property state when rebuilding variable list
Do the same for color, float and checkbox properties
Build material output so we can save it, check against feature and variable desc for what key values should be output
Allow tab pages to be closeable or not
Save session to file, register asset
Format colors and floats so old material editor can read them
Reset session preview on hotload, fixes preview breaking on hotload
Switch page after on page close callback so we don't stomp material with replacement discard
Only discard replacement if asset isn't being used in another session
Include session name in window title
Fix non closable pages not switching
Add raw output tab
Fix NRE adding new session, keep a copy of material output
Use text edit for output
Hook up menu bar to actions
Menu bar shortcuts
Open file dialog
Create session for opened material
Parse material to get feature and variable states
Parse color states
Add new line after every variable group in output
Remove Material.GetFeaturesState, parse material in tool code instead
Allow modified material to be saved
Do a recompile before saving, resource replacement is getting stomped
Dock the preview, might want to have it fullscreen
Dock the preview, might want to have it fullscreen
Allow modified material to be saved
Do a recompile before saving, resource replacement is getting stomped
Remove Material.GetFeaturesState, parse material in tool code instead
Create session for opened material
Parse material to get feature and variable states
Parse color states
Add new line after every variable group in output
Hook up menu bar to actions
Menu bar shortcuts
Open file dialog
Fix NRE adding new session, keep a copy of material output
Include session name in window title
Fix non closable pages not switching
Add raw output tab
Only discard replacement if asset isn't being used in another session
Build material output so we can save it, check against feature and variable desc for what key values should be output
Allow tab pages to be closeable or not
Save session to file, register asset
Format colors and floats so old material editor can read them
Reset session preview on hotload, fixes preview breaking on hotload
Switch page after on page close callback so we don't stomp material with replacement discard
Undo passing features to Material.Create, no longer using this for material editor
Restore texture property state when rebuilding variable list
Do the same for color, float and checkbox properties
Process in memory compile reload requests after replacing resource
Add dummy material in core for material editor to piggy back off of
Recompile material when features or textures change
Recompile material on session change
Include params in replacement resource
Don't forget checkboxes
Switch tab when adding new session
Allow sessions to be closed
Only skip duplicate variable descs that are disabled (no idea why there are duplicates in the first place)
Recreate new unsaved materials when features change
Don't update material variables through events
Allow Material.Create to set feature states
Create new tab for new sessions
Get active session from current tab page
Change preview material on session change
Create correct property widgets for variables
Custom tab widget to tab multiple sessions
Try to grab feature state from material
Move material editing to a session class so we can have multiple sessions going at once
Don't add duplicate variable desc to kv3, don't know why these are showing up, probably because I'm not recompiling material on feature change
Bind CompileAndReplaceResource and DiscardInMemoryReplacement
Discard in memory replacement on session close
Sort variable groups
Create property widgets for variables
Add state cookie to variable list expanders
Add group to variable description
Display variables
Decode sort key (todo: do this in C#)
Only show variable groups that have at least one enabled variable, don't create widget for disabled variable
Remove GetKV3MaterialDescription binding
Grab variable descriptions based on feature state
Editor window and preview widget
Fix material adding duplicate params
Get material description, as json
Build features description for material
Serialize feature descriptions
Features list UI https://files.facepunch.com/layla/1b0911b1/sbox_AQUvbCPcCn.mp4
group combo and label (really should make a radio selection widget for this)
RenderAttributes.GetInt returns int (typo?)
Draw bounds for selected model objects
Model helpers don't cast shadows
Bind transform slot to zero in render tools draw so we don't draw shit at the previously binded transform
Add Graphics.Draw that takes list of vertices
Add Graphics.SetTransform so we can change the transform of draw calls
Add basic tool render context that can draw batched primitives
Bind transform in the draw call, has to be done in same scope it seems
Give editor objects and helpers a chance to render
Add DrawSphereHoops
Give render context access to scene camera
Add DrawCircleOutline
Support line thickness
Hammer: Support drag drop from entity tree view because I keep finding myself trying to drag them in https://files.facepunch.com/layla/1b0311b1/sbox_TbxTgCp7lS.mp4
Fix strange bug accessing DragData.Url if it wasn't set, checking for null would somehow fail?
Change model thumbnail rendering back to an animated pose, forgot I had changed this
Remove useless line of code
Add menu option to create multiple sound events from selection https://files.facepunch.com/layla/1b0311b1/sbox_ctRq5YvZNX.png
Fix StartVoiceRecording and StopVoiceRecording being called continuously when it doesn't have to
Fix particle preview rotation https://files.facepunch.com/layla/1b0211b1/sbox-dev_DE9zLfakRV.mp4
AssertIsMainThread for SetupPhysicsFromModel, this is not safe to do
Assert trying to make scene model with meshless model, sceneobjects aren't created if there's no meshes
Do the same for sceneobject
Fix crash trying to render thumbnail of model with no meshes
Fix crash trying to preview model with no meshes
Create trace object for lights
Clear selection if we didn't trace against anything