From a82a531b6b8a82ecaf9313f29592b057c84ddab0 Mon Sep 17 00:00:00 2001 From: Marisa Kirisame Date: Wed, 22 Dec 2021 17:30:37 +0100 Subject: [PATCH] Pause display is now text-based (also has an extra). --- graphics/swwmback.png | Bin 244 -> 193 bytes graphics/swwmpause.png | Bin 764 -> 0 bytes language.def_base | 1 + language.es_base | 1 + language.version | 4 ++-- zmapinfo.txt | 1 - zscript/hud/swwm_hud.zsc | 45 ++++++++++++++++++++++++++++++++------- 7 files changed, 41 insertions(+), 11 deletions(-) delete mode 100644 graphics/swwmpause.png diff --git a/graphics/swwmback.png b/graphics/swwmback.png index 5735387688cc5496a7fc33781a06e2b151f65d5a..e173f3f8d6d49c52195ea424d99cbe2ea6431154 100644 GIT binary patch literal 193 zcmeAS@N?(olHy`uVBq!ia0y~yV31;9U=U$pW?*1Q%rod^U|^67@Ck8cU|0r+O4PRRq$85YbMcwmHu(*rMGVXJhQ`K%%hhN!x yO=+=rv7gcQg703_51i48Z8CIwcIoqP_Ns~66J_dkk25eZFnGH9xvXqRlKL=v?r|P#Zm>8s(GB8RkJueFC;%_ zxU}%~u2UM;C6Or;^uH)9Y2aG9!JG5M1Lkfk4!NcK?Vd9*Ffe$!`njxgN@xNAFUM3L diff --git a/graphics/swwmpause.png b/graphics/swwmpause.png deleted file mode 100644 index 58c76b7313df0ebf1fb8898e4d28e592d4b658f1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 764 zcmeAS@N?(olHy`uVBq!ia0y~yV8~`*U=ZVAW?*3WaCed-0|P@vfKP}k0|SGAfPsvb~NJEW#|OkMrBy83AijSCtY7d17nYHD87)V!{xbxTX@wzl>I z9i68-I?r@;Ug_$-o*>cthk=2Cu_VYZn8D%MjWh-ZCL>Q5#}E(i+~CeKB|{$XBb&T6 z0~So#JSDsT|Nq0jIj8;Fe(g2eq;q=m!N~#>C%ex#k39W7H$%C+#r#il$ve~YKP{aV z9^~_GYn|vhr-S{k@WXcwvzMwlFSyU6I@9G%0?4__U4>UzeUM z>o(XF$o#y@aL)O3!E^}$zE8&^pRZfuH-COq`D+2*T}Fa_%O}SPumwH6uw>!INm27% zrlj6*n8FtO<Q(r=KKA$D zd7C>nm1JxVE93F9*4S)kld?W*>48t(bte=ry)Bcz5D?oHrNOeM+fME6f-_ay8~U46 zie{8-zRB`r_Ep&_*G@gSd&@ynyE80eZCJ>Rw5JEJZ;o4^`M|?m;FA7kksqhj*IOJ) z+W11{kb%$c7`>k@E;8(U_P$(m>_qLF(*kLmC8b<9YPYn7w9Gosdsg=5T;uGtC;fsg zR@WjgzuYo?N=&=9(EjV;e?N$F%sQm;`u{l(4hfA6qnTfXPNq(q{^8RnCG)k*_cV4z zX{{7gUfwn#Smp7@9dlVL55cOp2O!Fevt&ywD$mD77Am z7aUrX;&$#8*FIuo_WSn6sN*{V3v>@2&E9VENqvs8Rbs%-e#VPmmUNiOK8mwSn78M* c&eH#>wr1bv28L~5U|?YIboFyt=akR{0N;O4j{pDw diff --git a/language.def_base b/language.def_base index 2ee52c76f..e71ca22c2 100644 --- a/language.def_base +++ b/language.def_base @@ -725,6 +725,7 @@ SWWM_DMSPREAD = "Spread:"; SWWM_PLACE1 = "1st"; SWWM_PLACE2 = "2nd"; SWWM_PLACE3 = "3rd"; +SWWM_PAUSE = "PAUSED"; // weapon tooltips SWWM_TTNOTE = "Note: Weapon tooltips can be deactivated in SWWM GZ Options."; TT_PUSHER = diff --git a/language.es_base b/language.es_base index b862d92dc..5003b931d 100644 --- a/language.es_base +++ b/language.es_base @@ -615,6 +615,7 @@ SWWM_PLACE3 = "3º"; SWWM_PLACE1_GENDER1 = "1ª"; SWWM_PLACE2_GENDER1 = "2ª"; SWWM_PLACE3_GENDER1 = "3ª"; +SWWM_PAUSE = "PAUSA"; // weapon tooltips SWWM_TTNOTE = "Nota: La ayuda de armas se puede desactivar en Opciones de SWWM GZ."; TT_PUSHER = diff --git a/language.version b/language.version index 4ee5f317b..ba6563ba6 100644 --- a/language.version +++ b/language.version @@ -1,3 +1,3 @@ [default] -SWWM_MODVER="\chSWWM \czGZ\c- \cw1.2pre r93 \cu(Tue 21 Dec 22:03:38 CET 2021)\c-"; -SWWM_SHORTVER="\cw1.2pre r93 \cu(2021-12-21 22:03:38)\c-"; +SWWM_MODVER="\chSWWM \czGZ\c- \cw1.2pre r94 \cu(Wed 22 Dec 17:30:37 CET 2021)\c-"; +SWWM_SHORTVER="\cw1.2pre r94 \cu(2021-12-22 17:30:37)\c-"; diff --git a/zmapinfo.txt b/zmapinfo.txt index 1443edbaa..d23b945e1 100644 --- a/zmapinfo.txt +++ b/zmapinfo.txt @@ -34,7 +34,6 @@ GameInfo MessageBoxClass = "SWWMMessageBox" HelpMenuClass = "SWWMHelpMenu" MenuDelegateClass = "SWWMMenuDelegate" - PauseSign = "graphics/swwmpause.png" BorderFlat = "graphics/bord_flat.png" Border = 2, 0, "graphics/bord_tr.png", "graphics/bord_t.png", "graphics/bord_tl.png", "graphics/bord_r.png", "graphics/bord_l.png", "graphics/bord_br.png", "graphics/bord_b.png", "graphics/bord_bl.png" ForceTextInMenus = true diff --git a/zscript/hud/swwm_hud.zsc b/zscript/hud/swwm_hud.zsc index 4d3c96ef0..797125af9 100644 --- a/zscript/hud/swwm_hud.zsc +++ b/zscript/hud/swwm_hud.zsc @@ -10,7 +10,7 @@ Class SWWMStatusBar : BaseStatusBar { TextureID StatusTex, WeaponTex, ScoreTex[3], InventoryTex, ChatTex[6], HealthTex[6], FuelTex[2], DashTex, EnemyBTex, EnemyHTex[6], - GenericAmmoTex[3], MiniBox, AutoPage, PauseTex, bgtex; + GenericAmmoTex[3], MiniBox, AutoPage, bgtex; Array MainQueue, PickupQueue; @@ -42,6 +42,8 @@ Class SWWMStatusBar : BaseStatusBar int PrevFrame; int chatopen; bool camhidden; + int pausetime; + Vector2 pausepos, pausedir; // shared from renderunderlay, needed for proper interpolation of some things Vector3 viewpos, viewrot; @@ -854,6 +856,7 @@ Class SWWMStatusBar : BaseStatusBar override void Tick() { Super.Tick(); + pausetime = gametic; SWWMUtility.PrepareProjData(projdata,ViewPos,ViewRot.x,ViewRot.y,ViewRot.z,players[consoleplayer].fov); int maxtargetnum = max(0,swwm_maxtargets); int maxscorenum = max(0,swwm_maxscorenums); @@ -1144,7 +1147,6 @@ Class SWWMStatusBar : BaseStatusBar GenericAmmoTex[2] = TexMan.CheckForTexture("graphics/HUD/GenericAmmoBoxR.png",TexMan.Type_Any); MiniBox = TexMan.CheckForTexture("graphics/HUD/MinimapBox.png",TexMan.Type_Any); AutoPage = TexMan.CheckForTexture("AUTOPAGE",TexMan.Type_Autopage); - PauseTex = TexMan.CheckForTexture("graphics/swwmpause.png",TexMan.Type_Any); bgtex = TexMan.CheckForTexture("graphics/tempbg.png",TexMan.Type_Any); minimapzoom = oldminimapzoom = 1.; HealthInter = DynamicValueInterpolator.Create(100,.1,1,100); @@ -2592,16 +2594,43 @@ Class SWWMStatusBar : BaseStatusBar Screen.DrawTexture(bgtex,false,(vsize.x-tsize.x)/2,(vsize.y-tsize.y)/2,DTA_VirtualWidthF,vsize.x,DTA_VirtualHeightF,vsize.y,DTA_KeepRatio,true,DTA_ColorOverlay,Color(192,0,0,0),DTA_Alpha,.5); } else Screen.Dim("Black",.5,0,0,Screen.GetWidth(),Screen.GetHeight()); - Screen.DrawTexture(PauseTex,false,Screen.GetWidth()/2,Screen.GetHeight()/2,DTA_CleanNoMove,true,DTA_CenterOffset,true); + String str = StringTable.Localize("$SWWM_PAUSE"); + if ( gametic < pausetime+1000 ) + { + pausepos.x = Screen.GetWidth()/2; + pausepos.y = Screen.GetHeight()/2; + pausedir = (1,1); + } + else + { + pausepos.x += pausedir.x*CleanXFac; + pausepos.y += pausedir.y*CleanYFac; + if ( pausepos.x >= Screen.GetWidth()-((bigfont.StringWidth(str)+8)*CleanXFac/2) ) + pausedir.x = -1; + if ( pausepos.x < ((bigfont.StringWidth(str)+8)*CleanXFac/2) ) + pausedir.x = 1; + if ( pausepos.y >= Screen.GetHeight()-((bigfont.GetHeight()+8)*CleanYFac/2) ) + pausedir.y = -1; + if ( pausepos.y < ((bigfont.GetHeight()+8)*CleanYFac/2) ) + pausedir.y = 1; + } + double xx = pausepos.x-bigfont.StringWidth(str)*CleanXFac/2; + double yy = pausepos.y-bigfont.GetHeight()*CleanYFac/2; + int tlen = str.CodePointCount(); + for ( int i=0, pos=0; i