Skip to content

TheRetikGM/ProjectOnline

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ProjectOnline - temp name

Concept project which consists of Engine named Ren and Sandbox app.

your face after seeing this project

Docs

Windows build dependencies.

  • Installed visual studio with tools for C++ and C.
  • Installed CMake
  • Meson (install using Python's pip)
    • pip install meson
  • Git (added to PATH)

Build - Windows

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

Build - Linux

git clone https://github.com/theretikgm/ProjectOnline
cd ProjectOnline
meson setup --buildtype=release build
meson compile -C build

Windows coding environment setup (Visual Studio)

  • 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.

Windows coding environment setup (Visual Studio Code)

  • Install C++ and meson (from mesonbuild) extensions.
  • Clone project
  • Open project in VSCode
  • Use meson tasks to configure, build and run code.

Windows/Linux environment setup (CLion)

  • Clone project
  • run configure.bat or meson setup build command
  • Open compile_commands.json file (the one in project dir) as project using CLion.

TODO list

  • 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 implementation kind of
  • Centralized rendering
  • Move GameCore.cpp, Layer.cpp, LayerStack.cpp into their corresponding subdirectories

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published