254,389 Commits over 3,990 Days - 2.66cph!
▋▌▌ ▇▍▅▌▋▌_▉▌▍▋▅▉▆▋▍_▆██▅▊▊▇_▅█▋▉_▄▉▋▄▍▄▉▊▅ ▄▌▋▊▉▌ (▇▅▇▆▌▆▇ ▇▌▉▆▉: ▆)
- ▅▄▌▊▅▆ ▌▄▄▌▋▄ ▄▊▉▌▇▋ ▌▊ ▋▇▅▋▅▍▇▊▅ ▌▉▋ █▆█▅ ▅▅▉█▋ ▌▆▆▊▅ ▋▊▌ █▉ ▋█▍█▌ ▌▄█▆▌▅▌ ▆▆▍▊ ▋▅█▊▅▅█▌▍▄▌ ▅▄▅ ▋▌▊▇▌▇ ▉▌▊▆▅▊▇▉▉▄▄ ▄▊▉ ▍█▇ ▋▇ ▉▍ ▄█▋▍▌█▄
Setup and assign projectile tin material variants
Angry bee swarms will now stay away from fire sources. If a player is holding a torch they will stay nearby to attack once the fire goes off
Minor adjustments for accuracy
▊▋▄█▅ ▊▄▋█▄▌▌▍▄ ▋▋▄█ ▄▍▍▅
Updating chicken rig anims to use new avatar
Merge PR for draggable CUI slots
Pie third person visual fixes.
Refactor visual configs.
Food items 3p/vms now setup correctly in both clientinit and ondeploy.
Add all pie projectile variations.
Submitting new chicken rig
Hands scene
IK-based hand test - more accurate
https://files.facepunch.com/alexguthrie/1b1211b1/sbox-dev_bLi9YIRCtL.mp4
Get rid of javascript style braces
Rename Slot -> DraggableSlot to avoid naming conflict, fix compile errors / warnings
Add JSON API for Draggables & Slots, add parent options to transform
Added the JSON API required to setup & update Draggables & Slots.
Also added the ability to reparent & order a transform if called via an update call, this is needed to allow reparenting a Draggable
fixed GetComponent for slot
Draggable Component
Slot Component
Draggable Test Json
Update Init fix
Fix Illegal Swapping, Prevent DragRPC
Fix a potential illegal swap when a panel inside a restricted slot was swapped with a non-slotted panel.
Changed DragRPC to not send when a swap/attach operation fails & the panel will reset to its last position,
the change was made because in those situations, a player didnt intend to drag the panel, they intended to attach it.
Fix DragRPC on attachment fail
fixed attachement fail sending a DragRPC, also properly sets the position of panels that can be dropped anywhere
Fix example
Add Callbacks (Used by Animation)
More Robust LimitToParent Approach
the previous approach used offsets, only modifying the position if the new position would be within bounds. this caused awkward behaviour where the dragged object would stop long before its actual bounds.
this was also framerate dependant as it would make bigger leaps on lower framerates, making it more likely that the new position would have been out of bounds and increasing the apparent distance from its bounds
after actually testing the PR in game i've realized it is safe to just use the absolute position (anchor + offset) and to constrain that to the rect with respect to the padding.
Updated Test after rust client testing
adding default sprites and changed some images to use Image instead
Fix parent issues (caching & anchoring)
the draggable now consider's both the parent's position and scale instead of just its scale when determining if its bounds need to be recached - this solves an issue with animated elements having cached old bounds
the anchor now also gets parented based on the parentLimitIndex, previously it was parented to the draggable's initial parent which brought with it unwanted behaviour when that parent was moving
Merge branch 'Facepunch:master' into DragnDrop
Move example to Test folder
Merge branch 'Facepunch:master' into DragnDrop
Merge branch 'master' into DragnDrop
Merge branch 'master' into DragnDrop
Merge pull request #55 from Kulltero/DragnDrop
Adding Drag & Drop Support via Draggables & Slots
Move gameobject creation for empty/new prefabs into the correct scene scope
Should avoid the GO being created in the wrong scene.
Related: sbox-issues/issues/7602
Refactor ServerImage.cs to return sprites directly & use ImageRequest class for pending image requests from the server
Update with fixes from Rust repo
merge from hackweek_automatedtesting
More compile fixes
Export test list in server directory
new about page design
some meta too
made it juiicier
- better controls, hip movement with bouncing, threw some mats on, added some suspension sounds with the bouncing
Fix compile error from merge
Chicken model and texture updates
Merge from main -> hackweek_modding_improvements
Skip serialization of optional fields set to their default value
Also exclude serializing default value of required fields
Add support for all default values, fix optional field checks applying to DeltaSerialize()
Make sure existing null checks aren't applied on top of new default value checks
Don't apply to enums
Merge branch 'master' into skip_optional_default_fields
Merge branch 'master' into skip_optional_default_fields
Merge branch 'skip_optional_default_fields'
▅▌▄▆▄ ▅▅▋▍ ▋▅▅▆▊▋_▆▊▄▉▆▇▆▊▆_▍▊▌▌▍
▊▉▇▍▊▆ ▊▆▌▇██▉▄ ▄▊▆█▉▌▅ ▄█▍▌▄▍▆▊▍ ▇▅▄ ▇▆█▍ ▅▋▊▉ ▊▆ ▄▅▅▌▌▇▍█▅▊█▆▊▅::█▅▊▇█▉▌▄ ▆▇ ▅▌▊▋▅▊▌▆█▋▇ ▋▋▆▄▌▋█▆█▊ ▅▊▇▉▍▅▇ ▅▄▇ ▄▍▋▊▄▋▆▇█ ▌▅▋▌▋▊█
Update: ServerProfiler - update binary exporter & viewer to handle new Allocs format
- Made ProfileBinViewer's search work with alloc's names
Tests: made a debug export of Craggy in editor, then opened it in the ProfileBinViewer
TTT: Fix C4/Radio sounds not playing outside of PAS (#2203)
Replace use of `sound.Play` for C4 sounds, because it relies on `CPASAttenuationFilter` internally which means players not in the same PAS as the C4 could not hear the sounds, even if in close proximity. The attenuation aspect of the filter has been reimplemented in Lua, so that we retain the functionality of only clients within audible range receiving the sound.
merge from protobuf_skip_default_fields_2 -> main
Bunch of WIP third person and projectile pie visual config work/fixes/support
merge from hackweek_automatedtesting
Disabled tests relying on editor AssetDabase for now
Clean: ServerProfiler - remove not supported thread sorting keys
Tests: none, trivial change
merge from hackweek_automatedtesting
Update: add VarInt U64 buffer read&write utility funcs
Allows to avoid interacting with a stream and it's bookkeeping.
Tests: Used as part of server demo playback
Merge branch 'master' into skip_optional_default_fields
Added CCTV_Doorbell for when Drizza comes knocking
https://files.facepunch.com/lewist/2025/February/Ring%20Ring.mp4
merge from main -> hackweek_modding_improvements
Can't reply to yourself, they just get added to the bottom of your last post
Can Ctrl+Enter to reply to thread
Don't show read bar at the bottom of read threads
Nicer upload progress
PostAdmin button
header lowercase
Tweak CCU display, to show previous 60 days
fixed tiling of weather map
merge from main -> protobuf_skip_default_fields_2
Reset only the foreground color
Update: ServerProfiler - remove the class name and duplicate size into args of a mark
- They are part of the "arguments" view when you click on the allocation mark
- Also assigned all allocations the "A" category so that they can be easily filtered out via queries
Turns out cname (controlling colors) is also unsupported via legacy json import (see issue https://github.com/google/perfetto/issues/208 and linked ones), so if we modify the name, we lose the uniform yellow color for allocations that makes it easier to spot. This also allows to run queries on top of these args more easily.
Tests: exported snasphot from Craggy in editor
▊▇▊▉▅ ▍▆▋▆ ▊▍▄▄▅▇_▉█▇▍▊▇▌▌▊_▋▉▍▆▌
Maybe this sequence to reset color works better?
- ▅▉▉▌▌▇ ▍▆▌▉▋▊▄▊▆▊▅▉▌▉▍▅▇▉█▊ ▇▇ ▄▊█▌▇▋ ▌▇▄ ▋▊ ▄▅▄▉▇▉▍▊▉▄▋▋▆▆▉ █▍ ▅▄▇▆▍▉▅▆ ▄▌▆ ▆▋▌▊▇▍▌█ ▍▊▄▄▉▍▌, ▇▆▍▅▉▌▇ ▍▆▄ ▇█▄▉▌▆▆ (▊▊█▌ ▅▅▇ ▇█▅ █▇ ▄▄▌▆ ▅▅▍ ▇▌▇█▍▋▊▉▄ █▌▌▅▇)
- ▋█▌▉▄▆▅▉ ▋▅▋/▌▉▅ ▄▉▅▌▇ (▍▍█▇▆█ ▄▉▉▇▍▉▆ ▇▄▆▉ ▄▋▅▍ ▋▋▄▅▋▅▆█▉█▇▍█▅▇ ▇▅▊ ▄▄▊▉▆▌▉██, ▉▌ █▉ █▋▇▅ ▆▇▅▉ ▇▋ ▄▍▌▉▊ ▌▆▊▍ ██▊ ▅▆▅█▆▉ ▆▊▊▉▅▍)
- ▍▅▄'▍ ▄▍▍▄▋▆▊ ▊█ ▇▍▊▆▌ ▍▍▅▋▊▄ ▄▌ ▅▊▆▊▄▉▌ ▌▊ ▉ ▋▆▊▍▉▇▍▌▊▉▍▌▊▊█