Hosting and domain costs until October 2024 have been generously sponsored by dumptruck_ds. Thank you!

Editing FTEQW File Formats

From Quake Wiki

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision Your text
Line 1: Line 1:
This is a list of all the file formats that can be used by FTEQW and some of the other commonly used engines. The engines are: FTEQW, DarkPlaces, Quakespasm, Quakespasm Spiked, VK Quake, Mark V, and EZ-Quake.
+
{{todo|user=echos|todo=this page is mostly complete, but needs more examples and tutorials}}
 +
This is a list of all the file formats that can be used by FTEQW and some of the other commonly used engines. The engines are: FTEQW, DarkPlaces, Quakespasm, Quakespasm Spiked, VK Quake, Mark V, and EZ-Quake. Please contribute example files and tutorials.
 
{| class="wikitable" style="width:100%; background:#999; text-align:center;" cellpadding="4" cellspacing="1"
 
{| class="wikitable" style="width:100%; background:#999; text-align:center;" cellpadding="4" cellspacing="1"
 
==Model and/or Animation==
 
==Model and/or Animation==
Line 23: Line 24:
 
| style="background:green; color:white;" | Y  <!-- MkV -->
 
| style="background:green; color:white;" | Y  <!-- MkV -->
 
| style="background:green; color:white;" | Y  <!-- EZ  -->
 
| style="background:green; color:white;" | Y  <!-- EZ  -->
| style="text-align:left;" | Echo: These became known as Alias models, even though that‘s not correct. John Carmack always called these Alias models, so the name stuck. Squirmy when animating; maximum one texture per skin.
+
| style="text-align:left;" | Echos: These became known as Alias models, even though that‘s not correct. John Carmack always called these Alias models, so the name stuck.
  
 
|-valign="top" style="background:#F8F8F8"
 
|-valign="top" style="background:#F8F8F8"
Line 35: Line 36:
 
| style="background:darkred; color:white;" | N  <!-- MkV -->
 
| style="background:darkred; color:white;" | N  <!-- MkV -->
 
| style="background:darkred; color:white;" | N  <!-- EZ  -->
 
| style="background:darkred; color:white;" | N  <!-- EZ  -->
| Even squirmier than QMDL when animating, due to having per-frame scale and origin. Maximum one texture per skin.
+
| Swimmy when animating. Yuck.
  
 
|-valign="top" style="background:#F8F8F8"
 
|-valign="top" style="background:#F8F8F8"
Line 47: Line 48:
 
| style="background:darkred; color:white;" | N  <!-- MkV -->
 
| style="background:darkred; color:white;" | N  <!-- MkV -->
 
| style="background:green; color:white;" | Y  <!-- EZ  -->
 
| style="background:green; color:white;" | Y  <!-- EZ  -->
| style="text-align:left;" | Echo: Support of md3 may be limited in some engines, such as tags and animations. Still squirmy when animating, but has much higher precision than Quake1 MDL or Quake2 MD2, so vertex swimming is only noticeable up close.
+
| style="text-align:left;" | Echos: Support of md3 may be limited in some engines, such as tags and animations.
  
 
|-valign="top" style="background:#F8F8F8"
 
|-valign="top" style="background:#F8F8F8"
Line 55: Line 56:
 
| style="background:green; color:white;" | Y  <!-- DP  -->
 
| style="background:green; color:white;" | Y  <!-- DP  -->
 
| style="background:darkred; color:white;" | N  <!-- QS  -->
 
| style="background:darkred; color:white;" | N  <!-- QS  -->
| style="background:green; color:white;" | Y <!-- QSS -->
+
| style="background:darkred; color:white;" | N <!-- QSS -->
 
| style="background:darkred; color:white;" | N  <!-- VK  -->
 
| style="background:darkred; color:white;" | N  <!-- VK  -->
 
| style="background:darkred; color:white;" | N  <!-- MkV -->
 
| style="background:darkred; color:white;" | N  <!-- MkV -->
 
| style="background:darkred; color:white;" | N  <!-- EZ  -->
 
| style="background:darkred; color:white;" | N  <!-- EZ  -->
| style="text-align:left;" | Echo: The best choice for creating models & animations in FTE and DP. Skeletal animation support for 256 joints. Vertex animation and blendshapes are not supported, skeletal only.
+
| style="text-align:left;" | Echos: The best choice for creating models & animations in FTE and DP. Skeletal animation support for 256 joints. Vertex animation and blendshapes are not supported, skeletal only.
  
 
|-valign="top" style="background:#F8F8F8"
 
|-valign="top" style="background:#F8F8F8"
Line 96: Line 97:
 
| style="background:darkred; color:white;" | N  <!-- EZ  -->
 
| style="background:darkred; color:white;" | N  <!-- EZ  -->
 
| Slow to load (although easy to export). the separate .psa files contain the animation data in an external file.
 
| Slow to load (although easy to export). the separate .psa files contain the animation data in an external file.
 
|-valign="top" style="background:#F8F8F8"
 
| GLTF2 / GLTF2 Binary
 
| (.gltf / .glb)
 
| style="background:yellowgreen; color:black;" | Y  <!-- FTE -->
 
| style="background:darkred; color:white;" | N  <!-- DP  -->
 
| style="background:darkred; color:white;" | N  <!-- QS  -->
 
| style="background:darkred; color:white;" | N  <!-- QSS -->
 
| style="background:darkred; color:white;" | N  <!-- VK  -->
 
| style="background:darkred; color:white;" | N  <!-- MkV -->
 
| style="background:darkred; color:white;" | N  <!-- EZ  -->
 
| Slower to load than iqm files, but more widely exportable and supports PBR materials. The binary .glb files generally embed all textures in a single file. FTE supports most of the spec, though does not fully conform in a few edge cases (which will result in warning messages). Additional format extensions may cause the model to fail to load.
 
  
 
|-valign="top" style="background:#F8F8F8"
 
|-valign="top" style="background:#F8F8F8"
Line 127: Line 116:
 
| style="background:darkred; color:white;" | N  <!-- DP  -->
 
| style="background:darkred; color:white;" | N  <!-- DP  -->
 
| style="background:darkred; color:white;" | N  <!-- QS  -->
 
| style="background:darkred; color:white;" | N  <!-- QS  -->
| style="background:green; color:white;" | Y <!-- QSS -->
+
| style="background:darkred; color:white;" | N <!-- QSS -->
| style="background:green; color:white;" | Y <!-- VK  -->
+
| style="background:darkred; color:white;" | N <!-- VK  -->
 
| style="background:darkred; color:white;" | N  <!-- MkV -->
 
| style="background:darkred; color:white;" | N  <!-- MkV -->
 
| style="background:darkred; color:white;" | N  <!-- EZ  -->
 
| style="background:darkred; color:white;" | N  <!-- EZ  -->
Line 139: Line 128:
 
| style="background:darkred; color:white;" | N  <!-- DP  -->
 
| style="background:darkred; color:white;" | N  <!-- DP  -->
 
| style="background:darkred; color:white;" | N  <!-- QS  -->
 
| style="background:darkred; color:white;" | N  <!-- QS  -->
| style="background:green; color:white;" | Y <!-- QSS -->
+
| style="background:darkred; color:white;" | N <!-- QSS -->
| style="background:green; color:white;" | Y <!-- VK  -->
+
| style="background:darkred; color:white;" | N <!-- VK  -->
 
| style="background:darkred; color:white;" | N  <!-- MkV -->
 
| style="background:darkred; color:white;" | N  <!-- MkV -->
 
| style="background:darkred; color:white;" | N  <!-- EZ  -->
 
| style="background:darkred; color:white;" | N  <!-- EZ  -->
Line 147: Line 136:
 
|-valign="top" style="background:#F8F8F8"
 
|-valign="top" style="background:#F8F8F8"
 
| QuakeForge 16bit Alias
 
| QuakeForge 16bit Alias
| (.md16)
+
| (.???)
 
| style="background:green; color:white;" | Y  <!-- FTE -->
 
| style="background:green; color:white;" | Y  <!-- FTE -->
 
| style="background:darkred; color:white;" | N  <!-- DP  -->
 
| style="background:darkred; color:white;" | N  <!-- DP  -->
Line 155: Line 144:
 
| style="background:darkred; color:white;" | N  <!-- MkV -->
 
| style="background:darkred; color:white;" | N  <!-- MkV -->
 
| style="background:darkred; color:white;" | N  <!-- EZ  -->
 
| style="background:darkred; color:white;" | N  <!-- EZ  -->
| style="text-align:left;" | Echo: The Alias model format (Quake1 .mdl) with 16-bit vertices. This gives models more precision, the vertices will show up in-game positioned more accurately.
+
| style="text-align:left;" | Echos: The Alias model format (Quake1 .mdl) with 16-bit vertices. This gives models more precision, the vertices will show up in-game positioned more accurately.
  
 
|-valign="top" style="background:#F8F8F8"
 
|-valign="top" style="background:#F8F8F8"
| Half-Life (GoldSrc)
+
| Half-Life
 
| (.mdl)
 
| (.mdl)
 
| style="background:green; color:white;" | Y  <!-- FTE -->
 
| style="background:green; color:white;" | Y  <!-- FTE -->
Line 167: Line 156:
 
| style="background:darkred; color:white;" | N  <!-- MkV -->
 
| style="background:darkred; color:white;" | N  <!-- MkV -->
 
| style="background:darkred; color:white;" | N  <!-- EZ  -->
 
| style="background:darkred; color:white;" | N  <!-- EZ  -->
| Vertex animation and blendshapes are not supported, skeletal only.<br>Toolchain license issues.
+
| Boo Hiss.
  
 
|-valign="top" style="background:#F8F8F8"
 
|-valign="top" style="background:#F8F8F8"
Line 203: Line 192:
 
| style="background:darkred; color:white;" | N  <!-- MkV -->
 
| style="background:darkred; color:white;" | N  <!-- MkV -->
 
| style="background:darkred; color:white;" | N  <!-- EZ  -->
 
| style="background:darkred; color:white;" | N  <!-- EZ  -->
| style="text-align:left;" | Echo: This format is for creating terrains in FTE, can be used by mappers to make large sandbox-style game levels. Sections are streamed in from disk as required. Models and bsps can be embedded as desired. Entities are really messy right now.
+
| style="text-align:left;" | Echos: This format is for creating terrains in FTE, can be used by mappers to make large sandbox-style game levels. Sections are streamed in from disk as required. Models and bsps can be embedded as desired. Entities are really messy right now.
  
 
|-valign="top" style="background:#F8F8F8"
 
|-valign="top" style="background:#F8F8F8"
 
| Wavefront
 
| Wavefront
 
| (.obj)
 
| (.obj)
| style="background:green; color:white;" | Y <!-- FTE -->
+
| style="background:darkred; color:white;" | N <!-- FTE -->
 
| style="background:green; color:white;" | Y  <!-- DP  -->
 
| style="background:green; color:white;" | Y  <!-- DP  -->
 
| style="background:darkred; color:white;" | N  <!-- QS  -->
 
| style="background:darkred; color:white;" | N  <!-- QS  -->
Line 215: Line 204:
 
| style="background:darkred; color:white;" | N  <!-- MkV -->
 
| style="background:darkred; color:white;" | N  <!-- MkV -->
 
| style="background:darkred; color:white;" | N  <!-- EZ  -->
 
| style="background:darkred; color:white;" | N  <!-- EZ  -->
| style="text-align:left;" | DP can also use .obj as a map if you provide a .ent file.
+
| style="text-align:left;" | LH: DP can use .obj as a map if you provide a .ent file with it. You can also use it as a standard model in DP.
  
 
|-valign="top" style="background:#F8F8F8"
 
|-valign="top" style="background:#F8F8F8"
Line 227: Line 216:
 
| style="background:darkred; color:white;" | N  <!-- MkV -->
 
| style="background:darkred; color:white;" | N  <!-- MkV -->
 
| style="background:darkred; color:white;" | N  <!-- EZ  -->
 
| style="background:darkred; color:white;" | N  <!-- EZ  -->
| style="text-align:left;" | Echo: This is the real Alias model format. Obsolete, but old files exist. The original Quake1 models were converted from .tri to .mdl with the modelgen utility. Listed for informational purposes, no point to load it in engine.
+
| style="text-align:left;" | Echos: This is the real Alias model format. Obsolete, but old files exist. The original Quake1 models were converted from .tri to .mdl with the modelgen utility. Listed for informational purposes, no point to load it in engine.
  
 
|}
 
|}
  
 
{| class="wikitable" style="width:100%; background:#999; text-align:center;" cellpadding="4" cellspacing="1"
 
{| class="wikitable" style="width:100%; background:#999; text-align:center;" cellpadding="4" cellspacing="1"
 
 
==Map Source File (load a .map without compiling it)==
 
==Map Source File (load a .map without compiling it)==
 
|-valign="top" style="background:#F8F8F8"
 
|-valign="top" style="background:#F8F8F8"
Line 268: Line 256:
 
| style="background:darkred; color:white;" | N  <!-- MkV -->
 
| style="background:darkred; color:white;" | N  <!-- MkV -->
 
| style="background:darkred; color:white;" | N  <!-- EZ  -->
 
| style="background:darkred; color:white;" | N  <!-- EZ  -->
| style="text-align:left;" |  
+
| style="text-align:left;" | none
  
 
|-valign="top" style="background:#F8F8F8"
 
|-valign="top" style="background:#F8F8F8"
Line 295: Line 283:
  
 
|-valign="top" style="background:#F8F8F8"
 
|-valign="top" style="background:#F8F8F8"
| Valve220
+
| Half-Life
 
| (.map)
 
| (.map)
 
| style="background:green; color:white;" | Y  <!-- FTE -->
 
| style="background:green; color:white;" | Y  <!-- FTE -->
Line 353: Line 341:
 
| style="background:green; color:white;" | Y  <!-- QS  -->
 
| style="background:green; color:white;" | Y  <!-- QS  -->
 
| style="background:green; color:white;" | Y  <!-- QSS -->
 
| style="background:green; color:white;" | Y  <!-- QSS -->
| style="background:green; color:white;" | Y <!-- VK  -->
+
| style="background:black; color:white;" | ? <!-- VK  -->
 
| style="background:black; color:white;" | ?  <!-- MkV -->
 
| style="background:black; color:white;" | ?  <!-- MkV -->
 
| style="background:black; color:white;" | ?  <!-- EZ  -->
 
| style="background:black; color:white;" | ?  <!-- EZ  -->
Line 395: Line 383:
  
 
|-valign="top" style="background:#F8F8F8"
 
|-valign="top" style="background:#F8F8F8"
| Half-Life (GoldSrc)
+
| Half-Life
 
| (.bsp)
 
| (.bsp)
 
| style="background:green; color:white;" | Y  <!-- FTE -->
 
| style="background:green; color:white;" | Y  <!-- FTE -->
Line 403: Line 391:
 
| style="background:darkred; color:white;" | N  <!-- VK  -->
 
| style="background:darkred; color:white;" | N  <!-- VK  -->
 
| style="background:darkred; color:white;" | N  <!-- MkV -->
 
| style="background:darkred; color:white;" | N  <!-- MkV -->
| style="background:green; color:white;" | Y <!-- EZ  -->
+
| style="background:darkred; color:white;" | N <!-- EZ  -->
 
| style="text-align:left;" | Toolchain license issues.
 
| style="text-align:left;" | Toolchain license issues.
  
Line 416: Line 404:
 
| style="background:darkred; color:white;" | N  <!-- MkV -->
 
| style="background:darkred; color:white;" | N  <!-- MkV -->
 
| style="background:darkred; color:white;" | N  <!-- EZ  -->
 
| style="background:darkred; color:white;" | N  <!-- EZ  -->
| style="text-align:left;" |  
+
| style="text-align:left;" | none
 
   
 
   
 
|-valign="top" style="background:#F8F8F8"
 
|-valign="top" style="background:#F8F8F8"
Line 493: Line 481:
 
| Wavefront
 
| Wavefront
 
| (.obj)
 
| (.obj)
| style="background:green; color:white;" | Y <!-- FTE -->
+
| style="background:darkred; color:white;" | N <!-- FTE -->
 
| style="background:green; color:white;" | Y  <!-- DP  -->
 
| style="background:green; color:white;" | Y  <!-- DP  -->
 
| style="background:darkred; color:white;" | N  <!-- QS  -->
 
| style="background:darkred; color:white;" | N  <!-- QS  -->
Line 511: Line 499:
 
| style="background:darkred; color:white;" | N  <!-- VK  -->
 
| style="background:darkred; color:white;" | N  <!-- VK  -->
 
| style="background:darkred; color:white;" | N  <!-- MkV -->
 
| style="background:darkred; color:white;" | N  <!-- MkV -->
| style="background:green; color:white;" | Y <!-- EZ  -->
+
| style="background:darkred; color:white;" | N <!-- EZ  -->
 
| style="text-align:left;" | Allows embedding rgb lighting directly into a q1 bsp without needing an external .lit file. Compile with ericw's light util using the -bspxlit argument. Also supported by ezquake, so be sure to use this for any quakeworld-centric map as the lighting will survive being auto-downloaded.
 
| style="text-align:left;" | Allows embedding rgb lighting directly into a q1 bsp without needing an external .lit file. Compile with ericw's light util using the -bspxlit argument. Also supported by ezquake, so be sure to use this for any quakeworld-centric map as the lighting will survive being auto-downloaded.
  
Line 520: Line 508:
 
| style="background:darkred; color:white;" | N  <!-- DP  -->
 
| style="background:darkred; color:white;" | N  <!-- DP  -->
 
| style="background:darkred; color:white;" | N  <!-- QS  -->
 
| style="background:darkred; color:white;" | N  <!-- QS  -->
| style="background:yellow; color:black;" | Y <!-- QSS -->
+
| style="background:darkred; color:white;" | N <!-- QSS -->
 
| style="background:darkred; color:white;" | N  <!-- VK  -->
 
| style="background:darkred; color:white;" | N  <!-- VK  -->
 
| style="background:darkred; color:white;" | N  <!-- MkV -->
 
| style="background:darkred; color:white;" | N  <!-- MkV -->
 
| style="background:darkred; color:white;" | N  <!-- EZ  -->
 
| style="background:darkred; color:white;" | N  <!-- EZ  -->
| style="text-align:left;" | Shared-exponent floats are slightly larger but allow for more precision as well as significantly more overbrighting. QSS will convert it to ldr on load.
+
| style="text-align:left;" | Shared-exponent floats are slightly larger but allow for more precision as well as significantly more overbrighting.
  
 
|-valign="top" style="background:#F8F8F8"
 
|-valign="top" style="background:#F8F8F8"
Line 573: Line 561:
 
| style="background:darkred; color:white;" | N  <!-- EZ  -->
 
| style="background:darkred; color:white;" | N  <!-- EZ  -->
 
| style="text-align:left;" | Allows an engine to support collisions using arbitrary sizes. Compile with ericw's qbsp using the -wrbrushes argument.
 
| style="text-align:left;" | Allows an engine to support collisions using arbitrary sizes. Compile with ericw's qbsp using the -wrbrushes argument.
 +
 +
|-valign="top" style="background:#F8F8F8"
 +
| BSPX lump: BRUSHLIST
 +
| (.bsp)
 +
| style="background:green; color:white;" | Y  <!-- FTE -->
 +
| style="background:darkred; color:white;" | N  <!-- DP  -->
 +
| style="background:darkred; color:white;" | N  <!-- QS  -->
 +
| style="background:darkred; color:white;" | N  <!-- QSS -->
 +
| style="background:darkred; color:white;" | N  <!-- VK  -->
 +
| style="background:darkred; color:white;" | N  <!-- MkV -->
 +
| style="background:darkred; color:white;" | N  <!-- EZ  -->
 +
| style="text-align:left;" | Allows an engine to support collisions using arbitrary sizes. Compile with ericw's qbsp using the -wrbrushes argument.
 +
  
 
|}
 
|}
Line 637: Line 638:
 
