- Extend menu's `ListMenu` ZScript class with `mAnimated` already natively available, and use with Blood where `BloodDripDrawer` is defined.

* Finalises the interpolated blood dripping code changes from 9884d5f396.
This commit is contained in:
Mitchell Richters 2021-08-02 12:34:15 +10:00
parent 888f8888bb
commit 1ed1222e10
4 changed files with 11 additions and 0 deletions

View File

@ -1036,6 +1036,7 @@ DEFINE_FIELD(DListMenuDescriptor, mFont)
DEFINE_FIELD(DListMenuDescriptor, mFontColor)
DEFINE_FIELD(DListMenuDescriptor, mFontColor2)
DEFINE_FIELD(DListMenuDescriptor, mAnimatedTransition)
DEFINE_FIELD(DListMenuDescriptor, mAnimated)
DEFINE_FIELD(DListMenuDescriptor, mCenter)
DEFINE_FIELD(DListMenuDescriptor, mVirtWidth)
DEFINE_FIELD(DListMenuDescriptor, mVirtHeight)

View File

@ -344,6 +344,10 @@ static void DoParseListMenuBody(FScanner &sc, DListMenuDescriptor *desc, bool &s
{
desc->mAnimatedTransition = true;
}
else if (sc.Compare("animated"))
{
desc->mAnimated = true;
}
else if (sc.Compare("MouseWindow"))
{
sc.MustGetNumber();

View File

@ -40,6 +40,7 @@ LISTMENU "MainMenu"
BloodTextItem "$MNU_CREDITS", "c", "CreditsMenu"
BloodTextItem "$MNU_QUITGAME", "q", "QuitMenu"
BloodDripDrawer
animated
}
ifgame(ShadowWarrior)
{
@ -112,6 +113,7 @@ LISTMENU "IngameMenu"
BloodTextItem "$MNU_ENDGAME", "e", "EndgameMenu"
BloodTextItem "$MNU_QUITGAME", "q", "QuitMenu"
BloodDripDrawer
animated
}
ifgame(ShadowWarrior)
{
@ -169,6 +171,7 @@ LISTMENU "EpisodeMenu"
Linespacing 20
CaptionItem "$MNU_EPISODES"
BloodDripDrawer
animated
}
ifgame(ShadowWarrior)
{
@ -194,6 +197,7 @@ LISTMENU "SkillMenu"
Linespacing 20
CaptionItem "$MNU_DIFFICULTY"
BloodDripDrawer
animated
}
ifgame(ShadowWarrior)
{

View File

@ -56,6 +56,7 @@ class ListMenuDescriptor : MenuDescriptor native
native int mFontColor2;
native bool mCenter;
native bool mAnimatedTransition;
native bool mAnimated;
native int mVirtWidth, mVirtHeight;
native void Reset();
@ -87,6 +88,7 @@ class ListMenu : Menu
Super.Init(parent);
mDesc = desc;
AnimatedTransition = mDesc.mAnimatedTransition;
Animated = mDesc.mAnimated;
if (desc.mCenter)
{
double center = 160;