Changes in SG 1.1
******************
***** CHANGES ****
- engine source synchronized with ioQuake3 SDK rev1774
- Added support to new autorecord demo mode where demo filename is not output to
  the screen: set cl_autoRecordDemo to 2 to use it
- Fixed a bug related to gatling, thanks to Barto for the reporting
- Enhanced SDK portability
- Added getenv trap for future use
- Added support for chat messages area with 6 new cvars:
  - cg_chatTime: time to keep a line in the area in seconds (default 3s)
  - cg_chatHeight: Area height in lines (default is 3, max is 8)
  - cg_chatWidth: Area width in chars (default is 50, max is 79)
  - cg_chatBigText: When set area chars are just doubled in size (default to 0)
  - cg_chatMode: integer to set the chat area mod
    - when set to 0, the default: Chat area is disabled and chat message are
      just displayed like in SG 1.0
    - when set to 1: Chat area is enabled for every chat messages
    - when set to 2: Only team chat are displayed in chat area, normal chat
      messages are not displayed. This is like cg_teamChatsOnly in vanilla Q3.
  - cg_chatPosition:
    - when set to 0, the default: Chat area is put at the bottom left, just above
      the 6th pistol ammo when player is fighting in akimbo mode
    - when set to 1: Chat area is put at the top left, just below the normal
      console notification area
    - when set to 2: Chat area is put at the bottom center, just above the main
      hud. In that case, player may need to lower cg_chatWidth if cg_BigText is
      also set.
- Added 'tell' server side command to authorize admins to tell privately to player
  This command is based on the UrbanTerror 4.1 implementation, thanks guys.
  See http://www.urbanterror.net
- Added ui_farclip cvar to be used as farclip management facility for UI part
- Fixed another bad prediction case when cg_boostfps is set
- Fixed old minor OpenGL error which prevented to debug easily FBO enhancement
- Added rotating feature to func_train
- Added sine "pendulum style" rotation to func_rotating
- Number of curve's subdivisions has been raised to improve visual quality
- Added to system/graphics menu an entry for far-clipping, map Level Of Detail, and curves details
- Now falling damage are progressive
- Allow to customize shaders instruction "tcgen environment", now: 
	- "tcgen environment_X" use X-axis (the default, same as "tcgen environment")
	- "tcgen environment_Y" use Y-axis
	- "tcgen environment_Z" use Z-axis (this one could be really usefull for reflecting water)
	- "tcgen customEnvironment ( vector ) ( normal_weight_vector )" use a custom projection vector,
		and set custom weight for normals
		tcgen environment == tcgen customEnvironment ( 1 0 0 ) ( 2 2 2 )
		Interesting value for normal_weight_vector are 
			* ( 0 0 0 ) for a skybox-like environment map
			* ( 2 2 2 ) for the default Q3 environment map
			* ( 4 4 4 ) for an environment map with more deformation
- Limit raised for shaders:
	- up to 5 deformVertex (was 3)
	- up to 5 tcMod (was 4)
	- up to 24 animMap image (was 8)
- Added new command for admins and admin-bot: 
	- "clientid" display a table with ID, IP, GUID and name for all player
	- "clientstatus" the same but more verbose (ping, rate, ...), client related info
	- "playerstatus" list all players with various game related info (ID, name, Score, 
		Kill, Death, TeamKill, SelfKill, RoB, HitPoint, $money$, TeaM, Time, Muted)
- The console now log "teamkilled" in red letter rather than "killed" when this event occurs
- New Minilog feature, for admin-bots usage. This is a small FIFO stack (128 entries). Older entries
	will be overwritten if not pop'ed in time. The new commands:
		- "poponelog" pop an entry out of the minilog
		- "poplog" pop all entries out of the minilog
	ATM the game engine write into it the current events: MAP, CONNECT, DISCONNECT, JOIN, HIT, 
	TEAMHIT, SELFHIT, WORLDHIT, KILL, TEAMKILL, SELFKILL, WORLDKILL, ROB, SAY, SAYTEAM, SAYTELL, 
	SECRET, KICK, RENAME, CALLVOTE, WON, TIED, TEAMWON, ENDROUND, NEWROUND, TIMELIMIT, DUELLIMIT, 
	FRAGLIMIT, TEAMFRAGLIMIT, SCORELIMIT.
