icfp11/src/control.c

44 lines
950 B
C
Raw Normal View History

2008-07-11 20:38:17 +00:00
#include "control.h"
2008-07-11 22:20:05 +00:00
static void telemetry_free(gpointer _te, gpointer x) {
telemetry *te = (telemetry*) _te;
2008-07-11 22:11:41 +00:00
UNUSED(x);
g_array_free(te->objects, TRUE);
2008-07-11 22:20:05 +00:00
g_slice_free(telemetry, te);
2008-07-11 22:11:41 +00:00
}
static telemetry* telemetry_new() {
telemetry *te = g_slice_new0(telemetry);
te->objects = g_array_new(FALSE, FALSE, sizeof(object));
return te;
}
trial *trial_new() {
trial *t = g_slice_new0(trial);
2008-07-11 22:20:05 +00:00
g_queue_init(&t->telemetry);
2008-07-11 22:11:41 +00:00
t->map.solid_objects = g_array_new(FALSE, FALSE, sizeof(object));
return t;
}
void trial_reset_run(trial *t) {
2008-07-11 22:20:05 +00:00
g_queue_foreach(&t->telemetry, telemetry_free, NULL);
g_queue_clear(&t->telemetry);
2008-07-11 22:11:41 +00:00
t->last_ts = 0;
}
void trial_wait_for_start(trial *t) {
}
void trial_check_input(trial *t) {
}
void trial_wait_for_input(trial *t) {
}
void trial_free(trial *t) {
2008-07-11 22:20:05 +00:00
g_queue_foreach(&t->telemetry, telemetry_free, NULL);
g_queue_clear(&t->telemetry);
2008-07-11 22:11:41 +00:00
g_array_free(t->map.solid_objects, TRUE);
2008-07-11 22:20:05 +00:00
g_slice_free(trial, t);
2008-07-11 22:11:41 +00:00
}