Filesystem: Difference between revisions

From Jedi Knight Wiki | JKHub
(describing the filesystem, relative paths and pk3 files etc.)
 
No edit summary
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"
[[Category:Tutorials]]

Revision as of 15:28, 30 July 2014

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"