Browse Source

fix crash on game close when demo recording

pull/301/head
nillerusr 9 months ago
parent
commit
efeda62add
  1. 2
      engine/cl_demo.cpp
  2. 22
      engine/cmodel.cpp

2
engine/cl_demo.cpp

@ -686,7 +686,7 @@ void CDemoRecorder::CloseDemoFile() @@ -686,7 +686,7 @@ void CDemoRecorder::CloseDemoFile()
m_DemoFile.Close();
g_ClientDLL->OnDemoRecordStop();
if( g_ClientDLL ) g_ClientDLL->OnDemoRecordStop();
}
m_bCloseDemoFile = false;

22
engine/cmodel.cpp

@ -50,29 +50,18 @@ csurface_t *CCollisionBSPData::GetSurfaceAtIndex( unsigned short surfaceIndex ) @@ -50,29 +50,18 @@ csurface_t *CCollisionBSPData::GetSurfaceAtIndex( unsigned short surfaceIndex )
return &map_surfaces[surfaceIndex];
}
#if TEST_TRACE_POOL
CTSPool<TraceInfo_t> g_TraceInfoPool;
#else
class CTraceInfoPool : public CTSList<TraceInfo_t *>
{
public:
CTraceInfoPool() = default;
};
CTraceInfoPool g_TraceInfoPool;
#endif
TraceInfo_t g_TraceInfo;
TraceInfo_t *BeginTrace()
{
#if TEST_TRACE_POOL
TraceInfo_t *pTraceInfo = g_TraceInfoPool.GetObject();
#else
TraceInfo_t *pTraceInfo;
if ( !g_TraceInfoPool.PopItem( &pTraceInfo ) )
{
pTraceInfo = new TraceInfo_t;
}
#endif
TraceInfo_t * pTraceInfo = &g_TraceInfo;
if ( pTraceInfo->m_BrushCounters[0].Count() != GetCollisionBSPData()->numbrushes + 1 )
{
memset( pTraceInfo->m_Count, 0, sizeof( pTraceInfo->m_Count ) );
@ -118,11 +107,6 @@ void EndTrace( TraceInfo_t *&pTraceInfo ) @@ -118,11 +107,6 @@ void EndTrace( TraceInfo_t *&pTraceInfo )
{
PopTraceVisits( pTraceInfo );
Assert( pTraceInfo->m_nCheckDepth == -1 );
#if TEST_TRACE_POOL
g_TraceInfoPool.PutObject( pTraceInfo );
#else
g_TraceInfoPool.PushItem( pTraceInfo );
#endif
pTraceInfo = NULL;
}

Loading…
Cancel
Save