Jump to content

How are the files organized in the code?


Dusty
Go to solution Solved by eezstreet,

Recommended Posts

Posted

What do all the different headers mean? Such as "g_", "bg_", "q_".

 

I'm guessing g_ means server side, c_/cg_ means client side, and q_ is related to the q3 engine?

 

As it pertains to single player, what's the difference between server side things and client side exactly?

Posted

You're correct on the prefixes you've guessed. bg_ means both games (shared between server and client).

 

Regarding client and server side in single player, the main distinction is in what each handles (and this applies to multiplayer as well). The server handles all of the game logic (e.g. should this player be able to walk forward, did their lightsaber hit something, what should the AI do next, and so on) and sends this information the connected players (or player in single player). The client side is responsible for handling the visual representation of the game.

  • Solution
Posted

as a general rule

 

g_ serverside

cg_ client game / clientside

ui_ ui (obviously)

bg_ g/cg/ui (in some cases)

q_ entire game (shared by engine and DLLs)

q3_ icarus bindings

tr_ "the renderer"

sv_ serverside engine

cl_ clientside engine

snd_ sound

cm_ "clip model" (player<->map interactions)

net_ network code

stringed_ .str stuff

fs_/files_ stuff involving the filesystem

g2_ ghoul2

rm_ random map generation (not used but still fully functional)

sdl_ SDL (linux/mac only)

sys_ linux

win_ windows

be_ bot behavior

ai_ npc behavior

l_ C/C++ parser used by the game, extremely primitive

Fx anything that involves .efx files

MoonDog, Stoiss, Asgarath83 and 3 others like this

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...