aboutsummaryrefslogtreecommitdiff
path: root/src/aolayer.cpp
diff options
context:
space:
mode:
authorCrystalwarrior <Varsash@Gmail.com>2021-01-19 16:02:28 +0300
committerGitHub <noreply@github.com>2021-01-19 16:02:28 +0300
commit0926f3c15842a71002c0ec374fd54832469036d8 (patch)
treee679c1b6f567f29ae09cbd52fa442dd752107f85 /src/aolayer.cpp
parent8c60fb2fcd32081daae94de62ff1d626192d7fae (diff)
Implement sticker logic with animated image support (#414)
* Implement sticker logic with animated image support (will probably be remade in a much better way for AOLayers) * port to aolayer Co-authored-by: in1tiate <radwoodward@vikings.grayson.edu>
Diffstat (limited to 'src/aolayer.cpp')
-rw-r--r--src/aolayer.cpp24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/aolayer.cpp b/src/aolayer.cpp
index de8a451c..f95773b0 100644
--- a/src/aolayer.cpp
+++ b/src/aolayer.cpp
@@ -49,6 +49,11 @@ InterfaceLayer::InterfaceLayer(QWidget *p_parent, AOApplication *p_ao_app)
{
}
+StickerLayer::StickerLayer(QWidget *p_parent, AOApplication *p_ao_app)
+ : AOLayer(p_parent, p_ao_app)
+{
+}
+
QString AOLayer::find_image(QList<QString> p_list)
{
QString image_path;
@@ -278,6 +283,25 @@ void InterfaceLayer::load_image(QString p_filename, QString p_miscname)
start_playback(find_image(pathlist));
}
+void StickerLayer::load_image(QString p_charname)
+{
+ QString miscname = ao_app->get_char_shouts(p_charname);
+ transform_mode = ao_app->get_misc_scaling(miscname);
+ QList<QString> pathlist = {
+ ao_app->get_image_suffix(ao_app->get_base_path() + "misc/" +
+ miscname + "/sticker/" + p_charname), // Misc path
+ ao_app->get_image_suffix(ao_app->get_custom_theme_path(miscname, "sticker/" + p_charname)), // Custom theme path
+ ao_app->get_image_suffix(ao_app->get_theme_path("sticker/" + p_charname)), // Theme path
+ ao_app->get_image_suffix(
+ ao_app->get_default_theme_path("sticker/" + p_charname)), // Default theme path
+ ao_app->get_image_suffix(
+ ao_app->get_character_path(p_charname, "sticker")), // Character folder
+ ao_app->get_image_suffix(
+ ao_app->get_character_path(p_charname, "showname")), // Scuffed DRO way
+ };
+ start_playback(find_image(pathlist));
+}
+
void CharLayer::start_playback(QString p_image)
{
movie_effects.clear();