- New client command "secret" (no rcon needed) that add silently an entry "SECRET" to the minilog,
	can be usefull for registering to a third party admin-bot, ...
- New command: "mute <client ID>", that change anything that this client try to say into "(muted)", 
	mute it twice and everything he says would be silently drop. Use "unmute <client ID>" 
	to restore his voice.
- New command "kicknum <client ID> [reason]", a replacement for clientkick.
	The reason is sent to the client.
- New command "givemoney <client ID> <amount>" that give someone some gold, can be usefull for 
	third party RCON script.
- New command "giveitem <client ID> <item classname>" that give someone some item, can be usefull for 
	third party RCON script.
- New command "forceteamnum <client ID> <team>", same than "forceteam" except it accept a client ID
	rather than a name, it's more reliable and more usefull for RCON script, also, it doesn't
	allow you to do silly things, like "forceteam" does. Team can be red/lawmen (the 1st team),
	blue/outlaws (the 2nd team), spec/spectator, or join/auto (to force auto-team).
- Fixed bug of auto-team (dead spectators now count as part of the team)
- New cvar g_voteMinLevelTime: you can't call a vote before this time (in seconds) has passed.
- New cvar g_voteDelay: you have to wait this time after you called a vote to call another one.
- New cvar g_maxVote: maximum number of vote someone could call.
- New cvar g_maxMoney: customize the maximum money (default value: 200)
- "/callvote kick" should not be bugged anymore, since it is converted to /kicknum internally.
- "/callvote clientkick <client ID>" is deprecated, use "/callvote kicknum <client ID> [reason]" instead.
- You can now use "/callvote mute <player name>" and "/callvote unmute <player name>", note that 
	unlike /mute and /unmute, it use the player's name, not the client's ID (but it is converted
	in ID internally, so renaming wont allow one to escape).
- Muted player cannot call a vote

Changes in SG 1.1b4-20100116
******************
***** CHANGES ****
- engine source synchronized with ioQuake3 SDK rev1771
- Enhanced SDK portability
- Player will be kicked if he is trying to rename when he was proposed to be kicked
- Enhanced callvote command security
- Player names are now colorized in lists like "callvote kick" list to avoid name confusion
- Fixed a bad prediction case when cg_boostfps is set
- Fixed simultaneous reloading bug in akimbo mode
- Added new command 'addentity', it can be used to test misc_externalentity or any map entity
- Added support for misc_externalmodel map entity, thanks to World Of Padman project
- Fixed bug where having a scoped Sharps in your inventory caused double spread for the other rifles, and the gatling.
- Added close clipping feature for mappers
- Update & authorize servers are now served by smokin-guns.net domain, thanks to L3th4l
- Added support to in-game lagometer setting cg_lagometer to 2
- Enhanced Smokin'Guns motd support
- Added SDK tool for modders
- Fixed cvar type for cg_bob* cvars
- Fix GLSL program loading for custom FBO effects when more than one program is loaded from files

Changes in SG 1.1b3-20091210
******************
***** CHANGES ****
- engine source synchronized with ioQuake3 SDK rev1754
- Added a custom resolution
 - Mode 19: 1280x720 (16:9 HD), suitable to provide youtube HD format video
- support UI item to select OpenAL device from available OpenAL devices
- support new console aspects, thanks to Conq idea. Added 5 cvars to control it:
  - cl_consoleType: "0" classic wooden wall texture, "1" color
  - cl_consoleRed: from 0.0 to 1.0, the red component for the color console
  - cl_consoleGreen: from 0.0 to 1.0, the green conponent for the color console
  - cl_consoleBlue: from 0.0 to 1.0, the blue component for the color console
  - cl_consoleTransparency: from 0.0 to 1.0, the alpha component or transparency for any kind of console
- support new server cvars:
  - g_startingWeapon to set which weapon player will own at startup (default "2" for remington pistol)
  - g_startingMoney to set how much money player will get during startup (default "20")
  - g_bulletDamageMode to change between bullet damage mode, support values:
    - 0: same formula than Smokin'Guns 1.0, the default
    - 1: new advanced linear formula proposed by tequila tuable with following cvars:
         - g_bulletDamageALDRmidrangefactor: must be between 1 and 10, default 2
         - g_bulletDamageALDRmidpointfactor: must be between 0 and 1, default 0.66
         - g_bulletDamageALDRminifactor: must be between 0 and 1, default 0.5
  - g_bulletDamageAlert: the percentage from which clients will receive warning
    because their damage was reduced. Default is "25" %. Useful with g_bulletDamageMode set to 1
