Index: trunk/ippTools/src/regtool.c
===================================================================
--- trunk/ippTools/src/regtool.c	(revision 14958)
+++ trunk/ippTools/src/regtool.c	(revision 15740)
@@ -1095,4 +1095,83 @@
     }
 
+    psF32 M1_x = psMetadataLookupF32(&status, config->args, "-M1_x");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -M1_x");
+        return false;
+    }
+    psF32 M1_y = psMetadataLookupF32(&status, config->args, "-M1_y");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -M1_y");
+        return false;
+    }
+    psF32 M1_z = psMetadataLookupF32(&status, config->args, "-M1_z");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -M1_z");
+        return false;
+    }
+    psF32 M1_tip = psMetadataLookupF32(&status, config->args, "-M1_tip");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -M1_tip");
+        return false;
+    }
+    psF32 M1_tilt = psMetadataLookupF32(&status, config->args, "-M1_tilt");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -M1_tilt");
+        return false;
+    }
+
+    psF32 M2_x = psMetadataLookupF32(&status, config->args, "-M2_x");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -M2_x");
+        return false;
+    }
+    psF32 M2_y = psMetadataLookupF32(&status, config->args, "-M2_y");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -M2_y");
+        return false;
+    }
+    psF32 M2_z = psMetadataLookupF32(&status, config->args, "-M2_z");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -M2_z");
+        return false;
+    }
+    psF32 M2_tip = psMetadataLookupF32(&status, config->args, "-M2_tip");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -M2_tip");
+        return false;
+    }
+    psF32 M2_tilt = psMetadataLookupF32(&status, config->args, "-M2_tilt");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -M2_tilt");
+        return false;
+    }
+
+    psF32 env_temp = psMetadataLookupF32(&status, config->args, "-env_temperature");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -env_temperature");
+        return false;
+    }
+    psF32 env_humid = psMetadataLookupF32(&status, config->args, "-env_humidity");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -env_humidity");
+        return false;
+    }
+    psF32 env_wind = psMetadataLookupF32(&status, config->args, "-env_wind_speed");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -env_wind_speed");
+        return false;
+    }
+    psF32 env_dir = psMetadataLookupF32(&status, config->args, "-env_wind_dir");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -env_wind_dir");
+        return false;
+    }
+
+    psF32 pon_time = psMetadataLookupF32(&status, config->args, "-pon_time");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -pon_time");
+        return false;
+    }
+
     psF64 user_1 = psMetadataLookupF64(&status, config->args, "-user_1");
     if (!status) {
@@ -1173,4 +1252,19 @@
         ccd_temp,
         posang,
+	M1_x,
+	M1_y,
+	M1_z,
+	M1_tip,
+	M1_tilt,
+	M2_x,
+	M2_y,
+	M2_z,
+	M2_tip,
+	M2_tilt,
+	env_temp,
+	env_humid,
+	env_wind,
+	env_dir,
+	pon_time,
         user_1,
         user_2,
@@ -1336,4 +1430,83 @@
     if (!status) {
         psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -posang");
+        return false;
+    }
+
+    psF32 M1_x = psMetadataLookupF32(&status, config->args, "-M1_x");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -M1_x");
+        return false;
+    }
+    psF32 M1_y = psMetadataLookupF32(&status, config->args, "-M1_y");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -M1_y");
+        return false;
+    }
+    psF32 M1_z = psMetadataLookupF32(&status, config->args, "-M1_z");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -M1_z");
+        return false;
+    }
+    psF32 M1_tip = psMetadataLookupF32(&status, config->args, "-M1_tip");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -M1_tip");
+        return false;
+    }
+    psF32 M1_tilt = psMetadataLookupF32(&status, config->args, "-M1_tilt");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -M1_tilt");
+        return false;
+    }
+
+    psF32 M2_x = psMetadataLookupF32(&status, config->args, "-M2_x");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -M2_x");
+        return false;
+    }
+    psF32 M2_y = psMetadataLookupF32(&status, config->args, "-M2_y");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -M2_y");
+        return false;
+    }
+    psF32 M2_z = psMetadataLookupF32(&status, config->args, "-M2_z");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -M2_z");
+        return false;
+    }
+    psF32 M2_tip = psMetadataLookupF32(&status, config->args, "-M2_tip");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -M2_tip");
+        return false;
+    }
+    psF32 M2_tilt = psMetadataLookupF32(&status, config->args, "-M2_tilt");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -M2_tilt");
+        return false;
+    }
+
+    psF32 env_temp = psMetadataLookupF32(&status, config->args, "-env_temperature");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -env_temperature");
+        return false;
+    }
+    psF32 env_humid = psMetadataLookupF32(&status, config->args, "-env_humidity");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -env_humidity");
+        return false;
+    }
+    psF32 env_wind = psMetadataLookupF32(&status, config->args, "-env_wind_speed");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -env_wind_speed");
+        return false;
+    }
+    psF32 env_dir = psMetadataLookupF32(&status, config->args, "-env_wind_dir");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -env_wind_dir");
+        return false;
+    }
+
+    psF32 pon_time = psMetadataLookupF32(&status, config->args, "-pon_time");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -pon_time");
         return false;
     }
@@ -1416,4 +1589,19 @@
         ccd_temp,
         posang,
+	M1_x,
+	M1_y,
+	M1_z,
+	M1_tip,
+	M1_tilt,
+	M2_x,
+	M2_y,
+	M2_z,
+	M2_tip,
+	M2_tilt,
+	env_temp,
+	env_humid,
+	env_wind,
+	env_dir,
+	pon_time,
         user_1,
         user_2,
