From 849d278638769542a58b2b53f8c92f6045d135a0 Mon Sep 17 00:00:00 2001 From: Nic Gaffney Date: Wed, 12 Jun 2024 21:35:43 -0500 Subject: Particle amount now updates with slider --- src/main.zig | 10 ++++++++++ src/particle.zig | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/main.zig b/src/main.zig index 7d859fc..02830e5 100644 --- a/src/main.zig +++ b/src/main.zig @@ -36,6 +36,16 @@ pub fn main() !void { defer particles.deinit(gpa.allocator()); while (!rl.windowShouldClose()) { + if (particles.items(.x).len < cfg.particleCount) { + for (0..@intCast(cfg.particleCount - @as(i32, @intCast(particles.items(.x).len)))) |_| { + try particles.append(gpa.allocator(), part.createParticle()); + } + } + + if (particles.items(.x).len > cfg.particleCount) { + particles.shrinkRetainingCapacity(@intCast(cfg.particleCount)); + } + rl.beginDrawing(); defer rl.endDrawing(); if (rl.isKeyPressed(rl.KeyboardKey.key_q)) break; diff --git a/src/particle.zig b/src/particle.zig index 05ffb7f..00eace7 100644 --- a/src/particle.zig +++ b/src/particle.zig @@ -124,7 +124,7 @@ fn force(distance: f32, attraction: f32) f32 { return 0; } -fn createParticle() particle { +pub fn createParticle() particle { const seed = @as(u64, @truncate(@as(u128, @bitCast(std.time.nanoTimestamp())))); var prng = std.rand.DefaultPrng.init(seed); const x = prng.random().uintLessThan(u32, cfg.screenWidth); -- cgit v1.2.3