forked from FortressOne/fteqw
-
Notifications
You must be signed in to change notification settings - Fork 0
/
fteqw_readme.txt
261 lines (197 loc) · 8.85 KB
/
fteqw_readme.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
FTEQW README
============
This file contains the following sections:
1. ABOUT
2. FEATURES
3. INSTALLING
4. NETWORK QUICK-START
5. TWEAKS
6. TROUBLESHOOTING
7. CONTACT
8. LICENSE
1. ABOUT
========
FTEQW is the advanced, portable Quake engine.
It supports multiple games running on idTech, plus its own set of
games that developers have created. Due to the vast amount of supported
formats, features and innovations inside the engine and its very own
QuakeC compiler (fteqcc), it's very much considered the swiss-army
knife of Quake engines.
2. FEATURES
===========
- Portable engine that runs on x86, amd64, ARM/64, PPC64LE and Web
- Hybrid protocol engine that supports multiple games
- Rendering API support for D3D8, D3D9, D3D11, OpenGL, Vulkan
- Splitscreen support for Quake and most mods
- In-game voice chat powered by either Opus or Speex
- Advanced renderer features, powered by a strong material system
and support for both HLSL and GLSL shader code
- Multiple audio backends, from OSS to SDL_Sound and OpenAL Soft,
plus API so developers can take advantage of AL EAX reverb features.
And yes, DirectSound.
- Integrated next-generation QuakeC compiler and debugger
with support for breakpoints, real-time ingame attribute debugging
and much more
- Support for IPv4 and IPv6
- Video output presets, to make your games either look like the
original versions, or more modern with real-time lighting and more
accurate shading
- Support for CD-DA/Red Book music replacement in a variety of formats,
such as Vorbis, MPEG-3, WAVE and FLAC (ffmpeg plugin required)
3. INSTALLING
=============
Put the engine binary and desired plugins for your platform into the
root of the game directory.
Supported games:
Quake and its Missionpacks
QuakeWorld
Quake II and its Missionpacks
Quake III Arena and Team Arena
HeXen II and its Missionpack
If you want to be explicit about the game you're starting, you can pass
the command-line parameters '-quake2', '-quake3' or '-hexen2' for the
respective game. This will make sure that in a crowded universal game
directory, FTE starts the right game.
If you want to install music replacement files, you put them into the
music/ folder with the trackXX naming convention, starting with track02.
Important note regarding Quake II based support
-----------------------------------------------
If you're running a 64-bit version of FTEQW, then you also need 64-bit
game-logic for Quake II. We recommend getting the game .dll/.so from the
Yamagi Quake II project for your respective platform. It's recommended
that you do for win32 as well, as that will ensure that save games work
properly and you can stop worrying about them becoming incompatible
between other machines.
4. NETWORK QUICK-START
======================
Upon launching FTEQW, you can use the multiplayer menu's own built-in
server browser to join and connect to a vast array of matches across all
the different protocols. No more QuakeSpy/GameSpy 3D client required!
If you want to host a game, you can either run a listen server with
the ports forwarded, or host a listen server using frag-net.com's online
service. Start a new multiplayer server, change the "Public" setting to
"Holepunch" and players will automatically see your game in their
server-browser once it's started.
You can also set FTEQW to run in a terminal/command-prompt for hosting
a dedicated server session.
Simply pass the command-line argument like so:
fteqw -dedicated
This will create an interactive shell reminiscent to the console that's
accessible in-game.
You can host a game directly with frag-net.com without having to worry
about port-forwarding and have a map up and running like so:
fteqw +set sv_public 2 +set sv_playerslots 8 +map dm4
5. TWEAKS
=========
You can apply tweaks by opening the console (SHIFT+ESC) and entering
commands into the line buffer. In there you can enter console variables
(cvars) that affect how the game behaves, as well as enter console
commands that trigger an action in the engine.
You can always find a list of both of these with the console commands
'cvarlist' and 'cmdlist' respectively.
Some example commands
------------------------
bind <key> <command> Binds a command to a key, e.g. bind F12 quit
map <mapname> Starts a new game on <mapname>, e.g. map dm4
connect <address> Establishes a connection to the specified
IP/hostname address.
disconnect Closes and remote or local game session.
cfg_save Save amy unsaved configuration changes.
quit Quits the game.
About console variables
-----------------------
Unlike other Quake engines, FTEs console variable system is more akin to
those of later idTech engines. Console variables can be set temporarily
(until the next engine restart) or permanently.
set sv_port 26000 Sets the current port to 26000 for this session
seta sv_port 26000 Sets the current port gets set to 26000 and makes
sure it will get 'archived', aka saved.
Sometimes, you'll be able to change a cvar without entering 'set' or
'seta' beforehand. This is due to the cvar/cmd suggestion system.
When you simply set a cvar that way, 'set' is assumed.
So those changes are only temporary.
Commandline arguments
---------------------
You can pass cvars and commands directly to the engine binary, prefixed
with a plus symbol like so:
fteqw +set sv_port 26000 +map dm4
There's also other interesting commandline only arguments you can pass:
-nohome Don't attempt to save configs, saves, screenshots in the
home or user directory.
-basedir <path> Specifies the root game directory path.
-basegame <dir> Specifies which folder to look in for main game data.
-game <dir> Specifies which mod folder to load over the game data
-window Tells the renderer to run in a window
-manifest <fmf> Specifies a game manifest to load.
This is for advanced game and mod switching.
-dedicated Run the engine in dedicated server mode, no video out.
Changing games and mods
-----------------------
Launching a Quake 1 mod can be done like so:
fteqw -game fortress
That will assume a basegame of 'id1' and the mod 'fortress' will be
loaded on top of it.
However, if you're playing a game that uses no data from Quake 1:
fteqw -basegame openquartz
Then it'll never even touch or peek into the folder 'id1'.
Of course you can pass -game after that, too.
Understanding manifests (advanced users)
----------------------------------------
You can setup custom game configurations with FTE's manifest files.
Those can be quite advanced, as they might inherit multiple directories,
change the name of the window title, set binds, aliases and cvars ahead
of time and much more.
FTEMANIFEST 1
GAME funky
NAME "Funky QW Game"
BASEGAME id1
BASEGAME qw
BASEGAME funky
An example manifest that will load id1, qw and then funky.
If you wanted, you can set default cvars and aliases in there like so:
-set sv_example 1234
-seta cl_foobar 5678
-alias funky1 "impulse 416"
+bind g funky1
Note the dash and plus symbols, they actually notate when to execute the
command in question. '-' means before the engine loads the game config
whereas '+' notates it will override anything that will usually be set
by the game.
You'd then save this as, for example, funky.fmf and load the manifest
via the command-line:
fteqw -manifest funky.fmf
6. TROUBLESHOOTING
==================
If you're running FTEQW on an older machine with Intel GMA graphics,
you probably want to try running the engine in D3D9 mode if you're
encountering any graphical issues:
fteqw +set vid_renderer d3d9
If you can only run OpenGL but still have graphical issues, try forcing
support for the builtin GLSL off:
fteqw +set gl_blacklist_debug_glsl 1
If FTEQW is seemingly not saving your settings, make sure you tell it to
save your config when you quit the game. If it still does not work
somehow, enter the console command 'cfg_save' into the console. It
should output where the file gets saved or if there's any problems
writing the configuration file.
If OpenAL is causing crashes at launch (happens with some distributions,
that is out of our control) then try starting FTEQW with:
fteqw +set s_al_disable 1
7. CONTACT
==========
If you need more help, have suggestions or want to hang out with the
developers that make FTEQW what it is, join us on IRC!
No account required.
irc.quakenet.org #fte
Bug reports welcome!
8. LICENSE
==========
Copyright (c) 2004-2020 FTE's team and its contributors
Quake source (c) 1999 id Software
FTEQW is supplied to you under the terms of the same license as the
original Quake sources, the GNU General Public License Version 2.
Please read the 'LICENSE' file for details.
The latest source is always available at:
http://svn.code.sf.net/p/fteqw/code/trunk/
Binaries are usually built at:
https://fte.triptohell.info/moodles/