- fakeshaft
        is removed RiP
        In my opinion fakeshaft is a nice thing - actually it does not
        change gameplay very much, unless you are at 50+ ping or are
        newbie / Q3 player. For both of these cases cl_fakeshaft does a
        good job - it helps more with higher ping and it helps newbies.
        Newbies/Q3ers have a hard time with 5-years experienced QW players..
        And I believe that an experienced player does not need fakeshaft.
        Anyway - your decision. There was a poll on www.challenge-tv.com.
        It lasted two weeks and all of you had a possibility to vote.
        Result is:

                           More QuakeWorld Fakeshaft:
                           ==========================
                         
                           Remove it:    52.78% (418)
                           Keep it:      47.22% (374)

                           Total votes:          792

        Thanks to DonKing for setting up a poll.
        I feel very sorry for ppl who get used to fakeshaft, and I guess
        they gonna blame me. I got used to fakeshaft too.. And probably
        fakeshaft discussions will start again.. Well, contact me if you
        find some kind of agreement :)

- fps:
        Many ppl ask for increasing fps limit, and in fact 72 is too low.
        Increasing 72 fps limit implies some problems - more fps change
        physics a little and require more bandwidth. But it seems that
        there are much more ppl loving higher fps than disliking it
        (you had the ability to test with mqwcl 0.93 - nice mistake btw heh).
        So mqwcl 0.94 still lets you play with higher (limited) fps, and
        standarizes this as follow:

        - default mqwcl fps limit is 72,
        - to have more fps, you need to type
            allow_highfps 1
          and new fps limit will be 85 (that may change in future),
          I hope that difference in physics between 72 and 85 is not so
          noticable, blame me if it is..
        - there is no f_check for high fps, cause you can easily check
          other players fps (draw_fps 1 in mqwcl, f_fps in qizmo),
        - server can set alternate fps limit for you, by using
          serverinfo maxfps variable, ie.:
            serverinfo maxfps 72
            serverinfo maxfps 45
            serverinfo maxfps 200
          please note, that server can cut your fps to less than 72
          (but not less than 30) as well, as allow you to use more
          than 85 fps (as in the last example).

          : I want more fps
          If you still want more fps, you may try this:
          1) ask your server administrator to set/increase maxfps
             serverinfo key, mayby mod developers will make use of this
             key, maxfps would be changable by mod commands then,
             well.. but some kind of standard would be nice, not 85 on
             one server, 125 on another.. I don't know.. Future should
             clarify that, mayby it will stay at 72
          2) if you want more fps you probably use GL. Set you monitor
             refresh frequency to fps you need to play (-freq 72, 85),
             set fps limit in mqwcl to maximum (allow_highfps 1,
             cl_maxfps 999) and turn on vertical synchronization. Your
             FPS will match your monitor refresh rate then, and all will be
             as smooth as it can be. Even with 72 fps. However, playing
             like this requires really fast hardware, Gf2 would be
             nice :)

        Finally note, that higher FPS has both pros and cons. The biggest
        advantage is that your jumps are little higher. However it seems,
        that gravity in general becomes a little lower, so you fall longer
        with higher FPS. Thus you become an easy target for shaft or
        in-air missile attack if you fly at the moment... Hope you won't
        start playing at 30 fps after hearing that :)

