Yeah, that's because the new SDK has the lag compensation code back in.

-Mike

-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Benjamin
Davison
Sent: Wednesday, November 01, 2006 2:04 AM
To: [email protected]
Subject: Re: [hlcoders] poorer prediction with new SDK?

--
[ Picked text/plain from multipart/alternative ] I got this in my inbox
today.

[EMAIL PROTECTED] changed:

          What    |Removed                     |Added
------------------------------------------------------------------------
----
            Status|ASSIGNED                    |RESOLVED
        Resolution|                            |FIXED



------- Additional Comments From [EMAIL PROTECTED]  2006-10-31
15:47
-------
The 10/31/2006 SDK release supports both Visual Studio 2005 and Visual
Studio 2003.


On 10/31/06, Nick <[EMAIL PROTECTED]> wrote:
>
> Is the next update still on for next week?
>
> On 10/11/06, Mike Durand <[EMAIL PROTECTED]> wrote:
> > Hi All-
> >
> > I'm working through the Visual Studio 2005 SDK work. So once I'm
> > done making sure that it works using both 2003 and 2005 I will put
it out.
> > Probably some time next week.
> >
> > With regard to the lag compensation - that code will be back in the
> > SDK with the next release.
> >
> > -Mike
> >
> > -----Original Message-----
> > From: [EMAIL PROTECTED]
> > [mailto:[EMAIL PROTECTED] On Behalf Of Nick
> > Sent: Tuesday, October 10, 2006 1:13 PM
> > To: [email protected]
> > Subject: Re: [hlcoders] poorer prediction with new SDK?
> >
> > I wonder when the next sdk code update will be released?
> >
> > On 10/7/06, [EMAIL PROTECTED]
> > <[EMAIL PROTECTED]> wrote:
> > > Well I've added back the lag compensation calls in
> > > player_command.cpp
> > that the old SDK had.  Seemingly 100% of the players that were
> > complaining before now agree that everything is much better (as it
> > was prior to the SDK update).
> > >
> > > At 2006/09/24 08:40 AM, Robbie Groenewoudt wrote:
> > > >--
> > > >[ Picked text/plain from multipart/alternative ] Ah yes, you are
> > > >right. Interpolation plays a roll.
> > > >
> > > >Are there any other situations that needs lagcompensation? Also,
> > > >if you do it in player_command, player's physics position also
> > > >gets updated with the lagcompensated-position, which may give
> > > >funny
> > results...
> > > >
> > > >On 9/23/06, Paul Peloski <[EMAIL PROTECTED]> wrote:
> > > >>
> > > >> --
> > > >> [ Picked text/plain from multipart/alternative ] I have to
> > > >> disagree. Right in the StartLagCompensation function you will
> > > >> see that the amount of time to back track the enemy player is
> > > >> calculated like
> > > >> this:
> > > >>
> > > >> back track time = cmd transit time (net. latency) + cl_interp
> > > >> value
> > > >>
> > > >> Check the first 10-15 lines of StartLagCompensation to see that

> > > >> in action (note that player->m_fLerpTime is elswhere set to the

> > > >> player's value for
> > > >> cl_interp.) cl_interp is the determining factor in how far
> > > >> behind the client renders an entity vs. the servers position
data.
> > > >>
> > > >> The amount the player is moved back is not simply the players
> > > >> ping,
> >
> > > >> its a composite of how far behind their rendering is
> > > >> (cl_interp) and how long it took for their ucmd to reach the
server.
> > > >>
> > > >> And yes, like I said you can do it in FireBullets if you use
> > > >> IsPlayer and cast the entity to CBasePlayer, but you can also
> > > >> do it
> >
> > > >> in RunCommand and catch other situations where you use
> > > >> tracelines but are not necessarily calling FireBullets.
> > > >>
> > > >> On 9/23/06, Robbie Groenewoudt <[EMAIL PROTECTED]> wrote:
> > > >> >
> > > >> > --
> > > >> > [ Picked text/plain from multipart/alternative ] In fact, I
> > > >> > already moved it to CBaseEntity::FireBullets and I tested it
> > > >> > and it works. player_command.cpp sets the last usercmd in the

> > > >> > player class, which you can get via
CBasePlayer::GetLastUserCommand().
> > > >> > Also, func_tank gives the player as an argument to
> > > >> > FireBullets() so in the class itself
> > > >> I
> > > >> > do
> > > >> > a pAttacker->IsPlayer() check, which works for everything.
> > > >> >
> > > >> > You are forgetting something. It's ping. And if you have a
> > > >> > ping of
> > > >> 250ms,
> > > >> > you don't hit anything because the location of players are
> > > >> > different
> > > >> 250ms
> > > >> > ago. Lagcompensation fixes this by moving all other players,
> > > >> > that
> >
> > > >> > the player could shoot, back in time (amount is equivalent to

> > > >> > the
> >
> > > >> > player's ping )
> > > >> and
> > > >> > then execute the tracelines to check if a bullet has hit
someone.
> > > >> > Interpolation has nothing to do with lagcompensation.
> > > >> >
> > > >> > On 9/23/06, Paul Peloski <[EMAIL PROTECTED]> wrote:
> > > >> > >
> > > >> > > --
> > > >> > > [ Picked text/plain from multipart/alternative ] What Teddy

> > > >> > > said is probably the best place. CBaseEntity::FireBullets
> > > >> is
> > > >> > > probably not good because StartLagCompensation takes
> > > >> > > CBasePlayer and CUserCmd as parameters so passing the this
> > > >> > > pointer from within CBaseEntity::FireBullets won't compile,

> > > >> > > you'd have to wrap it in IsPlayer(), so there's no benefit
> > > >> > > to func_tank.
> > > >> > >
> > > >> > > Garry's right, the lag compensation moves the player back
> > > >> > > to match
> > > >> what
> > > >> > > the
> > > >> > > client would have been shooting at since the client is
> > > >> > > behind the
> > > >> > server.
> > > >> > > Client rendering is always kept (cl_interp 0.1, ~100 ms)
> > > >> > > behind
> >
> > > >> > > the
> > > >> > server
> > > >> > > so that the client can keep enough data ahead of the actual

> > > >> > > rendering
> > > >> to
> > > >> > > smoothly interpolate movement.
> > > >> > >
> > > >> > > You can get a really good idea what's going on by adding a
> > > >> > > bot,
> > > >> turning
> > > >> > on
> > > >> > >
> > > >> > > sv_showhitboxes 2
> > > >> > > sv_showlagcompensation 1
> > > >> > > host_timescale 0.1
> > > >> > >
> > > >> > > Now you should see some colorful hitboxes that are the
> > > >> > > servers
> > > >> position,
> > > >> > > the
> > > >> > > rendered enemy player is the clients which lags behind
> > > >> > > those hitboxes because of cl_interp, and when you shoot at
> > > >> > > the bot, you should see a bunch of blue hitboxes which are
> > > >> > > the lag compensated hitboxes that are
> > > >> > actually
> > > >> > > used when tracing your shots. In slowmo you can see that
> > > >> > > the blue
> > > >> boxes
> > > >> > > overlap the client-rendered player pretty well.
> > > >> > >
> > > >> > > Hope that helps, BK & Robbie.
> > > >> > >
> > > >> > > On 9/23/06, Robbie Groenewoudt <[EMAIL PROTECTED]> wrote:
> > > >> > > >
> > > >> > > > --
> > > >> > > > [ Picked text/plain from multipart/alternative ] Let me
> > > >> > > > rephrase that last. Maybe the best place to lagcompensate
> > > >> would
> > > >> > > be
> > > >> > > > CBaseEntity:FireBullets(). Then you are sure no other
> > > >> > > > things get
> > > >> > messed
> > > >> > > > up... (there's some other stuff in CBasePlayer::PostThink

> > > >> > > > that may
> > > >> not
> > > >> > > > like
> > > >> > > > changing positions).
> > > >> > > >
> > > >> > > > Also, it's possible that the func_tank has no
> > > >> > > > lagcompensation
> >
> > > >> > > > at the moment (I'm not sure) so moving it to
> > > >> > > > FireBullets() would do
> > > >> lagcompensation
> > > >> > > for
> > > >> > > > everything that fires bullets ;) I doubt that it's called

> > > >> > > > more then
> > > >> > once
> > > >> > > > in
> > > >> > > > a frame so moving it shouldn't be harmfull.
> > > >> > > >
> > > >> > > > Just thinking out loud here... Please tell me if I am
> > > >> > > > wrong
> > > >> > > > :)
> > > >> > > >
> > > >> > > > On 9/23/06, Robbie Groenewoudt <[EMAIL PROTECTED]>
wrote:
> > > >> > > > >
> > > >> > > > > FX_FireBullets() calls CSDKPlayer::FireBullet() and
> > > >> > > > > that's where
> > > >> the
> > > >> > > > > bullet-code is done.
> > > >> > > > >
> > > >> > > > > However, with mods based on HL2DM, it's a bit
different.
> > > >> > > > > CBasePlayer::PostThink() calls
> > > >> > > > > CBasePlayer::ItemPostFrame()
> >
> > > >> > > > > and
> > > >> that
> > > >> > > > calls
> > > >> > > > > the ItemPostFrame() of the weapon.. And that calls via
> > > >> > > > > via the
> > > >> > > function
> > > >> > > > > CBaseEntity::FireBullets(), which is the equivalent of
> > > >> > > > > CSDKPlayer::FireBullet().
> > > >> > > > >
> > > >> > > > > So lagcompensation in HL2DM mods should be done in
> > > >> > > > > PostThink() or ItemPostFrame().
> > > >> > > > >
> > > >> > > > > On 9/23/06, [EMAIL PROTECTED] <
> > > >> > > > [EMAIL PROTECTED]>
> > > >> > > > > wrote:
> > > >> > > > > >
> > > >> > > > > > Ah I think I'm starting to see how the pieces fit
> > > >> > > > > > together
> > > >> > then.  I
> > > >> > > > was
> > > >> > > > > > thrown off by all the FX code, thinking it was a
> > > >> > > > > > client-side
> > > >> > > function,
> > > >> > > > but
> > > >> > > > > > there's a surprisingly useful comment at the top of
> > > >> > FX_FireBullets:
> > > >> > > > > >
> > > >> > > > > > // This runs on both the client and the server.
> > > >> > > > > > // On the server, it only does the damage
calculations.
> > > >> > > > > > // On the client, it does all the effects.
> > > >> > > > > >
> > > >> > > > > > So client-rendering prediction is completely
> > > >> > > > > > unrelated to
> >
> > > >> > > > > > all of
> > > >> > > this.
> > > >> > > > > >
> > > >> > > > > > It looks like bullet weapons should still be fine
> > > >> > > > > > (which is what
> > > >> I
> > > >> > > > > > tested previously, and they did seem fine) but that
> > > >> > > > > > bludgeon
> > > >> > weapons
> > > >> > > > in the
> > > >> > > > > > SDK are no broken with respect to lag-compensated hit
> > > >> > > detection.  I'll
> > > >> > > > look
> > > >> > > > > > into that more.
> > > >> > > > > >
> > > >> > > > > > At 2006/09/23 04:18 AM, Garry Newman wrote:
> > > >> > > > > > >--
> > > >> > > > > > >[ Picked text/plain from multipart/alternative ] I
> > > >> > > > > > >think
> >
> > > >> > > > > > >it's the other way around.
> > > >> > > > > > >
> > > >> > > > > > >The server is moving the other players back to where

> > > >> > > > > > >it thinks
> > > >> > they
> > > >> > > > > > were
> > > >> > > > > > >when you fired the bullets, then tracing and seeing
> > > >> > > > > > >if you hit
> > > >> > > then,
> > > >> > > > > > then
> > > >> > > > > > >moving them back.
> > > >> > > > > > >
> > > >> > > > > > >
> > > >> > > > > > >
> > > >> > > > > > >On 9/23/06, [EMAIL PROTECTED] <
> > > >> > > > > > [EMAIL PROTECTED]>
> > > >> > > > > > >wrote:
> > > >> > > > > > >>
> > > >> > > > > > >> Forgive my perhaps naive question, but if you only

> > > >> > > > > > >> lag
> > > >> > compensate
> > > >> > > > > > during
> > > >> > > > > > >> bullet firing, and not the rest of the time, won't

> > > >> > > > > > >> you
> >
> > > >> > > > > > >> be
> > > >> > > rendering
> > > >> > > > > > your
> > > >> > > > > > >> opponents on screen in the wrong position?
> > > >> > > > > > >>
> > > >> > > > > > >> At 2006/09/22 06:48 PM, Teddy wrote:
> > > >> > > > > > >> >In the new SDK, StartLagCompensation happens on
> > > >> > > > > > >> >line
> > > >> > > > > > >> >#193 of sdk_fx_shared.cpp, during the
> > FX_FireBullets() function.
> > > >> It's
> > > >> > > done
> > > >> > > > > > >> >here so it doesn't effect player movement (aka
> > > >> > > > > > >> >sticky
> >
> > > >> > > > > > >> >player collisions). The problem with this is if
> > > >> > > > > > >> >your weapon needs
> > > >> > > > unlagged
> > > >> > > > > > >> >positions for anything other than firing bullets,

