9acb99ed08
YQ2 has a much more precise Sys_Milliseconds() than Vanilla Quake II and it always start at 0, not some other semirandom value. If the client is started by `./quake2 +connect example.com" or all user just walk their way to the menu there's a very high propability that two ore more clients end up with the same qport... We can't use rand(), because we're always starting with the same seed, so all clients generate more or less the same random numbers and we end up in the same situation. So just call time(). It's portable and more or less in line what the original code did for Windows. It may be necessary to implement some kind of fallback logic just in case that still two clients end up with the same qport, but that's a task for another day. Closes #537. |
||
---|---|---|
doc | ||
src | ||
stuff | ||
.gitignore | ||
CHANGELOG | ||
CMakeLists.txt | ||
LICENSE | ||
Makefile | ||
README.md |
Yamagi Quake II
Yamagi Quake II is an enhanced client for id Software's Quake II with focus on offline and coop gameplay. Both the gameplay and the graphics are unchanged, but many bugs in the last official release were fixed and some nice to have features like widescreen support and a modern OpenGL 3.2 renderer were added. Unlike most other Quake II source ports Yamagi Quake II is fully 64-bit clean. It works perfectly on modern processors and operating systems. Yamagi Quake II runs on nearly all common platforms; including FreeBSD, Linux, OpenBSD, Windows and macOS (experimental).
This code is built upon Icculus Quake II, which itself is based on Quake II 3.21. Yamagi Quake II is released under the terms of the GPL version 2. See the LICENSE file for further information.
Documentation
Before asking any question, read through the documentation! The current version can be found here: doc/010_index.md
Releases
The official releases (including Windows binaries) can be found at our
homepage: https://www.yamagi.org/quake2
Unsupported preview builds for Windows can be found at
https://deponie.yamagi.org/quake2/misc/