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;" | | + | | 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 34: | Line 35: | ||
| 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: | + | | style="background:black; color:white;" | ? <!-- EZ --> |
− | | | + | | Swimmy when animating. Yuck. |
|-valign="top" style="background:#F8F8F8" | |-valign="top" style="background:#F8F8F8" | ||
Line 46: | Line 47: | ||
| 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: | + | | style="background:black; color:white;" | Y <!-- EZ --> |
− | | style="text-align:left;" | | + | | 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: | + | | 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;" | | + | | 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" | |-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: | + | | style="background:darkred; color:white;" | N <!-- QSS --> |
− | | style="background: | + | | 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: | + | | style="background:darkred; color:white;" | N <!-- QSS --> |
− | | style="background: | + | | 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 | ||
− | | (. | + | | (.???) |
| 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;" | | + | | 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 | + | | 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 --> | ||
− | | | + | | 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;" | | + | | 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: | + | | 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 | + | | 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;" | | + | | 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" | ||
− | | | + | | 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: | + | | 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 365: | Line 353: | ||
| 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: | + | | style="background:black; color:white;" | Y <!-- VK --> |
− | | style="background: | + | | style="background:black; color:white;" | Y <!-- MkV --> |
− | | style="background: | + | | style="background:black; color:white;" | Y <!-- EZ --> |
| style="text-align:left;" | All 16bit limits increased to 32bit (with the 16bit coords becoming floats). | | style="text-align:left;" | All 16bit limits increased to 32bit (with the 16bit coords becoming floats). | ||
Line 395: | Line 383: | ||
|-valign="top" style="background:#F8F8F8" | |-valign="top" style="background:#F8F8F8" | ||
− | | Half-Life | + | | 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: | + | | 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: | + | | 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: | + | | 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: | + | | 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 | + | | 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 610: | Line 611: | ||
| 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: | + | | style="background:black; color:white;" | ? <!-- VK --> |
− | | style="background: | + | | style="background:black; color:white;" | ? <!-- MkV --> |
− | | style="background: | + | | style="background:black; color:white;" | ? <!-- EZ --> |
| style="text-align:left;" | LH: DP can use .obj as a map if you provide a .ent file with it. Can be used to fix z-fighting bugs, fix entities in walls, remove quad in small deathmatch maps, etc. | | style="text-align:left;" | LH: DP can use .obj as a map if you provide a .ent file with it. Can be used to fix z-fighting bugs, fix entities in walls, remove quad in small deathmatch maps, etc. | ||
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;" | | + | | 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. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|} | |} | ||
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" | ||
− | | | + | | Targa |
| (.tga) | | (.tga) | ||
| style="background:green; color:white;" | Y <!-- FTE --> | | style="background:green; color:white;" | Y <!-- FTE --> | ||
Line 710: | Line 699: | ||
| 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: | + | | style="background:black; color:white;" | Y <!-- VK --> |
− | | style="background: | + | | style="background:black; color:white;" | Y <!-- MkV --> |
− | | style="background: | + | | style="background:black; color:white;" | Y <!-- EZ --> |
− | | style="text-align:left;" | | + | | style="text-align:left;" | none |
|-valign="top" style="background:#F8F8F8" | |-valign="top" style="background:#F8F8F8" | ||
− | | | + | | Image |
| (.pcx) | | (.pcx) | ||
| style="background:green; color:white;" | Y <!-- FTE --> | | style="background:green; color:white;" | Y <!-- FTE --> | ||
Line 722: | Line 711: | ||
| 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: | + | | style="background:black; color:white;" | Y <!-- VK --> |
− | | style="background: | + | | style="background:black; color:white;" | Y <!-- MkV --> |
− | | style="background: | + | | style="background:black; color:white;" | Y <!-- EZ --> |
− | | style="text-align:left;" | | + | | style="text-align:left;" | none |
|-valign="top" style="background:#F8F8F8" | |-valign="top" style="background:#F8F8F8" | ||
− | | | + | | 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: | + | | 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" | ||
− | | | + | | 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: | + | | style="background:darkred; color:white;" | N <!-- EZ --> |
− | | style="text-align:left;" | | + | | 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" | ||
− | | | + | | Texture Wad |
| (.wad) | | (.wad) | ||
| style="background:green; color:white;" | Y <!-- FTE --> | | style="background:green; color:white;" | Y <!-- FTE --> | ||
Line 771: | Line 760: | ||
| style="background:darkred; color:white;" | N <!-- QS --> | | style="background:darkred; color:white;" | N <!-- QS --> | ||
| style="background:darkred; color:white;" | N <!-- QSS --> | | style="background:darkred; color:white;" | N <!-- QSS --> | ||
− | | style="background: | + | | style="background:black; color:white;" | ? <!-- VK --> |
− | | style="background: | + | | style="background:black; color:white;" | ? <!-- MkV --> |
− | | style="background: | + | | style="background:black; color:white;" | ? <!-- EZ --> |
− | | style="text-align:left;" | | + | | style="text-align:left;" | Required for halflife bsp support. |
|-valign="top" style="background:#F8F8F8" | |-valign="top" style="background:#F8F8F8" | ||
− | | | + | | Image |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
| (.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" | ||
− | | | + | | 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. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|} | |} | ||
{| 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;" | | + | | 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;" | | + | | style="text-align:left;" | none |
|-valign="top" style="background:#F8F8F8" | |-valign="top" style="background:#F8F8F8" | ||
− | | Half-Life | + | | 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;" | | + | | style="text-align:left;" | none |
− | |||
|} | |} | ||
{| 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: | + | | 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;" | | + | | 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: | + | | 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;" | | + | | 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 | ||
− | | (. | + | | (.???) |
| 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;" | | + | | 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" | {| class="wikitable" style="width:100%; background:#999; text-align:center;" cellpadding="4" cellspacing="1" | ||
− | ==Sound | + | ==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: | + | | 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 | + | | 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,171: | Line 995: | ||
| 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: | + | | style="background:black; color:white;" | Y <!-- VK --> |
− | | style="background: | + | | style="background:black; color:white;" | Y <!-- MkV --> |
− | | style="background: | + | | style="background:black; color:white;" | Y <!-- EZ --> |
− | | style="text-align:left;" | | + | | 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: | + | | style="background:yellow; color:black;" | Y <!-- QS --> |
− | | style="background: | + | | style="background:yellow; color:black;" | Y <!-- QSS --> |
− | | style="background: | + | | style="background:yellow; color:black;" | Y <!-- VK --> |
− | | style="background: | + | | style="background:black; color:white;" | Y <!-- MkV --> |
− | | style="background: | + | | style="background:black; color:white;" | Y <!-- EZ --> |
− | | style="text-align:left;" | QS only supports oggs for music, not game sounds | + | | 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: | + | | style="background:darkred; color:white;" | N <!-- FTE --> |
| style="background:darkred; color:white;" | N <!-- DP --> | | style="background:darkred; color:white;" | N <!-- DP --> | ||
− | | style="background: | + | | style="background:yellow; color:black;" | Y <!-- QS --> |
− | | style="background: | + | | style="background:yellow; color:black;" | Y <!-- QSS --> |
− | | style="background: | + | | style="background:black; color:white;" | ? <!-- VK --> |
− | | style="background: | + | | style="background:black; color:white;" | ? <!-- MkV --> |
− | | style="background: | + | | 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 | + | | 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 | + | | 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: | + | | style="background:black; color:white;" | Y <!-- VK --> |
− | | style="background: | + | | style="background:black; color:white;" | Y <!-- MkV --> |
− | | style="background: | + | | style="background:black; 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 | + | | 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. |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|} | |} | ||
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. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|} | |} |