Filesystem: Difference between revisions

From Jedi Knight Wiki | JKHub
No edit summary
 
(16 intermediate revisions by 2 users not shown)
Line 1: Line 1:
Games using the Quake 3 Engine, such as Jedi Outcast and Jedi Academy, use a virtual filesystem.
Games using the [[Id Tech 3|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.
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.
Line 13: Line 13:
* "GameData/base/models/players/kyle/model.glm"
* "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"
* 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 ==
This is the directory structure of JK2 and JA, found inside the PK3 files.
==== botfiles ====
==== botroutes ====
==== eagle ====
Contains files associated with the Creative Labs enhanced audio system.
==== effects ====
Contains effects ([[.efx]]) files. This is JK2's particle system.
There are subdirectories for each weapon, containing the effects for that weapon.
==== ext_data ====
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 ====
==== gfx ====
Contains various graphics files, including menu images, HUD images, and images used to create [[.efx]] effects.
==== levelshots ====
Contains [[.jpg|JPEG]] images shown during level loading.
==== maps ====
Contains map files. (See [[.bsp]])
==== menu ====
==== models ====
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 ====
Contains music files. ([[.mp3]] format)
==== scripts ====
Contains [[icarus]] script files and [[ROFF]] files.
They are grouped in subdirectories for each map.
==== shaders ====
Contains [[.shader]] files
==== textures ====
Contains texture files, grouped in subdirectories.
These are in [[.jpg]], [[.png]] and [[.tga]] graphics formats.
==== sound ====
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 ====
In Jedi Outcast, this directory is called "strip"
[[.str]] files containing subtitles.
[[objectives.str]] contains mission objectives.
==== ui ====
Menu system
==== video ====
Contains [[.roq]] cutscenes.
== File types ==
This is a list of file types used by JK2 and JA, grouped by type.
=== Audio files ===
* [[.wav]]
* [[.mp3]]
* [[sound.txt]]
=== Image files ===
* [[.jpg]]
* [[.tga]]
* [[.png]]
* [[.shader]]
=== 3D models ===
* [[.md3]]
* [[.ase]]
* [[.glm]]
* [[.gla]]
* [[.skin]]
=== Video ===
* [[.roq]]
=== Map files ===
* [[.bsp]]
=== Script files ===
* [[.ibi]]
* [[.rof]]
=== Particle effects ===
* [[.efx]]
=== Other files ===
* [[.npc]]
* [[.sab]]
* [[.veh]]
* [[dms.dat]]
* [[items.dat]]
* [[weapons.dat]]
* [[.str]]
* [[.jkb]]


[[Category:Tutorials]]
[[Category:Tutorials]]
[[Category:Modding categories]]
[[Category:General Modding]]
[[Category:File Types]]

Latest revision as of 10:56, 7 November 2021

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]