I was just messing around with the frogbot, and after bout 4 minutes of play, Qrack just froze up. This happened to me a couple times yesterday as well. Any thoughts as to why this might be happening?
Here is my command line:
glqrack -game frogbot -wavonly -width 1280 -height 960 -bpp 32 -conwidth 640 -conheight 480 -zone 1024 -noipx -nojoy -dinput -heapsize 128000 -listen +map ztndm3
Announcement
Collapse
No announcement yet.
Frogbot crashes Qrack
Collapse
X
-
--------------------------------
EDIT: Fixed I *think... played frogbots for 15+ minutes no freeze..
Shadow had an old bugfix on quakesrc.org which was very close to how u had, but a few differences...
"(touch->v.solid != SOLID_TRIGGER)"
/*
====================
SV_TouchLinks
====================
*/
edict_t *nodelinks[MAX_EDICTS];
void SV_TouchLinks ( edict_t *ent, areanode_t *node )
{
link_t *l, *next;
edict_t *touch;
int old_self, old_other;
int linkcount = 0, ln;
//Lord Havoc: Make an array of edict pointers and fill it in by going through the links list,
// then run a loop over it calling the touches, this protects the list from all possible issues
// since the list is entirely over and done with before it even calls anything.
//work out who they are first.
for (l = node->trigger_edicts.next ; l != &node->trigger_edicts ; l = next)
{
if (linkcount == MAX_EDICTS)
break;
next = l->next;
touch = EDICT_FROM_AREA(l);
if (touch == ent)
continue;
if ((!touch->v.touch) || (touch->v.solid != SOLID_TRIGGER))
continue;
if (ent->v.absmin[0] > touch->v.absmax[0]
|| ent->v.absmin[1] > touch->v.absmax[1]
|| ent->v.absmin[2] > touch->v.absmax[2]
|| ent->v.absmax[0] < touch->v.absmin[0]
|| ent->v.absmax[1] < touch->v.absmin[1]
|| ent->v.absmax[2] < touch->v.absmin[2] )
continue;
nodelinks[linkcount++] = touch;
}
old_self = pr_global_struct->self;
old_other = pr_global_struct->other;
for (ln = 0; ln < linkcount; ln++)
{
touch = nodelinks[ln];
//make sure nothing moved it away
if (touch->free)
continue;
if ((!touch->v.touch) || (touch->v.solid != SOLID_TRIGGER))
continue;
if (ent->v.absmin[0] > touch->v.absmax[0]
|| ent->v.absmin[1] > touch->v.absmax[1]
|| ent->v.absmin[2] > touch->v.absmax[2]
|| ent->v.absmax[0] < touch->v.absmin[0]
|| ent->v.absmax[1] < touch->v.absmin[1]
|| ent->v.absmax[2] < touch->v.absmin[2] )
continue;
pr_global_struct->self = EDICT_TO_PROG(touch);
pr_global_struct->other = EDICT_TO_PROG(ent);
pr_global_struct->time = sv.time;
PR_ExecuteProgram (touch->v.touch);
if (ent->free)
break;
}
pr_global_struct->self = old_self;
pr_global_struct->other = old_other;
// recurse down both sides
if ((node->axis == -1) || (ent->free))
return;
if ( ent->v.absmax[node->axis] > node->dist )
SV_TouchLinks ( ent, node->children[0] );
if ( ent->v.absmin[node->axis] < node->dist )
SV_TouchLinks ( ent, node->children[1] );
}Last edited by R00k; 09-04-2007, 02:13 PM.
-
This sounds just like one of the old SV_TouchLinks engine bugs, look in my engine source for a fix.
Leave a comment:
-
I just tried frogbot with JoeQuake v0.15dev and it locked up aswell at 11:53.
Usually i was getting a lockup in Qrack under 12 minutes. So it maybe the mod's fault?
Leave a comment:
-
a work-around for ya
quake\wqpro.exe -zone 1024 -dedicated 8 -game frogbot
then connect to your local dedicated server.
I'm not really sure what's crashing cause it wont give me any errors just locks up. As a client it doesn't crash, but running as a local server it does :/
Leave a comment:
-
Hmm.. That used to happen to me on my really old computer when using frogbot Version .12 I think. I wasnt using qrack however... It didnt happen with .13.
Try .13, the bots will do prediction shots also and other neat stuff. It could fix your problem too. Did for me a long time ago
Leave a comment:

Leave a comment: