Concept project which consists of Engine named Ren and Sandbox app.
- Installed visual studio with tools for C++ and C.
- Installed CMake
- Meson (install using Python's pip)
pip install meson
- Git (added to PATH)
git clone https://github.com/theretikgm/ProjectOnline
launch Windows Development command prompt in cloned project
meson setup build
meson compile -C build
compiled binary should be in build/src directory
git clone https://github.com/theretikgm/ProjectOnline
cd ProjectOnline
meson setup --buildtype=release build
meson compile -C build
- It is possible to generate VS project using meson, but it is not suited for development.
- I will have to create project files manually in the future ig.
- Install C++ and meson (from mesonbuild) extensions.
- Clone project
- Open project in VSCode
- Use meson tasks to configure, build and run code.
- Clone project
- run configure.bat or
meson setup build
command - Open
compile_commands.json
file (the one in project dir) as project using CLion.
- Review the event system, to support mouse offsetting and such
- Camera controller on entity
- Tilemap loading
- Text component
- Scene hiearchy
- Basic scene editing (far ahead)
- Basic networking
- Use EnTT groups instead of views
- Layout components / or library
- Lua
- Support for all components
- Box2D functions such as ApplyLinearImpulse
- Box2D collision callbacks
- Edit components of other entities
- Expose parameters of other types such as Vec2 (table)
- Somehow resolve the
undefined global
warning in lua script -
Lua basic parameter exposing -
Lua scripting beginning
-
Box2D Collision callbacks -
Box2D shape offsetting -
RigidBodyComponent support for multiple fixtures (and shapes). -
Scene serialization and de-serialization -
Layering system + event catching -
Proper log handling. -
Move function calls from REN_ASSERT (as they could get removed with some compilers). -
Sandbox -
Convert ScriptComponent::script to runtime polymorphic class (instead of entt::poly, which is inflexible for this use case) -
Add support for multiple tags on single TagComponent. -
Scene view shortcut -
Remove SDL_net dependency -
Camera implementation -
Fix KeyInterface (segfault on some keys. For ex. arrow keys). -
Proper comments on camera and renderer implementation. -
Freetype text rendering -
Box2D implementationkind of -
Centralized rendering -
Move GameCore.cpp, Layer.cpp, LayerStack.cpp into their corresponding subdirectories