aboutsummaryrefslogtreecommitdiff
path: root/src/aolayer.cpp
diff options
context:
space:
mode:
authoroldmud0 <oldmud0@users.noreply.github.com>2021-02-24 10:26:56 -0600
committerGitHub <noreply@github.com>2021-02-24 10:26:56 -0600
commita64241a0f0f05967f58650d9f1b0f35f861ce45a (patch)
tree91770d2b15e91d83496babbd13b107a9b278869c /src/aolayer.cpp
parentf1eb91a612ac1406d53b84ee5bad4fa83d78a09f (diff)
parent5ac95ada564f11419441eca32907aef7ec16dd90 (diff)
Merge pull request #473 from AttorneyOnline/fix/everything
Fix change character lag, bg resizing and repos weirdness, inconsistent behavior, sticker setting etc.
Diffstat (limited to 'src/aolayer.cpp')
-rw-r--r--src/aolayer.cpp13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/aolayer.cpp b/src/aolayer.cpp
index e7664950..f0d5779e 100644
--- a/src/aolayer.cpp
+++ b/src/aolayer.cpp
@@ -240,12 +240,11 @@ void InterfaceLayer::load_image(QString p_filename, QString p_miscname)
void StickerLayer::load_image(QString p_charname)
{
- QString p_miscname = ao_app->get_chat(p_charname);
+ QString p_miscname;
+ if (ao_app->is_customchat_enabled())
+ p_miscname = ao_app->get_chat(p_charname);
transform_mode = ao_app->get_misc_scaling(p_miscname);
QString final_image = ao_app->get_image("sticker/" + p_charname, ao_app->current_theme, ao_app->get_subtheme(), ao_app->default_theme, p_miscname);
- if (!file_exists((final_image)))
- final_image = ao_app->get_image_suffix(
- ao_app->get_character_path(p_charname, "showname")), // Scuffed DRO way
start_playback(final_image);
}
@@ -261,6 +260,7 @@ void CharLayer::start_playback(QString p_image)
void AOLayer::start_playback(QString p_image)
{
+ this->show();
if (!ao_app->is_continuous_enabled()) {
continuous = false;
@@ -322,7 +322,6 @@ void AOLayer::start_playback(QString p_image)
int f_delay = m_reader.nextImageDelay();
this->set_frame(f_pixmap);
- this->show();
if (max_frames > 1) {
movie_frames.append(f_pixmap);
movie_delays.append(f_delay);
@@ -450,6 +449,10 @@ void CharLayer::load_network_effects()
void CharLayer::play_frame_effect(int p_frame)
{
+ if (p_frame >= movie_effects.size()) {
+ qDebug() << "W: Attempted to play a frame effect bigger than the size of movie_effects";
+ return;
+ }
if (p_frame < max_frames) {
foreach (QString effect, movie_effects[p_frame]) {
if (effect == "shake") {