Skip to content

Commit

Permalink
Fix order-queue-related desynch.
Browse files Browse the repository at this point in the history
Could usually be reproduced by filling a transporter, ordering to unload in an enemy base, and queueing an order to fly back.

Would probably trigger randomly, but not in autogames where orders usually aren't queued.

Also added action targets to syncDebugDroid for easier future bugfinding.
  • Loading branch information
Cyp committed Oct 27, 2010
1 parent dca9080 commit 9cd889f
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 3 deletions.
3 changes: 2 additions & 1 deletion src/ai.c
Expand Up @@ -1140,7 +1140,8 @@ void aiUpdateDroid(DROID *psDroid)
}

// don't look for a target if there are any queued orders
if (psDroid->listSize > 0)
//if (psDroid->listSize > 0)
if (false) // Order queues are not currently synchronised!
{
lookForTarget = false;
updateTarget = false;
Expand Down
13 changes: 11 additions & 2 deletions src/droid.c
Expand Up @@ -677,14 +677,23 @@ void droidBurn(DROID *psDroid)

void _syncDebugDroid(const char *function, DROID *psDroid, char ch)
{
_syncDebug(function, "%c droid%d = p%d;pos(%d.%d,%d.%d,%d),rot(%d,%d,%d),ord%d(%d,%d),act%d,so%X,bp%d,sMove(st%d,spd%d,mdir%d,path%d/%d,src(%d,%d),tar(%d,%d),dst(%d,%d),bump(%d,%d,%d,%d,(%d,%d),%d)), power = %"PRId64"", ch,
char actTar[DROID_MAXWEAPS*15];
unsigned actTarLen = 0;
unsigned i;
actTar[0] = '\0';
for (i = 0; i < psDroid->numWeaps; ++i)
{
actTarLen += sprintf(actTar + actTarLen, "_%u", psDroid->psActionTarget[i]? psDroid->psActionTarget[i]->id : 0);
}

_syncDebug(function, "%c droid%d = p%d;pos(%d.%d,%d.%d,%d),rot(%d,%d,%d),ord%d(%d,%d),act%d%s,so%X,bp%d,sMove(st%d,spd%d,mdir%d,path%d/%d,src(%d,%d),tar(%d,%d),dst(%d,%d),bump(%d,%d,%d,%d,(%d,%d),%d)), power = %"PRId64"", ch,
psDroid->id,

psDroid->player,
psDroid->pos.x, psDroid->sMove.eBitX, psDroid->pos.y, psDroid->sMove.eBitY, psDroid->pos.z,
psDroid->rot.direction, psDroid->rot.pitch, psDroid->rot.roll,
psDroid->order, psDroid->orderX, psDroid->orderY,
psDroid->action,
psDroid->action, actTar,
psDroid->secondaryOrder,
psDroid->body,
psDroid->sMove.Status,
Expand Down

0 comments on commit 9cd889f

Please sign in to comment.