… | |
… | |
1273 | uint8_t *data = (uint8_t *)SvPVbyte_nolen (data_); |
1273 | uint8_t *data = (uint8_t *)SvPVbyte_nolen (data_); |
1274 | uint8_t *data_end = (uint8_t *)SvEND (data_); |
1274 | uint8_t *data_end = (uint8_t *)SvEND (data_); |
1275 | mapcell *cell; |
1275 | mapcell *cell; |
1276 | int x, y, flags; |
1276 | int x, y, flags; |
1277 | |
1277 | |
1278 | while (data < data_end) |
1278 | while (data < data_end - 1) |
1279 | { |
1279 | { |
1280 | flags = (data [0] << 8) + data [1]; data += 2; |
1280 | flags = (data [0] << 8) + data [1]; data += 2; |
1281 | |
1281 | |
1282 | x = self->x + ((flags >> 10) & 63); |
1282 | x = self->x + ((flags >> 10) & 63); |
1283 | y = self->y + ((flags >> 4) & 63); |
1283 | y = self->y + ((flags >> 4) & 63); |
… | |
… | |
1500 | if (cell->stat_hp) |
1500 | if (cell->stat_hp) |
1501 | { |
1501 | { |
1502 | int width = cell->stat_width * 32; |
1502 | int width = cell->stat_width * 32; |
1503 | int thick = sh / 28 + 1 + cell->stat_width; |
1503 | int thick = sh / 28 + 1 + cell->stat_width; |
1504 | |
1504 | |
1505 | glColor4ub (0, 0, 0, 128); |
1505 | glColor4ub (0, 0, 0, 223); |
1506 | glRectf (px + 1, py, |
1506 | glRectf (px + 1, py, |
1507 | px + width - 1, py + thick + 2); |
1507 | px + width - 1, py + thick + 2); |
1508 | |
1508 | |
1509 | glColor4ub (cell->stat_hp, 255 - cell->stat_hp, 0, 192); |
1509 | glColor4ub (cell->stat_hp, 255 - cell->stat_hp, 0, 223); |
1510 | glRectf (px + 2, |
1510 | glRectf (px + 2, |
1511 | py + 1, |
1511 | py + 1, |
1512 | px + width - 2 - cell->stat_hp * (width - 4) / 255, py + thick + 1); |
1512 | px + width - 2 - cell->stat_hp * (width - 4) / 255, py + thick + 1); |
1513 | } |
1513 | } |
1514 | } |
1514 | } |