Due to our descent from Quake 3, any review of the Quake 3 engine code applies. A particularly good one can be found here, but others can be found easily through a quick Google search.
I've been reading a lot of unvanquished code lately but I think in order to get a decent overview I need either a lot more time or more documentation (and since I'm rather busy and supposed to map, I'd prefer the latter). I read Fabien Sanglard's review a while ago but didn't find anything comparable when asking the oracle.
I'd like to ask the people hwo are currently working on the code if they could share some of the resources they found particularily helpful for understanding it. It doesn't need to be directly related to quake 3 or any derived engine, I'd also be thankful for any article or book that would give me a more general overview over the technology used in our engine.
Viech, it has been my intention to document as much of the engine as I am capable of documenting (i.e., that I am capable of wrapping my head around) on the wiki for some time, but I haven't done much of anything in that regard due to time constraints. I entreat anyone at all to assist in this process, however. For the time being, there are a few links that may be of interest on the technical documentation page of the wiki.
A major help is something that can follow identifiers to the place of their declaration and/or initialization. (pretty much any IDE has this)
This way, you can easily analyze seemingly mysterious code by quickly jumping to the definitions of functions that comprise its sequence.
We spoke on IRC about this, I'm mainly looking for a rough general overview over the complete project as well as lecture that explains/reviews the methods and algorithms used.
velociostrich wrote:
Viech, it has been my intention to document as much of the engine as I am capable of documenting (i.e., that I am capable of wrapping my head around) on the wiki for some time, but I haven't done much of anything in that regard due to time constraints. I entreat anyone at all to assist in this process, however. For the time being, there are a few links that may be of interest on the technical documentation page of the wiki.
Thank you, these resources seem useful!
Qrntz wrote:
A major help is something that can follow identifiers to the place of their declaration and/or initialization. (pretty much any IDE has this)
This way, you can easily analyze seemingly mysterious code by quickly jumping to the definitions of functions that comprise its sequence.
I did load the code in Eclipse once, thought "this feels so wrong" and closed it. I never worked on a big enough C project to try out any IDE. Can you recommend one that 1) works with the layout of the git repo (or even knows git) and 2) doesn't mess it up with hundreds of meta files?
I did load the code in Eclipse once, thought "this feels so wrong"
It sure does.
Viech wrote:
I never worked on a big enough C project to try out any IDE. Can you recommend one that 1) works with the layout of the git repo (or even knows git) and 2) doesn't mess it up with hundreds of meta files?
Qt Creator to both or Vim with extensions if you're feeling hardcore.
KDevelop might be applicable but I have not tried using it for that.
I used grep and vim before but tracking function calls between files was rather tedious (is there a plugin that makes this easier?). Qt Creater looks very promising and works like a charm when pointing it to the CMakeLists.txt, I will give it a try!