summaryrefslogtreecommitdiff
path: root/libphysics/test
diff options
context:
space:
mode:
authoresquizo <esquizo+noreply@esquizo.net>2026-05-21 17:15:21 -0300
committeresquizo <esquizo+noreply@esquizo.net>2026-05-21 17:15:40 -0300
commit1047bed569232312619122f56ee4a6b2a323cc1c (patch)
tree205107433012bb44df614a59b03a82384ec13188 /libphysics/test
parentfb31105dcd1298c95d4a1eaf494c0aefa5e9be95 (diff)
libphysics: update de um tick
Diffstat (limited to 'libphysics/test')
-rw-r--r--libphysics/test/vis.c17
1 files changed, 12 insertions, 5 deletions
diff --git a/libphysics/test/vis.c b/libphysics/test/vis.c
index ad3cef8..30688df 100644
--- a/libphysics/test/vis.c
+++ b/libphysics/test/vis.c
@@ -7,7 +7,7 @@
#include "../dat.h"
-#define SBODY 256
+#define SBODY 2048
static void process_events(void);
static void render(void);
@@ -50,7 +50,7 @@ main()
phxsetpos(b, rand() % 800, rand() % 600);
phxsetsize(b, 5.0, 5.0);
- phxapplyaccel(b, (float[]){ 30000 * FLOAT_RAND, 30000 * FLOAT_RAND });
+ phxapplyaccel(b, (float[]){ (150 / PHX_TICK_TIME) * FLOAT_RAND, (150 / PHX_TICK_TIME) * FLOAT_RAND });
}
phxsetmap(8, 8, (int[]) {
@@ -74,9 +74,16 @@ main()
new_ticks = SDL_GetTicksNS();
delta = (new_ticks - old_ticks) / 1000000000.0;
old_ticks = new_ticks;
- phxtick(delta);
- while(phxnextcollevent(&event)) {
- printf("Collision with %d and %d\n", event.body1, event.body2);
+
+ static float accum = 0;
+
+ accum += delta;
+ while(accum >= PHX_TICK_TIME) {
+ phxfixtick();
+ while(phxnextcollevent(&event)) {
+ printf("Collision with %d and %d\n", event.body1, event.body2);
+ }
+ accum -= PHX_TICK_TIME;
}
render();