Changes in 012 - May 24 2008
Ported to 1.5
The following patches are obsolete due to equivalent changes/fixes in 1.5
	texttruc
	lifestates
	userinfosdnames
	buddytriangles NOTE: 1.5 only shows a special color for friends, not clan members)
	spectatecycle NOTE: 1.5 uses bound "spectate" commands, rather than hard coded mouse buttons.

Fixes and updates:
* notification-options
Add gui_notificationScale allowing users to control size of notification box.
* exclusivehudmodules 
Fixed a bug which prevented the use of chat while on a repeater
Thanks to uv-hannes for catching that.
* showgun 
Fixed a big in showgun which would cause scoped weapon models to be hidden after reload. 
Thanks to AcidRain for the report.


Changes in 011 - Feb 15 2008
Patch are now generated with gnu diff, not tortoise. 
All patches have been re-generated, even if the code didn't change. 
Apply with -p 2

Crappy HTML docs. See the docs directory.

Added incremental patch etqwpie-010-011.patch 
Includes all changes from 010 to 011

New features:
* hudscale-1.patch
Adds hud scaling options
- gui_hudScale scales most text containing elements (mission window, 
  tooltips, firteam window, fireteam menu, center prints etc)
- gui_chatScale scales chat history text
- gui_obitScale scales obituary text
- gui_compassScale scales compass and associated stuff
- g_crosshairTextSize size (not scale!) of crosshair info text
requires: guicvarutils-1.patch

Fixes and updates:
* lifestats-1.patch NEW
fixes personal best alpha not being recognized until you change the cvar
fixes personal best staying up too long

* userinfosdnames-2.patch
Fixes warning related bots on listen server with userinfosdnames-1.patch

* notification-options-4.patch
now requires guicvarutils
requires: sdnetutils-1.patch guicvarutils-1.patch
suggested: texttrunc-1.patch

* guicvarutils-1.patch NEW
Adds/refactors some cvar related gui templates

* quickspawnselect-3.patch
* userdefinedmenu-2.patch
both implement scalable hud. This means they require the hud scale patches,
but it's fairly easy to trim that stuff out if you don't want it.
requires: exlclusivehudmodules-1.patch guicvarutils-1.patch hudscale-1.patch 
suggested: texttrunc-1.patch

Changes in 010 - Jan 28 2008
General
* Some code changes shared by multiple features have been broken out
into their own "utility" patches. These patches don't necessarily add
user visible features.
* removed incorrect pakmeta.conf from media pak.
* a compiled script dll is now included  was in 009 too, I just forgot
to list it)

Added user defined menus:
Users can define their own custom quickmenus, similar to the fireteam
menu. These menus are defined using cvars (usually in a .cfg file),
and execute console commands when invoked. 
Examples, including a fully featured team/class/spawn selector included.
See readme-udmenu.txt for more detailed documentation.
patch: userdefinedmenu-1.patch
requires: exclusivehudmodules-1.patch
suggested: texttrunc-1.patch

Fixed invitefriends not working with clan tags
patch: invitefriends-2.patch (supersedes -1)
requires: sdnetutils-1.patch userinfosdnames-1.patch
also includes some general cleanup of the fireteam menu courtesy of AO

Fixed buddy triangles issues:
* not showing with clan tags, 
* showing incorrectly with disguise
* buddy triangle color is now used for clan members as well
patch: buddytriangles-1.patch
requires: sdnetutils-1.patch userinfosdnames-1.patch

Updated notifications options:
* don't clip to window since we have text truncation workaround
* split out sdnetutils
patch: notification-options-3.patch
requires: sdnetutils-1.patch
suggested: texttrunc-1.patch

Updated spawnselect:
split out exclusivehud
patch: quickspawnselect-2.patch
requires: exclusivehudmodules-1.patch

Utility patches:
texttrunc-1.patch
Text truncation workaround courtesy of mxyzptlk.

sdnetutils-1.patch
Adds various utility functions to SDNetManager.

userinfosdnames-1.patch
Pass clantag and basename (sdnet name if online) in userinfo. 
This is an ugly hack. You have been warned.

exclusivehudmodules-1.patch
Cleans up handling of quickmenus and limbo.

Changes in 009 - Jan 16 2008
* Ported to 1.4 codebase

* Fixed a bug in my revision of Azuvectors spectator cycle code that would
cause a hang if you tried to cycle while there was no one to spectate (this
was in my code, not his original.)

* Fixed some packaging of the individual patches that existed in 008 and before.
All individual patches are now verified to apply, build and run.

* votecontrol.patch is obsolete and removed, since ETQW now includes an
equivalent option.

* no longer uses an "official" .pk4, so autodownload should work. Users may
have to type "acceptdownload" when attempting to join for the first time.
The media pak file name has changed, so you MUST remove any old pakpie*.pk4 files.

