Allow clearing the message log.
This commit is contained in:
parent
4efe82ab34
commit
bbf89546e3
6 changed files with 84 additions and 5 deletions
|
|
@ -418,6 +418,10 @@ SWWM_NOSTOREBUY = "(no items left to buy)";
|
|||
SWWM_NOSTORESELL = "(no items to be sold)";
|
||||
SWWM_CHATTAB = "Messages";
|
||||
SWWM_NOCHAT = "(message history is empty)";
|
||||
SWWM_CLEARCHAT0 = "Are you sure you want to clear all messages?";
|
||||
SWWM_CLEARCHAT1 = "\cfEnter, Left Click\c- to confirm";
|
||||
SWWM_CLEARCHAT2 = "\cfBackspace, Right Click\c- to cancel";
|
||||
SWWM_CHATCLEARED = "Message history has been cleared.";
|
||||
SWWM_SECRETTAB = "Secret";
|
||||
SWWM_TODEMO = "\cx\"Fight for justice, Demo-chan! You can do it!\"\c- \cg♥\c- Ibuki & Saya";
|
||||
SWWM_CUTIECLUB = "\cx\"Never lose hope, Demo-chan! We're all with you!\"\c- \cg♥\c- Cutie Club";
|
||||
|
|
@ -513,7 +517,9 @@ SWWM_HELPTXT =
|
|||
"\cxMessages Tab - Controls\c-\n"
|
||||
"\cx———————————————————————\c-\n"
|
||||
"\n"
|
||||
"\cfUp, Down:\c- Scroll";
|
||||
"\cfUp, Down:\c- Scroll\n"
|
||||
"\cfBackspace, Right Click:\c- Clear messages\n"
|
||||
"\cfEnter, Left Click:\c- Confirm clear";
|
||||
SWWM_GAMETAB = "Games";
|
||||
SWWM_PICKGAME = "Choose a game";
|
||||
SWWM_GAMETITLE_MADCATGAME = "Boot Test";
|
||||
|
|
|
|||
|
|
@ -377,6 +377,10 @@ SWWM_NOSTOREBUY = "(no queda nada que comprar)";
|
|||
SWWM_NOSTORESELL = "(no tienes ítems que vender)";
|
||||
SWWM_CHATTAB = "Mensajes";
|
||||
SWWM_NOCHAT = "(historial de mensajes vacío)";
|
||||
SWWM_CLEARCHAT0 = "¿Seguro que quieres borrar todos los mensajes?";
|
||||
SWWM_CLEARCHAT1 = "\cfEnter/Click Izdo.\c- para confirmar";
|
||||
SWWM_CLEARCHAT2 = "\cfRetroceso/Click Dcho.\c- para cancelar";
|
||||
SWWM_CHATCLEARED = "El historial de mensajes ha sido borrado.";
|
||||
SWWM_SECRETTAB = "Secreto";
|
||||
SWWM_TODEMO = "\cx\"¡Lucha por la justicia, Demo-chan! ¡Tú puedes!\"\c- \cg♥\c- Ibuki y Saya";
|
||||
SWWM_CUTIECLUB = "\cx\"¡Jamás pierdas la esperanza, Demo-chan! ¡Estamos todas contigo!\"\c- \cg♥\c- Club Cuqui";
|
||||
|
|
@ -472,7 +476,9 @@ SWWM_HELPTXT =
|
|||
"\cxPestaña de Mensajes - Controles\c-\n"
|
||||
"\cx———————————————————————————————\c-\n"
|
||||
"\n"
|
||||
"\cfArriba/Abajo:\c- Scroll";
|
||||
"\cfArriba/Abajo:\c- Scroll\n"
|
||||
"\cfRetroceso/Click Dcho.:\c- Borrar mensajes\n"
|
||||
"\cfEnter/Click Izdo.:\c- Confirmar borrado";
|
||||
SWWM_GAMETAB = "Juegos";
|
||||
SWWM_PICKGAME = "Elige un juego";
|
||||
SWWM_GAMETITLE_MADCATGAME = "Test de Arranque";
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
[default]
|
||||
SWWM_MODVER="\cyDEMOLITIONIST \cw1.3pre r783 \cu(Fri 10 Mar 11:24:32 CET 2023)\c-";
|
||||
SWWM_SHORTVER="\cw1.3pre r783 \cu(2023-03-10 11:24:32)\c-";
|
||||
SWWM_MODVER="\cyDEMOLITIONIST \cw1.3pre r784 \cu(Fri 10 Mar 11:48:21 CET 2023)\c-";
|
||||
SWWM_SHORTVER="\cw1.3pre r784 \cu(2023-03-10 11:48:21)\c-";
|
||||
|
|
|
|||
|
|
@ -88,6 +88,20 @@ extend Class SWWMHandler
|
|||
bar.ntagtic = level.totaltime;
|
||||
bar.ntagcol = nametagcolor;
|
||||
}
|
||||
else if ( e.Name ~== "swwmrefreshmessagelog" )
|
||||
{
|
||||
let kbase = DemolitionistMenu(Menu.GetCurrentMenu());
|
||||
if ( !kbase ) return;
|
||||
foreach ( t:kbase.tabs )
|
||||
{
|
||||
if ( !(t is 'DemolitionistChatTab') ) continue;
|
||||
let ct = DemolitionistChatTab(t);
|
||||
if ( ct.msglist ) ct.msglist.Destroy();
|
||||
break;
|
||||
}
|
||||
kbase.tmsg = StringTable.Localize("$SWWM_CHATCLEARED");
|
||||
kbase.tmsgtic = Menu.MenuTime()+70;
|
||||
}
|
||||
}
|
||||
|
||||
override void NetworkProcess( ConsoleEvent e )
|
||||
|
|
@ -454,6 +468,12 @@ extend Class SWWMHandler
|
|||
if ( consoleplayer != e.Args[2] ) return;
|
||||
SWWMFullHistory.PushMessage(e.Name.Mid(17),e.Args[0],e.Args[1]);
|
||||
}
|
||||
else if ( e.Name ~== "swwmclearmessages" )
|
||||
{
|
||||
if ( consoleplayer != e.Args[0] ) return;
|
||||
SWWMFullHistory.ClearMessages();
|
||||
SendInterfaceEvent(consoleplayer,"swwmrefreshmessagelog");
|
||||
}
|
||||
else if ( e.Name.Left(16) ~== "swwmremoteliner." )
|
||||
{
|
||||
if ( consoleplayer == e.Args[0] ) return;
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@ Class DemolitionistChatTab : DemolitionistMenuTab
|
|||
double smofs;
|
||||
bool drag;
|
||||
bool justopened;
|
||||
bool bDel;
|
||||
SWWMFullHistory hist;
|
||||
|
||||
override DemolitionistMenuTab Init( DemolitionistMenu master )
|
||||
|
|
@ -116,6 +117,18 @@ Class DemolitionistChatTab : DemolitionistMenuTab
|
|||
case MK_UP:
|
||||
if ( Scroll(-16) ) master.MenuSound("menu/demoscroll");
|
||||
break;
|
||||
case MK_ENTER:
|
||||
if ( bDel )
|
||||
{
|
||||
master.MenuSound("menu/democlose");
|
||||
bDel = false;
|
||||
EventHandler.SendNetworkEvent("swwmclearmessages",consoleplayer);
|
||||
}
|
||||
break;
|
||||
case MK_BACK:
|
||||
bDel = !bDel;
|
||||
master.MenuSound(bDel?"menu/demosel":"menu/democlose");
|
||||
break;
|
||||
}
|
||||
}
|
||||
override void MouseInput( Vector2 pos, int btn )
|
||||
|
|
@ -131,6 +144,10 @@ Class DemolitionistChatTab : DemolitionistMenuTab
|
|||
master.MenuSound("menu/demoscroll");
|
||||
drag = true;
|
||||
}
|
||||
MenuInput(MK_ENTER);
|
||||
break;
|
||||
case MB_RIGHT:
|
||||
MenuInput(MK_BACK);
|
||||
break;
|
||||
case MB_WHEELUP:
|
||||
if ( Scroll(-8) ) master.MenuSound("menu/demoscroll");
|
||||
|
|
@ -148,7 +165,24 @@ Class DemolitionistChatTab : DemolitionistMenuTab
|
|||
}
|
||||
override void Drawer( double fractic )
|
||||
{
|
||||
if ( !hist || (msglist.items.Size() <= 0) )
|
||||
if ( bDel )
|
||||
{
|
||||
double fh = master.mSmallFont.GetHeight();
|
||||
double yy = int(master.ws.y-fh*4)/2;
|
||||
String str = StringTable.Localize("$SWWM_CLEARCHAT0");
|
||||
double xx = int(master.ws.x-master.mSmallFont.StringWidth(str))/2;
|
||||
Screen.DrawText(master.mSmallFont,Font.CR_FIRE,master.origin.x+xx,master.origin.y+yy,str,DTA_VirtualWidthF,master.ss.x,DTA_VirtualHeightF,master.ss.y,DTA_KeepRatio,true);
|
||||
yy += fh*2;
|
||||
str = StringTable.Localize("$SWWM_CLEARCHAT1");
|
||||
xx = int(master.ws.x-master.mSmallFont.StringWidth(str))/2;
|
||||
Screen.DrawText(master.mSmallFont,Font.CR_WHITE,master.origin.x+xx,master.origin.y+yy,str,DTA_VirtualWidthF,master.ss.x,DTA_VirtualHeightF,master.ss.y,DTA_KeepRatio,true);
|
||||
yy += fh;
|
||||
str = StringTable.Localize("$SWWM_CLEARCHAT2");
|
||||
xx = int(master.ws.x-master.mSmallFont.StringWidth(str))/2;
|
||||
Screen.DrawText(master.mSmallFont,Font.CR_WHITE,master.origin.x+xx,master.origin.y+yy,str,DTA_VirtualWidthF,master.ss.x,DTA_VirtualHeightF,master.ss.y,DTA_KeepRatio,true);
|
||||
return;
|
||||
}
|
||||
if ( !hist || !msglist || (msglist.items.Size() <= 0) )
|
||||
{
|
||||
String str = StringTable.Localize("$SWWM_NOCHAT");
|
||||
double xx = int(master.ws.x-master.mSmallFont.StringWidth(str))/2;
|
||||
|
|
|
|||
|
|
@ -53,6 +53,19 @@ Class SWWMFullHistory : SWWMStaticThinker
|
|||
m.rep = 1;
|
||||
fh.msg.Push(m);
|
||||
}
|
||||
|
||||
static play void ClearMessages()
|
||||
{
|
||||
let fh = SWWMFullHistory(ThinkerIterator.Create("SWWMFullHistory",STAT_STATIC).Next());
|
||||
if ( !fh )
|
||||
{
|
||||
fh = new("SWWMFullHistory");
|
||||
fh.ChangeStatNum(STAT_STATIC);
|
||||
return;
|
||||
}
|
||||
fh.lastmap = "";
|
||||
fh.msg.Clear();
|
||||
}
|
||||
}
|
||||
|
||||
// Dedicated mission log (for custom maps)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue