RE: [hlcoders] Player Physics

2006-04-07 Thread John Sheu
All right, I'm going to try to phrase the question in what might be a
more intelligent manner.

Suppose that I have a physics object, with a physics shadow, whose
position I set at ( 0, 0, 0 ) and whose velocity I set as ( 1, 0, 0 ).
I then update the shadow twice, first with a target of ( 3, 0, 0 ) with
a time-to-arrival of 1 sec., then again with a target of ( 4, 0, 0 )
with a time-to-arrival of 1 sec.  The physics system then simulates.

Would I be correct in assuming that calling GetPosition and GetVelocity
on the physics object now gets me a position of ( 4, 0, 0 ) and a
velocity of ( 2, 0, 0 )?  The impulse applied, I assume, would be ( 1,
0, 0 ).


That is in the case of no collision.  In the case of a collision, will
the physics object be updated with the "correct" after-collision
position/velocity values?  I ask because I'm having some trouble with
this (obviously), and I'd like to see if I'm using the shadow system
correctly.

John Sheu


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



RE: [hlcoders] Player Physics

2006-04-06 Thread john-sheu
Except for, I assume, the "time to target" argument, which is incremented with
each call.  Correct?

Quoting Jay Stelly <[EMAIL PROTECTED]>:
> yes
>
> > -Original Message-
> > From: [EMAIL PROTECTED]
> > [mailto:[EMAIL PROTECTED] On Behalf Of
> > [EMAIL PROTECTED]
> > Sent: Thursday, April 06, 2006 10:55 AM
> > To: hlcoders@list.valvesoftware.com
> > Subject: RE: [hlcoders] Player Physics
> >
> > So would I be correct in presuming that only the last call to
> > Update() on the shadow controller "matters"?


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



RE: [hlcoders] Player Physics

2006-04-06 Thread john-sheu
So would I be correct in presuming that only the last call to Update() on the
shadow controller "matters"?

Quoting Jay Stelly <[EMAIL PROTECTED]>:
> There aren't any intermediate states, so there is a loss of precision as
> the entire movement is linearized per batch of updates (single target
> position).  The important difference is that the velocity and error
> stuff doesn't get aggregated across the batch of user commands so the
> player doesn't suddenly teleport or move faster.
>
> And yes, the underlying functions still work, but the controller will of
> course modify the velocity of the object.
>
> Jay

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



RE: [hlcoders] Player Physics

2006-03-31 Thread John Sheu
A few more questions:

So, as I understand it, how the player controller works:

If there is no backlog of CUserCmds, then the player is simulated by
CGameMovement and VPhysics for one tick, and at the end of the frame the
two are reconciled.

If there is a backlog of CUserCmds, then the player is simulated by the
CGameMovement as before.  The player shadow is given a set of
"intermediate targets" (based on the positions calculated at the end of
every batch of CUserCmds), and then this is VPhysics-simulated in one
frame, but with a time delta to match the difference between the first
simulated backlogged frame and the last simulated backlogged frame.

Given that, as said, the player and shadow controllers are almost
identical, I conclude that the shadow controller works as well by
setting a bunch of "intermediate states" and associating a time with
each of them, then simulating it all in one frame.  Is that correct?

Also, am I right in assuming that the underlying IPhysicsObject
functions still work?  (e.g., SetVelocity(), etc.)?


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



RE: [hlcoders] Player Physics

2006-03-31 Thread John Sheu
On Fri, 2006-03-31 at 18:19 -0800, Jay Stelly wrote:
> So reconciliation could mean that the vphysics data is copied over to
> the game - which means the original game simulation is replaced with the
> physics simulation.  It could also mean that the vphysics data is thrown
> away, or blended into the result.  It's much more correct to say that
> the players are always simulated in game code AND vphysics code.  Then
> the results are selected or blended based on heuristics.  Gravity runs
> in both simulations - the output position of the game physics provides
> the input direction for the vphysics simulator.

Perhaps I should have clarified.  As I see it, the CGameMovement code
computes an end position, given a start position, and feeds that target
into the VPhysics system.  The VPhysics system then does its best to
reach that target.  The difference between the VPhysics position and the
CGameMovement position is then heuristically reconciled.

> The shadow is updated once, but the resulting output target is reached
> over some amount of future ticks.

That's what I meant; perhaps I should have said that explicitly.

> Player and shadow controllers are nearly identical.  The idea is to
> solve an overdetermined system for impulses that will cause the physics
> object to arrive at the target position & orientation at some point in
> the future (usually the beginning of the next tick).  Vehicle
> controllers include a vehicle suspension, steering, and engine model -
> and are generally forward controllers (you give them input and they
> generate physics, they don't solve for impulses).
>
> Motion controllers are just generic hooks to let you introduce your own
> impulses to the object at the time that it is integrated.  You implement
> IMotionEvent and add velocity to the object to "steer" it.  A shadow
> controller is a motion controller with some specific behavior that
> chases targets.

Those two paragraphs are worth their weight in gold.  Thanks Jay :)

John Sheu


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



Re: [hlcoders] Player Physics

2006-03-31 Thread John Sheu
On Fri, 2006-03-31 at 15:09 -0500, Jorge Rodriguez wrote:
> Wow! For once, an informative, accurate and thoughtful post in a list
> that usually contains nothing but cruft! You caught me off guard.
> Thanks, John.

All hope is not dead on teh intarnets.

A few notes:

Correction: the shadow is not updated for every CUserCmd, but for every
_batch_ of commands.

If the user's commands are dropped for some reason, then the player is
not simulated at all server-side.  (His physics shadow doesn't move, but
it still exists).  When the commands finally to arrive, they are then
all simulated in the timespace of a single frame.

What exactly are the non-obvious differences between the
Player/Vehicle/Shadow/Motion controllers?

> Actually, CGameMovement is pretty much a direct port to C++ of HL1's C
> pm_shared code. Most of the physics and alot of the code has been
> retained. The only real functional difference between HL1 and HL2
> movement code is the player vphysics shadow, and all that does is move
> the player around a little bit if his movement interferes with vphysics.
> To get movement code identical to HL1, effectively all you would need to
> do is remove the code from VPhysicsShadowUpdate(), but then your player
> would lose all interaction with physics objects, and why would you want
> that?

That was essentially my point.  It's not my problem, though, it's KMod's
problem.  I just brought it up because I noticed a few mailings on this
list from them.

John Sheu


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



[hlcoders] Player Physics

2006-03-31 Thread John Sheu
I'm going to put this here both as a note to myself and as a way of
getting commentary on this from anybody who is interested in player
physics, server-side.  Please do correct me if anything is wrong here.

So how does player physics work?

At the very base are the CUserCmds that are fed into the server.
CServerGameClients (I will be referring to these by implementation, not
interface) gets these through ProcessUsercmds() and passes them on to
CBasePlayer's ProcessUsercmds().  They're buffered there.

Now there comes a time when GameFrame() is called in CServerGameDLL.
The call chain of interest is:

CServerGameDLL::GameFrame()
Physics_RunThinkFunctions()
Physics_SimulateEntity()
CBasePlayer::PhysicsSimulate()

Now is where the CUserCmds are actually used.  For each CUserCmd, this
happens:

  Each CUserCmd is passed into CBasePlayer::PlayerRunCommand().
  CPlayerMove::RunCommand() is called, calling these three:

CBasePlayer::SetupMove() [prepares the CMoveData]
CGameMovement::ProcessMovement() [updates pos, vel, etc.]
CBasePlayer::FinishMove() [copies the updated data back]

  The VPhysics shadow object is updated with new pos and vel.

Ok then, all CUserCmds are processed.  Then, CServerGameDLL::GameFrame()
calls IGameSystem::FrameUpdatePostEntityThinkAllSystems(), and this
happens:

CPhysicsHook::FrameUpdatePostEntityThink()
PhysFrame()

In this function, the entire physics environment is first simulated.
Then, CBasePlayer::VPhysicsShadowUpdate() is called.  This is where the
fun stuff is, where the player entity's position is reconciled with what
the physics system thinks it is.

Then, after all this, data is sent off to the client, yadda yadda.


  SO  


What's the moral of the story?  Here's what I get out of the code:

For player movement, what happens is that player's aren't really
physically simulated at all!  Everything (movement, gravity, swimming,
etc.) is handled by the CGameMovement class.  With every CUserCmd:

1.  CGameMovement "simulates" the player and derives new pos/vel.
2.  A physics "shadow object" is updated with the new pos/vel.

This happens for every CUserCmd.  Then, after all the CUserCmds have
been processed that frame, the physics simulation actually occurs.  At
this time, _all the VPhysics shadow updates for that frame are processed
at once_.  Let's say, there were 3 CUserCmds from the player processed
this frame, then the 3 shadow state updates will happen sequentially in
the same frame.

After physics simulation occurs, the player entity is reconciled with
the VPhysics entity.  Any VPhysics damage or position/velocity
differences are copied back into the entity.  Then the ent data is
packaged and shot off to the clients.


  QUESTIONS  

1.  Are we guaranteed only 1 CUserCmd processed per frame?


  OTHER THOUGHTS 


I haven't seen any GoldSrc code before, but I suspect that the only way
to _exactly_ reproduce GoldSrc player physics would be some crazy coding
in VPhysicsShadowUpdate(), or even stripping the player of VPhysics
simulation entirely.  You'll likely do a _lot_ of copy-pasting of
GoldSrc code either way.  I think, to be honest, that you'll have to go
the latter route (nuking VPhysics) because there's no way that VPhysics
will exactly reproduce GoldSrc physics.  You'll have to do it all in
CGameMovement.


John Sheu


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



Re: [hlcoders] The Wall Bug of KZMOD

2006-03-28 Thread John Sheu
My first guess would be that it has something to do with the physics
shadow being used for the player.  You've looked at the GameMovement
class evidently; I'd also advise you to take a look at VPhysicsUpdate()
in BasePlayer.  That is where the physics model and the player positions
get reconciled.

John Sheu

On Tue, 2006-03-28 at 17:08 +0200, Tim Lippert wrote:
> Thanks for the reply, but this can't be a solution. Our maps are really huge 
> and it would not be a good idea to cover entire areas where the jumps are 
> with clip brushes. Some maps have close to 600 jumps and are not all nicely 
> placed in a line either. Some may even be attached to a 32 sided cylinder. I 
> dont think that CSS or HL2 has clip brushes on all thier walls and 
> displacements, especially since we have 2 maps with nothing but 
> displacements...this trick will also take away one unit of grid space the 
> player can walk on which is sometimes very crucial.
>
> I have been given the belief that the hl code was looked at, at least I had 
> asked Jason to loook through it while he programmed it, because Yahn Bernier 
> gave me the same tip and said you could get it exactly the same, but Jason 
> never saw the way to make it work or just didn't find it.
>
> There must be another way. I am also getting reports that people are falling 
> through displacements while playing the game. It happened to me once as well.
>
>
>
> > Date: Mon, 27 Mar 2006 17:42:12 -0800 (PST)
> > From: "Adam \"amckern\" Mckern" <[EMAIL PROTECTED]>
> > Subject: Re: [hlcoders] The Wall Bug of KZMOD
> > To: hlcoders@list.valvesoftware.com
> > Reply-To: hlcoders@list.valvesoftware.com
> >
> > One way to fix stuck on object, is to cover over the
> > areas where it apperas with a 'player clip' brush - it
> > stops the hit box geting stcuk, and the phiscs sytem
> > is then happy.
> >
> > As for the other items you litsed, I dont know where
> > to start looking for answers, other then loading up
> > the hl1 sdk, and look at gamemovemnt.cpp
> >
> > Adam
>
> __
> Verschicken Sie romantische, coole und witzige Bilder per SMS!
> Jetzt bei WEB.DE FreeMail: http://f.web.de/?mc=021193
>
>
> ___
> 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



Re: [hlcoders] String table case insensitivity causes problems.

2006-03-27 Thread John Sheu
I haven't bothered looking at the code involved myself yet, but I
suspect that there's a reason for why it's stricmp now.  This is one
case in which I think it would be better to "patch the leaks" rather
than try to "fix the problem at the root".  If any bugs came up, as in
the hud_chat, I'd go ahead and fix up the hud_chat itself.

My two cents.

John Sheu


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



Re: [hlcoders] Source SDK Update Released

2006-03-10 Thread John Sheu
I sleep better at night, knowing that Teddy is on the case!

-John Sheu

On Sat, 2006-03-11 at 08:23 +1000, Teddy wrote:
> Any news on the update David? Must be getting close now! :-)
>
> On 2/18/06, David Speyrer <[EMAIL PROTECTED]> wrote:
> > Yep, we're still working on it. Thanks for being patient.
> >
> > -Original Message-
> > From: [EMAIL PROTECTED]
> > [mailto:[EMAIL PROTECTED] On Behalf Of Teddy
> > Sent: Wednesday, February 15, 2006 12:06 PM
> > To: hlcoders@list.valvesoftware.com
> > Subject: Re: [hlcoders] Source SDK Update Released
> >
> > Any update on the SDK code update David?
> >
> > On 1/19/06, David Speyrer <[EMAIL PROTECTED]> wrote:
> > > We're working on the SDK code update now and it should be released
> > > within the next few weeks.
> > >
> > > -- David
> > >
> > > -Original Message-
> > > From: [EMAIL PROTECTED]
> > > [mailto:[EMAIL PROTECTED] On Behalf Of Adam
> > > "amckern" Mckern
> > > Sent: Wednesday, January 18, 2006 5:27 AM
> > > To: hlcoders@list.valvesoftware.com
> > > Subject: Re: [hlcoders] Source SDK Update Released
> > >
> > > HDR - what i am after is just the code to hook the hdr
> > > shader in - i might see what OpenEXR is like, it might
> > > be quicker then wating on the sdk.
> > >
> > > http://www.openexr.com/ Made by ILM and looks to be
> > > free.
> > >
> > > Adam
> > >
> > > --- Garry Newman <[EMAIL PROTECTED]> wrote:
> > >
> > > > --
> > > > [ Picked text/plain from multipart/alternative ]
> > > > What are we expecting in the code updates again?
> > > >
> > > >
> > > > On 1/18/06, Jason Houston <[EMAIL PROTECTED]>
> > > > wrote:
> > > > >
> > > > > --
> > > > > [ Picked text/plain from multipart/alternative ]
> > > > > I'm with Adam on this one, I have been waiting for
> > > > too long for the new
> > > > > code
> > > > > sdk's. I was expecting them right after DOD:S,
> > > > then Lost Coast came out.
> > > > > So
> > > > > please, a guesstimate on that would be great. Put
> > > > us out of our misery
> > > > > here.
> > > > >
> > > > > --
> > > > > Draco
> > > > > --
> > > > >
> > > > > ___
> > > > > 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
> > > >
> > > >
> > >
> > >
> > > 
> > >
> > > My Website http://www.ammahls.com
> > >Lead Programer NightFall http://www.nightfallmod.net
> > >   Developer of CST and ZHLT 3.0 http://www.zhlt.info
> > >  Team Lead - Prime - Website TBA...
> > >
> > > This email has been sent from Adam McKern, and is not one of the many
> > > spam bots that use my email address.
> > >
> > > If you receive an email that has not got this signature line, please
> > > delete the email, and not respond in any way to it.
> > >
> > > __
> > > Do You Yahoo!?
> > > Tired of spam?  Yahoo! Mail has the best spam protection around
> > > http://mail.yahoo.com
> > >
> > > ___
> > > 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



[hlcoders] Shaders

2006-03-07 Thread John Sheu
I think something is messed up with the shader compilation tools.  It
could be just me, or it could be that I truly have the basis for
righteous indignation :)

A bit of background: I've been compiling shaders and sending them off to
other people to test (as I'm writing shaders for PS 3.0, but I don't
have a card that supports it).  It's been a rather frustrating three
days, as everything that should work isn't.  For some reason, no matter
what shaders I send them, they all fail in exactly the same way that my
first revision failed (i.e. I've sent them multiple revisions, but they
all exhibit the behavior of the first revision).

So I did a bit of testing on my own system with some PS 2.0 shaders.  It
eventually came down to this: I compiled me a parallax shader and put it
in gamedir/bin, and all was well with "mat_parallaxmap 1".  Then I
modified the shader to do only one thing:

return HALF4( 1.0f, 0.0f, 0.0f, 1.0f );

and compiled the shader sources but DID NOT UPLOAD THE UPDATED DLL.  All
the same, the next time I was in-game, everything was bright-red, as
would be expected for the code above!

Thus I suspected that the DLL was linking to the shaders in my
development folder.  To test that, I booted the DLL over to my Linux
system and did a search for strings corresponding to the location of my
development tree.  Basically:

strings game_shader_generic_parallax.dll | grep 'sdkshaders'

gave me a few lines like so:

z:\src\sdkshaders\parallax\SHADERFILE


In summary, I'm pretty sure that the DLLs aren't correctly referencing
the shaders included in the DLL itself.  (As a sidenote, I also found it
strange that all my shader DLLs, regardless of the contents of the
shader source, compiled to the same exact size, byte-for-byte.  I don't
remember the exact byte size, but it came out to 388 KB).

Your friendly neighorhood hlcoder,
-John Sheu


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



Re: [hlcoders] Linux Compile

2006-03-05 Thread John Sheu
On Mon, 2006-03-06 at 02:02 -0500, Justin Krenz wrote:
> I finally managed to get my mod to compile in Linux.  However, some of the
> maps cause a segfault.  I guess I'll have to figure out how to use the gcc
> debugger for that.  However, the one map that does work does not have any
> collisions between the player and models spawned in the level.  When
> compiling, I ran into problems with case-sensitive names and files.  Could
> this also be the issue with the lack of collisions?  If a server tries to
> load a file that has a different case than what is specified, would the
> server just ignore it and continue on?  Is srcds internally case-sensitive
> when running on Linux?

In Linux, file names are case-sensitive.


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



Re: [hlcoders] Why VectorNormalize?

2006-03-05 Thread John Sheu
On Mon, 2006-03-06 at 00:02 -0500, Jorge Rodriguez wrote:
> Presumably they can answer my question, because one of them removed the
> function and knows why it was done. I expect that the answer is that
> returning a pass-by-reference copy constructed Vector is much slower
> then normalizing the Vector in place, and they wanted to force
> programmers to use the faster function by removing the old one. Or, if
> they have another explination that works, I'd be happy too. Nobody on
> this list has answered the "why" part of my question, they've just given
> me cruft that I already know.

I presume that if you've already answered your own question, there's no
point in asking it.


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



Re: [hlcoders] Overlay Text

2006-02-28 Thread John Sheu
On Tue, 2006-02-28 at 16:50 -0700, LDuke wrote:
> I'd like to use IVDebugOverlay::AddEntityTextOverlay to show some
> information on various entities to players. It seems to only work for the
> listen server host, and then only in developer mode.

AFAIK, this is another one of those "feature, not bug" situations.  The
debug overlay is just that: an overlay for use in debugging, not one for
use in "normal" gameplay.  Thus it is only visible with cheats on in
developer mode.  I'm not surprised that it works only for the server
host as well.

-John Sheu


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



RE: [hlcoders] PS 3.0

2006-02-27 Thread John Sheu
On Mon, 2006-02-27 at 11:29 -0800, Alfred Reynolds wrote:
> You have the wit of a programmer... I have passed on this request to our
> graphics ninjas.

Is it a good thing to have "the wit of a programmer"?  Hmm

In any case, I would rather have the wit of a ninja.  To wit:

Ninja: So, a man walks into a bar... HEY YOU!
Ninja: You dare refuse to laugh at my jokes?
Bystander: Uhh, they're not funny, sir.
Ninja: How dare you!
* Ninja cuts bystander in half
Ninja: Laugh! I command it!

Yes, that's the way to instand success as a stand-up comedian.  In any
case, I'm glad to hear that the "graphics ninjas" are on the case :)

-John Sheu


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



Re: [hlcoders] Re: PS 3.0

2006-02-27 Thread John Sheu
On Sun, 2006-02-26 at 22:20 -0800, Adam "amckern" Mckern wrote:
> I have no idea what your trying to do...

Just a joke. :)

