Commit Graph

1408 Commits

Author SHA1 Message Date
Yamagi 865378a926 Merge pull request #37 from alericoveri/config-mk
Optional configuration file
2014-02-26 20:35:39 +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 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 66f6ce154b Remove one last call to mkdir.exe 2014-02-08 10:08:20 +01:00
Yamagi Burmeister 76b9e71807 Finally remove mkdir.exe 2014-02-08 10:08:04 +01:00
Yamagi Burmeister a84fd4af10 Update the "Compiling on Windows" section 2014-01-28 17:23:31 +01:00
Yamagi Burmeister d0d81cf3ac Revert "Define HAVE_BOOLEAN on Windows"
This reverts commit 5e1419e6ba. It was a
bad idea, breaking 64 bit compatiblity on Windows. It should have never
been committed...
2014-01-28 08:13:21 +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 70d2aa21b7 Remove stuff/win32-libs
Those libraries are too old and not needed anymore. Better use those
that are part of the build environment.
2014-01-27 17:50:07 +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 5e1419e6ba Define HAVE_BOOLEAN on Windows
Without this define newer versions of jpeg define a type "bool" as char,
while the MinGW headers define it as "unsigned short". Automake should
have detected that, but...
2014-01-27 17:28:59 +01:00
Yamagi Burmeister 93b38c6312 Define macros needed by 26bbfea.
The code used build fine on my workstation, since Mesa3D has the
required macros since ever. But on Windows gl.h is still limited
to OpenGL 1 (really?).
2014-01-27 17:26:33 +01:00
Yamagi Burmeister 26bbfead45 Add support for MSAA.
MSAA was a long wanted and often requested feature. Just set set the
desired number of samples with gl_msaa_samples and do a vid_restart.
This code is based upon work done in Hecatomb.
2014-01-26 09:53:10 +01:00
Yamagi Burmeister 85ee926dd6 Mention the relative mode fallback in the CHANGELOG and remove the FAQ 2014-01-25 19:14:35 +01:00
Yamagi Burmeister 825a53009a Provide a workaround if SDL_GetRelativeMouseState() is disfunctional
On some systems SDL_SetRelativeMouseMode() can fail under several
circumstances. For example:
 - Security software is blocking acces to raw input.
 - XInput 2 is unavailable.
 - SDL2s configure script has messed up.
Detect those situations and reposition the mouse manually to the
window center after having read it's current state. This fixes
issue #34 an #35.
2014-01-25 15:46:55 +01:00
Yamagi Burmeister 68d3da29e8 Destroy the window after the GL context.
The GL context is bound to a window, so destroy it before the window and
not after it. While here update the header comment.
2014-01-23 17:23:16 +01:00
svdijk 98a83e2322 Minor input grabbing cleanup. 2014-01-11 19:01:04 +01:00
svdijk b33c895d56 Whitespace 2014-01-05 20:32:18 +01:00
svdijk 50e1bf16fe Fix key-repeats in the console (for instance the backspace key) 2014-01-05 20:22:34 +01:00
Yamagi Burmeister 84a1766702 Merge input backend init and keyboard init
Now that the refresher is part of the client, there's no need to init
the backend before the refresher and the keyboard after it.
2014-01-05 18:58:52 +01:00
Yamagi Burmeister e8239291a7 Remove unnecessary IN_Close()
Having a special function to close the input devices is unnecessary. The
backend should close them at shutdown, when IN_BackendShutdown() is
called.
2014-01-05 18:53:03 +01:00
Yamagi Burmeister 18733b68ce Do not allow input devices to write to command buffer
Input devices should send key events and nothing more. The ability to
add commands into the input buffer was used by the joystick code
(removed long time ago) and as a dirty hack to work around limitations
of DirectInput.
2014-01-05 18:51:27 +01:00
Yamagi Burmeister f80e02ffd9 Refactor the SDL input backend once again.
- Remove the keyq. This linked list was used to work around limitations
  of the good, old DirectInput API. It's not necessary with SDL.
- Inline some functions to others where apropriate and remove unused
  or unnecessary functions.
- Reorder functions into groups.
- Update comments.

