diff -urN ogre-14.1.2/Components/Overlay/src/OgreOverlayTranslator.cpp ogre-14.1.2-patched/Components/Overlay/src/OgreOverlayTranslator.cpp
--- ogre-14.1.2/Components/Overlay/src/OgreOverlayTranslator.cpp	2023-10-31 09:33:29.000000000 -0500
+++ ogre-14.1.2-patched/Components/Overlay/src/OgreOverlayTranslator.cpp	2023-12-23 18:58:42.678462072 -0600
@@ -70,7 +70,7 @@
 
     if (attrib == "glyph")
     {
-        std::vector<float> coords;
+        std::vector<Real> coords;
         if (prop->values.size() != 5 || !getString(prop->values.front(), &val) ||
             !getVector(++prop->values.begin(), prop->values.end(), coords, 4))
         {
diff -urN ogre-14.1.2/OgreMain/include/OgreScriptTranslator.h ogre-14.1.2-patched/OgreMain/include/OgreScriptTranslator.h
--- ogre-14.1.2/OgreMain/include/OgreScriptTranslator.h	2023-10-31 09:33:29.000000000 -0500
+++ ogre-14.1.2-patched/OgreMain/include/OgreScriptTranslator.h	2023-12-23 18:56:48.995467605 -0600
@@ -105,7 +105,7 @@
         /// read count values from the AbstractNodeList into vals. Fill with default value if AbstractNodeList is shorter then count
         static bool getVector(AbstractNodeList::const_iterator i, AbstractNodeList::const_iterator end, std::vector<int>& vals, size_t count);
         /// @overload
-        static bool getVector(AbstractNodeList::const_iterator i, AbstractNodeList::const_iterator end, std::vector<float>& vals, size_t count);
+        static bool getVector(AbstractNodeList::const_iterator i, AbstractNodeList::const_iterator end, std::vector<Real>& vals, size_t count);
         /// Converts the node to a StencilOperation enum and returns true if successful
         static bool getStencilOp(const AbstractNodePtr &node, StencilOperation *op); 
         /// Converts the node to a GpuConstantType enum and returns true if successful
diff -urN ogre-14.1.2/OgreMain/src/OgreAutoParamDataSource.cpp ogre-14.1.2-patched/OgreMain/src/OgreAutoParamDataSource.cpp
--- ogre-14.1.2/OgreMain/src/OgreAutoParamDataSource.cpp	2023-10-31 09:33:29.000000000 -0500
+++ ogre-14.1.2-patched/OgreMain/src/OgreAutoParamDataSource.cpp	2023-12-23 18:34:26.675457362 -0600
@@ -220,7 +220,7 @@
         if(l.getType() == Light::LT_RECTLIGHT)
         {
             auto rot = getViewMatrix().linear();
-            return Vector4f(rot * l.getDerivedSourceHalfHeight(), 0.0);
+            return Vector4f(Vector3f(rot * (Vector3)l.getDerivedSourceHalfHeight()), 0.0f);
         }
         // range, const, linear, quad
         return l.getAttenuation();
@@ -240,7 +240,7 @@
         else if(l.getType() == Light::LT_RECTLIGHT)
         {
             auto rot = getViewMatrix().linear();
-            return Vector4f(rot * l.getDerivedSourceHalfWidth(), 2.0);
+            return Vector4f(Vector3f(rot * (Vector3)l.getDerivedSourceHalfWidth()), 2.0f);
         }
         else
         {
diff -urN ogre-14.1.2/OgreMain/src/OgreLight.cpp ogre-14.1.2-patched/OgreMain/src/OgreLight.cpp
--- ogre-14.1.2/OgreMain/src/OgreLight.cpp	2023-10-31 09:33:29.000000000 -0500
+++ ogre-14.1.2-patched/OgreMain/src/OgreLight.cpp	2023-12-23 18:38:50.085032165 -0600
@@ -295,13 +295,13 @@
     {
         auto& ori = mParentNode->_getDerivedOrientation();
         auto& scale = mParentNode->_getDerivedScale();
-        return ori.xAxis() * mSourceSize[0] * scale[0] * 0.5f;
+        return Vector3f(ori.xAxis() * mSourceSize[0] * scale[0] * 0.5);
     }
     Vector3f Light::getDerivedSourceHalfHeight() const
     {
         auto& ori = mParentNode->_getDerivedOrientation();
         auto& scale = mParentNode->_getDerivedScale();
-        return ori.yAxis() * mSourceSize[1] * scale[1] * 0.5f;
+        return Vector3f(ori.yAxis() * mSourceSize[1] * scale[1] * 0.5);
     }
     //-----------------------------------------------------------------------
     const PlaneBoundedVolume& Light::_getNearClipVolume(const Camera* const cam) const
diff -urN ogre-14.1.2/OgreMain/src/OgreScriptTranslator.cpp ogre-14.1.2-patched/OgreMain/src/OgreScriptTranslator.cpp
--- ogre-14.1.2/OgreMain/src/OgreScriptTranslator.cpp	2023-10-31 09:33:29.000000000 -0500
+++ ogre-14.1.2-patched/OgreMain/src/OgreScriptTranslator.cpp	2023-12-23 18:57:16.739222262 -0600
@@ -813,7 +813,7 @@
 
         return success;
     }
-    bool ScriptTranslator::getVector(AbstractNodeList::const_iterator i, AbstractNodeList::const_iterator end, std::vector<float>& vals, size_t count)
+    bool ScriptTranslator::getVector(AbstractNodeList::const_iterator i, AbstractNodeList::const_iterator end, std::vector<Real>& vals, size_t count)
     {
         return _getVector(i, end, vals, count);
     }
