Compare commits

..

8 Commits

6 changed files with 15 additions and 16 deletions

View File

@ -13,7 +13,7 @@ This is a simple (read: incomplete) for-fun long-term project. I hope to get "mo
- [x] Affine Sprites
- [ ] Windowing (see [this branch](https://git.musuka.dev/paoda/zba/src/branch/window))
- [ ] Audio Resampler (Having issues with SDL2's)
- [ ] Immediate Mode GUI
- [x] Immediate Mode GUI (see [this branch](https://git.musuka.dev/paoda/zba/src/branch/imgui))
- [ ] Refactoring for easy-ish perf boosts
## Usage
@ -91,17 +91,17 @@ zig-datetime | <https://github.com/frmdstryr/zig-datetime>
`bitfields.zig` | [https://github.com/FlorenceOS/Florence](https://github.com/FlorenceOS/Florence/blob/aaa5a9e568/lib/util/bitfields.zig)
`gl.zig` | <https://github.com/MasterQ32/zig-opengl>
Use `git submodule update --init` from the project root to pull the git submodules `SDL.zig`, `zig-clap`, `known-folders`, `zig-toml` and `zig-datetime`
Use `git submodule update --init` from the project root to pull the git relevant git submodules
Be sure to provide SDL2 using:
- Linux: Your distro's package manager
- MacOS: ¯\\\_(ツ)_/¯
- MacOS: `brew` (install [this formula](https://formulae.brew.sh/formula/sdl2))
- Windows: [`vcpkg`](https://github.com/Microsoft/vcpkg) (install `sdl2:x64-windows`)
`SDL.zig` will provide a helpful compile error if the zig compiler is unable to find SDL2.
Once you've got all the dependencies, execute `zig build -Drelease-fast`. The executable is located at `zig-out/bin/`.
Once you've got all the dependencies, execute `zig build -Doptimize=ReleaseSafe`. The executable is located at `zig-out/bin/`.
## Controls

View File

@ -25,23 +25,22 @@ pub fn build(b: *std.build.Builder) void {
exe.setMainPkgPath("."); // Necessary so that src/main.zig can embed example.toml
// Known Folders (%APPDATA%, XDG, etc.)
exe.addPackagePath("known_folders", "lib/known-folders/known-folders.zig");
exe.addAnonymousModule("known_folders", .{ .source_file = .{ .path = "lib/known-folders/known-folders.zig" } });
// DateTime Library
exe.addPackagePath("datetime", "lib/zig-datetime/src/main.zig");
exe.addAnonymousModule("datetime", .{ .source_file = .{ .path = "lib/zig-datetime/src/main.zig" } });
// Bitfield type from FlorenceOS: https://github.com/FlorenceOS/
// exe.addPackage(.{ .name = "bitfield", .path = .{ .path = "lib/util/bitfield.zig" } });
exe.addPackagePath("bitfield", "lib/util/bitfield.zig");
exe.addAnonymousModule("bitfield", .{ .source_file = .{ .path = "lib/util/bitfield.zig" } });
// Argument Parsing Library
exe.addPackagePath("clap", "lib/zig-clap/clap.zig");
exe.addAnonymousModule("clap", .{ .source_file = .{ .path = "lib/zig-clap/clap.zig" } });
// TOML Library
exe.addPackagePath("toml", "lib/zig-toml/src/toml.zig");
exe.addAnonymousModule("toml", .{ .source_file = .{ .path = "lib/zig-toml/src/toml.zig" } });
// OpenGL 3.3 Bindings
exe.addPackagePath("gl", "lib/gl.zig");
exe.addAnonymousModule("gl", .{ .source_file = .{ .path = "lib/gl.zig" } });
// gdbstub
Gdbstub.link(exe);
@ -49,7 +48,7 @@ pub fn build(b: *std.build.Builder) void {
// Zig SDL Bindings: https://github.com/MasterQ32/SDL.zig
const sdk = Sdk.init(b, null);
sdk.link(exe, .dynamic);
exe.addPackage(sdk.getNativePackage("sdl2"));
exe.addModule("sdl2", sdk.getNativeModule());
exe.install();

@ -1 +1 @@
Subproject commit 59a458abd9220703ca4d8b7f99080780c61c2f8c
Subproject commit 6b33f1f4299ec8814e9fb3b206cda37791ced574

@ -1 +1 @@
Subproject commit 6b37490ac7285133bf09441850b8102c9728a776
Subproject commit 53fe3b676f32e59d46f4fd201d7ab200e5f6cb98

@ -1 +1 @@
Subproject commit d7b8d7acb15ce3518480c59218bf2c0a17fa529f
Subproject commit c1158b547e54d82f5ac7aba4cf372c6e061b1eab

@ -1 +1 @@
Subproject commit 6c9ca9025199b145c42a75d10cadb3f97879ee6d
Subproject commit 272d8e2088b2cae037349fb260dc05ec46bba422