diff options
| author | Nic Gaffney <gaffney_nic@protonmail.com> | 2024-06-12 21:35:43 -0500 | 
|---|---|---|
| committer | Nic Gaffney <gaffney_nic@protonmail.com> | 2024-06-12 21:35:43 -0500 | 
| commit | 849d278638769542a58b2b53f8c92f6045d135a0 (patch) | |
| tree | 7879d776b6272324e0e9b8af96f498947ee1314b /src | |
| parent | 4ef82b5d4ce1e7dc0f30672519310e81113e6fe7 (diff) | |
| download | particle-sim-849d278638769542a58b2b53f8c92f6045d135a0.tar.gz | |
Particle amount now updates with slider
Diffstat (limited to 'src')
| -rw-r--r-- | src/main.zig | 10 | ||||
| -rw-r--r-- | src/particle.zig | 2 | 
2 files changed, 11 insertions, 1 deletions
| 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); | 
