userDaniel Pcancel

2,819 Commits over 700 Days - 0.17cph!

3 Hours Ago
Merge: from stringview_indexof_fix
3 Hours Ago
Merge: from main
3 Hours Ago
Bugfix: StringView.IndexOf - prevent skipping a character if we had to abour a sequence match This affects Contains, Replace and IndexOfAny as well, as they depended on IndexOf Tests: ran unit tests, they pass
3 Hours Ago
Update(tests): add a unit test case for StringView.IndexOf failing edge case Tests: test fails as expected
Today
Bugfix: StringView.IndexOf - handle seraching for empty same way as string - amended unit tests to enforce mathicng results check Tests: ran unit tests
Today
Update: StringView - add StringOptions overloads to StartsWith, EndsWith - added unit tests to cover new methods Tests: ran unit tests
Today
Update: StringView now supports StringComparisons when comparing to other StringViews - expanded unit tests to cover this Tests: ran unit tests
Today
Bugfix: StringView - ensure defaulted string view can compare to empty string as equal - left a note about string.Equals(object) not recognizing StringView - reorganized comparisons in Ranges test to make them pass Tests: ran unit tests
Today
Update(tests): add a bit more coverage to IndexOf and IndexOfAny null tests Tests: ran tests
Today
Merge: from main
Today
Merge: from tovector3_parse_format_fix - Bugfix: fixes another edge case of weirdly formatted vec3 using StringView.ToVec3 Tests: unit tests
Today
Merge: from main
Today
Bugfix: StringView.ToVec3 - ensure we grab first-of-a-set separator Tests: ran StringView and Command unit tests
Today
Update: add StringView.IndexOfAny - expanded unit test to cover Will need it to bugfix ToVec3 again Tests: ran unit test
Today
Update(editor): add a couple more ToVec3 Tests: catches failing cases
Today
Update: StringView now allows construction from null strings - expanded unit tests This brings it closer to ReadOnlySpan semantics. Tests: some unit tests failing, will investigate later
Today
Merge: from tovector3_parse_format_fix - Bugfix: fixes ToVector3 parsing bugs for various spacing configurations of Vec3, added unit tests to cover it Tests: ran unit tests, checked F3 modes camera offset is correct and spawned entities appear where expecte
Today
Bugfix: StringView.ToVector3 - trim off both whitespaces and , Tests: StringView and Command unit tests pass
Today
Update: add a couple more test cases to ToVector3 unit test Tests: still fails, as expected
Today
New: add Facepunch.UnityEngine.Tests assembly - added StringView.ToVector3 unit test Currently fails, as reported Tests: ran unit test, fails as expected
Today
Merge: from main
Yesterday
Clean: remove NetWrite.BytesWithSize(byte[]...) overloads Tests: editor compiles
Yesterday
Clean: remove acouple obsolete things - Get rid of IStreamReader/Writer - they're not used anywhere - get rid of NetWrite.Bytes(byte[]) overload - superceded by Bytes(ReadOnlySpan<byte>) Tests: editor compiles
Yesterday
Merge: from main
Yesterday
Merge: from player_benchmark_improvements - Bugfix for PlayerModelBenchmark scene missing from builds Tests: none, trivial change
Yesterday
Bugfix: mark PlayerModelBenchmark.unity for maps bundle Tests: none, trivial change
Yesterday
Merge: from main
Yesterday
Update: in progress work to support ReadOnlySpan<byte> in NetWrite - Rust.SourceGenerator updated to support ReadOnlySpan<byte>-like types in RPC sigs - NetWrite pipes most byte[] calls to ReadOnlySpan overload Still need to cleanup and figure out if IStreamWriter is needed Tests: editor compiles
4 Days Ago
▊▋▊▅▊▊▄ ▄▄▊▉ ▄▊▋▉▅▅▄▊▆▇▇▅▊▊▍▇▅▅▄▆█▅▇▄▍▅ ▌▆▉▆▋▅█ ▅▍▄▍▄▉ ▍██▊▆▆▊▍▉ ▊▇▍▌▄▇ ▄▍ ▇▊ ▉▍▆ ▌▄▍▊▆▊▉▊▍▇▅ ▊▅▌▄█▅▋▇ ▅▇▊▆▇▌▄▅▄ ▍▋▇█▉▊▊▇▋▊ ▄▍▇▌▋▍▌▆▍▉▄█▅▌▆▋▍▅ ▌▉▋▅▉ ▉▋▅▄▊▄█ ▆▊▋█▋▇
4 Days Ago
▄█▍▍▅▌▊▉ ▍▇▌▆▍▅ ▌█▊█▊▌▆▄▄ ▇▉▇▉▉▌▆▍▆ ▋▇▊▌▆ ▅▄▍▉█▉▇▉▄ ▋▍▍▇▋▍ ▋█ ▄▍█▉ █ ▌▆▄▊▋ ▇▊ ▉▊█▍▆ ▉▇▊▇▋▉ ▊▋█ ▊▉▉██▍█ ▆▆▋ ▇▋▋▆▊█▌ ▌▍ ▍█▄█▄▅▆▊▅ ▅▆ █▌ ▌▍▆▋█ ▆▇█▅▆▇ ▋▉ █▋▅▍ ▌▍▋▊▋▍ ▉▄▉▆▅▆▇▅ ▍▆ ▉▌ ▌ ▄▍▍▊█▉▌▆▋▊█▋▉▉▅▆▇▊▅ ▄▍▊▋▍ ▍▅▅▋▅▇▉ ▄▊▍▄▄▍
4 Days Ago
Merge: from alloc_clean_june2026 - Optim: amortise or remove 19 allocation sources Tests: on craggy, gathered resources, built a mini base
5 Days Ago
Merge: from main
5 Days Ago
Optim: Replace Physics.OverlapBox with Physics.CheckBox in BaseVehicle.VehicleFixedUpdate Saves allocating the results array, and should be cheaper as well Tests: none, trivial change
5 Days Ago
Optim: get rid of string alloc in BaseCombatEntity.Hurt 1alloc/32b Tests: none, trivial change
5 Days Ago
Merge: from main
5 Days Ago
Optim: SpawnGroup - SpawnInstances not returns a List instead of IEnumerable Allows to save on iterator allocation, 40b Tests: none, trivial change
5 Days Ago
Optim: cache UpdateNetworkGroup invoke Saves 1 alloc/128b Tests: none, trivial change
5 Days Ago
Optim: cache PlayRadioChatter invoke Saves 1 alloc/128b Tests: none, trivial change
5 Days Ago
Optim: cache 2 invokes in Buoyancy.CheckSleepState Saves 2 allocs/256b Tests: none, trivial change
5 Days Ago
Optim: cache RemoveCorpse invoke Saves 3 allocs, 384b total Tests: none, trivial change
5 Days Ago
Undo of previous change - since entities can only be demolished once, the change was useless (and wasted memory)
5 Days Ago
Optim: cache StopBeingDemolishable invoke 1 alloc/128b Tests: none, trivial change
5 Days Ago
Optim: use static action in ServerBuildingManager.Split Should save another 2 allocs/160b per building block Tests: none, trivial change
5 Days Ago
Clean: tabs -> spaces, get rid of explicit generic args Tests: none, trivial change
5 Days Ago
Optim: use static callback to avoid allocs in ServerBuildingManager.CheckMerge Saves 2 allocs, 160b total Tests: none, trivial change
5 Days Ago
Optim: get rid of LINQ in Planner.FindSocket Saves 3 allocs/180b total Tests: none, trivial change
5 Days Ago
Optim: cache UpdatedVisibleHolsteredItems invoke Saves 1 alloc/128b Tests: none, trivial change
5 Days Ago
Optim: avoid boxing allocs in Azure.LogResource Weirdly Enum.ToString has 2 boxing allocs, totalling 48b. Tests: none, trivial change
5 Days Ago
Clean: fixup formatting in BasePlayer.OnProjectileAttack Tests: none, trivial change
5 Days Ago
▍ ▊▋▌▇▅▋ ▄▆▄█▍ ▄▊█ ▊▇▋▆▉ ▄▇▄▇ ▌▇▊ ▄ ▋▅▉▉▇▉▋▄▍▌█▉▋▍▍▉▅█ ▅▋ ▇█ ▅█▄▄ ▉ ▊▊█▄▍█▋▇▅ █▌▉█ ▍▇▊▉▆▋▋▅█ █▅ ▇▅▍▊▆▍▅▉ ▇▍ ▄█▉▌▉▄▍▉▋▄▇▍▋ ▋▄▋▊▅ ▇▆█▅▅▇▊ ▋▉▅▄▅▇