Filesystem

From JKHub Wiki
Jump to navigation Jump to search

Games using the Quake 3 Engine, such as Jedi Outcast and Jedi Academy, use a virtual filesystem.

It works similarly to mounting in Linux: When a certain file is requested, for example "models/players/kyle/model.glm", its actual location can be in any of the mounted directories/pk3 archives; it does not matter which one. This makes the game extendible: New files can simply be put into an additional .pk3 archive that will get mounted at startup.

So what archives and directories are mounted?

  • Any PK3 file inside GameData/base; PK3 files are just renamed .zip files, and only zip compression is supported! One freeware tool for reading and creating zip archives is 7-Zip.
  • Any PK3 file inside GameData/currentmod, if you're inside a mod
  • In Single Player, and in MP if the CVar "sv_pure" is set to 0: any loose files and folders in GameData/base and GameData/currentmod

So, to get back to our example of "models/players/kyle/model.glm": In unmodified Jedi Academy Single Player this would search for:

  • "GameData/base/models/players/kyle/model.glm"
  • for "models/players/kyle/model.glm" inside "GameData/base/assets0.pk3", "GameData/base/assets1.pk3", "GameData/base/assets2.pk3" and "GameData/base/assets3.pk3"

Directory structure[edit]

This is the directory structure of JK2 and JA, found inside the PK3 files.

botfiles[edit]

botroutes[edit]

eagle[edit]

Contains files associated with the Creative Labs enhanced audio system.

effects[edit]

Contains effects (.efx) files. This is JK2's particle system.

There are subdirectories for each weapon, containing the effects for that weapon.

ext_data[edit]

Contains various kinds of important game definitions.

npcs.cfg contains all NPC definitions (Jedi Outcast)

dms.dat music definitions

items.dat items definitions

weapons.dat weapons definitions

  • npcs subdirectory: contains .npc files (Jedi Academy)
  • sabers subdirectory: contains .sab lightsaber definitions
  • Siege subdirectory
  • vehicles subdirectory: contains .veh vehicle definitions

fonts[edit]

gfx[edit]

Contains various graphics files, including menu images, HUD images, and images used to create .efx effects.

levelshots[edit]

Contains JPEG images shown during level loading.

maps[edit]

Contains map files. (See .bsp)

menu[edit]

models[edit]

Contains .md3 models and character .glm models.

  • chunks subdirectory
  • flags subdirectory: CTF flags
  • items subdirectory: ammo, med packs, and other items
  • map_objects subdirectory
  • players subdirectory: all playable and NPC character models and skins
  • weaphits subdirectory
  • weapons2 subdirectory: all weapons

music[edit]

Contains music files. (.mp3 format)

scripts[edit]

Contains icarus script files and ROFF files. They are grouped in subdirectories for each map.

shaders[edit]

Contains .shader files

textures[edit]

Contains texture files, grouped in subdirectories. These are in .jpg, .png and .tga graphics formats.

sound[edit]

Contains sound effects, in .wav and .mp3 format.

sound.txt contains all soundset definitions.

  • chars subdirectory: character sound effects (including English dialogue)
  • chr_d subdirectory: character dialogue in German
  • chr_e subdirectory: character dialogue in Spanish
  • chr_f subdirectory: character dialogue in French
  • weapons subdirectory: weapon sound effects

strings[edit]

In Jedi Outcast, this directory is called "strip"

.str files containing subtitles.

objectives.str contains mission objectives.

ui[edit]

Menu system

video[edit]

Contains .roq cutscenes.

File types[edit]

This is a list of file types used by JK2 and JA, grouped by type.

Audio files[edit]

Image files[edit]

3D models[edit]

Video[edit]

Map files[edit]

Script files[edit]

Particle effects[edit]

Other files[edit]