- fpd (serverinfo)
        mqwcl now fully respects serverinfo fpd variable. This is
        mostly for qizmo-compatibility, because most features, that can
        be blocked by fpd are obsolete now, ie: noone block %-reporting
        (what for?), neither mqwcl nor qizmo allows you to use powerup
        timers (they don't have any) and both qizmo and mqwcl use
        silent %e, %x, %y, %t reporting. Blocking skin forcing is also
        useless, because it still allows you to cheat with fullbright
        skins, f_skins check does the job much better. Below is
        a comparison table with fpd value, and corresponding feature
        given value disable. Qizmo and NFProxy are also included,
        cheapo is not (i couldn't find its readme).

           # |    NFProxy       |     Qizmo        |      mqwcl
        -----+------------------+------------------+--------------------------
           1 |                  | %-reporting      | %-reporting
           2 | powerup timers   | powerup timers   | --- (no timers in mqwcl)
           4 | soundtrigger     | soundtrigger     | --- (no soundtrigger yet)
           8 | report lag chng. | lag features     | --- (no lag features)
          16 |                  | report lag chng. | --- (no lag features)
          32 | silent %e        | silent %e        | --- (always silent)
          64 |                  | some voice stuff | --- (no voice comm.)
         128 | change pointing  | silent %x %y %t  | --- (always silent)
         256 |                  | skin forcing     | skin forcing and fb_skins
         512 | color forcing    | color forcing    | color forcing
        1024 | intelli reports  | ---              | ---
        2048 | intelli skin     | ---              | ---
        4096 | intelli cross    | ---              | ---
        8192 | fullbright       | ---              | ---

        As you see, only three fpd bits (1, 256, 512) are useful
        for mqwcl. Note that 2, 32 and 128 are not needed for newer
        versions of qizmo.

- advanced mouse filtering / smoothing [WIN32 only]
        is meant to smooth your mouse movements and maximize mouse
        responsiveness. If you're unlucky - cannot get rate 200 with
        your mouse/windows/drivers, and don't want to use m_filter, because
        of latency it brings to your movements - this is for you. If you
        have smooth mouse with 200 Hz sample rate - you can try it.
        What you need:
         - "-dinput" in your command line parameters - currently it only
           works with direct input, but that may change in future,
         - add "-m_smooth" to your command-line,
         - have mouse rate at least as high, as FPS you play at, or
           your mouse will still move roughly - if you use PS2 mouse
           and Win9X try ps2rate.
        After those steps you should find sth like "advanced mouse
        filtering enabled" in your console, when starting mqwcl.
        You should also have three additional variables:
         - m_smooth - toggles if smoothing is enabled, so you can disable
           it if sth goes wrong, without mqwcl restart,
         - m_rate - you should set this to your mouse rate (in Hz),
         - m_showrate - will print your mouse rate (measured for X axis)
           in console.
        If your mouse rate is at least as high as your FPS - you should
        get perfect smoothness with no latency. Rate 100 Hz + advanced
        mouse filtering works better for me than rate 200. I guess it may
        vary depending on hardware and OS. Try yourself.

        m_rate have to be set to your mouse rate. You can find it with
        m_showrate 1. If set too low or too high, smoothing may simply
        stop working.

        It is recommended to disable m_filter if you use advanced mouse
        filtering - it causes additional latency in mouse movements
        and should not be needed.

- antiflood with f_checks
        mqwcl now answers to f_query only, if previous answer was at
        least 3 sec. ago - should be enough

- no scripts..
        if you want to proove that you do not use scripts, you
        have another ability (besides f_scripts). You can permanently
        disable them with command-line parameter:
        - "-noscripts" disables advanced scripting (fjump etc.) and
          adds "noscripts" to your userinfo,
        Actually it was done for fakeshaft, scripts as an addition,
        but fakeshaft is gone for now, but you can disable scripts :)
        Well, I would love if some ppl would use it, just to proove and fun,
        however remember that scripts are allowed and don't blame ppl if
        they use them, blame me if I blame someone who use etc etc..

- some changes and improvements to Server Browser
        - setting sb_autohide to 2 cause server browser to hide after
          connecting only, if connected server is not a qizmo proxy
          (default), useful if you often connect to qizmo only for
          rerouting features (with useproxy on)
        - most keys (like c, ^c, j/p, o/s) works in serverinfo window now,
        - new keys:
            'v' - sends current server description and address to the server
                  as mm1 text (say) (like c and ^v sequence),
            '^v' - same but uses mm2 (say_team),
        - connection tester, press 't' in serverinfo window to test
          a connection to selected server - netgraph will be shown.
          Very useful i think, but you need a good connection to use it
          while connected to server.

- cl_smooth_grenades
        here it is. Don't expect such spectacular effects as with
        cl_smooth_missiles, actually it works poorly if you ask me..
        but it may help a little. And it helps much if you're not lagged,
        but server has high sv_mintic value (even with default
        sv_mintic 0.014 grenades move roughly)

- cl_reliableweapon [0 .. 8]
        this is meant to solve weapon switchin problem, that occurs if you
        play with packet loss. Set cl_reliableweapon to more than 0 to avoid
        this problem. The higher cl_reliableweapon value is, more chances are
        that weapon will switch correctly. Zero (default) means OFF. This
        works only for 'weapon' comand, 'impulse' is not affected. If you
        don't play at extremely high PL, values of 1, or 2 should be enough.

- r_viewmodelscale
        allows you to change view model size a little, useful if you prefer
        to use r_drawviewmodel 1 and higher fov values (for demos probably?).
        For fov 110 try r_viewmodelscale 0.8 or 0.85

- some variables changed their names, those that exist in standard
  qwcl still accept old names for compatibility.
        - cl_transhud --> hud_allowtransparency,
        - cl_sbar --> hud_sbar_style (old name remains),
        - cl_hudswap --> hud_sbar_swap (old name remains),
        - r_netgraph --> hud_netgraph_show (old name remains),
        - show_fps --> hud_fps_show (old name remains),

- vid_flashonactivity (win32 only)
        default value is 1 (ON), which will cause mqwcl to flash mqwcl
        button in taskbar, when it is not active and there is activity
        (chat text, high priority messages, disconnection) in console.
        Useful at nights.. :)

