#include #include "camera.h" void init_camera(struct camera *cam) { cam->pos.x = cam->pos.y = 0; cam->speed.x = cam->speed.y = 0; cam->zoom = 1; cam->zoom_rate = 1; } void move_camera(struct camera *cam, const double time) { struct vector tmp; vector_scale(&cam->speed, time / cam->zoom, &tmp); vector_add(&cam->pos, &tmp, &cam->pos); cam->zoom *= pow(cam->zoom_rate, time); } void print_camera(const struct camera *cam) { printf("cam pos (%.2f, %.2f), speed (%.2f, %.2f), zoom (%.2f, %.2f)\n", cam->pos.x, cam->pos.y, cam->speed.x, cam->speed.y, cam->zoom, cam->zoom_rate); }