7.0 2010-10-10

* added some missing menu pics
* q3mme fx scripting

/set cg_fxfile "scripts/q3mme.fx"

to disable ->
/set cg_fxfile ""

These two cvars can be used to control performance for now:

cg_fxinterval how often in milliseconds the scripting code is run (default 50). Lowering lowers performance.
cg_fxratio ratio of distance and size to determine if script code should be run for an entity (default 0.002). Lowering lowers performance


/fxmath 2 + 4 * 6.1 if you need a calculator or something

note: all the scripts need to be in one file

* demo seeking improved speed for larger demos
* cg_weather bug fix (doesn't draw black polygons), also will remove snow on maps like siberia
* can use pause key while using console
* cg_levelTimerDirection added options 3 (always count down and for matches that don't have a timelimit use cg_levelTimerDefaultTimeLimit) and 4 (always count down and try to use the end of game time parsed from the demo, otherwise use cg_levelTimerDefaultTimeLimit)
* bug fix for some corpses not being drawn
* bug fix for random timelimit audio warnings when demo seeking
* can edit crosshair if r_texturebits 32
* /seekclock takes pregame (warmup) into account
* full freezetag support (round times, team overlay, frozen animations, etc..)

cg_drawFragMessageThawTokens same as cg_drawFragMessageTokens since thawing is considered a type of frag

cg_drawFriend 1 doesn't have wall hack effect in quakelive's freezetag mode. I don't know if it's a quakelive bug, but you can use cg_drawFriend 3 to enable it for freezetag

* cg_drawCrosshairTeammateHealth*
* cg_drawCrosshairNames 2 showing only names for teamates, like quakelive
* audio messages taken out of the drawing code so that cg_draw2d 0 doesn't silence them:
cg_audioAnnouncerRewards, cg_audioAnnouncerRound, cg_audioAnnouncerWarmup, cg_audioAnnouncerVote, cg_audioAnnouncerTeamVote
* ad orientation fix for new maps
* cg_freecam_useServerView to automatically turn off matching demo taker's screen (cg_useOriginalInterpolation 1) since it's pointless in third person. Default is 1.
* cg_quadFireSound to enable/disable the extra sound effect when a player with quad powerup fires their weapon
* fix memory corruption error with bot offline demos
* don't have to raise com_zoneMegs when using large capture screens
* bug fix team overlay powerup icons
* cg_animationsIgnoreTimescale animations will play in realtime regardless of what timescale setting is. Default is 0.
* cg_animationsRate you can speed up (> 1.0) or slow down animations (< 1.0). Default is 1.0 .
* cg_markTime and cg_markFadeTime to control wall/floor impact marks
* bug fix for demos that would lock up for a few seconds at the beginning
* bug fix for some demos that couldn't be rewound


7.1 2010-11-05

* example fx script for quake2 style rail core
* depth buffer can be saved mme_saveDepth, mme_depthRange, mme_depthFocus
* timeout countdown center print message cleared when timeout is over
* bug fix for /follow [killer|victim] where it would switch to killer or victim of person being specced (ex: clan arena)
* cg_freecam_useServerView also applies when using cg_thirdPerson
* bug fix when speccing someone and "low ammo warning" staying on screen
* /clientoverride similar to q3mme

/clientoverride <client number or 'red', 'blue', 'enemy', 'all', 'clear'> <key name> <key value> ... with additional key and value pairs as needed

example: clientoverride 3 model ranger hmodel bones

To see what can be changed type /configstrings in the console and scroll up to the player list:

529: n\WolfPlayer\t\1\model\sarge\hmodel\sarge\c1\5\c2\26\hc\100\w\0\l\0\tt\0\tl\0\rp\0\p\0\so\0\pq\0\cn\\su\0

n name
t team
model model
hmodel head model
c1 color1 for rail
c2 color2 for rail
hc handicap
w wins
l losses
cn clan name

The rest I don't remember.

* don't flash random images when seeking
* bug fix where corpse would disappear briefly when it transitioned from dead player
* bug fix where players would warp across teleport locations
* you can use really slow timescales, for most people you usually couldn't go below 0.1
* bug fix for offline demos crashing when trying to seek
* bug fix for some sounds being clipped (ex: quake3 gibs impacting on surfaces)

Also added my email in the documentation if you want to submit bug reports or requests.


7.2 2010-12-31

* cg_cameraRewindTime default 2.0 when playing a camera script will seek to this many seconds before the start of the camera path in order to allow animations and local entities (rail trails, wall marks, blood, smoke, etc...) to sync up and/or appear.
* cg_drawFollowing 2 will always draw the following text even if it's the demo taker
* cl_noprint 1 will disable drawing console lines if using cg_qlhud 0
* /clearscene to remove marks and local entities (rail trails, wall marks, blood, smoke, etc...)
* local entities (rail trails, wall marks, blood, smoke, etc...) cleared when rewinding or fast forwarding
* cg_allowSpritePassThrough default 1 wont delete sprites if you move through them
* fx scripting: added player/head/trail, player/torso/trail, player/legs/trail, player/flight
* cg_hasteTrail and cg_flightTrail to allow or disable smoke trails
* +vstr
/set rDown echopopup r key down
/set rUp echopopup r key up
/bind r +vstr rDown rUp

* ++vstr which takes a repeat value in milliseconds
/set rDown play sound/weapons/lowammo
/set rUp echopopup r key up
/bind r ++vstr 200 rDown rUp

* cg_playerLeanScale similar to quakelive's cg_playerLean and allows you to select how much leaning the player models do.
* snow on wintersedge controlled by cg_weather
* cg_gibSparksColor, cg_gibSparksHighlight, cg_gibSparksSize (renamed from cg_gibSparkRadius)
* cg_impactSparksColor, cg_impactSparksHighlight
* cg_itemsWh wall hack for items
* cg_simpleItemsScale
* cg_allowLargeSprites default 0, if a sprite is big enough and you are close to it the quake3 engine won't draw it.
* cg_smokeRadius_PL, cg_smokeRadius_RL, cg_smokeRadius_NG, cg_smokeRadius_GL, cg_smokeRadius_SG
* cg_waterWarp
* cg_drawFoe draws icon over enemies heads. 2: with wall hack effect
* ctf and freezetag fixes to match new ql release
* fx scripting: bug fix where opening brace had to be on the same line as the name, also doesn't require spaces around braces (matches q3mme behavior)
* new ql crosshairs
* r_singleShader options and r_singleShaderName to replace all the map textures

ex: +set r_singleShaderName textures/crn_master/smooth_concrete +set r_singleShader 2

r_singleShader options: 1 replace all textures include advertisements and don't apply lightmap, 2 same as 1 but apply lightmap, 3 replace all map textures except advertisements and don't apply lightmap, 4 same as 3 but apply lightmap

Along with r_fastSkyColor can be used for chroma keying:

+set r_singleShaderName wc/map/custom +set r_singleShader 1 +set r_fastSky 1 +set r_fastSkyColor 0x010001

You can edit or replace wolfcam-ql/gfx/wc/custom.tga to choose the color.
* r_fastSkyColor
* r_forceSky

ex: +set r_forceSky textures/skies/hellsky

* r_drawSkyFloor same as quakelive
* r_cloudHeight with the original value stored in r_cloudHeightOrig. To disable: set r_cloudHeight ""
* gillz duel scoreboard
* fix crash if you tried to seek in demo while still loading the map
* scr_conspeed renamed to con_conspeed
* r_mapOverBrightBitsCap same as quakelive
* com_timescalesafe default 1 high timescales will skip demo snapshots and will break things like camera paths that are synced to server times.
* smoother camera movements using less than millisecond timing
* bug fix, screen was vibrating with pause and really low timescales
* crash fix for vid_restart while paused, also will not stay stuck at loading screen if paused
* r_BloomTextureScale similar to r_BloomBlurScale. r_BloomBlurFalloff and r_BloomBlurRadius still not implemented, but the following work: r_enableBloom r_BloomPasses r_BloomSceneIntensity r_BloomSceneSaturation r_BloomIntensity r_BloomSaturation r_BloomBrightThreshold
* fx scripting extended: the following are passed on to the scripting system where appropriate: team, clientnum, enemy, teammate, ineyes, surfacetype (for impacts). You could have something like custom rails and rockets per team or different settings for enemies and also first person view. See wolfcam-ql/scripts/q3mme.fx for more info.

surfacetype doesn't work that will since the maps only use it occasionaly:
surfacetype 1 == metal
2 == wood

* fx scripting extended: weapon/<weapon name>/impactflesh, also weapon/common/impactflesh
* bug fix, cg_muzzleFlash 0 won't disable muzzle flash in 3rd person for demo taker
* cg_railFromMuzzle default 0 Will always make the rail origin the muzzle point. It takes into account the different gun positions based on first and third person views and also takes into account any gun position changes made with the cg_gun* cvars. It also passes the adjusted origin to the fx scripting system.
* cg_gunSize (first person) and cg_gunSizeThirdPerson
* cg_kickScale same as quakelive
* cg_fxinterval default now 25
* r_enablePostProcess, r_enableColorCorrect, r_contrast
* bug fix for camera movement stalling at camera points
* /follow delags and corrects for ping the same way as it does for demo taker


7.3 2010-01-21

* fixes to prevent fx script crashing (wasn't able to recreate the crashes that were reported so see below about crash logs)
* fx scripting match q3mme options for beam and spark emitters (width, angle, etc.)
* bug fix for mme_blurOverlap (should work now)
* bug fix for black screenshots when rendering
* cg_enemyModel "santa/color"
* Windows users will have crash info written to [place you unzipped wolfcam]\stderr
If you wouldn't mind emailing it (address in README-wolfcam.txt) thanks in advance.
* snow footstep sounds like quake live
* armor regen powerup charge sound like quake live
* crash fix for freecam and +attack
* fx bug fix where images (sprites) would flash on and off if you got too close


7.4 2010-02-14

* cg_shotgunStyle [0: quake3 1: quake live cg_trueShotgun 2: ql shotgun with randomness]
* cg_shotgunRandomness to control how much 'cg_shotgunStyle 2' diverges from true shotgun pattern
* /fastforward /rewind /seek /seekend can accept a cvar as arg and take the cvar's value
* cg_itemSize
* /at command

usage: at <'now' | server time | clock time> <command>
ex: at now timescale 0.5 // current server time
at 4546629 stopvideo // server time
at 8:52 cg_fov 90 // clock time
at w2:05 r_gamma 1.4 // warmup 2:05

cvar cl_enableAtCommands
/removeat (number)
/saveat <file.cfg> // can then be execed

note: for clock values currently only supports rising level timer direction

* con_rgb ex: 'con_rgb 0x200000' to replace console shader with just a dark red color. Default is con_rgb ""
* +info command to show server info. Bound by default to ALT
* /seekclock can seek within warmup. ex: /seekclock w5:12
* can use r_dynamiclight even if r_vertexlight is set to 1
* cg_lightningImpactSize, cg_lightningImpactCap (same as quakelive - don't draw the impact point any bigger than it is at this distance with respect to screen size), cg_lightningImpactCapMin (to make sure it doesn't draw smaller than this), cg_lightningImpactProject (push the impact point outwards by this amount), cg_debugLightningImpactDistance (prints distance from you to impact point in console)
* fx: angles fix for models (lightning impact random angles)
* don't clear scene when seeking
* /seekclock can be passed in as a command line option (make sure +demo somedemo.dm_73 comes first)
* cg_itemFx same as quake live
* add localtime to all scoreboards (time when match was played)
* ca draw hud and status when in limbo
* don't activate menus (scoreboard select) when using freecam
* fix for briefly being inside player model when switching player views
* don't create new fx entities when paused
* cg_warmupTime [0: draw 0 in clock, 1 draw time in warmup and '(warmup)' string, 2 draw 0 and '(warmup)' string]
* fx: check for 'ineyes' added to medals
* cg_drawItemPickupsCount to enable/disable new quake live behavior
* cg_fovy
* /fxload can accept a filename without have to set cg_fxfile before hand
* fx: SURF_DUST added as an impact type (might not even be used in quake live)
* cg_enableBreath [0: never, 1: if server/demo has enabled, 2: if map has it enabled even if server/demo don't, 3: always]
* cg_enableDust [0: never, 1: if server/demo has, 2: if map has it enabled even if server/demo don't, 3: always if surface is dust, 4: always even if surface isn't dust]
* cg_smokeRadius_dust, cg_smokeRadius_breath, cg_smokeRadius_flight, cg_smokeRadius_haste
* fx: moveGravity will eliminate when it hits ground like q3mme, use moveBounce if you want them to stay (moveBounce 400 0)
* fx: no need to set 'size' when adding models (default is 1)
* fx: quad, spark, and beam should match q3mme exactly (including quirks)
* fx: bug fix for velocity not being passed to scripting system
* fx: gravity values (moveGravity) matches q3mme, even though it's probably a bug
* cg_drawgun > 1 eliminates bobbing like quake live
* r_lodCurveError not marked a cheat cvar
* cg_localTime (0: use demo time, 1: real time) default 0, cg_localTimeStyle (0: 24-hour clock, 1: am, pm) default 1
* cg_itemUseSound, cg_itemUseMessage, cg_noItemUseMessage, cg_noItemUseSound


7.5 2011-03-23

* add gib sounds to example fx script q3mme.fx and added a gib path for those that don't have q3 gibs installed
* bug fix for loading scoreboard menus (might have lead to crashes)
* cg_drawJumpSpeeds* [1: clear when velocity close to zero (like q3 defrag), 2: don't automatically clear]


* cg_gibColor for the quake live gib sphere that gets launched (not the same as cg_gibSparksColor which is for the trail)
* better matching for quake live gibs (directional, gravity, and bounce). See README file for new cvars. New settings will conflict with old ones so you will probably want to do:

/reseta cg_gib

Which will reset all cg_gib* cvars to the new default values, otherwise the new gibs might look weird.

* cg_useDefaultTeamSkins If you don't have forced team models you can set to 0 and see your teammates chosen skin instead of blue or red.

* /entityfilter <'clear', 'all', TYPE, entity number>

Removes entities. TYPE can be: general, player, item, missile, mover, beam, portal, speaker, pushtrigger, teleporttrigger, invisible, grapple, team, events.


* cg_freecam_yaw and cg_freecam_pitch
* bug fix for map models that weren't loaded
* bug fix don't play out/low ammo warning if in freecam
* cg_killBeep
* can use country flags in frag and obit tokens: 'n' victim, 'N' killer
* cg_scoreBoardStyle 2 substitute country flag for player icon in non duel scoreboards
* /clientoverride accepts: 'headskin' 'torsoskin' 'legsskin'
* /clientoverride accepts: 'headcolor' 'torsocolor' 'legscolor'
* fixes for clientoverride and 'team' 'red' 'blue' etc. options not taking immediate effect
* cg_clientOverrideIgnoreTeamSettings setting to 1 will ignore will ignore your settings for things like cg_enemyModel and use the value you set with /clientoverride
* bug fix for briefly switching to demo taker's pov when seeking
* shotgun marks fix
* can use mousewheel in menus
* can double click demos in demo listing (ui_doubleClickTime)
* main menu has 2 demo options now: 'wolfcam-demos' and 'quakelive-demos'
If you've been copying demos over they will be found in 'wolfcam-demos'.
'quakelive-demos' tries to find your quake live installation and let you access those demos. The usual quake live install paths are checked, and if there's a problem or you've done some customization you can override the path with fs_quakelivedir cvar.
* fix for square dynamic lighting (ex: top of mega health jumpad dm6)

r_dynamicLight 1 fixes square lights, 2 original code, 3 testing only determine if lighting applies in one place in the source code

* cg_lightningSize lg beam width
* cg_demoSmoothing smooths other players as well (value of 2 for debugging)
* demo listing can use directories
* shader override In <app data>/wolfcam-ql place them in shaderoverride.

ex: shaderoverride/blah.shader

* s_announcerVolume
* cg_lightningImpactOthersSize size of lg impact when demo taker or pov get's hit
* r_portalBobbing
* bug fix for some teleporter views being inverted
* bug fix for cg_warmupTime 2
* cg_lightningRenderStyle [0: like q3/ql lg beam embeds into objects, 1: lg beam with depth hack drawn over objects], cg_lightningAngleOriginStyle [0: like q3 ignoring step adjustments, 1: like ql/cpma beam takes out client side screen effects like step adjustment and damage kick, 2: use player angles and origin without client side effects]