- crosshairs
        - first, all crosshairs > 2 work in GL too,
        - crosshairlarge allows you to enable/disable double size
          of crosshair; as in original, it is by default ON in gl,
          and OFF in software rendering mode,
        - crosshair numbers has changed a little, so you may have to
          adjust you config; crosshair 3 (ASCII sign) no longer exist,
          but you can freely specify, what text is drawn on the screen
          when using crosshair 1. Use 'crosshairtext' variable.

- teamplay reports changed a little
        - %b reports weapon without ammo now, ie. RL:0
        - %x %y %t %i - report location if misses (ie. nothing at ra)
        - reports are not hidden (%x, %y, %t, %e, %t) if server is
          in 'standby' mode (prewar in kombat teams).
        - new reports, to separate %i:
            %X - name of item you have taken,
            %Y - location, where item was taken,
        - 'tp_name_eyes' renamed to 'tp_name_ring',
        - 'tp_name_eyes' is new and used for pointing eyed-player,
          For clarification:
            RING means invisibl.mdl and that's an item,
                which you take to be invisible,
            EYES means eyes.mdl, and that is a player, which is
                invisible.
          But of course you can change object names to anything
          you want with 'tp_name_*' variables.
        - mqwcl now describes powerups status of pointed enemies, ie.
          quaded enemy at .., quaded/penta eyes at..
          new names are tp_name_quaded and tp_name_penta,
        - setting "tp_expand_codes" to "0" lets you disable
          mqwcl reporting (i.e. if you want to use qizmo reporting
          system instead)

- teamplay styles
        very powerful addition to mqwcl reporting system. Styles allow
        you to change the look of reporting codes (like health, armor,
        item pointed) without changing binds or aliases you use for them.
        And what's more important, you can apply different styles
        depending on the situation, eg. you can have different styles
        for health when it is on good level, and different style when it
        is low. For example, you can have your health be printed with
        yellow numbers and with glowing brackets if it's low, and
        normally if it is on a good level. Look into "teamplay.txt" for
        more details.

- more console enhancements
        - console buffer size is 64K now (4 times bigger)
        - console timestamps
            con_timestamps 1 will enable timestamps for chat text in
            console, every chat message will begin with timestamp
            (hour:minute) followed by a message; con_timestamps 2 will
            also add timestamps to all server prints (someone entered
            the game, frag messages etc.)
        - con_notifylines sets number of notify lines (default 4, max 20)
        - con_notifyclear sets if notify lines should be cleared when
            toggling console,

- some changes to fps_*
        - fps_missilemodel allows spike model if set to 2,
        - fps_missilelight not only decide if missile light is enabled,
          but also define its radius,
        - same with fps_explosionlight,
        - fps_explosions renamed to fps_explosiontype,
        - in GL version you can specify lights colours with fps_missilecolor
          and fps_explosioncolor,
        - you'll find all of that except colors in options menu.

- svinfo command
        prints serverinfo without contacting the server, so it works fine
        with demo playback, as opposed to 'serverinfo' (with svinfo you
        can easily check what server the game was played on)

