diff --git a/Source/Core/Types/FloatHandler.cs b/Source/Core/Types/FloatHandler.cs index fab04e03..45f05034 100755 --- a/Source/Core/Types/FloatHandler.cs +++ b/Source/Core/Types/FloatHandler.cs @@ -16,6 +16,7 @@ #region ================== Namespaces +using CodeImp.DoomBuilder.Config; using System; using System.Globalization; @@ -33,6 +34,7 @@ namespace CodeImp.DoomBuilder.Types #region ================== Variables private double value; + private double defaultvalue; #endregion @@ -42,6 +44,18 @@ namespace CodeImp.DoomBuilder.Types #region ================== Methods + public override void SetupArgument(TypeHandlerAttribute attr, ArgumentInfo arginfo) + { + defaultvalue = (double)arginfo.DefaultValue; + base.SetupArgument(attr, arginfo); + } + + public override void SetupField(TypeHandlerAttribute attr, UniversalFieldInfo fieldinfo) + { + defaultvalue = fieldinfo == null ? 0.0 : (double)fieldinfo.Default; + base.SetupField(attr, fieldinfo); + } + public override void SetValue(object value) { // Null? @@ -87,7 +101,7 @@ namespace CodeImp.DoomBuilder.Types public override object GetDefaultValue() { - return 0.0; + return defaultvalue; } #endregion diff --git a/Source/Core/Types/IntegerHandler.cs b/Source/Core/Types/IntegerHandler.cs index 0d6ff053..fe01c87a 100755 --- a/Source/Core/Types/IntegerHandler.cs +++ b/Source/Core/Types/IntegerHandler.cs @@ -51,6 +51,12 @@ namespace CodeImp.DoomBuilder.Types base.SetupArgument(attr, arginfo); } + public override void SetupField(TypeHandlerAttribute attr, UniversalFieldInfo fieldinfo) + { + defaultvalue = fieldinfo == null ? 0 : (int)fieldinfo.Default; + base.SetupField(attr, fieldinfo); + } + public override void SetValue(object value) { // Null?