This commits still misses necessary changes to the frontend. They'll be
done in subsequential commits.
2014-01-05 18:40:24 +01:00
svdijk 7111f735f7 Fix a (harmless) off-by-one in a SDL_VideoDriverName() call 2014-01-05 17:44:29 +01:00
Yamagi Burmeister a6b911a9a8 Bump version number to 5.21 2014-01-01 11:25:36 +01:00
Yamagi Burmeister 3efb5a2b56 Update CHANGELOG for 5.21 2014-01-01 11:25:03 +01:00
Yamagi Burmeister be14aea08d Add an signal handler for SIGINT and SIGTERM
This allows the user to shut the client down by pressing ctrl-c in it's
terminal or by sendig SIGTERM.
2014-01-01 11:17:28 +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 fd1e55d18d Do not set the FPU to single precision on Windows
We had dual precision since ever on 64 bit unixoid systems and it "just
worked". So there should be no reason to still force Windows down to
single precision.  The performance impact should be negligible.
2013-12-31 13:18:05 +01:00
Yamagi Burmeister 8102e1a021 Move entitycmpfnc() to cl_view.c an reimplement it
This function is only used in cl_view.c, so no need for external
declaration. Reimplement it in a sane and on all platform 64 bit
clean way. This allows us to finally remove the horible INT macro.
2013-12-31 12:47:18 +01:00
Yamagi 78b974d3ca Merge pull request #28 from alericoveri/qgl_cleanup
QGL renundancy cleanup
2013-12-31 03:14:55 -08: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 950c31d4ee Elaborate on 64 bit windows builds 2013-12-31 09:55:18 +01:00
Daniel Gibson 3afe57b8f2 Fix #29 by simplifying mouse button handling
Pressing two mouse buttons at the same time didn't work properly, only
one had effect, e.g. when pressing LMB to walk forward and RMB to shoot
(when bound like that...)

Not sure why that was, but the old mouse button handling (inherited from
the super-old win32 backend where it was supposed to work around bugs in
WinAPI or whatever, where sometimes there were two mouse button presses
in one event or something) was unnecessarily complicated anyway so I
replaced it with something simpler.
2013-11-26 19:22:29 +01:00
Alejandro Ricoveri 1cfb5c67d5 QGL renundancy cleanup
Despite QGL is only handling GL extensions, there was a little code renundancy.
QGL_EXT_Reset sets all extension pointers to NULL.
2013-11-22 08:17:34 -04:30
Yamagi Burmeister 64a39ce09e Bump version number to 5.20 2013-11-14 18:13:35 +01:00
Yamagi Burmeister 1ac7f52308 Update CHANGELOG 2013-11-10 10:52:53 +01:00
Yamagi Burmeister 0f9dcba9ed Apply some cleanup to the input backend
Make non global functions static, give some better names to variables,
remove unneccessary special cases and remove some superflous functions.
Form most - if not all - users this changes should be a no-op.
2013-11-10 10:10:43 +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 e7ac0653b2 Merge branch 'sdl2' 2013-11-09 13:21:39 +01:00
Yamagi Burmeister 1aff869393 Add a FAQ regarding XInput 2.2 or higher needed by SDL 2.0 2013-11-09 13:19:37 +01:00
Scott Smith 70eef55ab5 OpenGL-ES converstion
Specific device options for pandora, gcw, gph
2013-10-12 12:31:20 -04:00
Yamagi Burmeister 78cfbb5197 Mention SDL 2.0 in the Makefile header 2013-10-12 12:32:32 +02:00
Yamagi Burmeister 67e3355aa5 Mention that OS X is unsupported
I neither have a Mac nor the time to maintain this platform. SDL 2.0
requires some more complex changes than the usual "two lines to track
Unix and Windows" so suspend OS X support until someone steps up.
2013-10-12 12:30:01 +02:00
Yamagi Burmeister bffc43ea53 Clarify SDL stuff in the README, mention vsync bug with SDL 1.2 2013-10-12 12:27:47 +02:00
Yamagi Burmeister 82f3fa84a9 Use "directsound" as sounddriver when using SDL2 on Windows 2013-10-12 12:13:33 +02:00
Yamagi Burmeister 5b10bdc2b2 Enable SDL2 by default 2013-10-12 11:55:04 +02:00