The real point is, there's already a "SupportsPixelShaders_2_0()" call
(and a "SupportsPixelShaders_1_4()" call) that you can use to find out
what pixel shader model the card supports.  Would be nice if there was a
call to query 3.0 support as well.

-John Sheu


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



[hlcoders] Re: PS 3.0

2006-02-26 Thread John Sheu
Before you get all antsy on me, let me correct this.

[EMAIL PROTECTED] ~ $ ssh [EMAIL PROTECTED]
Password:
Last login: Wed Jan 18 23:29:47 2006 from 127.0.0.1
[EMAIL PROTECTED] ~ $ write alfred
We need "SupportsPixelShaders_3_0()" in
"imaterialsystemhardwareconfig.h".  Thanks.
^D
[EMAIL PROTECTED] ~ $ exit
logout

Connection to valvesoftware closed.
[EMAIL PROTECTED] ~ $ exit


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



[hlcoders] PS 3.0

2006-02-26 Thread John Sheu
I'm going to put this in as many languages as I think I know so it
should be impossible to miss :)



Dear Valve:

Please add "SupportsPixelShaders_3_0()" in
"imaterialsystemhardwareconfig.h".  Thanks.

-John



Hallo Valve:

Bitte stecken sie "SupportsPixelShaders_3_0()" im
"imaterialsystemhardwareconfig.h".  Danke.

