| 374 | } |
| 375 | |
| 376 | void ReplaceAreaQuads(CDataFileReader aInputMaps[2], const float aaaGameAreas[][2][2], const CMapItemGroup *apLayerGroups[2], CMapItemLayer *apItem[2], const int ItemNumber) |
| 377 | { |
| 378 | CMapItemLayerQuads *apQuadLayer[2]; |
| 379 | for(int i = 0; i < 2; i++) |
| 380 | apQuadLayer[i] = (CMapItemLayerQuads *)apItem[i]; |
| 381 | |
| 382 | CQuad *apQuads[3]; |
| 383 | for(int i = 0; i < 2; i++) |
| 384 | apQuads[i] = (CQuad *)aInputMaps[i].GetDataSwapped(apQuadLayer[i]->m_Data); |
| 385 | |
| 386 | apQuads[2] = new CQuad[apQuadLayer[0]->m_NumQuads + apQuadLayer[1]->m_NumQuads]; |
| 387 | int QuadsCounter = 0; |
| 388 | |
| 389 | bool DataChanged = RemoveDestinationQuads(aaaGameAreas[1], apQuads[1], apQuadLayer[1]->m_NumQuads, apLayerGroups[1], apQuads[2], QuadsCounter); |
| 390 | DataChanged |= InsertDestinationQuads(aaaGameAreas, apQuads[0], apQuadLayer[0]->m_NumQuads, apLayerGroups, apQuads[2], QuadsCounter); |
| 391 | |
| 392 | if(DataChanged) |
| 393 | { |
| 394 | g_apNewData[apQuadLayer[1]->m_Data] = apQuads[2]; |
| 395 | g_aNewDataSize[apQuadLayer[1]->m_Data] = ((int)sizeof(CQuad)) * QuadsCounter; |
| 396 | apQuadLayer[1]->m_NumQuads = QuadsCounter; |
| 397 | g_apNewItem[ItemNumber] = apItem[1]; |
| 398 | } |
| 399 | else |
| 400 | delete[] apQuads[2]; |
| 401 | } |
| 402 | |
| 403 | bool RemoveDestinationQuads(const float aaGameArea[2][2], const CQuad *pQuads, const int NumQuads, const CMapItemGroup *pLayerGroup, CQuad *pDestQuads, int &QuadsCounter) |
| 404 | { |
no test coverage detected