Andrew,

I agree we shouldn't waste time with self documenting accessors
(getters/setters).

But here are a couple of counter examples that I had to figure out myself
through wasteful trial and error

AxisAngleQuaternion
ConcatTransforms
SetLocalTransform

A lot of the 3D math functions are like this..they make sense to the
authors, but are highly
dependent on one's convention/education about various matrix
operations and coordinate systems.

Steve


On Thu, Jan 15, 2009 at 1:09 PM, Andrew Ritchie <gotta...@gmail.com> wrote:
> Wouldn't architectural designs showing class relationships be more pressing
> than going through and commenting every single function with that format?
> What's the biggest problem people are complaining about?  Is it that they
> don't understand that int GetIDTarget() const; is a method that gets the id
> of the target as an integer?  Or could it be that they don't understand how
> classes interact and what things exist on the server and what on the client
> and how those classes all tie together or inheret to create all the elements
> of the game?
>
> If you are going to create a remotely useful guide it seems like you're
> attacking the problem in very much the wrong way.  The proposal of creating
> a fully commented version of the SDK is not only a huge amount of pointless
> coding, exhausting to maintain properly but also a missunderstanding of the
> difficulties.  If the original topic is still the topic at hand then it's
> acquanting them with architecture and an easy to understand layout of how
> the classes work rather than pedantic descriptions of specific methods that
> you would want to create.
>
> I'd suggest tackling the theory of how Source is implemented before wasting
> your time describing hundreds of self explaniatory methods without any
> insight into how it's tied together.  For example with the GetIDTarget, it's
> an example of client side maintained information that is later used by the
> HUD to create a user name display and by player class to manipulate the head
> angles so it appears to look at someone.  Something like that is far more
> usefull, but on the same token you wouldn't put that into the code itself
> you'd have it kept in an external documentation or somewhere.
>
> On Thu, Jan 15, 2009 at 5:53 PM, Steve Henderson <
> steven.j.hender...@gmail.com> wrote:
>
>> Yes this is a good idea -- but how do we distribute it without
>> violating Valve's Source SDK agreement (which says we can only
>> redistro OBJ files)?
>>
>> It seems to me that we'd need them to agree to let us release just the
>> commented functions and classes
>> (without the underlying source code view as is exported by default
>> with doxygen).
>>
>> Then as mentioned earlier, we could identify priority classes and
>> split up the work using
>> a version controlled MOD.  Then export only the classes and function
>> documentation.
>>
>> But Valve would have to be OK with this.
>>
>> It would also be interesting if this documentation project could be
>> distributed/viewed through the Steam
>> client...I'm not a big steam fan, and would rather use my own
>> browser...but this might allow
>> for access to the documentation for licensed users only
>>
>> Steve
>>
>>
>>
>>
>>
>> On Thu, Jan 15, 2009 at 1:41 AM, James Luzwick <jluzw...@gmail.com> wrote:
>> > I figured the basic idea is to create block comments above each function
>> and
>> > class javadoc style.  This would allow whomever is doing the
>> documentation
>> > to use doxygen ( 
>> > http://www.stack.nl/~dimitri/doxygen/<http://www.stack.nl/%7Edimitri/doxygen/>).
>> >
>> > For example, take this function from c_hl2mp_player.cpp (OB HL2
>> Multiplayer
>> > Code)
>> >
>> > /**
>> >  * This returns the Player's ID Target
>> >  *
>> >  * @param  If I had any parameters I would describe them here.
>> >  *
>> >  * @return   The ID Target as an int.
>> >  */
>> > int C_HL2MP_Player::GetIDTarget() const
>> > {
>> >    return m_iIDEntIndex;
>> > }
>> >
>> > The doxygen tool would then parse the file and discover this
>> documentation
>> > for the function and export it to a nicely formatted HTML page.
>> >
>> > The Apache guys commonly use this (well a lot of people use this) an
>> example
>> > of what it would look like, is this:
>> >
>> > Apache Xerces XML C++ Library (
>> > http://xerces.apache.org/xerces-c/apiDocs-3/classes.html )
>> >
>> > On Wed, Jan 14, 2009 at 9:06 PM, Walter Gray <chrysal...@gmail.com>
>> wrote:
>> >
>> >> Well, I hope it will be moot when the next version comes out, but right
>> >> now I was thinking we could do both, and tag the version specific
>> >> parts.  I just started a new mod, and was forced to go with EP1 for
>> >> shader support.  I'd like to move away from it, but for now there are
>> >> valid reasons for using either version, so I figure both versions should
>> >> be supported.  I think the key thing here is to turn it into a more
>> >> widespread community effort, which is what wikis are good for.
>> >>    If you're working on a project, you add to the sections relevant to
>> >> what you're working on, or volunteer some time when you have it.  I may
>> >> not have too much time free for the latter, but I plan to do plenty of
>> >> the former.  I'm trying to teach my teammates how to use Source so I
>> >> figure if I'm going to be writing up notes, the least I can do is try
>> >> and make them easily accessible.  I imagine that kind of thing is why
>> >> Valve stuck the documentation on a publicly editable wiki in the first
>> >> place.
>> >>    I suspect the biggest roadblock right now is figuring out formatting
>> >> and getting the basic framework in place so people have some kind of
>> >> guideline to add to.  Nobody seems to like setting up the architecture,
>> >> but once it's there and easy to add to, I expect people frequently
>> >> will.  If someone would like to work with me on this or could offer some
>> >> suggestions, please email me.  I'm trying to do it myself, but I'd
>> >> really appreciate any assistance.
>> >>
>> >> Steve Henderson wrote:
>> >> > Keeping the dream alive, here's another fundamental question --
>> >> > should our efforts focus on EP1 or OrangeBox?
>> >> >
>> >> > On Wed, Jan 14, 2009 at 11:10 PM, Nick <xnicho...@gmail.com> wrote:
>> >> >
>> >> >> James is right. Nobody here is whining. We are discussing things that
>> >> >> must be done to help all current and future developers of the source
>> >> >> engine.
>> >> >>
>> >> >> If Valve refuses to recognize the need for more proper documentation,
>> >> >> and more open tools, then I am willing to investigate other more
>> >> >> documented, more open, and more widely used engines. Others have
>> >> >> privately emailed me with more drastic actions, but I for one believe
>> >> >> Valve will help us and not ignore us like they usually do.
>> >> >>
>> >> >> On Wed, Jan 14, 2009 at 8:56 PM, James Luzwick <jluzw...@gmail.com>
>> >> wrote:
>> >> >>
>> >> >>> I don't think any of us are "whining", I call it "discussing".  I'm
>> >> sure
>> >> >>> everyone here "reads" the "tutorials" and uses what Valve has given
>> us
>> >> >>> graciously to it's full extent.  We were merely talking about ways
>> of
>> >> >>> expanding VDC to contain more "documentation".  I don't think anyone
>> of
>> >> us
>> >> >>> is going to devote all of their resources to figuring out exactly
>> what
>> >> the
>> >> >>> code does along with building the associated documentation.
>> Although,
>> >> I'm
>> >> >>> sure people will chip in just like they have with the "tutorials".
>> >> >>>
>> >> >>> On Wed, Jan 14, 2009 at 6:02 PM, Marshall <psycha...@hotmail.com>
>> >> wrote:
>> >> >>>
>> >> >>>
>> >> >>>> Ok as much as a whole DB of source code would be nice, you guys are
>> >> >>>> spending
>> >> >>>> more time whining about not having the code, when in that time you
>> >> could
>> >> >>>> have gone to the VDC, looked up a tut, then checked the steam
>> forums,
>> >> then
>> >> >>>> gone into your code, CNTRL+F ( a magical thing ) and :O!!  You've
>> got
>> >> >>>> yourself some code.  Ive only used the VDC steam forums, and tuts
>> and
>> >> Im
>> >> >>>> still a hella noob, but shit I get stuff done by just raping tuts
>> and
>> >> >>>> taking
>> >> >>>> parts I need.  Something I do is any code I find that's handy I
>> take
>> >> and
>> >> >>>> stick into a notepad doc so if I need at again I just take a
>> gander.
>> >>  So
>> >> >>>> meh.
>> >> >>>>
>> >> >>>> --------------------------------------------------
>> >> >>>> From: "Tony Sergi" <to...@valvesoftware.com>
>> >> >>>> Sent: Wednesday, January 14, 2009 5:37 PM
>> >> >>>> To: "Discussion of Half-Life Programming" <
>> >> hlcoders@list.valvesoftware.com
>> >> >>>>
>> >> >>>> Subject: Re: [hlcoders] Technical Design Document or Quick
>> Reference
>> >> Guide?
>> >> >>>>
>> >> >>>>
>> >> >>>>> Well I started a particle tutorial, but I haven't had time to
>> finish
>> >> it,
>> >> >>>>> and I think there's enough info about them now anyway. Granted,
>> >> that's
>> >> >>>>>
>> >> >>>> not
>> >> >>>>
>> >> >>>>> strictly programming but it would have had some programming in it.
>> >> >>>>> -Tony
>> >> >>>>>
>> >> >>>>>
>> >> >>>>> -----Original Message-----
>> >> >>>>> From: hlcoders-boun...@list.valvesoftware.com
>> >> >>>>> [mailto:hlcoders-boun...@list.valvesoftware.com] On Behalf Of
>> John
>> >> >>>>> Standish
>> >> >>>>> Sent: January-14-09 7:30 PM
>> >> >>>>> To: Discussion of Half-Life Programming
>> >> >>>>> Subject: Re: [hlcoders] Technical Design Document or Quick
>> Reference
>> >> >>>>> Guide?
>> >> >>>>>
>> >> >>>>> I wonder if this is any thoughts on putting more tutorials up on
>> the
>> >> >>>>>
>> >> >>>> wiki?
>> >> >>>>
>> >> >>>>> On Wed, Jan 14, 2009 at 4:20 PM, Tony Sergi <
>> to...@valvesoftware.com
>> >> >
>> >> >>>>> wrote:
>> >> >>>>>
>> >> >>>>>
>> >> >>>>>> Some tutorials purposely didn't compile though ;)
>> >> >>>>>> I always hated copy and paste ones, and I've even made some in
>> the
>> >> past,
>> >> >>>>>> sadly.
>> >> >>>>>> -Tony
>> >> >>>>>>
>> >> >>>>> _______________________________________________
>> >> >>>>> 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
>
>

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

Reply via email to