From cfc3c0f7afc398f19bef028f7cd451d4c87d43f3 Mon Sep 17 00:00:00 2001 From: Marisa Kirisame Date: Thu, 24 Jun 2021 19:20:24 +0200 Subject: [PATCH] Safeguard against InPlayerFOV being called with no camera. --- language.version | 4 ++-- zscript/utility/swwm_utility.zsc | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/language.version b/language.version index 3e3e9ef15..8db12912d 100644 --- a/language.version +++ b/language.version @@ -1,3 +1,3 @@ [default] -SWWM_MODVER="\chSWWM \czGZ\c- \cw0.9.11b-pre r555 \cu(Wed 23 Jun 01:06:21 CEST 2021)\c-"; -SWWM_SHORTVER="\cw0.9.11b-pre r555 \cu(2021-06-23 01:06:21)\c-"; +SWWM_MODVER="\chSWWM \czGZ\c- \cw0.9.11b-pre r556 \cu(Thu 24 Jun 19:20:48 CEST 2021)\c-"; +SWWM_SHORTVER="\cw0.9.11b-pre r556 \cu(2021-06-24 19:20:48)\c-"; diff --git a/zscript/utility/swwm_utility.zsc b/zscript/utility/swwm_utility.zsc index 8b582a30e..f48306609 100644 --- a/zscript/utility/swwm_utility.zsc +++ b/zscript/utility/swwm_utility.zsc @@ -1113,6 +1113,7 @@ Class SWWMUtility double vfov = p.fov*.5; double hfov = atan(Screen.GetAspectRatio()*tan(vfov)); let mo = p.camera; + if ( !mo ) return false; Vector3 pp; if ( !mo.CheckSight(a,SF_IGNOREVISIBILITY|SF_IGNOREWATERBOUNDARY) ) return false; if ( mo is 'PlayerPawn' ) pp = mo.Vec2OffsetZ(0,0,PlayerPawn(mo).player.viewz); @@ -1129,6 +1130,7 @@ Class SWWMUtility double vfov = p.fov*.5; double hfov = atan(Screen.GetAspectRatio()*tan(vfov)); let mo = p.camera; + if ( !mo ) return false; Vector3 pp; if ( mo is 'PlayerPawn' ) pp = mo.Vec2OffsetZ(0,0,PlayerPawn(mo).player.viewz); else pp = mo.Vec3Offset(0,0,mo.CameraHeight);