]> git.itanic.dy.fi Git - sdl-planets/blob - camera.c
quadtree: Only use the validator when debugging is enabled
[sdl-planets] / camera.c
1 #include <stdio.h>
2
3 #include "camera.h"
4
5 void init_camera(struct camera *cam)
6 {
7         cam->pos.x   = cam->pos.y   = 0;
8         cam->speed.x = cam->speed.y = 0;
9         cam->zoom = 1;
10         cam->zoom_rate = 1;
11 }
12
13 void move_camera(struct camera *cam, const double time)
14 {
15         struct vector tmp;
16
17         vector_scale(&cam->speed, time / cam->zoom, &tmp);
18         vector_add(&cam->pos, &tmp, &cam->pos);
19
20         cam->zoom *= pow(cam->zoom_rate, time);
21 }
22
23 void print_camera(const struct camera *cam)
24 {
25         printf("cam pos (%.2f, %.2f), speed (%.2f, %.2f), zoom (%.2f, %.2f)\n",
26                cam->pos.x, cam->pos.y, cam->speed.x, cam->speed.y,
27                cam->zoom, cam->zoom_rate);
28 }