./games/yquake2 [Yamagi Quake II]
[+] Add this package to your ports tracker

[ CVSweb ] [ Homepage ] [ RSS feed ]

Version: 7.43, Package name: yquake2-7.43
Maintained by: Adam Wolk
Master sites:
Description
Yamagi Quake II is an enhanced client for id Software's Quake II. The
main focus is an unchanged single player experience like back in 1997,
thus the gameplay and the graphics are unaltered. Over 1000 bugs were
fixed and an extensive code audit done, making Yamagi Quake II one of
the most solid Quake II implementations available. Other than most ports
Yamagi Quake II is full 64 bit clean, so it works perfectly on modern 64
bit processors and operating systems.


Filesize: 1943.176 KB
Version History (View Complete History)
  • (2020-03-25) Updated to version: yquake2-7.43
  • (2020-01-13) Updated to version: yquake2-7.21
  • (2016-12-06) Updated to version: yquake2-6.00
  • (2016-06-29) Updated to version: yquake2-5.34
  • (2016-01-17) Package added to openports.se, version yquake2-5.32 (created)
[show/hide] View available PLISTS (Can be a lot of data)

CVS Commit History:

   2020-07-09 15:10:21 by Adam Wolk | Files touched by this commit (2)
Log message:
Fix CPU spin in games/yquake2 dedicated server
OK fcambus@
Initial diff by Tom Murphy who also helped debugging later iterations.
Thanks!
When daemonized as soon as STDIN goes away q2ded detects that and stops
waiting for input, this causes a CPU spin loop generating high server
loads by frequent calls to clock_gettime.
By adding daemon_flags to the rc.d script we flip the busywait flag
which causes q2ded to use a mechanism based on nanosleep that is
significantly lighter on load and has no noticeable impact on
performance for players.
While here we also set the dedicated flag as there is no point to run
the dedicated server outside of debugging without it.
This diff is tweaked compared to ports@ with gamedir being removed. This
final change has been OK'ed off list also by fcambus@.
The reasoning for that final change is as follows:
We do not need gamedir/datadir as we already set SYSTEMWIDE and
SYSTEMDIR during compilation. This solves pointing the game at the pak
files. Normally however we would still need to cd into the game
directory for dlopen to properly load renderers and game.so.
Upstream however has a backwards compatibility mechanism for game.so (so
older mods work) where all paths where game files are stored is searched
for game.so dlopen.  This includes SYSTEMDIR and that makes q2ded work
without having to cd into the binary directory. Since the server itself
does not need to load any renderers that is enough to have a fully
functioning q2ded.
   2020-03-25 15:22:59 by Adam Wolk | Files touched by this commit (1)
Log message:
games/yquake2: fix build
net/curl is a runtime (dlopen) multiplayer dependency, hosts without
it fail during compilation.
Discovered by ajacoutot@ the hard way.
OK jca@
   2020-03-24 11:58:12 by Solene Rapenne | Files touched by this commit (3)
Log message:
Update to yquake-7.43
ok awolk@
   2019-07-12 15:02:30 by Stuart Henderson | Files touched by this commit (339)
Log message:
replace simple PERMIT_PACKAGE_CDROM=Yes with PERMIT_PACKAGE=Yes
   2019-04-26 01:29:21 by Antoine Jacoutot | Files touched by this commit (6)
Log message:
Remove empty line at EOF.
   2018-09-04 06:46:28 by Marc Espie | Files touched by this commit (918)
Log message:
convert to PKGSTEM
   2018-07-29 08:06:38 by Jonathan Gray | Files touched by this commit (2)
Log message:
update yamagi quake2 to 7.21
ok awolk@
   2018-03-14 18:33:54 by Adam Wolk | Files touched by this commit (2)
Log message:
games/yquake2 7.10 => 7.20
OK abieber@
Submitted by Tom Murphy (thanks!)
   2018-02-15 02:56:21 by Adam Wolk | Files touched by this commit (2)
Log message:
games/yquake2 quote parameters in the wrapper
as they can contain whitespace as pointed out
by jca@ (thanks!).
OK jca@
   2018-02-14 02:30:10 by Adam Wolk | Files touched by this commit (2)
Log message:
games/yquake2 pass arguments in the binary wrapper
OK landry@
Submitted by Tom Murphy, thanks!
   2018-01-11 12:27:12 by Robert Peichaer | Files touched by this commit (624)
Log message:
Change the shebang line from /bin/sh to /bin/ksh in all ports rc.d
daemon scripts and bump subpackages that contain the *.rc scripts.
discussed with and OK aja@
OK tb
   2017-07-20 17:33:46 by Adam Wolk | Files touched by this commit (5)