| style="background:darkred; color:white;" | N  <!-- MkV -->
 
| style="background:darkred; color:white;" | N  <!-- MkV -->
 
| style="background:darkred; color:white;" | N  <!-- EZ  -->
 
| style="background:darkred; color:white;" | N  <!-- EZ  -->
| style="text-align:left;" | Echo: DP doesn‘t load .lux so use .dlit the file format is identical.
+
| style="text-align:left;" | Echos: DP doesn‘t load .lux so use .dlit the file format is identical.
  
 
|-valign="top" style="background:#F8F8F8"
 
|-valign="top" style="background:#F8F8F8"
Line 650: Line 651:
 
| style="background:darkred; color:white;" | N  <!-- EZ  -->
 
| style="background:darkred; color:white;" | N  <!-- EZ  -->
 
| style="text-align:left;" | Spike: FTE supports spotlight rtlights and spinning static lights, DP doesn't, which may make format conversions necessary. You can use the spinning light w/ a cubeMap to make it fancy.
 
| style="text-align:left;" | Spike: FTE supports spotlight rtlights and spinning static lights, DP doesn't, which may make format conversions necessary. You can use the spinning light w/ a cubeMap to make it fancy.
 
|-valign="top" style="background:#F8F8F8"
 
| Vis Patches
 
| (.vis)
 
| style="background:green; color:white;" | Y  <!-- FTE -->
 
| style="background:darkred; color:white;" | N  <!-- DP  -->
 
| style="background:darkred; color:white;" | N  <!-- QS  -->
 
| style="background:darkred; color:white;" | N  <!-- QSS -->
 
| style="background:green; color:white;" | Y  <!-- VK  -->
 
| style="background:green; color:white;" | Y  <!-- MkV -->
 
| style="background:darkred; color:white;" | N  <!-- EZ  -->
 
| style="text-align:left;" | These files override the vis data of maps, allowing for transparent water on vanilla maps.
 
  
 
|}
 
|}
Line 689: Line 678:
 
| style="background:green; color:white;" | Y  <!-- MkV -->
 
| style="background:green; color:white;" | Y  <!-- MkV -->
 
| style="background:green; color:white;" | Y  <!-- EZ  -->
 
| style="background:green; color:white;" | Y  <!-- EZ  -->
| style="text-align:left;" |  
+
| style="text-align:left;" | none
  
 
|-valign="top" style="background:#F8F8F8"
 
|-valign="top" style="background:#F8F8F8"
Line 701: Line 690:
 
| style="background:green; color:white;" | Y  <!-- MkV -->
 
| style="background:green; color:white;" | Y  <!-- MkV -->
 
