1Glquake v0.99, Quake v1.09 release notes 2 33dfx owners -- read the 3dfx.txt file. 4 5On a standard OpenGL system, all you should need to do to run glquake is put 6glquake.exe in your quake directory, and run it from there. DO NOT install 7the opengl32.dll unless you have a 3dfx! Glquake should change the screen 8resolution to 640*480*32k colors and run full screen by default. 9 10If you are running win-95, your desktop must be set to 32k or 64k colors 11before running glquake. NT can switch automatically. 12 13Theoretically, glquake will run on any compliant OpenGL that supports the 14texture objects extensions, but unless it is very powerfull hardware that 15accelerates everything needed, the game play will not be acceptable. If it 16has to go through any software emulation paths, the performance will likely 17by well under one frame per second. 18 193dfx has provided an opengl32.dll that implements everything glquake needs, 20but it is not a full opengl implementation. Other opengl applications are 21very unlikely to work with it, so consider it basically a "glquake driver". 22See the encluded 3dfx.txt for specific instalation notes. 3dfx can only run 23full screen, but you must still have your desktop set to a 16 bit color mode 24for glquake to start. 25 26resolution options 27------------------ 28We had dynamic resolution changing in glquake for a while, but every single 29opengl driver I tried it on messed up in one way or another, so it is now 30limited to startup time only. 31 32glquake -window 33This will start glquake in a window on your desktop instead of switching the 34screen to lower resolution and covering everything. 35 36glquake -width 800 -height 600 37Tries to run glquake at the specified resolution. Combined with -window, it 38creates a desktop window that size, otherwise it tries to set a full screen 39resolution. 40 41You can also specify the resolution of the console independant of the screen 42resolution. 43 44glquake -conwidth 320 45This will specify a console resolution of 320 by 240 (the height is 46automatically determined by the default 4:3 aspect ratio, you can also 47specify the height directly with -conheight). 48 49In higher resolution modes such as 800x600 and 1024x768, glquake will default 50to a 640x480 console, since the font becomes small enough at higher 51resolutions to become unreadable. If do you wish to have a higher resolution 52console and status bar, specify it as well, such as: 53glquake -width 800 -height 600 -conwidth 800 54 55texture options 56--------------- 57The amount of textures used in the game can have a large impact on performance. 58There are several options that let you trade off visual quality for better 59performance. 60 61There is no way to flush already loaded textures, so it is best to change 62these options on the command line, or they will only take effect on some of 63the textures when you change levels. 64 65OpenGL only allows textures to repeat on power of two boundaries (32, 64, 66128, etc), but software quake had a number of textures that repeated at 24 67or 96 pixel boundaries. These need to be either stretched out to the next 68higher size, or shrunk down to the next lower. By default, they are filtered 69down to the smaller size, but you can cause it to use the larger size if you 70really want by using: 71 72glquake +gl_round_down 0 73This will generally run well on a normal 4 MB 3dfx card, but for other cards 74that have either worse texture management or slower texture swapping speeds, 75there are some additional settings that can drastically lower the amount of 76textures to be managed. 77 78glquake +gl_picmip 1 79This causes all textures to have one half the dimensions they otherwise would. 80This makes them blurry, but very small. You can set this to 2 to make the 81textures one quarter the resolution on each axis for REALLY blurry textures. 82 83glquake +gl_playermip 1 84This is similar to picmip, but is only used for other players in deathmatch. 85Each player in a deathmatch requires an individual skin texture, so this can 86be a serious problem for texture management. It wouldn't be unreasonable to 87set this to 2 or even 3 if you are playing competatively (and don't care if 88the other guys have smudged skins). If you change this during the game, it 89will take effect as soon as a player changes their skin colors. 90 91GLQuake also supports the following extensions for faster texture operation: 92 93GL_SGIS_multitexture 94Multitextures support allows certain hardware to render the world in one 95pass instead of two. GLQuake uses two passes, one for the world textures 96and the second for the lightmaps that are blended on the textures. On some 97hardware, with a GL_SIGS_multitexture supported OpenGL implementation, this 98can be done in one pass. On hardware that supports this, you will get a 9960% to 100% increase in frame rate. Currently, only 3DFX dual TMU cards 100(such as the Obsidian 2220) support this extension, but other hardware will 101soon follow. 102 103This extension will be autodetected and used. If for some reason it is not 104working correctly, specify the command line option "-nomtex" to disable it. 105 106GL_EXT_shared_texture_palette 107GLQuake uses 16bit textures by default but on OpenGL implementations 108that support the GL_EXT_shared_texture_palette extension, GLQuake will use 1098bit textures instead. This results in using half the needed texture memory 110of 16bit texture and can improve performance. This is very little difference 111in visual quality due to the fact that the textures are 8bit sources to 112begin with. 113 114run time options 115---------------- 116At the console, you can set these values to effect drawing. 117 118gl_texturemode GL_NEAREST 119Sets texture mapping to point sampled, which may be faster on some GL systems 120(not on 3dfx). 121 122gl_texturemode GL_LINEAR_MIPMAP 123This is the default texture mode. 124 125gl_texturemode GL_LINEAR_MIPMAP_LINEAR 126This is the highest quality texture mapping (trilinear), but only very high 127end hardware (intergraph intense 3D / realizm) supports it. Not that big of 128a deal, actually. 129 130gl_finish 0 131This causes the game to not issue a glFinish() call each frame, which may make 132some hardware run faster. If this is cleared, the 3dfx will back up a number 133of frames and not be very playable. 134 135gl_flashblend 0 136By default, glquake just draws a shaded ball around objects that are emiting 137light. Clearing this variable will cause it to properly relight the world 138like normal quake, but it can be a significant speed hit on some systems. 139 140gl_ztrick 0 141Glquake uses a buffering method that avoids clearing the Z buffer, but some 142hardware platforms don't like it. If the status bar and console are flashing 143every other frame, clear this variable. 144 145gl_keeptjunctions 0 146If you clear this, glquake will remove colinear vertexes when it reloads the 147level. This can give a few percent speedup, but it can leave a couple stray 148blinking pixels on the screen. 149 150novelty features 151---------------- 152These are some rendering tricks that were easy to do in glquake. They aren't 153very robust, but they are pretty cool to look at. 154 155r_shadows 1 156This causes every object to cast a shadow. 157 158r_wateralpha 0.7 159This sets the opacity of water textures, so you can see through it in properly 160processed maps. 0.3 is very faint, almost like fog. 1 is completely solid 161(the default). Unfortunately, the standard quake maps don't contain any 162visibility information for seeing past water surfaces, so you can't just play 163quake with this turned on. If you just want to see what it looks like, you 164can set "r_novis 1", but that will make things go very slow. When I get a 165chance, I will probably release some maps that have been processed properly 166for this. 167 168r_mirroralpha 0.3 169This changes one particular texture (the stained glass texture in the EASY 170start hall) into a mirror. The value is the opacity of the mirror surface. 171 172