#ifndef OBJECT_H
#define OBJECT_H

#include "GameTypes.h"

typedef struct Position Position;
typedef struct Object Object;
typedef struct Velocity Velocity;

struct Position
{
    u8 x;
    u8 y;
    u8 room;
};

struct Velocity
{
    i8 x;
    i8 y;
};

struct Object
{
    Position position;
    Position previousPosition;
    Velocity velocity;
    u8 direction;
    u8 width;
    u8 height;
};

// Tests if a stationary b object is overlapping with a stationary a object.
u8 testObjectIntersection(Object* a, Object* b);

// Tests if a moving b object is overlapping with a stationary a object.
u8 testObjectIntersectionBVelocity(Object* a, Object* b);

#endif