-John



y0 Valve d00dz:

could u guyz put "SupportsPixelShaders_3_0()" in
"imaterialsystemhardwareconfig.h" kthnx

-John



[EMAIL PROTECTED] ~ $ ssh [EMAIL PROTECTED]
Password:
Last login: Wed Jan 18 23:29:47 2006 from 127.0.0.1
[EMAIL PROTECTED] ~ $ write alfred
We need "SupportsPixelShaders_3_0()" in
"imaterialsystemhardwareconfig.h".  Thanks.
^D
[EMAIL PROTECTED] ~ $ exit
logout

Connection to valvesoftware closed.
[EMAIL PROTECTED] ~ $ exit


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



Re: [hlcoders] Best way to kick a player?

2006-02-26 Thread John Sheu
On Sun, 2006-02-26 at 01:13 +, Benjamin Davison wrote:
> Can't find any examples from commands like "kick" and "kickid"

Find his home address.  Drive over and wait.  Kick in the shins.  Leave.
Rinse and repeat.

Or you could pay somebody to do it for you.


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



Re: [hlcoders] Masking hud textures

2006-02-17 Thread john-sheu
Quoting Jason Houston <[EMAIL PROTECTED]>:
> Ok, I'll try that tomorow, though when I looked at CHudTexture that wasn't a
> member, I'll have to find another container for my base texture I think.

