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

aardappel@planetquake.com
http://wouter.fov120.com/
http://www.planetquake.com/aardappel/