> > > >> > > > > > >> >it won't
> > > >> > work.
> > > >> > > > > > >> >
> > > >> > > > > > >> >I would recommend you instead
> > > >> > > > > > >> >StartLagCompensation before RunPostThink( player
> > > >> > > > > > >> >) in the
> > > >> > > > > > >> >CPlayerMove::RunCommand()
> > > >> > > function.
> > > >> > > > > > >> >
> > > >> > > > > > >> >On 9/23/06, Robbie Groenewoudt <
> > > >> > > > > > >> >[EMAIL PROTECTED]>
> > wrote:
> > > >> > > > > > >> >>--
> > > >> > > > > > >> >>[ Picked text/plain from multipart/alternative ]

> > > >> > > > > > >> >>Damn, you are right. There's no
> > > >> > > > > > >> >>StartLagCompensation-call
> > > >> in
> > > >> > > the
> > > >> > > > > > entire
> > > >> > > > > > >> >>code. I don't see any reason why it isn't
> > > >> > > > > > >> >>because it
> >
> > > >> > > > > > >> >>worked
> > > >> > > good.
> > > >> > > > > > In the
> > > >> > > > > > >> new
> > > >> > > > > > >> >>SDK-code the lagcompensation-code is even
> > > >> > > > > > >> >>expended... It's
> > > >> a
> > > >> > > bug
> > > >> > > > I
> > > >> > > > > > >> guess....
> > > >> > > > > > >> >>
> > > >> > > > > > >> >>On 9/22/06, Paul Peloski <[EMAIL PROTECTED]>
> > wrote:
> > > >> > > > > > >> >>>
> > > >> > > > > > >> >>> --
> > > >> > > > > > >> >>> [ Picked text/plain from multipart/alternative

> > > >> > > > > > >> >>> ] I'm at home now, sv_showlagcompensation the
> > > >> > > > > > >> >>> right name,
> > > >> > it's
> > > >> > > > > > >> implemented
> > > >> > > > > > >> >>> in
> > > >> > > > > > >> >>> player_lagcompensation.cpp with the following
> > > >> description:
> > > >> > > > "Show
> > > >> > > > > > lag
> > > >> > > > > > >> >>> compensated hitboxes whenever a player is lag
> > > >> compensated."
> > > >> > > > > > >> >>>
> > > >> > > > > > >> >>> If you compare the file player_command.cpp
> > > >> > > > > > >> >>> between
> >
> > > >> > > > > > >> >>> the
> > > >> old
> > > >> > > SDK
> > > >> > > > > > source
> > > >> > > > > > >> and
> > > >> > > > > > >> >>> the Aug 11 source, you should notice that the
> > > >> > > > > > >> >>> call
> >
> > > >> > > > > > >> >>> to
> > > >> > > > > > >> StartLagCompensation
> > > >> > > > > > >> >>> is missing from CPlayerMove::StartCommand in
> > > >> > > player_command.cpp
> > > >> > > > > > >> >>>
> > > >> > > > > > >> >>> I wondered about this when I merged the new
> > > >> > > > > > >> >>> SDK, and
> > > >> > decided
> > > >> > > to
> > > >> > > > > > keep
> > > >> > > > > > >> the
> > > >> > > > > > >> >>> startLagCompensation for our mod and haven't
> > > >> > > > > > >> >>> had any
> > > >> > problems
> > > >> > > > > > with
> > > >> > > > > > >> shots
> > > >> > > > > > >> >>> registering. Maybe this is a bug in the new
SDK?
> > > >> > > > > > >> >>>
> > > >> > > > > > >> >>> On 9/22/06, [EMAIL PROTECTED] <
> > > >> > > > > > >> [EMAIL PROTECTED]
> > > >> > > > > > >> >>> >
> > > >> > > > > > >> >>> wrote:
> > > >> > > > > > >> >>> >
> > > >> > > > > > >> >>> > Closest I see is
> > > >> > > > > > >> >>> > player_showpredictedposition, but it
> > > >> > > doesn't
> > > >> > > > > > seem
> > > >> > > > > > >> to
> > > >> > > > > > >> >>> > visually change anything at all.
> > > >> > > > > > >> >>> >
> > > >> > > > > > >> >>> > At 2006/09/21 08:41 AM, Paul Peloski wrote:
> > > >> > > > > > >> >>> > >--
> > > >> > > > > > >> >>> > >[ Picked text/plain from
> > > >> > > > > > >> >>> > >multipart/alternative ] Check that the lag
> > > >> > > > > > >> >>> > >compensation system is still being
> > > >> > used
> > > >> > > > to
> > > >> > > > > > move
> > > >> > > > > > >> >>> > entities
> > > >> > > > > > >> >>> > >when a player is shooting, IIRC you can use
> > > >> > > > > > sv_showlagcompensation
> > > >> > > > > > >> 1 or
> > > >> > > > > > >> >>> > >something similar to show some hitboxes
> > > >> > > > > > >> >>> > >when a player
> > > >> is
> > > >> > > > being
> > > >> > > > > > lag
> > > >> > > > > > >> >>> > >compensated (ie, you have to be shooting at

> > > >> > > > > > >> >>> > >him
> >
> > > >> > > > > > >> >>> > >and
> > > >> lag
> > > >> > > > > > >> compensation
> > > >> > > > > > >> >>> has
> > > >> > > > > > >> >>> > to
> > > >> > > > > > >> >>> > >be turned on, etc.) I remember the
> > > >> > > > > > >> >>> lagcompensation->StartLagCompensation
> > > >> > > > > > >> >>> > was
> > > >> > > > > > >> >>> > >missing in the player command code on the
> > > >> > > > > > >> >>> > >server side
> > > >> > with
> > > >> > > > > > regard
> > > >> > > > > > >> to
> > > >> > > > > > >> >>> the
> > > >> > > > > > >> >>> > lag
> > > >> > > > > > >> >>> > >compensation system when I first merged
> > > >> > > > > > >> >>> > >with the new
> > > >> > SDK.
> > > >> > > > > > >> >>> > >
> > > >> > > > > > >> >>> > >Sorry I can't be more specific, I'm at work