I'm not sure what you mean by that.  To use these vgui::surface methods, you
just have to override the Paint() function.  See Paint() in CHudTexture for an
example.

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



Re: [hlcoders] Masking hud textures

2006-02-17 Thread john-sheu
Quoting Jason Houston <[EMAIL PROTECTED]>:
> I have been having trouble with the VGUI2 code for the HUD. On my mod's HUD
> we have 2 bars, stamina and health. The bars are these little vials of
> liquid. The thing is, I can't get it to draw like it did in HL1. In the hl1
> version we would mask the top and go down as health or stamina decreased, so
> it looked like the vial was filling and draining. In VGUI2 the crop doesn't
> allow me to do that. Can anyone point me in the right direction with this?
> At the moment I am using the method I found half worked, but it looks...
> awkward. The whole top image of the vial moves down and crops at the bottom.
>
> http://www.bgmod.com/team/draco/screens/bg_ambush.jpg (I'm still working
> on the new version of the HUD, shown there, you can see how crappy the bars
> look that way though)
>
> But yeah, I need something like the scissors in HL1, so I can mask the top
> as health/stamina decreases.

Just masking the top is easy.  (The hard thing, which I have yet to hear a
solution for, is actual "masked" textures.)  Do the DrawTexturedSubRect()
methods with appropriate width/height and texcoords.

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



