coopordie.com
http://www.coopordie.com/forum/

BUG or corrupted Account or file ?
http://www.coopordie.com/forum/viewtopic.php?f=1&t=186
Page 1 of 1

Author:  HapoZen [ Sun Nov 26, 2006 8:16 am ]
Post subject:  BUG or corrupted Account or file ?

OK sooo i ive been playing CoopOrDie and i made it all the way to launch Command.. BUt right when i enter launch command the Screen freezes and it says program error... and then my computer Crashes ..... WTF is goin on ? anyone know ?

Author:  Pat AfterMoon [ Sun Nov 26, 2006 8:51 am ]
Post subject:  Re: BUG or corrupted Account or file ?

HapoZen wrote:
... when i enter launch command the Screen freezes and it says program error... and then my computer Crashes ...


You account is clean, no problem on this part. Regarding the log of the CoopOrDIE WorldServer you are using an old engine (version 3.20 from 1998). I suggest you to use a recent one. EGL or R1Q2 are good choices, and they include several bug fix that may help you.

CU

Pat

Author:  Pat AfterMoon [ Tue Nov 28, 2006 8:50 am ]
Post subject: 

Thanks to you HapoZen and to Muusisoosi who have notified me by email about this problem. This is not an engine problem but an old ID software hack combined with my modifications that cause the crash.

Just for the fun of developers, I post here the full explanation.

In g_spawn.c there is a hack added by J. Carmack or one of his teammates for correcting a mapper error :
Code:
    // yet another map hack
   if (!Q_stricmp(level.mapname, "command") && !Q_stricmp((*pent)->classname, "trigger_once") && !Q_stricmp((*pent)->model, "*27"))
      (*pent)->spawnflags &= ~SPAWNFLAG_NOT_HARD;


This is ugly, but it was easiest for ID to upgrade the exe and the dll than upgrade the map. You all know the quake source is full of these littles gifts ;)

The problem with coopordie occurs because the worldserver can remotely add new entity, including triggers. These triggers have no model value, their dimensions are provided by parameters value, not from a map brush. So the model member can be NULL, and the test CRASH !

A case of typical trigger_once added by the worldserver is for dead bodies persistence. It display a message like "Here lies player X killed by something".

So now, here is the right culprit :
mazdaplz is the only player who was dead in the "launch command" map. It was on october 15 of 2006 :D

Don't blame him, I will release a new version with correction ASAP.

Code:
    // yet another map hack
    // <worldserver/> : the "(*pent)->model" test was added for preventing crash
    // when parsing trigger added by xmlrules without model
   if ( !Q_stricmp(level.mapname, "command") && !Q_stricmp((*pent)->classname, "trigger_once")
         && (*pent)->model && !Q_stricmp((*pent)->model, "*27") )
      (*pent)->spawnflags &= ~SPAWNFLAG_NOT_HARD;


EDIT : correction is available, go to http://www.coopordie.com and download the new 0.5d version

Author:  HapoZen [ Tue Nov 28, 2006 10:36 am ]
Post subject: 

Dam that was Quick.... TY !

Page 1 of 1 All times are UTC
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/