The help tab is piss easy to add but I forgot to.

This commit is contained in:
Mari the Deer 2021-10-15 21:28:15 +02:00
commit 50913ed173
4 changed files with 66 additions and 8 deletions

View file

@ -1,3 +1,3 @@
[default]
SWWM_MODVER="\chSWWM \czGZ\c- \cw1.2pre r28 \cu(Fri 15 Oct 21:09:52 CEST 2021)\c-";
SWWM_SHORTVER="\cw1.2pre r28 \cu(2021-10-15 21:09:52)\c-";
SWWM_MODVER="\chSWWM \czGZ\c- \cw1.2pre r29 \cu(Fri 15 Oct 21:28:15 CEST 2021)\c-";
SWWM_SHORTVER="\cw1.2pre r29 \cu(2021-10-15 21:28:15)\c-";

View file

@ -17,7 +17,8 @@ Class DemolitionistMenuTextBox ui
self.x = x;
if ( w == 0 ) self.w = 640-x;
else self.w = w;
self.txt = StringTable.Localize(txt);
if ( txt.Left(1) == "$" ) self.txt = StringTable.Localize(txt);
else self.txt = txt;
ofs = 0;
// break lines
let fnt = master.LargeFont;

View file

@ -2,22 +2,79 @@
Class DemolitionistHelpTab : DemolitionistMenuTab
{
Array<DemolitionistMenuTextBox> mtext;
DemolitionistMenuTextBox mtext;
bool drag;
override DemolitionistMenuTab Init( DemolitionistMenu master )
{
title = "$SWWM_HELPTAB";
bHidden = true;
String kstr;
if ( master.mkey[1] != "" ) kstr = master.mkey[0].."/"..master.mkey[1];
else kstr = master.mkey[0];
String str = String.Format(StringTable.Localize("$SWWM_HELPTXT"),kstr);
mtext = new("DemolitionistMenuTextBox").Init(master,str);
return Super.Init(master);
}
override void MenuInput( int key )
{
switch ( key )
{
case MK_DOWN:
if ( mtext.Scroll(16) ) master.MenuSound("menu/demoscroll");
break;
case MK_UP:
if ( mtext.Scroll(-16) ) master.MenuSound("menu/demoscroll");
break;
}
}
override void MouseInput( Vector2 pos, int btn )
{
switch ( btn )
{
case MB_LEFT:
// see if we're clicking the scrollbar (if it exists)
if ( mtext.scrollbar && (pos.x > (mtext.x+(mtext.w-8))) )
{
mtext.SetOffset(pos.y);
master.MenuSound("menu/demoscroll");
drag = true;
break;
}
break;
case MB_WHEELUP:
if ( mtext.Scroll(-8) ) master.MenuSound("menu/demoscroll");
break;
case MB_WHEELDOWN:
if ( mtext.Scroll(8) ) master.MenuSound("menu/demoscroll");
break;
case MB_DRAG:
if ( drag ) mtext.SetOffset(pos.y);
break;
case MB_RELEASE:
if ( drag ) master.MenuSound("menu/demoscroll");
drag = false;
break;
}
}
// stop smooth scrolling for current textbox
override void OnSelect()
{
bHidden = false;
mtext.smofs = mtext.ofs;
}
override void OnDeselect()
{
bHidden = true;
mtext.smofs = mtext.ofs;
}
// very simple
override void Ticker()
{
mtext.Ticker();
}
override void Drawer()
{
mtext.Drawer();
}
}

View file

@ -183,7 +183,7 @@ Class DemolitionistMissionTab : DemolitionistMenuTab
master.MenuSound("menu/demoscroll");
sel--;
if ( sel < 0 ) sel = mtext.Size()-1;
mtext[sel].smofs = mtext[sel].ofs = 0;
mtext[sel].smofs = mtext[sel].ofs;
drag = false; // just in case
}
break;
@ -194,7 +194,7 @@ Class DemolitionistMissionTab : DemolitionistMenuTab
master.MenuSound("menu/demoscroll");
sel++;
if ( sel >= mtext.Size() ) sel = 0;
mtext[sel].smofs = mtext[sel].ofs = 0;
mtext[sel].smofs = mtext[sel].ofs;
drag = false; // just in case
}
break;