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 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 --> | ||
− | | | + | | 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;" | | + | | 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:yellow; color:white;" | Y <!-- 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. QSS has some animation frame timing issues related to lerping. |
|-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" | ||
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 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 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 637: | Line 625: | ||
| 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 638: | ||
| 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 665: | ||
| 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 677: | ||
| 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 713: | Line 689: | ||
| 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" | ||
− | | | + | | Image |
| (.pcx) | | (.pcx) | ||
| style="background:green; color:white;" | Y <!-- FTE --> | | style="background:green; color:white;" | Y <!-- FTE --> | ||
Line 725: | Line 701: | ||
| 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" | ||
− | | | + | | Image |
| (.png) | | (.png) | ||
| style="background:green; color:white;" | Y <!-- FTE --> | | style="background:green; color:white;" | Y <!-- FTE --> | ||
Line 736: | Line 712: | ||
| 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 724: | ||
| 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 738: | ||
| 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 (of other game) |
| (.wad) | | (.wad) | ||
| style="background:green; color:white;" | Y <!-- FTE --> | | style="background:green; color:white;" | Y <!-- FTE --> | ||
Line 774: | Line 750: | ||
| 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;" | | + | | 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 765: | ||
|-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 775: | ||
| 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 814: | ||
| 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 826: | ||
| 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 838: | ||
| 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 862: | ||
| 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 878: | ||
| 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 899: | ||
| 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 906: | ||
| 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 918: | ||
| 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 946: | ||
| 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 |
|} | |} | ||
Line 1,106: | Line 981: | ||
| 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 --> | ||
Line 1,115: | Line 990: | ||
| 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: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: | + | | 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 (and pretty much any other too). | | 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). | ||
Line 1,127: | Line 1,002: | ||
| 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: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;" | FTE can use MP3 as a sound effect on windows | + | | style="text-align:left;" | FTE can use MP3 as a sound effect, on windows only. |
|} | |} | ||
Line 1,155: | Line 1,030: | ||
| 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 1,037: | ||
| 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,172: | Line 1,047: | ||
| 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: | + | | style="background:green; color:white;" | Y <!-- MkV --> |
− | | style="background: | + | | style="background:green; 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,184: | Line 1,059: | ||
| 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: | + | | style="background:green; color:white;" | Y <!-- MkV --> |
− | | style="background: | + | | style="background:green; 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: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: | + | | style="background:green; color:white;" | Y <!-- 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:green; color:white;" | Y <!-- VK --> | | style="background:green; color:white;" | Y <!-- VK --> | ||
− | | style="background: | + | | style="background:green; color:white;" | Y <!-- MkV --> |
− | | style="background: | + | | 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 | + | | 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" | |-valign="top" style="background:#F8F8F8" | ||
| FLAC | | FLAC | ||
| (.flac) | | (.flac) | ||
− | | style="background: | + | | style="background:darkred; color:white;" | N <!-- FTE --> |
− | | style="background: | + | | style="background:black; color:white;" | ? <!-- 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: | + | | style="background:black; color:white;" | ? <!-- MkV --> |
| style="background:darkred; color:white;" | N <!-- EZ --> | | style="background:darkred; color:white;" | N <!-- 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. |
|} | |} | ||
Line 1,431: | Line 1,306: | ||
| 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. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|} | |} |