e137ff1168
We're taking indices and converting them to pointer relative to the hunks base. Yes, that's dirty. Since the indices are stored as 32 bit values and hunks are generally small using 32 bit pointers is enough, even on 64 bit platforms. So the code took the size of void* / 2... See the problem? Yes, that's not a good idea on 32 bit platforms. Bite the bullet and just take the size of void*. Shouldn't be a problem, because the indices are the first thing that's loaded and the hunk is trimmed right after it anyways. If, and just if, we really need each and every byte in the early stages of map loading we need two cases. One for 64 bit and one for 32 bit. This fixes issue #346. Kudos to @ricardosdl for the analysis. |
||
---|---|---|
doc | ||
src | ||
stuff | ||
.gitignore | ||
CHANGELOG | ||
CMakeLists.txt | ||
LICENSE | ||
Makefile | ||
README.md |
Yamagi Quake II
This is the Yamagi Quake II Client, an enhanced version of id Software's Quake II with focus on offline and coop gameplay. Both the gameplay and the graphics are unchanged, but many bugs if 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 OS X (experimental).
This code is build 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 questions read through the documentation! The current version can be found here: doc/01_index.md
Releases
The official releases (including Windows binaries) can be found at our homepage: https://www.yamagi.org/quake2