QuArK 7 Design Doc


Design


QuArK 7 will be part C++, part Python. The main executable will be written in C++, do some basic initializing, including setting up the Python interpreter. At this point, it will call into the Python code, and that will take it from there.

Various types of supporting libraries will be used; all of them written in C++. These 'plugins' will contain amongst things: the renderers, file loading/saving routines, filesystem interfaces, and the GUI interfaces.

There will be (isolated) parts in the C++ code that are OS-dependant, encapsulating the OS details. Most of the C++ code will be OS independant, and the entire Python code will only interface with the C++ code, and never directly with the OS (I even suggest 'disabling' the native OS module in Python). This will make porting QuArK 7 to other platforms very easy, since only the OS-aware C++ part of the code needs to be changed (of course, the external libraries are all OS-aware...).


Various design topics:


Back to index