libprimis
libprimis copied to clipboard
Libprimis: Imprimis' 3D destroyable world engine
If you attempt to `objload` something other than a valid file, the game segfaults. A stack trace is below: ``` vertcommands::settag (tagname=0x5555577c4238 "tag_muzzle", tx=0x7fffffffd3e0, ty=0x7fffffffd3f0, tz=, rx=, ry=0x7fffffffd420, rz=0x7fffffffd430) at...
These parameters called `gravity` are confusing as they invoke similarities to the global `gravity` var with which it does not relate. https://github.com/project-imprimis/libprimis/blob/66da336e8deee57857f19cada2693d1f1e72a257/src/engine/render/renderparticles.cpp#L1238-L1366 Replacing these instances with something like "partgravity" or...
Currently, when windowed, there seems to be no way to free the mouse without WM intervention (e.g. alt+tab as tested with Gnome). **Expected:** Whenever the mouse is not driving the...
The general g-buffer and lights rendering file `renderlights` is very long (5100 lines) and is not particularly atomic; functionality covered in this file includes: * ~~screenspace ambient occlusion~~ https://github.com/project-imprimis/libprimis/commit/a5edbdfb0b7ec6baac1380bb61a0c110309fa427 *...
The current standard libraries used in the engine are the C libraries, which are considered depreciated in C++.
Currently, spotlight entities use a planar map to store lighting information, with the map being oriented normal to the spotlight direction. This works fairly well for narrow beam spotlights, but...
The function `savec()`, which recursively saves cubes to a file in `worldio.cpp`, uses a set of internal flags which are defined ad-hoc. This should be replaced with an enumerator which...
There are many "helper" macros in octa.h that are quite simple to be converted to functions. This provides better compiler checking and clearer code (no implicit scope weirdness like macros...
Adopting `-Wextra` level compiler error checking improves clarity of parts of the code, particularly in catching functions which have arguments that do not get used among other things. Doing so...
`fun` is not a very good contraction of `function` and has meanings besides "function" for which it is *never* used as an abbreviation. More apt terms that unambiguously refer to...