Commit graph

333 commits

Author SHA1 Message Date
Yamagi Burmeister
8fa861d8e9 Bump version to 7.01pre.
While here remove missleading comment.
2017-06-08 18:12:55 +02:00
Yamagi Burmeister
95b0c6a38b Bump the version number to 7.00. 2017-06-08 17:29:51 +02:00
Yamagi
78ca79c602 Merge pull request #181 from DanielGibson/render_dll
Resurrect support for render / refresher loadable libraries and use them to implement  an experimental OpenGL 3.2 renderer. Please note that the new renderer interface is somewhat different from the original one, old render libraries will NOT work!
2017-04-18 17:12:40 +02:00
Yamagi Burmeister
e229008b72 Another try to make this utterly piece of crap portable. 2017-03-22 18:03:44 +01:00
Daniel Gibson
2e31ae0ec5 Remove/Replace unprintable characters for printing to stdout/log
some chars draw lines etc in Q2's font (conchars.pcx), but aren't
printable in ASCII.
Now they're replaced with equivalent real chars or just spaces.
2017-03-19 19:17:20 +01:00
Yamagi Burmeister
4d299e26d7 Don't write stdout.txt and stderr.txt when portable.
To be able to test if the game is running portable all checks of the
portable cvar must be done after Cvar_Init(). Instead of redirecting
stdout and stderr as early as possible, delay the redirection right
after Cvar_Init(). After this change the printf() in WinMain() aren't
printed into stdout.txt, but I guess that it isn't a big problem. All
interessting stuff like the search pathes is still there.

Rename fs_portable to portable. It's no longer filesystem specific.
2017-03-13 16:24:26 +01:00
Yamagi Burmeister
3032698f95 Put console_history.txt in the binary dir when fs_portable is 1. 2017-03-13 15:41:41 +01:00
Yamagi Burmeister
692b64ad38 Add a cvar fs_portable. When set to 1 the game is 'portable'.
Normally Q2 writes all persistent data (the configurations, saves, etc.)
into a subdirectory in the users $HOME. That can be a problem when the
game is installed onto an thumb drive or something like that. Therefor
provide a cvar fs_portable. When set to 1 the games uses it binary dir
as it's persistent storage location.

Examples:

./quake2 +set fs_portable 1
./quake2 +set basedir ~/games/quake2 +set fs_portable 1

fs_portable is _not_ saved into the config file. It must be set at
every start!

This closed issue #158.
2017-03-13 14:12:33 +01:00
Yamagi Burmeister
4a54fdd0ed Ensure that '+set game baseq2' doesn't break the search pathes.
This is the first step to fix issue #158, consistent behavior for all
cases. This problem was also reported by @lonkamikaze through IRC.
2017-03-13 13:52:11 +01:00
Daniel Gibson
57fd192cda GL3: levels are rendered a bit
the code is still very much WIP and kinda crappy, especially the
  static GLuint vao = 0, vbo = 0;
part in GL3_DrawGLPoly()
2017-02-19 06:03:07 +01:00
Daniel Gibson
5938a665e8 pass Com_VPrintf() to reflib used by R_Printf(), remove VID_Printf()
So in all code in the reflib (ref_gl.dll/.so/.dylib) calls to
ri.Con_Printf(print_level, fmt, ...) have been replaced by calls to
R_Printf(print_level, fmt, ...) which uses ri.Com_VPrintf().
2017-02-19 06:03:07 +01:00
Daniel Gibson
54ae3be0c6 Com_VPrintf(level, fmt, argptr) (Com_D?Printf() wraps that)
somehow all the printf()-like things in Q2 wrap each other and each
one prints into a buffer and then calls the next one with ("%s", buf).
That's not very clever and kinda annoying.
As in the end everyone calls Com_Printf() I created Com_VPrintf()
that can be called instead with the va_list.

