Commit graph

458 commits

Author SHA1 Message Date
Daniel Gibson
10899195b4 Fix OSX build with OpenAL if it's dlopen()'ed 2016-12-17 23:51:17 +01:00
Yamagi Burmeister
20caca09e3 Force the normal Windows build to OSTYPE := Windows
If someone really want's overwrite OSTYPE on Windows it's much easier to
just alter one line in the Makefile than supporting setting it through
the command line.
2016-12-03 09:17:21 +01:00
Yamagi Burmeister
ae2b4744a1 MinGW defines a global OSTYPE. Just overwrite it. 2016-12-02 16:53:30 +01:00
Yamagi Burmeister
e0b1f98f40 Make user overwriteable OSTYPE and ARCH somewhat more saner
In the Makefile we can use whatever variables we want. It's only
necessary that we don't leak them into the compiler context.
2016-10-31 10:22:17 +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
6d7d15af30 Fix Windows build. On Windows OpenAL32.dll must be opened at runtime. 2016-07-05 19:17:06 +02:00
Yamagi
5323873476 Merge pull request #143 from smcv/link-libopenal
Optionally link libopenal at compile time
2016-07-05 19:13:57 +02:00
Simon McVittie
5887a9e79e Optionally link libopenal at compile time
In Linux distributions, having the executable depend on the right
libraries and arrange for them to be installed is straightforward,
and there's a lot of infrastructure for tracking which library
version a particular executable needs, including making sure we have
a version that contains all of the symbols that were used. Loading
libopenal at runtime defeats that infrastructure.

The ability to substitute a different-but-compatible libopenal,
or operate with reduced functionality without libopenal, might
still be desirable for generic/portable binary releases.

The CMake build system already linked the executable to
${OPENAL_LIBRARY} anyway, so it is already a hard dependency in that
build system.
2016-07-01 09:44:00 +01: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
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
Jarvik7
ca753d4f87 Fix broken OSX makefile
Makefile rewrite forgot to include OpenAL folders for Darwin
2016-03-17 11:26:39 +08:00
svdijk
a7e0338c56 Makefile: The OSX library extension is "dylib", not "dynlib" 2015-11-06 18:52:45 +01:00
svdijk
ec9657134f Windows: icon.rc is a source file, so move it to the source directory. 2015-11-04 21:05:30 +01:00
Yamagi Burmeister
9e4d26399e Switch Windows to dynamic binaries 2015-09-08 18:09:56 +02:00
Yamagi Burmeister
565f7f6e67 Let the Makefile generate a game.dynlib on OS X
This should have been done years ago, .dynlib is the canocial extension
for libraries on OS X. In a broader sense this simplifies the CMake
build system a little bit, since CMake enforces .dynlib for OS X
libraries.
2015-08-12 18:55:35 +02:00
Daniel Gibson
41ea8879e7 Fix bug with high velocities in vents in 32bit builds, fix #71
See https://github.com/yquake2/yquake2/issues/71
and https://github.com/yquake2/xatrix/issues/4

In ClientThink(), the float value ent->velocity[i]*8 is saved into
a short and if the value is too big for a short, in 32bit gcc builds
the short is set to SHRT_MIN, resulting in the player being pressed
down instead of up.
Now we put the result in a 32bit int first (which should be big enough)
and assign the int to the short. This still overflows, but with -fwrapv
at least in a defined way (most probably the same way the original
binaries did).

And while I was at it, when the game lib is loaded, it prints the date
it was built, this is especially interesting for our Win32 binaries.
2015-05-17 18:52:18 +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
jarvik7
5eeef2edcc Autodetect architecture in makefile
Can now build a 32bit version.
Note that all your dependencies will also need to support 32-bit.
Install SDL2, libel, libvorbis, openal-soft in Homebrew using
‘--universal’ flag
2015-03-29 12:19:16 +09:00
jarvik7
e85b6999a7 Re-add OS X support
No changes to source were needed, just to makefile.
The build process is now also different.
Frameworks are no longer needed, but you will need to get some packages
from Homebrew to compile.

Install homebrew, then get the following packages before compiling.

openal-soft
libogg
libvorbis
sdl2
2015-03-21 16:39:55 +09:00
Yamagi Burmeister
177b424ba1 Remove Mac OS X support
No, this is not a rage quit but the result of a long discussion. There
are several reasons for us to drop OS X support:

- OS X support was always more or less hacky. For example is was never
  really integrated into the build system and some features like the
  OpenAL sound backend never worked well.
- The OS X support never grew into the new world based upon SDL2.
- It was broken since at least Lion which was released 4 years ago.
- None of the developers has a Mac or plans to buy one. Supporting
  a software for a platform not used by the developers is more or
  less impossible.
- And despite several appeals no one from the OS X community ever
  stept up and send patches.

Removed are:
- Makefile support
- The OpenAL quirks
- The Cocoa bindings
- The framworks

Not removed is:
- Savegame support
- Memory management support
- Platform detection
- OpenGL and SDL includes

So, if someone steps up and does a modern, fully integrated port based
upon SDL2 we're happy to merge it back. The requirements are:
- It must be a clean port, without any hacks
- Full build system integration must be provided
- The port must be maintained even after it was merged. At every release
  binaries must be build, API / ABI changes with new OS X versions must
  be tracked.