| style="background:green; color:white;" | Y  <!-- EZ  -->
 
| style="background:green; color:white;" | Y  <!-- EZ  -->
| style="text-align:left;" |  
+
| style="text-align:left;" | none
  
 
|-valign="top" style="background:#F8F8F8"
 
|-valign="top" style="background:#F8F8F8"
| Truevision Targa
+
| Targa
 
| (.tga)
 
| (.tga)
 
| style="background:green; color:white;" | Y  <!-- FTE -->
 
| style="background:green; color:white;" | Y  <!-- FTE -->
Line 713: Line 702:
 
| style="background:green; color:white;" | Y  <!-- MkV -->
 
| style="background:green; color:white;" | Y  <!-- MkV -->
 
| style="background:green; color:white;" | Y  <!-- EZ  -->
 
| style="background:green; color:white;" | Y  <!-- EZ  -->
| style="text-align:left;" |  
+
| style="text-align:left;" | none
  
 
|-valign="top" style="background:#F8F8F8"
 
|-valign="top" style="background:#F8F8F8"
| Picture Exchange Image
+
| Image
 
| (.pcx)
 
| (.pcx)
 
| style="background:green; color:white;" | Y  <!-- FTE -->
 
| style="background:green; color:white;" | Y  <!-- FTE -->
Line 725: Line 714:
 
| style="background:green; color:white;" | Y  <!-- MkV -->
 
| style="background:green; color:white;" | Y  <!-- MkV -->
 
| style="background:green; color:white;" | Y  <!-- EZ  -->
 
| style="background:green; color:white;" | Y  <!-- EZ  -->
| style="text-align:left;" |  
+
| style="text-align:left;" | none
  
 
|-valign="top" style="background:#F8F8F8"
 
|-valign="top" style="background:#F8F8F8"
| Portable Network Graphics
+
| Image
 
| (.png)
 
| (.png)
 
| style="background:green; color:white;" | Y  <!-- FTE -->
 
| style="background:green; color:white;" | Y  <!-- FTE -->
Line 736: Line 725:
 
| style="background:darkred; color:white;" | N  <!-- VK  -->
 
| style="background:darkred; color:white;" | N  <!-- VK  -->
 
| style="background:darkred; color:white;" | N  <!-- MkV -->
 
| style="background:darkred; color:white;" | N  <!-- MkV -->
| style="background:olive; color:white;" | Y <!-- EZ  -->
+
| style="background:darkred; color:white;" | N <!-- EZ  -->
| style="text-align:left;" | Can be disabled in EZQuake depending on compile settings.
+
| style="text-align:left;" | none
  
 
|-valign="top" style="background:#F8F8F8"
 
|-valign="top" style="background:#F8F8F8"
| Joint Photograph Exports Group Image
+
| Image
 
| (.jpg)
 
| (.jpg)
 
| style="background:green; color:white;" | Y  <!-- FTE -->
 
| style="background:green; color:white;" | Y  <!-- FTE -->
Line 748: Line 737:
 
| style="background:darkred; color:white;" | N  <!-- VK  -->
 
| style="background:darkred; color:white;" | N  <!-- VK  -->
 
| style="background:darkred; color:white;" | N  <!-- MkV -->
 
| style="background:darkred; color:white;" | N  <!-- MkV -->
| style="background:olive; color:white;" | Y <!-- EZ  -->
+
| style="background:darkred; color:white;" | <!-- EZ  -->
| style="text-align:left;" | Can be enabled/disabled in EZQuake depending on compile settings.
+
| style="text-align:left;" | none
  
  
Line 762: Line 751:
 
| style="background:darkred; color:white;" | N  <!-- MkV -->
 
| style="background:darkred; color:white;" | N  <!-- MkV -->
 
| style="background:darkred; color:white;" | N  <!-- EZ  -->
 
| style="background:darkred; color:white;" | N  <!-- EZ  -->
| style="text-align:left;" |  
+
| style="text-align:left;" | none
  
 
|-valign="top" style="background:#F8F8F8"
 
|-valign="top" style="background:#F8F8F8"
| Quake WAD2
+
| Texture Wad (of other game)
 
| (.wad)
 
| (.wad)
 
| style="background:green; color:white;" | Y  <!-- FTE -->
 
| style="background:green; color:white;" | Y  <!-- FTE -->
Line 773: Line 762:
 
| style="background:darkred; color:white;" | N  <!-- VK  -->
 
| style="background:darkred; color:white;" | N  <!-- VK  -->
 
| style="background:darkred; color:white;" | N  <!-- MkV -->
 
| style="background:darkred; color:white;" | N  <!-- MkV -->
| style="background:green; color:white;" | Y <!-- EZ  -->
+
| style="background:darkred; color:white;" | N <!-- EZ  -->
| style="text-align:left;" |  
+
| style="text-align:left;" | Required for halflife bsp support.
  
 
|-valign="top" style="background:#F8F8F8"
 
|-valign="top" style="background:#F8F8F8"
| Half-Life (GoldSrc) WAD3
+
| Image
| (.wad)
 
| style="background:green; color:white;" | Y  <!-- FTE -->
 
| style="background:green; color:white;" | Y  <!-- DP  -->
 
| style="background:darkred; color:white;" | N  <!-- QS  -->
 
| style="background:darkred; color:white;" | N  <!-- QSS -->
 
| style="background:darkred; color:white;" | N  <!-- VK  -->
 
| style="background:darkred; color:white;" | N  <!-- MkV -->
 
| style="background:green; color:white;" | Y  <!-- EZ  -->
 
| style="text-align:left;" | Like WAD2, but with per-texture palette
 
Required for halflife bsp support.
 
 
 
|-valign="top" style="background:#F8F8F8"
 
| DirectDraw Surface
 
 
| (.dds)
 
| (.dds)
 
| style="background:green; color:white;" | Y  <!-- FTE -->
 
| style="background:green; color:white;" | Y  <!-- FTE -->
Line 802: Line 778:
  
 
|-valign="top" style="background:#F8F8F8"
 
|-valign="top" style="background:#F8F8F8"
| Khronos Texture
+
| Image
 
| (.ktx)
 
| (.ktx)
 
| style="background:green; color:white;" | Y  <!-- FTE -->
 
| style="background:green; color:white;" | Y  <!-- FTE -->
Line 812: Line 788:
 
| style="background:darkred; color:white;" | N  <!-- EZ  -->
 
| style="background:darkred; color:white;" | N  <!-- EZ  -->
 
| style="text-align:left;" | Spike: FTE supports this for bc1-7/dxt/etc1/etc2/hdr. Allows for properly compressed textures even with npot textures for lower gpu memory/bandwidth use.
 