I also added printf-format annotation to Com_Printf() and Com_DPrintf()
and fixed places where Com_Printf() was called with the wrong type.
2017-02-19 06:03:07 +01:00
Daniel Gibson
7f27c549a8 It works again, ref_gl doesn't use any client symbols anymore
So in theory this should even work on Windows now.
2017-02-19 06:03:07 +01:00
Yamagi Burmeister
2b317075c7 Treat autoexec.cfg like every other config.
Until now autoexec.cfg was a special case. It was read several
times, whenever the 'game' cvar was altered or when the client was
restarted. But only if it was in the right directory in the right
position of the internal search path... Remove this altogether and
replace it by an ordinary 'exec autoexec.cfg' at startup.

This may break some mods that depend on an autoexec.cfg if the user has
his own version in ~/.yq2/. Such mods should use default.cfg instead.

This closes issue #163.
2016-12-13 17:03:11 +01:00
Yamagi Burmeister
248662ff73 Bump version number to 6.01pre 2016-12-03 09:16:02 +01:00
Yamagi Burmeister
bb54225ad9 Bump version to 6.00. 2016-12-02 16:39:02 +01:00
Daniel Gibson
051be8285d Fix (text in) videos (for GPUs supporting NPOT textures)
especially in the intermission videos, the text looked broken, as parts
of the characters were missing.
This is because Draw_StretchRaw() converts the 320x240 video frame into
a 256x256 texture, without doing proper interpolation (just skipping
some pixels instead).
Now, if the GPU supports non-power-of-two texture sizes, the video
frames are uploaded as textures in their original size.

(Also fixed a harmless typo in common.h)
2016-11-06 23:44:54 +01:00
Yamagi Burmeister
aa897e3965 Make OSTYPE and ARCH user defineable.
The old implementation had two problems:

  * OSTYPE and ARCH are systemwide defines, overriding them may break
    the global libc headers. This is a theoretical problem, I've never
    seen it in praxis.

  * Not all system set ARCH correctly when building in a chroot env.
    For example on Linux ARCH is set to x86_64 when building in an
    i386 chroot. Now the user can do something like "make YQ2ARCH=i386"
    to get things right.
