summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorilotterytea <iltsu@alright.party>2024-12-11 13:13:06 +0500
committerilotterytea <iltsu@alright.party>2024-12-11 13:13:06 +0500
commit0a9934c716a9e535dba0ec765dfaabbbb618c486 (patch)
treeba23c376a0a814b9ddca7b90478f7f352232853f
parentcf6f0f7038e7736f200f600c09f82ae350bc05b3 (diff)
upd: sort the stars by z position
-rw-r--r--src/main.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/main.c b/src/main.c
index 9a6f5a0..051519f 100644
--- a/src/main.c
+++ b/src/main.c
@@ -1,10 +1,16 @@
+#include <stdlib.h>
+
#include "constants.h"
#include "raylib.h"
#include "star.h"
#include "stdlib.h"
#include "time.h"
-int main(int argc, char *argv[]) {
+int CompareStarsByZPosition(const void* a, const void* b) {
+ return ((struct Star*)b)->position.z - ((struct Star*)a)->position.z;
+}
+
+int main(int argc, char* argv[]) {
bool mouse_control = false;
srand(time(0));
@@ -33,6 +39,9 @@ int main(int argc, char *argv[]) {
DrawText("hi world!", GetScreenWidth() / 2.0 - 16 * 4,
GetScreenHeight() / 2.0 - 16, 32, BLACK);
+ qsort(stars, sizeof(stars) / sizeof(stars[0]), sizeof(struct Star),
+ CompareStarsByZPosition);
+
for (int i = 0; i < sizeof(stars) / sizeof(stars[0]); i++) {
Star *star = &stars[i];
star->position.z -= star->velocity;