Quick and dirty extraction of id-Tech3 Engine elements, so that they don't depend on anything other than the stdlib.
Mostly a sandbox for extracting elements to be implemented into id-Tech3+.
Code in that repo should be an overall better fit for any project, since its also made modular in nature.
Each individual module contains as few dependencies as possible.
This is so they can be integrated into a different project, or wrapped for usage in a different language.
The modules depend on the custom-named types file for readability, but that can easily be searched-replaced to revert them to std-only types if desired.
Done:
- Manual Memory Management System (Zone+Hunk allocation)
- BSP loading (full spec, including patches)
- Collision resolution system
- Simplified bbox-to-bsp solving code, with no dependencies and no loading
- Simplified bsp map loader (collision data, no patches), with no dependencies
TODO:
- Disconnect the collision system from memory allocation. Should take a pointer to the data as input instead.
- bbox-to-bsp only
- full bsp spec
- Disconnect BSP loading from memory allocation. Should return the data instead.
- simplified: collision, no patches
- full bsp spec, including patches