- support new values with client game cg_hitmsg cvar:
  - cg_hitmsg can be set to the minimum percentage you want to see when being alerted
    by server with reduced damage due to high range hit. Default is still 1, but
    you won't receive alert lower than the server limit (see g_bulletDamageAlert)
    And you may want to set it to 100 to disable damage reduction alerts.
- Added FBO support with rotoscope and bloom effects, thanks to initial Gord Allott work
  See https://bugzilla.icculus.org/show_bug.cgi?id=3422 for some details
  Then enhanced GLSL program loading support for frambuffer (FBO) effects
- Added support for cl_voipDefaultGain cvar, thanks to Tremfusion team
- Fixed SDL window icon to Smokin'Guns one

Changes in SG 1.1b2-20091103
******************
***** CHANGES ****
- renaming can be discarded to players trying to rename themselves too often
  if g_splitChat is activated and g_delayedRenaming is set to a delay in seconds (default=20)
- support for showing who is the VoIP speaker and default voip gain, thanks to tremfusion team:
  - Thanks Mercury and Amanieu
  - Added cl_voipShowSender and cl_voipSenderPos cvar:
    - cl_voipShowSender must be set
    - cl_voipSenderPos can be set from 0 to 5 to choose where the sender will be shown on the screen
  - Added cl_voipDefaultGain to help tuning voip
- support for shooter_dynamite and shooter_molotov map entities
- Doors won't try to move players now
- Fix rotating door comportement when blocked

Changes in SG 1.1b1-20091019
******************
******* NEW ******
- Added more custom resolution, to be set using +set r_mode mode_number
 - Mode 12: 1280x800 (wide)
 - Mode 13: 1366x768 (wide)
 - Mode 14: 1440x900 (wide)
 - Mode 15: 1680x1050 (wide)
 - Mode 16: 1920x1080 (wide)
 - Mode 17: 1920x1200 (wide)
 - Mode 18: 2560x1600 (wide)
- Add DEFAULT_BASEDIR support for packagers:
 - you have to export DEFAULT_BASEDIR from the shell before to do a make
- Use SMOKINGUNS and SMOKINGUNS_SO define
- Add SG_VERSION, SG_RELEASE & SG_SVN support
- new shotgun pattern (needs "g_exp_shotgunpattern 1") more uniform, and with homogenous radial density
- new money system (needs "g_moneyrespawn 1")
- customize teamrole in BR by setting cvar br_teamrole to 0 (default, winner defend next round), 1 (winner are robbers next round), 
	2 (outlaws are always robbers), 3 (lawmen are always robbers) or 4 (robbers and defenders swap at every new round)
- the player who rob the bank now get one point, this is customizable by admin through the cvar: g_robber_reward (value between 0 and 5)
- far-clipping (with a bunch of clipping-form) support for func_static entity, come with additionnal cvar: 
	cg_farclip to turn on/off this feature (default: on), cg_farclip_value to scale it up (default: 1, value lesser than 1
	are ignored - for cheat protection), and cg_farclip_zoomvalue for the sharp's zoom mode (default: 3, again: value 
	lesser than 1 are ignored)
- new g_roundNoMoveTime cvar, in seconds, to force players to not move at round beginning, only buying is possible during that time
- new TK handling cvars g_maxteamkills,g_teamkillsforgettime and g_teamkillschecktime when g_friendlyFire is set:
 - g_maxteamkills, set to 0 disable max TK checks, otherwise defines the maximum number of supported TK by a player
 - g_teamkillsforgettime, in seconds, defines the time after which TK count will be reset to 0 for the player
 - g_teamkillschecktime, in seconds, defines the time during which TK will be checked at only round beginning
- new renderer cvar to activate OpenGL texture MultiSampling: r_ext_multisample. You really need a good video card to use it.
 - Thanks to ioQuake3 team for r_ext_multisample cvar
