Commit graph

1443 commits

Author SHA1 Message Date
Yamagi Burmeister
f125a4887f Add a new icon with much higher resoultion (suitable for Win 10).
This icon was supplied by Ryan as SVG. I've converted the raw SVG in a
PNG with size 512x512 (for Linux / Unix desktops) and an ICO (for
Windows). The ICO contains the levels 16x16 to 512x512 and should be
usable on high DPI screens.

The ImageMagick command to generate the ICO was:

convert quake2.png -bordercolor white -border 0  \
    \( -clone 0 -resize 16x16 \) \
    \( -clone 0 -resize 32x32 \) \
    \( -clone 0 -resize 48x48 \) \
    \( -clone 0 -resize 64x64 \) \
    \( -clone 0 -resize 96x96 \) \
    \( -clone 0 -resize 128x128 \) \
    \( -clone 0 -resize 256x256 \) \
    \( -clone 0 -resize 512x512 \) \
    -delete 0 quake2.ico

This closes issue #106.
2015-10-25 06:55:01 +01:00
Yamagi Burmeister
efe138cad2 A small grammar fix
Noticed by Manuel-K
2015-10-24 13:09:36 +02: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
de5849caf5 Reset gibsthisframe and lastgibframe at map change
Without this change the conditionals at g_misc.c:199 and 381 wouldn't
trigger until level.framenum reach it's previous value, resulting in
much to few debris or gibs being thrown. This fixes #104.

Many thanks to maraakate for the analysis and the idea how to fix it.
2015-10-23 19:24:52 +02:00
Yamagi
3c71ac6a08 Merge pull request #103 from mackron/brightness_fix
Apply gl_overbrightbits to regular meshes.
2015-10-23 15:06:38 +02:00
David Reid
3e0773fee4 Don't apply gl_overbrightbits to regular meshes when it's set to 0.
This should now be consistent with walls.
2015-10-23 09:39:54 +10:00
Yamagi
05dfaf0412 Merge pull request #105 from mackron/ui_scaling_fix
UI scaling fixes.
2015-10-22 18:23:39 +02:00
David Reid
33ad02b0d0 A couple more fixes to menu scaling.
Relates to issue #87. This should be the last commit for the menu scaling.
2015-10-22 22:06:48 +10:00
David Reid
dc53635f46 Fix alignment in the Multiplayer -> Player Setup menu.
Relates to issue #87.
2015-10-22 21:41:58 +10:00
David Reid
585e7dbfda Fix alignment in Multiplayer -> Join Network Server -> Address Book menu.
Relates to issue #87.
2015-10-22 21:04:45 +10:00
David Reid
490c5c15a3 Fix alignment in the key bindings menu.
Relates to issue #87.
2015-10-22 20:52:41 +10:00
David Reid
c623d5639c A bunch of alignment fixes to menus.
So far, fixed menus include:
 - Multiplayer
 - Multiplayer -> Start Network Server
 - Multiplayer -> Start Network Server -> Deathmatch Flags
 - Options
 - Video Options

Related to issue #87.
2015-10-22 20:36:41 +10:00
David Reid
fc33d5df64 Fix incorrect positioning of centered strings when scaling is applied.
This partially address issue #87.
2015-10-22 18:08:46 +10:00
David Reid
a856002772 Apply gl_overbrightbits to regular meshes.
This addresses issue #54. This commit also removes a couple of redundant OpenGL calls.
2015-10-22 16:26:44 +10:00
sdfdfhgh
0a8d332da2 Update README to fix wording and clarify instructions 2015-10-19 18:21:20 +02:00
Daniel Gibson
1977570b17 Make sure not all OpenAL sources are relative, fix #100
OpenAL sources are reused in Quake2, so if a source has once been used
for a sound coming from the view entity, it'd stay relative, unless
told not to.

So now I set source's AL_SOURCE_RELATIVE to AL_TRUE or AL_FALSE in
AL_PlayChannel(), depending on the source coming from the player or not.

Thanks a lot to Tommi Teistelä for identifying the problem and pushing
me in the right direction!
2015-10-19 18:20:47 +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
Sean Dwyer
159a3b8607 Add a cvar to switch behavior when misc track 0 is requested
OGG_OpenName(): add ogg_ignoretrack0 cvar to set whether we respect
default playback behaviour when track 0 is requested to be played via
standard cd audio playback.

