diff --git a/core/resources/l10n/messages.properties b/core/resources/l10n/messages.properties
index 468de4992..67d9018fb 100644
--- a/core/resources/l10n/messages.properties
+++ b/core/resources/l10n/messages.properties
@@ -503,7 +503,6 @@ simpanel.col.Timetoapogee = Time to apogee
simpanel.col.Flighttime = Flight time
simpanel.col.Groundhitvelocity = Ground hit velocity
simpanel.ttip.uptodate = Up to date
-simpanel.ttip.loaded = Data loaded from a file
simpanel.ttip.outdated = Data is out of date
Click Run simulations to simulate.
simpanel.ttip.external = Imported data
simpanel.ttip.notSimulated = Not simulated yet
Click Run simulations to simulate.
diff --git a/core/resources/l10n/messages_es.properties b/core/resources/l10n/messages_es.properties
index 138835bf9..0d61ffa10 100644
--- a/core/resources/l10n/messages_es.properties
+++ b/core/resources/l10n/messages_es.properties
@@ -1835,7 +1835,6 @@ simpanel.dlg.lbl.DeleteSim2 = Esta operaci\u00f3n no puede deshacer
simpanel.dlg.lbl.DeleteSim3 = Borrar las simulaciones
simpanel.lbl.defpref = Puede cambiar la operaci\u00f3n por defecto por las preferencias
simpanel.ttip.external = Datos importados
-simpanel.ttip.loaded = Datos recientes.
simpanel.ttip.noData = No hay datos de simulaci\u00f3n disponibles.
simpanel.ttip.noWarnings = Sin alertas.
simpanel.ttip.notSimulated = A\u00fan no ejecutada
Seleccione y haga Click en Lanzar las simulaciones para obtener datos.
diff --git a/core/resources/l10n/messages_fr.properties b/core/resources/l10n/messages_fr.properties
index 380d7de73..f625beb03 100644
--- a/core/resources/l10n/messages_fr.properties
+++ b/core/resources/l10n/messages_fr.properties
@@ -1827,7 +1827,6 @@ simpanel.dlg.lbl.DeleteSim2 = Cette op\u00E9ration n'est pas r\u00E
simpanel.dlg.lbl.DeleteSim3 = Effacer les simulations
simpanel.lbl.defpref = Vous pouvez changer le mode op\u00E9ratoire par d\u00E9faut dans pr\u00E9f\u00E9rences.
simpanel.ttip.external = Donn\u00E9es import\u00E9es
-simpanel.ttip.loaded = Donn\u00E9es charg\u00E9es depuis un fichier
simpanel.ttip.noData = Pas de donn\u00E9es de simulations disponible.
simpanel.ttip.noWarnings = Pas d'avertissements.
simpanel.ttip.notSimulated = Pas encore simul\u00E9
Cliquez Lancer simulations pour simuler.
diff --git a/core/resources/l10n/messages_ja.properties b/core/resources/l10n/messages_ja.properties
index d355b1874..185f2791b 100644
--- a/core/resources/l10n/messages_ja.properties
+++ b/core/resources/l10n/messages_ja.properties
@@ -395,7 +395,6 @@ simpanel.col.Timetoapogee = \u9060\u5730\u70B9\u306E\u6642\u523B
simpanel.col.Flighttime = \u30D5\u30E9\u30A4\u30C8\u6642\u9593
simpanel.col.Groundhitvelocity = \u5730\u9762\u885D\u7A81\u901F\u5EA6
simpanel.ttip.uptodate = Up to date
-simpanel.ttip.loaded = Data loaded from a file
simpanel.ttip.outdated = Imported data
simpanel.ttip.notSimulated = Not simulated yet
Click Run simulations to simulate.
diff --git a/core/resources/l10n/messages_nl.properties b/core/resources/l10n/messages_nl.properties
index d028eab0b..f017b73d1 100644
--- a/core/resources/l10n/messages_nl.properties
+++ b/core/resources/l10n/messages_nl.properties
@@ -487,7 +487,6 @@ simpanel.col.Timetoapogee = Tijd tot apogee
simpanel.col.Flighttime = Vluchttijd
simpanel.col.Groundhitvelocity = Snelheid bij grondcontact
simpanel.ttip.uptodate = Up-to-date
-simpanel.ttip.loaded = Uit een bestand geladen gegevens
simpanel.ttip.outdated = Gegevens zijn verouderd
Klik Voer simulaties uit om te simuleren.
simpanel.ttip.external = Geïmporteerde data
simpanel.ttip.notSimulated = Nog niet gesimuleerd
Klik Voer simulaties uit om te simuleren.
diff --git a/core/resources/l10n/messages_pt.properties b/core/resources/l10n/messages_pt.properties
index 0528481d4..1982ed4ad 100644
--- a/core/resources/l10n/messages_pt.properties
+++ b/core/resources/l10n/messages_pt.properties
@@ -1780,7 +1780,6 @@ simpanel.dlg.lbl.DeleteSim2 = Esta opera\u00e7\u00e3o n\u00e3o pode
simpanel.dlg.lbl.DeleteSim3 = Excluir simula\u00e7\u00f5es
simpanel.lbl.defpref = Voc\u00ea pode alterar a opera\u00e7\u00e3o padr\u00e3o em Prefer\u00eancias.
simpanel.ttip.external = Dados importados
-simpanel.ttip.loaded = Dados carregado de um arquivo
simpanel.ttip.noData = N\u00e3o h\u00e1 dados dispon\u00edveis para simula\u00e7\u00e3o.
simpanel.ttip.noWarnings = Nenhuma advert\u00eancia.
simpanel.ttip.notSimulated = N\u00e3o simulado ainda
CliqueExecutar simula\u00e7\u00f5es para simular.
diff --git a/core/resources/l10n/messages_ru.properties b/core/resources/l10n/messages_ru.properties
index c707e1568..3628b1067 100644
--- a/core/resources/l10n/messages_ru.properties
+++ b/core/resources/l10n/messages_ru.properties
@@ -440,7 +440,6 @@ simpanel.col.Timetoapogee = \u0412\u0440\u0435\u043c\u044f \u0434\u043e \u0430\u
simpanel.col.Flighttime = \u0412\u0440\u0435\u043c\u044f \u043f\u043e\u043b\u0435\u0442\u0430
simpanel.col.Groundhitvelocity = \u0421\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u043f\u0440\u0438\u0437\u0435\u043c\u043b\u0435\u043d\u0438\u044f
simpanel.ttip.uptodate = \u0414\u0430\u043d\u043d\u044b\u0435 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u044b
-simpanel.ttip.loaded = \u0414\u0430\u043d\u043d\u044b\u0435 \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u044b \u0438\u0437 \u0444\u0430\u0439\u043b\u0430
simpanel.ttip.outdated = \u0414\u0430\u043d\u043d\u044b\u0435 \u0443\u0441\u0442\u0430\u0440\u0435\u043b\u0438
\u041d\u0430\u0436\u043c\u0438\u0442\u0435 \u0412\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u0440\u0430\u0441\u0447\u0435\u0442\u044b \u0434\u043b\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0440\u0430\u0441\u0447\u0435\u0442\u0430.
simpanel.ttip.external = \u0418\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435
simpanel.ttip.notSimulated = \u0420\u0430\u0441\u0447\u0435\u0442 \u0435\u0449\u0435 \u043d\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u043b\u0441\u044f
\u041d\u0430\u0436\u043c\u0438\u0442\u0435 \u0412\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u0440\u0430\u0441\u0447\u0435\u0442\u044b \u0434\u043b\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0440\u0430\u0441\u0447\u0435\u0442\u0430.
diff --git a/core/resources/l10n/messages_uk_UA.properties b/core/resources/l10n/messages_uk_UA.properties
index d28af6c71..eb0de6f43 100644
--- a/core/resources/l10n/messages_uk_UA.properties
+++ b/core/resources/l10n/messages_uk_UA.properties
@@ -444,7 +444,6 @@ simpanel.col.Timetoapogee = Time to apogee
simpanel.col.Flighttime = Flight time
simpanel.col.Groundhitvelocity = Ground hit velocity
simpanel.ttip.uptodate = Up to date
-simpanel.ttip.loaded = Data loaded from a file
simpanel.ttip.outdated = Data is out of date
Click Run simulations to simulate.
simpanel.ttip.external = Imported data
simpanel.ttip.notSimulated = Not simulated yet
Click Run simulations to simulate.
diff --git a/core/resources/l10n/messages_zh_CN.properties b/core/resources/l10n/messages_zh_CN.properties
index 0ec1c6d31..0c8732e03 100644
--- a/core/resources/l10n/messages_zh_CN.properties
+++ b/core/resources/l10n/messages_zh_CN.properties
@@ -1928,7 +1928,6 @@ simpanel.dlg.lbl.DeleteSim2 = \u8BE5\u64CD\u4F5C\u65E0\u6CD5\u64
simpanel.dlg.lbl.DeleteSim3 = \u5220\u9664\u4EFF\u771F
simpanel.lbl.defpref = \u60A8\u53EF\u5728\u9996\u9009\u9879\u4E2D\u4FEE\u6539\u9ED8\u8BA4\u64CD\u4F5C.
simpanel.ttip.external = \u5BFC\u5165\u7684\u6570\u636E
-simpanel.ttip.loaded = \u4ECE\u6587\u4EF6\u8F7D\u5165\u6570\u636E
simpanel.ttip.noData = \u6CA1\u6709\u53EF\u7528\u7684\u4EFF\u771F\u6570\u636E.
simpanel.ttip.noWarnings = \u6CA1\u6709\u8B66\u544A.
simpanel.ttip.notSimulated = \u672A\u8FDB\u884C\u8FC7\u4EFF\u771F
\u70B9\u51FB\u8FD0\u884C\u4EFF\u771F.
diff --git a/core/src/net/sf/openrocket/file/openrocket/OpenRocketSaver.java b/core/src/net/sf/openrocket/file/openrocket/OpenRocketSaver.java
index e55f1d366..6e32873e4 100644
--- a/core/src/net/sf/openrocket/file/openrocket/OpenRocketSaver.java
+++ b/core/src/net/sf/openrocket/file/openrocket/OpenRocketSaver.java
@@ -318,8 +318,11 @@ public class OpenRocketSaver extends RocketSaver {
private void saveSimulation(Simulation simulation, double timeSkip) throws IOException {
SimulationOptions cond = simulation.getOptions();
-
- writeln("");
+
+ Simulation.Status simStatus;
+ simStatus = timeSkip != StorageOptions.SIMULATION_DATA_NONE ? simulation.getStatus() : Simulation.Status.NOT_SIMULATED;
+
+ writeln("");
indent++;
writeln("" + TextUtil.escapeXML(simulation.getName()) + "");
diff --git a/core/src/net/sf/openrocket/file/openrocket/importt/FlightDataHandler.java b/core/src/net/sf/openrocket/file/openrocket/importt/FlightDataHandler.java
index 34c1d528d..6d90c7050 100644
--- a/core/src/net/sf/openrocket/file/openrocket/importt/FlightDataHandler.java
+++ b/core/src/net/sf/openrocket/file/openrocket/importt/FlightDataHandler.java
@@ -91,7 +91,13 @@ class FlightDataHandler extends AbstractElementHandler {
@Override
public void endHandler(String element, HashMap attributes,
String content, WarningSet warnings) {
-
+
+ // If no tag in XML, then there is no sim data
+ if (dataHandler == null) {
+ data = null;
+ return;
+ }
+
if (branches.size() > 0) {
data = new FlightData(branches.toArray(new FlightDataBranch[0]));
} else {
diff --git a/core/src/net/sf/openrocket/file/openrocket/importt/SingleSimulationHandler.java b/core/src/net/sf/openrocket/file/openrocket/importt/SingleSimulationHandler.java
index 7834c285e..c559a2fca 100644
--- a/core/src/net/sf/openrocket/file/openrocket/importt/SingleSimulationHandler.java
+++ b/core/src/net/sf/openrocket/file/openrocket/importt/SingleSimulationHandler.java
@@ -134,6 +134,10 @@ class SingleSimulationHandler extends AbstractElementHandler {
data = null;
else
data = dataHandler.getFlightData();
+
+ if (data == null) {
+ status = Status.NOT_SIMULATED;
+ }
Simulation simulation = new Simulation(doc.getRocket(), status, name,
options, extensions, data);
diff --git a/swing/resources/datafiles/examples/A simple model rocket.ork b/swing/resources/datafiles/examples/A simple model rocket.ork
index 2932f25e3..42aa47599 100644
Binary files a/swing/resources/datafiles/examples/A simple model rocket.ork and b/swing/resources/datafiles/examples/A simple model rocket.ork differ
diff --git a/swing/resources/datafiles/examples/Boosted Dart.ork b/swing/resources/datafiles/examples/Boosted Dart.ork
index 8bd8df078..18e755700 100644
Binary files a/swing/resources/datafiles/examples/Boosted Dart.ork and b/swing/resources/datafiles/examples/Boosted Dart.ork differ
diff --git a/swing/resources/datafiles/examples/Clustered rocket design.ork b/swing/resources/datafiles/examples/Clustered rocket design.ork
index b16f089c5..21785f0b1 100644
Binary files a/swing/resources/datafiles/examples/Clustered rocket design.ork and b/swing/resources/datafiles/examples/Clustered rocket design.ork differ
diff --git a/swing/resources/datafiles/examples/Hybrid rocket with dual parachute deployment.ork b/swing/resources/datafiles/examples/Hybrid rocket with dual parachute deployment.ork
index d3c120da4..267d5d2d8 100644
Binary files a/swing/resources/datafiles/examples/Hybrid rocket with dual parachute deployment.ork and b/swing/resources/datafiles/examples/Hybrid rocket with dual parachute deployment.ork differ
diff --git a/swing/resources/datafiles/examples/Three-stage rocket.ork b/swing/resources/datafiles/examples/Three-stage rocket.ork
index 39b3a02f5..04deb759c 100644
Binary files a/swing/resources/datafiles/examples/Three-stage rocket.ork and b/swing/resources/datafiles/examples/Three-stage rocket.ork differ
diff --git a/swing/src/net/sf/openrocket/gui/main/SimulationPanel.java b/swing/src/net/sf/openrocket/gui/main/SimulationPanel.java
index 7657bba57..74c2b30e8 100644
--- a/swing/src/net/sf/openrocket/gui/main/SimulationPanel.java
+++ b/swing/src/net/sf/openrocket/gui/main/SimulationPanel.java
@@ -814,14 +814,11 @@ public class SimulationPanel extends JPanel {
case CANT_RUN:
tip += trans.get("simpanel.ttip.noData")+"
";
break;
+ case LOADED:
case UPTODATE:
tip += trans.get("simpanel.ttip.uptodate") + "
";
break;
- case LOADED:
- tip += trans.get("simpanel.ttip.loaded") + "
";
- break;
-
case OUTDATED:
tip += trans.get("simpanel.ttip.outdated") + "
";
break;
diff --git a/swing/src/net/sf/openrocket/gui/print/DesignReport.java b/swing/src/net/sf/openrocket/gui/print/DesignReport.java
index 5f09daad5..cb281336e 100644
--- a/swing/src/net/sf/openrocket/gui/print/DesignReport.java
+++ b/swing/src/net/sf/openrocket/gui/print/DesignReport.java
@@ -616,13 +616,13 @@ public class DesignReport {
log.warn("Simulation " + simulation.getId() + " has no motors, skipping");
// Continue so we don't simulate
continue;
+ case LOADED:
case UPTODATE:
log.trace("Simulation " + simulation.getId() + "is up to date, not running simulation");
simulate = false;
break;
case NOT_SIMULATED:
case OUTDATED:
- case LOADED:
log.trace("Running simulation for " + simulation.getId());
simulate = true;
break;
diff --git a/swing/src/net/sf/openrocket/gui/util/Icons.java b/swing/src/net/sf/openrocket/gui/util/Icons.java
index 48f1ccf0e..76ed87fdd 100644
--- a/swing/src/net/sf/openrocket/gui/util/Icons.java
+++ b/swing/src/net/sf/openrocket/gui/util/Icons.java
@@ -33,7 +33,7 @@ public class Icons {
map.put(Simulation.Status.NOT_SIMULATED, loadImageIcon("pix/spheres/gray-16x16.png", "Not simulated"));
map.put(Simulation.Status.CANT_RUN, loadImageIcon("pix/spheres/yellow-16x16.png", "Can't run, no motors assigned."));
map.put(Simulation.Status.UPTODATE, loadImageIcon("pix/spheres/green-16x16.png", "Up to date"));
- map.put(Simulation.Status.LOADED, loadImageIcon("pix/spheres/yellow-16x16.png", "Loaded from file"));
+ map.put(Simulation.Status.LOADED, loadImageIcon("pix/spheres/green-16x16.png", "Up to date"));
map.put(Simulation.Status.OUTDATED, loadImageIcon("pix/spheres/red-16x16.png", "Out-of-date"));
map.put(Simulation.Status.EXTERNAL, loadImageIcon("pix/spheres/blue-16x16.png", "Imported data"));
SIMULATION_STATUS_ICON_MAP = Collections.unmodifiableMap(map);