FTE QW

From QWiki
Revision as of 14:35, 17 March 2017 by *>Mushi

FTE also known as FTEQW, FTE QuakeWorld and Fore Thought Entertainment.

Client fteqw.jpg
Latest version[[1]]

Update: At Quake Expo 2016, AfterQuake was released. AfterQuake is a package with everything you need to fully enjoy the wonders of FTE. See wiki page for more info: AfterQuake

Information

Client features

  • Quake Singleplayer, NetQuake and QuakeWorld support (all in one)
  • For nQuake/ezQuake users: most features are implemented in FTE.
  • Independent physics
  • Customizable particles - create your own effects, even in SW
  • Built-in serverbrowser
  • Demo capturing - create your own movies
  • Plugin system - the current plugins will allow you such features as customizing the HUD,connecting to IRC or download from QuakeInjector
  • On-the-fly video mode switching - switch resolutions and even renderers (GL/SW/D3D/Vulkan) without restarting QW
  • 32-bit support, even in SW
  • Realtime lighting
  • MD3 and MD2 model support
  • PK3 and ZIP support - compress your files and organize the quake folder
  • Optional software-style rendering
  • Eye candy stuff:
    • HDR (retina) implementation
    • bump mapping
    • superior, fully editable particle system
    • Support for TrueType Fonts
    • Stereostopic projection (playable fov 180) (excluded from competition rulesets)
  • Android port for your phone and tablet
  • netcode decoupled from the frame rate (cl_netfps 0 to disable, but why would you)
  • Key binding modifiers, like SHIFT-5 or CTRL-F
  • Copy to clipboard (click and drag text on the console with mouse 2 pressed)
  • Lists on the console the available config files, crosshairs, charsets with /list* commands
  • Massive versitility
  • QuakeC debugger
  • and many, many more (…)

The console

FTE’s console is amazing!

  • ^1 – ^7 quake3 colours
  • ^b blinking text
  • ^&FB Ansi colour codes. The two letters should be hex codes for the foreground and background colours. The background is opaque, but can be transparent if – is used instead of a hex char.
  • ^xRGB Specifies a specific 12-bit colour value for the following text.
  • ^{XXXX} Specifies an explicit unicode char value. Note that Quake’s chars are mapped to the E0XX range, while various hud images are in the E1XX range, if you want to embed some of those images.
  • The engine can support unicode text using the mechanism above, but in order for it to be displayed correctly, you’ll need a unicode font, eg: ‘/gl_font cour‘, which will use courier from yor windows’ fonts directory.
  • ^[/foobar^] console links, this example can be clicked to provide hints to other people for console commands to use (like ^[/connect x.y.z.w^]).
  • There are additional types of links which contain a trailing ‘infokey’ string, and can be context-dependant. For instance, ^[Hello\tip\I SAID HELLO^] will display some text when the mouse cursor is moved over it. ^[\img\gfx/conback.lmp^] can embed images, but only when it is the first thing on the line (hurrah for the echo command).
  • player names are also normally clickable, giving a couple of options (especially if you’re hosting a listen server).
  • The dir command will provide clickable filenames for extensions/paths that it recognises, to view/edit those files.
  • left-click and drag to scroll the console up/down.
  • right-click and drag to copy text to the clipboard. Paste it back with ctrl+v (or into other programs).
  • tab attempts to completes the command, up until the next deviation. Alternative completions will be displayed as footer text.
  • ctrl+space autocompletes the full predicted command.
  • Command/cvar descriptions will be displayed as footer text, where provided.
  • If you don’t know the full name/prefix of a command, type /apropos followed by what you do know, and the engine will display a list of the cvars/commands that contain your snippet as part of their name or description.

Mega Screenshots

This little feature uses render-to-texture rather than rendering stuff to whatever puny window you have. This allows the high-resolution screenshots, and by high-resolution, I mean 16384*16384. Each of these commands take a filename argument followed by width then height. The width and height are still limited by your GPU, but have absolutely no dependancy on your monitor or window size etc.

   screenshot_mega: Takes a ‘simple’ large screenshot.
   screenshot_stereo: Takes two screenshots side-by-side with a small(r_stereo_separation) offset (also assumed by screenshot_mega with the .pns extension).
   screenshot_vr: Takes many many many screenshots giving a horizontal 360 perspective that can be viewed with a few different display software.

The resulting filename will be displayed in the console (as a more easily findable system path).


r_renderscale

This renders the game view at a different resolution than your screen. A value of 2 is good for supersampling, giving a smoother appearance even mid-surface (unlike msaa), without needing to resort to bluring (read: fxaa). Fantastic looks. A value of 0.5 can give a small speedup with complex scenes involving many rtlights or reflections.

Values above 1 should not normally be used in conjunction with /r_fxaa. The result is not desirable, while smaller values are positively weird, but awesome with it.

Download Menu

The in-engine download menu provides easy access to install/uninstall additional packages, or simply update them more easily. You should be able to find retexturing packages and rtlight definitions in here, of note are the in-game editor (which needs cheats or singleplayer to use), as well as a number of additional plugins.

While FTE has had a ‘/menu_download‘ command for a while, its options didn’t include anything noteworthy and it wasn’t exactly advertised whatsoever.

Quake Injector

The Quake Injector plugin downloads mods and metadata from http://quaddicted.com/. The mods are downloaded and run from cached zips within the downloads directory, rather than having their own individual game directories. Most entries are maps, but many will have dependancies. Note that few mods have directly been tested with FTE, but a number of those that have do require /sv_nqplayerphysics to be set to 1 (alternatively enabled via the ‘compatibility’ game config).

And So Much More

CSQC, Advanced SSQC, BSP2, Lit files, RealTime Lighting, Specular, Bumpmapping, Paralax mapping, Refraction, Reflection, NetQuake mods, QuakeWorld mods, plays Quake2, plays Hexen2, Quake3 support too! Doppler, OpenAL Reverb, Ogg, Voip. Ingame brush editing, skeletal models. Cake Dispensers, oh wait, sorry, that one is a lie. A javascript port, an embedded web browser, 360 degree vision, walking on the ceiling, portals, 6dof, custom huds, skyboxes, fog, etc etc.


Android port

See FTEDroid

Server features

  • Anti-wallhack
  • requiredownloads - can enter the server while downloading files
  • Runs KTPro and KTX
  • binaries for windows, linux and raspberry pi

Modders, Developers features

Manifests

This is a modder feature – manifest files are how you can reconfigure FTE to forget that it was ever a quake engine, and have it run your mod instead, just grab default.fmf from afterquake or whatever and modify it for your own mod. You can also directly embed the manifest into the exe along with an icon to fully rebrand it as far as the user is likely to see (‘-makeinstaller foo’ on the commandline will write out a new foo.exe based on foo.fmf).

Manifest documentation is here: https://sourceforge.net/p/fteqw/code/HEAD/tree/trunk/specs/fte_manifests.txt

=== QC Debugging === 

Open up your progs.src with fteqccgui (set up a file association or something). Hit f5, tell it the basedir of your quake install (guessed as two levels up from your .src file), tell it the engine to use (ie: fteqw.exe). And then debug away! Hit f9 to set breakpoints, f11 to single-step. Any qc errors that your code triggers will be displayed simply within the debugger.

External links