diff --git a/_templates/raylib/empty/main.c b/_templates/raylib/empty/main.c index e79905d..8852748 100644 --- a/_templates/raylib/empty/main.c +++ b/_templates/raylib/empty/main.c @@ -1,7 +1,7 @@ #include int main(int argc, char **argv) { - InitWindow(__WINDOW_WIDTH, __WINDOW_HEIGHT, "__PROJECT_NAME"); + InitWindow(__WINDOW_WIDTH, __WINDOW_HEIGHT, "__PROJECT"); while (!WindowShouldClose()) { BeginDrawing(); diff --git a/vis/follow-mouse/.gitignore b/vis/follow-mouse/.gitignore new file mode 100644 index 0000000..62e27a5 --- /dev/null +++ b/vis/follow-mouse/.gitignore @@ -0,0 +1 @@ +follow-mouse diff --git a/vis/follow-mouse/Makefile b/vis/follow-mouse/Makefile new file mode 100644 index 0000000..8a36f9f --- /dev/null +++ b/vis/follow-mouse/Makefile @@ -0,0 +1,12 @@ +CFLAGS += -Wall -Wextra `exec pkg-config --cflags raylib` +LDFLAGS := -lm `pkg-config --libs raylib` + +follow-mouse: main.c + $(CC) $(CFLAGS) main.c $(LDFLAGS) -o follow-mouse + + +clean: + $(RM) follow-mouse + +run: follow-mouse + ./follow-mouse diff --git a/vis/follow-mouse/main.c b/vis/follow-mouse/main.c new file mode 100644 index 0000000..041388b --- /dev/null +++ b/vis/follow-mouse/main.c @@ -0,0 +1,35 @@ +// x-run: make run +#include +#include +#include + +#define TRAIL_LENGTH 360 + +int main(int argc, char **argv) { + SetConfigFlags(FLAG_WINDOW_RESIZABLE); + InitWindow(800, 600, "vis/follow-mouse"); + SetTargetFPS(120); + + Vector2 trail[TRAIL_LENGTH]; + Vector2 ex_trail[TRAIL_LENGTH]; + + Vector2 pos = { 0, 0 }; + + while (!WindowShouldClose()) { + BeginDrawing(); + ClearBackground(BLACK); + memmove(&trail[0], &trail[1], sizeof(Vector2) * (TRAIL_LENGTH - 1)); + trail[TRAIL_LENGTH - 1] = GetMousePosition(); + DrawLineStrip(trail, TRAIL_LENGTH, RED); + + pos = Vector2Lerp(pos, trail[TRAIL_LENGTH - 1], 0.125); + DrawCircleLines(pos.x, pos.y, 8, WHITE); + memmove(&ex_trail[0], &ex_trail[1], sizeof(Vector2) * (TRAIL_LENGTH - 1)); + ex_trail[TRAIL_LENGTH - 1] = pos; + + DrawLineStrip(ex_trail, TRAIL_LENGTH, GREEN); + + + EndDrawing(); + } +}