File tree Expand file tree Collapse file tree 1 file changed +19
-3
lines changed Expand file tree Collapse file tree 1 file changed +19
-3
lines changed Original file line number Diff line number Diff line change @@ -50,18 +50,29 @@ csurface_t *CCollisionBSPData::GetSurfaceAtIndex( unsigned short surfaceIndex )
5050 return &map_surfaces[surfaceIndex];
5151}
5252
53+ #if TEST_TRACE_POOL
54+ CTSPool<TraceInfo_t> g_TraceInfoPool;
55+ #else
5356class CTraceInfoPool : public CTSList <TraceInfo_t *>
5457{
5558public:
5659 CTraceInfoPool () = default ;
5760};
5861
59- TraceInfo_t g_TraceInfo;
62+ CTraceInfoPool g_TraceInfoPool;
63+ #endif
6064
6165TraceInfo_t *BeginTrace ()
6266{
63- TraceInfo_t * pTraceInfo = &g_TraceInfo;
64-
67+ #if TEST_TRACE_POOL
68+ TraceInfo_t *pTraceInfo = g_TraceInfoPool.GetObject ();
69+ #else
70+ TraceInfo_t *pTraceInfo;
71+ if ( !g_TraceInfoPool.PopItem ( &pTraceInfo ) )
72+ {
73+ pTraceInfo = new TraceInfo_t;
74+ }
75+ #endif
6576 if ( pTraceInfo->m_BrushCounters [0 ].Count () != GetCollisionBSPData ()->numbrushes + 1 )
6677 {
6778 memset ( pTraceInfo->m_Count , 0 , sizeof ( pTraceInfo->m_Count ) );
@@ -107,6 +118,11 @@ void EndTrace( TraceInfo_t *&pTraceInfo )
107118{
108119 PopTraceVisits ( pTraceInfo );
109120 Assert ( pTraceInfo->m_nCheckDepth == -1 );
121+ #if TEST_TRACE_POOL
122+ g_TraceInfoPool.PutObject ( pTraceInfo );
123+ #else
124+ g_TraceInfoPool.PushItem ( pTraceInfo );
125+ #endif
110126 pTraceInfo = NULL ;
111127}
112128
You can’t perform that action at this time.
0 commit comments