31 lines
865 B
C
31 lines
865 B
C
#include "entity_handler.h"
|
|
#include "world.h"
|
|
#include <bits/time.h>
|
|
#include <time.h>
|
|
#include <stdio.h>
|
|
|
|
void EntityListInit(entity_list* list) {
|
|
list->count = 0;
|
|
for(int i = 0; i < 256; i++) {
|
|
list->entities[i] = NULL;
|
|
}
|
|
clock_gettime(CLOCK_MONOTONIC, &list->start);
|
|
}
|
|
|
|
int EntityListUpdate(entity_list* list) {
|
|
|
|
clock_gettime(CLOCK_MONOTONIC, &list->current);
|
|
double elapsed = (list->current.tv_sec - list->start.tv_sec);
|
|
elapsed += (list->current.tv_nsec - list->start.tv_nsec) / 1000000000.0;
|
|
if(elapsed > 0.125/4) {
|
|
for(int i = 0; i < 256; i++) {
|
|
if(list->entities[i] != NULL) {
|
|
printf("running index %d\n", i);
|
|
list->entities[i]->callback.update(0,list->entities[i]);
|
|
}
|
|
}
|
|
clock_gettime(CLOCK_MONOTONIC, &list->start);
|
|
}
|
|
return 0;
|
|
}
|