Mirai's Miscellaneous Misadventures
M26 / include / mimimi / controls.h
#ifndef MIMIMI_CONTROLS_H
#define MIMIMI_CONTROLS_H
struct mimimi_behavior;
struct mimimi_chapter;
struct mimimi_walk;
struct mimimi_allocator;
struct mimimi_physics;
struct mimimi_position;
struct mimimi_history
{
unsigned int left:16, right:16;
};
struct mimimi_controls
{
struct mimimi_behavior *jump;
};
struct mimimi_jump
{
int strength;
};
struct mimimi_dash
{
int x_strength;
int y_strength;
};
struct mimimi_behavior *mimimi_history(struct mimimi_history *history, struct mimimi_chapter *chapter, struct mimimi_allocator *allocator);
struct mimimi_behavior *mimimi_controls(struct mimimi_controls *controls, struct mimimi_walk *walk, struct mimimi_history *history, struct mimimi_allocator *allocator);
struct mimimi_behavior *mimimi_jump(struct mimimi_jump *jump, struct mimimi_physics *physics, struct mimimi_allocator *allocator);
struct mimimi_behavior *mimimi_dash(struct mimimi_dash *dash, struct mimimi_physics *physics, struct mimimi_walk *walk, struct mimimi_allocator *allocator);
struct mimimi_behavior *mimimi_stationary(int *direction, int *position, int *target, struct mimimi_allocator *allocator);
#endif