quakespasm/Quakespasm-Spiked.txt

182 lines
6.6 KiB
Text
Raw Normal View History

2017-12-15 06:01:58 +00:00
QuakeSpasm-Spiked
---------
1. About
QuakeSpasm-Spiked <http://fte.triptohell.info/moodles/qss/> is an
even more modern Quake 1 engine based on everyone else's hard work
that I stole, as well as some of my own stuff from FTE.
It includes networking fixes and improvements, which means you can
actually stand a chance of being able to use this thing as a server.
It also includes a whole load of (serverside) QuakeC extensions so that
modders are no longer limited to what is essentially crippleware.
If the way I explain that grates on you, then you're probably part of
the reason why I got annoyed enough to spend my time on this.
-------------
2. Downloads
Sourcecode for this branch is available from:
https://github.com/Shpoike/Quakespasm
Windows builds are available from:
http://fte.triptohell.info/moodles/qss/
Linux and Mac builds are not currently available. These users will need
to build their own from source.
You may be able to find third-party versions prebuilt by other people.
Users familiar with Quakespasm shouldn't have any issues. This thing
will still feel like QuakeSpasm, except for the optional additions,
so the Quakespasm readme is included, its pretty much all still valid.
The included dlls are identical to the versions from an equivelent
copy of regular QuakeSpasm, you should be able to have both installed in
the same game directory without issue - on the condition that they're
both win32 or both win64, not a mix.
-------------
3. New Toys!
(This is all relative to the regular QuakeSpasm at the time of writing)
----------------------
3.1. Protocol Changes
o VOIP. Yes, voip is a thing.
+voip or cl_voip_send 1 to use.
cl_voip_test 1 will let you listen to yourself (*sigh*) to
get volume levels acceptable.
WARNING: vanilla quakespasm distributes a libopus-0.dll that lacks encoding.
This results in opus playback but not transmission, transmission will instead
fall back on the much-simpler-but-inferor PCM-A codec, which is built-in.
FIXME: QSS still provides the same broken opus version. I need to compile my own.
o Split signons. Maps are no longer limited by the number of
baselines or static ents etc. Go crazy if you dare.
o Decent deltas (using FTE's network protocol).
You can have 5000+ ents visible at a time.
They won't randomly disappear any more.
Gracefully downgrades for old clients like QS or MarkV.
o More accurate view angles compatible with ProQuake.
o Rcon support compatible with most other NQ engines.
rcon_password empty leaves this disabled.
o Single-Socket-Servers. You no longer need to re-route every single
port to the QuakeSpasm Server. If you're hosting a public server,
you simply need to (identity-)route a single port, as determined by
the port cvar.
o IPv6. Future ready! Even Windows 2000 had support for it...
IPv6 was finalised 20 years ago, and its still not even
available in most of the world.
So lets change that!
o Master server support. Servers will be advertised globally. Set
sv_public 0 to disable this.
You can also view other people's servers too. Vital feature.
o File download support. No more hunting for maps!
o BJP3 protocol support. In case anyone ever cares.
o Partial clientside compatibility with DarkPlaces Protocol 7.
No prediction, no csqc, a few other omissions.
----------------------
3.2. Modding features
o Supports md3 (no shaders, no tags).
o Raised limits for the mdl format (much rewritten, vertex limit is somewhere north of 32k, which should be enough...).
o Fixed sprite framegroups (vanilla bug).
o Support for .spr32, although its a bit of a poo format.
o Supports .pk3 archives (ie: renamed zips) common with large mods.
o Package wildcard support.
-nowildpaks on the commandline to disable, if desired.
o Particle system, for custom effects, explosions, blood, decals!
Ripped from FTE.
Supports both FTE-style particles as well as DP-style ones.
Docs for each style are elsewhere.
o Supports .png textures. Not just for saving screenshots!
o set and seta console commands. No more crappy configs.
o Custom binds can be added to the binds menu.
Because noone reads readmes.
... I seriously don't know why I'm bothering to write this.
o Late precaches. Because why not.
o Increased runaway limit, so that people may flee in terror.
o Player limit raised to 255. In case I ever get any friends.
o Lots of QC extensions.
Not as many as FTE of course...
Use pr_dumpplatform to see the new builtins/toys.
If you're called Scrooge, you can block these from mods by setting
pr_checkextension 0.
o Runs a range of new mods that will just fail in regular QS.
----------------------
3.3. Mapping features
o Raised limits:
Static Entities (limit removed)
Static Sounds (limit destroyed)
Baseline Limits (limit annihilated)
Visible Entities (limit nuked from orbit)
Lightmap Data (limit obliterated)
Max Lightstyles (now 255 - bsp2 format limit).
o BSPX support.
Lits can be embedded now, for fewer files to distribute.
o Lightmap scaling, for higher res lightmaps (or possibly lower).
Requires tyrutils-ericw to use (_lmscale field).
o Autodetects watervis on a per-surface-type basis.
Opaque lava and transparent water works fine.
o Doesn't bug out from tyrutils-ericw's -notex argument, which
can help with certain copyright issues by not distributing textures.
o Doesn't crash from qbsp run with the -noclip argument.
o Understands the hexen2 bsp format, but don't expect it to work
without rampant palette issues.
(Use replacement textures. Also requires mod support.)
o Particle system, for rain or random custom effects!
Emit from textures, or see below.
o Special fields that can be used on any entity without QC changes:
"emiteffect" field - to specify a constantly emitting effect.
"traileffect" field - for particles any time the entity moves.
--------
4. Todo
o opus voip encoder library
o properish dev kit, with proper docs (ahahaha!).
o IQM, maybe, some time (mdl sucks).
o remove hull size limitation.
o maybe menuqc. otherwise known as cvar hell, so mods can avoid quake's clunky nightmare.
o maybe basic csqc. primarily for huds.