diff options
| author | Kai Stevenson <kai@kaistevenson.com> | 2026-08-27 00:51:54 -0700 |
|---|---|---|
| committer | Kai Stevenson <kai@kaistevenson.com> | 2026-08-27 00:51:54 -0700 |
| commit | 26913db66593b89707518956274c8eb881ca29ef (patch) | |
| tree | 07670df181eb09accce0e848eb2618c51847a6cd /src | |
| parent | 3c95b741b51dbba8fc93105760c4daa213a8f39e (diff) | |
snap sleeping entities
Diffstat (limited to 'src')
| -rw-r--r-- | src/renderer/mod.rs | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/src/renderer/mod.rs b/src/renderer/mod.rs index 364d000..a07bd5b 100644 --- a/src/renderer/mod.rs +++ b/src/renderer/mod.rs @@ -943,9 +943,23 @@ impl RendererState { && let Some(cells) = &entity.data.cells && let Some((pos, (cos, sin))) = entity.data._transform(&sim.rb_manager) { + // TODO access this better + let sleeping = sim + .rb_manager + .physics_manager + .world + .bodies + .get(entity.data.rb_h.unwrap()) + .unwrap() + .is_sleeping(); + entities += 1; instances.push(RendererInstance { - centre: pos.to_array(), + centre: if sleeping { + pos.round().to_array() + } else { + pos.to_array() + }, cos_sin: [cos, sin], half_size: (cells.size / 2).as_vec2().to_array(), dims: cells.size.as_uvec2().to_array(), |
