diff options
| author | Xavier Del Campo Romero <xavi.dcr@tutanota.com> | 2022-06-12 22:34:23 +0200 |
|---|---|---|
| committer | Xavier Del Campo Romero <xavi.dcr@tutanota.com> | 2022-06-12 23:18:57 +0200 |
| commit | 5226dc466354cd15dd50b3c11660db7cb38eabed (patch) | |
| tree | a885b4af03b88cb08709f87a1bb643241c505616 /src/camera/inc | |
| parent | b2af4c6bccc4263e5c7aa96efd0f94e1b7a38231 (diff) | |
| download | jancity-5226dc466354cd15dd50b3c11660db7cb38eabed.tar.gz | |
Split peripheral-related logic into its own component
This has several advantages:
- `camera` no longer needs to define public functions for each
peripheral type.
- Peripheral-related is now no longer tighly coupled to human_player,
so peripheral logic can be reused elsewhere e.g.: on menus.
- Makes camera_update_touch consistent compared to equivalent functions,
since now `pan` has now been moved to `camera` (as it should be).
Diffstat (limited to 'src/camera/inc')
| -rw-r--r-- | src/camera/inc/camera.h | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/camera/inc/camera.h b/src/camera/inc/camera.h index 93ad740..8356bd8 100644 --- a/src/camera/inc/camera.h +++ b/src/camera/inc/camera.h @@ -3,6 +3,7 @@ #include <mouse.h> #include <pad.h> +#include <peripheral.h> #include <util.h> #include <stdbool.h> @@ -15,6 +16,7 @@ struct camera { int x, y, x_speed, y_speed; unsigned int xt, yt; + bool pan; struct cursor { @@ -33,9 +35,7 @@ struct camera extern struct sprite cursor_sprite; -void camera_update_pad(struct camera *cam, const struct pad *p); -void camera_update_mouse(struct camera *cam, const struct mouse *m); -bool camera_update_touch(struct camera *cam, const struct mouse *m); +void camera_update(struct camera *cam, const union peripheral *p); bool camera_translate(const struct camera *cam, const struct util_rect *dim, short *x, short *y); void cursor_init(struct cursor *c); bool cursor_collision(const struct camera *cam, const struct util_rect *d); |
