20 Commits
Author SHA1 Message Date
Ronald Caesar 28129be379 dashboard: generate lua ffi bindings for file dialog
I've added `tools/generate_ffi.lua` which generates lua ffi bindings
to C for all structs in a header file and functions in that have the
`BAL_EXPORT` keyword.

Right now only `tools/dashboard/dashboard_file_dialog.h` have ffi
bindings generated for it and saved to
`tools/dashboard/scripts/generated/dashboard_file_dialog_ffi.lua`.

The script only handles one header file at a time. Later on I will need
to add support for recursively scanning all header files in a folder
with options to exclude certain folders.

Signed-off-by: Ronald Caesar <github43132@proton.me>
2026-06-14 03:57:39 -04:00
Ronald Caesar a3b60d184d extern/luajit-imgui: link opengl on macos properly
LuaJIT ImGui is passing GL as the library to link against which is
incorrect on macOS who relies on "-framework OpenGL" instead.

Signed-off-by: Ronald Caesar <github43132@proton.me>
2026-06-11 18:27:44 -04:00
Ronald Caesar d345aa3cd7 extern/luajit: use .a libraries on macOS instead of .dylib
Looking at the macOS runner logs, its compiling LuaJIT libraries with
.a instead of .dylib.

Signed-off-by: Ronald Caesar <github43132@proton.me>
2026-06-11 18:06:02 -04:00
Ronald Caesar 23bd559e19 build: add minimum macos deployment target
This to allow LuaJIT to compile on macOS.

Signed-off-by: Ronald Caesar <github43132@proton.me>
2026-06-11 17:40:55 -04:00
Ronald Caesar 6f557fbafe extern/luajit-imgui: add abs(float) function
MSVC only supports abs(long). I needed to include <cmath> to support
abs(float)

Signed-off-by: Ronald Caesar <github43132@proton.me>
2026-06-11 15:25:28 -04:00
Ronald Caesar fe2334276b external/luajit: add 'luajit_exe' executable target
The luajit executable was never managed by cmake which is bad for
doctest since it needs the executable to run.

Signed-off-by: Ronald Caesar <github43132@proton.me>
2026-06-11 15:16:55 -04:00
Ronald Caesar b1294d877e extern/luajit-imgui: add missing include
Signed-off-by: Ronald Caesar <github43132@proton.me>
2026-06-11 14:20:12 -04:00
Ronald Caesar 5f0791e8b1 extern/luajit-imgui: add source code properly
This adds luajit-imgui without submodules.

Signed-off-by: Ronald Caesar <github43132@proton.me>
2026-06-11 14:12:55 -04:00
Ronald Caesar e06f6bd00e extern/luajit-imgui: remove git submodule
I'm re-adding this project without any git metadata to make my own
local changes.

Signed-off-by: Ronald Caesar <github43132@proton.me>
2026-06-11 14:02:04 -04:00
Ronald Caesar 48dc2ccbaf extern/luajit: readd luajit to fix compiler errors
So apperently running clang-format causes LuaJIT to fail compiling. Took
a couple hours to figure that one out. I disable clang-format on the
`extern` folder and re-add it.

Signed-off-by: Ronald Caesar <github43132@proton.me>
2026-06-11 11:41:48 -07:00
Ronald Caesar 3b58e8866e extern/luajit: add missing include header
CTypeID was missing when I tried to compile.

Signed-off-by: Ronald Caesar <github43132@proton.me>
2026-06-11 01:39:29 -04:00
Ronald Caesar 2eb94ac2aa extern/luajit: build LuaJIT from source
I really don't understand why they switch to a rolling release and
not ship binaries. Make things way more complicated than it needs
to be.

Signed-off-by: Ronald Caesar <github43132@proton.me>
2026-06-11 01:02:09 -04:00
Ronald Caesar c220e0ffc9 extern: pin luajit-imgui to commit a2c8a33652ea97181ea048f112eeaa407150326e
I'm re-adding the luajit-imgui submodule cause I fucked up the extern/
directory on my local machine.

Signed-off-by: Ronald Caesar <github43132@proton.me>
2026-06-10 23:41:28 -04:00
Ronald Caesar d13a4c34bc engine: fix some MSVC warnings
Compiling with MSVC still fails but I fixed some errors.

Signed-off-by: Ronald Caesar <github43132@proton.me>
2026-06-10 23:29:54 -04:00
Ronald Caesar a923e358d3 extern/luajit-imgui: add luajit-imgui to the source tree
Signed-off-by: Ronald Caesar <github43132@proton.me>
2026-06-08 09:07:11 -04:00
Ronald Caesar 8fda8a0ad2 extern/glfw: add glfw to source tree
Signed-off-by: Ronald Caesar <github43132@proton.me>
2026-06-07 20:27:40 -04:00
Ronald Caesar 63f2adf148 build: add luajit to the source tree
Signed-off-by: Ronald Caesar <github43132@proton.me>
2026-06-07 18:39:34 -04:00
Ronald Caesar 5e77a6ec44 extern/gtest: add gtest to the source tree
This is the Testing Suite Ballistic will use beacuse gtest compiles each
test as an individual executable, which is very usefull because of the
amount of logging Ballistic does.

Signed-off-by: Ronald Caesar <github43132@proton.me>
2026-04-10 15:36:49 -04:00
Ronald Caesar f5d7f6f9b4 extern/cmark: integrate cmark into ballistic
We manually compile CMark as a static library for Balllistic instead of
forcing users to install a niche dependancy to compile Ballistic.

Signed-off-by: Ronald Caesar <github43132@proton.me>
2026-03-02 09:07:58 +00:00
Ronald Caesar 9eb4e530c1 extern/cmark: add cmark source code
Creates `extern/` in the root directory with cmark source code in it.

Signed-off-by: Ronald Caesar <github43132@proton.me>
2026-02-28 22:20:04 +00:00