Added physics module
Signed-off-by: Robear Selwans <robear.selwans@outlook.com>
This commit is contained in:
12
meson.build
12
meson.build
@@ -13,6 +13,9 @@ evmodglfw_dep = dependency('evmod_glfw')
|
|||||||
subproject('evmod_ecs')
|
subproject('evmod_ecs')
|
||||||
evmodecs_dep = dependency('evmod_ecs')
|
evmodecs_dep = dependency('evmod_ecs')
|
||||||
|
|
||||||
|
subproject('evmod_physics')
|
||||||
|
evmodphysics_dep = dependency('evmod_physics')
|
||||||
|
|
||||||
sandbox_incdir = []
|
sandbox_incdir = []
|
||||||
|
|
||||||
configure_file(input: 'config.lua', output: 'config.lua', copy: true)
|
configure_file(input: 'config.lua', output: 'config.lua', copy: true)
|
||||||
@@ -27,6 +30,14 @@ if build_machine.system() == 'windows'
|
|||||||
build_by_default: true,
|
build_by_default: true,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# flecs dll needs to be copied to root builddir
|
||||||
|
flecsdllcopy = custom_target(
|
||||||
|
'flecsDLLCopy',
|
||||||
|
output: 'flecsDLL',
|
||||||
|
command: ['powershell.exe', meson.current_source_dir() + '/buildscripts/flecsdllcopy.ps1', meson.project_build_root()],
|
||||||
|
build_by_default: true,
|
||||||
|
)
|
||||||
|
|
||||||
# lua dll only needs to be copied in the environment setup
|
# lua dll only needs to be copied in the environment setup
|
||||||
run_command('powershell.exe', meson.current_source_dir() + '/buildscripts/luadllcopy.ps1', meson.project_source_root(), meson.project_build_root())
|
run_command('powershell.exe', meson.current_source_dir() + '/buildscripts/luadllcopy.ps1', meson.project_source_root(), meson.project_build_root())
|
||||||
endif
|
endif
|
||||||
@@ -38,6 +49,7 @@ sandbox_exe = executable(
|
|||||||
evol_dep,
|
evol_dep,
|
||||||
evmodglfw_dep,
|
evmodglfw_dep,
|
||||||
evmodecs_dep,
|
evmodecs_dep,
|
||||||
|
evmodphysics_dep,
|
||||||
],
|
],
|
||||||
install : true,
|
install : true,
|
||||||
include_directories: sandbox_incdir,
|
include_directories: sandbox_incdir,
|
||||||
|
|||||||
20
src/main.c
20
src/main.c
@@ -2,21 +2,24 @@
|
|||||||
#include <evol/common/ev_log.h>
|
#include <evol/common/ev_log.h>
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
|
|
||||||
#define NAMESPACE_MODULE evmod_glfw
|
|
||||||
#include <evol/meta/namespace_import.h>
|
|
||||||
|
|
||||||
#define TYPE_MODULE evmod_glfw
|
#define TYPE_MODULE evmod_glfw
|
||||||
#include <evol/meta/type_import.h>
|
#include <evol/meta/type_import.h>
|
||||||
|
|
||||||
#define TYPE_MODULE evmod_ecs
|
#define TYPE_MODULE evmod_ecs
|
||||||
#include <evol/meta/type_import.h>
|
#include <evol/meta/type_import.h>
|
||||||
|
#define TYPE_MODULE evmod_physics
|
||||||
|
#include <evol/meta/type_import.h>
|
||||||
|
|
||||||
|
#define NAMESPACE_MODULE evmod_glfw
|
||||||
|
#include <evol/meta/namespace_import.h>
|
||||||
#define NAMESPACE_MODULE evmod_ecs
|
#define NAMESPACE_MODULE evmod_ecs
|
||||||
#include <evol/meta/namespace_import.h>
|
#include <evol/meta/namespace_import.h>
|
||||||
|
#define NAMESPACE_MODULE evmod_physics
|
||||||
|
#include <evol/meta/namespace_import.h>
|
||||||
|
|
||||||
#define IMPORT_NAMESPACES do { \
|
#define IMPORT_NAMESPACES do { \
|
||||||
IMPORT_NAMESPACE(ECS, ecs_module); \
|
IMPORT_NAMESPACE(ECS, ecs_module); \
|
||||||
IMPORT_NAMESPACE(Window, window_module); \
|
IMPORT_NAMESPACE(Window, window_module); \
|
||||||
|
IMPORT_NAMESPACE(Physics, physics_module); \
|
||||||
} while (0)
|
} while (0)
|
||||||
|
|
||||||
typedef struct Cmp1 {
|
typedef struct Cmp1 {
|
||||||
@@ -45,8 +48,9 @@ int main(int argc, char **argv)
|
|||||||
evol_parse_args(engine, argc, argv);
|
evol_parse_args(engine, argc, argv);
|
||||||
evol_init(engine);
|
evol_init(engine);
|
||||||
|
|
||||||
evolmodule_t window_module = evol_loadmodule("window"); DEBUG_ASSERT(window_module);
|
evolmodule_t window_module = evol_loadmodule("window"); DEBUG_ASSERT(window_module);
|
||||||
evolmodule_t ecs_module = evol_loadmodule("ecs"); DEBUG_ASSERT(ecs_module);
|
evolmodule_t ecs_module = evol_loadmodule("ecs"); DEBUG_ASSERT(ecs_module);
|
||||||
|
evolmodule_t physics_module = evol_loadmodule("physics"); DEBUG_ASSERT(physics_module);
|
||||||
|
|
||||||
IMPORT_NAMESPACES;
|
IMPORT_NAMESPACES;
|
||||||
|
|
||||||
@@ -72,12 +76,14 @@ int main(int argc, char **argv)
|
|||||||
|
|
||||||
bool result = 0;
|
bool result = 0;
|
||||||
while(true) {
|
while(true) {
|
||||||
result |= Window->update(0.0);
|
result |= Window->update(0.0);
|
||||||
result |= ECS->update(0.0);
|
result |= ECS->update(0.0);
|
||||||
|
result |= Physics->update(0.0);
|
||||||
|
|
||||||
if(result) break;
|
if(result) break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
evol_unloadmodule(physics_module);
|
||||||
evol_unloadmodule(ecs_module);
|
evol_unloadmodule(ecs_module);
|
||||||
evol_unloadmodule(window_module);
|
evol_unloadmodule(window_module);
|
||||||
evol_deinit(engine);
|
evol_deinit(engine);
|
||||||
|
|||||||
7
subprojects/evmod_physics.wrap
Normal file
7
subprojects/evmod_physics.wrap
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
[wrap-git]
|
||||||
|
directory = evmod_physics
|
||||||
|
url = https://github.com/evol3D/evol-mod-bullet3.git
|
||||||
|
revision = master
|
||||||
|
|
||||||
|
[provide]
|
||||||
|
dependency_names = evmod_physics
|
||||||
Reference in New Issue
Block a user