- some changes to netlimit
        netlimit never drops subsequent packets now. Thus, maximum packet
        drop that netlimit can cause is 50% (was 65%)

- extensions to ignores
        - 'ignore_opponents' variable to ignore players with different team,
        - 'ignore_spec' and 'ignore_opponents' can be set to 2 to work only
          during a match on Kombat Teams (or compatible) mod,

- floodprot protection
        Useful for 4-4 teamplay with lots of action.
        - floodprot_protect - 0: disable, 1: enable,
        - floodprot_count - number of messages,
        - floodprot_time - period of time,
        default is (4, 4) which means 4 messages in 4 seconds are allowed
        (default qwsv settings), by default protection is disabled
        (floodprot_protect 0)

- sys_extrasleep variable  [WIN32]
        setting to "0" allows you to disable extra sleep when mqwcl is
        paused, minimized or not focused (like this fps drop, when you
        switch to win), useful if you spectate some games and act as a
        camera

- priority control
        - sys_setpriority command lets you set mqwcl process priority
          class during runtime,
        - "-priority" switch lets you set mqwcl priority class at
          startup,
        possible values (both for variable and parameter) are:
            0 - idle priority class,
            1 - normal priority class,
            2 - high priority class,
            3 - realtime priority class;
        use that if you really know what you are doing (and need that),
        especially with high and realtime priority class

- "yieldcpu" renamed to "sys_yieldcpu"

- r_fullbright etc.
        some cheaty variables, allowed in NQ, are back in QW now, but
        they only work, if server is running with cheats (qwsv -cheats).
        Mostly for use by map makers, these are: r_fullbright [SOFT+GL],
        r_draworder [SOFT], r_drawflat [SOFT], r_ambient [SOFT] and
        r_lightmap [GL]. Additionally, r_polymodelstats is protected [SOFT].

- r_dynamic for software renderer users  [SOFT]
        to quickly disable dynamic lights (for example in prewar, dmm4..)

- fps_turb  [SOFT]
        works correctly now.. fps_turbcolor has been removed, colours are
        now adjusted automatically (based on textures used for turbs).

- HUD HUD HUD HUD HUD
        one of more important things in this release, and probably one that
        is unfinished at most. Hud configuration lets you totally reorganize
        your screen, by placing 2D elements whenever you want. Some gadgets
        that are shown on your screen occasionally (like netgraph) and things
        that are ther all the time, like your health, armor etc.

        For detailed information head on to hud.txt. Here are some variables,
        which affect your screen look besides that:

        hud_sbar_teamfrags (default 1)
            replaces status bar frags (those 4 numbers) with team
            frags (and current team leader colors) if playing teamplay.
            Value of '2' also adds your own frags to this setup, they
            are placed in the last cell.

        hud_sbar_fraglimit (default 1)
            will show current fraglimit in first cell of status bar frags
            (if fraglimit is set and > 0)

        hud_sbar_drawfaceicon   - toggles drawing of player face
        hud_sbar_drawhealth     - same with health
        hud_sbar_drawguns       - same with gun icons
        hud_sbar_drawammocounts - same with ammo icons/counts
        hud_sbar_drawitems      - same with items (powerups, keys..)
        hud_sbar_drawsigils     - same with runes
        hud_sbar_draw****       - others, should be self-explanatory

        hud_sbar_style          - same as cl_sbar, old name remains
        hud_sbar_swap           - same as cl_hudswap, old name remains

        hud_sbar_size
            lets you change your status bar size, possible values are:
            3 - fill sbar (default),
            2 - little shorter, always useful,
            1 - very short, only armor and health (arena, dmm4)
            0 - no sbar, good as a start for totally reorganizing
                your screen with HUD elements,
            numbers 1 and 2 require additional lmp's..

        hud_ranks_centered   - if rankings should be centered(horizontally),
        hud_ranks_drawtitle  - if draw title, 0 saves space for more clients,
        hud_ranks_fadescreen - if fade screen (ala menu) on scores,
        hud_ranks_posy       - let you move ranks down (for high res rather)

        hud_tp_need
            if 1, will apply teamplay need settings to your status drawings,
            like your health will be red if below tp_need_health, not if below
            25 etc.. ammo will depend on tp_need.. not always red if below
            10 etc..

        hud_planmode
            if 1, draws all items as if you have them; this for planning
            your HUD, eg. you can move quad icon (hud.txt) to desired
            position, because you see this icon even if you don't have quad
            at the moment. You rather should not play with that and do
            'cfg_save' with that..

