Code Overview

From ioquake3 wiki
Revision as of 09:02, 7 November 2011 by ZTurtleMan (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

The ioquake3 source code is roughly arranged in seven different parts, each with a particular function. There is some overlap, but the relevant areas are outlined below.

Parts

server

Contains the code pertaining to the server.

client

Contains the code pertaining to the client.

renderer

Contains the code pertaining to rendering.

qcommon

Contains common functions shared between the client/server and/or game/cgame/ui.

game

Contains the game logic run on the server. Calculates damage, scoring, player movement, etc.

cgame

Contains the game logic run on the client. Draws the HUD, view weapon, and the world.

User Interface

There are two separate user interfaces, one used by baseq3 and one used by the missionpack.

q3_ui

Contains the code that displays the user interface in Quake III Arena (baseq3).

ui

Contains the code that displays the user interface in Quake III Team Arena (missionpack).

Relationships

All of these parts work together to make ioq3 what it is. (Put more about how they work together here)