userDaniel Pcancel
reporust_rebootcancel

2,830 Commits over 700 Days - 0.17cph!

Today
Bugfix: StringView - fix invalid substring offset calculation in EndsWith overloads Tests: unit tests pass, empty bind command works
Today
Update(tests): add unit tests that can catch invalid substring calls in StartsWith/EndsWith Tests: ran them, EndsWith fail (as reported)
Today
Merge: from main
Today
Clean: remove a missed todo note Not worth the effort to chase it, current code is okay Tests: none, trivial change
Today
Merge: from main
Today
Merge: from client_clientrpcs
Today
Clean: removed generic ClientRPC methods - rewrite ClientRPCPlayerList into ClientRPCList All except for 2 calls now rely on Rust.CodeGen Tests: compiles
Today
Clean: rewrite all obsolete ClientRPC calls into RpcTarget form - removed all obsolete ClientRPC calls Tests: editor compiles
Yesterday
Optim: avoid buffer alloc on recieving player voice packet Tests: 2p on craggy, tested voice in both directions
Yesterday
Clean: Get rid of all manual BaseEntity.ServerRPC calls, rely on codegen instead - rewriten some calls to not rely on generic ServerRPC - Rust.SourceGenerator.Rpc from 9db9e963 (not merged to main yet) - has support for all NetWrite.Write types Tests: compiles
3 Days Ago
Merge: from main Need to rebuild Rust.SourceGenerator
3 Days Ago
Merge: from stringview_indexof_fix
3 Days Ago
Merge: from main
3 Days 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 Days Ago
Update(tests): add a unit test case for StringView.IndexOf failing edge case Tests: test fails as expected
4 Days Ago
Bugfix: StringView.IndexOf - handle seraching for empty same way as string - amended unit tests to enforce mathicng results check Tests: ran unit tests
4 Days Ago
Update: StringView - add StringOptions overloads to StartsWith, EndsWith - added unit tests to cover new methods Tests: ran unit tests
4 Days Ago
Update: StringView now supports StringComparisons when comparing to other StringViews - expanded unit tests to cover this Tests: ran unit tests
4 Days Ago
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
4 Days Ago
Update(tests): add a bit more coverage to IndexOf and IndexOfAny null tests Tests: ran tests
4 Days Ago
Merge: from main
4 Days Ago
Merge: from tovector3_parse_format_fix - Bugfix: fixes another edge case of weirdly formatted vec3 using StringView.ToVec3 Tests: unit tests
4 Days Ago
Merge: from main
4 Days Ago
Bugfix: StringView.ToVec3 - ensure we grab first-of-a-set separator Tests: ran StringView and Command unit tests
4 Days Ago
Update: add StringView.IndexOfAny - expanded unit test to cover Will need it to bugfix ToVec3 again Tests: ran unit test
4 Days Ago
Update(editor): add a couple more ToVec3 Tests: catches failing cases
4 Days Ago
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
4 Days Ago
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
4 Days Ago
Bugfix: StringView.ToVector3 - trim off both whitespaces and , Tests: StringView and Command unit tests pass
4 Days Ago
Update: add a couple more test cases to ToVector3 unit test Tests: still fails, as expected
4 Days Ago
New: add Facepunch.UnityEngine.Tests assembly - added StringView.ToVector3 unit test Currently fails, as reported Tests: ran unit test, fails as expected
4 Days Ago
Merge: from main
4 Days Ago
Clean: remove NetWrite.BytesWithSize(byte[]...) overloads Tests: editor compiles
4 Days Ago
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
5 Days Ago
Merge: from main
5 Days Ago
Merge: from player_benchmark_improvements - Bugfix for PlayerModelBenchmark scene missing from builds Tests: none, trivial change
5 Days Ago
Bugfix: mark PlayerModelBenchmark.unity for maps bundle Tests: none, trivial change
5 Days Ago
Merge: from main
5 Days Ago
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
8 Days Ago
▊▋▊▅▊▊▄ ▄▄▊▉ ▄▊▋▉▅▅▄▊▆▇▇▅▊▊▍▇▅▅▄▆█▅▇▄▍▅ ▌▆▉▆▋▅█ ▅▍▄▍▄▉ ▍██▊▆▆▊▍▉ ▊▇▍▌▄▇ ▄▍ ▇▊ ▉▍▆ ▌▄▍▊▆▊▉▊▍▇▅ ▊▅▌▄█▅▋▇ ▅▇▊▆▇▌▄▅▄ ▍▋▇█▉▊▊▇▋▊ ▄▍▇▌▋▍▌▆▍▉▄█▅▌▆▋▍▅ ▌▉▋▅▉ ▉▋▅▄▊▄█ ▆▊▋█▋▇
8 Days Ago
▄█▍▍▅▌▊▉ ▍▇▌▆▍▅ ▌█▊█▊▌▆▄▄ ▇▉▇▉▉▌▆▍▆ ▋▇▊▌▆ ▅▄▍▉█▉▇▉▄ ▋▍▍▇▋▍ ▋█ ▄▍█▉ █ ▌▆▄▊▋ ▇▊ ▉▊█▍▆ ▉▇▊▇▋▉ ▊▋█ ▊▉▉██▍█ ▆▆▋ ▇▋▋▆▊█▌ ▌▍ ▍█▄█▄▅▆▊▅ ▅▆ █▌ ▌▍▆▋█ ▆▇█▅▆▇ ▋▉ █▋▅▍ ▌▍▋▊▋▍ ▉▄▉▆▅▆▇▅ ▍▆ ▉▌ ▌ ▄▍▍▊█▉▌▆▋▊█▋▉▉▅▆▇▊▅ ▄▍▊▋▍ ▍▅▅▋▅▇▉ ▄▊▍▄▄▍
8 Days Ago
Merge: from alloc_clean_june2026 - Optim: amortise or remove 19 allocation sources Tests: on craggy, gathered resources, built a mini base
8 Days Ago
Merge: from main
8 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
8 Days Ago
Optim: get rid of string alloc in BaseCombatEntity.Hurt 1alloc/32b Tests: none, trivial change
8 Days Ago
Merge: from main
8 Days Ago
Optim: SpawnGroup - SpawnInstances not returns a List instead of IEnumerable Allows to save on iterator allocation, 40b Tests: none, trivial change
8 Days Ago
Optim: cache UpdateNetworkGroup invoke Saves 1 alloc/128b Tests: none, trivial change
8 Days Ago
Optim: cache PlayRadioChatter invoke Saves 1 alloc/128b Tests: none, trivial change
8 Days Ago
Optim: cache 2 invokes in Buoyancy.CheckSleepState Saves 2 allocs/256b Tests: none, trivial change