View previous topic :: View next topic |
Author |
Message |
UncleOwen Veteran
Joined: 27 Feb 2003 Posts: 1493 Location: Germany, Hamburg
|
Posted: Thu Sep 01, 2005 10:40 pm Post subject: Quake1 singleplayer |
|
|
I'd like to play classic Quake, but none of the versions in portage seems to work 100%. This is what I already did:
- emerge quake1 quakeforge fuhquake-bin glxquake-bin
- copy the files from the cd to /usr/share/games/quake-data/id
The results so far:
- quake.x11 shows a small window, mouse look works, but anytime the mouse leave the window, quake looses the mouse focus. I tried resizing the window to full screen, but this causese a
Code: | Hunk_HighAlloc: failed on 6617056 bytes
Error: Not enough memory for video mode
VID_Shutdown |
and the game crashes. How would I go and increase the amount of memory available to Quake?
- glquake.glx: +mlook doesn't work
- nq-glx: Just a black window, nothing more
- nq-sdl32: "Fatal Error: R_RenderView: called without enough stack"
- nq-sdl, nq-sgl, nq-x11: No keybindings at all, cannot activate the menu
- glquake and fuhquake complain about a missing gfx.wad (isn't that a doom file???)
Any help on any of those problems? |
|
Back to top |
|
|
john-boro Tux's lil' helper
Joined: 09 Aug 2005 Posts: 130
|
Posted: Thu Sep 01, 2005 11:05 pm Post subject: |
|
|
I'll tell you exactly what I did to get quake 1 working..
[list]1. emerge fuhquake-bin
2.download the quake1 shareware. Herein is a file called resource.1. You need to first emerge lha, then run
, which unpacks this and creates the pak0 file, inside a folder named id1.
3. Portage will have created /usr/local/games/quake. In here should be a folder Id1. Move the pak0 file into here
4. (Assuming you have glx working in some way) Quake can now be run as root from /usr/local/games/quake by typing:
Code: | ./fuhquake-gl.glx -width 1024 -conwidth 512 -height 768 -conheight 368 -fullscreen -bpp 32 -nodga -nomdga -m_smooth 1 -condebug +set gl_smoothfont 1 +set confirmquit 0 -heapsize 131072 +set vid_displayfrequency 100 +set s_khz 44 +cfg_load fizz +connect biscuitservers.net +cfg_load config.cfg |
The crazy stuff up there makes sure it runs in full screen, and that the mouse works properly.
5. Sound however, will not be working. So before you run quake, you'll have to run:
Code: | # Force 48k Hz in quakeworld
echo "fuhquake.svga 0 0 direct" > /proc/asound/card0/pcm0p/oss
echo "fuhquake-gl.glx 0 0 direct" > /proc/asound/card0/pcm0p/oss
# Disable recording for quakeworld
echo "fuhquake-gl.glx 0 0 disable" > /proc/asound/card0/pcm0c/oss
echo "fuhquake.svga 0 0 disable" > /proc/asound/card0/pcm0c/oss
echo "fuhquake.svga 0 0 disable" > /proc/asound/card0/pcm1c/oss
echo "fuhquake-gl.glx 0 0 disable" > /proc/asound/card0/pcm1c/oss |
To make all this easier, here is a script with all the above contained:
Code: |
# Force 48k Hz in quakeworld
echo "fuhquake.svga 0 0 direct" > /proc/asound/card0/pcm0p/oss
echo "fuhquake-gl.glx 0 0 direct" > /proc/asound/card0/pcm0p/oss
# Disable recording for quakeworld
echo "fuhquake-gl.glx 0 0 disable" > /proc/asound/card0/pcm0c/oss
echo "fuhquake.svga 0 0 disable" > /proc/asound/card0/pcm0c/oss
echo "fuhquake.svga 0 0 disable" > /proc/asound/card0/pcm1c/oss
echo "fuhquake-gl.glx 0 0 disable" > /proc/asound/card0/pcm1c/oss
#run quake, with options
cd /usr/local/games/quake
#quake
./fuhquake-gl.glx -width 1024 -conwidth 512 -height 768 -conheight 368 -fullscreen -bpp 32 -nodga -nomdga -m_smooth 1 -condebug +set gl_smoothfont 1 +set confirmquit 0 -heapsize 131072 +set vid_displayfrequency 100 +set s_khz 44 +cfg_load fizz +connect biscuitservers.net |
Finally, make sure you have full permissions on usr/local/games/quake and all files/folders within, if you're running it as user.
any other questions just ask. |
|
Back to top |
|
|
UncleOwen Veteran
Joined: 27 Feb 2003 Posts: 1493 Location: Germany, Hamburg
|
Posted: Thu Sep 01, 2005 11:46 pm Post subject: |
|
|
john-boro wrote: | 1. emerge fuhquake-bin |
Did that.
Quote: | 2.download the quake1 shareware. |
I do own a copy of quake, so can take the *.pak from there. Right?
Quote: | 3. Portage will have created /usr/local/games/quake. In here should be a folder Id1. Move the pak0 file into here |
You mean /usr/share/games/quake-data? If so, yes, did that, too.
Quote: | 4. (Assuming you have glx working in some way) |
Yes, I do. I use the nvidia driver, and can play quake3 and ut with it.
Quote: | Quake can now be run as root from /usr/local/games/quake by typing:
Code: | ./fuhquake-gl.glx -width 1024 -conwidth 512 -height 768 -conheight 368 -fullscreen -bpp 32 -nodga -nomdga -m_smooth 1 -condebug +set gl_smoothfont 1 +set confirmquit 0 -heapsize 131072 +set vid_displayfrequency 100 +set s_khz 44 +cfg_load fizz +connect biscuitservers.net +cfg_load config.cfg |
|
Still get the same error: "Error: W_LoadWadFile: couldn't load gfx.wad". Then I tried the same command line with the original quake.x11, and got a fullscreen window, but quake choked on loading the map:
Code: | PackFile: /usr/share/games/quake-data/id1/pak0.pak : maps/e1m3.bsp
Hunk_HighAlloc: failed on 1249968 bytes
Error: COM_LoadFile: not enough space for maps/e1m3.bsp
VID_Shutdown |
But thanks so far! |
|
Back to top |
|
|
john-boro Tux's lil' helper
Joined: 09 Aug 2005 Posts: 130
|
Posted: Thu Sep 01, 2005 11:49 pm Post subject: |
|
|
Quote: | 3. Portage will have created /usr/local/games/quake. In here should be a folder Id1. Move the pak0 file into here
You mean ? If so, yes, did that, too.
! |
nope, there should be a /usr/local/games/quake
go there, go go into id1 and put the pak there, and it should work
let me know how you get on
john
ps, you definitely want to be using .glx version, it is far superior
EDIT the two different directories we're talking about appear to be almost the same. You should definitely be using /usr/local/games/quake. I just checked mine and I also have /usr/local/games/quake, but to make it work I run the fuhquake-gl.glx from /usr/local... |
|
Back to top |
|
|
UncleOwen Veteran
Joined: 27 Feb 2003 Posts: 1493 Location: Germany, Hamburg
|
Posted: Thu Sep 01, 2005 11:54 pm Post subject: |
|
|
john-boro wrote: | Quote: | 3. Portage will have created /usr/local/games/quake. In here should be a folder Id1. Move the pak0 file into here
You mean ? If so, yes, did that, too.
! |
nope, there should be a /usr/local/games/quake |
Portage shouldn't (and in this case doesn't) put anything in /usr/local.
Code: | $ ls -l /usr/local/games/
total 0 |
But, I found the issue with fuhquake: The symlink /opt/fuhquake-bin/id1 was pointing to /usr/share/games/quake-data/, when it should have pointed to /usr/share/games/quake-data/id1/.
And thanks for that command line, works like a charm now! |
|
Back to top |
|
|
john-boro Tux's lil' helper
Joined: 09 Aug 2005 Posts: 130
|
Posted: Thu Sep 01, 2005 11:57 pm Post subject: |
|
|
glad it all worked out
thanks for enlightening me about portage, I wasn't aware of that. Perhaps that directory was created during the install of a different client, or when i installed fuhquake without portage.
regards
john |
|
Back to top |
|
|
obsrv Apprentice
Joined: 19 Aug 2005 Posts: 167 Location: Panevėžys, Lithuania
|
Posted: Fri Sep 16, 2005 8:33 am Post subject: |
|
|
I can't get my configuration saved! I change key binding, constrast, gamma and next time I run I get defaults, so I have to change settings again. What can I do? |
|
Back to top |
|
|
Tuna Guru
Joined: 19 Jul 2002 Posts: 485 Location: Berlin
|
Posted: Fri Sep 16, 2005 8:54 am Post subject: |
|
|
with fuhquake try "cfg_save <name>". you can then load the configuration on the next start with "cfg_load <name>". if you wish to automatically load your configuration you can create an autoexec.cfg which exed the load command. |
|
Back to top |
|
|
PaulBredbury Watchman
Joined: 14 Jul 2005 Posts: 7310
|
|
Back to top |
|
|
obsrv Apprentice
Joined: 19 Aug 2005 Posts: 167 Location: Panevėžys, Lithuania
|
Posted: Tue Nov 01, 2005 4:37 pm Post subject: |
|
|
darkplaces is quite good, but I miss stencil shadows n stuff so I prefer Tenebrae |
|
Back to top |
|
|
PaulBredbury Watchman
Joined: 14 Jul 2005 Posts: 7310
|
Posted: Tue Nov 01, 2005 5:32 pm Post subject: |
|
|
Tenebrae is interesting (and the shadows and lighting sometimes look fantastic), but everything looks far too artificially shiny, and it needs a beefy PC. Darkplaces is highly configurable, and looks far more natural. |
|
Back to top |
|
|
Sprotte Apprentice
Joined: 18 Oct 2004 Posts: 217 Location: Kiel, Germany
|
Posted: Tue Nov 01, 2005 5:47 pm Post subject: |
|
|
ok, for anyone who still has this problem, here´s how I play Quake.
First way.
I downloaded the source code of JoeQuake, my engine of choice (it´s small). Then I unpacked it into /root. Now what follows is:
1) As root, compile it. That´s easy, you just have to open the Makefile with an editor and adjust it. Set default_target to either svga, x11 or glx. To compile, just run "make".
It builds up to three executable files: joequake.x11, joequake.svga and/or joequake-gl.glx.
Copy those to your home dir and chown them:
chown (username):games /home/user/joequake.x11 (or whatever executable you built).
2) Make a joequake folder in your home directory. Copy the small pak0.pak file from the source directory into there and chown it too. That is Quake´s "private" directory, where also stuff like maps, config files or screenshots go.
3) make a folder called id1 in your home directory. In there put pak0.pak and pak1.pak from the CD (or use lha to extract pak0.pak from the demo like described above).
Your home directory is now your Quake base directory. Inside that are _gamedirs_ that contain pak files (like the id1 folder or any mods you install), and also the executable resides here.
You see, this is much easier to handle than that /usr/local/ stuff that Portage does. Everything is neatly together in your home dir and you don´t bloat your /usr partition with game stuff.
4) Make a script in your home directory that starts Quake. Mine looks like this:
#! /bin/sh
/home/xxx/joequake.x11 -width 640 -height 480 -mem 32 -22khz
though you can put all kinds of stuff in there.
Make this script executable : chmod u+x jquake
Then start Quake with ./jquake or whatever you named it.
Be sure to visit the corresponding homepage (see links below).
-------------
Second way, if you must use portage:
emerge fuhquake (joequake isn´t in portage I think)
gives you a /usr/local/fuhquake-bin folder.
In there, make a folder id1 and put the pak files in there. (personally, I have an id1 folder in my home dir and symlinked it like this:
cd /usr/local/fuhquake-bin
ln -s /home/xxx/id1 id1
Then fuhquake should find the pak files.
(The "gfx.wad not found" error means that the Quake engine cannot find the pak file(s).)
I prefer method #1 because I have everything in one place (my home dir) and my /usr partition is too small to be cluttered by game files (I have over 100 maps and mods installed). Also I like to play with CFLAGS and other things.
Now, there are Netquake (normal Quake) and Quakeworld clients. If you want to play singleplayer mostly, Netquake is fine. Joequake and Darkplaces are netquake engines.
For online play, you´ll need FuhQuake or another QuakeWorld client. The network stuff is different and physics in QW are different from NQ (for example, bunnyhopping is easier).
However, most mods only run properly with Netquake engines. (!!!)
To play custom maps, make a maps folder in your Quake dir (the one where the small pak0.pak file is). Put the .bsp files in there (if necessary, unzip first) In quake, go to the console.
To set the skill, type "skill x" in the game console, where x is a number between 0 and 3.
To start the map, type "map mapname" where mapname is the file name without the .bsp ending (!). For could.bsp you would type "map could".
To install a mod (for example Killer Quake), make a folder in your base dir (next to the id1 folder). Put the mod into there (mostly a zipfile) and unzip it (mostly a pak file).
To play a mod, go to the game console and type "gamedir (name of mod´s folder)".
If it tells you to disconnect first, type "disconnect" followed by the above.
Then go to the mod´s first map or play like normal.
Finally, here is the directory structure again:
--- QUAKE BASE DIRECTORY (/home/user, /usr/local/fuhquake-bin, or even others) contains:
---------- id1 folder (default gamedir, contains pak0.pak and pak1.pak)
---------- any mod folders (custom gamedirs, contain mostly .pak files)
---------- XXXquake folder (contains a small pak0.pak and configs, as well as:)
-------------------- maps folder (where .bsp files go)
Navigating between those is done with the "gamedir" and "map" commands in the game console.
Finally Finally, here are some links.
1. For massive single-player treatage go to Underworldfan´s map reviews:
http://www.planetquake.com/underworld
2. For speedrunning and cool demos, go to SDA:
http://speeddemosarchive.com/quake/
3. For online playing, go to Besmella Quake:
http://www.besmella-quake.com
4. JoeQuake
http://www.runecentral.com/joequake/news.html
5. FuhQuake
http://www.fuhquake.net/ |
|
Back to top |
|
|
PaulBredbury Watchman
Joined: 14 Jul 2005 Posts: 7310
|
Posted: Tue Nov 01, 2005 6:13 pm Post subject: |
|
|
Sprotte wrote: | You see, this is much easier to handle than that /usr/local/ stuff that Portage does. Everything is neatly together in your home dir and you don´t bloat your /usr partition with game stuff. |
Erm, yeah, can I just stop you there for a bit of a sanity check? How is putting the obviously shareable stuff into /usr/share/games a bad thing, and using e.g. ~/.quake1/ for the individual configurations? I only have empty directories under /usr/local/ (apart from my overlays in /usr/local/portage/).
Joequake looks worthy of an ebuild though - I'll look into it |
|
Back to top |
|
|
Sprotte Apprentice
Joined: 18 Oct 2004 Posts: 217 Location: Kiel, Germany
|
Posted: Tue Nov 01, 2005 8:09 pm Post subject: |
|
|
PaulBredbury wrote: | How is putting the obviously shareable stuff into /usr/share/games a bad thing, and using e.g. ~/.quake1/ for the individual configurations? |
If you collect custom maps and mods, you can easily have 300 MB of stuff. Nehahra alone is a 50 MB file (I like to archive the zip files, too). Also, I am doing hundreds of screenshots.
That is of course not what a "normal" user will do, but it is my opinion that relatively large software that only individual users need belongs into /home. The pak files fall under that definition, too.
If the various Quake ebuilds could manage to put the executables into /usr/games/bin and have them look for ~/id1 and ~/quake, I would be all for it. The problem is Quake´s built-in directory structure. I think the code would have to be patched to allow that.
In that case, you could just tell users to create ~/id1 and put the pak files there, then create ~/quake and put the engine-supplied pak0.pak there.
That would be in a perfect world. |
|
Back to top |
|
|
PaulBredbury Watchman
Joined: 14 Jul 2005 Posts: 7310
|
Posted: Wed Nov 02, 2005 5:41 am Post subject: |
|
|
The various Quake programs use at least the following directories: ~/.quake/tenebrae/, ~/.quake2/, ~/.quake4/, ~/.quakeforge/.
As a quick test, I ran:
Code: | cp /usr/share/games/quake2-data/baseq2/pak0.pak ~/.quake2/baseq2/
mv /usr/share/games/quake2-data/baseq2/pak0.pak /usr/share/games/quake2-data/baseq2/pak0.pak-temprename |
And sdlquake2-qmax still ran.
For quake1-darkplaces, I decided to cheat a little, and made /usr/share/games/quake-data/id1 a symlink to a subdirectory within ~/. I'm not suggesting that it's a good idea if you have other malicious users of the same PC, though |
|
Back to top |
|
|
PaulBredbury Watchman
Joined: 14 Jul 2005 Posts: 7310
|
Posted: Wed Nov 02, 2005 12:20 pm Post subject: |
|
|
Edit: My poor-quality ebuild for joequake has been replaced by a much better one.
Last edited by PaulBredbury on Thu Nov 03, 2005 7:47 pm; edited 2 times in total |
|
Back to top |
|
|
UncleOwen Veteran
Joined: 27 Feb 2003 Posts: 1493 Location: Germany, Hamburg
|
Posted: Wed Nov 02, 2005 6:30 pm Post subject: |
|
|
PaulBredbury wrote: | KEYWORDS="~amd64 ~ia64 ~x86" |
Did you test all of these? The source really doesn't look like it's gonna compile on anything non-x86. |
|
Back to top |
|
|
PaulBredbury Watchman
Joined: 14 Jul 2005 Posts: 7310
|
Posted: Wed Nov 02, 2005 6:37 pm Post subject: |
|
|
UncleOwen wrote: | Did you test all of these? The source really doesn't look like it's gonna compile on anything non-x86. |
I can only test x86. If it definitely doesn't compile on x64, please let me know and I'll remove those keywords.
Out of interest, is there an easy way to tell by looking at the source code? |
|
Back to top |
|
|
PaulBredbury Watchman
Joined: 14 Jul 2005 Posts: 7310
|
Posted: Wed Nov 02, 2005 6:42 pm Post subject: |
|
|
Has anyone managed to get the revitalized textures and models working with darkplaces? It's unclear as to what the filenames and directories should be. I have managed to see one armour texture improved, but that's all. |
|
Back to top |
|
|
UncleOwen Veteran
Joined: 27 Feb 2003 Posts: 1493 Location: Germany, Hamburg
|
Posted: Wed Nov 02, 2005 7:44 pm Post subject: |
|
|
PaulBredbury wrote: | UncleOwen wrote: | Did you test all of these? The source really doesn't look like it's gonna compile on anything non-x86. |
I can only test x86. |
Only keyword x86 then. See
http://www.gentoo.org/proj/en/devrel/handbook/handbook.xml?part=2&chap=3
http://dev.gentoo.org/~plasmaroo/devmanual/keywording/
Quote: | If it definitely doesn't compile on x64, please let me know and I'll remove those keywords. |
Code: | >>> emerge (1 of 1) games-fps/joequake-0.15_beta1146 to /
>>> md5 files ;-) joequake-0.15_beta1146.ebuild
>>> md5 files ;-) files/digest-joequake-0.15_beta1146
>>> md5 src_uri ;-) joequake-v0.15b1146-source.zip
>>> md5 src_uri ;-) joequake_wad.zip
>>> Unpacking source...
>>> Unpacking joequake-v0.15b1146-source.zip to /var/tmp/portage/joequake-0.15_beta1146/work
>>> Unpacking joequake_wad.zip to /var/tmp/portage/joequake-0.15_beta1146/work
>>> Unpacking hipnotic_wad.zip to /var/tmp/portage/joequake-0.15_beta1146/work/hipnotic
>>> Source unpacked.
cd_linux.c:1: error: CPU you selected does not support x86-64 instruction set
cd_linux.c:1: error: CPU you selected does not support x86-64 instruction set
make: *** [release_glx/cd_linux.o] Error 1
!!! ERROR: games-fps/joequake-0.15_beta1146 failed.
!!! Function src_compile, Line 60, Exitcode 2
!!! emake failed |
|
|
Back to top |
|
|
PaulBredbury Watchman
Joined: 14 Jul 2005 Posts: 7310
|
Posted: Wed Nov 02, 2005 8:12 pm Post subject: |
|
|
Done. Perhaps you could try changing line 46 of Makefile, with its mention of "386" and "-march=pentiumpro".
Anyway, darkplaces is a much better client |
|
Back to top |
|
|
UncleOwen Veteran
Joined: 27 Feb 2003 Posts: 1493 Location: Germany, Hamburg
|
Posted: Thu Nov 03, 2005 5:39 pm Post subject: |
|
|
PaulBredbury wrote: | Done. Perhaps you could try changing line 46 of Makefile, with its mention of "386" and "-march=pentiumpro". |
Good idea, but unfortunately some of the x86-asm doesn't exist as C-code
Quote: | Anyway, darkplaces is a much better client |
Ack. |
|
Back to top |
|
|
PaulBredbury Watchman
Joined: 14 Jul 2005 Posts: 7310
|
Posted: Thu Nov 03, 2005 7:48 pm Post subject: |
|
|
Here's my second attempt at a joequake ebuild |
|
Back to top |
|
|
PaulBredbury Watchman
Joined: 14 Jul 2005 Posts: 7310
|
Posted: Thu Oct 19, 2006 5:37 pm Post subject: |
|
|
Anyone who's a fan of Quake 1 single-player maps should check out the Undergate collection of 104 maps |
|
Back to top |
|
|
Sprotte Apprentice
Joined: 18 Oct 2004 Posts: 217 Location: Kiel, Germany
|
|
Back to top |
|
|
|