diff --git a/CHANGELOG.md b/CHANGELOG.md
index a63a6d6..37b8f5d 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,6 +1,10 @@
Change log
==========
+1.2.1
+-----
+
+* 💊 Fix handling of `--file` parameter, as it did not work as advertised.
* 💊 Improve error handling
* 💊 Fix handling of non-valid JSON API replies.
diff --git a/docs/configuration.md b/docs/configuration.md
index b2601df..70d2f14 100644
--- a/docs/configuration.md
+++ b/docs/configuration.md
@@ -1,12 +1,18 @@
![](./favicon-64x64.png) Configuration of the Aerofly Wettergerät
=======================================================================
-For more information about command line options, call this tool with `--help` appended with the command-line variant of this tool.
+For more information about command line options, call the command line variant of this tool with `--help` appended to it.
+
+There is also a [source code documentation on command-line parameters](https://github.com/fboes/aerofly-wettergeraet/blob/master/src/WettergeraetLib/Argumentor.cpp#L20) applicable for the command-line as well as the desktop variant of this tool.
+
+To append parameters to the desktop application, right-click your desktop icon, select "Properties" and append the parameter(s) to the shortcut's target.
+
+![](modify-shortcut.png)
HTTP services
-------------
-This tool has been tested with multiple METAR services. To change the METAR service for the command line variant `aerofly-wettergeraet.exe`:
+This tool has been tested with multiple METAR services. To change the METAR service for the command line variant `aerofly-wettergeraet.exe` append additional parameters:
```batch
: Supply METAR manually
@@ -19,7 +25,7 @@ aerofly-wettergeraet.exe --url "http://avwx.rest/api/metar/XXXX?options=&format=
aerofly-wettergeraet.exe --url "https://api.checkwx.com/metar/XXXX/decoded" --apikey "INSERT API KEY HERE"
```
-To change the METAR service for the command line variant `aerofly-wettergeraet-desktop.exe` change the target of your desktop shortcut like this:
+To change the METAR service for the desktop variant `aerofly-wettergeraet-desktop.exe` change the target of your desktop shortcut:
```batch
: AVWX - this is the default HTTP service
@@ -28,7 +34,6 @@ aerofly-wettergeraet-desktop.exe --url "http://avwx.rest/api/metar/XXXX?options=
: CheckWX - you will need to get an API key
aerofly-wettergeraet-desktop.exe --url "https://api.checkwx.com/metar/XXXX/decoded" --apikey "INSERT API KEY HERE"
```
-
Change default values
---------------------
diff --git a/docs/faq.md b/docs/faq.md
index 7f6cc34..2a9cd2a 100644
--- a/docs/faq.md
+++ b/docs/faq.md
@@ -1,16 +1,28 @@
![](./favicon-64x64.png) Frequently Asked Questions
======================================
-Why does the application crash on startup?
+Why does the application crash on start-up?
------------------------------------------
Make sure to check these settings:
-* A `main.mcf` has to be located at `%USERPROFILE%\Documents\Aerofly FS2\main.mcf`. If this is not the case point the tool to the file location by setting the `--file ` parameter.
-* An internet connection to the [AVWX REST API](http://avwx.rest/) is required. If there is an internet connection but AVWX is not reachable, start the tool with the `--url ` parameter set to a different METAR REST API.
+* A `main.mcf` has to be located at `%USERPROFILE%\Documents\Aerofly FS2\main.mcf`. If this is not the case point the tool to the file location by setting the `--file ` parameter, e.g. `aerofly-wettergeraet-desktop.exe --file "C:\…\main.mcf"`.
+* An internet connection to the [AVWX REST API](http://avwx.rest/) is required. If there is an internet connection but AVWX is not reachable, start the tool with the `--url ` parameter set to a different METAR REST API, e.g. `aerofly-wettergeraet-desktop.exe --url "https://www.example.com/"`.
+
+See [the Wettergerät's configuration guide](configuration.md) on how to set parameters.
If these conditions are met but you are still experiencing crashes, please submit an [issue description](https://github.com/fboes/aerofly-wettergeraet/issues), we'll look into it.
+
+What does "Wettergerät" even mean?
+----------------------------------
+
+Actually it is German. It means "weather device" and for German ears has a funny touch to it, as no one would call a thermometer or barometer a "Wettergerät".
+
+"Wetter" is pronounced `\[ˈvɛtɐ ɡəˈʁɛːt\]`. Well, somewhat like "vetter" - "gay" - "rat", but without the "y" in "gay" and a long "a" in "rat".
+
+Fun fact: a written German umlaut "ä" can be replaced with an "ae" - the two small dots above the "a" [are leftovers of an "e" placed above an "a"](https://en.wikipedia.org/wiki/Diaeresis_(diacritic)#Umlaut).
+
---
Return to [table of contents](README.md).
diff --git a/docs/modify-shortcut.png b/docs/modify-shortcut.png
new file mode 100644
index 0000000..166665f
Binary files /dev/null and b/docs/modify-shortcut.png differ
diff --git a/src/WettergeraetLib/Argumentor.cpp b/src/WettergeraetLib/Argumentor.cpp
index ab97b3b..658ea05 100644
--- a/src/WettergeraetLib/Argumentor.cpp
+++ b/src/WettergeraetLib/Argumentor.cpp
@@ -1,11 +1,11 @@
#include "stdafx.h"
#include "Argumentor.h"
-const char* Argumentor::APP_VERSION = "1.2.0";
+const char* Argumentor::APP_VERSION = "1.2.1";
#if _WIN64
-const char* Argumentor::APP_TARGET = "64bit";
+const char* Argumentor::APP_TARGET = "64-bit";
#else
-const char* Argumentor::APP_TARGET = "32bit";
+const char* Argumentor::APP_TARGET = "32-bit";
#endif
char * Argumentor::getEnv(const char * varName)
@@ -26,6 +26,7 @@ std::string Argumentor::showHelp(std::string cmd)
+ " [FILE] File to modify. Defaults to 'main.mcf' in standard\n"
+ " Aerofly document path.\n"
+ "Options:\n"
+ + " --file Like `[FILE]`, see above.\n"
+ " --url Fetch response via HTTP from .\n"
+ " If URL contains 'XXXX' this will be replaced by .\n"
+ " Defaults to URL of AvWX.\n"
@@ -111,7 +112,10 @@ void Argumentor::getArgs(int argc, char * argv[])
this->verbosity = 2;
}
else if (i + 1 < argc) {
- if (currentArg == "--url") {
+ if (currentArg == "--file") {
+ strcpy_s(this->filename, 512, argv[i]);
+ }
+ else if (currentArg == "--url") {
strcpy_s(this->url, 512, argv[++i]);
}
else if (currentArg == "--icao") {