Fireset
Loading...
Searching...
No Matches
physics.h
1// Copyright (c) 2025-2026 Henrique Rodrigues Santos
2// Licensed under the MIT License
3// Github: https://github.com/saintsHr/Fireset
4
5#pragma once
6
7#include "fireset/render.h"
8#include "fireset/settings.h"
9
10#include <stdbool.h>
11
17
27
41
48typedef struct {
49 FsBody* bodies[PHYS_MAX_BODIES];
51
54} FsSpace;
55
67FsSpace fsSpaceCreate(FsVec2 gravity, FsVec2 damping);
68
80void fsSpaceAddBody(FsSpace* space, FsBody* body);
81
93void fsSpaceStep(FsSpace* space, float stepTime);
94
106bool fsIsQuadColiding(FsBody quad1, FsBody quad2);
107
void fsSpaceAddBody(FsSpace *space, FsBody *body)
Adds a body to a physics space.
Definition physics.c:22
bool fsIsQuadColiding(FsBody quad1, FsBody quad2)
Checks collision between two quad bodies.
Definition physics.c:62
FsBodyType
Physics body types.
Definition physics.h:23
FsSpace fsSpaceCreate(FsVec2 gravity, FsVec2 damping)
Creates a physics simulation space.
Definition physics.c:8
void fsSpaceStep(FsSpace *space, float stepTime)
Advances the physics simulation.
Definition physics.c:32
@ FS_BODY_CIRCLE
Definition physics.h:25
@ FS_BODY_QUAD
Definition physics.h:24
Physics body.
Definition physics.h:34
FsVec2 velocity
Definition physics.h:38
FsBodyType type
Definition physics.h:35
FsVec2 size
Definition physics.h:39
FsVec2 position
Definition physics.h:37
Physics simulation space.
Definition physics.h:48
FsVec2 gravity
Definition physics.h:52
FsVec2 damping
Definition physics.h:53
FsBody * bodies[PHYS_MAX_BODIES]
Definition physics.h:49
int bodyCount
Definition physics.h:50
2D vector.
Definition vector.h:18