- HUD clock
        Displays current local time (hh:mm). It is a HUD element of course,
        see hud.txt for details (or simply to "show clock"). Properties are:
        - big       - if should be BIG,
        - blink     - if ':' should blink,
        - style     - check yourself, values are (0, 1) for big one,
                      and (0, 1, 2, 3) for small one

- HUD ping
        another HUD element, displays your ping. Ping properties:
        - blink     - enable yellow blinking dot, which shows you when
                      your ping is recalculated,
        - period    - period of time between updates,
        - show_min  - show minimum level too,
        - show_max  - show maximum level too,
        - show_dev  - show standard deviation too,
        - show_pl   - show packet loss
        period is limited to some value, depending on your fps

- HUD fps
        fps counter is a HUD element now, so you can place it whenever you
        want, additional properties are:
        - show_min  - show minimum framerate in last second
        - title     - if show annoying "fps" text

- HUD net statistics
        +shownet has beed transformed into a HUD element, so this command
        has no use now (there will be some '+' commands for HUD elements
        in future). "net" has following properties:
        - period    - time between recalculates (eg. if it is 3, stats
                      are recalculated every 3 seconds and contain values
                      from last 3 seconds)
        period is limited to some value, depending on your fps

- HUD netgraph
        netgraph is a good tool to monitor your ping and see, how
        it changes during battles. However, netgraph in original
        qwcl has ugly scale, and your ping is nearly invisible
        unless it is > 100. This is changed. Netgraph is a HUD element
        now, and has following properties:
        - scale - sets maximum ping, that netgraph is able to display,
          by default 256. As you can easily check, netgraph has 16 levels
          (unless it is "full 1", so default value of 256 means every level
          is 16 ms of ping.
        - inframes - setting to 1 lets you measure
          your latency in alternate way - every level of netgraph
          will mean one frame of delay, between sending it to server
          and getting answer. On local/lan server you'll always get
          one frame of delay, even with low fps.
        - full - check yourself, netgraph is more detailed this way, but
          looks ugly; in GL this can be fixed with lower alpha value
          (like 0.4)
        - alpha [GL only] - lets you regulate netgraph transparency,
          mostly for us if your netgraph does not have frame (netgraph
          frame 0)
        - width - width of graph-part,
        - height - height of graph-part,
        - lostscale - lets you cut down those red, yellow, blue and gray
          bars, which are always full-height; value in range 0..1,
        - ploss - print packet loss or not,
        - swap_x - reverse horizontally, like for placing at left edge
          of the screen,
        - swap_y - reverse vertically, like for top edge

        Note, that some of these properties/vars are used by server
        browser connection tester. These are: alpha, full, inframes, scale,
        lostscale.

- all your status/inventory can be represented as HUD elements, and there
        are some additional "group" elements - check hud.txt

- smoother timing if using -newtimer (win32)
        I recommend cl_maxfps 71.4 if using this switch

- noaim defaults to 1 now (server aiming off)

- some standard command-line parameters changed:
        - "-nojoy" is obsolete, mqwcl by default does not use joystick,
          if you want joy add "-joy",
        - same with "-nocdaudio", use "-cdaudio" to enable cd,
        - "-noautostretch" removed, by default mqwcl does not stretch
          the screen, use "-autostretch" to restore old behaviour
          (this affects startup window if "-startwindowed" is used)
        - some ppl use -nolan or -noipx, these switches don't
          exist in QuakeWorld (because it only supports TCP/IP)
          and simply do nothing.

=== Rest is for GL renderer only..

- f_modified now also checks *.ms2 files

- gl_morelight defaults to 1 now (some models brighter like bolt2.mdl)

- gl_nomip_xxx [GL]
        useful if you use gl_max_size or gl_picmip.
            gl_nomip_players - will disable mipping of player skins,
            gl_nomip_bspents - same with bsp entities (health, ammo etc.)
            gl_nomip_gfx - same with 2D gfx (main manu etc.)
            gl_nomip_models - same with mdl's

        GL version allows you (by using gl_max_size 1 or high gl_picmip
        value) to change the look of bolt2.mdl, so it is all black.
        When shafting, this has a similar effect, as using cl_fakeshaft 1,
        so, because fakeshaft has been removed, this should be removed to..
        bolt models are not mipped anymore.

        BSP textures are now reloaded with map change, so you can change
        gl_max_size and see effects with next map, not with qw restart.

        Note, that if you use gl_nomip_players, player skins can still be
        mipped with gl_playermip.

- r_waterwarp works in GL now
        to disable water warping effect

- fps_sky and fps_skycolor work in GL
        to disable sky rendering

- gl_dither [GL]
        allows you to disable dithering (default: 1 = enable)

- vertical synchronization  [GL]
        glmqwcl allows you to change if vertical synchronization should be
        enabled on fly, if your hardware supports that. Use 'vid_sync'
        variable for that. Note, that some adapters can override your
        setting even, if they support changing synchronization status
        by application. nVidia adapters are good example, if you want
        to control sync with nVidia you have to set vertical sync in
        display settings to 'on by default' or 'off by default'. Setting
        'always off' will disable the ability to drive sync status by
        programs.

- gl_texsort 0  [GL]
        works correctly now on non-multitexture adapters or when
        "-nomtex" switch is used (to disable multitexture)

- FB pixels emulation  [GL]
        glmqwcl can now render correctly textures with fullbright
        pixels on bsp models. It will cost you some FPS, so it is
        disabled by default. To enable use:

            gl_fb_emulation 1

        and enjoy beautiful dm3 sng-area :)

