Ernesto Lanchares
b1bd949db5
Refactored compilation and startup. Now everything is orchestrated through a simple API described in sideros_api.h. Also refactored some of the code to get rid of global C imports.
...
Signed-off-by: Lorenzo Torres <torres@sideros.org>
2025-08-05 20:16:39 +02:00
Lorenzo Torres
5b51a3d571
Implemented basic lighting!
2025-08-05 19:06:58 +02:00
luccie-cmd
83d91cfffe
Fixed the functions
2025-08-04 20:48:35 +02:00
luccie-cmd
6f942fe9c2
Add full support for globals
2025-08-04 19:33:05 +02:00
luccie-cmd
53eb24dc35
Comment main back out
2025-08-04 19:24:03 +02:00
luccie-cmd
94195fc774
Added support for global variables
2025-08-04 19:21:12 +02:00
Lorenzo Torres
1da655d164
Merge branch 'master' of ssh://git.sideros.org/git/sideros
2025-08-04 17:24:11 +02:00
Lorenzo Torres
dcb2ee0584
Added camera uniforms for projection and view matrix
2025-08-04 17:23:00 +02:00
luccie-cmd
baa3877f99
Commented out main stuff
2025-08-04 16:03:33 +02:00
luccie-cmd
e0d44a5f84
Added support for importing functions and begin working on a modding tools
2025-08-04 16:03:06 +02:00
Lorenzo Torres
59e3997056
Fixed gltf parser memory leak
2025-08-04 14:19:29 +02:00
Lorenzo Torres
a8071bd783
Made render a system again
2025-08-04 13:56:50 +02:00
Lorenzo Torres
933cf2f1f4
Removed unecessary Window struct
2025-08-04 13:43:09 +02:00
Lorenzo Torres
66a6dc33ec
Main loop now doesn't always wait for events
2025-08-04 13:41:38 +02:00
Lorenzo Torres
097a6a9b5c
Implemented Xorg initialization code
2025-08-04 02:46:36 +02:00
Lorenzo Torres
f894fb317d
Implemented wayland initialization code
2025-08-03 23:23:03 +02:00
luccie-cmd
139e5aacbc
Add parameter handling and remove redundant comments
2025-08-03 16:14:50 +02:00
Lorenzo Torres
a143b838fd
Moved all modules to the root module
2025-08-02 15:46:46 +02:00
Lorenzo Torres
e7e0927a83
Updated the source for master
2025-08-01 21:38:27 +02:00
Ernesto Lanchares
ecff349a31
Fixed memory leak in ECS.
2025-04-04 18:57:21 +02:00
Ernesto Lanchares
25e51f9aea
Modified how exports work and fixed memory leaks.
...
Now exports are already defined by the mods api
(something like preinit, init, preframe,
postframe, deinit should be enough functions). At
the moment we only support preinit function.
2025-04-04 18:34:58 +02:00
luccie-cmd
28420f53b0
Added executing of and
2025-03-30 15:00:17 +02:00
luccie-cmd
916115c7cd
Added parsing of and
2025-03-30 15:00:17 +02:00
Ernesto Lanchares
237ead3921
Fixed an error during ir parsing.
2025-03-30 14:36:51 +02:00
Lorenzo Torres
9ff5e811a8
Merge branch 'master' of ssh://git.sideros.org:/git/sideros
2025-03-29 21:20:16 +01:00
luccie-cmd
2dc07080dd
Add every single instruction prototype for WASM VM
2025-03-29 20:17:52 +01:00
Ernesto Lanchares
16343878cd
Started adding all of IR opcodes
2025-03-29 19:31:08 +01:00
Ernesto Lanchares
7023261320
Changed structs in the VM
2025-03-29 19:16:17 +01:00
Lorenzo Torres
16a2a40418
moved rendering to a system.
...
To ensure that the rendering system is being run in the main thread, I
added the concept of "Sync systems", so that when a system group is
created it's possible to specify whether it's possible to run it on a
separate thread or not.
2025-03-29 16:15:56 +01:00
Lorenzo Torres
fd7973173f
Added cursor input management
2025-03-29 14:51:31 +01:00
luccie-cmd
bffe814150
Added new main file
2025-03-28 20:04:51 +01:00
Lorenzo Torres
3bd394d6bc
fix Window.zig
2025-03-28 19:58:39 +01:00
Lorenzo Torres
669b8e5fee
Merge branch 'master' of ssh://git.sideros.org:/git/sideros
2025-03-28 19:57:19 +01:00
Lorenzo Torres
536c927613
Made ECS a separate module and implemented basic input handling.
2025-03-28 19:53:56 +01:00
luccie-cmd
7bf81854e2
Oopsies wrong main, fixed it now
2025-03-28 19:52:02 +01:00
luccie-cmd
8d39d3d4d0
Added executing of mod IR in the WASM VM
2025-03-28 19:48:15 +01:00
luccie-cmd
964c25a66c
Remove testing
2025-03-28 19:48:15 +01:00
Lorenzo Torres
64c9d32905
fix poll events for window module
2025-03-28 16:01:30 +01:00
Lorenzo Torres
ff84d6ac53
the ECS is now using a more data oriented approach.
...
By defining archetypes using SOAs (Zig has this data structure in `std`,
called std.MultiArrayList), the engine can iterate faster over commonly
defined entities avoiding cache misses since each component is aligned
with other components of the same entity.
2025-03-28 15:34:36 +01:00
Lorenzo Torres
11f6bc2b04
Merge branch 'master' of ssh://git.sideros.org:/git/sideros
2025-03-27 21:44:47 +01:00
Lorenzo Torres
1730f1e298
Made Renderer a separate module
2025-03-27 21:42:46 +01:00
Ernesto Lanchares
6fe4855a67
IR can now parse itself. :)
...
Now we have to reimplement the vm. :_)
2025-03-27 17:05:50 +01:00
Ernesto Lanchares
dd3dc54b05
Fixing format.
...
Should we run zig fmt as a prehook? or maybe after
pushing?
2025-03-27 17:04:49 +01:00
luccie-cmd
6271509f2a
Add testing for wasm VM
...
Signed-off-by: luccie-cmd <luccie@sideros.org>
2025-03-27 13:58:05 +01:00
luccie-cmd
1db7f9e506
Fix branching and VM
...
Signed-off-by: luccie-cmd <luccie@sideros.org>
2025-03-27 13:57:37 +01:00
luccie-cmd
bfe9fb5e63
Removed IR parsing and changed fatal bug of i64s being detected as i32s
...
Signed-off-by: luccie-cmd <luccie@sideros.org>
2025-03-27 13:56:37 +01:00
Ernesto Lanchares
09691ec4d9
Some progress on IR parsing.
...
Alhtough IR parsing is technically called while
parsing, since we lack the hability to parse
blocks or labels or if or any hard stuff really,
it does not affect code parsing. However it is
nice to have it there as zig compiles it :)
2025-03-24 22:38:12 +01:00
Lorenzo Torres
7cf43ccb8b
glTF models now take buffer lengths at runtime
2025-03-24 19:49:49 +01:00
Ernesto Lanchares
942bb3525d
Proposal for vector instructions IR
...
This proposal drops the memory alignment from u32
that is required by spec to a u16. But I think
u16 should be more than enough to represent any
real alignment.
Also this is closer to a custom asm than a IR but
whatever...
2025-03-24 19:41:17 +01:00
Lorenzo Torres
56559a9386
implemented glTF loading
2025-03-24 19:40:35 +01:00