Submitted by: ewe2
2015-10-19 18:18:44 +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
432fdc271b Send view entity sounds from (0,0,0) and mark them AL_SOURCE_RELATIVE.
This was suggested by kcat at https://github.com/kcat/openal-soft/issues/19
This may fix #88.
2015-09-24 19:02:35 +02:00
Yamagi Burmeister
eba4ce95d4 Rename SCR_GetScale() to SCR_GetDefaultScale() 2015-09-14 19:23:44 +02:00
Yamagi Burmeister
f2e53e657b Fix crosshair_scale
The crosshair_scale cvar was broken a long time ago at Icculus Q2 or
even back at it. The fix is easy... This is part of issue #87.
2015-09-14 19:05:08 +02:00
Yamagi Burmeister
72a22b8915 Remove unreachable code 2015-09-09 08:23:23 +02:00
Yamagi Burmeister
9e4d26399e Switch Windows to dynamic binaries 2015-09-08 18:09:56 +02:00
Yamagi Burmeister
0eb660609b Bump the version number to 5.31 2015-09-08 17:08:08 +02:00
Yamagi Burmeister
05c7709f13 Update CHANGELOG 2015-09-07 17:14:09 +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
8e61ccecca Remove unneed GetGameAPI() prototype.
Based upon a patch submitted by: Ozkan Sezer
2015-08-24 18:04:24 +02:00
Yamagi Burmeister
bd025ae5c5 Fix an off-by-one in memmove() call in SV_Map()
Submitted by: Ozkan Sezer
2015-08-24 18:02:08 +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
5ad7b1e72d Fix several printf in the client.
Submitted by: Ozkan Sezer
2015-08-24 17:52:57 +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
Yamagi Burmeister
c17126278e SV_Physics_Pusher: fix the 'memory corrupted' check
Submitted by: Ozkan Sezer
2015-08-24 17:43:22 +02:00
Yamagi Burmeister
91245e3b70 Fix several printf format string errors in games' code
Submitted by: Ozkan Sezer
2015-08-24 17:42:01 +02:00
Yamagi Burmeister
126eb09a1e Fix missplaced brackets in boss32.c
Bad braces were added back in 2001 in icculus.org/quake2:
http://svn.icculus.org/quake2/trunk/src/game/m_boss32.c?r1=2&r2=26

Submitted by: Ozkan Sezer
2015-08-24 17:35:09 +02:00
Yamagi Burmeister
6c43b2c725 Don't link game.so into quake2. That'll break everything :) 2015-08-23 18:50:48 +02:00
Yamagi Burmeister
767ec454fa Whitespace 2015-08-19 22:08:46 +02:00
Yamagi Burmeister
94ef1999b4 Introduce a CMake variable to define the libdir on Windows
As suggested by Daniel, use the same hack as dhewm3: The user defines a
path prefix and CMake does the rest. So this is enough to build on
Windows: cmake -G Unix\ Makefiles -DYQUAKE2LIBS=C:/MinGW/32/LIBS ..
2015-08-19 21:52:47 +02:00
Yamagi Burmeister
b89781d748 Support CMake on Microsoft Windows
This is a working CMake based build system for Windows:

- While this should work with system wide installed libraries, it's
  still highly recommended to use the latest version of our official
  Windows build environment.
- It was tested with out official build environment on Windows 7 with
  32 bit and 64 bit builds
- You'll need something in the lines of this nice and short command:
    cmake -G Unix\ Makefiles \
     -DSDL2_LIBRARY=C:/MinGW/32/LIBS/lib/libSDL2.dll.a \
     -DSDL2_INCLUDE_DIR=C:/MinGW/32/LIBS/include \
     -DZLIB_INCLUDE_DIR=C:/MinGW/32/LIBS/include \
     -DZLIB_LIBRARY=C:/MinGW/32/LIBS/lib/libz.a \
     -DOGG_LIBRARY=C:/MinGW/32/LIBS/lib/libogg.dll.a \
     -DOGG_INCLUDE_DIR=C:/MinGW/32/LIBS/include \
     -DVORBIS_LIBRARY=C:/MinGW/32/LIBS/lib/libvorbis.dll.a \
     -DVORBIS_INCLUDE_DIR=C:/MinGW/32/LIBS/include \
     -DVORBISFILE_LIBRARY=C:/MinGW/32/LIBS/lib/libvorbisfile.dll.a \
     -DVORBISENC_LIBRARY=C:/libvorbisenc.dll.a \
     -DOPENAL_LIBRARY=C:/MinGW/32/LIBS/lib/libOpenAL32.dll.a \
     -DOPENAL_INCLUDE_DIR=C:/MinGW/32/LIBS/include ..
 Yes, forward slashes! Backslashes will break!
2015-08-19 18:55:50 +02:00
Yamagi Burmeister
147021a89d Add header files to CMake
While headers are not required for compilation CMake need to have some
knowledge about them when used as a project management tool.
2015-08-12 19:19:37 +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
Yamagi Burmeister
870af22e75 Mention Clang for the sake of completeness. 2015-08-12 07:37:53 +02:00
Yamagi Burmeister
4eeac51574 Lower the optimization level to -O2
In the past -O3 was somewhat shaky. Quake II isn't the best and most
standard conformant code you can think of ;)
2015-08-11 21:55:29 +02:00
Yamagi Burmeister
88981bb930 Define some necessary compiler options 2015-08-11 21:55:21 +02:00
Yamagi Burmeister
dcf1fb2501 Move the new cmake directory into stuff/ to keep the top level clean 2015-08-11 21:24:17 +02:00
Yamagi Burmeister
6a059f2482 Whitespace cleanup 2015-08-11 21:21:05 +02:00
Yamagi Burmeister
ebece69254 Some minor cleanup to CMakeLists.txt
- Remove unneeded variables
- Define feature-defines without value
- Clearify some comments
2015-08-11 21:18:15 +02:00