> > > >> > > > > > >> >>> > >and
> >
> > > >> > > > > > >> >>> > >don't
> > > >> > have
> > > >> > > > > > access
> > > >> > > > > > >> to
> > > >> > > > > > >> >>> the
> > > >> > > > > > >> >>> > SDK
> > > >> > > > > > >> >>> > >right now.
> > > >> > > > > > >> >>> > >
> > > >> > > > > > >> >>> > >On 9/21/06, [EMAIL PROTECTED]
> > > >> > > > > > >> >>> > ><
> > > >> > > > > > >> >>> > [EMAIL PROTECTED]>
> > > >> > > > > > >> >>> > >wrote:
> > > >> > > > > > >> >>> > >>
> > > >> > > > > > >> >>> > >> I'm getting lots of complaints from my
> > > >> > > > > > >> >>> > >> user base
> > > >> that,
> > > >> > > > > > following
> > > >> > > > > > >> the
> > > >> > > > > > >> >>> > SDK
> > > >> > > > > > >> >>> > >> update, lag prediction has gotten worse.

> > > >> > > > > > >> >>> > >> Has
> >
> > > >> > > > > > >> >>> > >> anyone
> > > >> > > else
> > > >> > > > > > >> experienced
> > > >> > > > > > >> >>> > >> this?  I haven't really experienced much
> > > >> > > > > > >> >>> > >> of a
> > > >> change,
> > > >> > > but
> > > >> > > > > > then I
> > > >> > > > > > >> >>> don't
> > > >> > > > > > >> >>> > have
> > > >> > > > > > >> >>> > >> as large of a ping to any of my mod's
> > > >> > > > > > >> >>> > >> servers
> >
> > > >> > > > > > >> >>> > >> as
> > > >> some
> > > >> > of
> > > >> > > > my
> > > >> > > > > > users
> > > >> > > > > > >> do.
> > > >> > > > > > >> >>> > >>
> > > >> > > > > > >> >>> > >> After receiving complaints a few days ago

