bugfixes and shit
This commit is contained in:
		
							parent
							
								
									0649e7b28e
								
							
						
					
					
						commit
						fc984fcfe2
					
				
							
								
								
									
										
											BIN
										
									
								
								base/sounds/general/case_announced.ogg
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								base/sounds/general/case_announced.ogg
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							@ -5,4 +5,5 @@ evidence_present = sfx-evidenceshoop.wav
 | 
			
		||||
word_call = sfx-gaspen-yeah!.wav
 | 
			
		||||
mod_call = adminhelp.ogg
 | 
			
		||||
not_guilty = sfx-notguilty.wav
 | 
			
		||||
guilty = sfx-guilty.wav
 | 
			
		||||
guilty = sfx-guilty.wav
 | 
			
		||||
case_call = case_announced.ogg
 | 
			
		||||
@ -323,6 +323,9 @@ public:
 | 
			
		||||
  // Same for CM.
 | 
			
		||||
  bool get_casing_cm_enabled();
 | 
			
		||||
 | 
			
		||||
  // Same for witnesses.
 | 
			
		||||
  bool get_casing_wit_enabled();
 | 
			
		||||
 | 
			
		||||
  // Get the message for the CM for casing alerts.
 | 
			
		||||
  QString get_casing_can_host_cases();
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -26,14 +26,11 @@ public:
 | 
			
		||||
private:
 | 
			
		||||
  QWidget *m_parent;
 | 
			
		||||
  AOApplication *ao_app;
 | 
			
		||||
  QTimer *music_loop_timer;
 | 
			
		||||
  int m_volume = 0;
 | 
			
		||||
  QString f_path;
 | 
			
		||||
 | 
			
		||||
  HSTREAM m_stream;
 | 
			
		||||
 | 
			
		||||
private slots:
 | 
			
		||||
  void restart_loop();
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#endif // AOMUSICPLAYER_H
 | 
			
		||||
 | 
			
		||||
@ -106,6 +106,8 @@ private:
 | 
			
		||||
    QCheckBox *ui_casing_steno_cb;
 | 
			
		||||
    QLabel *ui_casing_cm_lbl;
 | 
			
		||||
    QCheckBox *ui_casing_cm_cb;
 | 
			
		||||
    QLabel *ui_casing_wit_lbl;
 | 
			
		||||
    QCheckBox *ui_casing_wit_cb;
 | 
			
		||||
    QLabel *ui_casing_cm_cases_lbl;
 | 
			
		||||
    QLineEdit *ui_casing_cm_cases_textbox;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -22,13 +22,10 @@ public:
 | 
			
		||||
private:
 | 
			
		||||
  QWidget *m_parent;
 | 
			
		||||
  AOApplication *ao_app;
 | 
			
		||||
  QTimer *sfx_loop_timer;
 | 
			
		||||
 | 
			
		||||
  int m_volume = 0;
 | 
			
		||||
  bool looping_sfx = false;
 | 
			
		||||
  HSTREAM m_stream;
 | 
			
		||||
private slots:
 | 
			
		||||
  void restart_loop();
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#endif // AOSFXPLAYER_H
 | 
			
		||||
 | 
			
		||||
