MCPcopy Create free account
hub / github.com/DescentDevelopers/Descent3 / ClearPersistentHUDMessage

Function ClearPersistentHUDMessage

Descent3/hudmessage.cpp:1405–1438  ·  view source on GitHub ↗

Clears the current message, and plays the next in the queue

Source from the content-addressed store, hash-verified

1403
1404// Clears the current message, and plays the next in the queue
1405void 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
1441void ResetPersistentHUDMessage() {

Callers 2

RenderHUDMessagesFunction · 0.85

Calls 5

GetHUDItemFunction · 0.85
FreeHUDItemFunction · 0.85
StopSoundLoopingMethod · 0.80
setMethod · 0.45

Tested by

no test coverage detected