# Thread: Simple Half-Life Coding Question

1. ## Simple Half-Life Coding Question

Hi,

I'm taking a look at the HPB bot template for Half-Life, trying to understand and edit a bit of basic stuff in there. You won't need to understand the bot to answer my question though, I think. It's pretty basic.

In the source code file, bot.cpp, there's a function that is declared as follows:

void BotCreate( edict_t *pPlayer, const char *arg1, const char *arg2,const char *arg3, const char *arg4).

Okay. Now within that function there are the following declarations of pointers:

edict_t *BotEnt; bot_t *pBot;

I have this idea that these pointers point to structures of type edict_t in another code file, that contain loads of functions and variables and stuff. Hence:

BotEnt->v.idealpitch = BotEnt->v.v_angle.x;

and other stuff like:

pBot->idle_angle = 0.0;

So what I'm thinking is that in the botcreate function declaration, edict_t *pPlayer is going to basically identify each bot in the same way that each player would be identified in a game. Is this right? Sorry if this sounds dumb, I'm just trying to figure out how this works.

2. If you just declare a pointer, you can't start accessing stuff through it. You have to point the pointer to something first.
Code:
```int x = 0;
int *p = &x;

printf("&#37;d %d\n", x, *p);  /* prints "0 0" */
x += 1;
*p += 1;
printf("%d %d\n", x, *p);  /* prints "2 2" */```
Assuming that your pointers actually point to something . . . how is this code being used? If it's something like this:
Code:
```void handle_integer(int *p) {
/* ... */
}```
and the function is called for every integer or whatever that you are handling, then the function's code is executed once for every integer. p will point to every integer that the function is called with in turn.

Popular pages Recent additions