Commit Graph
100 Commits
Author SHA1 Message Date
metalgearslothandGitHub dda2b3cb97 Fix temporary chent mapinit (#6842) 2026-07-24 20:06:40 +10:00
metalgearslothandGitHub ac13da4328 Add chunk entities (#6705) 2026-07-24 19:02:55 +10:00
metalgearslothandGitHub 45f3caaac4 Fastpath EntityManager.IsDefault (#6735)
* Slim it down

Had the spawn mess included.

* fixes

* build fix
2026-07-24 01:07:57 +10:00
metalgearslothandGitHub 2f6839f4e3 PredictedQueueDel fix attempt (#6688) 2026-07-24 00:26:36 +10:00
metalgearslothandGitHub c65b9db134 CollectionHelper tweaks (#6837) 2026-07-24 00:26:22 +10:00
metalgearslothandGitHub 9f32ee3584 Add event for SplitContainer being changed (#6659) 2026-07-24 00:14:15 +10:00
metalgearslothandGitHub 308850515f Update lidgren (#6835) 2026-07-23 22:24:11 +10:00
metalgearslothandGitHub e89668c212 Cache pending reapply component net ids (#6825) 2026-07-20 20:08:26 +10:00
metalgearslothandGitHub b8c456e6de Optimise game state component change lookups (#6826) 2026-07-20 20:08:07 +10:00
metalgearslothandGitHub 55e25ba20c Optimise game state entity resolution (#6824) 2026-07-20 20:07:47 +10:00
metalgearslothandGitHub 537c4cb02f Fix sprite jittering (#6805) 2026-07-18 15:40:00 +10:00
metalgearslothandGitHub 7b4f159474 Optimise PVS broadphase leaves (#6810) 2026-07-18 13:03:26 +10:00
metalgearslothandGitHub 17224a8ec1 Optimise broadphase re-insertions (#6809) 2026-07-18 11:07:10 +10:00
metalgearslothandGitHub faabd84348 Fix componentnetworkgenerator not copying getstate on client (#6748) 2026-07-16 20:36:48 +10:00
metalgearslothandGitHub dfb3976479 Omit .Collect() for sourcegen (#6803) 2026-07-16 19:52:07 +10:00
metalgearslothandGitHub 36969713a3 Fix physics hull allocs (#6802) 2026-07-16 19:29:07 +10:00
metalgearslothandGitHub a978e33560 Cache entity system profile names (#6765) 2026-07-16 19:14:41 +10:00
metalgearslothandGitHub 651e9034dd Cache grafana histograms (#6767) 2026-07-16 19:14:32 +10:00
metalgearslothandGitHub a60d2df5b0 Cache datadef types (#6801) 2026-07-16 17:56:05 +10:00
metalgearslothandGitHub 9ceb7c5b43 Workflow standardisation + pruning (#6726) 2026-07-16 17:28:57 +10:00
metalgearslothandGitHub 17b66c574e Fix SetUniformDirect allocation spam (#6769) 2026-07-16 17:28:34 +10:00
metalgearslothandGitHub 15a7ed295c Fix DistanceProxy.Set allocation spam (#6770) 2026-07-16 17:16:35 +10:00
metalgearslothandGitHub 681fa0b5d1 Test fix (#6799) 2026-07-16 16:57:36 +10:00
metalgearslothandGitHub 423ca3ba1b Filter datadef types by attributes (#6798)
datadef
2026-07-16 16:54:18 +10:00
metalgearslothandGitHub 91f64a7f6c Add sundries + static sundries to grid traversal (#6653) 2026-07-16 16:37:56 +10:00
metalgearslothandGitHub 7454c6b316 Fix serialization normalize performance (#6797) 2026-07-16 16:34:56 +10:00
metalgearslothandGitHub e6a7849fe3 Skip log formatting if level not enabled (#6764) 2026-07-16 16:17:55 +10:00
metalgearslothandGitHub 205a8a6479 Pool PVS entity state collections (#6752) 2026-07-14 16:48:50 +10:00
metalgearslothandGitHub 3211b437c9 Cache GetAllChildren (#6766)
* Cache reflection child type lookups

* field
2026-07-14 16:37:48 +10:00
metalgearslothandGitHub 6052c50264 Dispose PVS session statestream on disconnect (#6663)
Dispose session statestream on ClearSendHistory

I got no idea how this happened but praying this fixes it.
2026-07-14 14:07:08 +10:00
metalgearslothandGitHub d314fe48a8 Avoid NetMessage copies for MsgState (#6744)
* Avoid NetMessage copies for MsgState

We have some rough idea of the final size so we'll set the NetMessage size a bit above that so we can actually use Lidgren's storage pool. Currently it gets set to 4 but NetMessage uses Array.Resize if the size is inadequate so it never uses the pooled buffers for this.

* RN
2026-07-14 13:58:15 +10:00
metalgearslothandGitHub 657e9bfb2d Reduce ImageSharp arraypool ballooning (#6768)
Dispose images as soon as practical so we don't balloon its arraypool as much.
2026-07-12 16:44:31 +10:00
metalgearslothandGitHub 5a83ab127e Try to make connection failure msg useful (#6743)
Right now we just get an aggregateexception of IPV4 + IPV6 and roll the dice on which exception to use. The issue is if we get a generic "no response from remote host" because no IPV6 for example it can bulldoze an actually useful exception log. I would wager 90% of the time this is why connection messages aren't being useful because IPV6 is failing fast and being picked for the first exception but I could also be wrong.
2026-07-11 21:20:48 +10:00
metalgearslothandGitHub dcadd34389 Serv5 fixes (#6761) 2026-07-09 00:08:10 +10:00
metalgearslothandGitHub ba96b63f99 Fix ShapeCast on sensors (#6588)
* Filter hard-only fixtures in sensor-only raycasts

* Align

* Tests

* raycast
2026-07-08 08:44:27 +10:00
metalgearslothandGitHub 471e92d923 Update lidgren (#6750) 2026-07-07 21:32:56 +10:00
metalgearslothandGitHub 83c5c8eaf2 Fix UserDataDir accepting relative game names (#6745) 2026-07-07 17:36:28 +10:00
metalgearslothandGitHub cd20266069 Add new Lidgen CVars (#6742) 2026-07-07 13:59:02 +10:00
metalgearslothandGitHub a1d3d16e43 Update lidgren (#6737) 2026-07-07 01:11:53 +10:00
metalgearslothandGitHub 622ecc6241 Fix command ordering (#6729) 2026-07-06 19:41:09 +10:00
metalgearslothandGitHub 8027cbd390 Fix DynamicTree Clear (#6651) 2026-07-04 23:25:14 +10:00
9b00e2d936 Add lidgren rate-limited logging CVars (#6708)
* Add lidgren rate-limited logging CVars

* rerun tests

---------

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
2026-07-01 20:06:44 -07:00
80560814fc UiBox2i validation (#6665)
* UIBox2i changes

See Box2i + Box2 PRs.

* RN

* pipe bomb

---------

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
2026-07-01 16:55:44 -07:00
metalgearslothandGitHub 792f795fbe Sourcegen eventsub fixes (#6702) 2026-07-01 14:07:41 +10:00
metalgearslothandGitHub 58fd434a51 Remove QuadTree (#6664) 2026-06-30 20:01:41 +10:00
metalgearslothandGitHub d9330ecda3 Add test timeouts (#6695) 2026-06-30 14:26:54 +10:00
metalgearslothandGitHub 2cbcb92cb8 Add DictionaryEquals helper (#6682)
* Add DictionaryEquals helper

* test because why not
2026-06-28 23:39:55 +10:00
metalgearslothandGitHub d9cd400e00 Optimise Box2i (#6662) 2026-06-28 04:18:15 -07:00
metalgearslothandGitHub 7fcf49ea61 Add audio device switching API (#6661) 2026-06-27 19:09:59 +10:00
metalgearslothandGitHub 9faee42c3a Merge Bouba RT into Kiki RT (#6649) 2026-06-27 17:55:22 +10:00
metalgearslothandGitHub afd792c0b1 Merge branch 'master' into master-merge 2026-06-26 21:48:28 +10:00
metalgearslothandGitHub 03ef503285 Add batch drawing methods (#6655)
* Add batched drawing API

Internally Clyde batches drawing, however when drawing hundreds / thousands of the same quad the batch checks add up. This just omits those checks and directly draws instead. Same with skipping color modulation.

Long-term could probably figure out a way to SIMD the transforms better.

* RN
2026-06-26 21:45:32 +10:00
metalgearslothandGitHub ea2529e1ce Fix ValueList Peek (#145) 2026-06-25 18:34:17 +10:00
metalgearslothandGitHub b32ef31b03 Fix ValueList TryPop holding references (#31) 2026-06-24 23:38:10 +10:00
metalgearslothandGitHub 27c2f34870 Implement IList for ValueList (#32) 2026-06-24 23:22:30 +10:00
metalgearslothandGitHub d07c1af29b Early-out PVS updates on rotation (#133) 2026-06-24 22:39:36 +10:00
metalgearslothandGitHub e164c94633 Direction optimisations (#135) 2026-06-23 17:50:29 +10:00
metalgearslothandGitHub e568c7ba78 LocalRotation normalize + obsolete setter (#125) 2026-06-21 16:08:30 +10:00
metalgearslothandGitHub fcf255e11f Make Box2Rotated Transform faster (#34) 2026-06-20 00:51:43 +10:00
metalgearslothandGitHub 8f6ebad5b9 Reduce game memory usage a crumb (#30) 2026-06-19 21:55:44 +10:00
metalgearslothandGitHub 75d1c9a7f9 Raise a BUI message on any input 2026-06-19 20:36:39 +10:00
metalgearslothandGitHub ed8cc71cdc Make Box2.Contains faster
Make Box2.Contains faster
2026-06-19 20:24:28 +10:00
metalgearslothandGitHub c89ba529f5 Optimise sprite sorts 2026-06-19 19:38:18 +10:00
metalgearslothandGitHub 75e3e75e53 Update release notes 2026-06-19 19:34:04 +10:00
metalgearslothandGitHub 5600ae5e8f Fix relative window positions on display re-size 2026-06-19 19:29:23 +10:00
metalgearslothandGitHub ab3217fc75 Merge pull request #9 from Space-Wizards-Federation/2026-06-13-res-path
ResPath allocs fix
2026-06-19 19:23:42 +10:00
metalgearslothandGitHub 1173a30480 Merge pull request #7 from Space-Wizards-Federation/2026-06-11-enum
Reduce TryParseEnum string allocs
2026-06-19 19:23:18 +10:00
metalgearslothandGitHub 85c075d480 Merge pull request #6 from Space-Wizards-Federation/2026-06-11-ogl-string-allocs
Fix debug OpenGL string allocs
2026-06-19 19:21:08 +10:00
metalgearslothandGitHub 325a1a43ca Merge pull request #26 from deltanedas/proto-hascomp-ops
add prototype HasComp methods to proxy and EntityPrototype, other related stuff
2026-06-19 09:48:23 +10:00
metalgearslothandGitHub d3faec7fd3 Merge pull request #19 from kontakt/20260616-cleanup
Remove broken GHAs
2026-06-17 18:11:29 +10:00
metalgearslothandGitHub ff67da37bb Cleanup Robust integration test boilerplate (#8) 2026-06-15 20:55:17 -07:00
metalgearslothandGitHub 338825c8e7 Add Pure attr to EntityLookup bounds methods (#6622) 2026-06-09 16:54:31 +02:00
metalgearslothandGitHub 5ff88372b2 Use AsSpan for audio resource signatures (#6613)
CA1832 and less IDE warning.
2026-06-03 18:02:04 +02:00
metalgearslothandGitHub 46b65260c4 Consolidate and update physics benchmarks (#6298)
* Add

* a

* Fix test

* note

* Consolidate physics benchmarks

* Also add smash

* a

* Fix this
2025-11-15 17:54:05 +11:00
metalgearslothandGitHub 663b83821a Revert "Obsolete static IoC methods (#6232)" (#6296)
This reverts commit 14439784dd.
2025-11-15 11:26:52 +11:00
metalgearslothandGitHub cd59027089 Double-buffer contact events (#6295)
* Add

* a

* Fix test

* note

* Fix reflection
2025-11-13 21:28:13 +11:00
metalgearslothandGitHub 015bf3318b Generic GetMassData (#6291)
* Generic GetMassData

Nothing fancy. Also made the class version use the struct.

* Slim method

* Fix test
2025-11-10 18:30:24 +11:00
metalgearslothandGitHub fe19ff9bd5 Fix physics events not being re-run in prediction (#6261)
* Fix physics events not being re-run in prediction

Someone should probably network contacts someday.

* Documentation
2025-11-09 19:37:12 +11:00
metalgearslothandGitHub 4755cb5747 Better broadphase performance (#6272)
* Better broadphase parallelism

Moves more stuff into the parallel loop and avoids allocating the list per fixtureproxy.

* Fixes

* Better docs

* doc
2025-11-08 02:11:31 +11:00
metalgearslothandGitHub 8478e62a3e Add pure to some transform methods (#6262)
Useful IDE stuff
2025-10-22 18:47:02 +02:00
917878d05f Autocomplete more map commands (#5797)
* Autocomplete more map commands

Also added some extra helper features.

* Finish

* Fix bug, avoid IocResolves

* grid is grid

* file filename clash

* turn hint into option

* a

---------

Co-authored-by: ElectroJr <leonsfriedrich@gmail.com>
2025-09-18 12:38:17 +10:00
metalgearslothandGitHub 7be41f4890 Add ignoredcomps to IsDefault (#5998) 2025-06-05 23:54:47 +10:00
metalgearslothandGitHub 293470a5fe Fix incorrect saved window positions (#5927)
* Fix incorrect saved window positions

As of however many UI PRs ago windows store their last position on the client and it re-opens windows at that position.

The issue is that the code to avoid windows being able to go off-screen was immediately bulldozing this value, at least if the x <= 0. Now we just don't run it until we have a valid measure (probably the frame after) and avoid unnecessarily having an incorrect position applied.

* Explainer
2025-06-05 23:35:28 +10:00
metalgearslothandGitHub ea6126563b Add NearestChunkEnumerator (#5972)
Not super fast but want it for biome loading to prio chunks nearby first.
2025-06-05 22:36:22 +10:00
metalgearslothandGitHub 2c5604432b Update some GetComponentName usages (#5942)
Rider tells me to use generic and generic one seems better.
2025-06-01 17:54:43 +10:00
metalgearslothandGitHub af08e747de Defer grid state handling TileChangedEvent (#5981)
Rather than doing the old raise-event-per-tile we just raise it at the end.
2025-05-29 09:21:45 +10:00
metalgearslothandGitHub 986b0f979d Fix physics forces not autoclearing (#5978)
* Fix physics forces not autoclearing

* Changes
2025-05-29 00:04:55 +10:00
metalgearslothandGitHub 5f5fed5d6c Update contact xform usage (#5977)
Forgot this one as well.
2025-05-28 19:30:50 +10:00
metalgearslothandGitHub ee8ea4ec3b Purge PhysicsMapComponent (#5766)
* Replace PhysicsMapComponent

- Dumb idea
- Lots of book-keeping and perf overhead.
- Much saner this way.

* stuff

* More work

* Purge

* Fixes

* Eh?

* Fixes

* Also this

* weh

* Fixes

* ice-cream

* Fix

* Fix stacking / gravity

* Gravity query

* MoveBuffer optimisations

* Fixes for test

* World gravity

* Fix build

* Avoid some transform resolves for contactless ents

* Less getcomps

* Fix contact caching

* Possibly less copies

* reh

* bulldoze

* Test "fix"

* seikrets

* a

* I saw this but now I decideded against it

* true
2025-05-28 19:18:36 +10:00
metalgearslothandGitHub dddf5cd2fb Add entities to SpawnEntitiesAttachedTo (#5971)
* Add entities to SpawnEntitiesAttachedTo

Need it for biome stuff.

* factorio
2025-05-27 19:45:48 +10:00
metalgearslothandGitHub 01979c451d Make RaiseMoveEvent internal (#5918)
I don't think content should really be calling this tbh.
2025-05-27 19:45:04 +10:00
metalgearslothandGitHub dc97615fd4 Add some Box2i methods (#5969)
Equivalent to Box2.
2025-05-27 19:26:50 +10:00
metalgearslothandGitHub 3b4944376b Fix FastNoiseLite fractal bounding (#5970)
This shouldn't be datafielded because it gets set by other datafields.
2025-05-27 19:14:49 +10:00
metalgearslothandGitHub a634d6bd04 Add WorldNormal to StartCollideEvent (#5954)
We already have the value just a matter of adding it to the event.
2025-05-21 20:41:57 +10:00
metalgearslothandGitHub be14a3c249 Expose CompFactory to systems (#5941) 2025-05-18 00:56:09 -04:00
metalgearslothandGitHub 44180b3ee0 Fix / remove startcollidevent worldpoint (#5936)
Now it's worldpoints because it may not necessarily be 1 pointr and internally we fix the actual points themselves.
2025-05-18 03:03:12 +10:00
metalgearslothandGitHub bb0e77e937 Add some EntProtoId overloads (#5938)
Need it for some content stuff didn't feel like doing the rest yet.
2025-05-17 18:28:12 +10:00
metalgearslothandGitHub 73f6555624 Fix static ent collision spawn (#5933)
* Fix static ent collision spawn

* Fix test

* cool
2025-05-15 19:11:20 +10:00
metalgearslothandGitHub 89be682e24 Don't raise wake events for terminating contacts (#5757) 2025-05-10 22:02:22 +10:00
metalgearslothandGitHub 6086076559 Avoid checking grid traversal for rotation events (#5778)
* Avoid checking grid traversal for rotation events

* Also this one
2025-05-10 22:01:43 +10:00