- new server console commands "bigtext" and "cp" to authorize server admins to display big message. A client number can be used
  as first argument to only display the messsage to a given client.
- show colorized players name in players list
- new "sendaway" command as replacement of "kick" command, it is now used for "callvote kick"
- renaming to empty name, to 'all' or to 'allbots' is not allowed
- renaming is now allowed only one time by minute
- New cvars from ioQ3 updates:
  - s_muteWhenUnfocused to mute sound when unfocused (default=0)
  - r_allowResize to allow window resizing in windowed rendering mode (default=0), only with SDL support
- Thanks to ioQ3, passed rcon commands are logged
- callvote string is logged in server log
- new "cancelvote" server side command, can only be used by admins
- support for more crosshair
*** CHANGES ***
- Reloading bug fixed
- Fix game crash during game load when using cgame binary library
- Fix server not hitting time limit when only bots are playing (thanks to ioQ3 code engine)
- Fix cinematic rendering with wide screens (thanks to ioQ3 code engine), intro is now visible in wide screen mode
- Fix little freeze/lag in dm_train
- Fix invisible "entity 0" bug near movers entities we can trigger
- Many fixes from ioQuake3 sources
- g_allowVote can be set to the number of seconds before a player can call again a vote
- players name can be tagged to make sure they are unique in game
- settings are now stored in a per-user location, instead of in the game's installation directory

Changes in SG 1.0-20081231
******************
***** CHANGES ****
- Updated Unix building process to support more processor kind
- Updated Makefile to produce binary libraries for unix
- Updated Makefile to produce sse, sse2 and smp binaries for unix
- Updated Unix building process to keep install & build folder in the source base
- Fix "OP_BLOCK_COPY not dword aligned" in the same way then an old ioQuake3 fix...


Changes since sg 0.9
******************
*** CHANGES ***
- Added .mak, .bat, .lnt, .vprj, .Conscript, .Makefile files from Tequila archive (Excluded a few)
- Fixed buildvm.bat and cleanvm.bat which weren't working due to reorganization
- Organized VC build solutions
- Removed old VC build solutions
- Created SSE and SSE2 build profiles for each solution
- Added lcc compiler toolchain back
- Added AL and unix files

Changes since sg 0.9
******************
*** CHANGES ***
- Copyright updated.
- Source license header audit completed.
- Removed .mak, .bat, .lnt, .vprj, Construct, Makefile files (Waiting for "working" sets to be comitted)
- Removed code/macosx (Old project was for pre-XCode and the current state of code excludes Intel)
- Removed code/unix (Waiting for "working" sets to be comitted)
- Updated Win32 project files for Visual Studio / C++ 2008 (VC9)

Changes since wq3 b2.2
******************

*** NEW ***
- Gamename is now "smokinguns"
- guid & pickup item and damages are now logged (Thanks, Tequila)
- g_allowVoteKick : New server side cvar to allow or not vote kick

*** CHANGES ***
- When opening the buy menu, the buy ($$) balloon tooltip is displayed instead
of the chat (:>...) balloon tooltip.
- Added "cg_boostfps" cvar to slightly improve FPS, concerning flares and particles.
- Added a menu option to disable glowing flare effects.
It might improve FPS for low CPU machine.
- Added "g_spritelag" to disable "red lag icon" above each laggy player.
This icon can be particularly annoying because it shows player position to others.
- The InGame ServerInfo menu now shows values of the server you are connected to.
- Added "g_breakspawndelay" to change breakable respawn delay.
By default, 45 seconds (at least) are needed.
- Added "g_forcebreakrespawn". A breakable will respawn no matter what, even if it
is in one player's field of vision.

*** FIXED ***
- Max OSX users should no longer have the "OP_BLOCK_COPY not dword aligned" message.
- You can no longer pick up more knives and dynamites, when you wear a belt and when
you already have the max ammo (10 knives or dynamites).
- Correct colors displayed in buy menu for throwing weapons when you've got a belt (Thanks, Aerasol).
- By killing yourself and then quitting the game, all your items were dropped twice.
- When you died and had two same pistols, the correct ammo will be kept for the second one.
- No possible trick to reload Peacemaker, Colt Lightning and Winchester 1866 in a faster way.
- No weapon drop from the sky, when spectating.
- Fix 100% CPU usage on wq_train and wq_lake, when many bots played.
- Pistols on holster are drawn correctly.
- If a player hold two different pistols, draw and put them in the correct hands, when third person spectating.
- Don't "extreme speed knife stab".
- Prevent a Q3 engine bug in rendering special player shadows, allowing anybody
to easily locate other players, and then cheat !
If r_stencilbits >= 4 and cg_shadows == 2, then cg_shadows will be changed to 1.
- Possibly fix some 3D font rendering on "say:" and kill message on top right screen.