2015-03-20 17:33:46 +01:00
Daniel Gibson
47cde06e27 Use stb_image for retexturing support, also support png, no more libjpeg
Retexturing support is now always on (you can still switch it off with
the gl_retexturing  CVAR), as we don't have the additional libjpeg
dependency anymore.

stb_image is used for tga, jpg and the newly supported png, so the
old tga and jpeg loading code has been removed.

I furthermore cleaned up the somehow messy and possibly slightly broken
retexturing selection code in R_FindImage()
2015-03-20 17:33:37 +01:00
Yamagi Burmeister
ffd7f5991e Some small formatting changes 2014-02-26 20:41:03 +01:00
Alejandro Ricoveri
192f4c986d Optional configuration file
Ability to read an optional configuration file
which is read if exists, we can even decide
which configuration file (default is config.mk) to use at
the command line like this:

$ make # it will read config.mk if exists
$ make CONFIG_FILE=my-badass-conf.mk
$ make CONFIG_FILE=no-retexturing.mk

As always, build variables still can be set as well by command line.

$ make WITH_SYSTEMWIDE=/media/cdrom/quake2-data CONFIG_FILE=my-badass-conf.mk
2014-02-19 20:46:16 -04:30
Yamagi Burmeister
66f6ce154b Remove one last call to mkdir.exe 2014-02-08 10:08:20 +01:00
Yamagi Burmeister
47fa53c292 Refactor the Windows build system
The old Window build was tightly bound to Nuwens MinGW distro. Since
Nuwen decided to take the 64 bit way and dropped 32 bit support, we'll
change over to a more generic MinGW build. Use this chance to clean up
things.

PLEASE NOTE: There's no such thing as a "standard MinGW install".
Therefor our buildsystem cann not and will not be generic. It's still
desinged along the pathes of our build environment. We'll upload it
to the projects FTP server.

Things do consider:
- Dependencies (jpeg, libogg, libvorbis, OpenAL, SDL2, zlib) should be
  installed under /custom/.
- We're now relying on sdl2-config, to be found at /custom/bin. It's
  just a simple shell script, depending on your compiler unsupported
  CFLAGS or LDFLAGS must be removed from it.
- Windows binaries are now stripped. There's no need to supply debug
  symbols on Windows. This reduces quake.exe from ~8.3MB to ~1.6MB.
- The Binaries are still hard linked.
2014-01-27 17:32:12 +01:00
Yamagi Burmeister
ab220c10d6 Wrap too long line 2014-01-01 10:35:53 +01:00
Yamagi Burmeister
ca5b0183e2 Set an rpath entry to WITH_SYSTEMDIR/lib
This automagically sets an rpath to WITH_SYSTEMDIR/lib, when
WITH_SYSTEMWIDE is specified. If no WITH_SYSTEMDIR is given,
the default path /usr/share/games/quake2/lib is used. As for
the normal rpath, for now only FreeBSD and Linux are supported.
This was requested by caedes.
2014-01-01 10:32:27 +01:00
Yamagi Burmeister
909729b2fd Rename CDA_ENABLED to CDA_DISABLED. Some minor wording fixes while here. 2013-12-31 10:02:58 +01:00
Yamagi Burmeister
1e2e1021af Make ARCH overrideable on Windows 2013-12-31 09:57:07 +01:00
Yamagi Burmeister
dca3db9426 Add $ORIGIN/lib the RPATH on FreeBSD and Linux
This should ease the overwriting of systemwide installed libs with
specialized versions. Also distributors may use this facility to supply
libraries next to the binaries. Maybe the same should be added for the
other platforms, but I'm not sure if and how they support RPATHes.
2013-11-09 13:47:04 +01:00
Yamagi Burmeister
78cfbb5197 Mention SDL 2.0 in the Makefile header 2013-10-12 12:32:32 +02:00
Yamagi Burmeister
5b10bdc2b2 Enable SDL2 by default 2013-10-12 11:55:04 +02:00
Yamagi Burmeister
ad27563ef6 Correct SDL2 statement for Windows
SDL2 can and should be statically linked. This is much more easier than
linking it dynamically and more comfortable for the user. One libs less
to care about.
2013-10-12 11:52:49 +02:00
Daniel Gibson
d1ca122955 Add -DSDL2 for Win32/OSX support (untested), print SDL2 usage on startup
The quake2 binary now gets -DSDL2 in the CFLAGS, so Win32/OSX can
use different #include paths accordingly.
This is also (ab)used to print which SDL version is used on startup.
Don't use this for anything else, use
#if SDL_VERSION_ATLEAST(2, 0, 0)
instead.

I haven't tested building on/for Win32 or OSX, there may be more
work to do.

