Filesystem: Difference between revisions
(describing the filesystem, relative paths and pk3 files etc.) |
(Undo revision 8590 by 75.84.116.145 (talk)) Tag: Undo |
||
(21 intermediate revisions by 6 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:Modding categories]] | |||
[[Category:General Modding]] | |||
[[Category:File Types]] |
Latest revision as of 09:56, 22 June 2024
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
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 JPEG images shown during level loading.
maps
Contains map files. (See .bsp)
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.