96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
|
d->ammo[GUN_SG] = 5;
}
}
dynent *
newdynent() // create a new blank player or monster
{
dynent *d = (dynent *)malloc(sizeof(dynent));
d->o.x = 0;
d->o.y = 0;
d->o.z = 0;
d->yaw = 270;
d->pitch = 0;
d->roll = 0;
d->maxspeed = 22;
|
|
|
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
|
d->ammo[GUN_SG] = 5;
}
}
dynent *
newdynent() // create a new blank player or monster
{
dynent *d = (dynent *)OFAllocMemory(1, sizeof(dynent));
d->o.x = 0;
d->o.y = 0;
d->o.z = 0;
d->yaw = 270;
d->pitch = 0;
d->roll = 0;
d->maxspeed = 22;
|
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
|
}
}
}
void
zapdynent(dynent *&d)
{
if (d)
free(d);
d = NULL;
}
extern int democlientnum;
void
otherplayers()
|
|
<
|
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
|
}
}
}
void
zapdynent(dynent *&d)
{
OFFreeMemory(d);
d = NULL;
}
extern int democlientnum;
void
otherplayers()
|
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
|
c2sinfo(player1); // do this last, to reduce the
// effective frame lag
}
}
lastmillis = millis;
}
void
entinmap(dynent *
d) // brute force but effective way to find a free spawn spot in the map
{
loopi(100) // try max 100 times
{
float dx = (rnd(21) - 10) / 10.0f * i; // increasing distance
float dy = (rnd(21) - 10) / 10.0f * i;
d->o.x += dx;
d->o.y += dy;
|
>
|
<
|
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
|
c2sinfo(player1); // do this last, to reduce the
// effective frame lag
}
}
lastmillis = millis;
}
// brute force but effective way to find a free spawn spot in the map
void
entinmap(dynent *d)
{
loopi(100) // try max 100 times
{
float dx = (rnd(21) - 10) / 10.0f * i; // increasing distance
float dy = (rnd(21) - 10) / 10.0f * i;
d->o.x += dx;
d->o.y += dy;
|