… | |
… | |
1300 | uint8_t ext, cmd; |
1300 | uint8_t ext, cmd; |
1301 | |
1301 | |
1302 | do |
1302 | do |
1303 | { |
1303 | { |
1304 | ext = *data++; |
1304 | ext = *data++; |
1305 | cmd = ext & 0x7f; |
1305 | cmd = ext & 0x3f; |
1306 | |
1306 | |
1307 | if (ext < 4) |
1307 | if (ext < 4) |
1308 | cell->darkness = 255 - ext * 64 + 1; |
1308 | cell->darkness = 255 - ext * 64 + 1; |
1309 | else if (ext == 5) // health |
1309 | else if (ext == 5) // health |
1310 | cell->stat_hp = *data++; |
1310 | cell->stat_hp = *data++; |
|
|
1311 | else if (ext & 0x40) // unknown, multibyte => skip |
|
|
1312 | data += *data + 1; |
1311 | } |
1313 | } |
1312 | while (cmd & 0x80); |
1314 | while (cmd & 0x80); |
1313 | } |
1315 | } |
1314 | else |
1316 | else |
1315 | cell->darkness = *data++ + 1; |
1317 | cell->darkness = *data++ + 1; |