Furthermore I added Copyright-Info about CalculateGammaRamp()
in refresh.c (it's from SDL2)
2013-09-01 14:19:33 +02:00
Daniel Gibson
9af707c7a0 use xrandr for x11gamma (still hacky) 2013-08-27 21:54:48 +02:00
Yamagi Burmeister
191513945f Fix printing of the "CDA is disabled" warning 2013-08-27 21:04:55 +02:00
Daniel Gibson
997be0dcd1 Fixes for SDL2
* Fix input issues (mouse-wheel and mouse input)
* SDL2 is not default anymore in the Makefile (use WITH_SDL2=yes)
* If SDL2 is enabled, CD audio is disabled (SDL2 doesn't support
  that - use OGG/Vorbis instead)
* Small fix to make it compile with SDL1.2 again
2013-08-26 23:55:34 +02:00
Daniel Gibson
51b7607548 SDL2 support (mostly)
Makefile is adjusted, it compiles and works mostly, but
* For some reason (bug in SDL_GetRelativeMouseState() ?)
  mouse input doesn't work properly.. it seems to be bound
  to window borders, even if input is grabbed
* some keys can't be used anymore because there's no SDLK_*
  for them anymore (gotta find out if this is important)
* Maybe some of the changes need cleanup
2013-08-26 00:55:31 +02:00
Yamagi Burmeister
ecc4302f94 Alter Makefile and header pathes following the refresh move
With this change the "refresh" make target doesn't any longer exists.
It was merged into the "client" target. One will need a "make clean"
before building yQ2 after this change.
2013-06-15 10:37:11 +02:00
Yamagi Burmeister
9af9f54f36 Remove QGL pointers
This is a manual merge of Hecatomb Q2 ref b8952d5. Manual since git
couldn't do an automerge for some reasons... Notable changes are:
- QGL function pointers are removed, libGL is linked directly
- The OpenGL log framework is removed. It was disfunctional
- The gl_driver cvar is finaly gone
This change is currently untested on Windows and OS. There should
be no problems but a better Makefile integration of libGL is needed.
2013-06-15 10:37:11 +02:00
Alejandro Ricoveri
d2304ebcab Makefile fix for Windows
Refresher sources were not included for the Windows client build
2013-06-15 10:37:11 +02:00
Alejandro Ricoveri
99dffc3efe Makefile refactoring
WITH_RETEXTURING for OSX and Win32 (should work)
2013-06-15 10:27:30 +02:00
Alejandro Ricoveri
a7f02a5b0e The refresher is linked statically into the client, no more 'ref_gl.so'. 2013-06-15 10:27:30 +02:00
Yamagi Burmeister
3ac88e1bda Rename snd_wav.c to wave.c to get in line with other files 2013-04-21 11:32:20 +02:00
Yamagi Burmeister
84020e4d8e Rename snd_vorbis.c to ogg.c. This name is more appropriate 2013-04-21 11:30:07 +02:00
Yamagi Burmeister
78ce1e491c Rename snd_al.c to openal.c 2013-04-21 11:19:01 +02:00
Yamagi Burmeister
e5505f90d7 Rename snd_dma.c to sound.c. yq2 never used DMA. 2013-04-20 15:09:57 +02:00
Yamagi Burmeister
cbecc5b2dc Retire snd_mem.c and integrate it into snd_dma.c and the backends 2013-04-20 09:19:59 +02:00
Yamagi Burmeister
3989ff73b2 Retire snd_mix.c and incorporate it into the SDL backend 2013-04-20 09:03:47 +02:00
Yamagi Burmeister
3e294e5288 Pass -rdynamic to the linker on Linux
This fixes the backtrace output in the signal handler.
2013-04-19 18:53:12 +02:00
Joshua Scoggins
24d8f2c0ff Added ia64 to the Makefile under the arch check 2012-11-30 20:22:38 -08:00
Yamagi Burmeister
2246ba80a3 Switch App bundle build on by default and remove unneccesary statement 2012-11-18 10:50:55 +01:00
svdijk
823753dec9 Some minor restructuring and cleanup. 2012-11-07 21:15:18 +01:00
svdijk
63e7855ab7 Makefile whitespace fixes. 2012-11-05 21:33:39 +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
67fb773a78 Mention OpenBSD in the Makefile, clarify why we reject 64 bit builds on Windows 2012-08-22 17:58:00 +02:00
Jonathan Gray
1f9d6084b6 OpenBSD port 2012-08-18 09:53:03 +02:00
Yamagi Burmeister
8d0dfd2c30 Merge vid.c into 1 generic file 2012-08-01 16:54:09 +02:00
Yamagi Burmeister
f89bb3265e Combine qgl.c glwindow.h into one generic file 2012-08-01 15:51:39 +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
399c581f06 Move src/windows to src/backends/windows 2012-08-01 14:12:05 +02:00
Yamagi Burmeister
3fb8492398 Move src/unix to src/backends/unix 2012-08-01 13:58:10 +02:00
Yamagi Burmeister
c5bf1e8c93 Move src/sdl to src/backends/sdl 2012-08-01 13:47:32 +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
c80954a65e Remove support for qhost
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.
2012-06-22 09:06:27 +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
1f6d0282ee Add an application icon for Windows
The Windows icon is embedded into the executable. It's the same as under
Unix platforms, just converted into .ico.
2012-06-11 11:13:10 +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
3de98e3b7b Add a comment for WITH_SYSTEMWIDE under Windows 2012-06-05 11:12:23 +02:00
Yamagi Burmeister
e5bc9d08ec No console window for the client 2012-06-05 11:02:48 +02:00
Yamagi Burmeister
bf590cbba5 Clean up the Makefile 2012-06-05 10:37:34 +02:00
Yamagi Burmeister
67a147014a Reenable retexturing 2012-06-05 10:06:13 +02:00
Yamagi Burmeister
d1008a564d Port OpenAL to Windows and enable it by default 2012-06-05 09:57:30 +02:00
Yamagi Burmeister
7b01ac3452 Fix build under !Windows 2012-06-04 14:07:32 +02:00
Yamagi Burmeister
7c41b66821 Merge branch 'windows' of github.com:yquake2/yquake2 into windows
Conflicts:
	Makefile
	TODO
	src/windows/header/winquake.h
	src/windows/system.c
2012-06-04 14:04:11 +02:00
Yamagi Burmeister
a8b9183664 Build all targets on Windows 2012-06-04 12:47:28 +02:00
Yamagi Burmeister
51869fbc9d Add qgl.c for Windows
This file was taken from ioQuake2 and altered for inclusion in Yamagi
Quake II.
2012-06-04 12:42:55 +02:00
Yamagi Burmeister
6f9b75f89f More changes to the Makefile for the refresher 2012-06-04 12:02:05 +02:00
Yamagi Burmeister
e652f32a64 Makefile support for the refresher under Windows 2012-06-04 11:49:11 +02:00
Yamagi Burmeister
2672495c3f Build the client by default under Windows 2012-06-04 11:15:53 +02:00
Yamagi Burmeister
86f89fce22 Implement vid.c for Windows
This file was taken from ioQuake2 and modified to work with Yamagi Quake
II. It may not be perfect yet, but should be good enough to the client
up and running.
2012-06-04 11:09:43 +02:00
Yamagi Burmeister
a4609fc42b Use correct include pathes to SDL under Windows 2012-06-04 10:02:01 +02:00
Yamagi Burmeister
93f518e7b5 Initial Makefile suppport for the client under Windows 2012-06-04 09:51:17 +02:00
Yamagi Burmeister
65a7ac596d Port the game.so to Windows
The game.so hasn't any platform depended code, therefore this
rudimentary port can be done with Makefile magic. There are
some TODOs left, they'll be resolved later on.
2012-06-04 09:32:35 +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
9618483d48 Add linker flags for Windows 2012-06-04 09:13:30 +02:00
Yamagi Burmeister
f3bead4f6b Add Windows network functions in network.c
This file was taken from ioQuake2 and refactored to match Yamagi Quake
II. It would be nice to have IPv6 support and to remove the old IPX
cruft, but that happen now.
2012-06-04 09:13:30 +02:00
Yamagi Burmeister
05f7e37c77 Add memory handling functions in mem.c
This code was taken from ioQuake2, refactored into an own file and
altered for the inclusion in Yamagi Quake II.
2012-06-04 09:13:30 +02:00
Yamagi Burmeister
d80b8e7d37 Alter the Makefile again to bootstrap Windows
This version of the Makefile adds a horrible workaround for Windows
broken "mkdir". It'll be resolved before the first CFT is released.
2012-06-04 09:13:30 +02:00
Yamagi Burmeister
0eb042555b Add conproc.c and the coresponding header
conproc.c implements support functions for the console windows used by
the dedicated server. It was taken from ioQuake2 and cleaned up for the
inclusion in Yamagi Quake II.
2012-06-04 09:13:30 +02:00
Yamagi Burmeister
09fc72fb60 Add preliminary support for Windows to the Makefile
This is incomplete but should be sufficent to build q2ded on Windows as
soon as the sourcefile are added.
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
056f4d287b Add rand.c, an implementation of G. Marsaglia KISS PRNG 2012-06-04 09:13:29 +02:00
Yamagi Burmeister
c5cdccb97f Move glob.c and glob.h to common
We need glob_match() for Windows
2012-06-03 15:26:31 +02:00
Yamagi Burmeister
a8e402705a Add linker flags for Windows 2012-06-03 15:20:59 +02:00
Yamagi Burmeister
5133dad7a2 Add Windows network functions in network.c
This file was taken from ioQuake2 and refactored to match Yamagi Quake
II. It would be nice to have IPv6 support and to remove the old IPX
cruft, but that happen now.
2012-06-03 15:07:36 +02:00
Yamagi Burmeister
6e2bbf2f44 Add memory handling functions in mem.c
This code was taken from ioQuake2, refactored into an own file and
altered for the inclusion in Yamagi Quake II.
2012-06-03 14:08:31 +02:00
Yamagi Burmeister
d43e10b1b0 Alter the Makefile again to bootstrap Windows
This version of the Makefile adds a horrible workaround for Windows
broken "mkdir". It'll be resolved before the first CFT is released.
2012-06-03 13:06:48 +02:00
Yamagi Burmeister
75425ce987 Add conproc.c and the coresponding header
conproc.c implements support functions for the console windows used by
the dedicated server. It was taken from ioQuake2 and cleaned up for the
inclusion in Yamagi Quake II.
2012-06-03 12:14:05 +02:00
Yamagi Burmeister
72145227d7 Add preliminary support for Windows to the Makefile
This is incomplete but should be sufficent to build q2ded on Windows as
soon as the sourcefile are added.
2012-06-03 11:18:26 +02:00
Yamagi Burmeister
a0ccf86660 Implemented the new random generator in shared.h instead of common.h 2012-06-02 11:32:45 +02:00
Yamagi Burmeister
97f7ba0610 Add rand.c, an implementation of G. Marsaglia KISS PRNG 2012-06-02 10:56:40 +02:00
Christoph Mallon
3c7539b417 Simplify the test whether the architecture is supported. 2012-04-30 08:35:40 +02:00
Christoph Mallon
2867c00d61 Do not overwrite CC. 2012-04-30 08:35:10 +02:00
Christoph Mallon
ab034114b4 Whitespace fixes. 2012-04-30 08:25:59 +02:00
Yamagi Burmeister
dc3e2bd3b4 Mention openal-soft in the Makefile 2012-04-29 16:16:44 +02:00
Daniel Gibson
8612950e0a Make SYSTEMWIDE options in Makefile configurable from Console
With the WITH_SYSTEMWIDE (yes/no) and WITH_SYSTEMDIR (actual path) options
2012-04-29 15:54:15 +02:00
Daniel Gibson
ebccfc63df Remove need to link against libopenal
libopenal is loaded with dlopen() and for all used alBla and alcBla functions
there are function pointers (just like thee qgl stuff for OpenGL).
Thus there's no need to link against libopenal on compile-time.

There were a few occurences of "normal" openal functions (al* instead of qal*)
- they are fixed now.

This allows to use a yquake2 version compield with WITH_OPENAL=yes to be used
on systems that have no libopenal installed (the standard SDL sound backend
will be used then).
2012-04-29 15:24:14 +02:00
Daniel Gibson
669a78de12 Compiletime options in Makefile overwritable from console
And a small fix that shuts up a compiler warning
2012-04-28 19:38:07 +00:00
Yamagi Burmeister
905b31a918 Integrate OpenAL into the options system 2012-04-25 10:09:30 +00:00
Yamagi Burmeister
2c3c203097 Merge out new options framework from the trunk 2012-04-25 09:57:17 +00:00
Yamagi Burmeister
a00ce8dee3 Typos :/ 2012-04-25 09:32:36 +00:00
Yamagi Burmeister
3d84b624c7 Allow the setting of user defined options in the Makefile 2012-04-25 09:32:11 +00:00
Yamagi Burmeister
03015a686b Hide music playback from CD behind CDA 2012-04-25 08:53:25 +00:00
Yamagi Burmeister
f836cef4c4 Rename qal_api.c to unix/qal.c and qal_api.h to unix/header/qal.h.
Both files are platform dependend and won't work on non unixoid
platforms.
2012-04-24 14:20:01 +00:00
Yamagi Burmeister
4ff4bf09e9 Merge the trunk back into the openal branch. 2012-04-23 14:09:33 +00:00
Daniel Gibson
f4d5040a73 Add OpenAL stuff to Makefile, make it compile and work (no streaming sound yet)
It works \o/
It's still hacky so it needs more work.
And streaming sound (OGG music, sound from videos) is still missing.
2012-04-22 00:24:50 +00:00
Yamagi Burmeister
df0347bde0 Do not link the X11 libs used for setting the gamma 2012-04-19 13:25:51 +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
a7aa1e93c0 Rename misc.c to main.c 2012-04-19 13:14:03 +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
9edf27f103 Reactor yesterdays work 2012-03-12 08:11:22 +00:00
Daniel Gibson
441c988b31 - Add JPEG support
- Refactor call to LoadTGA so it returns image_t * directly
2012-03-11 16:50:57 +00:00
Yamagi Burmeister
7358bf50e9 Spelling 2012-02-09 17:01:29 +00:00
Yamagi Burmeister
af5cf7cb50 Fix for Ubuntu (again) not linking libxxvm87dga... 2012-01-07 16:19:10 +00:00
Yamagi Burmeister
ca7445e001 Fix build on Ubuntu 2011-12-26 08:48:33 +00:00
Yamagi Burmeister
9edbca1747 Support for verbose build via "gmake VERBOSE=1" 2011-12-08 11:15:38 +00:00
Yamagi Burmeister
60a2ca3eb9 Add a signal handler to the client 2011-10-10 07:51:16 +00:00
Yamagi Burmeister
3fced8ba12 Don't link common/shared/flash.c into the dedicated server 2011-10-09 17:12:03 +00:00
Yamagi Burmeister
24b5f7fe97 Remove ctf/ from Makefile and simplify it. 2011-10-09 16:55:23 +00:00
Yamagi Burmeister
038b7f0126 Remove target_actor and misc_actor. They were never fully implemented
and unused
2011-10-09 16:08:49 +00:00
Yamagi Burmeister
7274f27131 Let ctf use the files in common/ 2011-10-06 09:13:56 +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
91ffbf0ba5 Reorder game files 2011-10-06 07:54:45 +00:00
Yamagi Burmeister
bc8a06bdd4 Roll the ctf crap back. It won't work this way, since some low level
parts of the code (g_local.h) differ too much. We need a better 
solution...
2011-10-05 19:57:25 +00:00
Yamagi Burmeister
c958563b2b Merge the uncommented rest of the CTF code and fix the Makefile 2011-10-05 18:46:23 +00:00
Yamagi Burmeister
293e360333 COmmit what we have so far. CTF is still broken 2011-10-05 17:28:30 +00:00
Yamagi Burmeister
26f00aaf53 Use pkg-config for X11 2011-10-05 16:46:25 +00:00
Yamagi Burmeister
0a6df135dd - Some cleanups to the Makefile
- Use sdl-config everywehre
2011-10-05 16:43:51 +00:00
Yamagi Burmeister
8ba8373440 Commit the cool, amazing and outresolving savegame
system. Savegames don't break anymore when the
game.so is recompiled or changed. :)
2011-10-04 13:02:52 +00:00
Yamagi Burmeister
0424b36e88 Beschreibung leicht verbessert 2010-12-20 09:07:23 +00:00
Yamagi Burmeister
9f38155a7e Include-Path für SDL auch in den Refresher 2010-11-26 12:43:27 +00:00
Yamagi Burmeister
ce68e01009 Ein neues Makefile 2010-11-26 12:28:00 +00:00
Yamagi Burmeister
cb0159014d Connectionless server commands in eine eigene Datei 2010-11-26 08:12:50 +00:00
Yamagi Burmeister
ca69a68868 Benenne sv_ents.c in sv_entities.c um 2010-11-25 16:52:44 +00:00
Yamagi Burmeister
e35544ed52 Bennene sv_ccmds.c in sv_cmd.c um 2010-11-25 16:39:19 +00:00
Yamagi Burmeister
5ddb6ab6a1 Den Server-Savegame-Code in eine eigenen Datei 2010-11-25 16:36:27 +00:00
Yamagi Burmeister
ff360644fc Löse das Verzeichnis client/console auf 2010-11-25 15:32:39 +00:00
Yamagi Burmeister
b859cec1e2 Löse das Verzeichnis client/input auf 2010-11-25 15:28:41 +00:00
Yamagi Burmeister
9128f49e47 Überarbeite das Makefile 2010-10-27 13:50:20 +00:00
Yamagi Burmeister
6db456587c Schreibe das Hardwaregamma auf X11 um :) 2010-10-25 15:57:39 +00:00
Yamagi Burmeister
7fc1f607c9 Benenne gl_warp.c in r_warp.c um 2010-10-23 08:55:28 +00:00
Yamagi Burmeister
a5346cbfbe Benenne gl_scrap.c in r_scrap.c um 2010-10-23 08:33:44 +00:00
Yamagi Burmeister
4d647257fa Benennen gl_rsurf.c in r_surf.c um 2010-10-23 08:28:39 +00:00
Yamagi Burmeister
4c9536e400 - Benenne alle Funktionen in gl_rsurf um
- Lightmaps in ne eigene Datei
2010-10-23 08:24:28 +00:00
Yamagi Burmeister
d6acc3b4ea Bennene gl_rmisc in r_misc um 2010-10-23 07:21:53 +00:00
Yamagi Burmeister
de91dbe5b0 Benennen gl_rmain.c in r_main.c um 2010-10-23 06:56:02 +00:00
Yamagi Burmeister
05cef57735 Benennen gl_model.c zu r_model.c um 2010-10-23 06:13:38 +00:00
Yamagi Burmeister
2de15c4a73 Bennene gl_mesh.c in r_mesh.c um 2010-10-22 09:29:09 +00:00
Yamagi Burmeister
139ecd30f4 Bennene gl_lights.c zu r_lights.c um 2010-10-22 09:23:44 +00:00
Yamagi Burmeister
d59ab83f0d Benenne gl_image.c zu r_image.c um 2010-10-22 09:18:23 +00:00
Yamagi Burmeister
3989b43035 Bennene gl_draw.c in r_draw.c um 2010-10-22 08:48:01 +00:00
Yamagi Burmeister
fe1fe1a555 Makefile für md2 2010-10-21 08:19:42 +00:00
Yamagi Burmeister
719b958688 sp2 in eine eigene Datei 2010-10-21 08:16:27 +00:00
Yamagi Burmeister
70f14e4fa5 wal in eine eigene datei 2010-10-21 07:44:15 +00:00
Yamagi Burmeister
b94c471a24 tga in eine eigene Datei 2010-10-21 07:38:33 +00:00
Yamagi Burmeister
7d54bf6e41 PCX in ne eigene Datei 2010-10-21 07:35:45 +00:00
Yamagi Burmeister
56f27f1e3a Scrapping in ne eigene Datei 2010-10-21 07:29:20 +00:00
Yamagi Burmeister
0e7a9957e9 Löse qgl/ und vid/ auf 2010-10-19 09:17:18 +00:00
Yamagi Burmeister
aabf1567ae Lösche das alte Low Level Input Backend 2010-10-19 07:30:58 +00:00
Yamagi Burmeister
010aa5b498 Ein neues Inputsystem in SDL. Das ist alles noch sehr Alpha... 2010-10-19 07:14:05 +00:00
Yamagi Burmeister
baf6349ff1 strlrm() und main() in eine eigene Datei 2010-10-18 16:06:40 +00:00
Yamagi Burmeister
f78eb87c3c Bennene posix/ nach unix/ um, da dies irgendwie treffender ist 2010-10-18 15:08:13 +00:00
Yamagi Burmeister
714f013511 Benenne refresh/ zu qgl/ um 2010-10-18 14:01:34 +00:00
Yamagi Burmeister
7330801e9e Bennene abi.c in input.c um 2010-10-18 13:37:52 +00:00
Yamagi Burmeister
bf1cb56842 Ordne posix/ neu 2010-10-18 13:28:14 +00:00
Yamagi Burmeister
9a750b4e4e Bennene posix.c zu hunk.c um 2010-10-18 13:19:17 +00:00
Yamagi Burmeister
030a5eee08 Verschiebe unzip nach common 2010-09-01 08:58:58 +00:00
Yamagi Burmeister
c5796a8db1 msg_* in ein eigenes Verzeichnis 2010-09-01 08:25:09 +00:00
Yamagi Burmeister
0636b586d3 Verschiebe com_* in ein eigenes Verzeichnis 2010-09-01 08:17:37 +00:00
Yamagi Burmeister
511aa3bb69 Verschiebe cmd_* in ein eigenes Verezichnis 2010-09-01 08:04:13 +00:00
Yamagi Burmeister
f0f12c0492 cm_* in ein eigenes Verzeichnis 2010-09-01 07:41:37 +00:00
Yamagi Burmeister
e6052d6a48 Rename net_chan.c to netchan.c 2010-08-31 09:45:59 +00:00
Yamagi Burmeister
be13ad94f0 Rename common.c to misc.c 2010-08-31 09:20:26 +00:00
Yamagi Burmeister
a0f1467882 SPlit the zone malloc into an own file 2010-08-31 09:08:30 +00:00
Yamagi Burmeister
6379c981f8 SPlit the common argument processing into an own file 2010-08-31 09:03:32 +00:00
Yamagi Burmeister
6c81165985 Split the server side memory management into an own file 2010-08-31 08:58:46 +00:00
Yamagi Burmeister
e72bd4af00 Split the message reading and preprocessing into an own file 2010-08-31 08:52:40 +00:00
Yamagi Burmeister
a3e2a52535 Split the Message IO into an own file 2010-08-31 08:48:11 +00:00
Yamagi Burmeister
2ec78c2df7 SPlit the client/server-stuff into an own file 2010-08-31 08:40:45 +00:00
Yamagi Burmeister
a54576c9ce Rename files.c to filesystem.c 2010-08-31 08:28:51 +00:00
Yamagi Burmeister
d5aa0ab0bd Rename the cmd_* stuff once more 2010-08-03 15:15:56 +00:00
Yamagi Burmeister
620ce70ec7 Split cmodel.c into multiple files 2010-08-03 15:12:04 +00:00
Yamagi Burmeister
88c511f270 Spalte cmd.c in Eintzeldateien 2010-08-03 14:06:20 +00:00
Yamagi Burmeister
9c8a60bba6 keys.c -> keyboard.c 2010-06-19 19:14:38 +00:00
Yamagi Burmeister
3007608a22 Benenne snd_ogg.c in snd_vorbis.c um 2010-06-19 19:06:37 +00:00
Yamagi Burmeister
8925af9878 Den Wave-Code in eine eigene Datei 2010-06-19 18:59:33 +00:00
Yamagi Burmeister
179b5d541c cl_inv.c -> cl_inventory.c 2010-06-18 19:49:58 +00:00
Yamagi Burmeister
852de0452d cl_tent.c zu cl_tempentities.c umbenannt 2010-06-18 16:47:10 +00:00
Yamagi Burmeister
d32f2e60a3 - cl_scrn.c zu cl_screen.c umbenannt
- Einen Header für cl_tent.c
2010-06-18 16:45:44 +00:00
Yamagi Burmeister
b517aa921a cl_pred.c in cl_prediction.c umbenannt 2010-06-18 16:37:12 +00:00
Yamagi Burmeister
974aeeea41 cl_newfx.c auf andere Dateien verteilt und entfernt 2010-06-18 16:28:25 +00:00
Yamagi Burmeister
ca2cbd5da6 Den Autodownload-Code in eine eigene Datei 2010-06-18 16:15:33 +00:00
Yamagi Burmeister
286f180e08 Den generischen Netzwerkkram in eine eigene Datei 2010-06-18 16:07:51 +00:00
Yamagi Burmeister
ca7d174d57 Benenne cl_fx.c nach cl_effects.c um 2010-06-18 15:41:29 +00:00
Yamagi Burmeister
04a2137f81 Verschiebe die Partikel aus cl_fx.c nach cl_particles.c 2010-06-18 15:38:54 +00:00
Yamagi Burmeister
5708130e49 Verschiebe generisches Lichthandling aus cl_fx.c in eine eigene Datei 2010-06-18 15:27:55 +00:00
Yamagi Burmeister
0f8b8df645 cl_ents.c nach cl_entities.c umbenannt 2010-06-18 15:16:31 +00:00
Yamagi Burmeister
f65ec5eff8 Den Zufallsgenerator wieder raus 2010-06-17 15:11:51 +00:00
Yamagi Burmeister
f3ce546a5d Neuer mtrand() Zuvallszahlengenerator, welcher wesentlich bessere
Zufallszahlen als der rand() der meisten libc bietet. Nutze ihn gleich
in cl_ents.c und cl_fx.c. Dies macht das Partikelverhalten mehr
Windows-Like
2010-06-17 13:49:19 +00:00
Yamagi Burmeister
95586850e4 -DBROKEN_GL durch ein CVar ersetzt 2010-05-22 06:58:09 +00:00
Yamagi Burmeister
d773fb3f56 -fstack-protector-all aktiviert. 2010-02-20 08:12:08 +00:00
Yamagi Burmeister
49e4c62e01 -DBROKENGL immer einschalten. Es hilft nichts. -_- 2010-02-08 16:59:25 +00:00
Yamagi Burmeister
a0f057d978 Andere Compilerflags, die sicherer sein sollten. Wenn es partout auch
mit diesen nicht will, nehmen wir das -O2 noch raus. Kostet dann aber
knappe 100FPS. Diese Änderung war erstmal neutral.
2010-01-18 14:57:27 +00:00
Yamagi Burmeister
de3268494c Einen Hack für kaputte Mesa-Installationen 2009-10-06 15:17:45 +00:00
Yamagi Burmeister
f39a74336b Kommentar in der Makefile angepasst 2009-10-04 15:25:19 +00:00
Yamagi Burmeister
9543454fd8 Makefile überarbeitet
Neue README
2009-10-04 12:20:37 +00:00
Yamagi Burmeister
b6f5dadf4c Merge in den Trunk:
- OGG/Vorbis Support
 - pk3 Support (ungetestet)