| style="text-align:left;" | Spike: FTE supports this for bc1-7/dxt/etc1/etc2/hdr. Allows for properly compressed textures even with npot textures for lower gpu memory/bandwidth use.
 
|-valign="top" style="background:#F8F8F8"
 
| Microsoft Bitmap
 
| (.bmp)
 
| style="background:yellowgreen; color:black;" | Y  <!-- FTE -->
 
| style="background:darkred; color:white;" | N  <!-- DP  -->
 
| style="background:darkred; color:white;" | N  <!-- QS  -->
 
| style="background:darkred; color:white;" | N  <!-- QSS -->
 
| style="background:darkred; color:white;" | N  <!-- VK  -->
 
| style="background:darkred; color:white;" | N  <!-- MkV -->
 
| style="background:darkred; color:white;" | N  <!-- EZ  -->
 
| style="text-align:left;" | Not scanned for by default (but can be named explicitly).
 
 
|-valign="top" style="background:#F8F8F8"
 
| Microsoft Icon
 
| (.ico)
 
| style="background:yellowgreen; color:black;" | Y  <!-- FTE -->
 
| style="background:darkred; color:white;" | N  <!-- DP  -->
 
| style="background:darkred; color:white;" | N  <!-- QS  -->
 
| style="background:darkred; color:white;" | N  <!-- QSS -->
 
| style="background:darkred; color:white;" | N  <!-- VK  -->
 
| style="background:darkred; color:white;" | N  <!-- MkV -->
 
| style="background:darkred; color:white;" | N  <!-- EZ  -->
 
| style="text-align:left;" | Not scanned for by default (but can be named explicitly).
 
 
|-valign="top" style="background:#F8F8F8"
 
| Portable Floatmap
 
| (.pfm)
 
| style="background:yellowgreen; color:black;" | Y  <!-- FTE -->
 
| style="background:darkred; color:white;" | N  <!-- DP  -->
 
| style="background:darkred; color:white;" | N  <!-- QS  -->
 
| style="background:darkred; color:white;" | N  <!-- QSS -->
 
| style="background:darkred; color:white;" | N  <!-- VK  -->
 
| style="background:darkred; color:white;" | N  <!-- MkV -->
 
| style="background:darkred; color:white;" | N  <!-- EZ  -->
 
| style="text-align:left;" | Simple HDR format. Not scanned for by default (but can be named explicitly).
 
 
|-valign="top" style="background:#F8F8F8"
 
| Gimp document
 
| (.xcf)
 
| style="background:olive; color:white;" | Y  <!-- FTE -->
 
| style="background:darkred; color:white;" | N  <!-- DP  -->
 
| style="background:darkred; color:white;" | N  <!-- QS  -->
 
| style="background:darkred; color:white;" | N  <!-- QSS -->
 
| style="background:darkred; color:white;" | N  <!-- VK  -->
 
| style="background:darkred; color:white;" | N  <!-- MkV -->
 
| style="background:darkred; color:white;" | N  <!-- EZ  -->
 
| style="text-align:left;" | HDR or LDR. Many things are not supported, although layers are. Not scanned for by default (but can be named explicitly).
 
 
|-valign="top" style="background:#F8F8F8"
 
| Photoshop Document
 
| (.psd)
 
| style="background:olive; color:white;" | Y  <!-- FTE -->
 
| style="background:darkred; color:white;" | N  <!-- DP  -->
 
| style="background:darkred; color:white;" | N  <!-- QS  -->
 
| style="background:darkred; color:white;" | N  <!-- QSS -->
 
| style="background:darkred; color:white;" | N  <!-- VK  -->
 
| style="background:darkred; color:white;" | N  <!-- MkV -->
 
| style="background:darkred; color:white;" | N  <!-- EZ  -->
 
| style="text-align:left;" | Only the base plane will load. Not scanned for by default (but can be named explicitly).
 
 
|-valign="top" style="background:#F8F8F8"
 
| 'Radiance' HDR.
 
| (.hdr)
 
| style="background:yellowgreen; color:black;" | Y  <!-- FTE -->
 
| style="background:darkred; color:white;" | N  <!-- DP  -->
 
| style="background:darkred; color:white;" | N  <!-- QS  -->
 
| style="background:darkred; color:white;" | N  <!-- QSS -->
 
| style="background:darkred; color:white;" | N  <!-- VK  -->
 
| style="background:darkred; color:white;" | N  <!-- MkV -->
 
| style="background:darkred; color:white;" | N  <!-- EZ  -->
 
| style="text-align:left;" | HDR RGBE format. Not scanned for by default (but can be named explicitly).
 
 
|-valign="top" style="background:#F8F8F8"
 
| ILM OpenEXR
 
| (.exr)
 
| style="background:yellow; color:black;" | Y  <!-- FTE -->
 
| style="background:darkred; color:white;" | N  <!-- DP  -->
 
| style="background:darkred; color:white;" | N  <!-- QS  -->
 
| style="background:darkred; color:white;" | N  <!-- QSS -->
 
| style="background:darkred; color:white;" | N  <!-- VK  -->
 
| style="background:darkred; color:white;" | N  <!-- MkV -->
 
| style="background:darkred; color:white;" | N  <!-- EZ  -->
 
| style="text-align:left;" | HDR format. Requires external libIlmImf library. Not scanned for by default (but can be named explicitly).
 
  
 
|}
 
