First of all, thank you all for your support.
In a few gamedev discords, some people were confused on how the engine is modular, if only SDL2 is available, so after an intense weekend I was able to add raylib as a new module for the engine. Although not fully functional, the new folder is available on our github page here.
Why Raylib as 1st new module?
Raylib is quite similar in the direction of SDL2,with cross-platform being the one of it’s best features. On it’s site you can see it works on Raspberry Pi, Windows, Mac, Linux, Android, HTML5 and more. Here is a list of things raylib supports which will be nice to include in the general engine as well as editor:
-3D support, models, textures, cameras, animations, etc
-Shader support, beautiful effects on ther way.
-Faster geometry rendering, currently there is no preloading of shapes in the module.
It was a bit difficult to include raylib on CodeBlocks 17.x, so I ended up updating to 20.03, so a more in depth guide will be listed on the website/documentation.
As with any module, there is no need to actually know any function or variable within the module, but you can access the module’s code. Below is the little changes in code needed to use the raylib module instead of the SDL2 module.
Of course at the end of the gameloop we must also quit raylib, but that’s it. Raylib and SDL2 module users may notice a few differences in rendering at the beginning, but the goal is to minimize these differences as much as possible.
Project differences between modules?
At the moment the SDL2 module will be for only 2D games, so I will be adding a project view type to go from “2D only, “2.5D capable” and “3D capable” project and go about creating a different program per module. When loading a “2.5D or 3D capable” project into the SDL2 made editor, a warning will pop up that raylib or another “2.5D or 3D capable” module is needed to fully edit and view the project. This will not be immediate, as the goal is to just make 2D games until 2022, but building the foundation for 2.5D and 3D this year is key for design purposes.
Changes to gpe base classes
Final note, due to how raylib “plays with” windows.h, I’ve taken out any windows.h dependencies from editor, main base/classes and pawgui. I’ve made a new class to handle OS oriented functions. URL opening, file opening and file/directory creation. More information to come, but nothing too crazy.
Thank you all for your amazing support and it really means alot that during Black History month this project is really evolving.
Until next time.