--
[ Picked text/plain from multipart/alternative ]
its christams sadues stop emialing and tget with ti, man!

On Dec 24, 2007 7:10 PM, Mulchman <[EMAIL PROTECTED]> wrote:

> All of our buildable objects - detpack, dispenser, sg - run the code below
> when they explode. The detpack is a "real" physics object (as in it uses
> VPhysicsInitNormal()) and I'm assuming your hat you describe is vphysics
> as
> well.
>
> void CFFBuildableObject::Explode( void )
> {
>        VPROF_BUDGET( "CFFBuildableObject::Explode",
> VPROF_BUDGETGROUP_FF_BUILDABLE );
>
>        // MUST DO THIS or CreateExplosion crashes HL2
>        m_takedamage = DAMAGE_NO;
>
>        // Remove bounding box (other models follow this pattern...)
>        SetSolid( SOLID_NONE );
>
>        // Do the explosion
>        DoExplosion();
>
>        // Notify player to tell them they can build
>        // again and remove current owner
>        m_hOwner = NULL;
>
>        // Remove entity from game
>        UTIL_Remove( this );
> }
>
> And that's it. There's also a method for 'quietly' removing a buildable
> object (like when dismantling) but it's the same code minus the
> DoExplosion() call.
>
> Anyway, we've never experienced/received minidumps from people w/ weird
> physics related errors so perhaps you need some other steps in addition to
> using UTIL_Remove().
>
> -----Original Message-----
> From: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED] On Behalf Of A.Oliver
> Sent: Monday, December 24, 2007 08:09
> To: [email protected]
> Subject: [hlcoders] Physics crash related (urgent).
>
> This is a multi-part message in MIME format.
> --
> [ Picked text/plain from multipart/alternative ]
> Our recently released modification (Fistful of Frags) is suffering some
> stability issues. Hope someone can bring some light to these serious
> servers
> crashes. I posted another similar issue in this list, and as I said
> before,
> I never modified any part of the physics code. Now I'm starting to
> understand what's going on, seems like a physic entity was removed, but
> server is still trying to use it so finds a null pointer and crashes. Is
> that rigth?
>
> These issues were noticed only during maximum stress, once the mod was
> released. They may happen rarely or not, depends the way physics are
> stressed I guess.
>
> I'm using UTIL_Remove in several parts of the game, example: a cowboy hat
> is
> created (falls to ground), and after some seconds is deleted. There are
> other items deleted in a similar way. Should I use other method different
> from UTIL_Remove?
>
> And a last question. Can server performance ( low FPS) make these issues
> worse? Because they tend to happen more in our own server, which sometimes
> is even below 10 FPS.
>
> Hope this helps, these are 3 different call stacks we are seeing
> repitedly.
> If you need any other info plz let me know.
>
>
> > server.dll!AllocTouchLink()  Line 361 + 0x41 bytes C++
>  server.dll!CBaseEntity::PhysicsMarkEntityAsTouched(CBaseEntity *
> other=0x0d21e300)  Line 850 + 0x5 bytes C++
>
> server.dll!CBaseEntity::PhysicsMarkEntitiesAsTouchingEventDriven
> (CBaseEntity
> * other=0x00000000, CGameTrace & trace={...})  Line 908 C++
>  server.dll!CCollisionEvent::DispatchStartTouch(CBaseEntity *
> pEntity0=0x0d21e300, CBaseEntity * pEntity1=0x0fdf0dd8, const Vector &
> point={...}, const Vector & normal={...})  Line 1567 + 0x8c bytes C++
>  server.dll!CCollisionEvent::UpdateTouchEvents()  Line 1590 C++
>  server.dll!PhysFrame(float deltaTime=0.015000000)  Line 1262 + 0xa bytes
> C++
>  server.dll!CPhysicsHook::FrameUpdatePostEntityThink()  Line 271 C++
>  server.dll!InvokePerFrameMethod(void (void)* f=0x22198170, const char *
> timed=0x2217be3f)  Line 431 C++
>  server.dll!CServerGameDLL::GameFrame(bool simulating=true)  Line 1001 +
> 0x14 bytes C++
>
> ---------
>
> > server.dll!CCollisionEvent::UpdateDamageEvents()  Line 1624 + 0x8 bytes
> C++
>  server.dll!CCollisionEvent::PostSimulationFrame()  Line 1499 C++
>  server.dll!PhysFrame(float deltaTime=0.015000000)  Line 1206 C++
>  server.dll!CPhysicsHook::FrameUpdatePostEntityThink()  Line 271 C++
>  server.dll!InvokePerFrameMethod(void (void)* f=0x22198170, const char *
> timed=0x2217be3f)  Line 431 C++
>  server.dll!CServerGameDLL::GameFrame(bool simulating=true)  Line 1001 +
> 0x14 bytes C++
>
>
> ---------
>
>  server.dll!CBaseEntity::TakeDamage(const CTakeDamageInfo &
> inputInfo={...})  Line 1204 + 0xd bytes C++
>  server.dll!CCollisionEvent::UpdateDamageEvents()  Line 1642 C++
>  server.dll!CCollisionEvent::PostSimulationFrame()  Line 1499 C++
>  server.dll!PhysFrame(float deltaTime=0.015000000)  Line 1206 C++
> > server.dll!CPhysicsHook::FrameUpdatePostEntityThink()  Line 271 C++
>  server.dll!InvokePerFrameMethod(void (void)* f=0x22198420, const char *
> timed=0x2217bddf)  Line 431 C++
>  server.dll!CServerGameDLL::GameFrame(bool simulating=true)  Line 1001 +
> 0x14 bytes C++
> --
>
>
> _______________________________________________
> To unsubscribe, edit your list preferences, or view the list archives,
> please visit:
> http://list.valvesoftware.com/mailman/listinfo/hlcoders
>
>
> _______________________________________________
> To unsubscribe, edit your list preferences, or view the list archives,
> please visit:
> http://list.valvesoftware.com/mailman/listinfo/hlcoders
>
>
--

_______________________________________________
To unsubscribe, edit your list preferences, or view the list archives, please 
visit:
http://list.valvesoftware.com/mailman/listinfo/hlcoders

Reply via email to