Merge remote-tracking branch 'Moth-Tolias/seedwatch' into develop

develop
lethosor 2021-01-30 17:56:16 -05:00
commit 9d0eacadbf
No known key found for this signature in database
GPG Key ID: 76A269552F4F58C1
2 changed files with 25 additions and 7 deletions

@ -35,6 +35,7 @@ changelog.txt uses a syntax similar to RST, with a few special sequences:
## Fixes
- `embark-assistant`: fixed order of factors when calculating min temperature
- `seedwatch`: don't turn off upon map load
- `embark-assistant`: improved performance of surveying
- `quickfort`: creating zones no longer causes eventual crashes
- `search`: fixed crash when searching the ``k`` sidebar and navigating to another tile with certain keys, like ``<`` or ``>``

@ -1,4 +1,3 @@
// This does not work with Linux Dwarf Fortress
// With thanks to peterix for DFHack and Quietust for information http://www.bay12forums.com/smf/index.php?topic=91166.msg2605147#msg2605147
#include <map>
@ -101,7 +100,23 @@ string searchAbbreviations(string in)
DFhackCExport command_result plugin_enable(color_ostream &out, bool enable)
{
running = enable;
if(enable == true)
{
if(Core::getInstance().isWorldLoaded())
{
running = true;
out.print("seedwatch supervision started.\n");
} else {
out.printerr(
"This plugin needs a fortress to be loaded and will deactivate automatically otherwise.\n"
"Activate with 'seedwatch start' after you load the game.\n"
);
}
} else {
running = false;
out.print("seedwatch supervision stopped.\n");
}
return CR_OK;
}
@ -143,13 +158,12 @@ command_result df_seedwatch(color_ostream &out, vector<string>& parameters)
}
else if(par == "start")
{
running = true;
out.print("seedwatch supervision started.\n");
plugin_enable(out, true);
}
else if(par == "stop")
{
running = false;
out.print("seedwatch supervision stopped.\n");
plugin_enable(out, false);
}
else if(par == "clear")
{
@ -284,9 +298,12 @@ DFhackCExport command_result plugin_onstatechange(color_ostream &out, state_chan
{
switch (event) {
case SC_MAP_LOADED:
if(running)
out.print("seedwatch supervision started.\n");
break;
case SC_MAP_UNLOADED:
if (running)
out.printerr("seedwatch deactivated due to game load/unload\n");
out.printerr("seedwatch deactivated due to game unload\n");
running = false;
break;
default: