.:: Bots United ::.

.:: Bots United ::. (http://forums.bots-united.com/index.php)
-   Bug Reports (http://forums.bots-united.com/forumdisplay.php?f=49)
-   -   Permanent crash on cs_bigbrother_beta1 (http://forums.bots-united.com/showthread.php?t=1769)

sPlOrYgOn 29-05-2004 15:15

Re: Permanent crash on cs_bigbrother_beta1
 
i played on a listen for 1 hour on both 1.5 and 1.6 and got nothing...
the map only supports 4 players per team...
theres 2 ways into the house and 1 way out...
it encourages Ts to camp a lot..
CTs can get to T spawn in under 10seconds...
Cts can get to hostages in under 10seconds..
1 CT can keep that 1 way door open while the other CTs get the hostages and run back through the door...
CTs can just take over the roof and the Ts will be screwed..
Ts needs either lots of skill to kill the CTs or camp near the 1 way door or camp where the hostages are..
CTs get cameras and they're all over the map so theres no hiding for the Ts..
the map is really bad...

KWo 29-05-2004 20:39

Re: Permanent crash on cs_bigbrother_beta1
 
Quote:

Originally Posted by sPlOrYgOn
i played on a listen for 1 hour on both 1.5 and 1.6 and got nothing...

You played on Windows98 or linux? I tryied on W98.

Quote:

Originally Posted by sPlOrYgOn
1 CT can keep that 1 way door open while the other CTs get the hostages and run back through the door...

Yes - it's true, but only theoreticaly...I 've tryied this new WP system - I made one connection across the door (from outside to inside) and bot should press "use" to open the door (but I didn't put the flag "use button" at this WP in front of this door - like PMB suggested) - bot get stuck. They never try "use" if they can't see a button. This door hasn't a button , but to open - You have press "use". I also tryied with this flag "use button" - the same effect - bot is not able to open this door. Probably here is something to do in the code, too.... This is probably thing for separate thread...=)

But back to the topic - what can I do more to give You the possiblity to reproduce this bug at You computer? Maybe it's possible somebody also will try this map - if at his computer under Windows system the game will crash or not. I've tryied at two windows computers - allways crash. Anobody can help? I can send this map via e'mail if you don't have.:(

[EDIT]
I just tryied this map and this pwf with CS1.6 - crash the same for sure under Win98.
[/EDIT]

sPlOrYgOn 29-05-2004 23:05

Re: Permanent crash on cs_bigbrother_beta1
 
strange I just try this morning and it crashes as soon as a bot joins...
I turn on my debugger and it says it's crashing in the function IsAlive...
Code:

bool IsAlive (edict_t *pEdict)
{
  return ((pEdict->v.deadflag == DEAD_NO)
          && (pEdict->v.health > 0)
          && (pEdict->v.movetype != MOVETYPE_NOCLIP));
}

so small...
right now I'm testing this piece of code and I've changed it to
Code:

bool IsAlive (edict_t *pEdict)
{
  return ((pEdict->v.deadflag & DEAD_NO)
          && (pEdict->v.health > 0)
          && (pEdict->v.movetype != MOVETYPE_NOCLIP));
}

and It hasn't crashed yet..

[edit]
I think I can call it fixed now :D
maybe I might upload another BETA dll for you to try later on today...
[/edit]

[edit2]
aww no wonder..
now they all think they're dead...
time to get at it again..
[/edit2]

[edit3]
strange...
it crashes there when I change it to
Code:

bool IsAlive (edict_t *pEdict)
{
  return (!(pEdict->v.deadflag & DEAD_NO)
          && (pEdict->v.health > 0)
          && (pEdict->v.movetype != MOVETYPE_NOCLIP));
}

I've even tried
Code:

bool IsAlive (edict_t *pEdict)
{
  if (FNullEnt (pEdict))
      return (FALSE);
  return ((pEdict->v.deadflag == DEAD_NO)
          && (pEdict->v.health > 0)
          && (pEdict->v.movetype != MOVETYPE_NOCLIP));
}

still no luck..
[/edit3]

[edit4]
I don't really think it crashes here but it's the place the debugger tells me..
[/edit4]

Pierre-Marie Baty 30-05-2004 01:33

Re: Permanent crash on cs_bigbrother_beta1
 
What's on the call stack before IsAlive() ? My guess is that the problem lies in the function before.

Whistler 30-05-2004 02:01

Re: Permanent crash on cs_bigbrother_beta1
 
try changing it to:
Code:

bool IsAlive (edict_t *pEdict)
{
  if (FNullEnt(pEdict)) // added this
      return FALSE;      // added this
  return ((pEdict->v.deadflag == DEAD_NO)
          && (pEdict->v.health > 0)
          && (pEdict->v.movetype != MOVETYPE_NOCLIP));
}

*edit*: added some comments to show difference ;)

*edit2*: oops.... you have already tried this code...
Perhaps there's some invalid memory access in your code. Invalid memory access usually can cause weird crashes *elsewhere*.

sPlOrYgOn 30-05-2004 02:15

Re: Permanent crash on cs_bigbrother_beta1
 
@PMB: k I'll try that when i get the chance..

@Whistler: I fail to see the difference...

[edit]
@kWO: sorry but I found the problem to my crash and it didn't have anything to do with yours because I cannot crash on your map specificly..
This crash I was talking about was a mistake I made.. and it was happening on all maps except when I was testing your map I thought I was finally able to reproduce it...
I'll need more information from you so I can reproduce the crash you're getting..
[/edit]

[edit2]
and what i did was a memory problem :D
just that I forgot I did it..
[/edit2]

sPlOrYgOn 30-05-2004 07:20

Re: Permanent crash on cs_bigbrother_beta1
 
Okay now I'm confused...
I think I can finally get kWO's crash..
even tho I've changed nothing..

well the info I have about crash right now is that it has something to do with one of Vector's constructors...
because thats where the debugger is stoping now...
or maybe it's another memory error...

Pierre-Marie Baty 30-05-2004 15:13

Re: Permanent crash on cs_bigbrother_beta1
 
What's the call stack ?
You can usually narrow down bugs easily if you get one or two levels up the stack. Post the call stack here and we'll look into it.

sPlOrYgOn 30-05-2004 17:40

Re: Permanent crash on cs_bigbrother_beta1
 
alright I got the call stack :)
Quote:

PODBOT_MM! Vector::Vector(class Vector const &) + 13 bytes
PODBOT_MM! BotSetConditions(struct bot_t *) + 4729 bytes
PODBOT_MM! BotThink(struct bot_t *) + 2042 bytes
PODBOT_MM! StartFrame(void) + 1329 bytes
METAMOD! 098cac8b()
SWDS! 06416d39()
SWDS! 06412613()
SWDS! 063c8601()
HLDS! 00401924()
so each time a function is called it gets added to the top?
if so then the screwed up call to Vector is in BotSetConditions :)
time to look through it...

[edit]
I have now narrowed it down to the check if it is a good idea to throw a nade...
[/edit]

[edit2]
even more specific.. the HE nade checking part...
[/edit2]

[edit3]
I found it!!! 8)
Code:

// Returns all Waypoints within Radius from Position
void WaypointFindInRadius (Vector vecPos, float fRadius, int *pTab, int *iCount)
{
  int i, iMaxCount;
  float distance;

  iMaxCount = *iCount;
  *iCount = 0;

  for (i = 0; i < g_iNumWaypoints; i++)
  {
      distance = (paths[i]->origin - vecPos).Length ();

      if (distance < fRadius)
      {
        *pTab++ = i;
        *iCount++;

        if (*iCount == iMaxCount)
            break;
      }
  }

  *iCount--;
  return;
}

should be
Code:

// Returns all Waypoints within Radius from Position
void WaypointFindInRadius (Vector vecPos, float fRadius, int *pTab, int *iCount)
{
  int i, iMaxCount;
  float distance;

  iMaxCount = *iCount;
  *iCount = 0;

  for (i = 0; i < g_iNumWaypoints; i++)
  {
      distance = (paths[i]->origin - vecPos).Length ();

      if (distance < fRadius)
      {
        *pTab++ = i;
        (*iCount)++;

        if (*iCount == iMaxCount)
            break;
      }
  }

  (*iCount)--;
  return;
}

:D simple problem of operator precedences :D
I think it was incrementing the actual address of iCount... which wouldn't be nice since iCount isn't an array...
[/edit3]

KWo 31-05-2004 10:05

Re: Permanent crash on cs_bigbrother_beta1
 
Congratulations, sPlOrYgOn!!! :D
What exactly is meaning this bug You found? Is this - if one WP with big radius is in area of another WP with big radius - here was some problem?
Can You upload new beta dll for trying at this map? Or You can send me it via e'mail - if it's possible? ;)


All times are GMT +2. The time now is 13:12.

Powered by vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.