PanQuake - a quick Quake sourceport hack by Aardappel This sourceport has one most significant feature: a "panorama" mode, allowing you to see 360 degrees around. Works correctly with mlook. installation: move the .exe to your quake dir. run. enjoy. new console variables (all persistent): pan (0/1, default 1): turn panorama mode on or off. When panorama mode is off, PanQuake behaves identically to GLQuake, so you can use it as a drop-in replacement pfov (10..1000): controls the panorama fov. pfov also indirectly determines the height of the view, so high fovs give you letterboxed views, and low fovs are only possible if they fit on screen. try various values, 150-180 are good values to start with, hardcore players will want to experience 270 or so. Values >360 will repeat parts of the view. (note that this var and others may automatically be adjusted upon viewchanges, statusbar etc.) slices (5..51, default 13): controls in how many slices the view is rendered. The higher this number, the better the visual quality (the rounder things will look), but also the slower your fps will be. The default is a pretty good tradeoff. How far you can push this setting mainly depends on your cpu, less so your 3d card: people with 1ghz+ boxes can try for example 17, people with slow cpu's may have to step back to 9 or so. Note that the higher the pfov, the more slices you will generally need to make it look good. When playing maps with high r_speeds or many models in view, you may have to reduce this value. pyscale (100..200, default 120): this var controls the Y fov scale of the panorama rendering. increase this value if you want to reduce the letterbox effect with high pfovs, decrease it if you want to use lower pfovs. r_torches (0/1, default 0): turns rendering of torches on or off. for some reason, torches greatly slow PanQuake down, so I turned them off by default (lame solution, I know). This var is here so you can turn em back on if they are important to you (screenshot etc.) autoscreenshot (0/1, default 1): added in as an easy way to make avis/mpegs from your quake demos. When this var is set to 1, both "playdemo" and "timedemo" will take a screenshot of every frame they render, and save them to files named "ani00000.tga" and subsequent numbers. These can then easily be stitched together with any animation software (if you don't have any, I can highly recommend "FastMovieProcessor"). Needless to say, this is very slow. Playdemo will save frames to the exact equivalent of 10fps (recommended, good for most animations), and timedemo uses the original demo fps (usually excessive!). Warning: even at 640 and 10fps, this generates 10 meg data per second of demo. GLQuake build only, sorry... if you want any of the other Quake variants, build em yourself. To do so, get the original GPL quake sources, and plug in the source files supplied. if you want to look at the source (ugly, its a hack), simply grep for "//aard" in the sources supplied, which marks most of my modifications. known bugs: - when pfov<180, some combinations of pfov & slices will make the edges of these screen to start to grey out some polygons. To avoid this, have pfov 180 or over, or simply choose different values for pfov & slices. I haven't figured out why this happens yet. - "seams" can show up if you look very closely between the slices, with some odd combinations of pfov/slices. This does not happen for common values, and can easily be avoided by changing these settings. - if you play at around pfov 360 with r_drawviewmodel 1, it renders the fire part of the model "behind" you. This is normal. switch the model off if it bothers you. - some odd rendering behaviour that I didn't fix, i.e. sprite animations that go too fast etc. if you have fixes for the first 2, please tell me. packet overflow / edicts size fix: I added this, even though it is unrelated to panorama mode: you can now have 16x as much entities/gibs on screen before getting packet overflow errors, and max edicts has been increased 10x as well. This means that on moderately fast machines, Doom-style many monster maps are now viable. To even further make such maps playable, you can run PanQuake with my quake-c mod which quickly removes gibs and corpses (after 5 seconds) which is included. Note however that for coop or dm network play all players need to use PanQuake, because these changes affect the network code. history: I have always wanted to do an OpenGL version of my other quake source port hack, FisheyeQuake, but this turned out to be harder than I thought. Since making it render in panorama mode (1 axis fisheye :) is so easy, I made that for the time being (based on a sw quake panorama hack from way back). GLFisheyeQuake will come, one day... The only reason for hack is that I love fisheye and wide views in general, if you reckon the purpose of it is cheating, grow up. Wouter van Oortmerssen aka Aardappel http://strlen.com/