diff --git a/include/aocharmovie.h b/include/aocharmovie.h index d066a39..ec7b952 100644 --- a/include/aocharmovie.h +++ b/include/aocharmovie.h @@ -66,6 +66,8 @@ private: QString m_emote; QElapsedTimer actual_time; + + //it will forever be a mystery who thought this time_mod system would ever be a good idea with precision-based emotes const int time_mod = 60; // These are the X and Y values before they are fixed based on the sprite's width. diff --git a/src/aocharmovie.cpp b/src/aocharmovie.cpp index 34c6c81..b795847 100644 --- a/src/aocharmovie.cpp +++ b/src/aocharmovie.cpp @@ -164,7 +164,7 @@ void AOCharMovie::play_pre(QString p_char, QString p_emote, int duration) //not without looping through all frames in the image at least - which causes lag. So for now it simply ends the preanimation early instead. play_once = true; if (duration > 0) //It's -1 if there's no definition in [Time] for it. In which case, it will let the animation run out in full. Duration 0 does the same. - preanim_timer->start(duration); //This timer will not fire if the animation finishes earlier than that + preanim_timer->start(duration * time_mod); //This timer will not fire if the animation finishes earlier than that play(); }