Hi, here is an ebuild for an enhanced Quake 2 engine, KM Quake 2, written by Knightmare in Windows and converted to Linux by QuDos. This engine supports the Lazurus mod, which some Quake 2 maps require. It also has splattering blood effects, so I like it :)
Created attachment 91567 [details] kmquake2-0.19.ebuild
Created attachment 91573 [details] kmquake2-0.19.ebuild Made icon transparent in the data tarball, and added flares.pk3
Created attachment 91574 [details] kmquake2-0.19.ebuild By "Lazurus" I of course meant Lazarus. Got it wrong in the ebuild too, fixed here.
Thankyou much.. I am getting it right now hopefully it will work.
I suggest you add ~amd64 There's only a few noticable bugs for me, and they're probably the same for x86.
The old website is http://www.geocities.com/knightmare66/
Created attachment 99259 [details] kmquake2-0.19.ebuild Improved dependencies.
Created attachment 99335 [details] kmquake2-0.19.2.ebuild Version bump, with new USE flags.
Created attachment 110024 [details] kmquake2-0.19.2.ebuild Added -O0 to stop audio corruption, and #define _GNU_SOURCE to hopefully fix amd64.
Created attachment 110281 [details] kmquake2-0.19.2.ebuild Added check for gcc 4.1.1, because gcc 4.1.2 solves the audio crackle without needing -O0.
Created attachment 117897 [details] kmquake2-0.19.2.ebuild Uses $(games_get_libdir)
Created attachment 118764 [details] kmquake2-0.19.2.ebuild Added openal.
Created attachment 146695 [details] kmquake2-0.19.2.ebuild fixed to use more right paths: like /usr/games/lib/kmquake2/baseq2/ for libs /usr/share/games/quake2/baseq2/ for data and stuff requesting to replace quake2-icculus by this one
Created attachment 146984 [details] kmquake2-0.19.2.ebuild * more flexible now * alsa\oss\X11-opengl || sdl\sdl-gl binaries
Created attachment 147118 [details, diff] kmquake2-0.19.2-alsa.patch
Created attachment 147119 [details, diff] kmquake2-0.19.2-nocd.patch
Created attachment 147121 [details, diff] kmquake2-0.19.2-remaping_amd64.patch
Created attachment 147122 [details, diff] kmquake2-0.19.2-search_path.patch
Created attachment 147128 [details] kmquake2-0.19.2.ebuild * fixes pushed in patches * poor textures replaced with 32bit HQ * clean out
can't force it to play audio-cd or ~/.quake2/baseq2/music/track??.ogg :(
Created attachment 147204 [details] kmquake2-0.19.2.ebuild * more clean out * fixed dependencies to use as server without X (not tested) * reversed to use quake2-textures (1 is recommended) ^ no sound issues - my fault :) $ decent enough for going portage
Created attachment 147217 [details] kmquake2-0.19.2.ebuild * optimization in gentoo-way * desktop entries for each client binary
Created attachment 147345 [details, diff] kmquake2-0.19.2-safe_saving.patch => removing DATE checking in saves (no more saves breakage after reemerge)
Created attachment 147346 [details] kmquake2-0.19.2.ebuild * update for new patch * optimization restrictions by default (avoiding segfaults with old code and striped saves)
QA_EXECSTACK="${GAMES_BINDIR:1}/${PN}" __ this is a source package, isn't it? so why not fix exestack instead of hiding QA message?
Created attachment 147355 [details] kmquake2-0.19.2.ebuild * removed 'QA_EXECSTACK="${GAMES_BINDIR:1}/${PN}"' honestly,i don't know what it does
so,what about replace quake2-icculus by this one ? i know, it's not maintained too much but it's working at least. PS: have completed the game. issues: 1) sound is absent in briefing-movies 2) music disappearing after some of level triggers goes off (it's supposed to change track,maybe?)
Why would we replace anything? Why not keep both and give the user the choice?
(In reply to comment #28) > Why would we replace anything? Why not keep both and give the user the choice? > i think bugzilla is place where we can suggest solutions and improvements and you will manage and evaluate them if they decent enough or not, point out their defects and improve them together to use them together. this is the purpose of system to be superior and there is no question "why?", there is question "how?" this is how i making system superior: providing more stable, featured, maintained, demanded solutions as i can. and this is one of them. i believe this package surpass quake2-icculus by most parameters and correspond gentoo requirements and that's why i propose it as replacement for obsolete, broken, unsupported, unused code. Why should i not expecting you to improve portage ? this is here for almost 2 years ! well,choice ? choice is always good. there is the choice ?
0.20 beta3 with some fixes was released two days ago.
would you be so kind to give a link on description page and source which definitely builds on gnu/linux ? is it "official" windows(r)-only or icculus had fixed it or is it cross-platform like it should ?
from what i can see at http://kmq2.quakedev.com it was released a 1.5 years ago and with totally crippled support for anything over windows(r). there is an old code for gnu/linux from ID but it partly broken and obsolete. since that time only crunches for windows build was made. ebuild here builds icculus version of that engine with fixed gnu/linux code. it is more then 3 years old but it's best what we have, apparently.
Hi, maybe I should open separate bugs for this, but here goes anyway: about a week ago there was an update of libjpeg (from version 7 to 8). Since then I noticed two issues: a) kmquake2 fails to compile, the exact lines follow: renderer/r_image.c:842: error: conflicting types for ‘jpeg_mem_src’ /usr/include/jpeglib.h:959: error: previous declaration of ‘jpeg_mem_src’ was here b) Even though the compilation has failed, the ebuild seems to ignore this and carries on, complaining about missing the executables but finally reporting a success.
(In reply to comment #33) > renderer/r_image.c:842: error: conflicting types for ‘jpeg_mem_src’ Try same fix as in bug #150865
Created attachment 221113 [details, diff] games-fps/kmquake2/files/kmquake2-0.19.2-jpeg8.patch yep, same thing
(In reply to comment #35) > Created an attachment (id=221113) [details] > games-fps/kmquake2/files/kmquake2-0.19.2-jpeg8.patch > > yep, same thing > Thanks. There's still the thing about the ebuild not reporting a failure if the compilation went wrong. One other thing, and forgive because this is my first bug report. As a lowly user, how do I apply this patch so that emerge is OK with it? I mean, I have uncompressed the distfile, applied the patch, compressed again and tried to emerge again, but then portage detects that the distfile doesn't have the correct checksum and downloads a new one, overwriting the patch. Should I wait for an update, compile it myself and forget about emerge...?
you should set up your local overlay [ http://en.gentoo-wiki.com/wiki/Overlay ] put all files from this page and pages of bugs it depends on to their places in the overlay and emerge it with 'emerge --digest kmquake2' while no modified or tempered in any way tarballs is present in distfiles this is only time i or anybody else explaining it since it is a violation to discuss such thing in bug-tracker about it not failing with error: i don't quite know why it does this and right now i don't care or want to fix it, unfortunately PS: you also need to use texture-ebuild from bug #140246 with my kmquake2-ebuild
Created attachment 221319 [details] kmquake2-0.19.2.ebuild [X] updated for jpeg8 patch
Where can the game-fps/quake2-textures-2[-kmquake2] be found that the latest ebuild requires?
(In reply to comment #39) > Where can the game-fps/quake2-textures-2[-kmquake2] be found that the latest > ebuild requires? > Sorry, I just noticed the previous post pointing to this file. Wheres my glasses :)
kmquake2-0.19.2 does not build with libpng-1.4.*. Strangely enough, the package installs anyway but without kmquake2* binaries. Tested on (stable) amd64 system. Part of the build log: Compiling >> game/q_shared.c ... **Built KM Quake2 client with cflags: x86_64-pc-linux-gnu-gcc 4.4.3 -O0 -march=k8 -pipe -I/usr/include -I/usr/X11R6/include -DOP_SYSTEM='Linux 2.6.34-gentoo-r6' -DGAME_NAME='kmq2gamex86_64.so' -DC_ONLY -pipe -DKMQUAKE2_ENGINE_MOD -DDATADIR='/usr/share/games/quake2' -DLIBDIR='/usr/games/lib64/kmquake2' -fno-strict-aliasing -DKMQUAKE2_VERSION='0.19' -DREF_GLX -DUSE_XF86_DGA **Linking Client with flags: -L/usr/lib -lm -ldl -L/usr/X11R6/lib -lX11 -lXext -lXxf86vm -lXxf86dga -L/usr/lib -L/usr/X11R6/lib -lGL -lGLU -lpng -ljpeg -L/usr/lib -lz -lasound -lvorbisfile -lvorbis -logg **Built KM Quake2 Dedicated with cflags: x86_64-pc-linux-gnu-gcc 4.4.3 -O0 -march=k8 -pipe -I/usr/include -I/usr/X11R6/include -DOP_SYSTEM='Linux 2.6.34-gentoo-r6' -DGAME_NAME='kmq2gamex86_64.so' -DC_ONLY -pipe -DKMQUAKE2_ENGINE_MOD -DDATADIR='/usr/share/games/quake2' -DLIBDIR='/usr/games/lib64/kmquake2' -fno-strict-aliasing -DKMQUAKE2_VERSION='0.19' -DDEDICATED_ONLY **Linking KM Quake2 Dedicated Client with flags: -L/usr/lib -lm -ldl -L/usr/lib -lz **Built KM Quake2 SDL client with cflags: x86_64-pc-linux-gnu-gcc 4.4.3 -O0 -march=k8 -pipe -I/usr/include -I/usr/X11R6/include -DOP_SYSTEM='Linux 2.6.34-gentoo-r6' -DGAME_NAME='kmq2gamex86_64.so' -DC_ONLY -pipe -DKMQUAKE2_ENGINE_MOD -DDATADIR='/usr/share/games/quake2' -DLIBDIR='/usr/games/lib64/kmquake2' -fno-strict-aliasing -DKMQUAKE2_VERSION='0.19' -DREF_SDL **Linking Client with flags: -L/usr/lib -lm -ldl -L/usr/lib -L/usr/X11R6/lib -lGL -lGLU -lpng -ljpeg -L/usr/lib -lz -lvorbisfile -lvorbis -logg -lSDL -lpthread build_release/ref_gl/r_image.o: In function `LoadPNG': r_image.c:(.text+0x1d24): undefined reference to `png_set_gray_1_2_4_to_8' collect2: ld returned 1 exit status make[1]: *** [quake2/kmquake2] Error 1 make[1]: *** Waiting for unfinished jobs.... build_release/ref_gl/r_image.o: In function `LoadPNG': r_image.c:(.text+0x1d24): undefined reference to `png_set_gray_1_2_4_to_8' collect2: ld returned 1 exit status make[1]: *** [quake2/kmquake2-sdl] Error 1 make: [release] Error 2 (ignored) >>> Source compiled. >>> Test phase [not enabled]: games-fps/kmquake2-0.19.2-r1 >>> Install kmquake2-0.19.2-r1 >>> into /var/tmp/portage/games-fps/kmquake2-0.19.2-r1/image/ category >>> games-fps !!! dobin: quake2/kmquake2 does not exist !!! dobin: quake2/kmquake2-sdl does not exist >>> Completed installing kmquake2-0.19.2-r1 >>> into /var/tmp/portage/games-fps/kmquake2-0.19.2-r1/image/ * QA Notice: file does not exist: * * dobin: quake2/kmquake2 does not exist * dobin: quake2/kmquake2-sdl does not exist >>> Installing (1 of 1) games-fps/kmquake2-0.19.2-r1 * checking 19 files for package collisions --- /usr/ --- /usr/games/ --- /usr/games/bin/ --- /usr/games/lib64/ --- /usr/games/lib64/kmquake2/ --- /usr/games/lib64/kmquake2/baseq2/ --- /usr/share/ --- /usr/share/games/ --- /usr/share/games/quake2/ --- /usr/share/games/quake2/lazarus/ >>> /usr/share/games/quake2/lazarus/readme.txt >>> /usr/share/games/quake2/lazarus/suggested.cfg >>> /usr/share/games/quake2/lazarus/kmquake2_lazarus.def >>> /usr/share/games/quake2/lazarus/texsurfs.txt --- /usr/share/games/quake2/lazarus/ext_data/ >>> /usr/share/games/quake2/lazarus/ext_data/entalias.def >>> /usr/share/games/quake2/lazarus/developer.cfg >>> /usr/share/games/quake2/lazarus/bots.cfg >>> /usr/share/games/quake2/lazarus/default.cfg >>> /usr/share/games/quake2/lazarus/normal.cfg >>> /usr/share/games/quake2/lazarus/kmquake2_lazarus.fgd >>> /usr/share/games/quake2/lazarus/kmquake2_lazarus.txt --- /usr/share/games/quake2/baseq2/ >>> /usr/share/games/quake2/baseq2/kmquake2_levelshots_hi.pk3 >>> /usr/share/games/quake2/baseq2/flares.pk3 >>> /usr/share/games/quake2/baseq2/kmquake2.pk3 --- /usr/share/pixmaps/ >>> /usr/share/pixmaps/kmquake2.png --- /usr/share/doc/ --- /usr/share/doc/kmquake2-0.19.2-r1/ >>> /usr/share/doc/kmquake2-0.19.2-r1/kmquake2.txt.bz2 >>> /usr/share/doc/kmquake2-0.19.2-r1/Readme.unix.bz2 >>> /usr/share/doc/kmquake2-0.19.2-r1/3.21_Changes.txt.bz2 >>> /usr/share/doc/kmquake2-0.19.2-r1/kmquake2_lazarus.txt.bz2 >>> Safely unmerging already-installed instance...
Created attachment 245123 [details] games-fps/kmquake2-0.19.2-r1.ebuild ebuild which fixed to fail on missing binaries (emake does not give error code for some reason). patch for libpng 1.4 is needed :(
Created attachment 245399 [details] kmquake2-0.19.2-r1.ebuild Ebuild submited to roslin overlay by Micha? Zi?bkowski with libpng patch.
Created attachment 245400 [details, diff] kmquake2-0.19.2-libpng14.patch Mentioned libpng patch. Btw. it seems that there's 0.20 beta3 available here ? http://kmq2.quakedev.com/
Great! libpng14 patch with the ebuild from attachment id 245399 works. Btw, the ebuild does not have standard Gentoo header.
thanks, added in "v-fox" overlay too. i'm not sure that mainstream kmquake2 is buildable outside of windows(tm). "our" kmquake2 apparently is Qudos'es mod of KMQuake2 mod :\
seems to emerge just fine, but cant get the darn thing to work... caibbor@helios ~ $ kmquake2 Using '/home/caibbor/.quake2/baseq2' for writing. execing default.cfg couldn't exec kmq2config.cfg Console initialized. ------- sound initialization ------- Attempting to initialize ALSA sound. Initializing ALSA Sound System Period size: ^91024 Buffer size: ^98192 Stereo: ^91 Samples: ^916384 Samplepos: ^90 Samplebits: ^916 Submission_chunk: ^92048 Speed: ^948000 Starting Ogg Vorbis. OGG_LoadPlaylist: could not open playlist: No such file or directory. No Ogg Vorbis files found. ------------------------------------ --------- Renderer Initialization --------- Initializing OpenGL display Setting fullscreen mode [3]: 640x480 Shutting down Video. ^3X11-GL Status Using XFree86-VidModeExtension Version 2.2 Color bits : 32 Depth bits : 24 Alpha bits : 8 Stencil bits : 8 Double buffer enabled. Multisample buffer enabled. Hardware gamma enabled. GL_VENDOR: NVIDIA Corporation GL_RENDERER: GeForce 9800M GS/PCI/SSE2 GL_VERSION: 3.3.0 NVIDIA 260.19.21 GL_MAX_TEXTURE_SIZE: 8192 Received signal 11, exiting... Shutting down Video. caibbor@helios ~ $ kmquake2-sdl Using '/home/caibbor/.quake2/baseq2' for writing. execing default.cfg couldn't exec kmq2config.cfg Console initialized. ------- sound initialization ------- Initializing SDL Sound System Stereo: ^91 Samples: ^92048 Samplepos: ^91024 Samplebits: ^916 Submission_chunk: ^91 Speed: ^944100 Starting Ogg Vorbis. Segmentation fault caibbor@helios ~ $