Re: [hlcoders] Sample code for comparing lots of strings

2006-02-15 Thread John Sheu
On Wed, 2006-02-15 at 18:02 -0600, Daniel Wilson wrote:
> I shall have to check the CUtl* classes out, is that with the Source SDK? I
> only have the HLSDK at present.

Yes, that's with the HL2SDK.  I have no doubt, though, that you could
just copy over the classes; they're just template classes, with no
particular association to any Source engine feature or code.


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



Re: [hlcoders] Sample code for comparing lots of strings

2006-02-15 Thread John Sheu
On Wed, 2006-02-15 at 16:36 -0600, Daniel Wilson wrote:
> Nice code,
>
> If your list grows larger, you could use a hash table or, in such a case, I
> would prefer one of the tree structures like AVL. You would have to populate
> them at runtime, but that are much faster, especially with large amounts of
> entries.
>
> In this case a tree would be better because you probably also want to
> iterate over all entrees alphabetically such as listing all the commands a
> client has access too.
>
> Danni

Not quite.  He can iterate alphabetically as well.  Also, this tight
loop is actually marginally faster than any AVL code (because it avoid
pointer dereferencing, which any binary tree implementation would have
to do).  I say marginally, because the number of CPU cycles that would
save you could probably count with your fingers, never mind polydactyly.

The point actually is that this is good, _if_ you intend to hard-code it
like this.  The drawbacks are (1) this cannot be dynamically-updated and
(2) you have to manually sort the array when coding.  Trees (like AVL
trees or what the HL2SDK seems to use, red-black trees) are dynamically
updateable, but they have some insertion overhead.  (Not much.)  Access
is for all intents and purposes the same speed.

So really, it depends on what you want to do, and how much complexity
you're going to bother with.  Given that this particular instance is one
that doesn't need dynamic insertion/deletion, hard-coding is fine.  If
you need more complex data structures, though, the handy-dandy CUtl*
classes are already pre-written by Valve for your use, and they include
hashmaps, trees, dictionaries, etc.


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



Re: [hlcoders] Merry Christmas

2005-12-26 Thread John Sheu
On Sun, 2005-12-25 at 23:28 -0600, Aaron Schiff wrote:
> --
> [ Picked text/plain from multipart/alternative ]
> It's never better late than never...ever

Quite clever.


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



RE: [hlcoders] IPhysicsObject, client-side

2005-12-20 Thread John Sheu
So I take it that there's no way to extract the velocity and angular
velocity client-side, as of now?  Unless, of course, those vectors are
explicitly networked?

