mirror of
https://github.com/UberGames/lilium-voyager.git
synced 2025-02-23 11:31:03 +00:00
Improve github interperation of README.md
This commit is contained in:
parent
fe09fb77b9
commit
94bffacdb2
1 changed files with 327 additions and 292 deletions
151
README.md
151
README.md
|
@ -39,7 +39,7 @@ renamed to id-readme.txt so as to prevent confusion. Please refer to the
|
|||
web-site for updated status.
|
||||
|
||||
|
||||
--------------------------------------------- Compilation and installation -----
|
||||
# Compilation and installation
|
||||
|
||||
For *nix
|
||||
1. Change to the directory containing this readme.
|
||||
|
@ -73,6 +73,7 @@ x86_64.
|
|||
The following variables may be set, either on the command line or in
|
||||
Makefile.local:
|
||||
|
||||
```
|
||||
CFLAGS - use this for custom CFLAGS
|
||||
V - set to show cc command line when building
|
||||
DEFAULT_BASEDIR - extra path to search for baseq3 and such
|
||||
|
@ -108,13 +109,16 @@ Makefile.local:
|
|||
DEBUG_CFLAGS - C compiler flags to use for building debug version
|
||||
COPYDIR - the target installation directory
|
||||
TEMPDIR - specify user defined directory for temp files
|
||||
```
|
||||
|
||||
The defaults for these variables differ depending on the target platform.
|
||||
|
||||
|
||||
------------------------------------------------------------------ Console -----
|
||||
# Console
|
||||
|
||||
New cvars
|
||||
## New cvars
|
||||
|
||||
```
|
||||
cl_autoRecordDemo - record a new demo on each map change
|
||||
cl_aviFrameRate - the framerate to use when capturing video
|
||||
cl_aviMotionJpeg - use the mjpeg codec when capturing video
|
||||
|
@ -271,8 +275,11 @@ New cvars
|
|||
cl_aviMotionJpeg is enabled
|
||||
r_mode -2 - This new video mode automatically uses the
|
||||
desktop resolution.
|
||||
```
|
||||
|
||||
New commands
|
||||
## New commands
|
||||
|
||||
```
|
||||
video [filename] - start video capture (use with demo command)
|
||||
stopvideo - stop video capture
|
||||
stopmusic - stop background music
|
||||
|
@ -307,15 +314,18 @@ New commands
|
|||
all bots even if someone is named "allbots")
|
||||
|
||||
tell <client num> <msg> - send message to a single client (new to server)
|
||||
```
|
||||
|
||||
|
||||
--------------------------------------------------------- README for Users -----
|
||||
# README for Users
|
||||
|
||||
## Using shared libraries instead of qvm
|
||||
|
||||
Using shared libraries instead of qvm
|
||||
To force Q3 to use shared libraries instead of qvms run it with the following
|
||||
parameters: +set sv_pure 0 +set vm_cgame 0 +set vm_game 0 +set vm_ui 0
|
||||
parameters: `+set sv_pure 0 +set vm_cgame 0 +set vm_game 0 +set vm_ui 0`
|
||||
|
||||
## Using Demo Data Files
|
||||
|
||||
Using Demo Data Files
|
||||
Copy demoq3/pak0.pk3 from the demo installer to your baseq3 directory. The
|
||||
qvm files in this pak0.pk3 will not work, so you have to use the native
|
||||
shared libraries or qvms from this project. To use the new qvms, they must be
|
||||
|
@ -327,7 +337,8 @@ Using Demo Data Files
|
|||
data, nor is it something that we like to spend much time maintaining or
|
||||
supporting.
|
||||
|
||||
Help! Ioquake3 won't give me an fps of X anymore when setting com_maxfps!
|
||||
## Help! Ioquake3 won't give me an fps of X anymore when setting com_maxfps!
|
||||
|
||||
Ioquake3 now uses the select() system call to wait for the rendering of the
|
||||
next frame when com_maxfps was hit. This will improve your CPU load
|
||||
considerably in these cases. However, not all systems may support a
|
||||
|
@ -337,7 +348,8 @@ Help! Ioquake3 won't give me an fps of X anymore when setting com_maxfps!
|
|||
In this case you can always revert back to the old behaviour by setting the
|
||||
cvar com_busyWait to 1.
|
||||
|
||||
Using HTTP/FTP Download Support (Server)
|
||||
## Using HTTP/FTP Download Support (Server)
|
||||
|
||||
You can enable redirected downloads on your server even if it's not
|
||||
an ioquake3 server. You simply need to use the 'sets' command to put
|
||||
the sv_dlURL cvar into your SERVERINFO string and ensure sv_allowDownloads
|
||||
|
@ -346,19 +358,20 @@ Using HTTP/FTP Download Support (Server)
|
|||
sv_dlURL is the base of the URL that contains your custom .pk3 files
|
||||
the client will append both fs_game and the filename to the end of
|
||||
this value. For example, if you have sv_dlURL set to
|
||||
"http://ioquake3.org", fs_game is "baseq3", and the client is
|
||||
missing "test.pk3", it will attempt to download from the URL
|
||||
"http://ioquake3.org/baseq3/test.pk3"
|
||||
`"http://ioquake3.org"`, fs_game is `"baseq3"`, and the client is
|
||||
missing `"test.pk3"`, it will attempt to download from the URL
|
||||
`"http://ioquake3.org/baseq3/test.pk3"`
|
||||
|
||||
sv_allowDownload's value is now a bitmask made up of the following
|
||||
flags:
|
||||
1 - ENABLE
|
||||
4 - do not use UDP downloads
|
||||
8 - do not ask the client to disconnect when using HTTP/FTP
|
||||
|
||||
* 1 - ENABLE
|
||||
* 4 - do not use UDP downloads
|
||||
* 8 - do not ask the client to disconnect when using HTTP/FTP
|
||||
|
||||
Server operators who are concerned about potential "leeching" from their
|
||||
HTTP servers from other ioquake3 servers can make use of the HTTP_REFERER
|
||||
that ioquake3 sets which is "ioQ3://{SERVER_IP}:{SERVER_PORT}". For,
|
||||
that ioquake3 sets which is `"ioQ3://{SERVER_IP}:{SERVER_PORT}"`. For,
|
||||
example, Apache's mod_rewrite can restrict access based on HTTP_REFERER.
|
||||
|
||||
On a sidenote, downloading via UDP has been improved and yields higher data
|
||||
|
@ -366,46 +379,58 @@ Using HTTP/FTP Download Support (Server)
|
|||
cvar sv_dlRate. Due to system-specific limits the download rate is capped
|
||||
at about 1 Mbyte/s per client, so curl downloading may still be faster.
|
||||
|
||||
Using HTTP/FTP Download Support (Client)
|
||||
## Using HTTP/FTP Download Support (Client)
|
||||
|
||||
Simply setting cl_allowDownload to 1 will enable HTTP/FTP downloads
|
||||
assuming ioquake3 was compiled with USE_CURL=1 (the default).
|
||||
like sv_allowDownload, cl_allowDownload also uses a bitmask value
|
||||
supporting the following flags:
|
||||
1 - ENABLE
|
||||
2 - do not use HTTP/FTP downloads
|
||||
4 - do not use UDP downloads
|
||||
|
||||
* 1 - ENABLE
|
||||
* 2 - do not use HTTP/FTP downloads
|
||||
* 4 - do not use UDP downloads
|
||||
|
||||
When ioquake3 is built with USE_CURL_DLOPEN=1 (default on some platforms),
|
||||
it will use the value of the cvar cl_cURLLib as the filename of the cURL
|
||||
library to dynamically load.
|
||||
|
||||
Multiuser Support on Windows systems
|
||||
## Multiuser Support on Windows systems
|
||||
On Windows, all user specific files such as autogenerated configuration,
|
||||
demos, videos, screenshots, and autodownloaded pk3s are now saved in a
|
||||
directory specific to the user who is running ioquake3.
|
||||
|
||||
On NT-based such as Windows XP, this is usually a directory named:
|
||||
"C:\Documents and Settings\%USERNAME%\Application Data\Quake3\"
|
||||
|
||||
C:\Documents and Settings\%USERNAME%\Application Data\Quake3\
|
||||
|
||||
Windows 95, Windows 98, and Windows ME will use a directory like:
|
||||
"C:\Windows\Application Data\Quake3"
|
||||
|
||||
C:\Windows\Application Data\Quake3
|
||||
|
||||
in single-user mode, or:
|
||||
"C:\Windows\Profiles\%USERNAME%\Application Data\Quake3"
|
||||
|
||||
C:\Windows\Profiles\%USERNAME%\Application Data\Quake3
|
||||
|
||||
if multiple logins have been enabled.
|
||||
|
||||
In order to access this directory more easily, the installer may create a
|
||||
Shortcut which has its target set to:
|
||||
"%APPDATA%\Quake3\"
|
||||
|
||||
%APPDATA%\Quake3\
|
||||
|
||||
This Shortcut would work for all users on the system regardless of the
|
||||
locale settings. Unfortunately, this environment variable is only
|
||||
present on Windows NT based systems.
|
||||
|
||||
You can revert to the old single-user behaviour by setting the fs_homepath
|
||||
cvar to the directory where ioquake3 is installed. For example:
|
||||
|
||||
ioquake3.exe +set fs_homepath "c:\ioquake3"
|
||||
|
||||
Note that this cvar MUST be set as a command line parameter.
|
||||
|
||||
SDL Keyboard Differences
|
||||
## SDL Keyboard Differences
|
||||
|
||||
ioquake3 clients have different keyboard behaviour compared to the original
|
||||
Quake3 clients.
|
||||
|
||||
|
@ -445,7 +470,9 @@ SDL Keyboard Differences
|
|||
text. Also, in addition to the nominated console keys, Shift-ESC is hard
|
||||
coded to always toggle the console.
|
||||
|
||||
QuakeLive mouse acceleration (patch and this text written by TTimo from id)
|
||||
## QuakeLive mouse acceleration
|
||||
(patch and this text written by TTimo from id)
|
||||
|
||||
I've been using an experimental mouse acceleration code for a while, and
|
||||
decided to make it available to everyone. Don't be too worried if you don't
|
||||
understand the explanations below, this is mostly intended for advanced
|
||||
|
@ -491,15 +518,17 @@ QuakeLive mouse acceleration (patch and this text written by TTimo from id)
|
|||
interested by your feedback.
|
||||
|
||||
|
||||
---------------------------------------------------- README for Developers -----
|
||||
# README for Developers
|
||||
|
||||
## pk3dir
|
||||
|
||||
pk3dir
|
||||
ioquake3 has a useful new feature for mappers. Paths in a game directory with
|
||||
the extension ".pk3dir" are treated like pk3 files. This means you can keep
|
||||
all files specific to your map in one directory tree and easily zip this
|
||||
folder for distribution.
|
||||
|
||||
64bit mods
|
||||
## 64bit mods
|
||||
|
||||
If you wish to compile external mods as shared libraries on a 64bit platform,
|
||||
and the mod source is derived from the id Q3 SDK, you will need to modify the
|
||||
interface code a little. Open the files ending in _syscalls.c and change
|
||||
|
@ -519,14 +548,16 @@ pk3dir
|
|||
Note if you simply wish to run mods on a 64bit platform you do not need to
|
||||
recompile anything since by default Q3 uses a virtual machine system.
|
||||
|
||||
Creating mods compatible with Q3 1.32b
|
||||
## Creating mods compatible with Q3 1.32b
|
||||
|
||||
If you're using this package to create mods for the last official release of
|
||||
Q3, it is necessary to pass the commandline option '-vq3' to your invocation
|
||||
of q3asm. This is because by default q3asm outputs an updated qvm format that
|
||||
is necessary to fix a bug involving the optimizing pass of the x86 vm JIT
|
||||
compiler.
|
||||
|
||||
Creating standalone games
|
||||
## Creating standalone games
|
||||
|
||||
Have you finished the daunting task of removing all dependencies on the Q3
|
||||
game data? You probably now want to give your users the opportunity to play
|
||||
the game without owning a copy of Q3, which consequently means removing cd-key
|
||||
|
@ -568,7 +599,6 @@ Creating standalone games
|
|||
+set com_basegame basefoo +set com_homepath .foo
|
||||
+set com_gamename foo
|
||||
|
||||
|
||||
If you really changed parts that would make vanilla ioquake3 incompatible with
|
||||
your mod, we have included another way to conveniently build a stand-alone
|
||||
binary. Just run make with the option BUILD_STANDALONE=1. Don't forget to edit
|
||||
|
@ -598,7 +628,7 @@ Creating standalone games
|
|||
maps) created by yourself are your property and can be sold like every other
|
||||
game you find in stores.
|
||||
|
||||
Network protocols
|
||||
## Network protocols
|
||||
There are now two cvars that give you some degree of freedom over the reported
|
||||
protocol versions between clients and servers: "com_protocol" and
|
||||
"com_legacyprotocol".
|
||||
|
@ -627,7 +657,7 @@ Network protocols
|
|||
game you can still enable it in q_shared.h by defining
|
||||
LEGACY_PROTOCOL.
|
||||
|
||||
cl_guid Support
|
||||
## cl_guid Support
|
||||
cl_guid is a cvar which is part of the client's USERINFO string. Its value
|
||||
is a 32 character string made up of [a-f] and [0-9] characters. This
|
||||
value is pseudo-unique for every player. Id's Quake 3 Arena client also
|
||||
|
@ -641,11 +671,12 @@ cl_guid Support
|
|||
a server. This value can be reset by the client at any time so it's not
|
||||
useful for blocking access. However, it can have at least two uses in
|
||||
your mod's game code:
|
||||
1) improve logging to allow statistical tools to index players by more
|
||||
than just name
|
||||
2) granting some weak admin rights to players without requiring passwords
|
||||
|
||||
PNG support
|
||||
1. improve logging to allow statistical tools to index players by more
|
||||
than just name
|
||||
2. granting some weak admin rights to players without requiring passwords
|
||||
|
||||
## PNG support
|
||||
ioquake3 supports the use of PNG (Portable Network Graphic) images as
|
||||
textures. It should be noted that the use of such images in a map will
|
||||
result in missing placeholder textures where the map is used with the id
|
||||
|
@ -665,7 +696,8 @@ PNG support
|
|||
|
||||
Restart GtkRadiant and PNG textures are now available.
|
||||
|
||||
Building with MinGW for pre Windows XP
|
||||
## Building with MinGW for pre Windows XP
|
||||
|
||||
IPv6 support requires a header named "wspiapi.h" to abstract away from
|
||||
differences in earlier versions of Windows' IPv6 stack. There is no MinGW
|
||||
equivalent of this header and the Microsoft version is obviously not
|
||||
|
@ -674,7 +706,7 @@ Building with MinGW for pre Windows XP
|
|||
directory, this restriction is lifted.
|
||||
|
||||
|
||||
------------------------------------------------------------- Contributing -----
|
||||
# Contributing
|
||||
|
||||
Please send all patches to bugzilla (https://bugzilla.icculus.org), or join the
|
||||
mailing list (http://lists.ioquake.org/listinfo.cgi/ioquake3-ioquake.org) and
|
||||
|
@ -689,7 +721,7 @@ accepted as long as they are entirely optional, do not require new media and
|
|||
are off by default.
|
||||
|
||||
|
||||
--------------------------------------------- Building Official Installers -----
|
||||
# Building Official Installers
|
||||
|
||||
We need help getting automated installers on all the platforms that ioquake3
|
||||
supports. We don't necessarily care about all the installers being identical,
|
||||
|
@ -722,25 +754,28 @@ but we have some general guidelines:
|
|||
* Your installer will be mirrored to an "official" directory, thus making it
|
||||
a done deal.
|
||||
|
||||
------------------------------------------------------------------ Credits -----
|
||||
|
||||
# Credits
|
||||
|
||||
Maintainers
|
||||
James Canete <use.less01@gmail.com>
|
||||
Ludwig Nussel <ludwig.nussel@suse.de>
|
||||
Thilo Schulz <arny@ats.s.bawue.de>
|
||||
Tim Angus <tim@ngus.net>
|
||||
Tony J. White <tjw@tjw.org>
|
||||
Zachary J. Slater <zachary@ioquake.org>
|
||||
Zack Middleton <zturtleman@gmail.com>
|
||||
|
||||
* James Canete <use.less01@gmail.com>
|
||||
* Ludwig Nussel <ludwig.nussel@suse.de>
|
||||
* Thilo Schulz <arny@ats.s.bawue.de>
|
||||
* Tim Angus <tim@ngus.net>
|
||||
* Tony J. White <tjw@tjw.org>
|
||||
* Zachary J. Slater <zachary@ioquake.org>
|
||||
* Zack Middleton <zturtleman@gmail.com>
|
||||
|
||||
Significant contributions from
|
||||
Ryan C. Gordon <icculus@icculus.org>
|
||||
Andreas Kohn <andreas@syndrom23.de>
|
||||
Joerg Dietrich <Dietrich_Joerg@t-online.de>
|
||||
Stuart Dalton <badcdev@gmail.com>
|
||||
Vincent S. Cojot <vincent at cojot dot name>
|
||||
optical <alex@rigbo.se>
|
||||
Aaron Gyes <floam@aaron.gy>
|
||||
|
||||
* Ryan C. Gordon <icculus@icculus.org>
|
||||
* Andreas Kohn <andreas@syndrom23.de>
|
||||
* Joerg Dietrich <Dietrich_Joerg@t-online.de>
|
||||
* Stuart Dalton <badcdev@gmail.com>
|
||||
* Vincent S. Cojot <vincent at cojot dot name>
|
||||
* optical <alex@rigbo.se>
|
||||
* Aaron Gyes <floam@aaron.gy>
|
||||
|
||||
|
||||
[](http://githalytics.com/ioquake/ioq3)
|
||||
|
|
Loading…
Reference in a new issue