#pragma once #include "defines.h" #define CONFIG_FILE_HEADER "Blackjack config file" #define CONFIG_FILE_VERSION 1 typedef struct { void (*callback)(GameState* game_state); void (*processing)( const GameState* game_state, Canvas* const canvas, uint32_t duration, uint32_t margin); void (*start)(GameState* game_state); void* next; uint32_t duration; uint32_t margin; } QueueItem; struct Vector { float x; float y; }; float lerp(float v0, float v1, float t); void queue( GameState* game_state, void (*callback)(GameState* game_state), void (*start)(GameState* game_state), void (*processing)( const GameState* gameState, Canvas* const canvas, uint32_t duration, uint32_t margin), uint32_t duration, uint32_t margin); bool run_queue(GameState* gameState); void animateQueue(const GameState* gameState, Canvas* const canvas); void queue_clear(); Vector lerp_2d(Vector start, Vector end, float t); Vector quadratic_2d(Vector start, Vector control, Vector end, float t); void save_settings(Settings settings); Settings load_settings();