update submodules, project compiles again

This commit is contained in:
matthew 2025-10-22 06:09:59 +11:00
parent aaa40d2017
commit 35985df611
11 changed files with 29 additions and 47 deletions

6
.gitmodules vendored
View File

@ -1,6 +1,6 @@
[submodule "src/VulkanRenderer"] [submodule "src/VulkanRenderer"]
path = src/VulkanRenderer path = src/VulkanRenderer
url = https://git.sleepy.day/sleepy-day/VulkanRenderer.git url = https://git.sleepy.day/sleepy-day/VulkanRenderer.git
[submodule "src/DLibs"] [submodule "src/dlib"]
path = src/DLibs path = src/dlib
url = https://git.sleepy.day/sleepy-day/DLibs.git url = https://git.sleepy.day/sleepy-day/dlib

View File

@ -28,4 +28,4 @@ done
/bin/bash src/VulkanRenderer/build.sh build /bin/bash src/VulkanRenderer/build.sh build
/bin/bash src/DLibs/build.sh build /bin/bash src/dlib/build.sh build

View File

@ -9,8 +9,8 @@
"targetPath": "build", "targetPath": "build",
"sourceFiles-linux": ["build/libvma.a", "build/libstb.a", "build/libm3d.a", "build/libcglm.a"], "sourceFiles-linux": ["build/libvma.a", "build/libstb.a", "build/libm3d.a", "build/libcglm.a"],
"sourceFiles-windows": [], "sourceFiles-windows": [],
"importPaths": ["src/gears", "src/DLibs", "src/DLibs/external/xxhash", "src/VulkanRenderer"], "importPaths": ["src/gears", "src/dlib", "src/dlib/external/xxhash", "src/VulkanRenderer"],
"sourcePaths": ["src/gears", "src/DLibs", "src/DLibs/external/xxhash", "src/VulkanRenderer"], "sourcePaths": ["src/gears", "src/dlib", "src/dlib/external/xxhash", "src/VulkanRenderer"],
"libs-linux": ["xcb", "X11", "X11-xcb", "vulkan", "stdc++", "xcb-xfixes", "freetype"], "libs-linux": ["xcb", "X11", "X11-xcb", "vulkan", "stdc++", "xcb-xfixes", "freetype"],
"libs-windows": [], "libs-windows": [],
"preGenerateCommands-linux": ["./build.sh"], "preGenerateCommands-linux": ["./build.sh"],

@ -1 +0,0 @@
Subproject commit 3c6d214aa7e3058f8de1a4ff380fd1bb8ce56036

@ -1 +1 @@
Subproject commit 7a10601f51b651db006de6d1c5cafb547f90dc87 Subproject commit 1290c5f45ac49cc5534817e8d6b0adae4ac058af

1
src/dlib Submodule

@ -0,0 +1 @@
Subproject commit a97309cb04e0e802047586a5bacbacc9b8e9649b

View File

