From ca93e69b1963ea1dc9ba397236384bd615123ae2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tam=C3=A1s=20B=C3=A1lint=20Misius?= Date: Thu, 22 Dec 2022 17:29:10 +0100 Subject: [PATCH] UpdateParticles takes a range that is inclusive on both ends --- src/debug/ParticleDebug.cpp | 4 ++-- src/gui/game/GameController.cpp | 2 +- src/gui/game/GameModel.cpp | 2 +- src/simulation/Simulation.h | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/debug/ParticleDebug.cpp b/src/debug/ParticleDebug.cpp index ed92b7eb7..7d376dffd 100644 --- a/src/debug/ParticleDebug.cpp +++ b/src/debug/ParticleDebug.cpp @@ -34,7 +34,7 @@ void ParticleDebug::Debug(int mode, int x, int y) { if (x < 0 || x >= XRES || y < 0 || y >= YRES || !sim->pmap[y][x] || (i = ID(sim->pmap[y][x])) < debug_currentParticle) { - i = NPART; + i = NPART - 1; logmessage = String::Build("Updated particles from #", debug_currentParticle, " to end, updated sim"); } else @@ -88,7 +88,7 @@ bool ParticleDebug::KeyPress(int key, int scan, bool shift, bool ctrl, bool alt, return true; if (sim->debug_currentParticle > 0) { - sim->UpdateParticles(sim->debug_currentParticle, NPART); + sim->UpdateParticles(sim->debug_currentParticle, NPART - 1); sim->AfterSim(); String logmessage = String::Build("Updated particles from #", sim->debug_currentParticle, " to end, updated sim"); model->Log(logmessage, false); diff --git a/src/gui/game/GameController.cpp b/src/gui/game/GameController.cpp index 17854f3f2..3a1f1b469 100644 --- a/src/gui/game/GameController.cpp +++ b/src/gui/game/GameController.cpp @@ -891,7 +891,7 @@ void GameController::Update() sim->BeforeSim(); if (!sim->sys_pause || sim->framerender) { - sim->UpdateParticles(0, NPART); + sim->UpdateParticles(0, NPART - 1); sim->AfterSim(); } diff --git a/src/gui/game/GameModel.cpp b/src/gui/game/GameModel.cpp index 96e0d1be2..0fc6cfc8b 100644 --- a/src/gui/game/GameModel.cpp +++ b/src/gui/game/GameModel.cpp @@ -1236,7 +1236,7 @@ void GameModel::SetPaused(bool pauseState) if (!pauseState && sim->debug_currentParticle > 0) { String logmessage = String::Build("Updated particles from #", sim->debug_currentParticle, " to end due to unpause"); - sim->UpdateParticles(sim->debug_currentParticle, NPART); + sim->UpdateParticles(sim->debug_currentParticle, NPART - 1); sim->AfterSim(); sim->debug_currentParticle = 0; Log(logmessage, false); diff --git a/src/simulation/Simulation.h b/src/simulation/Simulation.h index 3671dfc31..6f8120408 100644 --- a/src/simulation/Simulation.h +++ b/src/simulation/Simulation.h @@ -162,7 +162,7 @@ public: void set_emap(int x, int y); int parts_avg(int ci, int ni, int t); void create_arc(int sx, int sy, int dx, int dy, int midpoints, int variance, int type, int flags); - void UpdateParticles(int start, int end); + void UpdateParticles(int start, int end); // range inclusive on both ends void SimulateGoL(); void RecalcFreeParticles(bool do_life_dec); void CheckStacking();