Skip to content

Commit f7db8fa

Browse files
committed
fixed a bug where spectators could not hear music
1 parent 3f92634 commit f7db8fa

3 files changed

Lines changed: 30 additions & 20 deletions

File tree

courtroom.cpp

Lines changed: 24 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -608,6 +608,8 @@ void Courtroom::done_received()
608608
set_mute_list();
609609

610610
show();
611+
612+
ui_spectator->show();
611613
}
612614

613615
void Courtroom::set_char_select_page()
@@ -681,22 +683,30 @@ void Courtroom::set_background(QString p_background)
681683
void Courtroom::enter_courtroom(int p_cid)
682684
{
683685
m_cid = p_cid;
684-
QString f_char = ao_app->get_char_name(char_list.at(m_cid).name);
686+
687+
QString f_char;
688+
689+
if (m_cid == -1)
690+
f_char = "";
691+
else
692+
f_char = ao_app->get_char_name(char_list.at(m_cid).name);
693+
685694
current_char = f_char;
686695

687696
current_emote_page = 0;
688697
current_emote = 0;
689698

690-
ui_emotes->show();
699+
if (m_cid == -1)
700+
ui_emotes->hide();
701+
else
702+
ui_emotes->show();
691703

692704
set_emote_page();
693705

694706
current_evidence_page = 0;
695707
current_evidence = 0;
696708

697-
qDebug() << "setting evidence page";
698709
set_evidence_page();
699-
qDebug() << "evidence page set";
700710

701711
QString side = ao_app->get_char_side(f_char);
702712

@@ -743,7 +753,7 @@ void Courtroom::enter_courtroom(int p_cid)
743753

744754
ui_char_select_background->hide();
745755

746-
ui_ic_chat_message->setEnabled(true);
756+
ui_ic_chat_message->setEnabled(m_cid != -1);
747757
ui_ic_chat_message->setFocus();
748758
}
749759

@@ -1147,6 +1157,12 @@ void Courtroom::play_preanim()
11471157
QString f_char = m_chatmessage[CHAR_NAME];
11481158
QString f_preanim = m_chatmessage[PRE_EMOTE];
11491159

1160+
if (!file_exists(ao_app->get_character_path(f_char) + ".gif"))
1161+
{
1162+
preanim_done();
1163+
return;
1164+
}
1165+
11501166
//all time values in char.inis are multiplied by a constant(time_mod) to get the actual time
11511167
int preanim_duration = ao_app->get_preanim_duration(f_char, f_preanim) * time_mod;
11521168
int text_delay = ao_app->get_text_delay(f_char, f_preanim) * time_mod;
@@ -1740,6 +1756,7 @@ void Courtroom::on_change_character_clicked()
17401756
blip_player->set_volume(0);
17411757

17421758
ui_char_select_background->show();
1759+
ui_spectator->hide();
17431760
}
17441761

17451762
void Courtroom::on_reload_theme_clicked()
@@ -1775,12 +1792,9 @@ void Courtroom::on_char_select_right_clicked()
17751792

17761793
void Courtroom::on_spectator_clicked()
17771794
{
1778-
ui_emotes->hide();
1779-
1780-
ui_witness_testimony->hide();
1781-
ui_cross_examination->hide();
1795+
enter_courtroom(-1);
17821796

1783-
ui_ic_chat_message->setEnabled(false);
1797+
ui_emotes->hide();
17841798

17851799
ui_char_select_background->hide();
17861800
}

emotes.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,9 @@ void Courtroom::construct_emotes()
5959

6060
void Courtroom::set_emote_page()
6161
{
62+
if (m_cid == -1)
63+
return;
64+
6265
int total_emotes = ao_app->get_emote_number(current_char);
6366

6467
ui_emote_left->hide();

evidence.cpp

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,9 @@ void Courtroom::construct_evidence()
8383

8484
void Courtroom::set_evidence_page()
8585
{
86+
if (m_cid == -1)
87+
return;
88+
8689
local_evidence_list.clear();
8790

8891
QString evi_string = char_list.at(m_cid).evidence_string;
@@ -101,29 +104,19 @@ void Courtroom::set_evidence_page()
101104

102105
int total_evidence = local_evidence_list.size();
103106

104-
qDebug() << "total_evidence: " << total_evidence;
105-
106107
ui_evidence_left->hide();
107108
ui_evidence_right->hide();
108109

109-
qDebug() << "hid evidence left and right";
110-
111110
for (AOEvidenceButton *i_button : ui_evidence_list)
112111
{
113112
i_button->hide();
114113
}
115114

116-
qDebug() << "hid all evidence buttons";
117-
118115
if (total_evidence == 0)
119116
return;
120117

121-
qDebug() << "max_evi_on_page =" << max_evidence_on_page;
122-
123118
int total_pages = total_evidence / max_evidence_on_page;
124119

125-
qDebug() << "total_pages: " << total_pages;
126-
127120
int evidence_on_page = 0;
128121

129122
if (total_evidence % max_evidence_on_page != 0)

0 commit comments

Comments
 (0)