Skip to content

Commit d103d6a

Browse files
authored
Merge branch 'main' into 1237-implement-spring-constraint
2 parents 6629cd1 + e2526be commit d103d6a

79 files changed

Lines changed: 1948 additions & 232 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

CHANGELOG.md

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8-
## [Unreleased]
8+
## [v0.8.0] - 2025-08-15
99

1010
### Added
1111

@@ -20,6 +20,17 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
2020
- Constant trait handler to the ImGui inspector (#1507, **@RiscadoA**).
2121
- Toggle for matrix decomposition to the inspector (#1521, **@RiscadoA**).
2222
- Allow gizmos to be drawn for specific cameras (#1402, **@tomas7770**).
23+
- Named method for attributing a name to a plugin (#1556, **@mcanais**).
24+
- New quadrados create command to create assets based on templates (#1479, **@R-Camacho**).
25+
- Profiling timers in render plugins (#1560, **@tomas7770**).
26+
- Quaternion representation mode switch on the inspector (#1520, **@RiscadoA**).
27+
- Support for MaskTrait types in JSON (de)serializer (#1507, **@RiscadoA**).
28+
- Render timers in metrics panel (#1565, **@tomas7770**).
29+
- Custom module loader for lua scripts (#1517, **@mkuritsu**).
30+
- Added possibility of creating basic systems in lua scripts (#1518, **@mkuritsu**)
31+
- Sane default placement for tools in tesseratos (#1387, **@jdbaracho**).
32+
- Layout structure with loading and ImGui application (#1387, **@jdbaracho**).
33+
- Allow generating metas with random UUIDs through Quadrados (#1441, **@Fkatar**)
2334

2435
### Changed
2536

@@ -49,6 +60,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
4960
- Clear picker depth in Gizmos plugin if not already cleared (**@tomas7770**).
5061
- Only draw gizmos to active cameras (**@tomas7770**).
5162
- Transform Gizmos rendered in wrong location when splitting the screen (#1148, **@tomas7770**).
63+
- GL timer result always being 0 (#1486, **@tomas7770**).
64+
- Metrics being popped in the wrong order (**@tomas7770**).
65+
- Updated doctest version to fix build failures in cmake >= 4.0 (**@mkuritsu**).
5266

5367
## [v0.7.0] - 2025-05-03
5468

@@ -410,3 +424,4 @@ Although they've moved on, their work is etched into the project's foundations.
410424
[v0.5.0]: https://github.com/GameDevTecnico/cubos/releases/tag/v0.5.0
411425
[v0.6.0]: https://github.com/GameDevTecnico/cubos/releases/tag/v0.6.0
412426
[v0.7.0]: https://github.com/GameDevTecnico/cubos/releases/tag/v0.7.0
427+
[v0.8.0]: https://github.com/GameDevTecnico/cubos/releases/tag/v0.8.0

CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
# Cubos project root build configuration
33

44
cmake_minimum_required(VERSION 3.25.0)
5-
project(cubos VERSION 0.7.0)
5+
project(cubos VERSION 0.8.0)
66

77
include(GNUInstallDirs) # Get default install directories
88

@@ -149,7 +149,7 @@ include(FetchContent)
149149
FetchContent_Declare(
150150
doctest
151151
GIT_REPOSITORY https://github.com/doctest/doctest
152-
GIT_TAG v2.4.11
152+
GIT_TAG v2.4.12
153153
SYSTEM
154154
FIND_PACKAGE_ARGS
155155
)

bindings/lua/CMakeLists.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,9 @@ message("# Building cubos::bindings::lua samples " ${CUBOS_LUA_SAMPLES})
1010
# ----------------------- Define lua bindings source files -----------------------
1111

1212
set(LUA_BINDINGS_SOURCE
13+
"src/cubos.cpp"
1314
"src/plugin.cpp"
15+
"src/systems.cpp"
1416
)
1517

1618
# ------------------------ Configure lua bindings target -------------------------

bindings/lua/samples/CMakeLists.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,3 +52,5 @@ endfunction()
5252

5353
# Add samples
5454
make_sample(DIR "hello_world" ASSETS)
55+
make_sample(DIR "modules" ASSETS)
56+
make_sample(DIR "systems" ASSETS)
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
#include <cubos/bindings/lua/plugin.hpp>
2+
3+
#include <cubos/engine/prelude.hpp>
4+
#include <cubos/engine/settings/plugin.hpp>
5+
6+
using namespace cubos::engine;
7+
using namespace cubos::bindings::lua;
8+
9+
int main(int argc, char** argv)
10+
{
11+
Cubos cubos{argc, argv};
12+
13+
cubos.plugin(settingsPlugin);
14+
cubos.plugin(luaBindingsPlugin);
15+
16+
cubos.startupSystem("configure Assets").before(settingsTag).call([](Settings& settings) {
17+
settings.setString("scripts.lua.app.osPath", APP_SCRIPTS_PATH);
18+
});
19+
20+
cubos.run();
21+
return 0;
22+
}
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
print("Module 1 loaded")
2+
3+
function somefunc()
4+
print("Module 1 somefunc called")
5+
end
6+
7+
local utils = require("utils.utils")
8+
utils.someutils()
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
print("Module 2 loaded")
2+
3+
local mod1 = require("module1")
4+
mod1.somefunc()
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
print("Utils loaded!")
2+
3+
local utils = {}
4+
5+
function utils.someutils()
6+
print("Utils someutils called")
7+
end
8+
9+
return utils
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
#include <cubos/bindings/lua/plugin.hpp>
2+
3+
#include <cubos/engine/prelude.hpp>
4+
#include <cubos/engine/settings/plugin.hpp>
5+
6+
using namespace cubos::engine;
7+
using namespace cubos::bindings::lua;
8+
9+
int main(int argc, char** argv)
10+
{
11+
Cubos cubos{argc, argv};
12+
13+
cubos.plugin(settingsPlugin);
14+
cubos.plugin(luaBindingsPlugin);
15+
16+
cubos.startupSystem("set ShouldQuit to false").call([](ShouldQuit& quit) { quit.value = false; });
17+
18+
cubos.startupSystem("configure Assets").before(settingsTag).call([](Settings& settings) {
19+
settings.setString("scripts.lua.app.osPath", APP_SCRIPTS_PATH);
20+
});
21+
22+
cubos.run();
23+
return 0;
24+
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
local counter = 0
2+
3+
cubos.startupSystem("print startup"):call(function()
4+
print("Startup lua system called!")
5+
end)
6+
7+
cubos.system("inc counter"):call(function()
8+
counter = counter + 1
9+
if counter == 1000000 then
10+
print("Counter reached 1000000!")
11+
counter = 0
12+
end
13+
end)

0 commit comments

Comments
 (0)