Clears the current message, and plays the next in the queue
| 1403 | |
| 1404 | // Clears the current message, and plays the next in the queue |
| 1405 | void ClearPersistentHUDMessage() { |
| 1406 | // free persistent message currently visible |
| 1407 | if (Hud_persistent_msg_id != HUD_INVALID_ID) { |
| 1408 | tHUDItem *item = GetHUDItem(Hud_persistent_msg_id); |
| 1409 | if (item) { |
| 1410 | t_dirty_rect *r = &item->dirty_rect; |
| 1411 | HUD_persist_dirty_rect[0].set(r->r[0].l, r->r[0].t, r->r[0].r, r->r[0].b); |
| 1412 | } |
| 1413 | FreeHUDItem(Hud_persistent_msg_id); |
| 1414 | Hud_persistent_msg_id = HUD_INVALID_ID; |
| 1415 | } |
| 1416 | if (Hud_persistent_msg_id2 != HUD_INVALID_ID) { |
| 1417 | tHUDItem *item = GetHUDItem(Hud_persistent_msg_id2); |
| 1418 | if (item) { |
| 1419 | t_dirty_rect *r = &item->dirty_rect; |
| 1420 | HUD_persist_dirty_rect[1].set(r->r[0].l, r->r[0].t, r->r[0].r, r->r[0].b); |
| 1421 | } |
| 1422 | FreeHUDItem(Hud_persistent_msg_id2); |
| 1423 | Hud_persistent_msg_id2 = HUD_INVALID_ID; |
| 1424 | } |
| 1425 | |
| 1426 | if (Hud_persistent_msg_sound_handle != SOUND_NONE_INDEX) { |
| 1427 | Sound_system.StopSoundLooping(Hud_persistent_msg_sound_handle); |
| 1428 | Hud_persistent_msg_sound_handle = SOUND_NONE_INDEX; |
| 1429 | } |
| 1430 | |
| 1431 | // Check for queued message |
| 1432 | if (Num_queued_PHUD_messages) { |
| 1433 | phud_message *pp = &PHUD_message_queue[0]; |
| 1434 | StartPersistentHUDMessage(pp->color, pp->x, pp->y, pp->time, pp->flags, pp->sound_index, pp->message); |
| 1435 | *pp = PHUD_message_queue[1]; |
| 1436 | Num_queued_PHUD_messages--; |
| 1437 | } |
| 1438 | } |
| 1439 | |
| 1440 | // Clears all the persistent hud messages |
| 1441 | void ResetPersistentHUDMessage() { |
no test coverage detected