|}
  
 
{| class="wikitable" style="width:100%; background:#999; text-align:center;" cellpadding="4" cellspacing="1"
 
{| class="wikitable" style="width:100%; background:#999; text-align:center;" cellpadding="4" cellspacing="1"
 
 
==Sprite File==
 
==Sprite File==
 
|-valign="top" style="background:#F8F8F8"
 
|-valign="top" style="background:#F8F8F8"
Line 936: Line 827:
 
| style="background:darkred; color:white;" | N  <!-- MkV -->
 
| style="background:darkred; color:white;" | N  <!-- MkV -->
 
| style="background:darkred; color:white;" | N  <!-- EZ  -->
 
| style="background:darkred; color:white;" | N  <!-- EZ  -->
| style="text-align:left;" | Sprite frames stored in separate PCX files; fewer features than Quake 1 and Half-Life sprites.
+
| style="text-align:left;" | none
  
 
|-valign="top" style="background:#F8F8F8"
 
|-valign="top" style="background:#F8F8F8"
Line 948: Line 839:
 
| style="background:darkred; color:white;" | N  <!-- MkV -->
 
| style="background:darkred; color:white;" | N  <!-- MkV -->
 
| style="background:darkred; color:white;" | N  <!-- EZ  -->
 
| style="background:darkred; color:white;" | N  <!-- EZ  -->
| style="text-align:left;" | True color variation of Quake 1 SPR
+
| style="text-align:left;" | none
  
 
|-valign="top" style="background:#F8F8F8"
 
|-valign="top" style="background:#F8F8F8"
| Half-Life (GoldSrc) Sprite
+
| Half-Life Sprite
 
| (.spr)
 
| (.spr)
 
| style="background:green; color:white;" | Y  <!-- FTE -->
 
| style="background:green; color:white;" | Y  <!-- FTE -->
Line 960: Line 851:
 
| style="background:darkred; color:white;" | N  <!-- MkV -->
 
| style="background:darkred; color:white;" | N  <!-- MkV -->
 
| style="background:darkred; color:white;" | N  <!-- EZ  -->
 
| style="background:darkred; color:white;" | N  <!-- EZ  -->
| style="text-align:left;" | Like Quake 1 sprites, but with dedicated color palette, and additional translucency modes. No toolchain license issues, unlike most GoldSrc formats.
+
| style="text-align:left;" | none
[https://www.the303.org/tutorials/gold_sprite.htm more info]
 
 
|}
 
|}
  
 
{| class="wikitable" style="width:100%; background:#999; text-align:center;" cellpadding="4" cellspacing="1"
 
{| class="wikitable" style="width:100%; background:#999; text-align:center;" cellpadding="4" cellspacing="1"
 
 
==Particle File==
 
==Particle File==
 
|-valign="top" style="background:#F8F8F8"
 
|-valign="top" style="background:#F8F8F8"
Line 986: Line 875:
 
| style="background:darkred; color:white;" | N  <!-- QS  -->
 
| style="background:darkred; color:white;" | N  <!-- QS  -->
 
| style="background:green; color:white;" | Y  <!-- QSS -->
 
| style="background:green; color:white;" | Y  <!-- QSS -->
| style="background:green; color:white;" | Y <!-- VK  -->
+
| style="background:darkred; color:white;" | N <!-- VK  -->
 
| style="background:darkred; color:white;" | N  <!-- MkV -->
 
| style="background:darkred; color:white;" | N  <!-- MkV -->
 
| style="background:darkred; color:white;" | N  <!-- EZ  -->
 
| style="background:darkred; color:white;" | N  <!-- EZ  -->
Line 1,002: Line 891:
 
| style="background:darkred; color:white;" | N  <!-- MkV -->
 
| style="background:darkred; color:white;" | N  <!-- MkV -->
 
| style="background:darkred; color:white;" | N  <!-- EZ  -->
 
| style="background:darkred; color:white;" | N  <!-- EZ  -->
| style="text-align:left;" | Echo: It‘s easy to convert a DarkPlaces particleinfo.txt file to be used with FTE, but you must do it manually at the console. FTE and QSS can directly use these only when explcitly configured to do so - either r_particledesc effectinfo or a mod that explicitly calls particleeffectnum("effectinfo.something")
+
| style="text-align:left;" | Echos: It‘s easy to convert a DarkPlaces particleinfo.txt file to be used with FTE, but you must do it manually at the console. FTE and QSS can directly use these only when explcitly configured to do so - either r_particledesc effectinfo or a mod that explicitly calls particleeffectnum("effectinfo.something")
  
 
|}
 
|}
Line 1,023: Line 912:
 
| Quake3
 
| Quake3
 
| (.shader)
 
| (.shader)
| style="background:yellowgreen; color:black;" | Y  <!-- FTE -->
+
| style="background:yellow; color:black;" | Y  <!-- FTE -->
 
| style="background:yellow; color:black;" | Y  <!-- DP  -->
 
| style="background:yellow; color:black;" | Y  <!-- DP  -->
 
| style="background:darkred; color:white;" | N  <!-- QS  -->
 
| style="background:darkred; color:white;" | N  <!-- QS  -->
Line 1,030: Line 919:
 
| style="background:darkred; color:white;" | N  <!-- MkV -->
 
| style="background:darkred; color:white;" | N  <!-- MkV -->
 
| style="background:darkred; color:white;" | N  <!-- EZ  -->
 
| style="background:darkred; color:white;" | N  <!-- EZ  -->
| style="text-align:left;" | Technically a list of materials, rather than a true shader.<br>Q3 shaders were not designed with rtlights in mind but otherwise work correctly in FTE (and are quite explicit, so can result in other effects getting disabled). Not using the fte_program term can result in lower performance in FTE - especially for skeletal models. DP supports single stage shaders only. Many shaders from Q3 will not work in DP due to the multiple stages, and shaders designed only for DP are malformed as far as Q3+FTE are concerned (ie: expect weirdness).
+
| style="text-align:left;" | '''Partial support.''' Not using the ftee_program term can result in lower performance in FTE - especially for skeletal models. Realtime lighting breaks these shaders in FTE. DP supports single stage shaders only. Many shaders from Q3 will not work in DP due to the multiple stages, and shaders designed only for DP are malformed as far as Q3+FTE are concerned (ie: expect weirdness).
  
 
|-valign="top" style="background:#F8F8F8"
 
|-valign="top" style="background:#F8F8F8"
 
| GLSL
 
| GLSL
| (.glsl)
+
| (.???)
 
| style="background:green; color:white;" | Y  <!-- FTE -->
 
| style="background:green; color:white;" | Y  <!-- FTE -->
 
| style="background:darkred; color:white;" | N  <!-- DP  -->
 
| style="background:darkred; color:white;" | N  <!-- DP  -->
Line 1,042: Line 931:
 
| style="background:darkred; color:white;" | N  <!-- MkV -->
 
| style="background:darkred; color:white;" | N  <!-- MkV -->
 
| style="background:darkred; color:white;" | N  <!-- EZ  -->
 
| style="background:darkred; color:white;" | N  <!-- EZ  -->
| style="text-align:left;" | Echo: FTE allows you to create shaders with GLSL. DP only uses GLSL internally. Use Q3 bsp & shader for compat w/ both.
+
| style="text-align:left;" | Echos: FTE allows you to create shaders with GLSL. DP only uses GLSL internally. Use Q3 bsp & shader for compat w/ both.
  
 
|}
 
