# WhaleClient for Enemy Territory

Introduction
WhaleClient
Version 1.3
Released 06/15/2005
By KillerWhale
KillerWhaleMail@hotmail.com(Please use the forum link below for questions/suggestions/bugreports)

The latest version and answers to any questions are available online at the Rainhosting forums: http://forums.rainhosting.com/

Installation
WhaleClient is a client sided mod for ET which can be used with multiple (server sided) ET mods.
It's tested and found to work with shrubET (1.1-b/1.2test13), ETpub (up to the latest version, 0.5.2) and ETmain (2.55/2.56/2.60) but it should also work right with more mods though this is untested.
It's recommended to remove any other client mods from the server/client before installing.
WhaleClient can be installed on a server so all players must download and use it or installed by players for playing on unpure servers (client-only):

- Serverside Installation:
  Just unzip the WhaleClient zip file into the mod folder you'll like to run it with on the server:
  So if you would like it to run with shrubET you should unzip it into the Enemy Territory/shrubet folder and for etpub it's the Enemy Territory/etpub folder.
  If you would like it to run with the standard ET (etmain/vanilla ET) you should unzip it into the Enemy Territory/etmain folder.
  IMPORTANT: Make sure players can download the WhaleClient-1_3final.pk3 file from your server or redirect (like normal maps).
  Server Settings:
  For etpub: It's strongly recommended that you set g_obituary to "1" on the server or some features won't work (properly).
  For shrubet: It's strongly recommended that you set the g_logoptions bitflag 1 off (which means g_logoptions must set on a even value).
  There are some (optional) server sided settings which changes WhaleClient's behavior listed at the very bottom of this manual.
- Client-only Installation: (for playing on unpure (sv_pure "0") servers)
  Just unzip the WhaleClient zip file into the mod folder you'll like to run it with:
  So if you would like it to run with shrubET you should unzip it into the Enemy Territory/shrubet folder. It's always best to make a backup of the files you overwrite, so you can put them back if you want to uninstall.
  If you would like it to run with the standard ET (etmain/vanilla ET) you should unzip it into the Enemy Territory/etmain folder.
  Important: If you play on pure servers without WhaleClient on it, you'll have to reinstall WhaleClient before using it again on a unpure server!

Uninstallation

