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") {