// writebyte (PDEAD + (*playerid - 1) * PSLOTSIZE, 0); // Number of polygons in the map. int polynum = read4bytes(NUMBERPOLYS); // Coords for the polygon, x1,y1,x2,y2,x3,y3. float px1[10000]; float px2[10000]; float px3[10000]; float py1[10000]; float py2[10000]; float py3[10000]; int pcolor; // Drawtriangle loop. // POLYDIFF is always 0x1c. for ( int i = 0; i < polynum; i++ ) { px1[i] = readfloat((POLYGONS + (0x54 * i))); py1[i] = readfloat(((POLYGONS + (0x54 * i)) + 0x8)); px2[i] = readfloat(((POLYGONS + (0x54 * i)) + 0x1C)); py2[i] = readfloat(((POLYGONS + (0x54 * i)) + 0x24)); px3[i] = readfloat(((POLYGONS + (0x54 * i)) + 0x38)); py3[i] = readfloat(((POLYGONS + (0x54 * i)) + 0x40)); if (getpolytype(i) == 0) { pcolor = 0xBFD4D4D4; drawtriangleonmap(pcolor,px1[i],py1[i],px2[i],py2[i],px3[i],py3[i],m_pD3Ddev); } else if (getpolytype(i) == 1) { pcolor = 0xBFCBF9FF; drawtriangleonmap(pcolor,px1[i],py1[i],px2[i],py2[i],px3[i],py3[i],m_pD3Ddev); } else if (getpolytype(i) == 2) { pcolor = 0xBF777777; drawtriangleonmap(pcolor,px1[i],py1[i],px2[i],py2[i],px3[i],py3[i],m_pD3Ddev); } else if (getpolytype(i) == 3) { pcolor = 0xAFFFFFFF; drawtriangleonmap(pcolor,px1[i],py1[i],px2[i],py2[i],px3[i],py3[i],m_pD3Ddev); } else if (getpolytype(i) == 4) { pcolor = 0xBF34E7FF; drawtriangleonmap(pcolor,px1[i],py1[i],px2[i],py2[i],px3[i],py3[i],m_pD3Ddev); } else if (getpolytype(i) == 5) { pcolor = 0xBFFF0000; drawtriangleonmap(pcolor,px1[i],py1[i],px2[i],py2[i],px3[i],py3[i],m_pD3Ddev); } else if (getpolytype(i) == 6) { pcolor = 0xBFFF0000; drawtriangleonmap(pcolor,px1[i],py1[i],px2[i],py2[i],px3[i],py3[i],m_pD3Ddev); } else if (getpolytype(i) == 7) { pcolor = 0xBFFFFF00; drawtriangleonmap(pcolor,px1[i],py1[i],px2[i],py2[i],px3[i],py3[i],m_pD3Ddev); } else if (getpolytype(i) == 8) { pcolor = 0xBF00FF00; drawtriangleonmap(pcolor,px1[i],py1[i],px2[i],py2[i],px3[i],py3[i],m_pD3Ddev); } else if (getpolytype(i) == 9) { pcolor = 0xBFFF6600; drawtriangleonmap(pcolor,px1[i],py1[i],px2[i],py2[i],px3[i],py3[i],m_pD3Ddev); } }