Removed theme submodule, ...

* Removed theme submodule.
  * This should be handled by the CI.
* Fixed effects not disappearing when they should (cull / repeat)
This commit is contained in:
TrickyLeifa 2024-05-23 00:02:07 +02:00
parent d135bbc511
commit 29284c0b21
12 changed files with 22 additions and 9 deletions

3
.gitmodules vendored
View File

@ -1,3 +0,0 @@
[submodule "bin/base/themes"]
path = bin/base/themes
url = https://github.com/AttorneyOnline/AO2-Themes.git

Binary file not shown.

Before

Width:  |  Height:  |  Size: 505 B

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 40 KiB

@ -1 +0,0 @@
Subproject commit 32a130d1a35220b27deecf22f59c83e92cac1fee

View File

@ -143,6 +143,11 @@ void AnimationLayer::jumpToFrame(int number)
}
}
bool AnimationLayer::isPlayOnce()
{
return m_play_once;
}
void AnimationLayer::setPlayOnce(bool enabled)
{
m_play_once = enabled;
@ -324,6 +329,7 @@ void AnimationLayer::frameTicker()
return;
}
stopPlayback();
return;
}
@ -595,12 +601,21 @@ void BackgroundAnimationLayer::loadAndPlayAnimation(QString fileName)
}
#endif
bool is_different_file = file_path != this->fileName();
if (is_different_file)
{
setFileName(file_path);
}
VPath design_path = ao_app->get_background_path("design.ini");
setTransformationMode(ao_app->get_scaling(ao_app->read_design_ini("scaling", design_path)));
setStretchToFit(ao_app->read_design_ini("stretch", design_path).startsWith("true"));
if (is_different_file)
{
startPlayback();
}
}
SplashAnimationLayer::SplashAnimationLayer(AOApplication *ao_app, QWidget *parent)
: AnimationLayer(parent)
@ -640,7 +655,7 @@ void EffectAnimationLayer::setHideWhenStopped(bool enabled)
void EffectAnimationLayer::maybeHide()
{
if (m_hide_when_stopped)
if (m_hide_when_stopped && isPlayOnce())
{
hide();
}

View File

@ -62,6 +62,8 @@ public:
int currentFrameNumber();
void jumpToFrame(int number);
bool isPlayOnce();
void setPlayOnce(bool enabled);
void setStretchToFit(bool enabled);
void setResetCacheWhenStopped(bool enabled);

View File

@ -3157,6 +3157,8 @@ void Courtroom::do_effect(QString fx_path, QString fx_sound, QString p_char, QSt
QString effect = ao_app->get_effect(fx_path, p_char, p_folder);
if (effect == "")
{
ui_vp_effect->stopPlayback();
ui_vp_effect->hide();
return;
}
@ -3173,8 +3175,6 @@ void Courtroom::do_effect(QString fx_path, QString fx_sound, QString p_char, QSt
ui_vp_effect->setTransformationMode(ao_app->get_scaling(ao_app->get_effect_property(fx_path, p_char, p_folder, "scaling")));
ui_vp_effect->setStretchToFit(ao_app->get_effect_property(fx_path, p_char, p_folder, "stretch").startsWith("true"));
ui_vp_effect->setFlipped(ao_app->get_effect_property(fx_path, p_char, p_folder, "respect_flip").startsWith("true") && m_chatmessage[FLIP].toInt() == 1);
ui_vp_effect->setPlayOnce(false); // The effects themselves dictate whether or not they're looping.
// Static effects will linger.
bool looping = ao_app->get_effect_property(fx_path, p_char, p_folder, "loop").startsWith("true");