MCPcopy Create free account
hub / github.com/ajkhoury/ReClassEx / ReplaceNode

Method ReplaceNode

ReClass/CClassView.cpp:1152–1194  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1150}
1151
1152void CClassView::ReplaceNode( CNodeClass* pClass, UINT Index, CNodeBase* pNewNode )
1153{
1154 if (!pClass || Index == MAX_NODES)
1155 return;
1156
1157 CNodeBase* pOldNode = pClass->GetNode( Index );
1158 pNewNode->SetName( pOldNode->GetName( ) );
1159 pNewNode->SetComment( pOldNode->GetComment( ) );
1160
1161 // This looks wrong
1162 //if ( pOldNode->offset < 0x140000000 )
1163 //{
1164 // pNewNode->offset = 0x140000000;
1165 // pNewNode->strOffset = "0x140000000";
1166 //} else {
1167 // pNewNode->offset = pOldNode->offset;
1168 //}
1169
1170 pNewNode->SetParent( pClass );
1171 pNewNode->Unselect( );
1172
1173 //m_pSelected = pNewNode;
1174 pClass->SetNode( Index, pNewNode );
1175
1176 DWORD sOld = pOldNode->GetMemorySize( );
1177 DWORD sNew = pNewNode->GetMemorySize( );
1178
1179 if (sOld != sNew)
1180 {
1181 if (sNew < sOld)
1182 {
1183 FillNodes( pClass, Index + 1, sOld - sNew );
1184 }
1185 else
1186 {
1187 RemoveNodes( pClass, Index + 1, sNew - sOld );
1188 }
1189 }
1190
1191 delete pOldNode;
1192
1193 g_ReClassApp.CalcAllOffsets( );
1194}
1195
1196void CClassView::RemoveNodes( CNodeClass* pClass, UINT Index, DWORD Length )
1197{

Callers

nothing calls this directly

Calls 8

GetNodeMethod · 0.80
SetCommentMethod · 0.80
SetParentMethod · 0.80
UnselectMethod · 0.80
SetNodeMethod · 0.80
CalcAllOffsetsMethod · 0.80
SetNameMethod · 0.45
GetMemorySizeMethod · 0.45

Tested by

no test coverage detected