#include #include "timer.h" #include "timer_renderer.h" #include "segment_renderer.h" #include "controller.h" //#include "scanner.h" #include "splits.h" #include #if defined(PLATFORM_DESKTOP) #define GLSL_VERSION 330 #else #define GLSL_VERSION 100 #endif //global variables int windowWidth = 420; int windowHeight = 640; int remote_state = 0; Font font; //testing control function void control(void) { static int last_state; if (last_state != remote_state) //ctrl_pause(&timer); //printf("%d, %d\n", last_state, remote_state); last_state = remote_state; } int main(int argc, char *argv[]) { //size of window can be determined by height of all components visible InitWindow(windowWidth, windowHeight, "Ghost"); SetTargetFPS(60); //use libxml or something segment_list segments = open_splits_file("test/splits.ghs"); GHTimer *timer = ghtimer_new(); //make a layout manager for these timer_renderer *tr = create_timer_renderer(timer, (Vector2){0.0f, 90.0f}, (Vector2){(float)windowWidth, (float)windowHeight/8}); segment_renderer *sr = create_segment_renderer(&segments, 0.0f, 0.0f); //layout manager Image blank = GenImageColor(windowWidth, windowHeight, BLANK); Texture2D texture = LoadTextureFromImage(blank); Shader shader = LoadShader(0, "shaders/frag.glsl"); UnloadImage(blank); set_segment_renderer_shader(sr, &shader); set_timer_shader(tr, &shader); ctrl_binder *cb = create_ctrl_binder(timer, &segments); ctrl_bind_timer_renderer(cb, tr); ctrl_bind_segment_renderer(cb, sr); font = LoadFontEx("/usr/share/fonts/CozetteVector.ttf", 400, 0, 0); GenTextureMipmaps(&font.texture); float fontSize = (float)font.baseSize; while (!WindowShouldClose()) { ghtimer_tick(timer); if (IsKeyPressed(KEY_P)) { ctrl_start(cb); } BeginDrawing(); //BeginShaderMode(shader); ClearBackground(BLACK); //DrawTexture(texture, 0, 0, WHITE); //EndShaderMode(); //need to make this not weird render_segments(sr); render_timer(tr); EndShaderMode(); EndDrawing(); } ghtimer_delete(timer); CloseWindow(); }