I found the easiest way was to create a mod (not like release it, just plan out some ideas), because then if you know what your aiming for, you know what you have to do!
----- Original Message ----- From: "botman" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Wednesday, February 13, 2002 8:39 PM Subject: Re: [hlcoders] THE DREADED NOOB POST > > Hello to all the respected established coders of this list. My names > Richard > > and I'm yet another one of those annoying newbie coders who has 100 > questions > > but I'll them brake down to one. > > <snip> > > There isn't any kind of "overall reference" or "API reference" to the > Half-Life SDK. Fully understanding the SDK requires a medium to advanced > level of knowledge in C++. The only way you will learn how things work is > by looking at and playing with the SDK source code. You will run into MANY, > MANY times when something doesn't work (the game crashes, goes into an > infinite loop, or doesn't do some effect that you are trying to do). In > fact, you will find that there are more times when something doesn't work > than you have when something does work. You will learn by trial and error. > Some of these errors you will repeat over and over and will eventually learn > not to do those things (via negative reinforcement). > > The best way to become completely frustrated with the SDK is to start out by > ripping out 70% or 80% of what's there and completely replacing it with all > your own code. You will find that you get dozens/hundreds of compiler > errors and when you finally do get rid of all the compiler errors, the game > crashed deep inside the Half-Life engine (where you can't determine what > caused the crash). > > The best way to NOT get frustrated with the SDK is making very tiny small > changes one by one to the SDK source code and testing things out after each > small change. Once you begin to understand how the variables, classes and > functions are used, you will find yourself making much larger changes at a > time and will find that you have fewer and fewer problems with new code. > The time span for this learning curve can be anywhere from 2 or 3 months up > to 6 months or more, depending on your skill level in programming and your > experience with programming in C++. > > Also, ALWAYS save backup copies of stuff that you are about to change so > that you can easily roll back to a working version when you completely screw > something up (which you will do more than once). > > When browsing through the SDK source code, it's useful to have several > editor windows open at once to view the .cpp and .h files in the dlls folder > and also to be able to view the .h files in the engine and common folders as > well. > > Start with the thing that the engine deals with, the edict_t structure. > This can be found in the engine\progdefs.h file. Every entity created in > the game has one of these structures. It contains things like origin (3D > world coordinates), health, velocity, angles and so on. This edict_t > structure is pointed to by a class member variable called "pev". Wherever > you see "pev" used, just think "edict_t". For example you'll see > "pev->health", or "pev->angles" or "pev->velocity" used all over the place. > > Every entity in the SDK source code is based on the CBaseEntity class and > every other class inherits directly or indirectly from this CBaseEntity > class. Look in the cbase.h and cbase.cpp files for the member variables and > functions for this base class. > > Everything else is just inheritance of the CBaseEntity class with stuff > throw in for that specific type of entity (for example, weapons contain > ammo, players have weapons, etc.). Pretty much all "basic" C++ type stuff. > > If you can resist the urge to try to change too much stuff at once and try > to understand one small piece of the puzzle at a time, it won't be too long > before you are getting up to speed on how to create your own MOD with the > SDK. > > Jeffrey "botman" Broome > > _______________________________________________ > 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