On Tue, 2005-12-20 at 18:17 -0500, Tony "omega" Sergi wrote:
> The player stuff is so jittery because there is no client side shadow that
> gets affected. Only game physics (pmove) are predicted.
> So non-vphysics collisions work exactly like hl1.
>
>
> -Original Message-
> From: Aaron Schiff [mailto:[EMAIL PROTECTED]
> Sent: December 20, 2005 6:11 PM
> To: hlcoders@list.valvesoftware.com
> Subject: Re: [hlcoders] IPhysicsObject, client-side
>
> --
> [ Picked text/plain from multipart/alternative ]
> this problem probably explains why player-physics interactions are so
> jittery...the client should get the velocity networked to them and simulate
> it
>
> On 12/20/05, John Sheu <[EMAIL PROTECTED]> wrote:
> >
> > I'm having some trouble trying to grab the velocity and angular velocity
> > from a physics-simulated entity, client-side.
> >
> > Both client- and server-side, CreateVPhysics() is called, and the
> > IPhysicsObject apparently correctly created.  However, GetVelocity() on
> > that object on the server side returns the velocity and angular velocity
> > vectors, as expected.  On the client side, though, both come back as
> > ( 0, 0, 0 ).  Perhaps IPhysicsObject is not being networked properly, or
> > some such?
> >
> > As you might guess, my purpose is to try to grab the velocity and
> > angular velocity on the object, by any means possible.  Other than
> > networking the two vars explicitly, is there another way to do this?
> >
> >
> > ___
> > 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



[hlcoders] IPhysicsObject, client-side

2005-12-20 Thread John Sheu
I'm having some trouble trying to grab the velocity and angular velocity
from a physics-simulated entity, client-side.

Both client- and server-side, CreateVPhysics() is called, and the
IPhysicsObject apparently correctly created.  However, GetVelocity() on
that object on the server side returns the velocity and angular velocity
vectors, as expected.  On the client side, though, both come back as
( 0, 0, 0 ).  Perhaps IPhysicsObject is not being networked properly, or
some such?

As you might guess, my purpose is to try to grab the velocity and
angular velocity on the object, by any means possible.  Other than
networking the two vars explicitly, is there another way to do this?


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



[hlcoders] Test

2005-12-05 Thread John Sheu
No really, it's a test.  Really.

... If you must know, I seem to be getting these HL-related list
mailings on my old e-mail account, even though I have unsubscribed at
that address and re-subscribed on this new one.  (The web interface at
http://list.valvesoftware.com/mailman/listinfo/hlcoders shows that I am
indeed unsubscribed at my old address and subscribed at my new one.) I'm
just trying to straighten it out.  Thank you for your patience.


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



Re: [hlcoders] Threading

2005-12-05 Thread John Sheu
On Sat, 2005-12-03 at 22:55 -0600, Pat Magnan wrote:
> AFAIK threads are inherently a platform specific device, and at one time
> could not be counted on even being present on a platform (Linux has had a
> few versions of 'threads' over the years, in fact, it hasn't always even
> supported them, like about the time HL was released there were none IIRC).

The Linux kernel has had thread support since early 1996.  That's
something like 2.5 years before HL was released.  User-space thread
libraries (of which there have been several) predate even that.

Damn.  Makes me realize how old the HL engine really is.  Well, 7 years
old and still going strong.  And NS is still _the_ best FPS, mod or
otherwise, ever.

-John Sheu


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



[hlcoders] VConfig.exe

2005-10-22 Thread John Sheu
Is it just me, or is vconfig (in sourcesdk/bin) not working anymore?

I suspect that it's a problem with the new UI, as it "works", but
everything is just a white and/or green block.


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



Re: [hlcoders] Last update has broken Mod shaders and is causing crashes

2005-09-27 Thread John Sheu
On Tuesday 27 September 2005 10:40 pm, Dan Partelly wrote:
> And in the process they should also learn you guys elementar C
> programming and liniar algebra. :P Gimme a break.

I also highly recommend learning you some elementary spelling and grammar.

-John Sheu
--
                                I
            think                                poem
   that              never               as                a
I       shall    see        a     lovely      as     binary   tree
___
To unsubscribe, edit your list preferences, or view the list archives, please 
visit:
http://list.valvesoftware.com/mailman/listinfo/hlcoders



[hlcoders] Prediction

2005-09-17 Thread John Sheu
--
[ Picked text/plain from multipart/alternative ]
I have a few questions about networking and prediction.  So that I might not
completely seem like an idiot, I'll outline first what I think I know.


So, client-side prediction.  For a variable added to the prediction table
("BEGIN_PREDICTION_DATA" and that good jazz), one of two things can happen
each client tick:
1.  If no server update is forthcoming, the value of the variable is
extrapolated forward (probably with the help of some shadow state somewhere)
2.  If there is a server update, it checks the difference between the
predicted and the server-supplied value.  If the delta is over the tolerance,
it is corrected; otherwise it's allowed to stand.

Player-movement prediction (client-side, of course) is just a system built
over that.  When the client sends off its usercommand, it also runs it
locally.  By running the usercommand, it changes the client's local copy of
some set of variables which are not strictly required to be, but for all
practical intents and purposes should be predicted variables (which in turn
should be networked as well).  These variables are corrected as well by the
"base" prediction system; thus player-controlled entities are not any
different to the prediction system than any other predicted entities, but
they have the "bonus" of also being driven by UserCmd.

Server-side lag compensation.  Basically, the server keeps around snapshots of
"relevant entities" for some suitable time into the past.  When the
client-side command comes in, the client command is "ticked" using the
appropriate back-snapshot, and the results accordingly effected.  ("Effect",
as in to "effect an action".)


So now, the questions.

1.  How does the prediction system extrapolate?  Linearly, based on a "shadow
state" and a time delta?  Or something funkier?
2.  For the purposes of server-side lag compensation, are the only "relevant
entitites" the player entities?  Or are other entities also included?
3.  In "player.h", line 19, I see a define for a "CMD_MAXBACKUP".  So I assume
that there's a pile of UserCmds somewhere.  Whatever for?
4.  I have a suspicion that the prediction model outlined above is too simple.
Specifically, if you (the client) have a server snapshot in hand, why bother
using a tolerance on your predicted variables?  Why not just use the server
value anyway?

-John Sheu
--
                                I
            think                                poem
   that              never               as                a
I       shall    see        a     lovely      as     binary   tree
--

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



Re: [hlcoders] Building an AI

2005-09-15 Thread John Sheu
> [ Picked text/plain from multipart/alternative ]
> Interesting point. Is it?
>  Is it possible to use the Hostage code from CSS?

So how do you intend to get your hands on said source code?

-John Sheu
--
                                I
            think                                poem
   that              never               as                a
I       shall    see        a     lovely      as     binary   tree
___
To unsubscribe, edit your list preferences, or view the list archives, please 
visit:
http://list.valvesoftware.com/mailman/listinfo/hlcoders



Re: [hlcoders] Building an AI

2005-09-14 Thread John Sheu
>   And no, I haven't looked at the NPC code. I was wondering if it's
> salvagable for a multiplayer mod.

Oh, even the Titanic is salvageable, if you should desire to salvage it.  The
question is whether it's worth the effort :)

--
                                I
            think                                poem
   that              never               as                a
I       shall    see        a     lovely      as     binary   tree
___
To unsubscribe, edit your list preferences, or view the list archives, please 
visit:
http://list.valvesoftware.com/mailman/listinfo/hlcoders



Re: [hlcoders] Using CZero content in a mod

2005-08-30 Thread John Sheu
It's also about using the right tools for the right job.  For the medical
simulation, the Source engine is suitable.  For the forestry visualization,
it is not.

On Tuesday 30 August 2005 12:12 pm, Tim Holt wrote:
> Smell away, the point is to create a visualization system, not a multiplayer
> frag fest :^)  Also there's no LOD nor any number of other optimizations
going
> on (yet).
>
> Also, smell the fact that it is a paying job to develop it over a 2 year
period
> (just started 2 months ago).  I'm trying to wave a sort of "over here!" flag
> for some of you developers who want to go beyond just the amateur mod scene.
> It's not just about entertainment.