@ -1,16 +1,9 @@
import aliases; import dlib;
import includes;
public import vulkan : PlatformHandles; public import vulkan : PlatformHandles;
import vulkan : Destroy; import vulkan : Destroy;
import vulkan; import vulkan;
import assets;
import util;
import alloc;
import platform;
import math;
import core.stdc.math : cosf, sinf; import core.stdc.math : cosf, sinf;
import std.algorithm.sorting; import std.algorithm.sorting;
import fonts;
import main; import main;
const UI_COUNT = 50000; const UI_COUNT = 50000;
@ -69,6 +62,7 @@ struct Game
Renderer rd; Renderer rd;
Arena arena; Arena arena;
Arena frame_arena; Arena frame_arena;
Inputs* inputs;
PlatformWindow* window; PlatformWindow* window;
@ -188,7 +182,7 @@ Copy(Model* dst, Model* src)
void void
ProcessInputs(Game* g, Camera* cam) ProcessInputs(Game* g, Camera* cam)
{ {
HandleInputs(cam, &g.window.inputs); HandleInputs(cam, g.inputs);
} }
void void
@ -285,9 +279,9 @@ struct Camera
pragma(inline): void pragma(inline): void
HandleInputs(Camera* cam, Inputs* inputs) HandleInputs(Camera* cam, Inputs* inputs)
{ {
foreach(i; 0 .. inputs.count) for(auto n = inputs.list.first; n != null; n = n.next)
{ {
InputEvent event = inputs.events[i]; InputEvent* event = &n.value;
switch(event.key) switch(event.key)
{ {
case Input.W: cam.velocity.z = event.pressed ? -1.0 : 0.0; break; case Input.W: cam.velocity.z = event.pressed ? -1.0 : 0.0; break;
@ -335,7 +329,7 @@ Update(Camera* cam)
void void
Sort(Game* g, Vec3 pos, Model* model) Sort(Game* g, Vec3 pos, Model* model)
{ {
f32[] lengths = AllocArray!(f32)(&g.frame_arena, model.positions.length); f32[] lengths = Alloc!(f32)(&g.frame_arena, model.positions.length);
foreach(i; 0 .. lengths.length) foreach(i; 0 .. lengths.length)
{ {
@ -434,8 +428,8 @@ LoadModel(Game* g, string name)
m3d_t* m3d = m3d_load(data.ptr, null, null, null); m3d_t* m3d = m3d_load(data.ptr, null, null, null);
scope(exit) m3d_free(m3d); scope(exit) m3d_free(m3d);
u32[] tex_lookup = AllocArray!(u32)(&g.frame_arena, m3d.numtexture); u32[] tex_lookup = Alloc!(u32)(&g.frame_arena, m3d.numtexture);
model.textures = AllocArray!(ImageView)(&g.arena, m3d.numtexture); model.textures = Alloc!(ImageView)(&g.arena, m3d.numtexture);
foreach(i; 0 .. m3d.numtexture) foreach(i; 0 .. m3d.numtexture)
{ {
u32 w = m3d.texture[i].w; u32 h = m3d.texture[i].h; u32 ch = m3d.texture[i].f; u32 w = m3d.texture[i].w; u32 h = m3d.texture[i].h; u32 ch = m3d.texture[i].f;
@ -447,9 +441,9 @@ LoadModel(Game* g, string name)
//tex_lookup[i] = Pop(&g.rd, DT.SampledImage); //tex_lookup[i] = Pop(&g.rd, DT.SampledImage);
} }
Material[] mats = AllocArray!(Material)(&g.frame_arena, m3d.nummaterial); Material[] mats = Alloc!(Material)(&g.frame_arena, m3d.nummaterial);
u32[] mat_lookup = AllocArray!(u32)(&g.frame_arena, m3d.nummaterial); u32[] mat_lookup = Alloc!(u32)(&g.frame_arena, m3d.nummaterial);
model.materials = AllocArray!(Buffer)(&g.arena, m3d.nummaterial); model.materials = Alloc!(Buffer)(&g.arena, m3d.nummaterial);
foreach(i; 0 .. m3d.nummaterial) foreach(i; 0 .. m3d.nummaterial)
{ {
const(char)[] mat_name = m3d.material[i].name[0 .. strlen(m3d.material[i].name)]; const(char)[] mat_name = m3d.material[i].name[0 .. strlen(m3d.material[i].name)];
@ -504,7 +498,7 @@ LoadModel(Game* g, string name)
} }
} }
model.parts = AllocArray!(MeshPart)(&g.arena, mesh_count); model.parts = Alloc!(MeshPart)(&g.arena, mesh_count);
last = u64.max; last = u64.max;
u32 index = 0; u32 index = 0;
foreach(i; 0 .. m3d.numface) foreach(i; 0 .. m3d.numface)
@ -535,10 +529,10 @@ LoadModel(Game* g, string name)
m3dv_t* vertex; m3dv_t* vertex;
u32[] indices = AllocArray!(u32)(&g.arena, m3d.numface * 3); u32[] indices = Alloc!(u32)(&g.arena, m3d.numface * 3);
Vertex[] vertices = AllocArray!(Vertex)(&g.frame_arena, m3d.numface * 3); Vertex[] vertices = Alloc!(Vertex)(&g.frame_arena, m3d.numface * 3);
Vec3[] positions = AllocArray!(Vec3)(&g.arena, m3d.numface); Vec3[] positions = Alloc!(Vec3)(&g.arena, m3d.numface);
u32[] pos_indices = AllocArray!(u32)(&g.arena, m3d.numface); u32[] pos_indices = Alloc!(u32)(&g.arena, m3d.numface);
foreach(i; 0 .. m3d.numface) foreach(i; 0 .. m3d.numface)
{ {

View File

@ -1,14 +1,9 @@
import includes; import dlib;
import std.stdio; import std.stdio;
import aliases;
import core.memory; import core.memory;
import platform;
import game; import game;
import util;
import core.simd; import core.simd;
import math;
import core.stdc.string : memcpy; import core.stdc.string : memcpy;
import fonts;
// TODO: // TODO:
// 1. Determine how to better handle inputs // 1. Determine how to better handle inputs
@ -25,7 +20,7 @@ void main(string[] argv)
while (true) while (true)
{ {
HandleEvents(&window); g.inputs = GetInputs(&window);
if (window.close) if (window.close)
{ {
break; break;

View File

@ -1,3 +1 @@
import aliases; import dlib;
import util;

View File

@ -1,11 +1,8 @@
import aliases; import dlib;
import includes;
import std.stdio; import std.stdio;
import std.string; import std.string;
import std.file; import std.file;
import util;
import std.path; import std.path;
import assets;
import std.traits; import std.traits;
import std.algorithm.comparison; import std.algorithm.comparison;
import core.memory; import core.memory;

View File

@ -1,10 +1,8 @@
import aliases; import dlib;
import util;
import std.math; import std.math;
import std.math.algebraic; import std.math.algebraic;
import core.stdc.math : tanf, cosf, sinf, sqrtf; import core.stdc.math : tanf, cosf, sinf, sqrtf;
import std.traits; import std.traits;
import inteli;
import std.meta; import std.meta;
import std.format; import std.format;
import std.stdio; import std.stdio;