Changes since b2.1
******************

In addition to these changes, all of the textures and sounds from vanilla quake 3 that WQ3 was dependant on, have been replaced.  So some things in the game will look or sound different.  This is in preparation for a standalone release, to be announced at a later date.

*** NEW ***
- The delagging code is upgraded to Unlagged 2.01, giving several benefits.
	- more reliable hitscan delagging
	- better player movement smoothing
	- new client cvars: cg_delag, cg_projectileNudge, cg_optimizePrediction, cg_cmdTimeNudge, cl_timeNudge
	- new server cvars: g_delagHitscan, g_truePing, g_unlaggedVersion
	- should lessen the client cpu load (set cg_optimizePrediction 1)
- Ammo counts displayed in weapons choose menu.
- Ability to select either one of two pistols of the same kind.
- You can now go into spectator mode and then rejoin, without losing your score.
- Refresh rate can now be set in the System menu.
- Added a menu option for disabling or changing the talk sound.

*** CHANGES ***
- Deathcam now turns to follow your killer, and is hopefully less buggy.
- Try to find spawnpoints at least 700 units away from enemy players.
- Players don't drop the ammo belt when they die, because people don't like to pick up an empty belt.
- The ammo belt will no longer enable the player to carry more of knives, molotovs, or dynamite.
- Capped movement speed at 75% while reloading, to allow players to knife you more easily.
- Made altfire for pistols about 12% faster, but increase spread multiplier from 1.6 to 3.
- When doing a refresh, the ingame browser now checks only wq3 servers, should be a lot faster.
- If dropping a pistol in akimbo mode, switch to the remaining pistol instead of highest ranked weapon.
- FFA is now default gametype for wq_- maps in the 'Join' menu.
- Made the server info popup in the Join menu larger.
- Made it possible to disengage scoped mode while reloading the Sharps.
- Drop knives, molotovs, and dynamite with the correct amount of ammo, instead of always just one.
- Easier to move silently down stairs.
- Tweaked weapon pricing.  Dynamite, molotov, and knives 50% cheaper.  Winchester '97 two dollars cheaper.
- Can now replace both pistols with lesser ones without dropping the old ones.  If you have two Peacemakers, buying two Schofields to replace them will work without having to drop the last Peacemaker.
- If you have two pistols of the same kind and press the dropweapon key, the one with the least ammo left will be dropped, instead of always the one in your left hand.
- Bot behavior for the various skill levels have been tweaked.

*** FIXED ***
- Esc key shouldn't get stuck anymore.
- Firebutton dead bug should show up less frequently.
- Weapons won't be picked up if you don't have room to carry them.
- Gatling falls down if standing on something that breaks.
- Can now buy ammo for deployed gatling even if you are carrying a rifle or shotgun.
- Won't get stuck with gatling under water, because you can't deploy it under water any longer.
- Molotow now stops burning if you submerge while carrying it.
- Make dynamite explode under water.
- Can no longer light a dynamite or molotov while under water.
- Fixed players with two guns of the same kind dropping only one of them when they die.
- Fixed bots not being able to join when the server requires a password.
- Don't try to load custom bots that are made for vanilla q3.
- Directional smoke now works, thanks to Spoon.
- Dynamite and molotovs will no longer disappear if you throw them when backed up to a wall.
- No cocking sound when switching to an empty Remington shotgun.
- The "team" command exploit that let you respawn in BR and RTP.
- Bots can't see through doors anymore.
- The individual score sometimes got reset in BR and RTP.
- Don't play "no ammo" sound when you are out of dynamites.
- Fixed a bug with weapon changing that would cause an infinite sound loop.
- Weapon switching sound was wrong for other players than yourself.