|}
  
 
{| class="wikitable" style="width:100%; background:#999; text-align:center;" cellpadding="4" cellspacing="1"
 
{| class="wikitable" style="width:100%; background:#999; text-align:center;" cellpadding="4" cellspacing="1"
 
 
==Script File==
 
==Script File==
 
|-valign="top" style="background:#F8F8F8"
 
|-valign="top" style="background:#F8F8F8"
Line 1,071: Line 959:
 
| style="background:green; color:white;" | Y  <!-- MkV -->
 
| style="background:green; color:white;" | Y  <!-- MkV -->
 
| style="background:green; color:white;" | Y  <!-- EZ  -->
 
| style="background:green; color:white;" | Y  <!-- EZ  -->
| style="text-align:left;" |  
+
| style="text-align:left;" | none
|}
 
 
 
{| class="wikitable" style="width:100%; background:#999; text-align:center;" cellpadding="4" cellspacing="1"
 
==Sound Effect File==
 
|-valign="top" style="background:#F8F8F8"
 
! Format
 
! Ext
 
! FTE
 
! DP
 
! QS
 
! QSS
 
! VK
 
! MkV
 
! EZ
 
! Notes
 
 
 
|-valign="top" style="background:#F8F8F8"
 
| Waveform
 
| (.wav)
 
| style="background:green; color:white;" | Y  <!-- FTE -->
 
| style="background:green; color:white;" | Y  <!-- DP  -->
 
| style="background:green; color:white;" | Y  <!-- QS  -->
 
| style="background:green; color:white;" | Y  <!-- QSS -->
 
| style="background:green; color:white;" | Y  <!-- VK  -->
 
| style="background:green; color:white;" | Y  <!-- MkV -->
 
| style="background:green; color:white;" | Y  <!-- EZ  -->
 
| style="text-align:left;" | DP+FTE support stereo wav files, QSS will average the channels and load game sounds as mono. FTE supports float wavs, the others do not.
 
 
 
|-valign="top" style="background:#F8F8F8"
 
| Ogg Vorbis
 
| (.ogg)
 
| style="background:green; color:white;" | Y  <!-- FTE -->
 
| style="background:green; color:white;" | Y  <!-- DP  -->
 
| style="background:darkred; color:white;" | N  <!-- QS  -->
 
| style="background:green; color:white;" | Y  <!-- QSS -->
 
| style="background:darkred; color:white;" | N  <!-- VK  -->
 
| style="background:darkred; color:white;" | N  <!-- MkV -->
 
| style="background:darkred; color:white;" | N  <!-- EZ  -->
 
| style="text-align:left;" | QS only supports oggs for music, not game sounds.
 
 
 
|-valign="top" style="background:#F8F8F8"
 
| Ogg Opus
 
| (.opus)
 
| style="background:yellow; color:black;" | ffmpeg  <!-- FTE -->
 
| style="background:darkred; color:white;" | N  <!-- DP  -->
 
| style="background:darkred; color:white;" | N  <!-- QS  -->
 
| style="background:green; color:white;" | Y  <!-- QSS -->
 
| style="background:darkred; color:white;" | N  <!-- VK  -->
 
| style="background:darkred; color:white;" | N  <!-- MkV -->
 
| style="background:darkred; color:white;" | N  <!-- EZ  -->
 
| style="text-align:left;" | QS only supports opus for music, not game sounds. FTE can load this audio formats via its ffmpeg plugin (and pretty much any other too).
 
 
 
|-valign="top" style="background:#F8F8F8"
 
| MPEG 2 layer 3
 
| (.mp3)
 
| style="background:yellow; color:black;" | Win / ffmpeg <!-- FTE -->
 
| style="background:darkred; color:white;" | N  <!-- DP  -->
 
| style="background:darkred; color:white;" | N  <!-- QS  -->
 
| style="background:green; color:white;" | Y  <!-- QSS -->
 
| style="background:darkred; color:white;" | N  <!-- VK  -->
 
| style="background:darkred; color:white;" | N  <!-- MkV -->
 
| style="background:darkred; color:white;" | N  <!-- EZ  -->
 
| style="text-align:left;" | FTE can use MP3 as a sound effect on windows, or via ffmpeg on other systems.
 
 
 
 
|}
 
|}
  
 
{| class="wikitable" style="width:100%; background:#999; text-align:center;" cellpadding="4" cellspacing="1"
 
{| class="wikitable" style="width:100%; background:#999; text-align:center;" cellpadding="4" cellspacing="1"
==Music Track File==
+
==Sound File==
 
|-valign="top" style="background:#F8F8F8"
 
|-valign="top" style="background:#F8F8F8"
 
! Format
 
! Format
Line 1,155: Line 979:
 
| CD Audio
 
| CD Audio
 
| (none)
 
| (none)
| style="background:yellowgreen; color:black;" | Y  <!-- FTE -->
+
| style="background:green; color:white;" | Y  <!-- FTE -->
 
| style="background:green; color:white;" | Y  <!-- DP  -->
 
| style="background:green; color:white;" | Y  <!-- DP  -->
 
| style="background:darkred; color:white;" | N  <!-- QS  -->
 
| style="background:darkred; color:white;" | N  <!-- QS  -->
Line 1,162: Line 986:
 
| style="background:darkred; color:white;" | N  <!-- MkV -->
 
| style="background:darkred; color:white;" | N  <!-- MkV -->
 
| style="background:darkred; color:white;" | N  <!-- EZ  -->
 
| style="background:darkred; color:white;" | N  <!-- EZ  -->
| style="text-align:left;" | SDL2-based engines cannot support cd audio, and are likely to no longer support the 'cd' command too. FTE requires -cdaudio commandline arg, or 'cd on' arg to actually enable it.
+
| style="text-align:left;" | SDL2 engines no longer support cd audio. All four engines support fake tracks, but don't depend on the cd command still existing if you want to change track. Currently FTE and DP still do have the cd command, while QS & QSS don't.
  
 
|-valign="top" style="background:#F8F8F8"
 
|-valign="top" style="background:#F8F8F8"
Line 1,172: Line 996:
 
| style="background:green; color:white;" | Y  <!-- QSS -->
 
| style="background:green; color:white;" | Y  <!-- QSS -->
 
| style="background:green; color:white;" | Y  <!-- VK  -->
 
| style="background:green; color:white;" | Y  <!-- VK  -->
| style="background:olive; color:white;" | N <!-- MkV -->
+
| style="background:green; color:white;" | Y <!-- MkV -->
| style="background:darkred; color:white;" | N <!-- EZ  -->
+
| style="background:green; color:white;" | Y <!-- EZ  -->
| style="text-align:left;" | This is specific to MUSIC playback (hence some Ns here). FTE supports float wavs, the others do not. All supporting engines also support stereo wavs, which isn't necessarily also true for game sounds.
+
| style="text-align:left;" | DP+FTE support stereo wav files, QSS will average the channels and load game sounds as mono. FTE supports float wavs, the others do not.
  
 
|-valign="top" style="background:#F8F8F8"
 
|-valign="top" style="background:#F8F8F8"
Line 1,181: Line 1,005:
 
| style="background:green; color:white;" | Y  <!-- FTE -->
 
| style="background:green; color:white;" | Y  <!-- FTE -->
 
| style="background:green; color:white;" | Y  <!-- DP  -->
 
| style="background:green; color:white;" | Y  <!-- DP  -->
| style="background:green; color:white;" | Y  <!-- QS  -->
+
| style="background:yellow; color:black;" | Y  <!-- QS  -->
| style="background:green; color:white;" | Y  <!-- QSS -->
+
| style="background:yellow; color:black;" | Y  <!-- QSS -->
| style="background:green; color:white;" | Y  <!-- VK  -->
+
| style="background:yellow; color:black;" | Y  <!-- VK  -->
| style="background:olive; color:white;" | N <!-- MkV -->
+
| style="background:yellow; color:black;" | Y <!-- MkV -->
| style="background:darkred; color:white;" | N <!-- EZ  -->
+
| style="background:yellow; color:black;" | Y <!-- EZ  -->
| style="text-align:left;" | QS only supports oggs for music, not game sounds. MkV only plays ogg vorbis music when the files are misnamed as '.mp3', and is dependant upon system codecs, and cannot be inside a pak, so basically doesn't play them. They're otherwise the most widely supported compressed music format.
+
| style="text-align:left;" | QS only supports oggs for music, not game sounds.
  
 
|-valign="top" style="background:#F8F8F8"
 
|-valign="top" style="background:#F8F8F8"
 
| Ogg Opus
 
| Ogg Opus
 
| (.opus)
 
| (.opus)
| style="background:yellow; color:black;" | ffmpeg <!-- FTE -->
+
| style="background:darkred; color:white;" | N <!-- FTE -->
 
| style="background:darkred; color:white;" | N  <!-- DP  -->
 
| style="background:darkred; color:white;" | N  <!-- DP  -->
| style="background:green; color:white;" | Y  <!-- QS  -->
+
| style="background:yellow; color:black;" | Y  <!-- QS  -->
| style="background:green; color:white;" | Y  <!-- QSS -->
+
| style="background:yellow; color:black;" | Y  <!-- QSS -->
| style="background:green; color:white;" | Y  <!-- VK  -->
+
| style="background:yellow; color:black;" | Y  <!-- VK  -->
| style="background:olive; color:white;" | N <!-- MkV -->
+
| style="background:yellow; color:black;" | Y <!-- MkV -->
| style="background:darkred; color:white;" | N <!-- EZ  -->
+
| style="background:black; color:white;" | ? <!-- EZ  -->
| style="text-align:left;" | QS only supports opus for music, not game sounds. FTE can load this audio formats via its ffmpeg plugin. MKV only plays ogg opus music when the files are misnamed as '.mp3', and is dependant upon system codecs, and cannot be inside a pak.
+
| style="text-align:left;" | QS only supports opus for music, not game sounds. FTE can load this audio formats via its ffmpeg plugin (and pretty much any other too).
  
 
|-valign="top" style="background:#F8F8F8"
 
|-valign="top" style="background:#F8F8F8"
 
| MPEG 2 layer 3
 
| MPEG 2 layer 3
 
| (.mp3)
 
| (.mp3)
| style="background:yellow; color:black;" | Win / ffmpeg <!-- FTE -->
+
| style="background:yellow; color:black;" | Win  <!-- FTE -->
 
| style="background:darkred; color:white;" | N  <!-- DP  -->
 
| style="background:darkred; color:white;" | N  <!-- DP  -->
 
| style="background:green; color:white;" | Y  <!-- QS  -->
 
| style="background:green; color:white;" | Y  <!-- QS  -->
 
| style="background:green; color:white;" | Y  <!-- QSS -->
 
| style="background:green; color:white;" | Y  <!-- QSS -->
 
| style="background:green; color:white;" | Y  <!-- VK  -->
 
| style="background:green; color:white;" | Y  <!-- VK  -->
| style="background:yellowgreen; color:black;" | Y  <!-- MkV -->
+
| style="background:green; color:white;" | Y  <!-- MkV -->
| style="background:darkred; color:white;" | N <!-- EZ  -->
+
| style="background:green; color:white;" | Y <!-- EZ  -->
| style="text-align:left;" | Engines will load id1/music/*.ogg in preference to mod/music/*.mp3, so this is only useful for users ripping their own fake-track audio. QS only supports mp3s for music, not game sounds. MKV cannot play mp3s inside pak files. FTE can fall back on its ffmpeg plugin for playback on non-windows.
+
| style="text-align:left;" | Engines will load id1/music/*.ogg in preference to mod/music/*.mp3, so this is only useful for users ripping their own fake-track audio. QS only supports mp3s for music, not game sounds.
 
 
|-valign="top" style="background:#F8F8F8"
 
| FLAC
 
| (.flac)
 
| style="background:yellow; color:black;" | ffmpeg  <!-- FTE -->
 
| style="background:darkred; color:white;" | N  <!-- DP  -->
 
| style="background:green; color:white;" | Y  <!-- QS  -->
 
| style="background:green; color:white;" | Y  <!-- QSS -->
 
| style="background:green; color:white;" | Y  <!-- VK  -->
 
| style="background:olive; color:white;" | N  <!-- MkV -->
 
| style="background:darkred; color:white;" | N  <!-- EZ  -->
 
| style="text-align:left;" | MKV only plays ogg flac music when the files are misnamed as '.mp3', and is dependant upon system codecs, and cannot be inside a pak. So basically doesn't support it.
 
  
 
|}
 
|}
Line 1,431: Line 1,243:
 
| style="background:darkred; color:white;" | N  <!-- EZ  -->
 
| style="background:darkred; color:white;" | N  <!-- EZ  -->
 
| style="text-align:left;" | LH: videos from the game "Blood Omen: Legacy of Cain" for use in the DP port "Blood Omnicide: Legacy of Cain." Requires an original playstation game disc.
 
| style="text-align:left;" | LH: videos from the game "Blood Omen: Legacy of Cain" for use in the DP port "Blood Omnicide: Legacy of Cain." Requires an original playstation game disc.
 
|}
 
 
{| class="wikitable" style="width:100%; background:#999; text-align:center;" cellpadding="4" cellspacing="1"
 
==Pathfinding==
 
|-valign="top" style="background:#F8F8F8"
 
! Format
 
! Ext
 
! FTE
 
! DP
 
! QS
 
! QSS
 
! VK
 
! MkV
 
! EZ
 
! Notes
 
 
|-valign="top" style="background:#F8F8F8"
 
| Quake3
 
| (.aas)
 
| style="background:green; color:white;" | Y  <!-- FTE -->
 
| style="background:darkred; color:white;" | N  <!-- DP  -->
 
| style="background:darkred; color:white;" | N  <!-- QS  -->
 
| style="background:darkred; color:white;" | N  <!-- QSS -->
 
| style="background:darkred; color:white;" | N  <!-- VK  -->
 
| style="background:darkred; color:white;" | N  <!-- MkV -->
 
| style="background:darkred; color:white;" | N  <!-- EZ  -->
 
| style="text-align:left;" | Spike: Strictly in there for Q3 bots.
 
 
|-valign="top" style="background:#F8F8F8"
 
| Way
 
| (.way)
 
| style="background:green; color:white;" | Y  <!-- FTE -->
 
| style="background:darkred; color:white;" | N  <!-- DP  -->
 
| style="background:darkred; color:white;" | N  <!-- QS  -->
 
| style="background:darkred; color:white;" | N  <!-- QSS -->
 
| style="background:darkred; color:white;" | N  <!-- VK  -->
 
| style="background:darkred; color:white;" | N  <!-- MkV -->
 
| style="background:darkred; color:white;" | N  <!-- EZ  -->
 
| style="text-align:left;" | Text files that follow a specific syntax.
 
 
|}
 
 
{| class="wikitable" style="width:100%; background:#999; text-align:center;" cellpadding="4" cellspacing="1"
 
== File Archives ==
 
|-valign="top" style="background:#F8F8F8"
 
! Format
 
! Ext
 
! FTE
 
! DP
 
! QS
 
! QSS
 
! VK
 
! MkV
 
! EZ
 
! Notes
 
 
|-valign="top" style="background:#F8F8F8"
 
| Quake PAK
 
| (.pak)
 
| style="background:green; color:white;" | Y  <!-- FTE -->
 
| style="background:green; color:white;" | Y  <!-- DP  -->
 
| style="background:green; color:white;" | Y  <!-- QS  -->
 
| style="background:green; color:white;" | Y  <!-- QSS -->
 
| style="background:green; color:white;" | Y  <!-- VK  -->
 
| style="background:green; color:white;" | Y  <!-- MkV -->
 
| style="background:green; color:white;" | Y  <!-- EZ  -->
 
| style="text-align:left;" | Uncompressed.
 
 
|-valign="top" style="background:#F8F8F8"
 
| Quake III PK3
 
| (.pk3)
 
| style="background:green; color:white;" | Y  <!-- FTE -->
 
| style="background:grey; color:white;" | ?  <!-- DP  -->
 
| style="background:darkred; color:white;" | N  <!-- QS  -->
 
| style="background:green; color:white;" | Y  <!-- QSS -->
 
| style="background:grey; color:white;" | ?  <!-- VK  -->
 
| style="background:grey; color:white;" | ?  <!-- MkV -->
 
| style="background:grey; color:white;" | ? <!-- EZ  -->
 
| style="text-align:left;" | Actually a renamed ZIP file.
 
Can use Deflate compression, or be uncompressed.
 
  
 
|}
 
|}

Please note that all contributions to Quake Wiki are considered to be released under the GNU Free Documentation License 1.3 or later (see Quake Wiki:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!

To edit this page, please answer the question that appears below (more info):

Cancel | Editing help (opens in new window)