> > > >> > > > > > >> >>> > >> I reviewed
> > > >> > SDK
> > > >> > > > > > changes
> > > >> > > > > > >> and
> > > >> > > > > > >> >>> > >> noticed massive amounts of code changes
> > > >> > > > > > >> >>> > >> around
> > > >> > > > > > prediction.  But
> > > >> > > > > > >> most
> > > >> > > > > > >> >>> of
> > > >> > > > > > >> >>> > it
> > > >> > > > > > >> >>> > >> seems to be centered around the creation
> > > >> > > > > > >> >>> > >> of a
> > > >> > seemingly
> > > >> > > > > > unused
> > > >> > > > > > >> and
> > > >> > > > > > >> >>> > pointless
> > > >> > > > > > >> >>> > >> NO_ENTITY_PREDICTION define to segregate
> > > >> > > > > > >> >>> > >> out the
> > > >> > > > prediction
> > > >> > > > > > >> >>> > code.  Maybe
> > > >> > > > > > >> >>> > >> it's used by Valve for debugging or
> > something?
> > > >> > > > > > >> >>> > >>
> > > >> > > > > > >> >>> > >> It's unclear whether any behavioral
> > > >> > > > > > >> >>> > >> changes exist -
> > > >> > > anyone
> > > >> > > > > > found
> > > >> > > > > > >> >>> > evidence
> > > >> > > > > > >> >>> > >> of any?  Unfortunately we got a years
> > > >> > > > > > >> >>> > >> worth of SDK
> > > >> > code
> > > >> > > > > > thrash in
> > > >> > > > > > >> one
> > > >> > > > > > >> >>> > patch,
> > > >> > > > > > >> >>> > >> so it's a bit much to try to code review.
> > > >> > > > > > >> >>> > >>
> > > >> > > > > > >> >>> > >> -bk
> > > >> > > > > > >> >>> > >>
> > > >> > > > > > >> >>> > >> _________________________________________
> > > >> > > > > > >> >>> > >> ____ __ To unsubscribe, edit your list
> > > >> > > > > > >> >>> > >> preferences, or view
> > > >> > the
> > > >> > > > list
> > > >> > > > > > >> >>> archives,
> > > >> > > > > > >> >>> > >> please visit:
> > > >> > > > > > >> >>> > >>
> > > >> > http://list.valvesoftware.com/mailman/listinfo/hlcoders
> > > >> > > > > > >> >>> > >>
> > > >> > > > > > >> >>> > >>
> > > >> > > > > > >> >>> > >--
> > > >> > > > > > >> >>> > >
> > > >> > > > > > >> >>> > >___________________________________________
> > > >> > > > > > >> >>> > >____ To unsubscribe, edit your list
> > > >> > > > > > >> >>> > >preferences, or view
> > > >> the
> > > >> > > list
> > > >> > > > > > >> archives,
> > > >> > > > > > >> >>> > please visit:
> > > >> > > > > > >> >>> > >
> > > >> http://list.valvesoftware.com/mailman/listinfo/hlcoders
> > > >> > > > > > >> >>> >
> > > >> > > > > > >> >>> > ____________________________________________
> > > >> > > > > > >> >>> > ___ To unsubscribe, edit your list
> > > >> > > > > > >> >>> > preferences, or view the
> > > >> > > list
> > > >> > > > > > >> archives,
> > > >> > > > > > >> >>> > please visit:
> > > >> > > > > > >> >>> > http://list.valvesoftware.com/mailman/listin
> > > >> > > > > > >> >>> > fo/h
> > > >> > > > > > >> >>> > lcoders
> > > >> > > > > > >> >>> >
> > > >> > > > > > >> >>> >
> > > >> > > > > > >> >>> --
> > > >> > > > > > >> >>>
> > > >> > > > > > >> >>> ______________________________________________
> > > >> > > > > > >> >>> _ To unsubscribe, edit your list preferences,
> > > >> > > > > > >> >>> or view the
> > > >> > list
> > > >> > > > > > archives,
> > > >> > > > > > >> >>> please visit:
> > > >> > > > > > >> >>> http://list.valvesoftware.com/mailman/listinfo
> > > >> > > > > > >> >>> /hlc
> > > >> > > > > > >> >>> oders
> > > >> > > > > > >> >>>
> > > >> > > > > > >> >>>
> > > >> > > > > > >> >>--
> > > >> > > > > > >> >>
> > > >> > > > > > >> >>_______________________________________________
> > > >> > > > > > >> >>To unsubscribe, edit your list preferences, or
> > > >> > > > > > >> >>view the
> > > >> list
> > > >> > > > > > archives,
> > > >> > > > > > >> please visit:
> > > >> > > > > > >> >>http://list.valvesoftware.com/mailman/listinfo/h
> > > >> > > > > > >> >>lcod
> > > >> > > > > > >> >>ers
> > > >> > > > > > >> >>
> > > >> > > > > > >> >
> > > >> > > > > > >> >_______________________________________________
> > > >> > > > > > >> >To unsubscribe, edit your list preferences, or
> > > >> > > > > > >> >view the list
> > > >> > > > > > archives,
> > > >> > > > > > >> please visit:
> > > >> > > > > > >> >http://list.valvesoftware.com/mailman/listinfo/hl
> > > >> > > > > > >> >code
> > > >> > > > > > >> >rs
> > > >> > > > > > >>
> > > >> > > > > > >> _______________________________________________
> > > >> > > > > > >> To unsubscribe, edit your list preferences, or
> > > >> > > > > > >> view the list
> > > >> > > > > > archives,
> > > >> > > > > > >> please visit:
> > > >> > > > > > >> http://list.valvesoftware.com/mailman/listinfo/hlc
> > > >> > > > > > >> oder
> > > >> > > > > > >> s
> > > >> > > > > > >>
> > > >> > > > > > >>
> > > >> > > > > > >--
> > > >> > > > > > >
> > > >> > > > > > >_______________________________________________
> > > >> > > > > > >To unsubscribe, edit your list preferences, or view
> > > >> > > > > > >the list
> > > >> > > > archives,
> > > >> > > > > > please visit:
> > > >> > > > > > >http://list.valvesoftware.com/mailman/listinfo/hlcod
> > > >> > > > > > >ers
> > > >> > > > > >
> > > >> > > > > > _______________________________________________
> > > >> > > > > > To unsubscribe, edit your list preferences, or view
> > > >> > > > > > the list
> > > >> > > archives,
> > > >> > > > > > please visit:
> > > >> > > > > > http://list.valvesoftware.com/mailman/listinfo/hlcode
> > > >> > > > > > rs
> > > >> > > > > >
> > > >> > > > > >
> > > >> > > > >
> > > >> > > > --
> > > >> > > >
> > > >> > > > _______________________________________________
> > > >> > > > To unsubscribe, edit your list preferences, or view the
> > > >> > > > list
> > > >> archives,
> > > >> > > > please visit:
> > > >> > > > http://list.valvesoftware.com/mailman/listinfo/hlcoders
> > > >> > > >
> > > >> > > >
> > > >> > > --
> > > >> > >
> > > >> > > _______________________________________________
> > > >> > > To unsubscribe, edit your list preferences, or view the
> > > >> > > list archives, please visit:
> > > >> > > http://list.valvesoftware.com/mailman/listinfo/hlcoders
> > > >> > >
> > > >> > >
> > > >> > --
> > > >> >
> > > >> > _______________________________________________
> > > >> > To unsubscribe, edit your list preferences, or view the list
> > > >> > archives, please visit:
> > > >> > http://list.valvesoftware.com/mailman/listinfo/hlcoders
> > > >> >
> > > >> >
> > > >> --
> > > >>
> > > >> _______________________________________________
> > > >> To unsubscribe, edit your list preferences, or view the list
> > > >> archives, please visit:
> > > >> http://list.valvesoftware.com/mailman/listinfo/hlcoders
> > > >>
> > > >>
> > > >--
> > > >
> > > >_______________________________________________
> > > >To unsubscribe, edit your list preferences, or view the list
> > archives, please visit:
> > > >http://list.valvesoftware.com/mailman/listinfo/hlcoders
> > >
> > > _______________________________________________
> > > To unsubscribe, edit your list preferences, or view the list
> > > archives,
> > please visit:
> > > http://list.valvesoftware.com/mailman/listinfo/hlcoders
> > >
> > >
> >
> > _______________________________________________
> > To unsubscribe, edit your list preferences, or view the list
> > archives, please visit:
> > http://list.valvesoftware.com/mailman/listinfo/hlcoders
> >
> >
> > _______________________________________________
> > To unsubscribe, edit your list preferences, or view the list
> > archives,
> please visit:
> > http://list.valvesoftware.com/mailman/listinfo/hlcoders
> >
> >
>
> _______________________________________________
> To unsubscribe, edit your list preferences, or view the list archives,

> please visit:
> http://list.valvesoftware.com/mailman/listinfo/hlcoders
>
>


--
- Benjamin Davison
--

_______________________________________________
To unsubscribe, edit your list preferences, or view the list archives,
please visit:
http://list.valvesoftware.com/mailman/listinfo/hlcoders


_______________________________________________
To unsubscribe, edit your list preferences, or view the list archives, please 
visit:
http://list.valvesoftware.com/mailman/listinfo/hlcoders

Reply via email to