summaryrefslogtreecommitdiff
path: root/src/sim/materials/sand.rs
diff options
context:
space:
mode:
authorKai Stevenson <kai@kaistevenson.com>2026-08-11 20:41:41 -0700
committerKai Stevenson <kai@kaistevenson.com>2026-08-11 20:41:41 -0700
commit7ce9781f86c56f932dabc3bc84b8d21d7be8fecc (patch)
tree25bd371970910934a1957a09e2e84936021d73af /src/sim/materials/sand.rs
parent6f67586b8fc6efdb86d0c9a9744c546da97c4dab (diff)
refactor sim loop
Diffstat (limited to 'src/sim/materials/sand.rs')
-rw-r--r--src/sim/materials/sand.rs10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/sim/materials/sand.rs b/src/sim/materials/sand.rs
new file mode 100644
index 0000000..6a780f3
--- /dev/null
+++ b/src/sim/materials/sand.rs
@@ -0,0 +1,10 @@
+use crate::sim::sim::UpdateCtx;
+
+#[inline]
+pub fn sim_update(ctx: &mut UpdateCtx) {
+ ctx.candidates_swap(&[
+ (ctx.self_x, ctx.self_y + 1),
+ (ctx.self_x - 1 + 2 * ctx.seqno_parity as i32, ctx.self_y + 1),
+ (ctx.self_x + 1 - 2 * ctx.seqno_parity as i32, ctx.self_y + 1),
+ ]);
+}