Hosting and domain costs until October 2024 have been generously sponsored by dumptruck_ds. Thank you!
Difference between revisions of "FTEQW File Formats"
From Quake Wiki
Line 32: | Line 32: | ||
| style="background:darkred; color:white;" | N | | style="background:darkred; color:white;" | N | ||
| style="background:darkred; color:white;" | N | | style="background:darkred; color:white;" | N | ||
− | | | + | | Swimmy when animating. Yuck. |
| none | | none | ||
| none | | none | ||
Line 54: | Line 54: | ||
| style="background:darkred; color:white;" | N | | style="background:darkred; color:white;" | N | ||
| style="background:darkred; color:white;" | N | | style="background:darkred; color:white;" | N | ||
− | | 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, | + | | 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. |
+ | | none | ||
+ | | none | ||
− | + | |-valign="top" style="background:#F8F8F8" | |
+ | | Extended Inter-Quake Model | ||
+ | | (.vvm) | ||
+ | | style="background:green; color:white;" | Y | ||
+ | | style="background:darkred; color:white;" | N | ||
+ | | style="background:darkred; color:white;" | N | ||
+ | | style="background:darkred; color:white;" | N | ||
+ | | style="text-align:left;" | Superset of iqm models that adds additional info, allowing for animation events, separate hitmesh, geomsets, and region-specific feedback/damage. | ||
| none | | none | ||
| none | | none | ||
Line 67: | Line 76: | ||
| style="background:darkred; color:white;" | N | | style="background:darkred; color:white;" | N | ||
| style="background:darkred; color:white;" | N | | style="background:darkred; color:white;" | N | ||
− | | | + | | No framegroups/animations (just individual poses). |
| none | | none | ||
| none | | none | ||
Line 78: | Line 87: | ||
| style="background:darkred; color:white;" | N | | style="background:darkred; color:white;" | N | ||
| style="background:darkred; color:white;" | N | | style="background:darkred; color:white;" | N | ||
− | | | + | | Slow to load (although easy to export). the separate .psa files contain the animation data in an external file. |
| none | | none | ||
| none | | none | ||
Line 89: | Line 98: | ||
| style="background:darkred; color:white;" | N | | style="background:darkred; color:white;" | N | ||
| style="background:darkred; color:white;" | N | | style="background:darkred; color:white;" | N | ||
− | | | + | | Only one bone influence per vertex. |
| none | | none | ||
| none | | none | ||
Line 100: | Line 109: | ||
| style="background:darkred; color:white;" | N | | style="background:darkred; color:white;" | N | ||
| style="background:darkred; color:white;" | N | | style="background:darkred; color:white;" | N | ||
− | | | + | | Has no animation data. |
| none | | none | ||
| none | | none | ||
Line 111: | Line 120: | ||
| style="background:darkred; color:white;" | N | | style="background:darkred; color:white;" | N | ||
| style="background:darkred; color:white;" | N | | style="background:darkred; color:white;" | N | ||
− | | | + | | Has no mesh data. |
| none | | none | ||
| none | | none | ||
Line 133: | Line 142: | ||
| style="background:darkred; color:white;" | N | | style="background:darkred; color:white;" | N | ||
| style="background:darkred; color:white;" | N | | style="background:darkred; color:white;" | N | ||
− | | | + | | Boo Hiss. |
| none | | none | ||
| none | | none | ||
|-valign="top" style="background:#F8F8F8" | |-valign="top" style="background:#F8F8F8" | ||
− | | | + | | Hexen2MP |
| (.mdl) | | (.mdl) | ||
| style="background:green; color:white;" | Y | | style="background:green; color:white;" | Y | ||
Line 144: | Line 153: | ||
| style="background:darkred; color:white;" | N | | style="background:darkred; color:white;" | N | ||
| style="background:darkred; color:white;" | N | | style="background:darkred; color:white;" | N | ||
− | | | + | | Only used in the missionpack. |
| none | | none | ||
| none | | none | ||
Line 155: | Line 164: | ||
| style="background:darkred; color:white;" | N | | style="background:darkred; color:white;" | N | ||
| style="background:darkred; color:white;" | N | | style="background:darkred; color:white;" | N | ||
− | | | + | | Text format that allows extracting the animation data from numerous models, to combine with extracted mesh data. This allows you to use eg md5 models without using skeletal objects(csqc). |
| none | | none | ||
| none | | none | ||
Line 166: | Line 175: | ||
| style="background:darkred; color:white;" | N | | style="background:darkred; color:white;" | N | ||
| style="background:darkred; color:white;" | N | | style="background:darkred; color:white;" | N | ||
− | | 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. | + | | 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. |
| none | | none | ||
| none | | none | ||
Line 188: | Line 197: | ||
| style="background:darkred; color:white;" | N | | style="background:darkred; color:white;" | N | ||
| style="background:darkred; color:white;" | N | | style="background:darkred; color:white;" | N | ||
− | | 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 | + | | 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. |
− | |||
− | for informational purposes, no point to load it in engine. | ||
| none | | none | ||
| none | | none | ||
Line 216: | Line 223: | ||
| style="background:darkred; color:white;" | N | | style="background:darkred; color:white;" | N | ||
| style="background:darkred; color:white;" | N | | style="background:darkred; color:white;" | N | ||
− | | style="text-align:left;" | | + | | style="text-align:left;" | Texture alignment+size is dependant upon correct texture sizes. Replacement textures will generally appear zoomed in/wrong - texture wads are expected to follow halflife rules (ie: path is ignored, the wad must be id1/*.wad or moddir/*.wad). Don't expect good performance, especially with rtlights. |
| none | | none | ||
| none | | none | ||
Line 224: | Line 231: | ||
| (.map) | | (.map) | ||
| style="background:black; color:white;" | ? | | style="background:black; color:white;" | ? | ||
− | | style="background: | + | | style="background:darkred; color:white;" | N |
− | | style="background: | + | | style="background:darkred; color:white;" | N |
− | | style="background: | + | | style="background:darkred; color:white;" | N |
| style="text-align:left;" | none | | style="text-align:left;" | none | ||
| none | | none | ||
Line 234: | Line 241: | ||
| Quake3 | | Quake3 | ||
| (.map) | | (.map) | ||
− | | style="background: | + | | style="background:green; color:white;" | Y |
− | | style="background: | + | | style="background:darkred; color:white;" | N |
− | | style="background: | + | | style="background:darkred; color:white;" | N |
− | | style="background: | + | | style="background:darkred; color:white;" | N |
− | | style="text-align:left;" | none | + | | style="text-align:left;" | FTE will display patches only using their control points. |
+ | | none | ||
+ | | none | ||
+ | |||
+ | |-valign="top" style="background:#F8F8F8" | ||
+ | | Quake3 Brush-Plane | ||
+ | | (.map) | ||
+ | | style="background:darkred; color:white;" | N | ||
+ | | style="background:darkred; color:white;" | N | ||
+ | | style="background:darkred; color:white;" | N | ||
+ | | style="background:darkred; color:white;" | N | ||
+ | | style="text-align:left;" | An alternative way of expressing texture coords. | ||
| none | | none | ||
| none | | none | ||
Line 245: | Line 263: | ||
| Half-Life | | Half-Life | ||
| (.map) | | (.map) | ||
− | | style="background: | + | | style="background:green; color:white;" | Y |
− | | style="background: | + | | style="background:darkred; color:white;" | N |
− | | style="background: | + | | style="background:darkred; color:white;" | N |
− | | style="background: | + | | style="background:darkred; color:white;" | N |
− | | style="text-align:left;" | | + | | style="text-align:left;" | valve's 220 format allows more texture coords to be expressed more precisely. |
| none | | none | ||
| none | | none | ||
Line 276: | Line 294: | ||
| style="background:green; color:white;" | Y | | style="background:green; color:white;" | Y | ||
| style="text-align:left;" | BSP29 Quake retail-release. | | style="text-align:left;" | BSP29 Quake retail-release. | ||
+ | | none | ||
+ | | none | ||
+ | |||
+ | |-valign="top" style="background:#F8F8F8" | ||
+ | | Hexen2 | ||
+ | | (.bsp) | ||
+ | | style="background:green; color:white;" | Y | ||
+ | | style="background:black; color:white;" | ? | ||
+ | | style="background:darkred; color:white;" | N | ||
+ | | style="background:green; color:white;" | Y | ||
+ | | style="text-align:left;" | Expect palette+hull issues when running in quake. | ||
| none | | none | ||
| none | | none | ||
Line 297: | Line 326: | ||
| style="background:darkred; color:white;" | N | | style="background:darkred; color:white;" | N | ||
| style="background:darkred; color:white;" | N | | style="background:darkred; color:white;" | N | ||
− | | style="text-align:left;" | | + | | style="text-align:left;" | All 16bit limits increased to 32bit (with the 16bit coords becoming floats). |
| none | | none | ||
| none | | none | ||
Line 308: | Line 337: | ||
| style="background:darkred; color:white;" | N | | style="background:darkred; color:white;" | N | ||
| style="background:darkred; color:white;" | N | | style="background:darkred; color:white;" | N | ||
− | | style="text-align:left;" | | + | | style="text-align:left;" | Yellow. |
| none | | none | ||
| none | | none | ||
Line 319: | Line 348: | ||
| style="background:darkred; color:white;" | N | | style="background:darkred; color:white;" | N | ||
| style="background:darkred; color:white;" | N | | style="background:darkred; color:white;" | N | ||
− | | style="text-align:left;" | | + | | style="text-align:left;" | So curvacious! |
| none | | none | ||
| none | | none | ||
Line 330: | Line 359: | ||
| style="background:darkred; color:white;" | N | | style="background:darkred; color:white;" | N | ||
| style="background:darkred; color:white;" | N | | style="background:darkred; color:white;" | N | ||
− | | style="text-align:left;" | | + | | style="text-align:left;" | Toolchain license issues. |
| none | | none | ||
| none | | none | ||
Line 375: | Line 404: | ||
| style="background:darkred; color:white;" | N | | style="background:darkred; color:white;" | N | ||
| style="text-align:left;" | Raven rbsp: Raven changed two lumps in the q3 format in SoF2/JK2/JA (brush sides and draw surfaces) | | style="text-align:left;" | Raven rbsp: Raven changed two lumps in the q3 format in SoF2/JK2/JA (brush sides and draw surfaces) | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
| none | | none | ||
| none | | none | ||
Line 434: | Line 450: | ||
| none | | none | ||
| none | | none | ||
+ | |||
+ | |-valign="top" style="background:#F8F8F8" | ||
+ | | BSPX lump: RGBLIGHTING | ||
+ | | (.bsp) | ||
+ | | style="background:green; color:white;" | Y | ||
+ | | style="background:darkred; color:white;" | N | ||
+ | | style="background:darkred; color:white;" | N | ||
+ | | style="background:green; color:white;" | Y | ||
+ | | 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. | ||
+ | | none | ||
+ | | none | ||
+ | |||
+ | |-valign="top" style="background:#F8F8F8" | ||
+ | | BSPX lump: LIGHTING_E5BGR9 | ||
+ | | (.bsp) | ||
+ | | style="background:green; color:white;" | Y | ||
+ | | style="background:darkred; color:white;" | N | ||
+ | | style="background:darkred; color:white;" | N | ||
+ | | style="background:darkred; color:white;" | N | ||
+ | | style="text-align:left;" | Shared-exponent floats are slightly larger but allow for more precision as well as significantly more overbrighting. | ||
+ | | none | ||
+ | | none | ||
+ | |||
+ | |-valign="top" style="background:#F8F8F8" | ||
+ | | BSPX lump: LIGHTINGDIR | ||
+ | | (.bsp) | ||
+ | | style="background:green; color:white;" | Y | ||
+ | | style="background:darkred; color:white;" | N | ||
+ | | style="background:darkred; color:white;" | N | ||
+ | | style="background:darkred; color:white;" | N | ||
+ | | style="text-align:left;" | Equivelent to a .lux file, but embedded into the bsp itself. Compile with ericw's light util using the -bspxlux argument. | ||
+ | | none | ||
+ | | none | ||
+ | |||
+ | |-valign="top" style="background:#F8F8F8" | ||
+ | | BSPX lump: LMSHIFT, LMOFFSET, LMSTYLE | ||
+ | | (.bsp) | ||
+ | | style="background:green; color:white;" | Y | ||
+ | | style="background:darkred; color:white;" | N | ||
+ | | style="background:darkred; color:white;" | N | ||
+ | | style="background:green; color:white;" | Y | ||
+ | | style="text-align:left;" | Allows per-surface lightmap scaling, for higher resolution lightmaps. This is why .lit2 was basically abandoned. | ||
+ | | none | ||
+ | | none | ||
+ | |||
+ | |-valign="top" style="background:#F8F8F8" | ||
+ | | BSPX lump: VERTEXNORMALS | ||
+ | | (.bsp) | ||
+ | | style="background:green; color:white;" | Y | ||
+ | | style="background:darkred; color:white;" | N | ||
+ | | style="background:darkred; color:white;" | N | ||
+ | | style="background:darkred; color:white;" | N | ||
+ | | style="text-align:left;" | Allows rtlights+specular lighting effects to respect 'phong'/edge smoothing. ericw stripped support for this from his tool. | ||
+ | | none | ||
+ | | none | ||
+ | |||
+ | |-valign="top" style="background:#F8F8F8" | ||
+ | | BSPX lump: BRUSHLIST | ||
+ | | (.bsp) | ||
+ | | style="background:green; color:white;" | Y | ||
+ | | style="background:darkred; color:white;" | N | ||
+ | | style="background:darkred; color:white;" | N | ||
+ | | style="background:darkred; color:white;" | N | ||
+ | | style="text-align:left;" | Allows an engine to support collisions using arbitrary sizes. Compile with ericw's qbsp using the -wrbrushes argument. | ||
+ | | none | ||
+ | | none | ||
+ | |||
+ | |-valign="top" style="background:#F8F8F8" | ||
+ | | BSPX lump: BRUSHLIST | ||
+ | | (.bsp) | ||
+ | | style="background:green; color:white;" | Y | ||
+ | | style="background:darkred; color:white;" | N | ||
+ | | style="background:darkred; color:white;" | N | ||
+ | | style="background:darkred; color:white;" | N | ||
+ | | style="text-align:left;" | Allows an engine to support collisions using arbitrary sizes. Compile with ericw's qbsp using the -wrbrushes argument. | ||
+ | | none | ||
+ | | none | ||
+ | |||
|} | |} | ||
Line 466: | Line 560: | ||
| style="background:green; color:white;" | Y | | style="background:green; color:white;" | Y | ||
| style="background:green; color:white;" | Y | | style="background:green; color:white;" | Y | ||
− | |||
| style="background:green; color:white;" | Y | | style="background:green; color:white;" | Y | ||
− | | style="text-align:left;" | LH: DP can use .obj as a map if you provide a .ent file with it. | + | | style="background:green; color:white;" | Y |
+ | | 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. | ||
| none | | none | ||
| none | | none | ||
Line 477: | Line 571: | ||
| style="background:green; color:white;" | Y | | style="background:green; color:white;" | Y | ||
| style="background:green; color:white;" | Y | | style="background:green; color:white;" | Y | ||
− | | style="background: | + | | style="background:darkred; color:white;" | N |
| style="background:darkred; color:white;" | N | | style="background:darkred; color:white;" | N | ||
| style="text-align:left;" | LH: allows bumpmapping with lightmaps. Spike: .lux and .dlit are the same thing. Rename the file extension if you want. | | style="text-align:left;" | LH: allows bumpmapping with lightmaps. Spike: .lux and .dlit are the same thing. Rename the file extension if you want. | ||
Line 488: | Line 582: | ||
| style="background:green; color:white;" | Y | | style="background:green; color:white;" | Y | ||
| style="background:darkred; color:white;" | N | | style="background:darkred; color:white;" | N | ||
− | | style="background: | + | | style="background:darkred; color:white;" | N |
| style="background:darkred; color:white;" | N | | style="background:darkred; color:white;" | N | ||
| style="text-align:left;" | Echos: 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. | ||
Line 499: | Line 593: | ||
| style="background:green; color:white;" | Y | | style="background:green; color:white;" | Y | ||
| style="background:green; color:white;" | Y | | style="background:green; color:white;" | Y | ||
− | |||
| style="background:darkred; color:white;" | N | | style="background:darkred; color:white;" | N | ||
− | | style="text-align:left;" | Spike: FTE supports spotlight rtlights and spinning static lights, DP doesn't. You can use the spinning light w/ a cubeMap to make it fancy. | + | | style="background:darkred; color:white;" | N |
+ | | 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. | ||
| none | | none | ||
| none | | none | ||
Line 521: | Line 615: | ||
|-valign="top" style="background:#F8F8F8" | |-valign="top" style="background:#F8F8F8" | ||
− | | Quake wad | + | | Quake's gfx.wad |
| (.wad) | | (.wad) | ||
| style="background:green; color:white;" | Y | | style="background:green; color:white;" | Y | ||
Line 554: | Line 648: | ||
|-valign="top" style="background:#F8F8F8" | |-valign="top" style="background:#F8F8F8" | ||
− | | | + | | Quake2 Wall Texture |
| (.wal) | | (.wal) | ||
| style="background:green; color:white;" | Y | | style="background:green; color:white;" | Y | ||
| style="background:green; color:white;" | Y | | style="background:green; color:white;" | Y | ||
− | | style="background: | + | | style="background:darkred; color:white;" | N |
− | | style="background: | + | | style="background:darkred; color:white;" | N |
| style="text-align:left;" | none | | style="text-align:left;" | none | ||
| none | | none | ||
Line 570: | Line 664: | ||
| style="background:green; color:white;" | Y | | style="background:green; color:white;" | Y | ||
| style="background:black; color:white;" | ? | | style="background:black; color:white;" | ? | ||
− | | style="background: | + | | style="background:green; color:white;" | Y |
| style="text-align:left;" | none | | style="text-align:left;" | none | ||
| none | | none | ||
Line 581: | Line 675: | ||
| style="background:green; color:white;" | Y | | style="background:green; color:white;" | Y | ||
| style="background:black; color:white;" | ? | | style="background:black; color:white;" | ? | ||
− | | style="background: | + | | style="background:green; color:white;" | Y |
| style="text-align:left;" | none | | style="text-align:left;" | none | ||
| none | | none | ||
Line 592: | Line 686: | ||
| style="background:green; color:white;" | Y | | style="background:green; color:white;" | Y | ||
| style="background:black; color:white;" | ? | | style="background:black; color:white;" | ? | ||
− | | style="background: | + | | style="background:green; color:white;" | Y |
| style="text-align:left;" | none | | style="text-align:left;" | none | ||
| none | | none | ||
Line 602: | Line 696: | ||
| style="background:green; color:white;" | Y | | style="background:green; color:white;" | Y | ||
| style="background:green; color:white;" | Y | | style="background:green; color:white;" | Y | ||
− | | style="background: | + | | style="background:darkred; color:white;" | N |
− | | style="background: | + | | style="background:darkred; color:white;" | N |
− | | style="text-align:left;" | Spike: FTE supports this for bc1-7/dxt stuff | + | | style="text-align:left;" | Spike: FTE supports this for bc1-7/dxt stuff. Allows for properly compressed textures for lower gpu memory usage. May have issues with npot texture mip sizes in opengl engines. |
| none | | none | ||
| none | | none | ||
Line 613: | Line 707: | ||
| style="background:green; color:white;" | Y | | style="background:green; color:white;" | Y | ||
| style="background:black; color:white;" | ? | | style="background:black; color:white;" | ? | ||
− | | style="background: | + | | style="background:darkred; color:white;" | N |
− | | style="background: | + | | style="background:darkred; color:white;" | N |
− | | style="text-align:left;" | Spike: FTE supports this for bc1-7/dxt/etc1/etc2/hdr | + | | 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. |
| none | | none | ||
| none | | none | ||
|-valign="top" style="background:#F8F8F8" | |-valign="top" style="background:#F8F8F8" | ||
− | | | + | | Texture Wad |
| (.wad) | | (.wad) | ||
− | | style="background: | + | | style="background:green; color:white;" | Y |
| style="background:green; color:white;" | Y | | style="background:green; color:white;" | Y | ||
| style="background:darkred; color:white;" | N | | style="background:darkred; color:white;" | N | ||
| style="background:darkred; color:white;" | N | | style="background:darkred; color:white;" | N | ||
− | | style="text-align:left;" | | + | | style="text-align:left;" | Required for halflife bsp support. |
| none | | none | ||
| none | | none | ||
Line 652: | Line 746: | ||
| style="background:green; color:white;" | Y | | style="background:green; color:white;" | Y | ||
| style="background:green; color:white;" | Y | | style="background:green; color:white;" | Y | ||
− | | style="text-align:left;" | | + | | style="text-align:left;" | QS is still buggy with regard to framegroups (fixed in QSS+FTE+DP). Quake defines more types of sprite than the number of sprites it actually shipped with. |
| none | | none | ||
| none | | none | ||
Line 661: | Line 755: | ||
| style="background:green; color:white;" | Y | | style="background:green; color:white;" | Y | ||
| style="background:green; color:white;" | Y | | style="background:green; color:white;" | Y | ||
− | | style="background: | + | | style="background:darkred; color:white;" | N |
− | | style="background: | + | | style="background:darkred; color:white;" | N |
| style="text-align:left;" | none | | style="text-align:left;" | none | ||
| none | | none | ||
Line 670: | Line 764: | ||
| Quake1 Sprite 32bit | | Quake1 Sprite 32bit | ||
| (.spr32) | | (.spr32) | ||
− | |||
| style="background:green; color:white;" | Y | | style="background:green; color:white;" | Y | ||
− | | style="background: | + | | style="background:green; color:white;" | Y |
− | | style="background: | + | | style="background:darkred; color:white;" | N |
+ | | style="background:green; color:white;" | Y | ||
+ | | style="text-align:left;" | none | ||
+ | | none | ||
+ | | none | ||
+ | |||
+ | |-valign="top" style="background:#F8F8F8" | ||
+ | | Half-Life Sprite | ||
+ | | (.spr) | ||
+ | | style="background:green; color:white;" | Y | ||
+ | | style="background:green; color:white;" | Y | ||
+ | | style="background:darkred; color:white;" | N | ||
+ | | style="background:darkred; color:white;" | N | ||
| style="text-align:left;" | none | | style="text-align:left;" | none | ||
| none | | none | ||
Line 698: | Line 803: | ||
| style="background:green; color:white;" | Y | | style="background:green; color:white;" | Y | ||
| style="background:darkred; color:white;" | N | | style="background:darkred; color:white;" | N | ||
− | | style="background: | + | | style="background:darkred; color:white;" | N |
− | | style="background: | + | | style="background:green; color:white;" | Y |
| style="text-align:left;" | Language spec: https://sourceforge.net/p/fteqw/code/HEAD/tree/trunk/specs/particles.txt | | style="text-align:left;" | Language spec: https://sourceforge.net/p/fteqw/code/HEAD/tree/trunk/specs/particles.txt | ||
| https://sourceforge.net/p/fteqw/code/HEAD/tree/trunk/engine/partcfgs/ | | https://sourceforge.net/p/fteqw/code/HEAD/tree/trunk/engine/partcfgs/ | ||
Line 707: | Line 812: | ||
| DarkPlaces Particles | | DarkPlaces Particles | ||
| (.txt) | | (.txt) | ||
+ | | style="background:yellow; color:black;" | Y | ||
| style="background:green; color:white;" | Y | | style="background:green; color:white;" | Y | ||
− | | style="background: | + | | style="background:darkred; color:white;" | N |
− | | style="background: | + | | style="background:yellow; color:black;" | Y |
− | + | | 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") | |
− | | 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. | ||
| none | | none | ||
| none | | none | ||
Line 737: | Line 842: | ||
| style="background:darkred; color:white;" | N | | style="background:darkred; color:white;" | N | ||
| style="background:darkred; color:white;" | N | | style="background:darkred; color:white;" | N | ||
− | | style="text-align:left;" | | + | | style="text-align:left;" | DP supports single stage shaders only. Not using the ftee_program term can result in lower performance in FTE - especially for skeletal models. Realtime lighting breaks these shaders in DP and FTE. 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). |
− | |||
− | work in DP due to the multiple stages. | ||
| none | | none | ||
| none | | none | ||
Line 800: | Line 903: | ||
| style="background:green; color:white;" | Y | | style="background:green; color:white;" | Y | ||
| style="background:green; color:white;" | Y | | style="background:green; color:white;" | Y | ||
− | | style="background: | + | | style="background:darkred; color:white;" | N |
− | | style="background: | + | | style="background:darkred; color:white;" | N |
− | | style="text-align:left;" | | + | | style="text-align:left;" | SDL2 engines no longer support cd audio (all four engines support fake tracks though, but don't depend on the cd command still existing if you want to change track). |
| none | | none | ||
| none | | none | ||
Line 813: | Line 916: | ||
| style="background:green; color:white;" | Y | | style="background:green; color:white;" | Y | ||
| style="background:green; color:white;" | Y | | style="background:green; color:white;" | Y | ||
− | | 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. |
| none | | none | ||
| none | | none | ||
Line 822: | Line 925: | ||
| style="background:green; color:white;" | Y | | style="background:green; color:white;" | Y | ||
| style="background:green; color:white;" | Y | | style="background:green; color:white;" | Y | ||
− | | style="background:black; color:white;" | | + | | style="background:green; color:white;" | Y |
− | | style="background: | + | | style="background:green; color:white;" | Y |
− | | style="text-align:left;" | | + | | style="text-align:left;" | QS only supports oggs for music, not game sounds. |
+ | | none | ||
+ | | none | ||
+ | |||
+ | |-valign="top" style="background:#F8F8F8" | ||
+ | | Ogg Opus | ||
+ | | (.opus) | ||
+ | | style="background:darkred; color:white;" | N | ||
+ | | style="background:darkred; color:white;" | N | ||
+ | | style="background:green; color:white;" | Y | ||
+ | | style="background:green; color:white;" | Y | ||
+ | | 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). | ||
+ | | none | ||
+ | | none | ||
+ | |||
+ | |-valign="top" style="background:#F8F8F8" | ||
+ | | MPEG 2 layer 3 | ||
+ | | (.mp3) | ||
+ | | style="background:yellow; color:black;" | Win | ||
+ | | style="background:darkred; color:white;" | N | ||
+ | | style="background:green; color:white;" | Y | ||
+ | | style="background:green; color:white;" | Y | ||
+ | | 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. | ||
| none | | none | ||
| none | | none | ||
Line 943: | Line 1,068: | ||
|-valign="top" style="background:#F8F8F8" | |-valign="top" style="background:#F8F8F8" | ||
− | | Video | + | | Quake3 Video |
| (.roq) | | (.roq) | ||
| style="background:green; color:white;" | Y | | style="background:green; color:white;" | Y | ||
Line 949: | Line 1,074: | ||
| style="background:black; color:white;" | ? | | style="background:black; color:white;" | ? | ||
| style="background:black; color:white;" | ? | | style="background:black; color:white;" | ? | ||
− | | style="text-align:left;" | LH: supported w/ libavw also known as ffmpeg. | + | | style="text-align:left;" | Directly supported in FTE. LH: supported w/ libavw also known as ffmpeg. |
+ | | none | ||
+ | | none | ||
+ | |||
+ | |-valign="top" style="background:#F8F8F8" | ||
+ | | Quake2 Video | ||
+ | | (.cin) | ||
+ | | style="background:green; color:white;" | Y | ||
+ | | style="background:green; color:white;" | Y | ||
+ | | style="background:black; color:white;" | ? | ||
+ | | style="background:black; color:white;" | ? | ||
+ | | style="text-align:left;" | Directly supported in FTE. LH: supported w/ libavw also known as ffmpeg. | ||
| none | | none | ||
| none | | none | ||
Line 989: | Line 1,125: | ||
| Video | | Video | ||
| (.dpv) | | (.dpv) | ||
− | | style="background: | + | | style="background:darkred; color:white;" | N |
| style="background:green; color:white;" | Y | | style="background:green; color:white;" | Y | ||
| style="background:darkred; color:white;" | N | | style="background:darkred; color:white;" | N | ||
Line 1,000: | Line 1,136: | ||
| Video | | Video | ||
| (.jam) | | (.jam) | ||
− | | style="background: | + | | style="background:darkred; color:white;" | N |
| style="background:green; color:white;" | Y | | style="background:green; color:white;" | Y | ||
| style="background:darkred; color:white;" | N | | style="background:darkred; color:white;" | N |
Revision as of 04:46, 16 September 2018
echos added a To-Do; this page is a work in progress, it's not yet finished. |
Format | Ext | FTE | DP | QS | QSS | Notes | Examples | Tutorials |
---|---|---|---|---|---|---|---|---|
Quake1 | (.mdl) | Y | Y | Y | Y | Echos: These became known as Alias models, even though that‘s not correct. John Carmack always called these Alias models, so the name stuck. | none | none |
Quake2 | (.md2) | Y | Y | N | N | Swimmy when animating. Yuck. | none | none |
Quake3 | (.md3) | Y | Y | N | Y | Echos: Support of md3 may be limited in some engines, such as tags and animations. | none | none |
Inter-Quake Model | (.iqm) | Y | Y | N | N | 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. | none | none |
Extended Inter-Quake Model | (.vvm) | Y | N | N | N | Superset of iqm models that adds additional info, allowing for animation events, separate hitmesh, geomsets, and region-specific feedback/damage. | none | none |
DarkPlaces Model | (.dpm) | Y | Y | N | N | No framegroups/animations (just individual poses). | none | none |
Unreal Interchange Model | (.psk) | Y | Y | N | N | Slow to load (although easy to export). the separate .psa files contain the animation data in an external file. | none | none |
Zymotic Model | (.zym) | Y | Y | N | N | Only one bone influence per vertex. | none | none |
MD5 Mesh | (.md5mesh) | Y | N | N | N | Has no animation data. | none | none |
MD5 Anim | (.md5anim) | Y | N | N | N | Has no mesh data. | none | none |
QuakeForge 16bit Alias | (.???) | Y | N | N | N | 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. | none | none |
Half-Life | (.mdl) | Y | N | N | N | Boo Hiss. | none | none |
Hexen2MP | (.mdl) | Y | N | N | N | Only used in the missionpack. | none | none |
External Anim | (.???) | Y | N | N | N | Text format that allows extracting the animation data from numerous models, to combine with extracted mesh data. This allows you to use eg md5 models without using skeletal objects(csqc). | none | none |
FTE Heightmap Map | (.hmp) | Y | N | N | N | 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. | none | none |
Wavefront | (.obj) | N | Y | N | N | 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. | none | none |
Alias Triangle | (.tri) | N | N | N | N | 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. | none | none |
Format | Ext | FTE | DP | QS | QSS | Notes | Examples | Tutorials |
---|---|---|---|---|---|---|---|---|
Quake1 | (.map) | Y | N | N | N | Texture alignment+size is dependant upon correct texture sizes. Replacement textures will generally appear zoomed in/wrong - texture wads are expected to follow halflife rules (ie: path is ignored, the wad must be id1/*.wad or moddir/*.wad). Don't expect good performance, especially with rtlights. | none | none |
Quake2 | (.map) | ? | N | N | N | none | none | none |
Quake3 | (.map) | Y | N | N | N | FTE will display patches only using their control points. | none | none |
Quake3 Brush-Plane | (.map) | N | N | N | N | An alternative way of expressing texture coords. | none | none |
Half-Life | (.map) | Y | N | N | N | valve's 220 format allows more texture coords to be expressed more precisely. | none | none |
Format | Ext | FTE | DP | QS | QSS | Notes | Examples | Tutorials |
---|---|---|---|---|---|---|---|---|
Quake1 | (.bsp) | Y | Y | Y | Y | BSP29 Quake retail-release. | none | none |
Hexen2 | (.bsp) | Y | ? | N | Y | Expect palette+hull issues when running in quake. | none | none |
Quake1 2PSB | (.bsp) | Y | Y | N | N | This format is now obsolete, don‘t use it. BSP2 replaced it. | none | none |
Quake1 BSP2 | (.bsp) | Y | Y | N | N | All 16bit limits increased to 32bit (with the 16bit coords becoming floats). | none | none |
Quake2 | (.bsp) | Y | Y | N | N | Yellow. | none | none |
Quake3 | (.bsp) | Y | Y | N | N | So curvacious! | none | none |
Half-Life | (.bsp) | Y | Y | N | N | Toolchain license issues. | none | none |
Qfusion | (.bsp) | Y | N | N | N | none | none | none |
SOF2 | (.bsp) | Y | N | N | N | Raven rbsp: Raven changed two lumps in the q3 format in SoF2/JK2/JA (brush sides and draw surfaces) | none | none |
JK2 | (.bsp) | Y | N | N | N | Raven rbsp: Raven changed two lumps in the q3 format in SoF2/JK2/JA (brush sides and draw surfaces) | none | none |
JA | (.bsp) | Y | N | N | N | Raven rbsp: Raven changed two lumps in the q3 format in SoF2/JK2/JA (brush sides and draw surfaces) | none | none |
Quake1 Prerelease | (.bsp) | Y | N | N | N | BSP28 Quake pre-release. | none | none |
Quake1 Alpha/Pre-Alpha | (.bsp) | N | N | N | N | BSP27 and earlier. Quake alpha-release. | none | none |
Quake Live | (.???) | N | Y | N | N | Spike: This is essentially a Q3 BSP w/ an additional lump for advertisements. | none | none |
Wavefront | (.obj) | N | Y | N | N | 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. | none | none |
BSPX lump: RGBLIGHTING | (.bsp) | Y | N | N | Y | 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. | none | none |
BSPX lump: LIGHTING_E5BGR9 | (.bsp) | Y | N | N | N | Shared-exponent floats are slightly larger but allow for more precision as well as significantly more overbrighting. | none | none |
BSPX lump: LIGHTINGDIR | (.bsp) | Y | N | N | N | Equivelent to a .lux file, but embedded into the bsp itself. Compile with ericw's light util using the -bspxlux argument. | none | none |
BSPX lump: LMSHIFT, LMOFFSET, LMSTYLE | (.bsp) | Y | N | N | Y | Allows per-surface lightmap scaling, for higher resolution lightmaps. This is why .lit2 was basically abandoned. | none | none |
BSPX lump: VERTEXNORMALS | (.bsp) | Y | N | N | N | Allows rtlights+specular lighting effects to respect 'phong'/edge smoothing. ericw stripped support for this from his tool. | none | none |
BSPX lump: BRUSHLIST | (.bsp) | Y | N | N | N | Allows an engine to support collisions using arbitrary sizes. Compile with ericw's qbsp using the -wrbrushes argument. | none | none |
BSPX lump: BRUSHLIST | (.bsp) | Y | N | N | N | Allows an engine to support collisions using arbitrary sizes. Compile with ericw's qbsp using the -wrbrushes argument. | none | none
|
Format | Ext | FTE | DP | QS | QSS | Notes | Examples | Tutorials |
---|---|---|---|---|---|---|---|---|
Quake1 external lightmap | (.lit) | Y | Y | Y | Y | This is a hack to allow colored lighting in Quake1 maps. | none | none |
Entity Replacement | (.ent) | Y | Y | Y | Y | 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. | none | none |
LightDirectionMap | (.dlit) | Y | Y | N | N | LH: allows bumpmapping with lightmaps. Spike: .lux and .dlit are the same thing. Rename the file extension if you want. | none | none |
DeluxeMap | (.lux) | Y | N | N | N | Echos: DP doesn‘t load .lux so use .dlit the file format is identical. | none | none |
RealtimeLights | (.rtlights) | Y | Y | N | N | 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. | none | none |
Format | Ext | FTE | DP | QS | QSS | Notes | Examples | Tutorials |
---|---|---|---|---|---|---|---|---|
Quake's gfx.wad | (.wad) | Y | Y | Y | Y | none | none | none |
Targa | (.tga) | Y | Y | Y | Y | none | none | none |
Lump | (.lmp) | Y | Y | Y | Y | none | none | none |
Quake2 Wall Texture | (.wal) | Y | Y | N | N | none | none | none |
Image | (.png) | Y | Y | ? | Y | none | none | none |
Image | (.jpg) | Y | Y | ? | Y | none | none | none |
Image | (.pcx) | Y | Y | ? | Y | none | none | none |
Image | (.dds) | Y | Y | N | N | Spike: FTE supports this for bc1-7/dxt stuff. Allows for properly compressed textures for lower gpu memory usage. May have issues with npot texture mip sizes in opengl engines. | none | none |
Image | (.ktx) | Y | ? | N | N | 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. | none | none |
Texture Wad | (.wad) | Y | Y | N | N | Required for halflife bsp support. | none | none |
Format | Ext | FTE | DP | QS | QSS | Notes | Examples | Tutorials |
---|---|---|---|---|---|---|---|---|
Quake1 Sprite | (.spr) | Y | Y | Y | Y | QS is still buggy with regard to framegroups (fixed in QSS+FTE+DP). Quake defines more types of sprite than the number of sprites it actually shipped with. | none | none |
Quake2 Sprite | (.sp2) | Y | Y | N | N | none | none | none |
Quake1 Sprite 32bit | (.spr32) | Y | Y | N | Y | none | none | none |
Half-Life Sprite | (.spr) | Y | Y | N | N | none | none | none |
Format | Ext | FTE | DP | QS | QSS | Notes | Examples | Tutorials |
---|---|---|---|---|---|---|---|---|
FTE Particles | (.cfg) | Y | N | N | Y | Language spec: https://sourceforge.net/p/fteqw/code/HEAD/tree/trunk/specs/particles.txt | https://sourceforge.net/p/fteqw/code/HEAD/tree/trunk/engine/partcfgs/ | none |
DarkPlaces Particles | (.txt) | Y | Y | N | Y | 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") | none | none |
Format | Ext | FTE | DP | QS | QSS | Notes | Examples | Tutorials |
---|---|---|---|---|---|---|---|---|
Quake3 partial support | (.shader) | Y | Y | N | N | DP supports single stage shaders only. Not using the ftee_program term can result in lower performance in FTE - especially for skeletal models. Realtime lighting breaks these shaders in DP and FTE. 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). | none | none |
GLSL | (.???) | Y | N | N | N | Echos: FTE allows you to create shaders with GLSL. DP only uses GLSL internally. Use Q3 bsp & shader for compat w/ both. | none | none |
Format | Ext | FTE | DP | QS | QSS | Notes | Examples | Tutorials |
---|---|---|---|---|---|---|---|---|
Quake Config | (.cfg) | Y | Y | Y | Y | none | none | none |
Format | Ext | FTE | DP | QS | QSS | Notes | Examples | Tutorials |
---|---|---|---|---|---|---|---|---|
CD Audio | (.???) | Y | Y | N | N | SDL2 engines no longer support cd audio (all four engines support fake tracks though, but don't depend on the cd command still existing if you want to change track). | none | none |
Waveform | (.wav) | Y | Y | Y | Y | 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. | none | none |
Ogg Vorbis | (.ogg) | Y | Y | Y | Y | QS only supports oggs for music, not game sounds. | none | none |
Ogg Opus | (.opus) | N | N | Y | Y | 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). | none | none |
MPEG 2 layer 3 | (.mp3) | Win | N | Y | Y | 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. | none | none |
Format | Ext | FTE | DP | QS | QSS | Notes | Examples | Tutorials |
---|---|---|---|---|---|---|---|---|
Video | (.avi) | Y | Y | ? | ? | LH: supported w/ libavw also known as ffmpeg. | none | none |
Video | (.mpg) | Y | Y | ? | ? | LH: supported w/ libavw also known as ffmpeg. | none | none |
Video | (.mpeg) | Y | Y | ? | ? | LH: supported w/ libavw also known as ffmpeg. | none | none |
Video | (.mp4) | Y | Y | ? | ? | LH: supported w/ libavw also known as ffmpeg. | none | none |
Video | (.mpeg4) | Y | Y | ? | ? | LH: supported w/ libavw also known as ffmpeg. | none | none |
Video | (.mjpeg) | Y | Y | ? | ? | LH: supported w/ libavw also known as ffmpeg. | none | none |
Video | (.mkv) | Y | Y | ? | ? | LH: supported w/ libavw also known as ffmpeg. | none | none |
Video | (.webm) | Y | Y | ? | ? | LH: supported w/ libavw also known as ffmpeg. | none | none |
Video | (.bik) | Y | Y | ? | ? | LH: supported w/ libavw also known as ffmpeg. | none | none |
Quake3 Video | (.roq) | Y | Y | ? | ? | Directly supported in FTE. LH: supported w/ libavw also known as ffmpeg. | none | none |
Quake2 Video | (.cin) | Y | Y | ? | ? | Directly supported in FTE. LH: supported w/ libavw also known as ffmpeg. | none | none |
Video | (.flv) | Y | Y | ? | ? | LH: supported w/ libavw also known as ffmpeg. | none | none |
Video | (.wmv) | Y | Y | ? | ? | LH: supported w/ libavw also known as ffmpeg. | none | none |
Video | (.ogv) | Y | Y | ? | ? | LH: supported w/ libavw also known as ffmpeg. | none | none |
Video | (.dpv) | N | Y | N | N | LH: a weird little format I made ages ago for a commercial project that needed ultra-low CPU usage. | none | none |
Video | (.jam) | N | Y | N | N | LH: videos from the game Blood Omnicide: Legacy of Cain. | none | none |