--
                                I
            think                                poem
   that              never               as                a
I       shall    see        a     lovely      as     binary   tree

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



Re: [hlcoders] Using CZero content in a mod

2005-08-30 Thread John Sheu
Now now, don't go about mistaking "rendering latency" for "lag"...


"Warning: overflowed CRenderList group 1"

That just made my day :)

On Tuesday 30 August 2005 09:50 am, Knifa wrote:
> I can literally smell the lag.
>
> >Two projects...
> >
> >One for Oregon State University that I'm a co-PI on (means I helped write the
> >grant request) that is to create a forest visualization system using game
> >technology.  I've got various images, etc. online for it at
> >http://www.orst.edu/~holtt/forestry.  The researchers here have already 
> >created
> >a system to make a large database describing forest composition, and this
> >project is to create a visualization of that data set.  The data is used to
> >help plan forest use management and policy, simulate forest fires, ecological
> >changes, etc.  It's funded by the US Forest Service over a two year period.

--
                                I
            think                                poem
   that              never               as                a
I       shall    see        a     lovely      as     binary   tree

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



[hlcoders] Comment

2005-08-20 Thread John Sheu
view_scene.cpp, line 2315

// FIXME: I disabled cheap water LOD when local specular is specified.
// There are very few places that appear to actually
// take advantage of it (places where water is in the PVS, but outside 
of LOD range).
// It was 2 hours before code lock, and I had the choice of either 
doubling fill-rate everywhere
// by making cheap water lod actually work (the water LOD wasn't 
actually rendering!!!)
// or to just always render the reflection + refraction if there's a 
local specular specified.
// Note that water LOD *does* work with refract-only water

--
                                I
            think                                poem
   that              never               as                a
I       shall    see        a     lovely      as     binary   tree

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



[hlcoders] OpenType

2005-08-18 Thread John Sheu
Just a quick question.  The Source engine undoubtedly takes TrueType; does it
take OpenType as well?

--
                                I
            think                                poem
   that              never               as                a
I       shall    see        a     lovely      as     binary   tree
___
To unsubscribe, edit your list preferences, or view the list archives, please 
visit:
http://list.valvesoftware.com/mailman/listinfo/hlcoders



Re: [hlcoders] Localization in hl project

2005-07-23 Thread John Sheu
--
[ Picked text/plain from multipart/alternative ]
> I also overlooked that he wanted it done on the server.  Now I feel silly!
Not entirely.  If, as he stated, he used the same code in his client project,
our suggestions would still be very relevant.  The code would compile fine,
but it still would pose problems (trying to print to a nonexistent buffer
etc.)

--
                                I
            think                                poem
   that              never               as                a
I       shall    see        a     lovely      as     binary   tree
--

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



Re: [hlcoders] Localization in hl project

2005-07-23 Thread John Sheu
> I tried that,
>
> vgui::localize()->Find()
>
> That works in the client project, in the hl project it's a no-go even if
> I include the file.
Oh, from the HL project.  I don't see why you're trying to do it from there;
the server binary shouldn't have anything to do with localization.  I do
believe that the VGUI lib is only included in the client project; thus any
calls to any VGUI function from the server project will result in your
complaints about pure virtual function calls.
--
                                I
            think                                poem
   that              never               as                a
I       shall    see        a     lovely      as     binary   tree

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



Re: [hlcoders] Localization in hl project

2005-07-23 Thread John Sheu
On Saturday 23 July 2005 02:04 pm, Skyler York wrote:
> You can't just declare a pointer and then try to make a function call
> from it.  It doesn't point to anything!
>
> The proper way is to use the localize() function:
>
> wchar_t *token_modelName_localized = localize()->Find(token_modelname);
In other words: you're declaring *token_modelName as a pointer, not a char
array.  Thus you're not allocating storage for it at all.  Either do what he
says, or declare it as:

