To archive this, 3 new functions Sys_GetProcAddress(), Sys_LoadLibrary()
and Sys_FreeLibrary() were added to abstract the library loading code
into a platform independend API.
Using a float number as version number is a bad idea. Correct this long
standing problem by changing it to a string. If we ever want to compare
version numbers, 2 integer constants "MAJOR_VERSION" and "MINOR_VERSION"
should be added.
This update brings some minor bugfixes, especially for big endian
platforms and LLP64 systems like 64 bit Windows. The support for
encrypted ZIP archives was removed. This is a no-op change, since
there was no way to pass the password to uncrypt. Without the
uncrypt code Yamagi Quake II can be distributed in some countries
with special laws for cryptographic software. The LICENSE was
updated to the most recent version of the INFO-ZIP license.
This change allows the usage of old mods without renaming their game
lib. This is applied to windows only because the few Linux mods out
there are broken since a long time due to incompatible changes in libc
and the kernel. Requested by Victor Sergeevich.
qhost was a proprietery management application for Quake II dedicated
servers. Since we don't know if the code is still working and most
likely no one uses it anymore, remove it. This war requested by Daniel.
This was requested by Daniel. While partitional installations were
working, they are another distinction between Linux and Windows and
useless. Everyone should have the ~350MiB for a full installation.
And full installations are much faster.
The "nostdout" cvar was only existent on unixoid platform and
disfunctional. Since the stdout putput is very helpfull when
debugging things, just remove it.
This changes employs a horrible hack to connect the ASCII Quake II to
the UTF-16 WinAPI. The path to "My Documentes" is read in UTF-16, then
converted to a old "DOS style path" with 8.3 characters. This DOS path
has by convention no UTF-16 characters in it and can be converted into
a normal ASCII string. This ASCII string is the path used by Yamagi
Quake II. The conversion logic will fail if the "Windows to DOS
filename transistion" is deactivated in the registry (it's on by
default). In that case no homedir is used and the "Windows Roaming
Mechanism" kicks in.
This brings in support for Microsoft Windows. While more testing is
necessary, the code seems to work quite well (tested by playing through
the first 3 units). Supported Windows versions are Windows XP and
above. Remaining problems are:
- The keyboard layout is always US QWERTY. This is due to a bug
in SDL. While a work around is possible, most likely it won't
be applied to Yamagi Quake II.
- The SDL sound backend needs the "dsound" SDL driver which is
unavailable for 64 bit apllications on 64 bit Windows and
Windows 8. Users should use the OpenAL backend.
- There me be problems if the %PROFILEDIR% containts unicode
characters.
This branch brings fixes to some potential problems found by clangs
"scan-build" tool. The biggest change is es new PRNG, which should
fox some problems related to bad pseudo random number, noticeable
especially after long session. The new PRNG is also a prerequiste
to Windows support.