mirror of
https://git.code.sf.net/p/quake/game-source
synced 2024-11-10 14:41:57 +00:00
bot_qw.qc:
make all bots "lose" a player that disconnects waypoint.r: make sure all waypoint data structs get initialized
This commit is contained in:
parent
19fef1890c
commit
8b784f2ede
2 changed files with 29 additions and 8 deletions
|
@ -227,7 +227,21 @@ void ()
|
|||
ClientDisconnected =
|
||||
{
|
||||
local integer cl_no = ClientNumber (@self);
|
||||
local Bot p = NIL;
|
||||
|
||||
p = players[cl_no];
|
||||
players[cl_no] = NIL;
|
||||
if (p) {
|
||||
local entity e = p.ent;
|
||||
local integer i;
|
||||
for (i = 0; i < 32; i++) {
|
||||
if (!players[i])
|
||||
continue;
|
||||
if (players[i].ent.enemy == e)
|
||||
[players[i] lost:p:0];
|
||||
}
|
||||
}
|
||||
[p dealloc];
|
||||
};
|
||||
|
||||
// BotConnect and related functions. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
|
||||
|
|
|
@ -50,16 +50,23 @@ Array waypoint_array;
|
|||
@static entity waypoint_thinker;
|
||||
@static List waypoint_queue;
|
||||
|
||||
@static void () waypoint_init =
|
||||
{
|
||||
waypoint_array = [[Array alloc] init];
|
||||
if (!waypoint_queue)
|
||||
waypoint_queue = [[List alloc] init];
|
||||
if (!waypoint_thinker) {
|
||||
waypoint_thinker = spawn ();
|
||||
waypoint_thinker.classname = "waypoint_thinker";
|
||||
}
|
||||
};
|
||||
|
||||
@implementation Waypoint
|
||||
|
||||
-(id)init
|
||||
{
|
||||
if (!waypoint_array) {
|
||||
waypoint_array = [[Array alloc] init];
|
||||
waypoint_queue = [[List alloc] init];
|
||||
waypoint_thinker = spawn ();
|
||||
waypoint_thinker.classname = "waypoint_thinker";
|
||||
}
|
||||
if (!waypoint_array)
|
||||
waypoint_init ();
|
||||
return [super init];
|
||||
}
|
||||
|
||||
|
@ -179,7 +186,7 @@ Waypoint Loading from file
|
|||
{
|
||||
if (waypoint_array)
|
||||
[waypoint_array free];
|
||||
waypoint_array = [[Array alloc] init];
|
||||
waypoint_init ();
|
||||
}
|
||||
|
||||
+(Waypoint)waypointForNum:(integer)num
|
||||
|
@ -193,7 +200,7 @@ Waypoint Loading from file
|
|||
{
|
||||
local integer i, tmp;
|
||||
|
||||
for (i = 0; i < 3; i++) {
|
||||
for (i = 0; i < 4; i++) {
|
||||
tmp = (integer)links[i];
|
||||
links[i] = [Waypoint waypointForNum:tmp];
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue