From d871db2b2f440e09aa7cd0ea3d12ec18eb05dbe6 Mon Sep 17 00:00:00 2001 From: Pihkaal Date: Sat, 11 Apr 2026 18:33:11 +0200 Subject: [PATCH] refactor: restructure the project --- .gitignore | 1 + Makefile | 4 ++-- ada/Makefile | 6 ----- c/Makefile | 2 -- d/Makefile | 3 --- languages/ada/Makefile | 6 +++++ {ada => languages/ada}/ada_logo.png | Bin {ada => languages/ada}/main.adb | 0 languages/c/Makefile | 2 ++ {c => languages/c}/README.md | 0 {c => languages/c}/c_logo.png | Bin {c => languages/c}/main.c | 0 {csharp => languages/csharp}/Makefile | 0 {csharp => languages/csharp}/README.md | 0 {csharp => languages/csharp}/csharp_logo.png | Bin {csharp => languages/csharp}/main.cs | 2 +- languages/d/Makefile | 3 +++ {d => languages/d}/README.md | 0 {d => languages/d}/d_logo.png | Bin {d => languages/d}/main.d | 0 {go => languages/go}/Makefile | 0 {go => languages/go}/README.md | 0 {go => languages/go}/go_logo.png | Bin {go => languages/go}/main.go | 4 ++-- {odin => languages/odin}/Makefile | 0 {odin => languages/odin}/README.md | 0 {odin => languages/odin}/main.odin | 2 +- {odin => languages/odin}/odin_logo.png | Bin {python => languages/python}/README.md | 0 {python => languages/python}/main.py | 2 +- {python => languages/python}/python_logo.png | Bin languages/rust/Makefile | 2 ++ {rust => languages/rust}/README.md | 0 {rust => languages/rust}/main.rs | 0 {rust => languages/rust}/rust_logo.png | Bin languages/zig/Makefile | 2 ++ {zig => languages/zig}/README.md | 0 {zig => languages/zig}/main.zig | 0 {zig => languages/zig}/zig_logo.png | Bin rust/Makefile | 2 -- .../raylib-5.5_linux_amd64}/CHANGELOG | 0 .../raylib-5.5_linux_amd64}/LICENSE | 0 .../raylib-5.5_linux_amd64}/README.md | 0 .../raylib-5.5_linux_amd64}/include/raylib.h | 0 .../raylib-5.5_linux_amd64}/include/raymath.h | 0 .../raylib-5.5_linux_amd64}/include/rlgl.h | 0 .../raylib-5.5_linux_amd64}/lib/libraylib.a | Bin .../raylib-5.5_linux_amd64}/lib/libraylib.so | 0 .../lib/libraylib.so.5.5.0 | Bin .../lib/libraylib.so.550 | 0 {_tools => tools}/demo_gen.c | 21 ++---------------- zig/Makefile | 2 -- 52 files changed, 25 insertions(+), 41 deletions(-) delete mode 100644 ada/Makefile delete mode 100644 c/Makefile delete mode 100644 d/Makefile create mode 100644 languages/ada/Makefile rename {ada => languages/ada}/ada_logo.png (100%) rename {ada => languages/ada}/main.adb (100%) create mode 100644 languages/c/Makefile rename {c => languages/c}/README.md (100%) rename {c => languages/c}/c_logo.png (100%) rename {c => languages/c}/main.c (100%) rename {csharp => languages/csharp}/Makefile (100%) rename {csharp => languages/csharp}/README.md (100%) rename {csharp => languages/csharp}/csharp_logo.png (100%) rename {csharp => languages/csharp}/main.cs (97%) create mode 100644 languages/d/Makefile rename {d => languages/d}/README.md (100%) rename {d => languages/d}/d_logo.png (100%) rename {d => languages/d}/main.d (100%) rename {go => languages/go}/Makefile (100%) rename {go => languages/go}/README.md (100%) rename {go => languages/go}/go_logo.png (100%) rename {go => languages/go}/main.go (92%) rename {odin => languages/odin}/Makefile (100%) rename {odin => languages/odin}/README.md (100%) rename {odin => languages/odin}/main.odin (98%) rename {odin => languages/odin}/odin_logo.png (100%) rename {python => languages/python}/README.md (100%) rename {python => languages/python}/main.py (97%) rename {python => languages/python}/python_logo.png (100%) create mode 100644 languages/rust/Makefile rename {rust => languages/rust}/README.md (100%) rename {rust => languages/rust}/main.rs (100%) rename {rust => languages/rust}/rust_logo.png (100%) create mode 100644 languages/zig/Makefile rename {zig => languages/zig}/README.md (100%) rename {zig => languages/zig}/main.zig (100%) rename {zig => languages/zig}/zig_logo.png (100%) delete mode 100644 rust/Makefile rename {_raylib-5.5_linux_amd64 => third_party/raylib-5.5_linux_amd64}/CHANGELOG (100%) rename {_raylib-5.5_linux_amd64 => third_party/raylib-5.5_linux_amd64}/LICENSE (100%) rename {_raylib-5.5_linux_amd64 => third_party/raylib-5.5_linux_amd64}/README.md (100%) rename {_raylib-5.5_linux_amd64 => third_party/raylib-5.5_linux_amd64}/include/raylib.h (100%) rename {_raylib-5.5_linux_amd64 => third_party/raylib-5.5_linux_amd64}/include/raymath.h (100%) rename {_raylib-5.5_linux_amd64 => third_party/raylib-5.5_linux_amd64}/include/rlgl.h (100%) rename {_raylib-5.5_linux_amd64 => third_party/raylib-5.5_linux_amd64}/lib/libraylib.a (100%) rename {_raylib-5.5_linux_amd64 => third_party/raylib-5.5_linux_amd64}/lib/libraylib.so (100%) rename {_raylib-5.5_linux_amd64 => third_party/raylib-5.5_linux_amd64}/lib/libraylib.so.5.5.0 (100%) rename {_raylib-5.5_linux_amd64 => third_party/raylib-5.5_linux_amd64}/lib/libraylib.so.550 (100%) rename {_tools => tools}/demo_gen.c (86%) delete mode 100644 zig/Makefile diff --git a/.gitignore b/.gitignore index 7e5ac3e..edf0dec 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ **/raylib_* +**/demo.gif demo_gen diff --git a/Makefile b/Makefile index a1da26e..d2ac334 100644 --- a/Makefile +++ b/Makefile @@ -1,7 +1,7 @@ # used to generate the demos for all languages -demo_gen: _tools/demo_gen.c - gcc -Wall -Wextra -pedantic -I./_raylib-5.5_linux_amd64/include $^ -o $@ -L./_raylib-5.5_linux_amd64/lib -l:libraylib.a -lm +demo_gen: tools/demo_gen.c + gcc -Wall -Wextra -pedantic -I./third_party/raylib-5.5_linux_amd64/include $^ -o $@ -L./third_party/raylib-5.5_linux_amd64/lib -l:libraylib.a -lm .PHONY: run run: demo_gen diff --git a/ada/Makefile b/ada/Makefile deleted file mode 100644 index 3f7676a..0000000 --- a/ada/Makefile +++ /dev/null @@ -1,6 +0,0 @@ -raylib_ada: main.adb - gnatmake main.adb -o raylib_ada \ - -I../_raylib-5.5_linux_amd64/include \ - -largs ../_raylib-5.5_linux_amd64/lib/libraylib.a \ - -lm - rm -f main.ali main.o diff --git a/c/Makefile b/c/Makefile deleted file mode 100644 index 904699a..0000000 --- a/c/Makefile +++ /dev/null @@ -1,2 +0,0 @@ -raylib_c: main.c - gcc main.c -Wall -Wextra -Werror -pedantic -o raylib_c -I../_raylib-5.5_linux_amd64/include -L../_raylib-5.5_linux_amd64/lib -l:libraylib.a -lm \ No newline at end of file diff --git a/d/Makefile b/d/Makefile deleted file mode 100644 index e5bbd49..0000000 --- a/d/Makefile +++ /dev/null @@ -1,3 +0,0 @@ -raylib_d: main.d - dmd main.d -of=./raylib_d ../_raylib-5.5_linux_amd64/lib/libraylib.a - rm ./raylib_d.o \ No newline at end of file diff --git a/languages/ada/Makefile b/languages/ada/Makefile new file mode 100644 index 0000000..340c981 --- /dev/null +++ b/languages/ada/Makefile @@ -0,0 +1,6 @@ +raylib_ada: main.adb + gnatmake main.adb -o raylib_ada \ + -I../raylib-5.5_linux_amd64/include \ + -largs ../raylib-5.5_linux_amd64/lib/libraylib.a \ + -lm + rm -f main.ali main.o diff --git a/ada/ada_logo.png b/languages/ada/ada_logo.png similarity index 100% rename from ada/ada_logo.png rename to languages/ada/ada_logo.png diff --git a/ada/main.adb b/languages/ada/main.adb similarity index 100% rename from ada/main.adb rename to languages/ada/main.adb diff --git a/languages/c/Makefile b/languages/c/Makefile new file mode 100644 index 0000000..a11c028 --- /dev/null +++ b/languages/c/Makefile @@ -0,0 +1,2 @@ +raylib_c: main.c + gcc main.c -Wall -Wextra -Werror -pedantic -o raylib_c -I../raylib-5.5_linux_amd64/include -L../raylib-5.5_linux_amd64/lib -l:libraylib.a -lm \ No newline at end of file diff --git a/c/README.md b/languages/c/README.md similarity index 100% rename from c/README.md rename to languages/c/README.md diff --git a/c/c_logo.png b/languages/c/c_logo.png similarity index 100% rename from c/c_logo.png rename to languages/c/c_logo.png diff --git a/c/main.c b/languages/c/main.c similarity index 100% rename from c/main.c rename to languages/c/main.c diff --git a/csharp/Makefile b/languages/csharp/Makefile similarity index 100% rename from csharp/Makefile rename to languages/csharp/Makefile diff --git a/csharp/README.md b/languages/csharp/README.md similarity index 100% rename from csharp/README.md rename to languages/csharp/README.md diff --git a/csharp/csharp_logo.png b/languages/csharp/csharp_logo.png similarity index 100% rename from csharp/csharp_logo.png rename to languages/csharp/csharp_logo.png diff --git a/csharp/main.cs b/languages/csharp/main.cs similarity index 97% rename from csharp/main.cs rename to languages/csharp/main.cs index aff225e..6cb7f50 100644 --- a/csharp/main.cs +++ b/languages/csharp/main.cs @@ -39,7 +39,7 @@ static class Program public byte a; } - private const string RAYLIB = "../_raylib-5.5_linux_amd64/lib/libraylib.so"; + private const string RAYLIB = "../raylib-5.5_linux_amd64/lib/libraylib.so"; [DllImport(RAYLIB)] private static extern void InitWindow(int width, int height, string title); [DllImport(RAYLIB)] private static extern void CloseWindow(); diff --git a/languages/d/Makefile b/languages/d/Makefile new file mode 100644 index 0000000..54c348e --- /dev/null +++ b/languages/d/Makefile @@ -0,0 +1,3 @@ +raylib_d: main.d + dmd main.d -of=./raylib_d ../raylib-5.5_linux_amd64/lib/libraylib.a + rm ./raylib_d.o \ No newline at end of file diff --git a/d/README.md b/languages/d/README.md similarity index 100% rename from d/README.md rename to languages/d/README.md diff --git a/d/d_logo.png b/languages/d/d_logo.png similarity index 100% rename from d/d_logo.png rename to languages/d/d_logo.png diff --git a/d/main.d b/languages/d/main.d similarity index 100% rename from d/main.d rename to languages/d/main.d diff --git a/go/Makefile b/languages/go/Makefile similarity index 100% rename from go/Makefile rename to languages/go/Makefile diff --git a/go/README.md b/languages/go/README.md similarity index 100% rename from go/README.md rename to languages/go/README.md diff --git a/go/go_logo.png b/languages/go/go_logo.png similarity index 100% rename from go/go_logo.png rename to languages/go/go_logo.png diff --git a/go/main.go b/languages/go/main.go similarity index 92% rename from go/main.go rename to languages/go/main.go index e43b17e..f4ffc9c 100644 --- a/go/main.go +++ b/languages/go/main.go @@ -1,8 +1,8 @@ package main /* -#cgo CFLAGS: -I../_raylib-5.5_linux_amd64/include -#cgo LDFLAGS: -L../_raylib-5.5_linux_amd64/lib -l:libraylib.a -lm +#cgo CFLAGS: -I../raylib-5.5_linux_amd64/include +#cgo LDFLAGS: -L../raylib-5.5_linux_amd64/lib -l:libraylib.a -lm #include */ import "C" diff --git a/odin/Makefile b/languages/odin/Makefile similarity index 100% rename from odin/Makefile rename to languages/odin/Makefile diff --git a/odin/README.md b/languages/odin/README.md similarity index 100% rename from odin/README.md rename to languages/odin/README.md diff --git a/odin/main.odin b/languages/odin/main.odin similarity index 98% rename from odin/main.odin rename to languages/odin/main.odin index e697300..d7d49de 100644 --- a/odin/main.odin +++ b/languages/odin/main.odin @@ -3,7 +3,7 @@ package main import "core:time" foreign import raylib { - "../_raylib-5.5_linux_amd64/lib/libraylib.a", + "../raylib-5.5_linux_amd64/lib/libraylib.a", "system:m", } diff --git a/odin/odin_logo.png b/languages/odin/odin_logo.png similarity index 100% rename from odin/odin_logo.png rename to languages/odin/odin_logo.png diff --git a/python/README.md b/languages/python/README.md similarity index 100% rename from python/README.md rename to languages/python/README.md diff --git a/python/main.py b/languages/python/main.py similarity index 97% rename from python/main.py rename to languages/python/main.py index 0cb630f..dd34ea5 100644 --- a/python/main.py +++ b/languages/python/main.py @@ -1,7 +1,7 @@ from ctypes import * from time import time -rl = CDLL("../_raylib-5.5_linux_amd64/lib/libraylib.so") +rl = CDLL("../raylib-5.5_linux_amd64/lib/libraylib.so") class Image(Structure): _fields_ = [ diff --git a/python/python_logo.png b/languages/python/python_logo.png similarity index 100% rename from python/python_logo.png rename to languages/python/python_logo.png diff --git a/languages/rust/Makefile b/languages/rust/Makefile new file mode 100644 index 0000000..e7221fc --- /dev/null +++ b/languages/rust/Makefile @@ -0,0 +1,2 @@ +raylib_rust: main.rs + rustc --edition 2021 main.rs -C link-args="-L ../raylib-5.5_linux_amd64/lib -l:libraylib.a -lm" -o raylib_rust \ No newline at end of file diff --git a/rust/README.md b/languages/rust/README.md similarity index 100% rename from rust/README.md rename to languages/rust/README.md diff --git a/rust/main.rs b/languages/rust/main.rs similarity index 100% rename from rust/main.rs rename to languages/rust/main.rs diff --git a/rust/rust_logo.png b/languages/rust/rust_logo.png similarity index 100% rename from rust/rust_logo.png rename to languages/rust/rust_logo.png diff --git a/languages/zig/Makefile b/languages/zig/Makefile new file mode 100644 index 0000000..6e3320b --- /dev/null +++ b/languages/zig/Makefile @@ -0,0 +1,2 @@ +raylib_zig: main.zig + zig build-exe main.zig -I../raylib-5.5_linux_amd64/include ../raylib-5.5_linux_amd64/lib/libraylib.a -lm -femit-bin=raylib_zig diff --git a/zig/README.md b/languages/zig/README.md similarity index 100% rename from zig/README.md rename to languages/zig/README.md diff --git a/zig/main.zig b/languages/zig/main.zig similarity index 100% rename from zig/main.zig rename to languages/zig/main.zig diff --git a/zig/zig_logo.png b/languages/zig/zig_logo.png similarity index 100% rename from zig/zig_logo.png rename to languages/zig/zig_logo.png diff --git a/rust/Makefile b/rust/Makefile deleted file mode 100644 index c233bdc..0000000 --- a/rust/Makefile +++ /dev/null @@ -1,2 +0,0 @@ -raylib_rust: main.rs - rustc --edition 2021 main.rs -C link-args="-L ../_raylib-5.5_linux_amd64/lib -l:libraylib.a -lm" -o raylib_rust \ No newline at end of file diff --git a/_raylib-5.5_linux_amd64/CHANGELOG b/third_party/raylib-5.5_linux_amd64/CHANGELOG similarity index 100% rename from _raylib-5.5_linux_amd64/CHANGELOG rename to third_party/raylib-5.5_linux_amd64/CHANGELOG diff --git a/_raylib-5.5_linux_amd64/LICENSE b/third_party/raylib-5.5_linux_amd64/LICENSE similarity index 100% rename from _raylib-5.5_linux_amd64/LICENSE rename to third_party/raylib-5.5_linux_amd64/LICENSE diff --git a/_raylib-5.5_linux_amd64/README.md b/third_party/raylib-5.5_linux_amd64/README.md similarity index 100% rename from _raylib-5.5_linux_amd64/README.md rename to third_party/raylib-5.5_linux_amd64/README.md diff --git a/_raylib-5.5_linux_amd64/include/raylib.h b/third_party/raylib-5.5_linux_amd64/include/raylib.h similarity index 100% rename from _raylib-5.5_linux_amd64/include/raylib.h rename to third_party/raylib-5.5_linux_amd64/include/raylib.h diff --git a/_raylib-5.5_linux_amd64/include/raymath.h b/third_party/raylib-5.5_linux_amd64/include/raymath.h similarity index 100% rename from _raylib-5.5_linux_amd64/include/raymath.h rename to third_party/raylib-5.5_linux_amd64/include/raymath.h diff --git a/_raylib-5.5_linux_amd64/include/rlgl.h b/third_party/raylib-5.5_linux_amd64/include/rlgl.h similarity index 100% rename from _raylib-5.5_linux_amd64/include/rlgl.h rename to third_party/raylib-5.5_linux_amd64/include/rlgl.h diff --git a/_raylib-5.5_linux_amd64/lib/libraylib.a b/third_party/raylib-5.5_linux_amd64/lib/libraylib.a similarity index 100% rename from _raylib-5.5_linux_amd64/lib/libraylib.a rename to third_party/raylib-5.5_linux_amd64/lib/libraylib.a diff --git a/_raylib-5.5_linux_amd64/lib/libraylib.so b/third_party/raylib-5.5_linux_amd64/lib/libraylib.so similarity index 100% rename from _raylib-5.5_linux_amd64/lib/libraylib.so rename to third_party/raylib-5.5_linux_amd64/lib/libraylib.so diff --git a/_raylib-5.5_linux_amd64/lib/libraylib.so.5.5.0 b/third_party/raylib-5.5_linux_amd64/lib/libraylib.so.5.5.0 similarity index 100% rename from _raylib-5.5_linux_amd64/lib/libraylib.so.5.5.0 rename to third_party/raylib-5.5_linux_amd64/lib/libraylib.so.5.5.0 diff --git a/_raylib-5.5_linux_amd64/lib/libraylib.so.550 b/third_party/raylib-5.5_linux_amd64/lib/libraylib.so.550 similarity index 100% rename from _raylib-5.5_linux_amd64/lib/libraylib.so.550 rename to third_party/raylib-5.5_linux_amd64/lib/libraylib.so.550 diff --git a/_tools/demo_gen.c b/tools/demo_gen.c similarity index 86% rename from _tools/demo_gen.c rename to tools/demo_gen.c index 20176b8..d972b15 100644 --- a/_tools/demo_gen.c +++ b/tools/demo_gen.c @@ -102,25 +102,12 @@ static void generate_gif(const char *output_gif, const char **logo_paths, int lo system(TextFormat("rm -rf '%s'", tmpdir)); } -static void extract_dir(const char *logo_path, char *out, int maxlen) { - const char *slash = strchr(logo_path, '/'); - if (slash) { - int len = (int)(slash - logo_path); - if (len >= maxlen) len = maxlen - 1; - strncpy(out, logo_path, len); - out[len] = '\0'; - } else { - strncpy(out, logo_path, maxlen - 1); - out[maxlen - 1] = '\0'; - } -} - int main(void) { SetConfigFlags(FLAG_WINDOW_HIDDEN); InitWindow(WINDOW_WIDTH, WINDOW_HEIGHT, "demo_gen"); glob_t gl; - if (glob("*/*_logo.png", 0, NULL, &gl) != 0) { + if (glob("languages/*/*_logo.png", 0, NULL, &gl) != 0) { TraceLog(LOG_ERROR, "No logos found. Run from project root."); CloseWindow(); return 1; @@ -133,13 +120,9 @@ int main(void) { // generate languages/**/demo.gif for (size_t i = 0; i < gl.gl_pathc; i++) { - char dir[256]; - extract_dir(gl.gl_pathv[i], dir, sizeof(dir)); - const char *path = gl.gl_pathv[i]; - char* output_path = strdup(TextFormat("%s/demo.gif", dir)); + char *output_path = strdup(TextFormat("%s/demo.gif", GetDirectoryPath(path))); generate_gif(output_path, &path, 1, 9999.0f, 4); - free(output_path); } diff --git a/zig/Makefile b/zig/Makefile deleted file mode 100644 index 4fba023..0000000 --- a/zig/Makefile +++ /dev/null @@ -1,2 +0,0 @@ -raylib_zig: main.zig - zig build-exe main.zig -I../_raylib-5.5_linux_amd64/include ../_raylib-5.5_linux_amd64/lib/libraylib.a -lm -femit-bin=raylib_zig