@@ -16,10 +16,6 @@ HandleManager_Z::HandleManager_Z() {
1616 m_ForbidCheckHandles = FALSE ;
1717}
1818
19- S32 HandleManager_Z::HandleToU32 (const BaseObject_ZHdl& i_Hdl) {
20- return i_Hdl.m_RealID .GblID ;
21- }
22-
2319const BaseObject_ZHdl& HandleManager_Z::CreateNewHandle (BaseObject_Z* i_ObjPtr, const Name_Z& i_Name, S16 i_ClassID, U8 i_Flag) {
2420 if (!m_NbFree) {
2521 ExpandSize ();
@@ -73,7 +69,6 @@ void HandleManager_Z::DeleteHandle(const BaseObject_ZHdl& i_Hdl) {
7369 m_FreeRecDA[m_NbFree++] = l_ID;
7470}
7571
76- // $SABE TODO: Fix match %, believed cause is inlined BitArray_Z::GetBit in HashTableBase_Z::Supress
7772void HandleManager_Z::RemoveResourceRef (const HandleRec_Z& i_HandleRec) {
7873 if (i_HandleRec.m_Flag & 0x8 ) {
7974 S32Hash_Z l_HashElt (i_HandleRec.m_Name .GetID ());
@@ -90,22 +85,20 @@ void HandleManager_Z::AddResourceRef(const HandleRec_Z& i_HandleRec, S32 i_Index
9085 }
9186}
9287
93- // $SABE TODO: Fix match %, believed cause is inlined BitArray_Z::GetBit in HashTableBase_Z::Search
9488S32 HandleManager_Z::IsResourceRef (S32 i_Hdl) {
9589 S32Hash_Z l_HashElt (i_Hdl);
9690 const S32Hash_Z* l_Result = m_HandleIdHT.Search (l_HashElt);
9791 if (l_Result) {
98- return l_Result->m_Value ;
92+ return l_Result->m_Ref ;
9993 }
10094 return -1 ;
10195}
10296
10397S32 HandleManager_Z::ChangeHandleName (const BaseObject_ZHdl& i_Hdl, const Name_Z& i_Name) {
104- int l_ID = i_Hdl.GetID ();
105- int l_Key = i_Hdl.GetKey ();
98+ S32 l_ID = i_Hdl.GetID ();
10699
107- if (CheckKey (l_ID, l_Key )) {
108- HandleRec_Z l_HandleRec = m_HandleRecDA[i_Hdl. GetID () ];
100+ if (CheckKey (l_ID, i_Hdl. GetKey () )) {
101+ HandleRec_Z& l_HandleRec = m_HandleRecDA[l_ID ];
109102 ASSERTLE_Z (!(l_HandleRec.m_Flag & HandleRec_Z::RSC), " " , 157 , " !(HdlRec.Flag&HandleRec_Z::RSC)" );
110103 l_HandleRec.m_Name = i_Name;
111104 return TRUE ;
@@ -114,19 +107,19 @@ S32 HandleManager_Z::ChangeHandleName(const BaseObject_ZHdl& i_Hdl, const Name_Z
114107}
115108
116109void HandleManager_Z::MarkU32Handle (U32 i_Hdl) {
117- Bool l_Result = FALSE ;
118- int l_ID;
119- S8 l_Key;
120-
121- l_ID = ((BaseObject_ZHdl*)&i_Hdl)->GetID ();
122- if (l_ID < m_HandleRecDA.GetSize ()) {
123- l_Key = ((BaseObject_ZHdl*)&i_Hdl)->GetKey ();
124- if (l_Key == m_HandleRecDA[l_ID].m_Key ) {
125- l_Result = TRUE ;
126- }
127- }
128- if (l_Result) {
110+ BaseObject_ZHdl l_Hdl = *((BaseObject_ZHdl*)&i_Hdl);
111+ S32 l_ID = l_Hdl.GetID ();
112+ if (CheckKey (l_ID, l_Hdl.GetKey ())) {
129113 m_HandleRecDA[l_ID].m_ObjPtr ->MarkHandles ();
130114 }
131- return ;
115+ }
116+
117+ S32 HandleManager_Z::HandleToU32 (const BaseObject_ZHdl& i_Hdl) {
118+ return i_Hdl.m_RealID .GblID ;
119+ }
120+
121+ BaseObject_ZHdl HandleManager_Z::U32ToHandle (S32 i_Hdl) {
122+ BaseObject_ZHdl l_Hdl;
123+ l_Hdl.m_RealID .GblID = i_Hdl;
124+ return l_Hdl;
132125}
0 commit comments