aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJumbowl <collinxchu@gmail.com>2024-07-21 11:36:14 -0300
committerGitHub <noreply@github.com>2024-07-21 09:36:14 -0500
commit0c3a4259ab22ff2e44e4eca6a11e8054f3c78d30 (patch)
treee2459097768aad1ef53cc553d1420ba6a9810c4d /src
parentec914d90478490e3b9fff5bfe71dc232fff1cca1 (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>
Diffstat (limited to 'src')
-rw-r--r--src/aoevidencedisplay.cpp25
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()