wiki:ioquake3

Version 16 (modified by ferguson, 13 years ago) (diff)

--

IOQuake3

IOQuake3 is organized into four major code modules:

  • Game virtual code (the "code/game" folder, plus some code/qcommon).
  • Client virtual code (the "code/cgame" folder, plus some code/qcommon).
  • User Interface virtual code (the "code/ui" folder, plus some code/qcommon).
  • Non-virtual code (everything else).

When Quake runs, the first three live within separate virtual machines. They have separate memory and typically cannot see each others functions. The fourth module binds everything together and provides code that is either too security-sensitive or too computationally intensive to run within the virtual machines.

This page and its subpages will get you introduced to the general architecture of IOQuake3, and explain some of the things we did to change it.