Alpha v1.0.0

Commits

All Rust commits from Facepunch

381 total commits for branch:
/

Member Avatar
Felix16/01/202604:30:41
rust_reboot/main/indirect_instancing (#140995)

Improve Update() performance by caching is_in_motion state for every entity.

0
0
Likes and dislikes cannot be added/removed here. Please go to the official Facepunch Commits site to do this.
Public Commit
Member Avatar
Felix16/01/202604:13:47
rust_reboot/main/indirect_instancing (#140994)

Improve Update() performance by caching is_in_motion state for every entity.

0
0
Likes and dislikes cannot be added/removed here. Please go to the official Facepunch Commits site to do this.
Public Commit
Member Avatar
Felix15/01/202607:58:46
rust_reboot/main/indirect_instancing (#140888)

* Tuned execution order to avoid waiting for jobs the main thread. * Split TransformApplyJob into TransformGatherJob that only extracts matrices to reduce any locks we might place on transform data. * Added a ton more instrumentation to the CrudeProfiler to get more live information about Indirect Instancing, Debug Draw and also some global timings. * Made certain expensive debug features toggleable. * The debug overlay can now render “µ”.

0
0
Likes and dislikes cannot be added/removed here. Please go to the official Facepunch Commits site to do this.
Public Commit
Member Avatar
Felix14/01/202607:27:39
rust_reboot/main/indirect_instancing (#140796)

Some fixes and cleanups for the Indirect Instancing debug overlay

0
0
Likes and dislikes cannot be added/removed here. Please go to the official Facepunch Commits site to do this.
Public Commit
Member Avatar
Felix13/01/202604:26:40
rust_reboot/main/indirect_instancing (#140706)

rebase on main

0
0
Likes and dislikes cannot be added/removed here. Please go to the official Facepunch Commits site to do this.
Public Commit
Member Avatar
Felix13/01/202604:23:28
rust_reboot/main/indirect_instancing (#140705)

Properly cull underground objects when Indirect Instancing is enabled

1
0
Likes and dislikes cannot be added/removed here. Please go to the official Facepunch Commits site to do this.
Public Commit
Member Avatar
Felix13/01/202602:22:25
rust_reboot/main/indirect_instancing (#140700)

Fix culling volumes not working with Indirect Instancing by allowing to inject culling decisions from gameplay code. (pre_culled_mask)

0
0
Likes and dislikes cannot be added/removed here. Please go to the official Facepunch Commits site to do this.
Public Commit
Member Avatar
Felix07/01/202609:11:49
rust_reboot/main/indirect_instancing (#140395)

Fix deep sea island terrain not rendering properly when Indirect Instancing is enabled by not instancing all MeshTerrains for now.

0
0
Likes and dislikes cannot be added/removed here. Please go to the official Facepunch Commits site to do this.
Public Commit
Member Avatar
Felix07/01/202606:40:40
rust_reboot/main/indirect_instancing (#140394)

Fix command count mismatch error spam due to destroyed materials.

0
0
Likes and dislikes cannot be added/removed here. Please go to the official Facepunch Commits site to do this.
Public Commit
Member Avatar
Felix07/01/202605:50:50
rust_reboot/main/indirect_instancing (#140392)

Fix a typo causing an access conflict between DamageTrackerRegionScanJob and TransformApplyJob

0
0
Likes and dislikes cannot be added/removed here. Please go to the official Facepunch Commits site to do this.
Public Commit
Member Avatar
Felix07/01/202602:49:52
rust_reboot/main/indirect_instancing (#140389)

Fix object popping caused by orphaned motion list entries in multiple ways: * Remove seq_nums from the motion list just before they are unassigned. This piggy-backs off the existing remove_queue to guarantee container safety when objects are destroyed at inconvienient times. No need for a separate motion_stop_queue. * Store parent entity for every InstancedLODComponent. When objects are returned to the pool they are unparented first, but they still need to know who their parent was so they can properly remove their seq_nums from that entity. Bonus: Fix some NREs when Indirect Instancing is disabled in the editor.

0
0
Likes and dislikes cannot be added/removed here. Please go to the official Facepunch Commits site to do this.
Public Commit
Member Avatar
Felix05/01/202603:08:44
rust_reboot/main/indirect_instancing (#140264)

rebase on main

0
0
Likes and dislikes cannot be added/removed here. Please go to the official Facepunch Commits site to do this.
Public Commit
Member Avatar
Felix19/12/202505:56:38
rust_reboot/main/indirect_instancing (#140186)

Keep Indirect Instancing disabled by default (until rare wrong object bug is fixed)

0
2
Likes and dislikes cannot be added/removed here. Please go to the official Facepunch Commits site to do this.
Public Commit
Member Avatar
Felix19/12/202505:52:36
rust_reboot/main/indirect_instancing (#140184)

rebase on main

2
2
Likes and dislikes cannot be added/removed here. Please go to the official Facepunch Commits site to do this.
Public Commit
Member Avatar
Felix19/12/202505:50:44
rust_reboot/main/indirect_instancing (#140183)

* Improve job scheduling to make leaving the job phase more robust through loading screens * Fix NRE when trying to remove instances before Indirect Instancing was initialised

2
2
Likes and dislikes cannot be added/removed here. Please go to the official Facepunch Commits site to do this.
Public Commit
Member Avatar
Felix19/12/202500:57:28
rust_reboot/main/indirect_instancing (#140178)

Remove unused field

1
1
Likes and dislikes cannot be added/removed here. Please go to the official Facepunch Commits site to do this.
Public Commit
Member Avatar
Felix18/12/202507:51:08
rust_reboot/main/indirect_instancing (#140112)

Fix server build

1
1
Likes and dislikes cannot be added/removed here. Please go to the official Facepunch Commits site to do this.
Public Commit
Member Avatar
Felix18/12/202506:54:10
rust_reboot/main/indirect_instancing (#140107)

rebase on main

2
0
Likes and dislikes cannot be added/removed here. Please go to the official Facepunch Commits site to do this.
Public Commit
Member Avatar
Felix18/12/202506:43:25
rust_reboot/main/indirect_instancing (#140106)

* Made switching Indirect Instancing at runtime more robust * Prevent some other possible exceptions * Avoid some unnecessary calls to MotionList

2
0
Likes and dislikes cannot be added/removed here. Please go to the official Facepunch Commits site to do this.
Public Commit
Member Avatar
Felix18/12/202505:20:20
rust_reboot/main/indirect_instancing (#140104)

* Renamed TransformMemory to MotionList (as it should be) * Use managed HashSet instead of NativeHashSet because there seems to be no performance benefit to using native at the moment. * Fixed exception caused by removing elements from the set while iterating

1
1
Likes and dislikes cannot be added/removed here. Please go to the official Facepunch Commits site to do this.
Public Commit
Member Avatar
Felix18/12/202504:00:59
rust_reboot/main/indirect_instancing (#140103)

Use negative handles for fallback memory

1
0
Likes and dislikes cannot be added/removed here. Please go to the official Facepunch Commits site to do this.
Public Commit
Member Avatar
Felix18/12/202503:40:07
rust_reboot/main/indirect_instancing (#140101)

Remove InstanceHandle and use a simple integer instead

1
0
Likes and dislikes cannot be added/removed here. Please go to the official Facepunch Commits site to do this.
Public Commit
Member Avatar
Felix18/12/202503:30:58
rust_reboot/main/indirect_instancing (#140100)

* Added generic NativeMultiList to replace InstanceHandleList (WIP) * Store Transform.InstanceIDs (and actual nullable Transform references) in PerInstanceMemory, indexed by seq_num * Simplified MotionList add/removal procedures to HashSet operations * Cleared up function naming in BaseEntity.Client.Motion.cs * Consider all entities as a potential motion parent and utilise existing parent/child relations to call MotionStart / MotionStop * Removed IMotionParent interface because it caused more confusion than anything else * Correctly dispose of the hash set storing child instances when an entity is destroyed

1
0
Likes and dislikes cannot be added/removed here. Please go to the official Facepunch Commits site to do this.
Public Commit
Member Avatar
Felix16/12/202509:09:42
rust_reboot/main/indirect_instancing (#139964)

(WIP) Large refactor: Make BaseEntity responsible for calling StartMotion / StopMotion with (potentially) a single array of numbers to mitigate spikes when large entities set into motion.

0
1
Likes and dislikes cannot be added/removed here. Please go to the official Facepunch Commits site to do this.
Public Commit
Member Avatar
Felix15/12/202523:17:14
rust_reboot/main/indirect_instancing (#139938)

* Make instances identifiable by a single never changing integer * Speed up adding/removing instances by using various look up tables to find instances instead of staged linear searching

0
1
Likes and dislikes cannot be added/removed here. Please go to the official Facepunch Commits site to do this.
Public Commit
Member Avatar
Felix12/12/202506:19:25
rust_reboot/main/indirect_instancing (#139790)

Convert seq_num uint → int

0
1
Likes and dislikes cannot be added/removed here. Please go to the official Facepunch Commits site to do this.
Public Commit
Member Avatar
Felix12/12/202505:54:27
rust_reboot/main/indirect_instancing (#139789)

rebase on main

0
2
Likes and dislikes cannot be added/removed here. Please go to the official Facepunch Commits site to do this.
Public Commit
Member Avatar
Felix11/12/202504:40:49
rust_reboot/main/indirect_instancing (#139698)

Enable Indirect Instancing by default

1
1
Likes and dislikes cannot be added/removed here. Please go to the official Facepunch Commits site to do this.
Public Commit
Member Avatar
Felix11/12/202504:32:41
rust_reboot/main/indirect_instancing (#139696)

No longer restrict Indirect Instancing (`indirect_instancing.enabled`) to developer accounts. I'm looking at you, staging players. 👀

5
1
Likes and dislikes cannot be added/removed here. Please go to the official Facepunch Commits site to do this.
Public Commit
Member Avatar
Felix11/12/202504:23:41
rust_reboot/main/indirect_instancing (#139694)

Allow Indirect Instancing to be toggled in-game any time (Also correctly applies config value when in editor now)

0
1
Likes and dislikes cannot be added/removed here. Please go to the official Facepunch Commits site to do this.
Public Commit
Member Avatar
Felix10/12/202507:08:04
rust_reboot/main/indirect_instancing (#139625)

* Remove the need for HasValidMesh() on LOD components * Renamed a bunch of things for clarity

0
1
Likes and dislikes cannot be added/removed here. Please go to the official Facepunch Commits site to do this.
Public Commit
Member Avatar
Felix09/12/202523:08:54
rust_reboot/main/indirect_instancing (#139620)

rebase on main

0
1
Likes and dislikes cannot be added/removed here. Please go to the official Facepunch Commits site to do this.
Public Commit
Member Avatar
Felix09/12/202515:01:36
rust_reboot/main/indirect_instancing (#139580)

Disable Indirect Instancing by default to unblock editor issues (I'll be back)

0
1
Likes and dislikes cannot be added/removed here. Please go to the official Facepunch Commits site to do this.
Public Commit
Member Avatar
Felix07/12/202523:19:17
rust_reboot/main/indirect_instancing (#139488)

Remove wrong assertion

0
1
Likes and dislikes cannot be added/removed here. Please go to the official Facepunch Commits site to do this.
Public Commit
Member Avatar
Felix05/12/202510:49:47
rust_reboot/main/indirect_instancing (#139414)

merge from indirect_instancing

0
1
Likes and dislikes cannot be added/removed here. Please go to the official Facepunch Commits site to do this.
Public Commit
Member Avatar
Felix05/12/202504:11:09
rust_reboot/main/indirect_instancing (#139398)

* Moved fallback bounds transformation to a job * Removed old fallback culling code

0
1
Likes and dislikes cannot be added/removed here. Please go to the official Facepunch Commits site to do this.
Public Commit
Member Avatar
Felix05/12/202502:39:51
rust_reboot/main/indirect_instancing (#139395)

Cleanup: Remove old MotionList code

0
1
Likes and dislikes cannot be added/removed here. Please go to the official Facepunch Commits site to do this.
Public Commit
Member Avatar
Felix05/12/202502:14:39
rust_reboot/main/indirect_instancing (#139394)

* Fixed objects in fallback renderer not updating correctly when in motion. * Added profiler markers for draw call submission of instanced and fallback renderers. * Fixed streaming_use_mesh_uv_distribution_metrics not actually doing anything.

0
1
Likes and dislikes cannot be added/removed here. Please go to the official Facepunch Commits site to do this.
Public Commit
Member Avatar
Felix04/12/202507:13:32
rust_reboot/main/indirect_instancing (#139290)

Fix 2 NREs with Indirect Instancing enabled

0
1
Likes and dislikes cannot be added/removed here. Please go to the official Facepunch Commits site to do this.
Public Commit
Member Avatar
Felix04/12/202504:54:16
rust_reboot/main/indirect_instancing (#139289)

* Convert INDIRECT_INSTANCING_ON to a global keyword because it kind of is global * Make sure INDIRECT_INSTANCING_ON is always defined in the GCINCLUDE section (Fixes shipping containers) * Allow changing indirect_instancing.enabled at any time in the Editor (FIxes entering play mode with it enabled)

0
1
Likes and dislikes cannot be added/removed here. Please go to the official Facepunch Commits site to do this.
Public Commit
Member Avatar
Felix03/12/202507:49:06
rust_reboot/main/indirect_instancing (#139120)

Use LOD quality setting "Object Quality" in Indirect Instancing to more closely resemble the LOD switching behavior of the old system.

0
1
Likes and dislikes cannot be added/removed here. Please go to the official Facepunch Commits site to do this.
Public Commit
Member Avatar
Felix03/12/202506:23:46
rust_reboot/main/indirect_instancing (#139116)

Try skipping the extra pass to remove null transforms for an extra 0.2 ms (toggleable via ConVar)

0
0
Likes and dislikes cannot be added/removed here. Please go to the official Facepunch Commits site to do this.
Public Commit
Member Avatar
Felix03/12/202505:42:05
rust_reboot/main/indirect_instancing (#139115)

Perform application of the motion list transforms in a job for better performance

0
0
Likes and dislikes cannot be added/removed here. Please go to the official Facepunch Commits site to do this.
Public Commit
Member Avatar
Felix03/12/202503:05:32
rust_reboot/main/indirect_instancing (#139111)

Set new _INDIRECT_INSTANCING_ON keyword when Indirect Instancing is enabled

0
0
Likes and dislikes cannot be added/removed here. Please go to the official Facepunch Commits site to do this.
Public Commit
Member Avatar
Felix03/12/202502:30:36
rust_reboot/main/indirect_instancing (#139110)

Mark all Indirect Instancing ConVars as DeveloperOnly. Don't include DeveloperOnly commands in autocomplete.

0
0
Likes and dislikes cannot be added/removed here. Please go to the official Facepunch Commits site to do this.
Public Commit
Member Avatar
Felix03/12/202502:08:19
rust_reboot/main/indirect_instancing (#139108)

Merge from main (to pull in mac_foliage_tearing_fix)

0
0
Likes and dislikes cannot be added/removed here. Please go to the official Facepunch Commits site to do this.
Public Commit
Member Avatar
Felix03/12/202501:50:51
rust_reboot/main/indirect_instancing (#139105)

Rebase on /main

0
0
Likes and dislikes cannot be added/removed here. Please go to the official Facepunch Commits site to do this.
Public Commit
Member Avatar
Felix03/12/202501:02:56
rust_reboot/main/indirect_instancing (#139098)

* Fix randomly disappearing in-motion objects since switching to the new TransformMemory implementation. * Fix randomly disappearing stationary and in-motion objects in the deep sea. * Fix concurrent access exception when in-motion objects are destroyed.

0
0
Likes and dislikes cannot be added/removed here. Please go to the official Facepunch Commits site to do this.
Public Commit
Member Avatar
Felix01/12/202523:43:37
rust_reboot/main/indirect_instancing (#138901)

Rebase on /main

0
0
Likes and dislikes cannot be added/removed here. Please go to the official Facepunch Commits site to do this.
Public Commit
Member Avatar
Felix01/12/202523:40:20
rust_reboot/main/indirect_instancing (#138900)

add some more debug info to TransformMemory

0
0
Likes and dislikes cannot be added/removed here. Please go to the official Facepunch Commits site to do this.
Public Commit
Rust Utility Hub - Commits - main/indirect_instancing