2016-10-24 18:02:17 +02:00
Yamagi Burmeister
6ff41e6b2f Remove unused and broken functions for writing files. 2016-08-16 20:14:41 +02:00
Yamagi Burmeister
f8ac496b69 Bump version number to 6.00pre 2016-08-07 10:14:07 +02:00
Yamagi Burmeister
2baf97bdf6 Throttle the client to 1000 FPS.
This is more than enough for everyone and prevents wasting CPU time.
Without this change as many client frames as possible are rendered,
Quake II uses a complete core.
2016-08-05 07:49:47 +02:00
Yamagi Burmeister
978eec1a8d Add an explicit fflush() when writing the config.
Yes, fclose() flushes the stream and yes, this is unnecessary. But I've
seen at least two times partial written configs on Win 10. :(
2016-08-04 09:07:47 +02:00
Simon McVittie
c00707d449 Override __DATE__ from SOURCE_DATE_EPOCH if set
For deterministic/reproducible builds (where the same source and
toolchain can be verified to produce the same binary, allowing
maliciously substituted binaries to be detected) it is desirable to
take the software's idea of the build date from the build system;
otherwise, the real-time clock at the time of building affects the
result, making it non-reproducible.

SOURCE_DATE_EPOCH is a distribution-neutral specification for how
to do that. It is meant to be set by meta-build systems such as
dpkg or RPM, using a date/time that is already part of the source code,
for example the date of the latest git commit, the date in
the package's debian/changelog, or the date in the RPM spec file.

See https://reproducible-builds.org/specs/source-date-epoch/ for the
specification of SOURCE_DATE_EPOCH, or https://reproducible-builds.org/
for more information on reproducible builds in general.
2016-07-01 09:41:23 +01:00
Yamagi Burmeister
6d38cc8609 Bump version number to 5.35pre 2016-06-25 11:03:48 +02:00
Yamagi Burmeister
bb8be981d5 Bump version number to 5.34 2016-06-25 10:22:18 +02:00
Yamagi Burmeister
5a384c79b1 Switch from an arch whitelist to an "all archs are supported" approach.
The old whitelist was a leftover from the early days of YQ2. It should
run on most / all architectures, as long SDL supports them. As suggested
by smcv in issue #138 generate the OSTYPE and ARCH defines by the build
system instead of hardcoding it.

Savegame compatibility is provided by bumping the savegame version. Old
savegames are compared against the old OSTYPE and ARCH defined, new ones
against the new defines. This compatibility code should be removed
somewhere in the distant future.
2016-06-11 09:23:10 +02:00
Daniel Gibson
7f7ba1870b Bump version to 5.34pre 2016-01-30 20:03:33 +01:00
Daniel Gibson
50fe9cfdbc Bump version to 5.33 2016-01-30 19:48:00 +01:00
Daniel Gibson
12604bebe9 Change version to 5.33pre, changes for arbitrary length version strings
Con_DrawConsole() assumed that the version string was always 21chars
long, we changed it to allow longer strings with other lenghts.
In Unix main() we changed the code for underlining
"Yamagi Quake II $version" with === so the underlining is as long
as the underlined string.
2015-11-01 17:15:10 +01:00
Yamagi Burmeister
92d48735f5 Bump version number to 5.32 2015-10-31 16:54:04 +01:00
Yamagi Burmeister
4b7b29c339 Don't stop the filesearch if the first try fails.
It was a wrong (and maybe stupid) assumption, that the config dir
(~/.yq2) is always the first element of the search path. When there's
at least one pak file in the config dir, it's added at a random
location. Work around this by probing all directories. This fixes
issue #107.
2015-10-28 07:41:58 +01:00
Yamagi Burmeister
7456daf65f Do not display baseq2 savegames in mods / addons
The savegame list is generated by calling FS_FOpenFile() for each
possible savegame name. When a file handle is returned the savegame
exists, otherwise the savegame slot is empty. But FS_FOpenFile()
searches in every directory known to the VFS. If a savegame file
isn't found in $moddir but in baseq2, the file in baseq2 is opened
and a baseq2 savegame is displayed in the mods / addons savegame menu.

The fix is compromise between a clean solution and invasiveness:

- Refactor FS_FOpenFile() to include FS_FOpenFileRead(). FS_FOpenFile()
  was used only to open read only files, limit its's possibilities to
  do exactly that.
- Introduce a new flag "gamedir_only" to FS_FOpenFile(). When true
  only the gamedir directories are searched and not other directories
  like baseq2.
- Change all callers to FS_FOpenFile()s new signature.
- Use the new gamedir_only flag to limit the searchpath for savegames
  to the gamedir.
2015-10-25 16:44:22 +01:00
Yamagi Burmeister
2e82fe85fd Remove a bunch of unused VFS functions. 2015-10-25 08:48:19 +01:00
Simon McVittie
c20dbc7dac If SYSTEMWIDE, override the default basedir instead of adding a path
This makes it behave a little more like -basedir in Quake 1 and
fs_basepath in ioquake3.

This lets "+set basedir" take precedence over the SYSTEMDIR,
which is useful if you have the demo and full-game data installed
in different base directories to be able to test the demo for
regressions.
2015-10-23 19:30:42 +02:00
Yamagi Burmeister
87ed67fd3d Revert "Cleanup vector math"
This reverts commit 123e409a2e.

This commit breaks several float calculations in subtiles ways. For
example grenates drift to the left. In fact, it's another example why
I'm so hesitant to merge anything that's not a fix for a clearly
reproducable bug. This fixes #99.
2015-10-19 18:20:47 +02:00
Daniel Gibson
5232088b02 Don't allow binding the "console keys" (^, ~, `) or Escape
should hopefully fix #93, which seemed to be caused by ^ and ` being
bound to toggleconsole in default.cfg (as shipped with Q2) *and*
in code, so it'd be called twice and cancel each other out.

It even warns if someone tries to bind those keys and includes an ugly
hack to *not* warn when it's done in default.cfg, to minimize confusion.
2015-10-19 18:20:47 +02:00
Yamagi Burmeister
123e409a2e Cleanup vector math
This work was submitted by Dmitry Antipov. We stick to macros instead of
inline functions since they're in line with the rest of the code base.
This patch removes several unused functions and tranfers most of the
rest into macros.
2015-10-01 15:47:37 +02:00
Yamagi Burmeister
0eb660609b Bump the version number to 5.31 2015-09-08 17:08:08 +02:00
Yamagi Burmeister
8da7a40142 FS_SetGamedir: reject "." as game directory. also reject empty string.
Submitted by: Ozkan Sezer
2015-09-03 20:35:09 +02:00
Yamagi Burmeister
c0fac70763 Cbuf_Execute: do not change 'i' if it overflowed sizeof line.
Submitted by: Ozkan Sezer
2015-08-24 18:00:57 +02:00
Yamagi Burmeister
a4d0d89720 Fix several potential security vulnerabilties
Submitted by: Ozkan Sezer
2015-08-24 17:58:19 +02:00
Yamagi Burmeister
cfefe0c00c Fix a divinely dumbassed mistake of global 'i' and 'corners' variables.
Submitted by: Ozkan Sezer
2015-08-24 17:48:54 +02:00
Yamagi Burmeister
19cf5a63c7 Info_RemoveKey: use memmove instead of strcpy for overlapping memory areas.
Submitted by: Ozkan Sezer
2015-08-24 17:47:18 +02:00
Daniel Gibson
d19cace026 Set MAX_OSPATH to 4096 for !Windows + fixes for that
sounds easy, right?
Except some genius decided to save CVAR_LATCH cvars in buffers of
MAX_OSPATH length into savegames.. so just changing MAX_OSPATH
breaks savegame compatibility.
Fortunately, this assumption only matters in SV_WriteServerFile() and
SV_ReadServerFile() so I worked around it by introducing a
platform-specific LATCH_CVAR_SAVELENGTH (because MAX_OSPATH was 256 on
Windows but 128 on other systems..)
2015-05-23 02:02:27 +02:00
Daniel Gibson
e6646fb1e4 Bumped version to 5.30 2015-04-11 21:16:47 +02:00
Daniel Gibson
3cd9c76052 Fix fucking misleading comment in FS_AddGameDirectory()
that's not for *numbered* pak's, but all paks starting with "pak"!
2015-04-11 21:04:37 +02:00
Daniel Gibson
544a464eea Implement gamedata loading from binary path
even if $PWD is not the same path as the executable is in, the game
will look for game data in directories next to the executable.
2015-04-11 20:11:42 +02:00
Yamagi Burmeister
046ae5c7eb Bump version number to 5.24 2015-03-13 17:59:14 +01:00
Yamagi Burmeister
7742cd4893 Fix indention 2014-08-24 10:26:50 +02:00
Yamagi Burmeister
bffed68b2c Simplify preprocessor magic and fix dedicated server build 2014-08-24 10:24:05 +02:00
Yamagi
637aae9021 Merge pull request #50 from bibendovsky/lpf
Fix underwater sfx in demos
2014-08-23 16:42:07 +02:00
bibendovsky
120bb86458 Simplify PM_CalculateWaterLevelForDemo 2014-08-18 19:21:45 +03:00
bibendovsky
1a514560da Fix underwater sfx in demos 2014-08-03 19:32:56 +03:00
Yamagi Burmeister
0ac4fdccfc A comparision "array != NULL" is always true 2014-08-03 11:10:22 +02:00
Yamagi Burmeister
5a7950683d Rewrite COM_FileExtention()
COM_FileExtension() was parsing strings from beginning to end, bailing
out as soon as '.' was found and treating everything thereafter as the
file extension. That behavior caused problem with relatives pathes like
models/monsters/tank/../ctank/skin.pcx. The new implementation uses
strrchr() to determine the last '.'.

This fixes issue #48. The bug was introduced in e07294b which replaced
hand rolled code with COM_FileExtention().
2014-07-24 21:03:00 +02:00
bibendovsky
c1a3526a67 Add underwater sfx for SDL backend 2014-06-16 08:45:39 +03:00
Yamagi Burmeister
a0e7c67597 Bump version to 5.23 2014-05-08 17:24:09 +02:00
Yamagi Burmeister
5ce3a266e9 Force OpenGL path for light primitives
This fixes a long standing and until now unnoticed bug with negative
colored dynamic lights. Since we never set the OpenGL renderer as out
renderer, remaining softrenderer code was executed and the corresponding
effects never rendered. This manifested itself in missing darkness
around the "gravity well" in rogue.
2014-02-12 19:39:23 +01:00
Yamagi Burmeister
37dd396f36 Bump version to 5.22 2014-02-08 10:14:24 +01:00
Yamagi Burmeister
eb879bb9b6 Rename VERSION to YQ2VERSION to prevent collisions
Newer jpeg versions (I guess starting with 9) define an macro
"VERSION", colliding with ours. While wie could #undef it, take
the less hacky route and rename it.
2014-01-27 18:14:36 +01:00
Yamagi Burmeister
a6b911a9a8 Bump version number to 5.21 2014-01-01 11:25:36 +01:00
Yamagi Burmeister
64a39ce09e Bump version number to 5.20 2013-11-14 18:13:35 +01:00
Alejandro Ricoveri
8e69d9dc5c Remove vid_ref cvar
Normally setting gl_mode cvar would result in VID_LoadRefresh because
of vid_ref being "modified". After removing vid_ref out of the picture
it will "modify" vid_fullscreen to replicate the same behaviour.

Variable "name" (who used to hold refresh dll name) is now left unused

All references to vid_ref cvar has been taken out ...
2013-06-15 10:27:30 +02:00
Yamagi Burmeister
033550cd59 Bump the version number to 5.11 2013-05-20 19:14:29 +02:00
svdijk
1d0f979bf9 Q_strlcat minor bugfix 2013-05-18 21:07:52 +02:00
svdijk
5692388da1 cleanup Com_sprintf, minor tuning 2013-05-18 19:01:23 +02:00
svdijk
6472514c8f Lets not do the last two commits just before 5.11
Revert "change several strcat calls to Q_strlcat calls"
This reverts commit ab879f1bc7.

Revert "change (v)sprintf calls to (v)snprintf calls"
This reverts commit b46e210d76.
2013-05-18 18:59:39 +02:00
svdijk
ab879f1bc7 change several strcat calls to Q_strlcat calls 2013-05-17 22:25:18 +02:00
svdijk
b46e210d76 change (v)sprintf calls to (v)snprintf calls 2013-05-17 21:50:31 +02:00
svdijk
662229a568 fix FS_FOpenFileWrite, also make FS_FOpenFile{Write,Append} open in binary mode 2013-05-13 21:17:55 +02:00
svdijk
b08fbb7cbf replace remaining strncat calls with memcpy calls 2013-05-13 18:38:37 +02:00
svdijk
8fad0a9008 change some more (mostly wrong) strncpy calls to Q_strlcpy calls 2013-05-12 20:25:00 +02:00
svdijk
e07294b6b1 replace most strncpy calls (several of them wrong) by Q_strlcpy calls 2013-05-11 14:44:36 +02:00
svdijk
a26892cb90 add Q_strlcpy and Q_strlcat 2013-05-11 13:19:52 +02:00
svdijk
8869b0542d rename strlwr to Q_strlwr 2013-05-11 12:46:49 +02:00
svdijk
317355f7ca Minor rewriting. 2013-03-17 21:32:50 +01:00
svdijk
e49693bec4 Make cmdlist and cvarlist alphabetically ordered. 2013-03-17 18:16:02 +01:00
Yamagi Burmeister
2ee5937fa3 Bump version number to 5.10 2012-12-30 17:46:22 +01:00
Joshua Scoggins
7116d7e90a Fixed a bug in src/common/header/common.h with respect to ia64
I had written #elif define __ia64__ instead of #elif defined __ia64__

This has been fixed.
2012-11-30 20:34:35 -08:00
Joshua Scoggins
dc0f2ec779 Added the ia64 cpustring 2012-11-30 20:20:44 -08:00
svdijk
1dd083cd7d COM_Parse: Fix buffer overflow in long quoted strings. 2012-11-17 15:28:45 +01:00
Ilia Zhirov
46c77400e2 fixed build on pre ansi c89 compilers 2012-11-14 14:49:40 +06:00
svdijk
1c0934f462 Game cleanup. 2012-11-07 21:10:48 +01:00
Yamagi Burmeister
d263e896cf Use an enum for "qboolean" on OS X
Defining "qboolean" to something other than an enum changes the size of
some structs. That in turn breaks compatiblity with mods that use the
enum define. With this change the addons (tested with xatrix and rogue)
are running on OS X. Many thanks to my sister for lending me her
Macbook.
2012-11-04 18:47:15 +01:00
Yamagi Burmeister
ba10009aa5 Add support for Mac OS X
These are the code changes and Makefile changes necessary to build and
run Yamagi Quake II on Max OS X. OS X 10.6 or higher is required, older
version may work but we cannot guarantee it. The documentation will be
added in another commit. This patch was contributed by W. Beser, I made
only some small cosmetical changes.
2012-09-14 11:21:02 +02:00
Yamagi Burmeister
dd6ed24104 Bump version number to 5.00 2012-09-03 14:34:51 +02:00
Yamagi Burmeister
ed22ca81c2 Silence a warning with the upcoming Clang 3.2 2012-08-22 14:25:32 +02:00
Jonathan Gray
1f9d6084b6 OpenBSD port 2012-08-18 09:53:03 +02:00
Yamagi Burmeister
c6eaf5c876 Mobe LIBGL makro to common.h and replace all hardcoded libGL calls with it 2012-08-02 14:06:32 +02:00
Yamagi Burmeister
e5f70fcf40 Merge qal.c into one generic file for all platforms
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.
2012-08-01 14:54:18 +02:00
Yamagi Burmeister
3918d3ba34 Change the VERSION number from float to string
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.
2012-07-27 08:57:52 +02:00
Yamagi Burmeister
b1ddebf552 Update "unzip" to version 1.01h
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.
2012-07-21 12:02:39 +02:00
Yamagi Burmeister
7ac71db523 Merge branch 'cleanup'
Conflicts:
	src/common/header/common.h
	src/common/header/shared.h
	src/common/misc.c
	src/unix/main.c
	src/unix/system.c
2012-07-09 14:35:37 +02:00
Yamagi Burmeister
2df1f31683 Enable qconsole.log by default 2012-06-20 13:52:47 +02:00
Yamagi Burmeister
c0e9a6f045 Make Quake II compatible with unicode directory names
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.
2012-06-20 13:39:18 +02:00
Yamagi Burmeister
e1f338f59b Reformat the headers 2012-06-18 10:46:31 +02:00
Yamagi Burmeister
e3690bcaab Bump version number to 4.90
This is done to distinguish the upcoming "Yamagi Quake II - Windows Test I"
from the normal 4.21 version.
2012-06-18 09:51:59 +02:00
Yamagi Burmeister
060235e7dd Merge branch 'windows' into cleanup
Conflicts:
	src/common/filesystem.c
	src/sdl/input.c
	src/sdl/refresh.c
	src/unix/system.c
2012-06-11 11:21:16 +02:00
Yamagi Burmeister
2c0148bab5 Enlargen MAX_OSPATH to 256 on Windows
This is necessary due to the extrem long homedir-pathes in some Windows
localizations. While it would be nice to have the same value on all
platform it would break existing savegames and don't think that it's
worth that.
2012-06-11 10:25:12 +02:00
Yamagi Burmeister
e70067ceba Refactor the "home"-path finding logic into own functions
With this change the homedir is no longer selected in the filesystem,
but in platform dependend functions. This allows us to use WINABI calls
for selection, resulting using the apropriate diretory on localized
versions of Windows XP.
2012-06-11 09:55:54 +02:00
Yamagi Burmeister
9ad40b2a17 Cleanup and reformat. 2012-06-07 15:40:58 +02:00
Yamagi Burmeister
ac6748e7d2 Merge the collision model back into one file 2012-06-07 15:04:45 +02:00
Yamagi Burmeister
d12f0c642f Recombine the message handling back into one file 2012-06-07 14:33:09 +02:00
Yamagi Burmeister
e0faf784a6 Move stuff from common/common/ to common/ 2012-06-07 13:54:08 +02:00
Yamagi Burmeister
56aff1dc89 Recombine the command parser in one file
Spliting it into several files seemed logical but in retrospect it was
a bad idea, unnecessary complicating the code.
2012-06-07 13:35:33 +02:00
Yamagi Burmeister
0c74a1af75 Create profile in Documents instead of AppData 2012-06-05 14:28:34 +02:00
Yamagi Burmeister
7715592aaa Write config data in AppData
Under Windows all config data is written to %USERPROFILE%\AppData\
Local\YamagiQ2. To archive this code was added that translates Windows
pathes with backslashes into Unix pathes with normal slashes.
2012-06-05 12:52:44 +02:00
Yamagi Burmeister
58c3b22c8a Add platform defines for Windows 2012-06-05 10:17:01 +02:00
Yamagi Burmeister
21ab0de692 Remove support for the Windows clipboard
This was just broken and rewriting it is not worth the efford
2012-06-05 10:09:24 +02:00
Yamagi Burmeister
4e37958b63 Stub Sys_Init() for Unix and call it while initializing 2012-06-04 09:13:30 +02:00
Yamagi Burmeister
32dc525124 Stub NET_Init() for Unix and call it while initializing 2012-06-04 09:13:30 +02:00
Yamagi Burmeister
d2177bb618 Open binary files in mode "rb" instead of "r"
This subtile bug didn't show on unixoid platforms, but led to problems
on Windows.
2012-06-04 09:13:30 +02:00
Yamagi Burmeister
1a3b54b27e Move glob.c and glob.h to common
We need glob_match() for Windows
2012-06-04 09:13:30 +02:00
Yamagi Burmeister
bd1070eff2 Remove FS_DeletePath() and Sys_Rmdir()
Thise functions where added with the filesystem rewrite but never used.
Removing them saves us from implementing Sys_Rmdir() for Windows.
2012-06-04 09:13:30 +02:00
Yamagi Burmeister
ce3d61ef61 Remove unused Sys_CopyProtect stup 2012-06-04 09:13:29 +02:00
Yamagi Burmeister
83e069feb2 Abort if the clipplane is NULL. 2012-06-04 09:13:29 +02:00
Yamagi Burmeister
afd2f4538c Return in case of possible overflow 2012-06-04 09:13:29 +02:00
Yamagi Burmeister
9f45bd38f2 Ensure that pseudo random numbers are always >0 2012-06-04 09:13:29 +02:00
Yamagi Burmeister
99520d1331 Implemented the new random generator in shared.h instead of common.h 2012-06-04 09:13:29 +02:00
Yamagi Burmeister
28c200a2e8 Implement crandk() and frandk() and remove old functions 2012-06-04 09:13:29 +02:00
Yamagi Burmeister
056f4d287b Add rand.c, an implementation of G. Marsaglia KISS PRNG 2012-06-04 09:13:29 +02:00
Yamagi Burmeister
edae2b0473 Change atof() to strtod() 2012-06-04 09:13:28 +02:00
Yamagi Burmeister
e9c90e16a9 Change atoi() to strtol() 2012-06-04 09:13:28 +02:00
Yamagi Burmeister
9ec98a79d2 Fix a potential buffer overflow 2012-06-04 09:12:59 +02:00
Yamagi Burmeister
37132d8ac9 Bump version number to 4.21 2012-05-26 09:45:57 +02:00
Yamagi Burmeister
b6325d7858 Remove unused variables and dead code (patch submitted by Christoph
Mallon)
2012-04-30 10:02:58 +02:00
Christoph Mallon
ab034114b4 Whitespace fixes. 2012-04-30 08:25:59 +02:00
Yamagi Burmeister
4203bed129 Bump version number to 4.20 2012-04-29 08:08:21 +00:00
Yamagi Burmeister
2b6389a471 Filter sound samples (not the music) when under water 2012-04-27 13:55:45 +00:00
Yamagi Burmeister
048f680701 Hide ZIP support behind ZIP 2012-04-25 09:12:02 +00:00
Yamagi Burmeister
fc32d16d42 Print
- OS
- CPU
- byte ordering
at startup
2012-04-19 13:33:48 +00:00
Yamagi Burmeister
179ec5538e Move strlwr() into shared.c and don't link main.c into the refresher 2012-04-19 13:22:50 +00:00
Yamagi Burmeister
b6bb97e223 - add support for big endian CPUs
- enable the build on SPARC64
- add runtime-requirements for SPARC64
- bump version number to 4.10
2012-04-16 06:54:48 +00:00
Yamagi Burmeister
04f5ff9523 Bump version number to 4.03 2012-02-17 08:18:25 +00:00
Yamagi Burmeister
4b1c43e98a Do not call the low level function to create a directory, but the
filesystem internal high level API function. While here remove a
debug printf().
2012-02-07 12:25:32 +00:00
Yamagi Burmeister
146450c3e0 Bump version number to 4.02 2012-01-08 16:44:45 +00:00
Yamagi Burmeister
642cf678c0 Bump version to 4.01 2011-12-26 08:48:54 +00:00
Yamagi Burmeister
07ed4c8b5a Make the client and server IPv6 aware 2011-10-15 16:18:26 +00:00
Yamagi Burmeister
2e223c4f0a Add a missing malloc. Without this adding a non-numbered pak would
delete all other paks, resulting in an endless loop
2011-10-11 18:42:36 +00:00
Yamagi Burmeister
60a2ca3eb9 Add a signal handler to the client 2011-10-10 07:51:16 +00:00
Yamagi Burmeister
d4a60e7b77 - Add yq2.cfg to the code, an example to stuff/ and metion it in the
README
- Rename tools/ to stuff/
2011-10-09 17:55:10 +00:00
Yamagi Burmeister
6c250e40da Rename the config dir to ~/.yq2 2011-10-09 16:59:28 +00:00
Yamagi Burmeister
db9de69884 - Bump savegame version
- Bump client version
2011-10-09 16:56:33 +00:00
Yamagi Burmeister
caf17d1c3e Cleanup chick and add sanity checks 2011-10-07 16:05:30 +00:00
Yamagi Burmeister
feaa8a6f21 Move q_shared.c, q_shared.h and m_flash.c into common/ 2011-10-06 08:52:26 +00:00
Yamagi Burmeister
0bd9096f7f Integrate caedes systemwide installation patch 2011-10-04 19:29:40 +00:00
Yamagi Burmeister
0aa45e9736 Fix some warnings with clang 2011-06-27 14:40:16 +00:00
Yamagi Burmeister
ec4c519053 Fasse 2 if zusammen (by caedes) 2010-11-27 08:05:35 +00:00
Yamagi Burmeister
7c21154ff7 Versionsnummer auf 3.00 2010-11-26 18:42:19 +00:00
Yamagi Burmeister
4ece83cd3c Sortiere die Liste der uns bei Tab-Vervollständigung vorgeschlagenen
CVAR
2010-10-28 07:30:42 +00:00