Log message:
games/yquake2 6.00 => 7.01
OK abieber@
Port changes:
- bump version
- install new ref_gl1 / ref_gl3 shared libraries into
/usr/local/lib/yquake2
- patch the Makefile to not pass -Wl,--no-undefined to
the linker, change already merged upstream:
https://github.com/yquake2/yquake2/pull/213
- patch backends/generic/vid.c to dlopen libraries
from /usr/local/lib/yquake2 instead of relying
on Sys_GetBinaryDir() that thinks the OS can tell
it the executable path
Regarding the .so changes, please see the following 2 github links
- https://github.com/yquake2/yquake2/pull/213
- https://github.com/yquake2/yquake2/issues/214
especially the second one. In short, it's possible that upstream will
add a way to define /usr/local/lib/yquake2 as a compile time option
which would make this patch obsolete. Note that I did not move the game.so
file on purpose, as upstream mentioned in 213 that mods expect it to be
in that specific spot.
If you want to test the new renderer just execute the game with:
$ quake2 +vid_renderer gl3
after first run it will be added to your config, or you can add it
yourself by adding:
set vid_renderer "gl3"
to:
/home/mulander/.yq2/baseq2/config.cfg
Upstream changelog:
Quake II 7.00 to 7.01:
- Fix build of GL3 for platforms without SSE.
- Fix Jennel Jaquays name in credits and quit screen.
- Make Quake II high DPI aware on Window Vista and above.
- Fix some problems with loading dependend librarys on Windows.
Quake II 6.00 to 7.00:
- Remove the broken multitexturing render path from the OpenGL 1.4
renderer. It was switched off by default in 6.00.
- Reimplement the support for shared renderer libraries. Please note
the this is an incompatible implementation with an custom API. The
original renderer libraries will not work!
- Implement an OpenGL 3.2 renderer. This renderer has the same look
and feel as the old OpenGL 1.4 renderer but makes heavy use of
modern OpenGL and GPU features. An OpenGL 3.2 capable GPU (Intel
starting with Ivy Bridge on Windows or Sandy Bridge on Linux, Nvidia
staring with G80 and AMD starting with R600 / HD2000) is required.
- Fix OpenAL compatibility with modern openal-soft versions.
- Several fixes and optimizations to OpenAL, implement support for
doppler effects. (by xorw)
   2017-05-27 13:57:08 by Antoine Jacoutot | Files touched by this commit (88)
Log message:
Bring rc_bg back.
   2017-05-27 07:55:59 by Antoine Jacoutot | Files touched by this commit (47)
Log message:
I forgot the bump commit...
   2017-05-27 07:53:07 by Antoine Jacoutot | Files touched by this commit (47)
Log message:
Cope with recent rc.subr(8) change (removal of rc_bg etc.)
   2017-01-10 16:45:49 by Kirill Bychkov | Files touched by this commit (2)
Log message:
README tweaks. OK awolk@, MAINTAINER
   2016-12-05 14:03:33 by Adam Wolk | Files touched by this commit (2)
Log message:
Update games/yquake2 5.34 => 6.00
OK abieber@
Upstream changelog:
Quake II 5.34 to 6.00:
- Make the client asynchronous. The old behaviour can be forced by
setting cl_async to 0. Please note that asynchronicity can lead to
problems if the old SDL 1.2 backend is used and vsync is enabled.
- Implement gl_overbrightbits in the non multitexturing case.  A value
of 1 just fixes lighting on water surfaces, higher values increase
the brightness of everything.
- General renderer overhaul for better compatibility with modern GPUs.
OpenGL 1.4 is now required, older versions are no longer supported.
Multitexturing was deprecated and will be removed in a future release.
- Fix some longstanding AI problems.
- Several general gameplay fixes.
   2016-06-28 14:50:22 by Adam Wolk | Files touched by this commit (5)
Log message:
Update games/yquake2 5.32 => 5.34
OK abieber@
Changes in the port:
- taking MAINTAINER, agreed with bmercer@ who provided the initial port
- added a q2ded rc script in a similar fashion as the games/ioquake3
port does
- the existing /usr/local/share/yquake2/q2ded binary from previous
port did not work as it was searching for games.so from a relative
path. I found a way to make both quake2 and q2ded work with an
upstream supported MAKE variable to provide the system wide quake
data directory. Thanks to this change we can drop the wrapper script
and use the binaries directly.
- adding a new _yquake2 user/group plus /var/yquake2 for the dedicated server
binary
- updated the port to version 5.34
Additional notes:
- make port-lib-depends-check complains on:
Extra:  openal.2 pthread.22
ktrace tells me that the check is wrong. Openal and pthreads are both
used.
- upstream said in their changelog that they are changing their
platform policy 'Switch from an arch whitelist to an "all archs are
supported" approach.'. I saw in our tree a change by landry@
specifically limiting the supported platform to the upstream
supported versions
(http://cvsweb.openbsd.org/cgi-bin/cvsweb/ports/games/yquake2/Makefile?rev=1.2&content-type=text/x-cvsweb-markup).
I am not removing this restriction until I get some feedback from
people able to test other platforms than currently
listed in ONLY_FOR_ARCHS.
Upstream changelog:
Quake II 5.33 to 5.34:
- Add support for stereo 3D (by Valery Guskov)
- Make gibt solid so they move with conveyor belts.
- Disable gl_ext_multitexturing by default.
- Switch from an arch whitelist to an "all archs are supported"
approach.
- Add a new README.
Quake II 5.32 to 5.33:
- Add OGG volume slider in settings menu
- Fixed some bugs in volume settings
- Replaced HUD scale option in video menu with generic UI scale
- General UI upscaling improvements
- Better support for keyboards with AZERTY layout
   2016-03-16 10:46:33 by Christian Weisgerber | Files touched by this commit (41)
Log message:
remove SHARED_ONLY from ports that don't use any MODULES
   2016-02-25 09:02:23 by Landry Breuil | Files touched by this commit (1)
Log message:
ONLY_FOR_ARCHS=i386 amd64 sparc64. Upstream Makefile explicitely
supports only those archs.