Open gongpha opened 11 months ago
That sounds like a smart way to separate the two. The only thing to consider perhaps is that taking QuakeC code and translating it might still mean that the generated code has to be GPL compliant, which makes it not MIT licence compliant, and at that point I will not touch it anymore :) since it will mean making custom games with this project (if GPL) will be a pain for selling on platforms like mobile and consoles etc...
The clip nodes collision, etc, can be included in the project AFAIK it's just reading BSP data, but the later part of including QuakeC translated code might be an issue, maybe there is a separate "quake loader" game folder which can be separately released under GPL?
Unless, your QuakeC converter translates in realtime/runtime? Then someone could either use the quake PAK data or write custom QuakeC that is not GPL as well?
The latter example is also clean-room implemented (including the converter too). The content from PAKs whether the maps, models, or codes are real-time converted and will never be uploaded to this repository.
Regardless of whether the game contents are official, fanmade, GPL licensed, or not. It probably wouldn't affect the project as they don't contain any proprietary content. But this also means that the example should be only used for trying out the gameplay. (Sounds like an indirect GPL ;) )
And, of course, I won't let my project becomes GPL. It has to be MIT forever.
If you manage to make a runtime QuakeC interpreter/translator that sounds awesome, it would open the door for running mods and custom maps people make! (Although personally I'd prefer to write GDScript for custom stuff because QuakeC is kind of lame :P )
I figured this out while working on #20
If I replace the player code that coded for normal collisions (BSP tree, collisions from MAP file, or
-wrbrushes
) with the other one that used a point as a shape that coded for clips, it might not work well for people who will use it for custom games, so I think we should separate the Quake1 example from the original I created specifically to view maps. So it lacks a lot of optimization (when reading a PAK file, it loads all files at once. which uses a lot of memory) to 2 examples :-wrbrushes
in BSPX if has