Difference between revisions of "FTE QW"
(20 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
'''FTE''' also known as FTEQW, FTE QuakeWorld and Fore Thought Entertainment. | '''FTE''' also known as FTEQW, FTE QuakeWorld and Fore Thought Entertainment. | ||
− | + | [[File:Shub.jpg|frameless|center|shubby needs some love]]<br /> | |
− | [[ | + | '''Update:''' At Quake Expo 2016, [https://qexpo2016.com/introducing-afterquake/ 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]] |
<br /> | <br /> | ||
'''Latest version '''[[http://sourceforge.net/p/fteqw/code/commit_browser here]], but consider using [[AfterQuake]] <br /><br /> | '''Latest version '''[[http://sourceforge.net/p/fteqw/code/commit_browser here]], but consider using [[AfterQuake]] <br /><br /> | ||
− | |||
<br /> | <br /> | ||
− | + | = Information = | |
− | |||
* '''Founded:''' [[2002]] by [[Image:flag_uk.gif]] [[Spike]] | * '''Founded:''' [[2002]] by [[Image:flag_uk.gif]] [[Spike]] | ||
* '''Current team members:''' [[Image:flag_uk.gif]] [[Spike]] | * '''Current team members:''' [[Image:flag_uk.gif]] [[Spike]] | ||
Line 13: | Line 11: | ||
− | + | = Client feature list = | |
− | * Quake Singleplayer, NetQuake and QuakeWorld support (all in one) | + | * Quake Singleplayer, NetQuake and QuakeWorld support ('''all in one''') |
− | * Demo capturing - create your own movies, using custom resolutions, encoding in your favorite codec... very simple! | + | * '''Demo capturing''' - create your own movies, using custom resolutions, encoding in your favorite codec... very simple! |
− | * Many options for screenshots (virtual reality, mega resolution, stereoscopic) | + | * Many options for '''screenshots''' (virtual reality, mega resolution, stereoscopic) |
− | * Plugin system - the current plugins will allow you such features as '''customizing the HUD''','''connecting to IRC''' or '''download from QuakeInjector'''. | + | * '''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 | + | * On-the-fly video mode switching - switch resolutions and even renderers (GL/SW/D3D/'''Vulkan''') without restarting QW |
* 32-bit support, even in SW | * 32-bit support, even in SW | ||
+ | * Optional software-style rendering | ||
* rendering at a different resolution (want more speed? or more quality?) | * rendering at a different resolution (want more speed? or more quality?) | ||
− | * | + | * '''Realtime lighting''' |
− | |||
* MD3 and MD2 model support | * MD3 and MD2 model support | ||
− | * Android port for your phone and tablet | + | * '''Android port''' for your phone and tablet |
* netcode decoupled from the frame rate (cl_netfps 0 to disable, but why would you) | * netcode decoupled from the frame rate (cl_netfps 0 to disable, but why would you) | ||
− | * Key binding modifiers, like SHIFT-5 or CTRL-F | + | * '''Key binding modifiers''', like SHIFT-5 or CTRL-F |
− | * Copy to clipboard (click and drag text on the console with mouse 2 pressed) | + | * '''Copy to clipboard ('''click and drag text on the console with mouse 2 pressed) |
* Massive versitility | * Massive versitility | ||
* QuakeC debugger | * QuakeC debugger | ||
− | |||
− | |||
− | |||
* Eye candy stuff: | * Eye candy stuff: | ||
− | ** HDR (retina) implementation | + | ** '''HDR (retina)''' implementation |
− | ** bump mapping | + | ** '''bump mapping''' |
− | ** Customizable particles - create your own effects, even in SW | + | ** Customizable '''particles''' - create your own effects, even in SW |
− | ** Support for TrueType Fonts | + | ** Support for '''TrueType Fonts''' |
− | ** Stereostopic projection (playable fov 180), | + | ** Several ''projection types''! Stereostopic projection (playable fov 180), Equirectangular (VR-like, 360<sup>o</sup> screenshots, videos)... |
and of course, the most common features, like: | and of course, the most common features, like: | ||
* Independent physics | * Independent physics | ||
Line 46: | Line 41: | ||
and many, many more... Some of the features are described in more detail below: | and many, many more... Some of the features are described in more detail below: | ||
+ | == Media== | ||
+ | <gallery mode="packed-hover" heights="220px"> | ||
+ | Afterquake e1m5.png | Vanilla single player | ||
+ | E1m1.gif |Real Time lightning | ||
+ | Fte-VULKAN.jpg |Singleplayer using Vulkan renderer | ||
+ | Fte-20181212100239-0.png | Single player | ||
+ | FTE_Projection_2.jpg | Panini projection, with fov 150 | ||
+ | </gallery> | ||
+ | ==Some Features== | ||
=== The console === | === The console === | ||
− | FTE’s console is amazing! | + | FTE’s console is amazing! <br /> |
− | + | Colors, TTF and links: | |
− | * ^1 – ^7 quake3 | + | * '''^1 – ^7''' quake3 colors |
− | * ^b blinking text | + | * '''^b''' blinking text |
− | * ^&FB Ansi | + | * '''^&FB''' Ansi color codes. The two letters should be hex codes for the foreground and background colors. The background is opaque but can be transparent if – is used instead of a hex char. |
− | * ^xRGB Specifies a specific 12-bit | + | * '''^xRGB''' Specifies a specific 12-bit color 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. | + | * '''^{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 | + | * 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 your 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^]). | + | * '''^[/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- | + | * There are additional types of links which contain a trailing ‘infokey’ string, and can be context-dependent. 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).<br /> |
+ | Copy to Clipboard, autocomplete, search | ||
* player names are also normally clickable, giving a couple of options (especially if you’re hosting a listen server). | * 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 | + | * The dir command will provide clickable filenames for extensions/paths that it recognizes, to view/edit those files. |
− | * left-click and drag to scroll the console up/down. | + | * '''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). | + | * '''right-click and drag''' to copy text to the clipboard. Paste it back with ctrl+v (or into other programs). |
− | * tab attempts to | + | * '''tab''' attempts to complete the command, up until the next deviation. Alternative completions will be displayed as footer text. |
− | * ctrl+space autocompletes the full predicted command. | + | * '''ctrl+space''' autocompletes the full predicted command. |
* Command/cvar descriptions will be displayed as footer text, where provided. | * 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. | + | * 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 === | === 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 | + | 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 takes a filename argument followed by width then height. The width and height are still limited by your GPU, but have absolutely no dependency 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). | The resulting filename will be displayed in the console (as a more easily findable system path). | ||
Line 85: | Line 90: | ||
=== Download Menu === | === 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. | + | 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. | 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. | ||
− | === | + | === 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! <br /> | |
+ | Doppler, OpenAL Reverb, Ogg, Voip. Ingame brush editing, skeletal models. <br /> | ||
+ | A javascript port, an embedded web browser, 360 degree vision, walking on the ceiling, portals, 6dof, custom huds, skyboxes, fog, etc etc. | ||
− | == | + | == Plugins== |
+ | Plugins add (even more) functionality to FTE. It's a library (DLL file in windows) that is copied to AfterQuake root folder. Some plugins: | ||
− | + | * '''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 dependencies. 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). | ||
+ | * '''EzQuake HUD''' | ||
+ | Basically enables ezQuake hud configs to be used on FTE. | ||
+ | * '''Ingame Map Editor''' | ||
+ | under construction | ||
+ | * '''Replacement Menus''' | ||
+ | What the name says, new menus. | ||
− | + | = Android port = | |
See [[FTEDroid]] | See [[FTEDroid]] | ||
− | + | = Server features = | |
* Anti-wallhack | * Anti-wallhack | ||
* requiredownloads - can enter the server while downloading files | * requiredownloads - can enter the server while downloading files | ||
Line 107: | Line 122: | ||
* binaries for windows, linux and [[How to server|raspberry pi]] | * binaries for windows, linux and [[How to server|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 | + | 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 | 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. | 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. | ||
− | + | = FAQ = | |
− | '''How to get FTE???''' | + | '''How to get FTE???'''<br /> |
− | The easiest way is to use '''[[AfterQuake]]'''. | + | The easiest way is to use '''[[AfterQuake]]'''. Read that page for related info. |
− | + | <br /> | |
− | '''What now?''' | + | '''What now?'''<br /> |
− | + | AfterQuake can download a bunch of things from the menu, for example, engine config files, huds, particle configurations, crosshairs, etc. You can load these from the ingame menu, or you can use the built-in console variables /list* to view them ingame. If you’re curious, you should use pakscape (included) to browse the .pk3 files included (located under dlcache folder). | |
− | + | <br /> | |
− | + | The config loaded by default is the engine default. It might not be suited for you, so you may want to load another with /cfg_load. To list the available configs, type /listconfigs in the console, and load one. Just in case, type /vid_restart every time you load one new. Save your config with /cfg_save <configName> (remember to cfg_load next time you run the game) or just /cfgsave to overwrite the default one. More info below. | |
− | The config loaded by default is the engine default. It might not be suited for you, so you may want to load another with /cfg_load. To list the available configs, type /listconfigs in the console, and load one. Just in case, type /vid_restart every time you load one new. | ||
− | |||
− | |||
+ | '''First run'''<br /> | ||
* The menus are supposed to be browsed with the mouse. Using the keyboard is so oldschool! | * The menus are supposed to be browsed with the mouse. Using the keyboard is so oldschool! | ||
* Press ESC to access the console. There’s a console command that searches all the commands, cvars that the engine has. It is called /apropos. Use it! It’s a big help to customize settings and explore! | * Press ESC to access the console. There’s a console command that searches all the commands, cvars that the engine has. It is called /apropos. Use it! It’s a big help to customize settings and explore! | ||
Line 135: | Line 148: | ||
* To start, I suggest you to start a new game or connect to an online server. Go to “Join Server” – the server browser starts querying online servers. Filter the list by either 1) start typing the name of the server you’re looking for (backspace to delete characters) or 2) using the filters on the bottom of the screen. You can sort the columns too (hint: always use the mouse and read the contextual help!) | * To start, I suggest you to start a new game or connect to an online server. Go to “Join Server” – the server browser starts querying online servers. Filter the list by either 1) start typing the name of the server you’re looking for (backspace to delete characters) or 2) using the filters on the bottom of the screen. You can sort the columns too (hint: always use the mouse and read the contextual help!) | ||
* Once a map is loaded, you can visually see the changes when loading huds or particle configs from the menu. And everything else too. Browse the menus for gems! | * Once a map is loaded, you can visually see the changes when loading huds or particle configs from the menu. And everything else too. Browse the menus for gems! | ||
− | * | + | * If you're using the new menu, you can bring the old menu back by pressing CTRL-C while on the menu. This preference won’t be saved. |
− | + | <br /> | |
− | + | '''Handy console commands:'''<br /> | |
− | |||
− | '''Handy console commands:''' | ||
/apropos <keyword> | /apropos <keyword> | ||
/con_textsize | /con_textsize | ||
Line 145: | Line 156: | ||
/dir *.* | /dir *.* | ||
/fs_restart | /fs_restart | ||
− | /hud_editor and /hud_export (QuakeWorld only) | + | /hud_editor and /hud_export (QuakeWorld only, when using the ezQuake hud plugin) |
/cfg_load and /cfg_save | /cfg_load and /cfg_save | ||
/gamma | /gamma | ||
/vid_restart | /vid_restart | ||
+ | '''Cool console commands:''' | ||
+ | /r_projection 0-5 | ||
+ | /r_dynamic -1 (much more frames per second on big, open maps with few textures) | ||
+ | /r_bloom 0-1 (to tune bloom) | ||
− | + | <br /> | |
'''Paths''' | '''Paths''' | ||
Paths can be annoying. Assuming that you don’t want to use “My Documents” folder to keep your game data, confirm that FTE is using the current folder by typing /path in the console. | Paths can be annoying. Assuming that you don’t want to use “My Documents” folder to keep your game data, confirm that FTE is using the current folder by typing /path in the console. | ||
− | |||
* If it prints “My documents”, start FTE with the parameter -nohome, and create a shortcut to it. | * If it prints “My documents”, start FTE with the parameter -nohome, and create a shortcut to it. | ||
+ | * If you want to see which package a file is inside, you can use “/flocate maps/foo.bsp” for instance. Alternatively, you can use “/dir maps/foo.bsp” and it’ll list each occurrence of that file including the package/gamedir that contains it. | ||
+ | <br /> | ||
+ | '''Config management'''<br /> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
Config management is similar to ezQuake. Some quick facts to summarize. | Config management is similar to ezQuake. Some quick facts to summarize. | ||
* The config file located at fte/fte.cfg is the config that is loaded when you run fte client; | * The config file located at fte/fte.cfg is the config that is loaded when you run fte client; | ||
Line 169: | Line 181: | ||
/exec foo.cfg ⇒ executes foo.cfg from default locations, fte/ or qw/ or id1/ | /exec foo.cfg ⇒ executes foo.cfg from default locations, fte/ or qw/ or id1/ | ||
+ | <br /> | ||
Type /listconfigs to list every config on fte/ folder. There are more /list options, for example /listcrosshairs which is awesome! | Type /listconfigs to list every config on fte/ folder. There are more /list options, for example /listcrosshairs which is awesome! | ||
− | |||
− | '''Server browser''' | + | '''Server browser'''<br /> |
+ | If you're into multiplayer (netQuake or QuakeWorld) there's a server browser. | ||
* You can use the mouse. | * You can use the mouse. | ||
− | * use directional keys to navigate. there are 2 areas | + | * use directional keys to navigate. there are 2 areas to navigate: the server list and the option list below. |
* You can filter the servers just by typing. | * You can filter the servers just by typing. | ||
* Once you select a server to join, you can use new keys to connect in different ways. press the left directional key to see the keys and what they do (o to observe…) | * Once you select a server to join, you can use new keys to connect in different ways. press the left directional key to see the keys and what they do (o to observe…) |
Latest revision as of 17:39, 18 December 2018
FTE also known as FTEQW, FTE QuakeWorld and Fore Thought Entertainment.
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
Latest version [here], but consider using AfterQuake
Information
- Founded: 2002 by Spike
- Current team members: Spike
- Inactive team members: TimeServ, Bigfoot, Moodles and Molgrum
Client feature list
- Quake Singleplayer, NetQuake and QuakeWorld support (all in one)
- Demo capturing - create your own movies, using custom resolutions, encoding in your favorite codec... very simple!
- Many options for screenshots (virtual reality, mega resolution, stereoscopic)
- 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
- Optional software-style rendering
- rendering at a different resolution (want more speed? or more quality?)
- Realtime lighting
- MD3 and MD2 model support
- 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)
- Massive versitility
- QuakeC debugger
- Eye candy stuff:
- HDR (retina) implementation
- bump mapping
- Customizable particles - create your own effects, even in SW
- Support for TrueType Fonts
- Several projection types! Stereostopic projection (playable fov 180), Equirectangular (VR-like, 360o screenshots, videos)...
and of course, the most common features, like:
- Independent physics
- Built-in serverbrowser
- PK3 and ZIP support - compress your files and organize the quake folder
and many, many more... Some of the features are described in more detail below:
Media
Some Features
The console
FTE’s console is amazing!
Colors, TTF and links:
- ^1 – ^7 quake3 colors
- ^b blinking text
- ^&FB Ansi color codes. The two letters should be hex codes for the foreground and background colors. The background is opaque but can be transparent if – is used instead of a hex char.
- ^xRGB Specifies a specific 12-bit color 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 your 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-dependent. 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).
Copy to Clipboard, autocomplete, search
- 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 recognizes, 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 complete 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 takes a filename argument followed by width then height. The width and height are still limited by your GPU, but have absolutely no dependency 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.
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.
A javascript port, an embedded web browser, 360 degree vision, walking on the ceiling, portals, 6dof, custom huds, skyboxes, fog, etc etc.
Plugins
Plugins add (even more) functionality to FTE. It's a library (DLL file in windows) that is copied to AfterQuake root folder. Some plugins:
- 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 dependencies. 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).
- EzQuake HUD
Basically enables ezQuake hud configs to be used on FTE.
- Ingame Map Editor
under construction
- Replacement Menus
What the name says, new menus.
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.
FAQ
How to get FTE???
The easiest way is to use AfterQuake. Read that page for related info.
What now?
AfterQuake can download a bunch of things from the menu, for example, engine config files, huds, particle configurations, crosshairs, etc. You can load these from the ingame menu, or you can use the built-in console variables /list* to view them ingame. If you’re curious, you should use pakscape (included) to browse the .pk3 files included (located under dlcache folder).
The config loaded by default is the engine default. It might not be suited for you, so you may want to load another with /cfg_load. To list the available configs, type /listconfigs in the console, and load one. Just in case, type /vid_restart every time you load one new. Save your config with /cfg_save <configName> (remember to cfg_load next time you run the game) or just /cfgsave to overwrite the default one. More info below.
First run
- The menus are supposed to be browsed with the mouse. Using the keyboard is so oldschool!
- Press ESC to access the console. There’s a console command that searches all the commands, cvars that the engine has. It is called /apropos. Use it! It’s a big help to customize settings and explore!
- Is the console text too small? use /con_textsize to change. type /ttffonts for more info about fonts
- To start, I suggest you to start a new game or connect to an online server. Go to “Join Server” – the server browser starts querying online servers. Filter the list by either 1) start typing the name of the server you’re looking for (backspace to delete characters) or 2) using the filters on the bottom of the screen. You can sort the columns too (hint: always use the mouse and read the contextual help!)
- Once a map is loaded, you can visually see the changes when loading huds or particle configs from the menu. And everything else too. Browse the menus for gems!
- If you're using the new menu, you can bring the old menu back by pressing CTRL-C while on the menu. This preference won’t be saved.
Handy console commands:
/apropos <keyword> /con_textsize /flocate /dir *.* /fs_restart /hud_editor and /hud_export (QuakeWorld only, when using the ezQuake hud plugin) /cfg_load and /cfg_save /gamma /vid_restart
Cool console commands:
/r_projection 0-5 /r_dynamic -1 (much more frames per second on big, open maps with few textures) /r_bloom 0-1 (to tune bloom)
Paths
Paths can be annoying. Assuming that you don’t want to use “My Documents” folder to keep your game data, confirm that FTE is using the current folder by typing /path in the console.
- If it prints “My documents”, start FTE with the parameter -nohome, and create a shortcut to it.
- If you want to see which package a file is inside, you can use “/flocate maps/foo.bsp” for instance. Alternatively, you can use “/dir maps/foo.bsp” and it’ll list each occurrence of that file including the package/gamedir that contains it.
Config management
Config management is similar to ezQuake. Some quick facts to summarize.
- The config file located at fte/fte.cfg is the config that is loaded when you run fte client;
- Other configs get saved into fte/configs/*
/cfg_save ⇒ Saves fte.cfg into fte/ folder /cfg_save foo ⇒ Saves foo.cfg into fte/configs/ folder /exec foo.cfg ⇒ executes foo.cfg from default locations, fte/ or qw/ or id1/
Type /listconfigs to list every config on fte/ folder. There are more /list options, for example /listcrosshairs which is awesome!
Server browser
If you're into multiplayer (netQuake or QuakeWorld) there's a server browser.
- You can use the mouse.
- use directional keys to navigate. there are 2 areas to navigate: the server list and the option list below.
- You can filter the servers just by typing.
- Once you select a server to join, you can use new keys to connect in different ways. press the left directional key to see the keys and what they do (o to observe…)