- Extend menu's ImageScroller ZScript class with mAnimated and use with Blood for the help and credits menu.

This commit is contained in:
Mitchell Richters 2021-08-05 13:11:07 +10:00
parent 1ed1222e10
commit 0d9afc1aaf
5 changed files with 12 additions and 1 deletions

View file

@ -1067,6 +1067,7 @@ DEFINE_FIELD(DImageScrollerDescriptor, textBackgroundBrightness)
DEFINE_FIELD(DImageScrollerDescriptor,textFont)
DEFINE_FIELD(DImageScrollerDescriptor, textScale)
DEFINE_FIELD(DImageScrollerDescriptor, mAnimatedTransition)
DEFINE_FIELD(DImageScrollerDescriptor, mAnimated)
DEFINE_FIELD(DImageScrollerDescriptor, virtWidth)
DEFINE_FIELD(DImageScrollerDescriptor, virtHeight)

View file

@ -141,6 +141,7 @@ public:
FFont *textFont;
double textScale;
bool mAnimatedTransition;
bool mAnimated;
int virtWidth, virtHeight;
};

View file

@ -1216,6 +1216,10 @@ static void ParseImageScrollerBody(FScanner& sc, DImageScrollerDescriptor* desc)
{
desc->mAnimatedTransition = true;
}
else if (sc.Compare("animated"))
{
desc->mAnimated = true;
}
else if (sc.Compare("textBackground"))
{
sc.MustGetString();

View file

@ -236,6 +236,7 @@ ImageScroller "HelpMenu"
QAVDrawer "Help4.qav"
QAVDrawer "Help5.qav"
QAVDrawer "Help3b.qav"
animated
}
ifgame(ShadowWarrior)
{
@ -356,6 +357,7 @@ ImageScroller "CreditsMenu"
ifgame(blood)
{
QAVDrawer "Credits.qav"
animated
}
ifgame(ShadowWarrior)
{

View file

@ -40,6 +40,7 @@ class ImageScrollerDescriptor : MenuDescriptor native
native Color textBackgroundBrightness;
native double textScale;
native bool mAnimatedTransition;
native bool mAnimated;
native int virtWidth, virtHeight;
}
@ -168,6 +169,7 @@ class ImageScrollerMenu : Menu
index = 0;
mDesc = desc;
AnimatedTransition = desc.mAnimatedTransition;
Animated = desc.mAnimated;
current = mDesc.mItems[0];
current.onStartPage();
previous = null;
@ -273,11 +275,12 @@ class ImageScrollerMenu : Menu
{
if (previous != null)
{
bool wasAnimated = Animated;
Animated = true;
if (DrawTransition()) return;
previous = null;
Animated = wasAnimated;
}
current.Drawer(false);
Animated = false;
}
}