From 9aaa247304cc38c91ed759704a0e007b6093ab03 Mon Sep 17 00:00:00 2001 From: Marisa the Magician Date: Wed, 4 Oct 2023 18:24:25 +0200 Subject: [PATCH] Fix float truncations in StatScreen code. --- language.version | 4 ++-- zscript/menu/swwm_inter.zsc | 24 ++++++++++++------------ 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/language.version b/language.version index 6240eaca0..fd4f2fe7f 100644 --- a/language.version +++ b/language.version @@ -1,3 +1,3 @@ [default] -SWWM_MODVER="\cyDEMOLITIONIST \cw1.3pre r972 \cu(Wed 4 Oct 18:20:26 CEST 2023)\c-"; -SWWM_SHORTVER="\cw1.3pre r972 \cu(2023-10-04 18:20:26)\c-"; +SWWM_MODVER="\cyDEMOLITIONIST \cw1.3pre r973 \cu(Wed 4 Oct 18:24:25 CEST 2023)\c-"; +SWWM_SHORTVER="\cw1.3pre r973 \cu(2023-10-04 18:24:25)\c-"; diff --git a/zscript/menu/swwm_inter.zsc b/zscript/menu/swwm_inter.zsc index ba20226fa..b3d3152fb 100644 --- a/zscript/menu/swwm_inter.zsc +++ b/zscript/menu/swwm_inter.zsc @@ -110,26 +110,26 @@ Class SWWMStatScreen : StatusScreen int rw = int(SWWMUtility.Lerp(-10*CleanXFac_1,w,xfact)); int rh = int(SWWMUtility.Lerp(-5*CleanXFac_1,h,yfact)); if ( intp <= 0. ) return; - int rx = x+int(w-rw)/2; - int ry = y+int(h-rh)/2; + int rx = int(x+(w-rw)/2); + int ry = int(y+(h-rh)/2); // dim padding - rx -= 4.*CleanXFac_1; - ry -= 2.*CleanYFac_1; - rw += 8.*CleanXFac_1; - rh += 4.*CleanYFac_1; + rx -= 4*CleanXFac_1; + ry -= 2*CleanYFac_1; + rw += 8*CleanXFac_1; + rh += 4*CleanYFac_1; Screen.Dim("Black",.8,rx,ry,rw,rh); // border outside rx -= CleanXFac_1; ry -= CleanYFac_1; - rw += 2.*CleanXFac_1; - rh += 2.*CleanYFac_1; + rw += 2*CleanXFac_1; + rh += 2*CleanYFac_1; Screen.DrawTexture(FrameTex,false,rx,ry,DTA_SrcX,0.,DTA_SrcY,0.,DTA_SrcWidth,1.,DTA_SrcHeight,1.,DTA_DestWidth,CleanXFac_1,DTA_DestHeight,CleanYFac_1); - if ( rw > 2*CleanXFac_1 ) Screen.DrawTexture(FrameTex,false,rx+CleanXFac_1,ry,DTA_SrcX,1.,DTA_SrcY,0.,DTA_SrcWidth,1.,DTA_SrcHeight,1.,DTA_DestWidth,int(rw-2*CleanXFac_1),DTA_DestHeight,CleanYFac_1); - if ( rh > 2*CleanYFac_1 ) Screen.DrawTexture(FrameTex,false,rx,ry+CleanYFac_1,DTA_SrcX,0.,DTA_SrcY,1.,DTA_SrcWidth,1.,DTA_SrcHeight,1.,DTA_DestWidth,CleanXFac_1,DTA_DestHeight,int(rh-2*CleanYFac_1)); + if ( rw > 2*CleanXFac_1 ) Screen.DrawTexture(FrameTex,false,rx+CleanXFac_1,ry,DTA_SrcX,1.,DTA_SrcY,0.,DTA_SrcWidth,1.,DTA_SrcHeight,1.,DTA_DestWidth,rw-2*CleanXFac_1,DTA_DestHeight,CleanYFac_1); + if ( rh > 2*CleanYFac_1 ) Screen.DrawTexture(FrameTex,false,rx,ry+CleanYFac_1,DTA_SrcX,0.,DTA_SrcY,1.,DTA_SrcWidth,1.,DTA_SrcHeight,1.,DTA_DestWidth,CleanXFac_1,DTA_DestHeight,rh-2*CleanYFac_1); Screen.DrawTexture(FrameTex,false,(rx+rw)-CleanXFac_1,ry,DTA_SrcX,2.,DTA_SrcY,0.,DTA_SrcWidth,1.,DTA_SrcHeight,1.,DTA_DestWidth,CleanXFac_1,DTA_DestHeight,CleanYFac_1); Screen.DrawTexture(FrameTex,false,rx,(ry+rh)-CleanYFac_1,DTA_SrcX,0.,DTA_SrcY,2.,DTA_SrcWidth,1.,DTA_SrcHeight,1.,DTA_DestWidth,CleanXFac_1,DTA_DestHeight,CleanYFac_1); - if ( rh > 2*CleanYFac_1 ) Screen.DrawTexture(FrameTex,false,(rx+rw)-CleanXFac_1,ry+CleanYFac_1,DTA_SrcX,2.,DTA_SrcY,1.,DTA_SrcWidth,2.,DTA_SrcHeight,1.,DTA_DestWidth,2*CleanXFac_1,DTA_DestHeight,int(rh-2*CleanYFac_1)); - if ( rw > 2*CleanXFac_1 ) Screen.DrawTexture(FrameTex,false,rx+CleanXFac_1,(ry+rh)-CleanYFac_1,DTA_SrcX,1.,DTA_SrcY,2.,DTA_SrcWidth,1.,DTA_SrcHeight,2.,DTA_DestWidth,int(rw-2*CleanXFac_1),DTA_DestHeight,2*CleanYFac_1); + if ( rh > 2*CleanYFac_1 ) Screen.DrawTexture(FrameTex,false,(rx+rw)-CleanXFac_1,ry+CleanYFac_1,DTA_SrcX,2.,DTA_SrcY,1.,DTA_SrcWidth,2.,DTA_SrcHeight,1.,DTA_DestWidth,2*CleanXFac_1,DTA_DestHeight,rh-2*CleanYFac_1); + if ( rw > 2*CleanXFac_1 ) Screen.DrawTexture(FrameTex,false,rx+CleanXFac_1,(ry+rh)-CleanYFac_1,DTA_SrcX,1.,DTA_SrcY,2.,DTA_SrcWidth,1.,DTA_SrcHeight,2.,DTA_DestWidth,rw-2*CleanXFac_1,DTA_DestHeight,2*CleanYFac_1); Screen.DrawTexture(FrameTex,false,(rx+rw)-CleanXFac_1,(ry+rh)-CleanYFac_1,DTA_SrcX,2.,DTA_SrcY,2.,DTA_SrcWidth,2.,DTA_SrcHeight,2.,DTA_DestWidth,2*CleanXFac_1,DTA_DestHeight,2*CleanYFac_1); }