]> git.mxchange.org Git - flightgear.git/commitdiff
Sep. 18, 2000 updates from David Megginson. New panel configs are now
authorcurt <curt>
Thu, 21 Sep 2000 20:08:16 +0000 (20:08 +0000)
committercurt <curt>
Thu, 21 Sep 2000 20:08:16 +0000 (20:08 +0000)
expected to be found in $fgroot.

src/Cockpit/panel_io.cxx
src/Cockpit/panel_io.hxx
src/Cockpit/sp_panel.cxx

index ae127d185b6aed20e1a46864f307a7fe07f1fd3f..0bc50368b5fcbb54384a1b6c7903e28c6f54b13e 100644 (file)
 #endif
 
 #include <simgear/compiler.h>
+#include <simgear/misc/fgpath.hxx>
 #include <simgear/debug/logstream.hxx>
 #include <simgear/misc/props.hxx>
 
 #include <iostream>
+#include <fstream>
 #include <string>
 
+#include <Main/options.hxx>
+
 #include "panel.hxx"
 #include "steam.hxx"
 #include "panel_io.hxx"
 
 using std::istream;
+using std::ifstream;
 using std::string;
 
 
@@ -622,7 +627,7 @@ readInstrument (SGPropertyNode node, int x, int y, int real_w, int real_h)
 
 
 /**
-pp * Read a panel from a property list.
+ * Read a panel from a property list.
  *
  * Each panel instrument will appear in its own, separate
  * property list.  The top level simply names the panel and
@@ -672,12 +677,13 @@ fgReadPanel (istream &input)
     SGPropertyList props2;
     SGPropertyNode node = instrument_group.getChild(i);
 
-    string path = node.getStringValue("path");
+    FGPath path(current_options.get_fg_root());
+    path.append(node.getStringValue("path"));
 
     FG_LOG(FG_INPUT, FG_INFO, "Reading instrument "
           << node.getName()
           << " from "
-          << path);
+          << path.str());
 
     int x = node.getIntValue("x", -1);
     int y = node.getIntValue("y", -1);
@@ -690,7 +696,7 @@ fgReadPanel (istream &input)
       return 0;
     }
 
-    if (!readPropertyList(path, &props2)) {
+    if (!readPropertyList(path.str(), &props2)) {
       delete panel;
       return 0;
     }
@@ -714,4 +720,28 @@ fgReadPanel (istream &input)
 }
 
 
+/**
+ * Read a panel from a property list.
+ *
+ * This function opens a stream to a file, then invokes the
+ * main fgReadPanel() function.
+ */
+FGPanel *
+fgReadPanel (const string &relative_path)
+{
+  FGPath path(current_options.get_fg_root());
+  path.append(relative_path);
+  ifstream input(path.c_str());
+  if (!input.good()) {
+    FG_LOG(FG_INPUT, FG_ALERT,
+          "Cannot read panel configuration from " << path.str());
+    return 0;
+  }
+  FGPanel * panel = fgReadPanel(input);
+  input.close();
+  return panel;
+}
+
+
+
 // end of panel_io.cxx
index 03de48e2391a402ab863c3d9fc7b438e6038056e..6e53bd1ba7ffd28b527438d234b5361d1f84fb1a 100644 (file)
@@ -36,5 +36,6 @@
 using std::istream;
 
 extern FGPanel * fgReadPanel (istream &input);
+extern FGPanel * fgReadPanel (const string &relative_path);
 
 #endif // __PANEL_IO_HXX
