32 lines
800 B
C
32 lines
800 B
C
#ifndef ENGINE_PHYSICS_H
|
|
#define ENGINE_PHYSICS_H
|
|
|
|
#include <raylib.h>
|
|
#include <stdbool.h>
|
|
|
|
typedef struct {
|
|
Vector2 position;
|
|
Vector2 direction;
|
|
Vector2 velocity;
|
|
float speed;
|
|
float weight;
|
|
} Physics;
|
|
|
|
typedef struct {
|
|
bool overlapping;
|
|
bool hasDirection;
|
|
Vector2 direction;
|
|
float overlap;
|
|
} CircleCollision;
|
|
|
|
void UpdatePhysicsDirection(Vector2 *direction, Vector2 vector);
|
|
void UpdatePhysicsVelocity(Vector2 *velocity, Vector2 *direction, float *speed);
|
|
void UpdatePhysicsPosition(Vector2 *position, Vector2 *velocity);
|
|
void UpdatePhysicsSpeed(float *speed, float *newSpeed);
|
|
void UpdatePhysics(Physics *physics, Vector2 direction);
|
|
float GetActualSpeed(Physics *physics);
|
|
|
|
CircleCollision CheckCircleCollision(Vector2 posA, float radiusA, Vector2 posB, float radiusB);
|
|
|
|
#endif
|