feat: collision functions added
This commit is contained in:
@@ -29,4 +29,16 @@ struct Str8 {
|
|||||||
U8 *data;
|
U8 *data;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
typedef struct V2f V2f;
|
||||||
|
struct V2f {
|
||||||
|
F32 x;
|
||||||
|
F32 y;
|
||||||
|
};
|
||||||
|
|
||||||
|
typedef struct V2i V2i;
|
||||||
|
struct V2i {
|
||||||
|
U32 x;
|
||||||
|
U32 y;
|
||||||
|
};
|
||||||
|
|
||||||
#endif // LD_CORE_TYPES_H_
|
#endif // LD_CORE_TYPES_H_
|
||||||
|
|||||||
@@ -3,6 +3,7 @@
|
|||||||
#include <SDL3/SDL.h>
|
#include <SDL3/SDL.h>
|
||||||
|
|
||||||
#include "core/core.h"
|
#include "core/core.h"
|
||||||
|
#include "core/types.h"
|
||||||
#include "os/core.h"
|
#include "os/core.h"
|
||||||
|
|
||||||
#include "vulkan/core.h"
|
#include "vulkan/core.h"
|
||||||
|
|||||||
17
code/game/aabb.h
Normal file
17
code/game/aabb.h
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
#if !defined(LD_CORE_AABB_H_)
|
||||||
|
#define LD_CORE_AABB_H_
|
||||||
|
#include "types.h"
|
||||||
|
#include "../core/macros.h"
|
||||||
|
|
||||||
|
|
||||||
|
typedef struct AABB AABB;
|
||||||
|
struct AABB {
|
||||||
|
V2f pos;
|
||||||
|
V2f size;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
function bool AABB_Collide(AABB a, AABB b);
|
||||||
|
function bool AABB_Point(AABB a, V2f v);
|
||||||
|
|
||||||
|
#endif // LD_CORE_AABB_H_
|
||||||
15
code/game/impl/aabb.c
Normal file
15
code/game/impl/aabb.c
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
#include "../aabb.h"
|
||||||
|
#include "../types.h"
|
||||||
|
|
||||||
|
bool AABB_Collide(AABB a, AABB b) {
|
||||||
|
bool collision_x = a.pos.x + a.size.x >= b.pos.x && b.pos.x + b.size.x >= a.pos.x;
|
||||||
|
bool collision_y = a.pos.y + a.size.x >= b.pos.y && b.pos.y + b.size.y >= a.pos.y;
|
||||||
|
return collision_x && collision_y;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool AABB_Point(AABB a, V2f v) {
|
||||||
|
bool collision_x = a.pos.x + a.size.x >= v.x && a.pos.x <= v.x;
|
||||||
|
bool collision_y = a.pos.x + a.size.y >= v.y && a.pos.y <= v.y;
|
||||||
|
return collision_x && collision_y;
|
||||||
|
}
|
||||||
|
|
||||||
Reference in New Issue
Block a user