index 84dfc4a3e84006ded7f36fa575f42dbcd02112f9..89e32248d27098bae834a47db5705bd9f486751e 100644 (file)
@@ -170,91 +170,91 @@ struct TextureData
                                // but soon it will be initialized from
                                // an XML file at runtime.
 TextureData textureData[] = {
-{"compassFront", "Textures/Panel/misc-1.rgb",
+{"compassFront", "Textures/Panel.old/misc-1.rgb",
   48.0/128.0, 0.0, 1.0, 24.0/128.0},
-{"airspeedBG", "Textures/Panel/faces-2.rgb",
+{"airspeedBG", "Textures/Panel.old/faces-2.rgb",
    0, 0.5, 0.5, 1.0},
-{"longNeedle", "Textures/Panel/misc-1.rgb",
+{"longNeedle", "Textures/Panel.old/misc-1.rgb",
    102.0/128.0, 100.0/128.0, 107.0/128.0, 1.0},
-{"horizonBG", "Textures/Panel/faces-2.rgb",
+{"horizonBG", "Textures/Panel.old/faces-2.rgb",
    0.5, 0.5, 1.0, 1.0},
-{"horizonFloat", "Textures/Panel/misc-1.rgb",
+{"horizonFloat", "Textures/Panel.old/misc-1.rgb",
    15.0/32.0, 54.0/128.0, 28.0/32.0, 87.0/128.0},
-{"horizonRim", "Textures/Panel/faces-2.rgb",
+{"horizonRim", "Textures/Panel.old/faces-2.rgb",
    0, 0, 0.5, 0.5},
-{"horizonFront", "Textures/Panel/faces-2.rgb",
+{"horizonFront", "Textures/Panel.old/faces-2.rgb",
    0.5, 0.0, 1.0, 0.5},
-{"altimeterBG", "Textures/Panel/faces-1.rgb",
+{"altimeterBG", "Textures/Panel.old/faces-1.rgb",
    0.5, 0.5, 1.0, 1.0},
-{"shortNeedle", "Textures/Panel/misc-1.rgb",
+{"shortNeedle", "Textures/Panel.old/misc-1.rgb",
    107.0/128.0, 110.0/128.0, 113.0/128.0, 1.0},
-{"bug", "Textures/Panel/misc-1.rgb",
+{"bug", "Textures/Panel.old/misc-1.rgb",
    108.0/128.0, 104.0/128.0, 112.0/128.0, 108.0/128.0},
-{"turnBG", "Textures/Panel/faces-1.rgb",
+{"turnBG", "Textures/Panel.old/faces-1.rgb",
    0.5, 0.0, 1.0, 0.5},
-{"turnPlane", "Textures/Panel/misc-1.rgb",
+{"turnPlane", "Textures/Panel.old/misc-1.rgb",
    0.0, 3.0/8.0, 3.0/8.0, 0.5},
-{"turnBall", "Textures/Panel/misc-1.rgb",
+{"turnBall", "Textures/Panel.old/misc-1.rgb",
    108.0/128.0, 100.0/128.0, 112.0/128.0, 104.0/128.0},
-{"compassBG", "Textures/Panel/faces-1.rgb",
+{"compassBG", "Textures/Panel.old/faces-1.rgb",
    0.0, 0.5, 0.5, 1.0},
-{"compassCenter", "Textures/Panel/misc-1.rgb",
+{"compassCenter", "Textures/Panel.old/misc-1.rgb",
    15.0/32.0, 11.0/16.0, 25.0/32.0, 1.0},
-{"headingKnob", "Textures/Panel/misc-1.rgb",
+{"headingKnob", "Textures/Panel.old/misc-1.rgb",
    0, 64.0/128.0, 21.0/128.0, 85.0/128.0},
-{"knob", "Textures/Panel/misc-1.rgb",
+{"knob", "Textures/Panel.old/misc-1.rgb",
    79.0/128.0, 31.0/128.0, 101.0/128.0, 53.0/128.0},
-{"verticalBG", "Textures/Panel/faces-1.rgb",
+{"verticalBG", "Textures/Panel.old/faces-1.rgb",
    0.0, 0.0, 0.5, 0.5},
-{"rpmBG", "Textures/Panel/faces-3.rgb",
+{"rpmBG", "Textures/Panel.old/faces-3.rgb",
    0.0, 0.5, 0.5, 1.0},
-{"flapsBG", "Textures/Panel/faces-3.rgb",
+{"flapsBG", "Textures/Panel.old/faces-3.rgb",
    0.5, 0.5, 1.0, 1.0},
-{"clockBG", "Textures/Panel/faces-3.rgb",
+{"clockBG", "Textures/Panel.old/faces-3.rgb",
    0.5, 0.0, 1.0, 0.5},
-{"controlsBG", "Textures/Panel/faces-3.rgb",
+{"controlsBG", "Textures/Panel.old/faces-3.rgb",
    0.0, 0.0, 0.5, 0.5},
-{"navFG", "Textures/Panel/misc-1.rgb",
+{"navFG", "Textures/Panel.old/misc-1.rgb",
    0, 0, 0.25, 5.0/16.0},
-{"obsKnob", "Textures/Panel/misc-1.rgb",
+{"obsKnob", "Textures/Panel.old/misc-1.rgb",
    0.0, 86.0/128.0, 21.0/128.0, 107.0/128.0},
-{"toFlag", "Textures/Panel/misc-1.rgb",
+{"toFlag", "Textures/Panel.old/misc-1.rgb",
    120.0/128.0, 74.0/128.0, 1.0, 80.0/128.0},
-{"fromFlag", "Textures/Panel/misc-1.rgb",
+{"fromFlag", "Textures/Panel.old/misc-1.rgb",
    120.0/128.0, 80.0/128.0, 1.0, 86.0/128.0},
-{"offFlag", "Textures/Panel/misc-1.rgb",
+{"offFlag", "Textures/Panel.old/misc-1.rgb",
    120.0/128.0, 0.5, 1.0, 70.0/128.0},
-{"navNeedle", "Textures/Panel/misc-1.rgb",
+{"navNeedle", "Textures/Panel.old/misc-1.rgb",
    56.0/128.0, 0.5, 58.0/128.0, 1.0},
-{"adfNeedle", "Textures/Panel/misc-1.rgb",
+{"adfNeedle", "Textures/Panel.old/misc-1.rgb",
    120.0/128.0, 88.0/128.0, 1.0, 1.0},
-{"adfKnob", "Textures/Panel/misc-1.rgb",
+{"adfKnob", "Textures/Panel.old/misc-1.rgb",
    0.0, 107.0/128.0, 21.0/128.0, 1.0},
-{"adfPlane", "Textures/Panel/misc-1.rgb",
+{"adfPlane", "Textures/Panel.old/misc-1.rgb",
    102.0/128.0, 32.0/128.0, 1.0, 48.0/128.0},
-{"adfFace", "Textures/Panel/faces-4.rgb",
+{"adfFace", "Textures/Panel.old/faces-4.rgb",
    0.0, 0.5, 0.5, 1.0},
-{"navRadioBG", "Textures/Panel/radios-1.rgb",
+{"navRadioBG", "Textures/Panel.old/radios-1.rgb",
    0.0, 0.75, 1.0, 1.0},
-{"adfRadioBG", "Textures/Panel/radios-1.rgb",
+{"adfRadioBG", "Textures/Panel.old/radios-1.rgb",
    0.0, 0.5, 1.0, 0.75},
-{"autopilotBG", "Textures/Panel/radios-1.rgb",
+{"autopilotBG", "Textures/Panel.old/radios-1.rgb",
    0.0, 0.375, 1.0, 0.5},
-{"hdgButtonOn", "Textures/Panel/misc-1.rgb",
+{"hdgButtonOn", "Textures/Panel.old/misc-1.rgb",
    39.0/128.0, 118.0/128.0, 54.0/128.0, 128.0/128.0},
-{"hdgButtonOff", "Textures/Panel/misc-1.rgb",
+{"hdgButtonOff", "Textures/Panel.old/misc-1.rgb",
    22.0/128.0, 118.0/128.0, 37.0/128.0, 128.0/128.0},
-{"navButtonOn", "Textures/Panel/misc-1.rgb",
+{"navButtonOn", "Textures/Panel.old/misc-1.rgb",
    39.0/128.0, 106.0/128.0, 54.0/128.0, 116.0/128.0},
-{"navButtonOff", "Textures/Panel/misc-1.rgb",
+{"navButtonOff", "Textures/Panel.old/misc-1.rgb",
    22.0/128.0, 106.0/128.0, 37.0/128.0, 116.0/128.0},
-{"altButtonOn", "Textures/Panel/misc-1.rgb",
+{"altButtonOn", "Textures/Panel.old/misc-1.rgb",
    39.0/128.0, 82.0/128.0, 54.0/128.0, 92.0/128.0},
-{"altButtonOff", "Textures/Panel/misc-1.rgb",
+{"altButtonOff", "Textures/Panel.old/misc-1.rgb",
    22.0/128.0, 82.0/128.0, 37.0/128.0, 92.0/128.0},
-{"dmeBG", "Textures/Panel/radios-1.rgb",
+{"dmeBG", "Textures/Panel.old/radios-1.rgb",
    0.0, 0.25, 0.375, 0.375},
-{"compassRibbon", "Textures/Panel/compass-ribbon.rgb",
+{"compassRibbon", "Textures/Panel.old/compass-ribbon.rgb",
    0.0, 0.0, 1.0, 1.0},
 {0, 0}
 };
@@ -1031,7 +1031,7 @@ fgCreateSmallSinglePropPanel (int xpos, int ypos, int finx, int finy)
 
       for (int k = 0; layer.transformations[k].type; k++) {
        TransData &trans = layer.transformations[k];
-       FGPanelTransformation::Type type;
+       FGPanelTransformation::Type type = FGPanelTransformation::XSHIFT;
        switch (trans.type) {
        case TransData::Rotation:
          type = FGPanelTransformation::ROTATION;
@@ -1065,7 +1065,7 @@ fgCreateSmallSinglePropPanel (int xpos, int ypos, int finx, int finy)
   y = SIX_Y;
 
                                // Set the background texture
-  panel->setBackground(createTexture("Textures/Panel/panel-bg.rgb"));
+  panel->setBackground(createTexture("Textures/Panel.old/panel-bg.rgb"));
 
                                // Radio stack
   x = SIX_X + (SIX_SPACING * 5);