diff options
author | nathan <nathan@disroot.org> | 2025-07-30 06:40:46 +0000 |
---|---|---|
committer | nathan <nathan@disroot.org> | 2025-07-30 06:40:46 +0000 |
commit | 384fa265c8493aff5f37921cf98034bb847915a2 (patch) | |
tree | 706c292f763402abd092bf28167a1595b95e09cc /src/utils.c | |
parent | 7faa1cbde913ad8c56bc43bc01512799d4cf6d02 (diff) | |
download | FindThings-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.c | 36 |
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? |