Mirai's Miscellaneous Misadventures

M34 / include / mimimi / controls.h

1// copyright 2022 zamfofex
2// license: AGPLv3 or later
3
4#ifndef MIMIMI_CONTROLS_H
5#define MIMIMI_CONTROLS_H
6
7struct mimimi_behavior;
8struct mimimi_chapter;
9struct mimimi_walk;
10struct mimimi_allocator;
11struct mimimi_physics;
12struct mimimi_position;
13
14struct mimimi_history
15{
16	unsigned int left:16, right:16;
17};
18
19struct mimimi_controls
20{
21	struct mimimi_behavior *jump;
22	unsigned char *awake;
23};
24
25struct mimimi_behavior *mimimi_history(struct mimimi_history *history, struct mimimi_chapter *chapter, struct mimimi_allocator *allocator);
26
27struct mimimi_behavior *mimimi_controls(struct mimimi_controls *controls, struct mimimi_walk *walk, struct mimimi_history *history, struct mimimi_allocator *allocator);
28struct mimimi_behavior *mimimi_stationary(int *direction, int *position, int *target, struct mimimi_allocator *allocator);
29
30#endif