- rgb lights  [GL]
        colour lights support, to enable type:

            gl_rgb_lights 1

        It affects dynamic lights if you use r_dynamic 1 and
        gl_flashblend 0. You will see no difference if you use
        gl_flashblend 1 (and prabably you do). But RGB lights
        are required, if you want to use coloured static lights
        with .lit files.

        'gl_rgb_lights' is the only way to change lightmap
        format used by glmqwcl, so all switches, that changed
        lightmap format in previous versions, are now obsolete.
        These are:

            -lm_1, -lm_a, -lm_i, -lm_2, -lm_4

=== And finally, some 3rd person code add-ons, which I applied [GL]

- .lit support [GL]
        yeah, nice feature. Base code you'll find at:
            http://www.quakesrc.org/?Page=tutorials&What=./tutorials/engine/gfx/litsupport.txt
        Here it is in mqwcl, with some corrections and enhancements
        (like colouring of bsp entities - ammos, health etc).
        To enable lit's you have to:
        - place lits in ID1/maps or qw/maps dir, you can use well
          known Eyecandy Quake lits here,
        - have "gl_rgb_lights" set to "1",
        - have "gl_use_lit" set to 1.
        and it requires a mapchange.
        Very nice addition for ppl, who don't use gl_max_size 1 or 2..

        Lit's are checked for overbright cheat so don't even bother
        trying.. :)

        Credits go to LordHavoc for base code and 5l0wD3ath
        (qghastlyq@hotmail.com) for nice tutorial made of that.

- model interpolations... [GL]
        base of this code, which you can find here:
            http://www.planetquake.com/qer/tutorials/tutorial4.html
        I've done some improvements so player weapon model looks nicer,
        and fixed some bugs in the code. Well it's really beautiful.
        Variable for that is "r_interpolate_models" and is enabled by
        default. If you can't see the difference, look at your weapon
        model (r_drawviewmodel 1) and players once again :)
        I would love to see it in software renderer too, however there
        are more problems with that, mayby in future..

        Credits go to Phoenix for base code and nice tutorial.

- alias model light lerping [GL]
        this is based on code, which you can find at:
            http://www.quakesrc.org/?Page=tutorials&What=./tutorials/engine/gfx/mllerping.txt
        Variable is "gl_lerp_lights" and is enabled by default. If you
        can't see the difference, leave it as it is..

        Cretits go to Pox (pox@planetquake.com) for base code and tutorial.
