Skip to content

Commit 26210bc

Browse files
committed
added IFP entity
1 parent ceb5663 commit 26210bc

File tree

5 files changed

+13
-0
lines changed

5 files changed

+13
-0
lines changed

Client/mods/deathmatch/StdInc.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@
7777
#include <CClientStreamSectorRow.h>
7878
#include <CClientTask.h>
7979
#include <CClientTXD.h>
80+
#include <CClientIFP.h>
8081
#include <CClientWater.h>
8182
#include <CClientWeapon.h>
8283
#include <CClientRenderElement.h>

Client/mods/deathmatch/logic/CClientEntity.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,7 @@ enum eClientEntityType
8383
CCLIENTRENDERTARGET,
8484
CCLIENTBROWSER,
8585
CCLIENTSEARCHLIGHT,
86+
CCLIENTIFP,
8687
CCLIENTUNKNOWN,
8788
};
8889

Client/mods/deathmatch/logic/CResource.cpp

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,11 @@ CResource::CResource ( unsigned short usNetID, const char* szResourceName, CClie
6767
m_pResourceTXDRoot = new CClientDummy ( g_pClientGame->GetManager(), INVALID_ELEMENT_ID, "txdroot" );
6868
m_pResourceTXDRoot->MakeSystemEntity ();
6969

70+
// Create our IFP root element. We set its parent when we're loaded.
71+
// Make it a system entity so nothing but us can delete it.
72+
m_pResourceIFPRoot = new CClientDummy ( g_pClientGame->GetManager(), INVALID_ELEMENT_ID, "ifproot" );
73+
m_pResourceIFPRoot->MakeSystemEntity ();
74+
7075
m_strResourceDirectoryPath = SString ( "%s/resources/%s", g_pClientGame->GetFileCacheRoot (), *m_strResourceName );
7176
m_strResourcePrivateDirectoryPath = PathJoin ( CServerIdManager::GetSingleton ( )->GetConnectionPrivateDirectory (), m_strResourceName );
7277

@@ -105,6 +110,10 @@ CResource::~CResource ( void )
105110
g_pClientGame->GetElementDeleter ()->DeleteRecursive ( m_pResourceTXDRoot );
106111
m_pResourceTXDRoot = NULL;
107112

113+
// Destroy the ifp root so all ifp elements are deleted except those moved out
114+
g_pClientGame->GetElementDeleter ()->DeleteRecursive ( m_pResourceIFPRoot );
115+
m_pResourceIFPRoot = NULL;
116+
108117
// Destroy the ddf root so all dff elements are deleted except those moved out
109118
g_pClientGame->GetElementDeleter ()->DeleteRecursive ( m_pResourceDFFEntity );
110119
m_pResourceDFFEntity = NULL;

Client/mods/deathmatch/logic/CResource.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,7 @@ class CResource
131131
class CClientEntity* m_pResourceDFFEntity;
132132
class CClientEntity* m_pResourceGUIEntity;
133133
class CClientEntity* m_pResourceTXDRoot;
134+
class CClientEntity* m_pResourceIFPRoot;
134135
unsigned short m_usRemainingNoClientCacheScripts;
135136
bool m_bLoadAfterReceivingNoClientCacheScripts;
136137
SString m_strMinServerReq;

Client/mods/deathmatch/logic/luadefs/CLuaEngineDefs.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ class CLuaEngineDefs : public CLuaDefs
2121
LUA_DECLARE ( EngineLoadDFF );
2222
LUA_DECLARE ( EngineLoadTXD );
2323
LUA_DECLARE ( EngineLoadCOL );
24+
LUA_DECLARE ( EngineLoadIFP );
2425
LUA_DECLARE ( EngineImportTXD );
2526
LUA_DECLARE ( EngineReplaceCOL );
2627
LUA_DECLARE ( EngineRestoreCOL );

0 commit comments

Comments
 (0)