diff options
| author | Jumbowl <collinxchu@gmail.com> | 2024-07-21 11:36:14 -0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-07-21 09:36:14 -0500 |
| commit | 0c3a4259ab22ff2e44e4eca6a11e8054f3c78d30 (patch) | |
| tree | e2459097768aad1ef53cc553d1420ba6a9810c4d | |
| parent | ec914d90478490e3b9fff5bfe71dc232fff1cca1 (diff) | |
Evidence Display Hack (#1021)
Does not display the evidence "shoop" effect when you're presenting the same piece of evidence multiple times.
Co-authored-by: JumsAOMems <nmjamesbutler@gmail.com>
Co-authored-by: in1tiate <32779090+in1tiate@users.noreply.github.com>
| -rw-r--r-- | src/aoevidencedisplay.cpp | 25 |
1 files changed, 16 insertions, 9 deletions
diff --git a/src/aoevidencedisplay.cpp b/src/aoevidencedisplay.cpp index 47bcf650..3f9c45db 100644 --- a/src/aoevidencedisplay.cpp +++ b/src/aoevidencedisplay.cpp @@ -20,15 +20,11 @@ AOEvidenceDisplay::AOEvidenceDisplay(AOApplication *p_ao_app, QWidget *p_parent) void AOEvidenceDisplay::show_evidence(int p_index, QString p_evidence_image, bool is_left_side, int p_volume) { - this->reset(); - - m_last_evidence_index = p_index; - - m_sfx_player->setVolume(p_volume); - QString gif_name; QString icon_identifier; + m_sfx_player->setVolume(p_volume); + if (is_left_side) { icon_identifier = "left_evidence_icon"; @@ -52,9 +48,20 @@ void AOEvidenceDisplay::show_evidence(int p_index, QString p_evidence_image, boo ui_prompt_details->setIconSize(f_pixmap.rect().size()); ui_prompt_details->resize(f_pixmap.rect().size()); ui_prompt_details->move(icon_dimensions.x, icon_dimensions.y); - m_evidence_movie->setPlayOnce(true); - m_evidence_movie->loadAndPlayAnimation(gif_name, ""); - m_sfx_player->findAndPlaySfx(ao_app->get_court_sfx("evidence_present")); + + if (m_last_evidence_index != p_index) + { + this->reset(); + m_last_evidence_index = p_index; + + m_evidence_movie->setPlayOnce(true); + m_evidence_movie->loadAndPlayAnimation(gif_name, ""); + m_sfx_player->findAndPlaySfx(ao_app->get_court_sfx("evidence_present")); + } + else + { + ui_prompt_details->show(); + } } void AOEvidenceDisplay::reset() |
