Info: 3 .dat Files - Subject9x/battleMETAL GitHub Wiki

The .dat files

Quake C game code is split into 3 core files, all housed within /iD1/.

Progs.dat

The big one. This contains all compiled server code. Mapping this to the project structure results in the following being put into progs.dat

  • [code root] - basically all files directly in /metaldata/qc/
  • [/qc/q1src] - legacy q1 code that will be removed as best as possible.
  • [/qc/main] - another big one, 90% of battleMETAL server code is here!
  • [/qc/dp] - contains all core darkplaces quake C extension code files, leave this as-is.
  • [/qc/common] - shared by all 3 .dat modules, contains game data constants and such.
  • [/qc/data_dir_backup] - contains a backup of cache scripts, menu scripts, map file scripts

Menu.dat

  • [/qc/menu] - contains all game code for the Main Menu system which is defined as all menus seen when player presses the 'escape' button.
  • this has its own progs.dat definition file contained here as well.

CSQC.dat

  • [/qc/client] - compiles to csqc.dat, contains all in-mission menu and HUD code.
  • Quake 1 is a Client/Server architecture even when running single player, all fancy HUD stuff is done client-side regardless of game mode.