From 97702f11ea016ca2e395f71f03c3fc3a2ee929ca Mon Sep 17 00:00:00 2001 From: esquizo Date: Sun, 17 May 2026 12:02:56 -0300 Subject: adicionado libphysics --- libphysics/event.c | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 libphysics/event.c (limited to 'libphysics/event.c') diff --git a/libphysics/event.c b/libphysics/event.c new file mode 100644 index 0000000..da836f6 --- /dev/null +++ b/libphysics/event.c @@ -0,0 +1,44 @@ +#include +#include +#include + +#include "dat.h" + +#define EVENT_POOL_SIZE 2048 + +static CollisionEvent event[EVENT_POOL_SIZE]; +static int eventi, evente, events; + +int +phxenqevent(CollisionEvent *ev) +{ + if(events == EVENT_POOL_SIZE) + return 0; + + event[evente] = *ev; + evente = (evente + 1) % EVENT_POOL_SIZE; + events++; + + return 1; +} + +int +phxdeqevent(CollisionEvent *ev) +{ + CollisionEvent *evv; + if(events == 0) + return 0; + + evv = event + eventi; + eventi = (eventi + 1) % EVENT_POOL_SIZE; + + *ev = *evv; + events--; + return 1; +} + +int +phxnextcollevent(CollisionEvent *ev) +{ + return phxdeqevent(ev); +} -- cgit v1.2.3