aboutsummaryrefslogtreecommitdiffstats
path: root/src/utils.h
diff options
context:
space:
mode:
authornathan <nathansmith@disroot.org>2025-07-06 17:11:56 +0000
committernathan <nathansmith@disroot.org>2025-07-06 17:11:56 +0000
commit255c938a77f8a73229b1867aadd10f3bf9c44f2e (patch)
tree7972e9a81d5e1a221bb160c7d82397c80b07fac7 /src/utils.h
parentb00544e8f0e77c149d44dca3ab81d97a07fcea3f (diff)
downloadFindThings-255c938a77f8a73229b1867aadd10f3bf9c44f2e.tar.gz
FindThings-255c938a77f8a73229b1867aadd10f3bf9c44f2e.tar.bz2
FindThings-255c938a77f8a73229b1867aadd10f3bf9c44f2e.zip
Playing around with world generating a bit
Diffstat (limited to 'src/utils.h')
-rw-r--r--src/utils.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/utils.h b/src/utils.h
index db6f7a8..c165e2c 100644
--- a/src/utils.h
+++ b/src/utils.h
@@ -38,6 +38,10 @@ typedef enum FTError {
#define TOGGLE_BIT(b, n) (b ^ (0x1 << n))
#define HAS_FLAG(v, f) ((v & f) == f)
+// https://en.wikipedia.org/wiki/Linear_congruential_generator
+#define FT_RANDOM16(seed) (seed = (75 * seed + 74) % 65537)
+#define FT_RANDOM32(seed) (seed = (1664525 * seed + 1013904223) % 4294967296)
+
// Helpful for debugging
#define PRINT_VECTOR2(v) printf("%f %f\n", v.x, v.y)
#define PRINT_VECTOR3(v) printf("%f %f %f\n", v.x, v.y, v.z)