NOTE: invitefriends is currently broken if the friend is using a clan tag.


Changes in 008 - Jan 12 2008
Invite all friends and/or clan members to your fireteam:
* new fireteam subcommand and menu item
  invitefriends [friends|clan]
  by itself, anyone on your team who is also on your friends are clan list
  is invited to your fireteam. 
  If the console version is used "friends" or "clan" can be specified, 
  in which case only the selected group will be invited.
* you can now specify up to 7 names in a single command if you use fireteam
  invite command from the console
Note: 
This only works if you are signed in to play online, since the friends list
isn't accessible otherwise. The actual invite is done by player name, so if
you are signed in, but playing on a LAN server, anyone using your friends
names will be invited.

Azuvector improved spectating:
http://community.enemyterritory.com/forums/showthread.php?t=20660
patch: spectatecycle-1.patch
short summary:
* fire cycles forwards, as normal.
* altfire cycles backwards (stock ETQW this puts you in free fly mode)
* jump goes to free fly.
I've re-organized the code a bit from Azuvectors post, but the functionality
should be the same.

Updated notifications options:
patch: notification-options-2.patch (supersedes -1)
* removed some extraneous stuff that slipped into SysCvar.CPP from from other changes
* changed friend/clan check to (hopefully) avoid duplicate messages when logging in
* made notify box slightly larger to avoid graphic artifact
* changed default g_notificationLogIMs to 2 (console only)

Changes in 007 - Jan 9 2008
Control display of notification (friend online, IM) messages.
patch: notification-options-1.patch
Allow users to show some IM text in the notification box, so one liners
don't require you to drop go to the main menu.
Allow user log notifications and IM text to either the chat or console.
If chat is selected, and you are not in game, console use used.
Notifaction logs are preceded by an (i)
New cvars
* gui_notificationAlpha 0-1
  controls transparency of notification box. 0 to disable completely
* g_notificationLog 0-2 default:0
  log non-IM notifications. 0=disable 1=chat 2=console 
* g_notificationLogIMs 0-2 default:1
  log IM notifications and message text. 0=disable 1=chat 2=console
* g_notificationExtraText bool default:1
  Show additional text (such as the first line of an IM) in the notification area
Other changes:
* The IM notification shows the number of unread IMs from that user in parenthesis 
  if more than one is unread
* if an online user is both a clanmate and friend, you only get the clanmate notice

Changes in 006 - Jan 2 2008
spongeStats death logging
patch: spongstats-1.patch
Controlled by server cvar g_logDeathStats - 0 (default) disabled. 1 enabled 
For more information see http://d8d.org/hosted/spongestats/
The spongestats code is under the Creative Commons Attribution-Noncommercial 3.0 United States License.
http://creativecommons.org/licenses/by-nc/3.0/us/
I've reorganized the code slightly but the output is still the same

The new spawnselect gui files were missing from the 005 combined patch. This is corrected.

The usage instructions in the initial release of 005 and earlier gave the wrong cvar
name for compiled scripts. This is fixed.

Changes in 005 - Dec 21  2007
The mod is now distributed in two .pk4 files:
etqwpiebin0.pk4 with the dll
pakpie0.pk4 with the other content. Note that this is an "official" pk4,
which may cause issues with downloading in future versions of etqw. New
"offical" paks should *always* be installed under their own fs_game, not
in the base directory.

Added quick spawn selection menu, like the fireteam management menu.
patch: quickspawnselect-1.patch
* bind a key to _spawnselect to use.
* Press the bind again or escape to dismiss the menu without changing your spawn.
* use the number keys or number pad keys to select a spawnpoint
* the currently selected spawn point is highlighted in yellow. 
* If you have a spawnhost selected, this is displayed before the menu, and no menu
  options are hightlighted. There is no key associated with this, since you cannot
  select a spawnhost without using it in game.
This patch also and tweaks various issues related to the limbo menu spawn point list:
* The FRONT LINE option is now always the first in the list.
* Opening/closing the dropdown does not deselect your spawnhost.
* Selecting the forward most spawn manually does not display "FRONT LINE"
* tweaked the code to display counts of how many players have each spawn selected,
  but it is currently commented out because that information is not transmitted over
  the network.
I haven't made individual patches for the above but can point out the changes on request.

Allow use of the "activate" key while interactive guis are active. E.g. capture
spawn while using vsay menu
patch: activate-in-menu-1.patch

Fixed issue where speedhud would display or not display at incorrect times.
patch: speedhud-2.patch (obsoletes previous speedhud-1.patch)

Changes in 004
Speed hud, configured by the following cvars:
* g_speedHud - integer 0-4:
0 - Don't show speed hud.
1 - Show the value that would be displayed in the vehicle hud. For wheeled vehicles, 
    tracked vehicles and the platypus, this is velocity along the vehicles X axis. 
	For others (including players) it is the total velocity.
