Fix float truncations in StatScreen code.

This commit is contained in:
Mari the Deer 2023-10-04 18:24:25 +02:00
commit 9aaa247304
2 changed files with 14 additions and 14 deletions

View file

@ -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);
}