Vengeance r2
A Quake Engine Project
by Entar
http://entar.quakedev.com

based on QMB
by DrLabman
-----------------------------
Overview
-----------------------------

Vengeance r2 is the next revision of my old engine project Vengeance. I call this engine Vengeance r2 because I've switched code bases. I'm now using QMB, because it had a lot of features my older engine attempted (and failed)to have (md3 models, png textures, etc) and my old engine had a lot features QMB had(QMB particles, QMB shiny textures, QMB caustics, QMB detail textures, etc).  I am,however, making many changes to improve on and make my engine competitive with QMB andother engines.-----------------------------Contact Info-----------------------------Entar (entar99 AT hotmail DOT com)http://entar.quakedev.com-----------------------------Copyright-----------------------------This program is distributed under the GNU GPL.This material may be modified and distributed under GPLwith proper credit given to the creator.  Proprietary content from idSoftware or other individuals is still protected under applicable law.-----------------------------Disclaimer-----------------------------I accept no responsibility if this file or program in any way causes influenza, causes sudden mood changes, or blows up your computer.There is no warranty expressed or implied.This project requires the registered version of Quake.  It can be found for under $12 in numerous places.  Support the developers who have put their effort into this game you love so much.-----------------------------				Features						-----------------------------			
- Realtime lighting with basic .rtlight file support- Improved/Scriptable Particle system- pk3 support- Half-Life BSP support- Reflective water- Mouse-based menus- Excellent Light Blooms system
- Builtin Globots- Directional Lighting- -nomtex support- Underwater view warping- Dynamic Crosshair- Lighting on smoke and blood particles- Skyboxes- TGA/JPEG screenshot commands- Textured fire particles- Alternate hudstyle option- Support for new entity effects (EF_RED, EF_BLUE, EF_NODEPTHTEST, EF_NODRAW, EF_ADDITIVE, etc)- Vertex Arrays on model drawing- Alpha Channels- New QC Particle Extensions- Rotating bmodels support- Console Game- Color/Brightness adjustment cvars- Contrast cvar- Enhanced Tab Completion- Bullet, explosion, lightning and misc decals- Automatic Water Transparency- Interpolated Lightstyles- FPS/SPF meter- Adjustable vertex shading- New QC stuff, including extensions, MOVETYPE_BOUNCEMISSILE, SOLID_CORPSE, and .alpha support- Chase_active 2 (custom chase mode)- Hardcoded Particle Textures- Centerprint fadeout- New server cvars (sv_gamespeed, sv_freezenonclients, etc)- Blood and bullet decals- Splash screen- Texture script system- Model script system- Motion blur- Shadows from md3's- Binoculars- Additional developer support (dev_findradius cvar, qcexec <command> command, expanded r_speeds info, etc)- Idle gun movement- New menu messages- Cvarlist and Cmdlist commands- Lots of bugfixes- Anything else I forgot I addedAnd anything QMB v1.18 had.----------------------------New CVARS----------------------------
* r_editlights_quakelightsizescale (0-...) - scales lights loaded directly from the bsp
* r_shadow_realtime_dlight (0/1) - toggles real time lighting from dynamic lights
* r_shadow_realtime_world (0/1) - toggles real time lighting from world lights
* r_shadow_realtime_draw_world (0/1) - toggles real time lighting on worldmodel
* r_shadow_realtime_draw_models (0/1) - toggles real time lighting on models
* r_shadow_realtime_world_lightmaps (anywhere from 0-1) - changes amount of effect from lightmaps when real time lighting is enabled
* r_shadow_lightintensityscale (0-...) - scales intensity of real time lights
* cl_viewangles_up - max angle of upward view, capped in multiplayer* cl_viewangles_down - max angle of downward view, capped in multiplayer* scr_centerfade (0/1) - toggles smooth fadeout of centerprint messages* gl_farclip - adjusts distance of farclip and skybox distance (default: 4096)* r_dirlighting (0/1) - toggles directional vertex lighting on models* r_waterrefl (0/1) - toggles reflective water* v_gunmove - changes the speed of the idle gun movement (off if 0)* hud (0/1/2/3/4) - toggles hud. O-3 changes how much of the hud shows up (0 = none, 3 = all); 4 toggles alternate full hud* r_bloom (0/1) - toggles light blooms* r_bloom_intensity (0-5) - adjusts intensity of light blooms* r_bloom_darken (0-40) - darkens the light blooms, basically changes sensitivity* r_part_lighting (0/1) - toggles lighting on particles  * r_part_light_update (0-...) - adjusts how often light values on particles are updated, in seconds* r_skyfactor (>0) - adjusts scale on texcoords on normal sky draw* slowmo (anywhere from 0.01 to 5) - changes gamespeed on server* v_color_red (anywhere from 0-4) - red setting on color adjustments* v_color_green (anywhere from 0-4) - green setting on color adjustments* v_color_blue (anywhere from 0-4) - blue setting on color adjustments* v_color_percent (anywhere from 0-100) - power setting on color adjustments* v_psycho (0/1) - toggles psycho colors mode* v_hurtblur - maximum health for hurtblur to be applied* r_waterwarp (anywhere from 0-1) - changes amount of underwater screen warping (0 = off)* dev_findradius (0/1) - toggles findradius indications (developer 1 mode only)* chase_active (0/1/2) - chase_active 2 activates custom chasecam mode  * chase_pitch (anywhere from -180 to 180) - changes camera angle[pitch]  * chase_roll (anywhere from -180 to 180) - changes camera angle[roll]  * chase_yaw (anywhere from -180 to 180) - camera angle[yaw], relative to player angle[yaw]* r_decaltime (0-...) - adjusts how long decals stick around; 0 turns decals off.  * r_decal_bullets (0/1) - toggles bullet decals  * r_decal_misc (0/1) - toggles misc decals (wizard spike hits, etc)  * r_decal_explosions (0/1) - toggles explosion decals  * r_decal_blood (0/1) - toggles blood decals* r_part_scripts (0/1) - toggles use of scripts on original TE_* effects* sv_cheats (0/1) - toggles cheats on a server* show_stats (0/1/2) - toggles stats display on upper right hand side* ed_printerrors (0/1) - toggles printing of edict errors on map load (useful for loading hlmaps)* ed_printtextures (0/1) - toggles printing of all the textures used in a map============================New Extensions============================- TE_BLOOD (#50) - [vector] origin [vector] dir [byte] count- TE_SPARK (#51) - [vector] origin [vector] dir [byte] count- TE_BLOODSHOWER (#52) - [vector] mins [vector] maxs [coord] speed [short] count- TE_EXPLOSIONRGB (#53) - [vector] origin [byte] red [byte] green [byte] blue- TE_PARTICLERAIN (#55) - [vector] min [vector] max [vector] dir [short] count [byte] color- TE_PARTICLESNOW (#56) - [vector] min [vector] max [vector] dir [short] count [byte] color- TE_GUNSHOTQUAD (#57) - just like a regular gunshot, only bigger and better- TE_SPIKEQUAD (#58) - just like a regular spike hit, only better- TE_SUPERSPIKEQUAD (#59) - just like a regular super spike hit, only better- TE_EXPLOSIONQUAD (#70) - just like a regular explosion, only bigger- TE_BLOOD2 (#71) - [vector] origin- TE_PLASMABURN (#75) - just like a gunshot, but with a cool plasma-ish particle effect- TE_VEN_WATERSPLASH (#125) - just like a gunshot; made for MauveBib's water splash qc code- TE_VEN_EVENTSPLASH (#126) - use just like a gunshot; made for events like a flag capture or something- TE_VEN_EXPLOSIONCUSTOM (#127) - [vector] origin [byte] red [byte] green [byte] blue [short] size- TE_VEN_PARTSCRIPT (#128) - [vector] origin [byte] count (calls a particle script named "script_#")============================Model Script system============================The model script system, at this point, has -5- flags.  They are rotateFlag,noMD3shadowFlag, quadshellflag, fullbrightflag.  Here are some examples of use in thevenr2model.shader file:rotateFlag=armo*,g_*; - this would make all models that have 'armo' or 'g_' in the name rotate.  This flag is there because md3's do not have the proper flags that mdl's do.noMD3shadowflag=gib*; - this makes any model that has 'gib' in the name not cast a shadow.This only applies to md3's at this point, because Vengeance r2 does not yet have aliasshadows on mdl models, only md3.quadshellflag=quad*; - this makes any model that has 'quad' in the name get the shellthat shows up on weapons when you get a Quad damage.  This has an interestingfeature/artifact, however.  On models that animate or otherwise move, the shell fadeson and off.fullbrightflag=flame*; - this should make any model that has 'flame' in the name betheoretically unaffected by lighting from lightmaps.fireflag=flame*; - this makes any model that has 'flame' in the name be on fire.noshadeflag=flame*; - this makes any model that has 'flame' in the name exempt fromvertex shading effects.===========================Texture Script System===========================The texture script system, controlled by venr2tex.shader in the vr2 directory,allows developers to change certain textures to create interesting effects.  Syntaxis the same as in the model script system.  The available flags are as follows:Caustics=stone*; - this would make all textures with 'stone' in the name display theunderwater caustics effect, regardless of whether they are underwater or not.  Thiscan be used for many interesting effects, like rooms where there is a pool of water, withlighting effects on the walls.NoCaustics=stone4*; - this would make all textures with 'stone4' in the name EXEMPT from Caustics=.ShinyGlass=glass*; - this would make all textures with 'glass' in the name shine like glass by usinga spheremapped texture on those surfaces.ShinyMetal=metal*; - this would make all textures with 'metal' in the name shine like metal by usinga spheremapped texture on those surfaces.============================Vr2 related links============================Wish/Todo List: http://entar.quakedev.com/todo.txtScreenshot browsing: http://entar.quakedev.com/screenshots/Please report bugs: http://www.quakedev.com/forums/index.php?board=38.0============================Be aware of============================- Scriptable particle system.	Paramaters:	  Set these paramaters to create your new particle effect.  Remember, you may call	  more than one script section from the QC at a time, or use the extra paramater.		* type: what type of particles [p_fire, p_fire2, p_sparks, p_smoke, p_bubble, p_blood, p_chunks]		* color0, color1, color2 (or red, green, blue): color values (0-1)		* physics: choice of behavior: pm_static, pm_normal, pm_float, pm_bounce, pm_bounce_fast, pm_shrink, pm_die, pm_grow, pm_nophysics		* size: size of the particles		* time: how long the particle lasts		* count: how many particles to spawn		* speed: how fast to move		* texture: choice of texture - part_tex, blood_tex, smoke_tex, trail_tex, bubble_tex, lightning_tex, spark_tex, fire_tex		* decalsize: the size of the decal (no decal spawned if 0)		* decalcolor0, decalcolor1, decalcolor2: red, green, blue, decal color values (0-1)		* velocity0, velocity1, velocity2: x, y, z parameters for velocity (setting of 1, 1, 1 is zerodir)		* gravity: gravity multiplier - 1 = normal gravity, 0 = no gravity, -1 = reverse gravity, etc		* trail: what type of particle trail your particles have (same paramater choices as type)		* trailsize: the trail particles' size		* trailtime: how long the particles of the trail last		* trailextra: if defined, will call a particle script as trail *INSTEAD* of normal trail		* extra: if defined, the engine calls the script defined here		* growrate: rate of growth of a particle (0 = none, negative numbers cause shrinking)		* rotation: how far rotated the particle begins		* rotation_speed: how fast the particle rotates		* srcblend: first paramater of which OpenGL blendmode to use		* dstblend: second paramater of which OpenGL blendmode to use		* checkwater: choice to make special changes if underwater.	Modifiers:	  When using a modifier, set a decimal value (e.g. randtime=0.35) and the engine	  will treat the decimal as a percent (35%), and do a randomize on the time value	  (e.g. time=0.71, now time=random, anywhere between 0.4615 and 0.9585).	  Exception: randcolor and randchangevel- just set to 1 for a random color/newvel.		* randcolor: sets the particle(s) to a random color		* randsize: sets the particle(s) to a random size around the size paramater.		* randvel: gives the particle(s) a random velocity, around the velocity paramaters.		* randtime: gives the particle(s) a random time until death, around the time paramater.		* randchangevel: gives the particle(s) a random velocity.		* randrotatespeed: gies the particle(s) a random rotation speed, around the rotation_speed paramater..	Special Script Names:	 If you name a particle script as certain names, you can affect certain	 otherwise unchangeable particle effects.		* Torch and Torch2: This will change the flame effect on torch models.		* particle: this will change the default effect from the particle function		  called from the QC, but the color set by the QC call is the same, independent of script.		* progs/modelname.mdl: If you set a script's name to the path/name		  of a model, the particle effect you create in that script will be attached		  to every instance of that model, just like a particle trail.		* TE_*: To change the effect created by a certain TE_* effect, just create		  a script section with the name set to the TE_* effect you want to change.		* RocketTrail: This will change the rocket trail that is normally added		  to rockets.		* GrenadeTrail, BloodTrail, BloodTrail2, ScragTrail, HKnightTrail,		  VoreTrail: similar to RocketTrail, only on different particle trails.- chase_active 2: custom chasecam mode (mostly for taking classy screenshots, or maybe makinga sidescroller?). chase_roll and chase_pitch only work in chase_active 2.- chase_active 3: custom chasecam mode, only the values are in relation the player's angle.- Don't try +connect <server> in the console.- BLOOMS: All bugs in the 4-28-05 beta are fixed.- console_game: Just type it in the console, and have fun.