@ -5,9 +5,6 @@ AOMusicPlayer::AOMusicPlayer(QWidget *parent, AOApplication *p_ao_app): QObject(
 | 
			
		||||
{
 | 
			
		||||
  m_parent = parent;
 | 
			
		||||
  ao_app = p_ao_app;
 | 
			
		||||
  music_loop_timer = new QTimer(this);
 | 
			
		||||
  music_loop_timer->setSingleShot(true);
 | 
			
		||||
  connect(music_loop_timer, SIGNAL(timeout()), this, SLOT(restart_loop()));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
AOMusicPlayer::~AOMusicPlayer()
 | 
			
		||||
@ -27,17 +24,16 @@ void AOMusicPlayer::play(QString p_song)
 | 
			
		||||
 | 
			
		||||
  if (ao_app->get_audio_output_device() != "default")
 | 
			
		||||
    BASS_ChannelSetDevice(m_stream, BASS_GetDevice());
 | 
			
		||||
  BASS_ChannelPlay(m_stream, false);
 | 
			
		||||
  music_loop_timer->stop();
 | 
			
		||||
  if(enable_looping)
 | 
			
		||||
  {
 | 
			
		||||
      QWORD len=BASS_ChannelGetLength(m_stream, BASS_POS_BYTE); // the length in bytes
 | 
			
		||||
      double time=BASS_ChannelBytes2Seconds(m_stream, len); // the length in seconds
 | 
			
		||||
      if(time > 0)
 | 
			
		||||
      {
 | 
			
		||||
        music_loop_timer->start(time*1000);
 | 
			
		||||
      }
 | 
			
		||||
    BASS_ChannelFlags(m_stream, BASS_SAMPLE_LOOP, BASS_SAMPLE_LOOP);
 | 
			
		||||
  }
 | 
			
		||||
  else
 | 
			
		||||
  {
 | 
			
		||||
    BASS_ChannelFlags(m_stream, 0, BASS_SAMPLE_LOOP);
 | 
			
		||||
  }
 | 
			
		||||
  BASS_ChannelPlay(m_stream, false);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
@ -54,21 +50,8 @@ QString AOMusicPlayer::get_path()
 | 
			
		||||
    return f_path;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void AOMusicPlayer::restart_loop()
 | 
			
		||||
{
 | 
			
		||||
    /*
 | 
			
		||||
    m_stream = BASS_StreamCreateFile(FALSE, f_path.utf16(), 0, 0, BASS_STREAM_AUTOFREE | BASS_UNICODE | BASS_ASYNCFILE);
 | 
			
		||||
    if (ao_app->get_audio_output_device() != "default")
 | 
			
		||||
      BASS_ChannelSetDevice(m_stream, BASS_GetDevice());*/
 | 
			
		||||
    QWORD len=BASS_ChannelGetLength(m_stream, BASS_POS_BYTE); // the length in bytes
 | 
			
		||||
    double time=BASS_ChannelBytes2Seconds(m_stream, len); // the length in seconds
 | 
			
		||||
    music_loop_timer->start(time*1000);
 | 
			
		||||
    BASS_ChannelPlay(m_stream, true);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void AOMusicPlayer::kill_loop()
 | 
			
		||||
{
 | 
			
		||||
    music_loop_timer->stop();
 | 
			
		||||
    BASS_ChannelStop(m_stream);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -467,6 +467,18 @@ AOOptionsDialog::AOOptionsDialog(QWidget *parent, AOApplication *p_ao_app) : QDi
 | 
			
		||||
 | 
			
		||||
    ui_casing_layout->setWidget(7, QFormLayout::FieldRole, ui_casing_cm_cb);
 | 
			
		||||
 | 
			
		||||
    ui_casing_wit_lbl = new QLabel(ui_casing_widget);
 | 
			
		||||
    ui_casing_wit_lbl->setText(tr("Witness:"));
 | 
			
		||||
    ui_casing_wit_lbl->setToolTip(tr("If checked, you will appear amongst the potential "
 | 
			
		||||
                                    "witnesses on the server."));
 | 
			
		||||
 | 
			
		||||
    ui_casing_layout->setWidget(8, QFormLayout::LabelRole, ui_casing_wit_lbl);
 | 
			
		||||
 | 
			
		||||
    ui_casing_wit_cb = new QCheckBox(ui_casing_widget);
 | 
			
		||||
    ui_casing_wit_cb->setChecked(ao_app->get_casing_wit_enabled());
 | 
			
		||||
 | 
			
		||||
    ui_casing_layout->setWidget(8, QFormLayout::FieldRole, ui_casing_wit_cb);
 | 
			
		||||
 | 
			
		||||
    // -- CM CASES ANNOUNCEMENTS
 | 
			
		||||
 | 
			
		||||
    ui_casing_cm_cases_lbl = new QLabel(ui_casing_widget);
 | 
			
		||||
@ -474,12 +486,12 @@ AOOptionsDialog::AOOptionsDialog(QWidget *parent, AOApplication *p_ao_app) : QDi
 | 
			
		||||
    ui_casing_cm_cases_lbl->setToolTip(tr("If you're a CM, enter what cases you are "
 | 
			
		||||
                                          "willing to host."));
 | 
			
		||||
 | 
			
		||||
    ui_casing_layout->setWidget(8, QFormLayout::LabelRole, ui_casing_cm_cases_lbl);
 | 
			
		||||
    ui_casing_layout->setWidget(9, QFormLayout::LabelRole, ui_casing_cm_cases_lbl);
 | 
			
		||||
 | 
			
		||||
    ui_casing_cm_cases_textbox = new QLineEdit(ui_casing_widget);
 | 
			
		||||
    ui_casing_cm_cases_textbox->setText(ao_app->get_casing_can_host_cases());
 | 
			
		||||
 | 
			
		||||
    ui_casing_layout->setWidget(8, QFormLayout::FieldRole, ui_casing_cm_cases_textbox);
 | 
			
		||||
    ui_casing_layout->setWidget(9, QFormLayout::FieldRole, ui_casing_cm_cases_textbox);
 | 
			
		||||
 | 
			
		||||
    // When we're done, we should continue the updates!
 | 
			
		||||
    setUpdatesEnabled(true);
 | 
			
		||||
 | 
			
		||||
@ -5,9 +5,6 @@ AOSfxPlayer::AOSfxPlayer(QWidget *parent, AOApplication *p_ao_app): QObject()
 | 
			
		||||
{
 | 
			
		||||
  m_parent = parent;
 | 
			
		||||
  ao_app = p_ao_app;
 | 
			
		||||
  sfx_loop_timer = new QTimer(this);
 | 
			
		||||
  sfx_loop_timer->setSingleShot(true);
 | 
			
		||||
  connect(sfx_loop_timer, SIGNAL(timeout()), this, SLOT(restart_loop()));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void AOSfxPlayer::play(QString p_sfx, QString p_char, QString shout)
 | 
			
		||||
@ -39,12 +36,13 @@ void AOSfxPlayer::play(QString p_sfx, QString p_char, QString shout)
 | 
			
		||||
  if (ao_app->get_audio_output_device() != "default")
 | 
			
		||||
    BASS_ChannelSetDevice(m_stream, BASS_GetDevice());
 | 
			
		||||
  BASS_ChannelPlay(m_stream, false);
 | 
			
		||||
  sfx_loop_timer->stop();
 | 
			
		||||
  QWORD len=BASS_ChannelGetLength(m_stream, BASS_POS_BYTE); // the length in bytes
 | 
			
		||||
  double time=BASS_ChannelBytes2Seconds(m_stream, len); // the length in seconds
 | 
			
		||||
  if(time > 0 && looping_sfx && ao_app->get_looping_sfx())
 | 
			
		||||
  if(looping_sfx && ao_app->get_looping_sfx())
 | 
			
		||||
  {
 | 
			
		||||
    sfx_loop_timer->start(time*1000);
 | 
			
		||||
    BASS_ChannelFlags(m_stream, BASS_SAMPLE_LOOP, BASS_SAMPLE_LOOP);
 | 
			
		||||
  }
 | 
			
		||||
  else
 | 
			
		||||
  {
 | 
			
		||||
    BASS_ChannelFlags(m_stream, 0, BASS_SAMPLE_LOOP);
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -56,18 +54,6 @@ void AOSfxPlayer::setLooping(bool is_looping)
 | 
			
		||||
void AOSfxPlayer::stop()
 | 
			
		||||
{
 | 
			
		||||
  BASS_ChannelStop(m_stream);
 | 
			
		||||
  sfx_loop_timer->stop();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void AOSfxPlayer::restart_loop()
 | 
			
		||||
{
 | 
			
		||||
    if(ao_app->get_looping_sfx() && looping_sfx)
 | 
			
		||||
    {
 | 
			
		||||
        QWORD len=BASS_ChannelGetLength(m_stream, BASS_POS_BYTE); // the length in bytes
 | 
			
		||||
        double time=BASS_ChannelBytes2Seconds(m_stream, len); // the length in seconds
 | 
			
		||||
        sfx_loop_timer->start(time*1000);
 | 
			
		||||
        BASS_ChannelPlay(m_stream, true);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void AOSfxPlayer::set_volume(int p_value)
 | 
			
		||||
 | 
			
		||||
@ -984,12 +984,10 @@ void Courtroom::list_music()
 | 
			
		||||
  for (int n_song = 0 ; n_song < music_list.size() ; ++n_song)
 | 
			
		||||
  {
 | 
			
		||||
    QString i_song = music_list.at(n_song);
 | 
			
		||||
    QString i_song_listname = i_song;
 | 
			
		||||
    i_song_listname = i_song_listname.left(i_song_listname.lastIndexOf("."));
 | 
			
		||||
 | 
			
		||||
    if (i_song.toLower().contains(ui_music_search->text().toLower()))
 | 
			
		||||
    {
 | 
			
		||||
      ui_music_list->addItem(i_song_listname);
 | 
			
		||||
      ui_music_list->addItem(i_song);
 | 
			
		||||
      music_row_to_number.append(n_song);
 | 
			
		||||
 | 
			
		||||
      QString song_path = ao_app->get_music_path(i_song);
 | 
			
		||||
@ -2825,7 +2823,6 @@ void Courtroom::handle_song(QStringList *p_contents)
 | 
			
		||||
 | 
			
		||||
  QString f_song = f_contents.at(0);
 | 
			
		||||
  QString f_song_clear = f_song;
 | 
			
		||||
  f_song_clear = f_song_clear.left(f_song_clear.lastIndexOf("."));
 | 
			
		||||
  int n_char = f_contents.at(1).toInt();
 | 
			
		||||
 | 
			
		||||
  if (n_char < 0 || n_char >= char_list.size())
 | 
			
		||||
@ -2865,7 +2862,7 @@ void Courtroom::handle_song(QStringList *p_contents)
 | 
			
		||||
        ic_chatlog_history.removeFirst();
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
      append_ic_text(f_song_clear, str_show, true);
 | 
			
		||||
      append_ic_text(f_song, str_show, true);
 | 
			
		||||
      music_player->play(f_song);
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
@ -2974,7 +2971,8 @@ void Courtroom::case_called(QString msg, bool def, bool pro, bool jud, bool jur,
 | 
			
		||||
        (ao_app->get_casing_prosecution_enabled() && pro) ||
 | 
			
		||||
        (ao_app->get_casing_judge_enabled() && jud) ||
 | 
			
		||||
        (ao_app->get_casing_juror_enabled() && jur) ||
 | 
			
		||||
        (ao_app->get_casing_steno_enabled() && steno))
 | 
			
		||||
        (ao_app->get_casing_steno_enabled() && steno) ||
 | 
			
		||||
        (ao_app->get_casing_wit_enabled() && witness))
 | 
			
		||||
    {
 | 
			
		||||
        modcall_player->play(ao_app->get_sfx("case_call"));
 | 
			
		||||
        ao_app->alert(this);
 | 
			
		||||
@ -3822,11 +3820,12 @@ void Courtroom::on_casing_clicked()
 | 
			
		||||
      f_packet.append(QString::number(ao_app->get_casing_judge_enabled()));
 | 
			
		||||
      f_packet.append(QString::number(ao_app->get_casing_juror_enabled()));
 | 
			
		||||
      f_packet.append(QString::number(ao_app->get_casing_steno_enabled()));
 | 
			
		||||
      f_packet.append(QString::number(ao_app->get_casing_wit_enabled()));
 | 
			
		||||
 | 
			
		||||
      ao_app->send_server_packet(new AOPacket("SETCASE", f_packet));
 | 
			
		||||
    }
 | 
			
		||||
    else
 | 
			
		||||
      ao_app->send_server_packet(new AOPacket("SETCASE#\"\"#0#0#0#0#0#0#%"));
 | 
			
		||||
      ao_app->send_server_packet(new AOPacket("SETCASE#\"\"#0#0#0#0#0#0#0#%"));
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -685,6 +685,12 @@ bool AOApplication::get_casing_steno_enabled()
 | 
			
		||||
  return result.startsWith("true");
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
bool AOApplication::get_casing_wit_enabled()
 | 
			
		||||
{
 | 
			
		||||
  QString result = configini->value("casing_wit_enabled", "false").value<QString>();
 | 
			
		||||
  return result.startsWith("true");
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
bool AOApplication::get_casing_cm_enabled()
 | 
			
		||||
{
 | 
			
		||||
    QString result = configini->value("casing_cm_enabled", "false").value<QString>();
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user