aboutsummaryrefslogtreecommitdiff
path: root/src/particle.zig
diff options
context:
space:
mode:
Diffstat (limited to 'src/particle.zig')
-rw-r--r--src/particle.zig11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/particle.zig b/src/particle.zig
index 14748dc..03de9ae 100644
--- a/src/particle.zig
+++ b/src/particle.zig
@@ -1,3 +1,4 @@
+const builtin = @import("builtin");
const cfg = @import("config.zig");
const std = @import("std");
const rl = @import("raylib");
@@ -24,12 +25,18 @@ pub fn initParticles(allocator: std.mem.Allocator, amnt: u32) !std.array_list.Ma
pub fn updateVelocities(
particles: std.array_list.Managed(particle),
qtree: quad.Quad(particle, cfg.quadSplitLimit),
- threadidx: u64,
+ threadidx: usize,
particlesInRange: *std.ArrayList(particle),
) !void {
const rules = cfg.rules;
var i = threadidx;
- while (i < particles.items.len) : (i += cfg.numThreads) {
+ while (i < particles.items.len) : (i += iterval: {
+ if (builtin.target.os.tag == .emscripten)
+ break :iterval 1
+ else
+ break :iterval cfg.numThreads;
+ }) {
+
var p: *particle = &(particles.items[i]);
defer particlesInRange.clearRetainingCapacity();
const radius = cfg.radius[p.colorId];