aboutsummaryrefslogtreecommitdiffstats
path: root/src/utils.c
diff options
context:
space:
mode:
authornathan <nathan@disroot.org>2025-07-30 06:40:46 +0000
committernathan <nathan@disroot.org>2025-07-30 06:40:46 +0000
commit384fa265c8493aff5f37921cf98034bb847915a2 (patch)
tree706c292f763402abd092bf28167a1595b95e09cc /src/utils.c
parent7faa1cbde913ad8c56bc43bc01512799d4cf6d02 (diff)
downloadFindThings-384fa265c8493aff5f37921cf98034bb847915a2.tar.gz
FindThings-384fa265c8493aff5f37921cf98034bb847915a2.tar.bz2
FindThings-384fa265c8493aff5f37921cf98034bb847915a2.zip
Working on pond generator
Diffstat (limited to 'src/utils.c')
-rw-r--r--src/utils.c36
1 files changed, 36 insertions, 0 deletions
diff --git a/src/utils.c b/src/utils.c
index 635a1f7..e49623c 100644
--- a/src/utils.c
+++ b/src/utils.c
@@ -1,3 +1,39 @@
#include "utils.h"
+#define RANDOM_DIRECTION_UNITS 4096
+
+Vector2 randomDirection2(int seed, int* nextSeed)
+{
+ Vector2 direction;
+ direction.x = FT_RANDOM16(seed) % RANDOM_DIRECTION_UNITS;
+ direction.y = FT_RANDOM16(seed) % RANDOM_DIRECTION_UNITS;
+ direction.x -= RANDOM_DIRECTION_UNITS / 2.0;
+ direction.y -= RANDOM_DIRECTION_UNITS / 2.0;
+
+ if (nextSeed != NULL)
+ {
+ *nextSeed = seed;
+ }
+
+ return Vector2Normalize(direction);
+}
+
+Vector3 randomDirection3(int seed, int* nextSeed)
+{
+ Vector3 direction;
+ direction.x = FT_RANDOM16(seed) % RANDOM_DIRECTION_UNITS;
+ direction.y = FT_RANDOM16(seed) % RANDOM_DIRECTION_UNITS;
+ direction.z = FT_RANDOM16(seed) % RANDOM_DIRECTION_UNITS;
+ direction.x -= RANDOM_DIRECTION_UNITS / 2.0;
+ direction.y -= RANDOM_DIRECTION_UNITS / 2.0;
+ direction.z -= RANDOM_DIRECTION_UNITS / 2.0;
+
+ if (nextSeed != NULL)
+ {
+ *nextSeed = seed;
+ }
+
+ return Vector3Normalize(direction);
+}
+
// Why does the universe feel strange to exist in?