diff --git a/language.version b/language.version index b24608b48..122681b31 100644 --- a/language.version +++ b/language.version @@ -1,3 +1,3 @@ [default] -SWWM_MODVER="\cyDEMOLITIONIST \cw1.3pre r1042 \cu(Thu 7 Dec 16:39:32 CET 2023)\c-"; -SWWM_SHORTVER="\cw1.3pre r1042 \cu(2023-12-07 16:39:32)\c-"; +SWWM_MODVER="\cyDEMOLITIONIST \cw1.3pre r1043 \cu(Thu 7 Dec 18:12:07 CET 2023)\c-"; +SWWM_SHORTVER="\cw1.3pre r1043 \cu(2023-12-07 18:12:07)\c-"; diff --git a/zscript/handler/swwm_handler_crosshair.zsc b/zscript/handler/swwm_handler_crosshair.zsc index a7a799dd7..f4a9bae03 100644 --- a/zscript/handler/swwm_handler_crosshair.zsc +++ b/zscript/handler/swwm_handler_crosshair.zsc @@ -121,13 +121,19 @@ extend Class SWWMHandler double cs = crosshairscale; double sz = 1.; if ( cs > 0. ) sz = Screen.GetHeight()*cs/200.; - if ( crosshairgrow ) sz *= StatusBar.CrosshairSize; + bool bGrowMe = crosshairgrow; + if ( bGrowMe ) sz *= StatusBar.CrosshairSize*StatusBar.CrosshairSize; + sz = max(1.,round(sz)); // ensure integer scaling of crosshair texture + Vector2 oddfix = (0,0); // offset for odd-sized textures when scaling by an even number + if ( int(ts.x)%2 ) oddfix.x = -floor(sz/2.)+1.; + if ( int(ts.y)%2 ) oddfix.y = -floor(sz/2.)+1.; SWWMUtility.PrepareProjData(tprojdata,e.ViewPos,e.ViewAngle,e.ViewPitch,e.ViewRoll,players[consoleplayer].fov); Vector2 actpos[MAX_CROSSHAIRS]; for ( int i=0; i