MCPcopy Create free account
hub / github.com/ddnet/ddnet / QuadContainerAddQuads

Method QuadContainerAddQuads

src/engine/client/graphics_threaded.cpp:1552–1600  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1550}
1551
1552int CGraphics_Threaded::QuadContainerAddQuads(int ContainerIndex, CQuadItem *pArray, int Num)
1553{
1554 SQuadContainer &Container = m_vQuadContainers[ContainerIndex];
1555
1556 if((int)Container.m_vQuads.size() > Num + CCommandBuffer::CCommandBuffer::MAX_VERTICES)
1557 return -1;
1558
1559 int RetOff = (int)Container.m_vQuads.size();
1560
1561 for(int i = 0; i < Num; ++i)
1562 {
1563 Container.m_vQuads.emplace_back();
1564 SQuadContainer::SQuad &Quad = Container.m_vQuads.back();
1565
1566 Quad.m_aVertices[0].m_Pos.x = pArray[i].m_X;
1567 Quad.m_aVertices[0].m_Pos.y = pArray[i].m_Y;
1568 Quad.m_aVertices[0].m_Tex = m_aTexture[0];
1569 SetColor(&Quad.m_aVertices[0], 0);
1570
1571 Quad.m_aVertices[1].m_Pos.x = pArray[i].m_X + pArray[i].m_Width;
1572 Quad.m_aVertices[1].m_Pos.y = pArray[i].m_Y;
1573 Quad.m_aVertices[1].m_Tex = m_aTexture[1];
1574 SetColor(&Quad.m_aVertices[1], 1);
1575
1576 Quad.m_aVertices[2].m_Pos.x = pArray[i].m_X + pArray[i].m_Width;
1577 Quad.m_aVertices[2].m_Pos.y = pArray[i].m_Y + pArray[i].m_Height;
1578 Quad.m_aVertices[2].m_Tex = m_aTexture[2];
1579 SetColor(&Quad.m_aVertices[2], 2);
1580
1581 Quad.m_aVertices[3].m_Pos.x = pArray[i].m_X;
1582 Quad.m_aVertices[3].m_Pos.y = pArray[i].m_Y + pArray[i].m_Height;
1583 Quad.m_aVertices[3].m_Tex = m_aTexture[3];
1584 SetColor(&Quad.m_aVertices[3], 3);
1585
1586 if(m_Rotation != 0)
1587 {
1588 CCommandBuffer::SPoint Center;
1589 Center.x = pArray[i].m_X + pArray[i].m_Width / 2;
1590 Center.y = pArray[i].m_Y + pArray[i].m_Height / 2;
1591
1592 Rotate(Center, Quad.m_aVertices, 4);
1593 }
1594 }
1595
1596 if(Container.m_AutomaticUpload)
1597 QuadContainerUpload(ContainerIndex);
1598
1599 return RetOff;
1600}
1601
1602int CGraphics_Threaded::QuadContainerAddQuads(int ContainerIndex, CFreeformItem *pArray, int Num)
1603{

Callers 4

OnInitMethod · 0.80
AppendTextContainerMethod · 0.80

Calls 1

RotateFunction · 0.50

Tested by

no test coverage detected