2009-10-03 16:06:45 +00:00
Yamagi Burmeister
415dad72c1 Erlaube es auf allen Plattformen zu bauen. 2009-06-04 12:14:55 +00:00
Yamagi Burmeister
058d8de80f So, auch der Fallout des Umbennens des Spiels ist nun behoben 2009-04-10 13:39:58 +00:00
Yamagi Burmeister
26d79b1eba OK, baut wieder 2009-04-10 13:33:15 +00:00
Yamagi Burmeister
a14f184058 OK, Umbenennung, zweiter Schritt 2009-04-10 13:11:49 +00:00
Yamagi Burmeister
7315fbfc14 Kommentare in den Makefiles aktualisiert 2009-03-30 12:50:53 +00:00
Yamagi Burmeister
7575c866c5 Server ohne -Werror 2009-03-16 22:11:31 +00:00
Yamagi Burmeister
0cda00c5aa Makefile verbesserMakefile verbessert 2009-03-10 16:46:57 +00:00
Yamagi Burmeister
84032eee3d OK, dies ist dann hoffentlich die final : 2009-03-09 18:04:50 +00:00
Yamagi Burmeister
e7b1488f74 Spielmode hard+ ins Menü gepackt 2009-03-09 17:46:56 +00:00
Yamagi Burmeister
273995acad CTF ist nun aufgeräumt 2009-03-09 17:12:35 +00:00
Yamagi Burmeister
007456f13b Makefile im CTF erweitert 2009-03-09 16:10:05 +00:00
Yamagi Burmeister
5b2431ad95 So, das Spiel baut nun fehlerfrei und ist fertig :) 2009-03-09 15:46:42 +00:00
Yamagi Burmeister
ed9b900d03 Spiel weiter aufgeräumt 2009-03-06 17:00:49 +00:00
Yamagi Burmeister
feb7865fca Quake II Spiel baut nun 2009-03-05 16:34:42 +00:00
Yamagi Burmeister
3456cf24cf - Support für SUN Solaris ist raus
- -DOPENGL ist tot
2009-03-05 15:37:46 +00:00
Yamagi Burmeister
f1bbae900e Grundlegende Restrukturierung des Renderer-Code 2009-03-05 14:51:44 +00:00
Yamagi Burmeister
9c0494f539 Renderer baut nun mit -Werror 2009-03-05 13:11:09 +00:00
Yamagi Burmeister
50b796a985 libGL darf _nicht_ statisch gelinkt sein 2009-03-05 12:05:14 +00:00
Yamagi Burmeister
6d09a9fbbf -DBROKEN_GL Flag eingebaut 2009-03-05 11:55:47 +00:00
Yamagi Burmeister
f789e1178b Und nun die Render-ABI 2009-03-05 11:45:23 +00:00
Yamagi Burmeister
be587d1f2a Man sollte die Game-ABI auch linken 2009-03-05 11:32:20 +00:00
Yamagi Burmeister
d87a7bf9ed Die Game-ABI muss in den Renderer 2009-03-05 11:28:58 +00:00
Yamagi Burmeister
d8d7b80230 Kleine Änderung an der Makefile 2009-03-05 11:09:01 +00:00
Yamagi Burmeister
b379ca57c7 Nun baut der Mist 2009-03-05 11:03:08 +00:00
Yamagi Burmeister
6e446955f8 Ein erster Schritt in Richtung eines bauenden Renderers 2009-03-05 09:47:10 +00:00
Yamagi Burmeister
871936b72a Eine Umbenennung, bau nun mit -Werror 2009-03-05 09:03:26 +00:00
Yamagi Burmeister
675192bd21 Damit ist - bis auf einen Testlauf - das Aufräumen
des Clients und Server für POSIX beendet
2009-03-04 16:24:55 +00:00
Yamagi Burmeister
7784426a43 Den rest von Linux aufgeräumt 2009-03-04 16:15:53 +00:00