aboutsummaryrefslogtreecommitdiff
path: root/src/courtroom.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/courtroom.cpp')
-rw-r--r--src/courtroom.cpp34
1 files changed, 9 insertions, 25 deletions
diff --git a/src/courtroom.cpp b/src/courtroom.cpp
index 71fa828d..094695af 100644
--- a/src/courtroom.cpp
+++ b/src/courtroom.cpp
@@ -3224,17 +3224,10 @@ void Courtroom::play_preanim(bool immediate)
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 ao2_duration = ao_app->get_ao2_preanim_duration(f_char, f_preanim);
+ int preanim_duration = ao_app->get_preanim_duration(f_char, f_preanim);
int stay_time = ao_app->get_text_delay(f_char, f_preanim) * time_mod;
int sfx_delay = m_chatmessage[SFX_DELAY].toInt() * time_mod;
- int preanim_duration;
-
- if (ao2_duration < 0)
- preanim_duration = ao_app->get_preanim_duration(f_char, f_preanim);
- else
- preanim_duration = ao2_duration;
-
sfx_delay_timer->start(sfx_delay);
QString anim_to_find =
ao_app->get_image_suffix(ao_app->get_character_path(f_char, f_preanim));
@@ -3247,15 +3240,6 @@ void Courtroom::play_preanim(bool immediate)
qDebug() << "W: could not find " + anim_to_find;
return;
}
- else {
- QImageReader s_reader(anim_to_find);
- int image_count = s_reader.imageCount();
- if (image_count <= 1) {
- preanim_done();
- qDebug() << "W: tried to play static preanim " + anim_to_find;
- return;
- }
- }
ui_vp_player_char->set_static_duration(preanim_duration);
ui_vp_player_char->set_play_once(true);
ui_vp_player_char->load_image(f_preanim, f_char, preanim_duration, true);
@@ -3277,16 +3261,15 @@ void Courtroom::play_preanim(bool immediate)
break;
}
- if (immediate)
+ if (immediate) {
anim_state = 4;
- else
- anim_state = 1;
-
- if (stay_time >= 0)
- text_delay_timer->start(stay_time);
-
- if (immediate)
handle_ic_speaking();
+ }
+ else {
+ anim_state = 1;
+ if (stay_time >= 0)
+ text_delay_timer->start(stay_time);
+ }
}
void Courtroom::preanim_done()
@@ -3318,6 +3301,7 @@ void Courtroom::preanim_done()
void Courtroom::start_chat_ticking()
{
+ text_delay_timer->stop();
// we need to ensure that the text isn't already ticking because this function
// can be called by two logic paths
if (text_state != 0)