Just remove both the "Whaleclient-1_3.pk3" and the "WhaleClient_CompassShaders.pk3" files out of your mod folder.
Also you should replace the "cgame_mp_x86.dll", "ui_mp_x86.dll", "cgame.mp.i386.so" and "ui.mp.i386.so" files with the regular client .dll/.so files (out of your etmain folder) (only needed if it's the server or you play on unpure servers).

Acknowledgments (in alphabetical order)
The following people assisted in testing and/or contributed ideas or bug reports:

- 1.3: The {AR} clan for support and especially Major Zeman (testing & reporting bugs).
- 1.2: Major Zeman, Stonewall
- 1.1: Major Zeman, eXistinZ

Special Thanks:
The ETpro team (bani, rain, fretn and more): their mod gave inspiration for a lot of features, also credit for some sounds and models goes to them.
The ETpub team (tjw, josh and more): for allowing me to support their mod and some pieces of etpub_client code.
Lastly thanks goes out to for the people who posted bugfixes on the SplashDamage forums, especially Chrunker (for a few of the Project Bugfix fixes).

What's New (lists the most major changes)

- 1.3 - released 06/15/2005
  - Added a new WhaleClient menu for setting most WhaleClient settings.
  - Redone the player's HUD and Scoreboard (see "Display changes" section).
  - Enhanced Spectator viewing.
  - Added multikill messages with sound.
  - Added text shortcuts (like in shrub).
  - Gib chunks are shown.
  - Bannerprinting support.
  - New custom menu system.
  - Added more small features, like altweap reloads.
  - Added new !pizza and !listmaps chatcommands.
  - Added support for map/team/class change autoexec scripts.
  - Added LOTS of new client fixes.
  - ETpub_client integrated. (Modified)
  - This version is built upon the 2.60 patch code.
- 1.2 final - released 03/26/2005
  - Different Hitsounds when hitting a teammate.
  - Voicechats with custom text.
  - Level 4 soldiers can put their secondary SMG in weaponbank 2.
  - Changed death message display.
  - Killing sprees with sounds.
  - New text shrub text commands added.
  - Automatically adapts to the servers ET version (2.55 or 2.56).
  - Fixed all known bugs/crashing problems with the previous version.
  - Fixed a lot of etmain bugs + added improvements.
  - Now supports Linux.
- 1.1 - released 10/14/2004
  - Objective display popup.
  - Disable fireteam invitations.
  - Team/Class-changing menu's.
  - Custommenu1 and Custommenu2 for creating your own menu's (unpure servers).
  - Knife kill Goat sounds and First Blood sounds.
- 1.0 - released 09/01/2004
  - Client-sided hitsounds (head and body shots) when you hit a enemy for all bullet shooting weapons (except crew-served MG's).
  - Friendly covert-ops in disguise get a disguised icon.
  - Scoreboard shows connecting status.
  - Ability to open voicechat menu as spectator.

Features

> Hitsounds
> Version Added: 1.0
> Last Modified: 1.2
> Documentation last modified: Feb 6, 2005

> Whaleclient supports (client-sided) hitsounds for all bullet hits, with the exception of the crew-served MG.
> Hitsounds are sounds that play if you hit a player. Whaleclient supports different sounds for hitting a enemies head and body (everything else except the head).
> It can play a different sound when you hit your own teammate.
> You can toggle hitsounds with cg_hitsounds (default: 0).
> It's possible to use your own hitsounds (this is probably only useful if you play on a unpure server, or the server must add a pk3 with custom hitsounds).
> To add your own sounds (they'll have to be .wav sounds!), you'll have to zip the sound (it can be in a few folder levels, like "sound/mysounds/hithead.wav"), rename the zip file to a .pk3 extension and change one or more of the following settings in ET:

> > Head hitsound
> > You can change the sound played when you hit a enemies head by setting:
> > cg_hitheadsound "[path and name of the wav file in the pk3 pack]" (default: "sound/whaleclient/wc_headshot.wav")
> > Body hitsound
> > You can change the sound played when you hit a enemies body by setting:
> > cg_hitbodysound "[path in the pk3 and name of the wav file]" (default: "sound/whaleclient/wc_hit.wav")
> > Teammate hitsound
> > Finally you can change the sound played when you hit a teammate by setting:
> > cg_hitteamsound "[path in the pk3 and name of the wav file]" (default: "sound/whaleclient/wc_headshot.wav")

> Voicechats with custom text
> Version Added: 1.2
> Last Modified: 1.3 test1
> Documentation last modified: Apr 25, 2005

> With WhaleClient you can receive voicechats with custom texts, much like how it's done in ETpro.
> You can send such a voicechat with the following command with parameters:
> Syntax: vsay [@private client(s)] [voicechat] [soundnumber] [custom text]
> - [@private client(s)]: Voicechats can be send to a specific person or group(clan) by adding this (optional) parameter. The parameter has to start with a @ sign followed directly (no space!) by a partial string of the person or group you would like to send the voicechat to.
> - [voicechat]: the actual voicechat to be played, always has to be there.
> - [soundnumber]: The number of the sound and text as defined in the voicechat script. This can be used to always play the exact same voicechat every time. If soundnumber is greater then the number of defined in the voicechat script it will use a random soundnumber available.
> - [custom text]: The rest of the vsay command is shown as the text of the voicechat. This will override the standard voicechat text, so it's like normal chat with a added sound.
> Every parameter is optional except the voicechat, but they have to be in this order.
> NOTE:Only players with WhaleClient (version 1.2 and upwards) installed will be able to receive these new voicechats, people without it will receive the normal one, unless it's a private voicechat in which case they'll receive nothing. Also note that people without it installed can still send these voicechats (but not receive them them self).
> A few examples:
> vsay goodgame : sends a normal voicechat for saying "Good game!".
> vsay @whale goodgame : sends a private voicechat to all people with "whale" in their name (case and color insensitive).
> vsay goodgame 1 : sends a normal voicechat to all people with always the same sound and text (the 2nd of the voicechat script).
> vsay goodgame gg : sends a normal voicechat to all people with a random soundnumber but with only the text "gg".
> vsay @whale goodgame 1 gg : combines everything above.
> You can choose to not receive these new voicechats:
> cg_noCustomVoiceChat (default: 0) is a bitflag variable with the following properties: (add up the values to disable multiple features)
> - 1 - Display voicechats normally (no custom text or sound).
> - 2 - Ignore private voicechats.

> Text Shortcuts
> Version Added: 1.3 test1
> Last Modified: 1.3 test2
> Documentation last modified: Jun 15, 2005

> WhaleClient now supports a lot of Shrub's text shortcuts and even adds a few more.
> Text shortcuts can be used in normal ((fire)team)chat, ((fire)team)voicechat or echo/cpm.
> List of supported Text Shortcuts:
> - [d] = last player who killed you. *
> - [dw] = the last weapon you got killed with. *
> - [k] = last player you killed. *
> - [kw] = the last weapon you killed with. *
> - [ks] = your health at the moment you killed the last player. *
> - [n] = your name.
> - [p] = last teammate you pointed at.
> - [s] = your health.
> - [t] = your current ammo.
> - [l] = your current location (coordinates).
> - [w] = your current weapon.
> (* = on shrub it requires g_logoptions bitflag 1 off, see explanation below)
> It's possible to disallow WhaleClient to scan for textshortcuts in your text:
> cg_noCustomVoiceChat (default: 0) is a bitflag variable with the following properties: (add up the values to disable multiple features)
> - 1 - Don't use text shortcuts in your chat messages.
> - 2 - Don't use text shortcuts in your voicechat messages.
> - 4 - Don't use text shortcuts in your echo/cpm messages.
> NOTE:
> You'll have to use "/say " command if you want to use text shortcuts directly via the console.

> Obituary text, Killingspree's and Multikills
> Version Added: 1.2
> Last Modified: 1.3 test2
> Documentation last modified: Jun 15, 2005

> For etpub servers (etpub version 0.5.1 or higher):
> The server must have set "g_obituary" to "1" (g_obituary 1) for the following features to work (properly). For shrub servers:
> The server must have set "g_logoptions" to not include bitflag 1 (thus meaning: g_logoptions must be even) for the following features to work:
> (g_logoptions bitflag 1 = Move kill and team change messages to the bottom of the clients' screens.)
> Note:You can still move these messages to the chat box with the cg_killsdisplay cvar (see below).
> These features will work on every etmain server and most other mods.
> cg_killsdisplay (default: 0) is a bitflag variable with the following properties:
> - 1 - Puts the obituary (kill) messages at the bottom of the screen (in the teamchat) instead of at the left side. This has the same effect as g_logoptions 1 bitflag for Shrub/etpub.
> - 2 - Display team kill weapons in the obituary (kill) messages.
> cg_killingspree (default: 0) is a bitflag variable with the following properties: can be set to add killing spree messages and multikills messages:
> - 1 - Adds killing spree messages (at every 5 kills without dieing, up to 30 kills ("Wicked Sick")).
> Note: Shrub's Goomba kills are not seen as kills nor deaths for the killing spree counter.
> - 2 - Adds multikill messages (if you kill players within 3 seconds after eachother, up to 7 kills ("Holy shit!")).
> Added First Blood message on the first kill of the map.
> Added Goatsounds: If you kill someone with a knife both the killer and killed player hear a goat sound (like in ETpro).

> Disable fireteam invitations
> Version Added: 1.1
> Documentation last modified: Feb 13, 2005

> Fireteam invitations can be disabled with the bitflagged cg_nofireteam cvar (default: 0). Add up the desired features and set cg_nofireteam appropriately to enable them:

> > 1 - It won't ask you to create a fireteam anymore when you join a team.
> > 2 - Disable invitations to join a fireteam. It automatically votes "no" with no voting popup text.

> Advanced Scripting support
> Version Added: 1.3test2
> Documentation last modified: May 20, 2005

> Client auto map scripts:
> When a map loads or restarts, the client will look for the following scripts and run them if found:
> autoexec_(mapname).cfg
> autoexec_default.cfg
> For example if the map rotates to battery, the client would look for autoexec_battery.cfg and run it. If autoexec_battery.cfg is not found, it would try to run autoexec_default.cfg instead.
> Client auto team scripts:
> When players spawn with a changed team, the client will run one of the following scripts according to the team they changed to:
> autoexec_axis.cfg
> autoexec_allies.cfg
> autoexec_spectator.cfg
> Client auto class scripts:
> When players spawn with a changed class, the client will run one of the following scripts according to the class they changed to:
> autoexec_soldier.cfg
> autoexec_medic.cfg
> autoexec_engineer.cfg
> autoexec_fieldops.cfg
> autoexec_covertops.cfg
> Client class change commands for class change scripts:
> The command "nextclass" can be used to change the class, just like etpro's "class" command:
> (Shrubet also has a "class" command but the weaponslot numbers are a little different.)
> Syntax: nextclass [class] (main weapon slot) (secundairy weapon slot)
> with:
> [class] = soldier/medic/engineer/fieldops/covertops or shorter s/m/e/f/c
> (main weapon slot) = optional weaponslot number (like in the limbo menu), should be self-explainary.
> (secundairy weapon slot) = optional secundairy weaponslot number, also self-explainary.
> Client latched team change commands for team/class change scripts:
> The command "nextteam" can be used to change your team after the nextclass has been chosen.
> Examples of the nextteam and nextclass commands can be seen in the teamclass selection menu file.

> Client Chatcommands
> Version Added: 1.1
> Last Modified: 1.3 test2
> Documentation last modified: May 20, 2005

> New shrub chat commands added:
> - !whaleclient : Shows the Whaleclient version
> - !flipcoin (number) : Randomly chooses between head and tail. If you add a number as parameter it return a number between 0 and that number.
> - !localtime : Shows the player's local time.
> - !listmaps : Lists the maps in the current campaign plus their completion status (yellow=current, red=axis won, blue=allies won).
> - !beer [partialname] (reason) : Gives a player matching the partial name a beer. (Partial name must match exactly 1 player)
> - !coffee [partialname] (reason) : Gives a player matching the partial name a cup of coffee. (Partial name must match exactly 1 player)
> - !cookie [partialname] (reason) : Gives a player matching the partial name a cookie. (Partial name must match exactly 1 player)
> - !pizza [partialname] (pizza filling) : Gives a player matching the partial name a pizza. (Partial name must match exactly 1 player)
> - !help (command without the "!") : Shows help for the specified command.
> By typing commands /!whaleclient, /!flipcoin, /!localtime, /!listmaps or /!help in the console, they will be returned only to yourself.
> Chat commands can be disabled with the cg_noChatCommands (0) cvar.

> ETpub specific
> Version Added: 1.3 test2
> Last Modified: 1.3
> Documentation last modified: Jun 15, 2005

> WhaleClient changes added for ETpub only
> - Integrated the Etpub_client (version 20050526) in WhaleClient:
> - Etpro mapscripts work properly with the client. *
> - ForceCvar (serverside command) is now supported and also enhanced: *
>   - You can use Forcecvar in two ways:
>   - The etpro way: The cvar is changed (if needed) but players can change it back right away (if not cheat protected).
>   Syntax: forcecvar "[cvar]" "[value/range]"
>   - The etpub way: The cvar is changed (if needed) and then locked (made read-only) so players can't change it until they restart their ET.
>   Syntax: forcecvar "*[cvar]" "[value/range]"
>   - You can now specify cvar ranges, with 10 different range types:
>   - EQ: used when a cvar is supposed to be equal to a [value]. If not it changes the value it [value]. This is the default handeling.
>   Syntax: forcecvar "[cvar]" "EQ [value]"
>   - NE: used when a cvar is supposed to be not equal to a [value]. You can optionally select a (default) value to change to. If there is no default value specified it will change the cvar to a empty string, ("").
>   Syntax: forcecvar "[cvar]" "NE [value] (default)"
>   - LE: used when a cvar is supposed to be less or equal then a [value]. If not it changes the value it [value].
>   Syntax: forcecvar "[cvar]" "LE [value]"
>   - GE: used when a cvar is supposed to be greater or equal then a [value]. If not it changes the value it [value].
>   Syntax: forcecvar "[cvar]" "GE [value]"
>   - IN: used when a cvar is supposed to be inside a value range, the value must be greater or equal to [value1] and less or equal to [value2], if not it's snapped to the nearest value.
>   Syntax: forcecvar "[cvar]" "IN [value1] [value2]"
>   - OUT: used when a cvar is supposed to be outside a value range, the value must be less or equal to [value1] and greater or equal to [value2], if not it's snapped to the nearest value.
>   Syntax: forcecvar "[cvar]" "OUT [value1] [value2]"
>   - INCLUDE: used when a cvar is supposed to include a certain [substring] (case and color insensitive), if not it's set to [default]. [default] must also include the [substring].
>   Syntax: forcecvar "[cvar]" "INCLUDE [substring] [default]"
>   - EXCLUDE: used when a cvar is supposed to not include a certain [substring] (case and color insensitive), if not it's set to [default]. [default] must also not include the [substring].
>   Syntax: forcecvar "[cvar]" "EXCLUDE [substring] [default]"
>   - WITHBITS: used when a bitflagged-cvar is supposed to include a certain bitflag
>   Syntax: forcecvar "[cvar]" "WITHBITS [bitflag]"
>   - WITHOUTBITS: used when a bitflagged-cvar is supposed to not include a certain bitflag
>   Syntax: forcecvar "[cvar]" "WITHOUTBITS [bitflag]"
> NOTE: the quotes around the value type and ranges are important or etpub will not recognize the forcecvar command cause it needs exactly 2 parameters.
> - If latched cvars are changed it will force a vid_restart after changing the value, so forcecvar now works properly for cvars like r_mapoverbrightbits.
> A few forcecvar examples:
> - forcecvar cg_atmosphericEffects "EQ 0" //(changes cg_atmosphericEffects to 0, but players can change it back to 1 if they want to)
> - forcecvar r_drawfoliage "EQ 0" //(changes r_drawfoliage to 0 for all players, players can't change it back during the map because it's cheat protected)
> - forcecvar *r_mapoverbrightbits "LE 2" //(changes r_mapoverbrightbits to 2 if it's higher, locks it and does a vid_restart)
> - forcecvar *cg_fov "IN 90 120" //(changes cg_fov to a value inside the range 90 to 120 and locks it)
> - forcecvar *name "EXCLUDE teammate ^3Happy ^4Bunny" //(changes everyones name that includes the string "teammate" to "Happy Bunny"(colored), all players names are locked and can't be changed afterwards until ET restarts)
> - forcecvar cg_killingspree "WITHBITS 2" //(forces everyone to have cg_killingspree include bitflag 2 (multikills), players can put it back off)
> - forcecvar cg_killingspree "WITHOUTBITS 1" //(forces everyone to have cg_killingspree not include bitflag 1 (killingsprees), players can put it back on)
> - Added cg_backupForceCvar (default: 1) which makes a backup of your etconfig in your profiles folder when a cvar is forced (once a day). *
> - The cvar cg_debugHitboxes (0) is a cheat protected cvar to toggle etpub's hitbox debugging.
> - Playdead no longer shows the respawn message.
> - Added the new etpub vote options to the vote menu.
> * = needs etpub 0.5.1 or higher to be installed on the server.

> Display Changes
> Version Added: 1.3 test1
> Last Modified: 1.3 test2
> Documentation last modified: Apr 24, 2005

> Hud Changes:
> - Added etpro's althud's, controlled with cg_altHud (0) (possible: 0, 1 or 2). (b_althud flags are not implemented yet)
> - Added a helmet icon (on althuds 1 and 2), indicating if you still have a helmet.
> - Added cg_hudyoffset (0) can push the hud up (or down), usefull for clearing the demorecord status line out of the hud (on 2.55/2.56)
> Setting cg_hudyoffset to -1, automatically pushes the hud up when recording and down when finished (for playing on ET 2.56/2.55). (Don't use "/record" and "/stoprecord" or it can go out of sync).
> - Vote and descriptive text is now smaller, the scale is controlled by the cg_textScale(0.8) cvar. Setting cg_textScale 1.0 gives the etmain text size.
> - cg_chatFlags (0) toggles chatflags, for showing the team of the player sending a chatmessage.
> - cg_chatSounds (0) toggles chatsounds, a sound played when a chat message is displayed.
> - cg_drawWeaponIconflash 2, displays your current weapon state (firing, reloading, switching or ready) on the weaponicon in the hud.
> - cg_showfps 2 shows averaged fps over 1 second and cg_showfps 3 shows the time between frames in milliseconds (like in ETpro).
> - cg_fireteamalpha (1.0) for partially making the fireteam window invisible.
> - Fireteam members awaiting to be revived are displayed with blinking health in the fireteam window.
> - cg_chatAlpha (0.33) for partially making chat background invisible.
> - cg_numPopups (-1) Defines the number of popups, the value -1 displays 5 popups on large popup font and 8 popups when using small popups.
> - cg_popupTime (1000) sets the popup display delay (in ms).
> - cg_popupStayTime (2000) sets how long (in ms) popupmessages (connecting/kills/etc. messages on the left side of the screen) are shown.
> - cg_popupFadeTime (2500) sets how long (in ms) a popupmessage fades from the screen.
> - cg_drawClock (0) for displaying the current time on screen. cg_drawclock 2 draws the time in AM/PM timescale.
> - cg_drawSpeed (0) for displaying your current speed of movement:
>   Setting cg_drawspeed "***" (* = a variable number) can change the manner of display:
> - The type: Normal speed (1**), Horizontal speed only (2**), Vertical speed only (3**)
> - The scale: Units per Second (*0*), Miles per hour (*1*), Kilometers per hour (*2*)
> - Display maxspeed: no (**0), yes (**1)
> You can reset the maxspeed with the command "resetmaxspeed" with the parameter A(ll)/N(ormal)/H(orizontal)/V(ertical).
> - Added shaded compass icons, controlled ingame with cg_compassIcons (1) cvar. Shaded icons will never stick (partially) out of the compass, but you'll need the etpro shader files for every custom compass icon (a whole load are already supplied with WhaleClient, see WhaleClient_CompassShaders.pk3).
> - cg_compassIcons 0 : standard etmain setting (no shaders)
> - cg_compassIcons 1 : ETpro setting, shaded icons (needs the compassShaders.pk3 file)
> - cg_compassIcons 2 : unshaded smaller icons
> - cg_compassIcons 3 : shaded smaller icons (needs the compassShaders.pk3 file)
> - Compass now shows disguised team members and objective carrier.
> ScoreBoard Changes:
> - Scoreboard medal letters behind your name are removed.
> - Scoreboard now shows disguised team members.
> - Scoreboard limited lives counter removed when server is not on limited lives.
> - Scoreboard can show slightly longer names.
> - Scoreboard shows connecting status, also shows 999 pings red.
> - Scoreboard shows the XP and Ping of spectators.
> - Scoreboard shows average Pings and XP of the players per team.
> Spectator Changes:
> - Spectators can have a compass and automap.
> - Spectators can see player/vehicle-names while in freespec (but NOT the health).
> - Spectators can't see the respawn time counter.
> - "Spectator" text now on top of the screen (was placed down below obstructing the chatmessages)
> - Descriptive spectator text is now smaller (like in etpro).
> - When spectating players it now indicates their team.

> Small Features & things not needing much elaboration and I couldn't fit anywhere else
> Last Modified: 1.3 test2
> Documentation last modified: Jun 15, 2005

> - Spectators in following view can see the spectated team's landmines. They can't see landmines when in freeview.
> - Referee's can see all landmines while being spectator.
> - Gib chunks will now spawn when a player explodes. This can be toggled with the cg_gibs (1) cvar.
> - The cvar cg_mapZoom (5.159) changes the compass zoomlevel.
> - The cvar cg_drawRanks (1) toggles drawing the ranks in front of names.
> - The bitflagged cvar cg_noMuzzelFlash (0) can be used to remove muzzle flash:
> - 1 - don't display a flash sprite out of your gun when you're firing.
> - 2 - don't display dynamic light flash when you're firing.
> - Pressing mouse2 ("altweap" bind) when your a spectator in follow mode selects the previous player.
> - Popupsmessages starting with [skipnotify] are only displayed into the console, not onscreen, like it was intended to be. Can be used to remove punkbuster status messages off your screen by setting it in the pb_msgprefix cvar.
> - The sound played when a satchel and landmine bounces on the ground is now different than the dynamite bounce sound.
> - Mousebutton 2 ("weapalt" bind) reloads your weapon if it doesn't have a weapon altfire (like in ETpro). The cvar cg_weapaltReloads (1) toggles this feature on/off.
> - Level 4 HW soldiers can put their secondary SMG in weaponbank 2. Can be toggled with the cg_panzerhack cvar (default: (1) = in bank 2).
> - When level 4 HW soldier after firing panzer, your weapon switches to SMG instead of grenade.
> - After detonating a satchel, your weapon switches to your main weapon instead of back to satchel.
> - After throwing a Smoke bomb, your weapon switches to your main weapon instead of the pistol(s).
> - Your able to view around with the mouse when playing dead (shrub only). (2.60 patch)
> - Added a lot of new kill/suicide messages. (even more than in 2.60 patch)
> - You can open voicechat menu as spectator. (You can't do teamvoicechats as spectator).
> - Added cg_covertIcons (1) toggles displaying an icon above friendly covertops in disguise.
> - (Removed old cg_whaleclient (cg_hitsounds and cg_covertIcons have taken over it's features))
> - Clientside banner printing support (needs a serversided mod which supports "bp"), bannerprints are messages displayed at the top of the screen.
> - Centerprints with a * as the first character are displayed as bannerprint (this first * char isn't displayed), this makes bannerprint in etpub/shrub possible.
> - "\n" in center and bannerprints are seen as newlines.
> - Crosshairnames are now in full color. They can be displayed in normal white by setting cg_drawCrosshairNames 2
> - The "autorecord" command (default binded to F12) will now toggle demorecording on/off. Don't use "/record" and "/stoprecord" anymore.
> - The command "stopsounds" stops all currently playing sounds (usefull for stopping !news or long voicechat spam).
> - The command "teammenu" opens the Team-changing menu like in ETpro. It also has a spawn selector.
> - The command "classmenu" opens the Class-changing menu like in ETpro.
> - The command "+obj" opens a Objective display popup, which displays all objectives and current status (in color).
> UI:
> - Added new WhaleClient menu's.
> - Added new serverbrowser filter for displaying specific mods only.
> - Added new serverbrowser filter for findng servers with a (partial) servername match. Usefull for finding a clanserver (filter on clantag) or specific features like "xpsave".
> - Removed the new ui_browserModType cvar again.
> - Removed the new ui_browserModGameType cvar again.
> - The command "listmaps" will give you the list of maps you have when you're not connected to a server.

> Custom quick menu's
> Version Added: 1.1
> Last Modified: 1.3test2
> Documentation last modified: May 20, 2005

> With Whaleclient it's possible to add your own new quickmenu's just like the voicechat menu. This is useful for example if you want to make your own voicechat menu or your own team/class selector menu's.
> Detailed information how to make a menu can be found on various ET websites or look at the normal menu scripts to see how the normal voicechat menu is done as an example.
> You can open custom menu's with the openmenu [menuname] command. The parameter [menuname] is the name of the menufile and name the first menu to be opened in the file minus the "wm_" prefix. A custommenu file must start with the "wm_" prefix and must be located in the ui folder packed in a pk3 file. So for example the command "openmenu voicechat" tries to load the "ui/wm_voicechat.menu" file and if found it tries to open the menu named "wm_voicechat" inside.
> Important note: There is a maximum number of menu's that can be loaded per map.

> Bugfixes and optimalisations
> Version Added: 1.0
> Last Modified: 1.3test1
> Documentation last modified: Jun 15, 2005

> Etmain bugfixes:
> - Fixed: client often didn't load all the campaigns, which resulted in map icons and campaign status not showing for certain campaigns.
> - Fixed a crash issue in the UI hostgame menu when a campaign had more then 10 maps.
> - Fixed and optimized the binding via menu system.
> - Third person view in mounted tank was bugged.
> - Third person view when on a crew-served MG was too close.
> - Background images on the loading screen were not visible on the first call.
> - Fixed a issue with the hostgame menu's map/campaign list changing the selected map when switching menu's.
> - Fixed primed dynamites/grenades not ticking when scoreboard was up or with cg_draw2d off.
> - Fixed syringes, pliers and adrenaline no longer "tick" underwater if they can be used.
> - Dynamic light when firing the tankgun was missing.
> - Fixed changing name in the menu used to flood namechange messages (and kick if the server has set a maximum name change value).
> - Fixed fireteam delta's fireteam indicator sprite didn't show.
> - Lowered the position of most centerprint text a bit on the screen so they don't interfere with the popup messages.
> - Fixed configstrings command exploit.
> - Sniper and centerview scripts defeated (+lookup/+lookdown no longer work).
> - Fixed bug which caused players with spaces in their name to not be able to use !whaleclient commands.
> - Fixed a bug in WhaleClient's server version detector identifying incorrect versions.
> - Fixed spectators hearing landmine spotted announcements when following the other team.
> - Fixed disguised icon in the hud not showing on LMS mode.
> - Fixed crosshair names disappear when pointing over constructables.
> - Fixed etmain bug which let you detect disguised enemy coverts from afar.
> - Identifying disguised coverts should now be harder though.
> - Fixed spawnflag text in the automap could go outside the window and be unreadable.
> - Fixed text in the loading screen sometimes got outside of the map.
> - Fixed using flamethrower when moving prone with cg_drawgun 0.
> - Fixed cg_noVoiceText 0 not showing the HQ objective text.
> - Fixed colors don't count to the maxline width of centerprints and bannerprints.
> - Fixed objective icon on the scoreboard showing incorrectly with many players on the server.
> - Fixed scoreboard lines showing up incorrectly with many players on the server.
> - Fixed duplicate players on the scoreboard (clientside workaround).
> - Fixed medals display in +stats popup.
> - Fixed incorrect mini-ranknames for teams.
> - Fixed showing respawn message when playing dead in etpub.
> - Fixed cg_bobup exploit.
> - Fixed some animations (climbing and crouching+knife).
> - Fixed helmet ranks were overbright (giving light in the dark).
> - Fixed goldrush bank floor was unshaded (thanks ETpro team).
> - Fixed minor oasis speaker bug (cricket) (thanks ETpro team).
> - Removed unused client cvars.
> - Lowered voicechat/objective icons over head when prone.
> - Fixed getting forced to spectator after map loads in a few cases (etmain bug)
> - Automatically get the right secondary weapons after gaining level 4 light/heavy weapons
> - Fixed dropped weapon display bugs on unpatched servers. WhaleClient can be run correctly on both patched(1.02/2.56) and unpatched servers(1.01/2.55).
> - Voicechats give the same sound and text for every player. (It used to be different for every player).
> - Connecting players show as connecting on the scoreboard and 999 pingers show up red.
> - Fixed the scoreboard always displaying skulls after a player switched teams.
> - Fixed cg_drawfireteamoverlay 0
> - Fixed Pressing cancel in the limbo menu displayed a wrong class/weapon selection message.
> - Fixed Cancel button in the limbo menu was working incorrectly.
> - The vote "RESPONSE SEND" messages are now displayed only 3 seconds, not 10 seconds anymore.
> - Maplists in "Hostgame" and "vote/referee->map" menu's show more maps (up to 1024 maps). You might notice a small slowdown when opening those menu's.
> Bugs fixed from the last WhaleClient (version 1.2):
> - Fixed cg_killingspree 2 still displayed the (bitflag 1) killingsprees.
> - Fixed bug which caused players with spaces in their name to not be able to use !whaleclient commands.
> - Team/Class selection menu's now work on etpub/etmain.
> - Fixed a bug that would (incorrectly) notify you again of a skill/rank change after map change.

> Serversided settings
> Version Added: 1.2
> Last Modified: 1.3
> Documentation last modified: Jun 15, 2005

> Here are a few server sided settings that allows server admins to restrict WhaleClient (parts).
> These lines have to be added to the server script and a restart is needed.
> - Restrict certain WhaleClient added features:
> Syntax: sets sv_wcflags [#] ,with [#] is a bitflagged value:
> - 1 - Hitsounds can't be used on this server.
> - 2 - No client text shortcuts can be used.
> - 4 - Whaleclient '!'shrub messages can't be used on this server (like !beer, !whaleclient, !flipcoin, etc).
> Whaleclient will notify players which restrictions are active upon connecting.
> - Don't allow people using WhaleClient to connect to your server at all (usefull if you have a unpure server and you don't want people to use WhaleClient):
> Syntax: sets sv_wckick "1" or sets sv_wckick "[KickReasonText]" to specify a reason.
> - The sv_wcsettings serverinfo setting forces clients to use the predefined settings:
> Syntax: sets sv_wcsettings [#] ,with [#] is a bitflagged value:
> - 1 - Force not drawing foliage (e.g. grass on radar).
> - 2 - Force everyone into third person mode, so you can play ET as a 3rd Person Shooter. (NOTE: this can be used even when the server has punkbuster enabled.)

> WhaleClient documentation - © 2005 KillerWhale