From 897e19546ae9dae3e4197d97739a14c05c07f4aa Mon Sep 17 00:00:00 2001 From: OmniTroid Date: Wed, 15 Feb 2017 23:15:06 +0100 Subject: fixed some sfx issues --- courtroom.cpp | 32 +++++++++++++++++--------------- 1 file changed, 17 insertions(+), 15 deletions(-) (limited to 'courtroom.cpp') diff --git a/courtroom.cpp b/courtroom.cpp index 7578c14..8fd3138 100644 --- a/courtroom.cpp +++ b/courtroom.cpp @@ -1010,6 +1010,7 @@ void Courtroom::handle_chatmessage(QStringList *p_contents) return; text_state = 0; + qDebug() << "anim_state set to 0 in handle_chatmessage"; anim_state = 0; chatmessage_is_empty = m_chatmessage[MESSAGE] == " " || m_chatmessage[MESSAGE] == ""; @@ -1075,6 +1076,7 @@ void Courtroom::objection_done() void Courtroom::handle_chatmessage_2() { + qDebug() << "handle_chatmessage_2 called"; ui_vp_speedlines->stop(); ui_vp_player_char->stop(); @@ -1102,14 +1104,13 @@ void Courtroom::handle_chatmessage_2() switch (emote_mod) { - case 1: case 2: case 3: case 4: case 6: + case 1: case 2: case 6: play_preanim(); break; default: qDebug() << "W: invalid emote mod: " << QString::number(emote_mod); //intentional fallthru case 0: case 5: - start_chat_ticking(); handle_chatmessage_3(); } } @@ -1205,6 +1206,13 @@ void Courtroom::play_preanim() QString f_char = m_chatmessage[CHAR_NAME]; QString f_preanim = m_chatmessage[PRE_EMOTE]; + //all time values in char.inis are multiplied by a constant(time_mod) to get the actual time + int preanim_duration = ao_app->get_ao2_preanim_duration(f_char, f_preanim) * time_mod; + int text_delay = ao_app->get_text_delay(f_char, f_preanim) * time_mod; + int sfx_delay = m_chatmessage[SFX_DELAY].toInt() * time_mod; + + sfx_delay_timer->start(sfx_delay); + if (!file_exists(ao_app->get_character_path(f_char) + f_preanim.toLower() + ".gif")) { anim_state = 1; @@ -1213,20 +1221,16 @@ void Courtroom::play_preanim() return; } - //all time values in char.inis are multiplied by a constant(time_mod) to get the actual time - int preanim_duration = ao_app->get_ao2_preanim_duration(f_char, f_preanim) * time_mod; - int text_delay = ao_app->get_text_delay(f_char, f_preanim) * time_mod; - int sfx_delay = m_chatmessage[SFX_DELAY].toInt() * time_mod; - ui_vp_player_char->play_pre(f_char, f_preanim, preanim_duration); anim_state = 1; if (text_delay >= 0) text_delay_timer->start(text_delay); - sfx_delay_timer->start(sfx_delay); + } void Courtroom::preanim_done() { + qDebug() << "preanim_done called"; handle_chatmessage_3(); } @@ -1273,11 +1277,8 @@ void Courtroom::chat_tick() { text_state = 2; chat_tick_timer->stop(); - if (anim_state == 2) - { - anim_state = 3; - ui_vp_player_char->play_idle(m_chatmessage[CHAR_NAME], m_chatmessage[EMOTE]); - } + anim_state = 3; + ui_vp_player_char->play_idle(m_chatmessage[CHAR_NAME], m_chatmessage[EMOTE]); } else @@ -1814,7 +1815,7 @@ void Courtroom::on_change_character_clicked() } void Courtroom::on_reload_theme_clicked() -{ +{ ao_app->set_user_theme(); set_widgets(); @@ -1822,7 +1823,8 @@ void Courtroom::on_reload_theme_clicked() set_background(current_background); enter_courtroom(m_cid); - + anim_state = 4; + text_state = 3; } void Courtroom::on_back_to_lobby_clicked() -- cgit