aboutsummaryrefslogtreecommitdiffstats
path: root/src/common.h
diff options
context:
space:
mode:
authorkotorifan <kotorifan05@gmail.com>2026-04-21 23:57:34 +0200
committerkotorifan <kotorifan05@gmail.com>2026-04-21 23:57:34 +0200
commitb40d44202ed0c79cbb769edba8de57412d07501a (patch)
tree00109eba9702b3d117ca9ea3fc9ff9163a3dabba /src/common.h
parenta2c8cd78cdb0532496ee6487878b7c52a782e871 (diff)
downloadtrashbinphysics-b40d44202ed0c79cbb769edba8de57412d07501a.tar.gz
Enough for today
Diffstat (limited to 'src/common.h')
-rw-r--r--src/common.h45
1 files changed, 30 insertions, 15 deletions
diff --git a/src/common.h b/src/common.h
index 2c43f90..b8fb306 100644
--- a/src/common.h
+++ b/src/common.h
@@ -3,7 +3,6 @@
#define COMMON_H
#include <stdint.h>
-
typedef uint_least8_t u8;
typedef int_least8_t i8;
typedef uint_least16_t u16;
@@ -11,6 +10,29 @@ typedef int_least16_t i16;
typedef uint_least32_t u32;
typedef int_least32_t i32;
+#define SHAPE_ENUM_SIZE 3
+typedef enum {
+ SHAPE_CIRCLE,
+ SHAPE_SQUARE,
+ SHAPE_RECTANGLE
+} shape_t;
+
+typedef struct {
+ Color color;
+ float elast;
+// Vector2 force;
+ float frict;
+ Vector2 pos;
+ Vector2 pos_prev;
+ Vector2 vel;
+ bool grabbed;
+ bool registered;
+ float mass;
+ float size_x;
+ float size_y;
+ shape_t obj_type;
+} object_t;
+
// settings
@@ -26,21 +48,14 @@ typedef int_least32_t i32;
#define ARR_LEN(arr) (sizeof(arr)/sizeof(arr[0]))
-typedef enum {
- SHAPE_CIRCLE,
- SHAPE_SQUARE,
- SHAPE_RECTANGLE
-} shape_t;
+#define RANDOM_SHAPE() ((shape_t)(GetRandomValue(0, SHAPE_ENUM_SIZE - 1)))
-shape_t get_random_shape(void)
-{
- shape_t valid_shapes[] = {
- SHAPE_CIRCLE,
- SHAPE_SQUARE,
- SHAPE_RECTANGLE
- };
+#define RANDOM_COLOR() ((Color) { \
+ GetRandomValue(0, 255), \
+ GetRandomValue(0, 255), \
+ GetRandomValue(0, 255), \
+ 255 \
+ })
- return valid_shapes(GetRandomValue(0, ARR(valid_shapes)));
-}
#endif // COMMON_H