… | |
… | |
1480 | } |
1480 | } |
1481 | |
1481 | |
1482 | glEnd (); |
1482 | glEnd (); |
1483 | |
1483 | |
1484 | glDisable (GL_TEXTURE_2D); |
1484 | glDisable (GL_TEXTURE_2D); |
|
|
1485 | glDisable (GL_BLEND); |
1485 | |
1486 | |
1486 | // top layer: overlays such as the health bar |
1487 | // top layer: overlays such as the health bar |
1487 | for (y = 0; y < sh; y++) |
1488 | for (y = 0; y < sh; y++) |
1488 | if (0 <= y + vy && y + vy < self->rows) |
1489 | if (0 <= y + vy && y + vy < self->rows) |
1489 | { |
1490 | { |
… | |
… | |
1500 | if (cell->stat_hp) |
1501 | if (cell->stat_hp) |
1501 | { |
1502 | { |
1502 | int width = cell->stat_width * 32; |
1503 | int width = cell->stat_width * 32; |
1503 | int thick = sh / 28 + 1 + cell->stat_width; |
1504 | int thick = sh / 28 + 1 + cell->stat_width; |
1504 | |
1505 | |
1505 | glColor4ub (0, 0, 0, 223); |
1506 | glColor3ub (0, 0, 0); |
1506 | glRectf (px + 1, py, |
1507 | glRectf (px + 1, py - thick - 2, |
1507 | px + width - 1, py + thick + 2); |
1508 | px + width - 1, py); |
1508 | |
1509 | |
1509 | glColor4ub (cell->stat_hp, 255 - cell->stat_hp, 0, 223); |
1510 | glColor3ub (cell->stat_hp, 255 - cell->stat_hp, 0); |
1510 | glRectf (px + 2, |
1511 | glRectf (px + 2, |
1511 | py + 1, |
1512 | py - thick - 1, |
1512 | px + width - 2 - cell->stat_hp * (width - 4) / 255, py + thick + 1); |
1513 | px + width - 2 - cell->stat_hp * (width - 4) / 255, py - 1); |
1513 | } |
1514 | } |
1514 | } |
1515 | } |
1515 | } |
1516 | } |
1516 | |
|
|
1517 | glDisable (GL_BLEND); |
|
|
1518 | } |
1517 | } |
1519 | |
1518 | |
1520 | void |
1519 | void |
1521 | draw_magicmap (CFPlus::Map self, int dx, int dy, int w, int h, unsigned char *data) |
1520 | draw_magicmap (CFPlus::Map self, int dx, int dy, int w, int h, unsigned char *data) |
1522 | CODE: |
1521 | CODE: |