2 - Always show total velocity.
3 - Velocity in the world XY plane. This is probably what you want for trick jumping or skiing.
4 - Velocity in the vehicles XY plane (same as above for players.) This is like the normal wheeled
    vehicle display, except that it counts any sliding. 
	For players, it works like 3. For the icarus, the XY plane is defined by where you are looking,
	which is probably not useful.

* g_speedHudUnits - integer: 0 = MPH 1 = KPH 2 = UPS
patch: speedhud-1.patch
Note that all the .include gui files in the PK4 are required because hud.gui includes them.
They haven't changed, but the stock PK4 files only contain binaries.

Changes in 003
Optional muzzleflash, contolled by g_showMuzzleFlash 
patch: muzzleflash-2.patch
(in the patch posted here: http://community.enemyterritory.com/forums/showthread.php?t=18803 I
called the cvar g_disableMuzzleFlash. In this patch I've renamed it to g_showMuzzleFlash
to be more consistent and changed the logic accordingly) 

Improved control of first person gun display (formerly ui_showGun) 
patch: showgun-1.patch
* removed ui_showGun. 
According to a couple of SD folks, it was only left as userinfo because no one found
time to change it. There's no good reason for it to be sent over the network.
* added bool cvar g_showWeaponModel - Controls display of the non-sighted first person gun model.
* added bool cvar g_showSightModel - Controls the sighted model. If the sight model is not
shown, then the crosshair is. Does not affect the storgg ironsight overlay (because it isn't a model)
* The logic for this is moved to script, making it much easier to add further options in the future,
and eliminating some weirdness that would happen if you changed showgun while in sight mode.

Server optional simple majority voting. This is probably pointless since 1.4 includes a similar
feature, but I already wrote it so here it is.
patch: votecontrol-1.patch
Adds the following cvars:
* g_voteMinVotersPercentage default 51 FLOAT - Percentage of players required for vote to be valid.
* g_voteAbsolute default 1 BOOL - If true, g_votePassPercent is percent of all players. Otherwise,
it is percent of those who voted, and g_voteMinVotersPercentage is used.

Notes and Changes in 002 
This is a work in progress. The cvars (described below) are for debugging/comparison purposes.
I would remove them and the old steering methods before any official release.
I would also give PredictionErrorDecay_Angles some tender loving ;)

If you modify any movement related code, I strongly suggest that you test regularly with a dedicated server. Many things that look fine on a listen server break horribly with a LAN ping. You can also use net_forcelatancy (on both the client and server) to simulate a higher ping. The units do not appear to be ms, 30 on both results in a 100-160 ping.

* Added three user selectable steering modes. Use ui_wheeledSteerMethod to select
0 - new method. This introduces adds 3 stages of speed sensitive steering
    (the first two ramp smoothly, anything beyond the end of the second ramp
	is the old steering speed value), controled by the def values listed below.
	In the first stage, steering is simple linear speed for both turning and
	centering (doesn't use desiredDirection)
1 - old method, including almost all bugs.
2 - old method with bugs fixed. Steering below 15kph uses the same method as the slowest stage used for the new method.

Since this is a userinfo cvar, clients can each pick their own.
* steering related bug fixes:
- Reverse and handbrake causing the wheels to lose their their direction, 
- Wheels could fail to center in some cirucmstances when you came to a stop.
- Bug where the state of the sdWheeledVehicleControl object would get reset
  to an old state while inactive. This is not affected by any of the cvars.
* non-steering related fixes
- resting bug mentioned above is fixed.
- predictionerrordecay bug mentioned
  here: [url]http://community.enemyterritory.com/forums/showthread.php?t=18603[/url] is hacked around.
  Be warned this isn't really the right way to do it, and may contain new bugs. It seems
  to work for me, but per the original comments, the whole system could use some work.
  You can switch back to (almost) the old method using net_useOldAnglesPED 1

The new sdWheeledVehicleControl members and associated are def values 
- steerSpeedLow / "steering_speed_med_speed" 
  steering speed used at low speed 
- steerSpeedMed / "steering_speed_low_speed" 
  steering speed used at medium speed 
- steerSpeedLowRange / "steering_speed_low_range" 
  At vehicle speeds from zero to steerSpeedLowRange, the steering speed is a ramp between the
  two values above 
- steerSpeedMedRange / "steering_speed_med_range" 
  At vehicle speeds from steerSpeedLowRange to steerSpeedLowRange + steerSpeedMediumRange, the
  steering speed is a ramp between steerSpeedMed and forwardSteerSpeed 
- maxSteerCenterFraction / "simplesteer_centering_max_fraction" 
  The maximum faction of current steering speed we allow to be lost by drift.
  This probably doesn't need to be a def value, and is currently 0.5 for all.
