mirror of
https://github.com/Shpoike/Quakespasm.git
synced 2024-11-10 07:21:58 +00:00
182 lines
6.6 KiB
Text
182 lines
6.6 KiB
Text
|
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.
|