Moved realisation to start_chat_ticking().

Since the realisation could have been called from two paths that were
previously one and the same (previously, the pre ending was the same as
the text starting -- with the inclusion of non-interrupting preanims,
these became different), in some select cases, the realisation could
have played twice.

As a solution to this, handling realisation is now done when the text
starts ticking, as that guarantees that the realisation happens only
once.
This commit is contained in:
Cerapter 2018-12-18 11:25:20 +01:00
parent 2e9404153b
commit ce350da473

View File

@ -1582,13 +1582,6 @@ void Courtroom::handle_chatmessage_3()
{ {
start_chat_ticking(); start_chat_ticking();
if (m_chatmessage[REALIZATION] == "1")
{
realization_timer->start(60);
ui_vp_realization->show();
sfx_player->play(ao_app->get_custom_realization(m_chatmessage[CHAR_NAME]));
}
int f_evi_id = m_chatmessage[EVIDENCE_ID].toInt(); int f_evi_id = m_chatmessage[EVIDENCE_ID].toInt();
QString f_side = m_chatmessage[SIDE]; QString f_side = m_chatmessage[SIDE];
@ -1979,6 +1972,13 @@ void Courtroom::start_chat_ticking()
if (text_state != 0) if (text_state != 0)
return; return;
if (m_chatmessage[REALIZATION] == "1")
{
realization_timer->start(60);
ui_vp_realization->show();
sfx_player->play(ao_app->get_custom_realization(m_chatmessage[CHAR_NAME]));
}
ui_vp_message->clear(); ui_vp_message->clear();
set_text_color(); set_text_color();
rainbow_counter = 0; rainbow_counter = 0;