char token_modelName[SIZE]
--
                                I
            think                                poem
   that              never               as                a
I       shall    see        a     lovely      as     binary   tree

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



Re: [hlcoders] Calculating a gradient?

2005-07-20 Thread John Sheu
inline Color CClass::ColorLerp( Color color1, Color color2, float percentage )
{
Color returnval;
returnval[0] = Lerp( percentage, color1[0], color2[0] );
returnval[1] = Lerp( percentage, color1[1], color2[1] );
returnval[2] = Lerp( percentage, color1[2], color2[2] );
returnval[3] = Lerp( percentage, color1[3], color2[3] );
return returnval;
}

--
                                I
            think                                poem
   that              never               as                a
I       shall    see        a     lovely      as     binary   tree

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



Re: [hlcoders] Keeping track of information inside the game

2005-07-17 Thread John Sheu
On Sunday 17 July 2005 10:07 am, Kamran wrote:
> If I wanted to keep track of a player's information... like all the
> objects they've picked up throughout their game and I'd also like to
> save it when they save the game, is it better to store a KeyValues
> object inside the code and save it to a file when they save the game? Or
> is it better to create a temporary file and then delete it when they
> exit or copy it when they save the game to their save directory?

A question to ask: what kind of data is this?  Something that you won't mind
the player hand-editing, or what?
--
                                I
            think                                poem
   that              never               as                a
I       shall    see        a     lovely      as     binary   tree

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



Re: [hlcoders] PostMessage() - FIXED

2005-07-14 Thread John Sheu
Thanks for the reply.  I've found the solution on my own.

>  sizeof( m_szPanelNames ) will be 4 (it's the size of a char * pointer),
> not 1. Try the ARRAY_SIZE() macro instead :)
>
> - Alfred

Yeah, I wrote a "countof" macro to fix this.  I'll use ARRAY_SIZE() then.  :)

The real problem, though, was with the convoluted casting:

> > PostMessage( (Panel *)(gViewPortInterface->FindPanelByName(
> > PANEL_BASE )), new KeyValues( "SetShowPanel", "panel", PANEL_CLASS )

With a bit more wringing of hands, I found that the pointer returned by
casting gViewPortInterface->FindPanelByName() into a *Panel had a different
value than the viewport panel itself.  So instead, I call:

PostMessage( gViewPortInterface->FindPanelByName(...)->GetVPanel(), ... )

and everything's fine and dandy.

Thanks anyways.  -John Sheu

--
                                I
            think                                poem
   that              never               as                a
I       shall    see        a     lovely      as     binary   tree

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



[hlcoders] PostMessage()

2005-07-13 Thread John Sheu
Having some issues with PostMessage().  Application crashes with complaint
about calling a pure virtual function; I think it's localized to the message
system because (1) the crash does not occur when the PostMessage(...) call is
commented, and (2) a breakpoint set on the recipient function never triggers.

Relevant code:

* The PostMessage(...) call:  (yeah, I know, it's ugly)

PostMessage( (Panel *)(gViewPortInterface->FindPanelByName( PANEL_BASE )), new
KeyValues( "SetShowPanel", "panel", PANEL_CLASS ) );

* The message handler declared: (in the header file of recipient object)

MESSAGE_FUNC_CHARPTR( SetShowPanel, "SetShowPanel", panel );

* A section of relevant code from the implementation:
static char *m_szPanelNames[] = { PANEL_CLASS };

void CBaseMenu::SetShowPanel( const char *panel )
{
for ( int i = 0; i < sizeof( m_szPanelNames ); i++ ) {
if ( Q_strcmp( panel, m_szPanelNames[i] ) )  //  No match
PostMessage( (Panel 
*)(gViewPortInterface->FindPanelByName
(m_szPanelNames[i] )), new KeyValues( "SetShade", "state", 0 ) );
else
PostMessage( (Panel *)
(gViewPortInterface->FindPanelByName( m_szPanelNames[i] )), new KeyValues
( "SetShade", "state", 1 ) );
}
}

---

Please excuse the poor formatting.  Any obvious problems with the code?
Thanks.

--
                                I
            think                                poem
   that              never               as                a
I       shall    see        a     lovely      as     binary   tree

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



Re: [hlcoders] A real newb question :D

2005-07-04 Thread John Sheu
My personal experience, for what it's worth:
It's been 6 months since I've started seriously with the HL2 SDK.  I have a
good deal of experience in C programming (w00t for low-level control!), with
a habit of re-learning C++ whenever I have the need to.  The fact that I know
Java well doesn't hurt either.

A timetable, of sorts:

January: Started coding.
March: Familiar enough to do semi-productive work with the VGUI code.
May: Start exploring client/server entity code and networking, etc.
June: Familiar enough that I most likely could code a mod of my own now.
July: Review of my early VGUI code.  Still slapping myself for being a dumbass
in implementation.

All it requires, really, is patience and persistence.  I've been putting 1-2
hours a day average into this.

On Sunday 03 July 2005 10:58 pm, Christian Paredes wrote:
> Sweet... good to hear, Kamran.  Yeah, my university is primarily
> covering C++, while most other universities (from what I hear at
> least) starts people off with Java.  Ick.
>
> I suppose I'll look at it more tonight and see if I can figure out how
> to implement a primitive gamemode into the SDK.
--
                                I
            think                                poem
   that              never               as                a
I       shall    see        a     lovely      as     binary   tree

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



<    1   2