Add a blip sound QElapsedTimer so blipsounds don't play more frequently than 60ms to preserve all of our ears.
Adjust the message display speeds to feel more accurate to AA, with }}} speed displaying text instantly for that section
This commit is contained in:
parent
1139bf5cd0
commit
4645d9dd08
@ -11,6 +11,7 @@
|
|||||||
|
|
||||||
#include <QWidget>
|
#include <QWidget>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
#include <QElapsedTimer>
|
||||||
#include <QDebug>
|
#include <QDebug>
|
||||||
|
|
||||||
|
|
||||||
@ -26,9 +27,12 @@ public:
|
|||||||
int m_cycle = 0;
|
int m_cycle = 0;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
const int max_blip_ms = 60;
|
||||||
|
|
||||||
QWidget *m_parent;
|
QWidget *m_parent;
|
||||||
AOApplication *ao_app;
|
AOApplication *ao_app;
|
||||||
qreal m_volume;
|
qreal m_volume;
|
||||||
|
QElapsedTimer delay;
|
||||||
|
|
||||||
void set_volume_internal(qreal p_volume);
|
void set_volume_internal(qreal p_volume);
|
||||||
|
|
||||||
|
@ -259,7 +259,7 @@ private:
|
|||||||
bool message_is_centered = false;
|
bool message_is_centered = false;
|
||||||
|
|
||||||
int current_display_speed = 3;
|
int current_display_speed = 3;
|
||||||
int message_display_speed[7] = {10, 20, 30, 40, 50, 60, 75};
|
int message_display_speed[7] = {0, 10, 25, 40, 50, 70, 90};
|
||||||
|
|
||||||
// This is for checking if the character should start talking again
|
// This is for checking if the character should start talking again
|
||||||
// when an inline blue text ends.
|
// when an inline blue text ends.
|
||||||
|
@ -23,6 +23,10 @@ void AOBlipPlayer::set_blips(QString p_sfx)
|
|||||||
|
|
||||||
void AOBlipPlayer::blip_tick()
|
void AOBlipPlayer::blip_tick()
|
||||||
{
|
{
|
||||||
|
if (delay.isValid() && delay.elapsed() < max_blip_ms)
|
||||||
|
return;
|
||||||
|
|
||||||
|
delay.start();
|
||||||
int f_cycle = m_cycle++;
|
int f_cycle = m_cycle++;
|
||||||
|
|
||||||
if (m_cycle == 5)
|
if (m_cycle == 5)
|
||||||
|
@ -2386,23 +2386,6 @@ void Courtroom::chat_tick()
|
|||||||
QScrollBar *scroll = ui_vp_message->verticalScrollBar();
|
QScrollBar *scroll = ui_vp_message->verticalScrollBar();
|
||||||
scroll->setValue(scroll->maximum());
|
scroll->setValue(scroll->maximum());
|
||||||
|
|
||||||
if(blank_blip)
|
|
||||||
qDebug() << "blank_blip found true";
|
|
||||||
|
|
||||||
if (f_character != ' ' || blank_blip)
|
|
||||||
{
|
|
||||||
|
|
||||||
if (blip_pos % blip_rate == 0 && !formatting_char)
|
|
||||||
{
|
|
||||||
blip_pos = 0;
|
|
||||||
blip_player->blip_tick();
|
|
||||||
}
|
|
||||||
|
|
||||||
++blip_pos;
|
|
||||||
}
|
|
||||||
|
|
||||||
tick_pos += f_char_length;
|
|
||||||
|
|
||||||
// Restart the timer, but according to the newly set speeds, if there were any.
|
// Restart the timer, but according to the newly set speeds, if there were any.
|
||||||
// Keep the speed at bay.
|
// Keep the speed at bay.
|
||||||
if (current_display_speed < 0)
|
if (current_display_speed < 0)
|
||||||
@ -2415,6 +2398,17 @@ void Courtroom::chat_tick()
|
|||||||
current_display_speed = 6;
|
current_display_speed = 6;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!formatting_char && (f_character != ' ' || blank_blip))
|
||||||
|
{
|
||||||
|
if (blip_pos % blip_rate == 0)
|
||||||
|
{
|
||||||
|
blip_player->blip_tick();
|
||||||
|
}
|
||||||
|
++blip_pos;
|
||||||
|
}
|
||||||
|
|
||||||
|
tick_pos += f_char_length;
|
||||||
|
|
||||||
// If we had a formatting char, we shouldn't wait so long again, as it won't appear!
|
// If we had a formatting char, we shouldn't wait so long again, as it won't appear!
|
||||||
if (formatting_char)
|
if (formatting_char)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user